
Pengantar Diagram Kelas
Diagram Kelasmemberikan gambaran umum tentang sistem target dengan menjelaskan objek dan kelas di dalam sistem serta hubungan antar mereka. Ini menyediakan berbagai macam penggunaan; mulai dari pemodelan struktur data khusus domain hingga desain rinci sistem target.
Manfaat Utama:
-
Pemodelan Domain: Menangkap entitas bisnis dan hubungan antar mereka
-
Desain Sistem: Menentukan arsitektur perangkat lunak pada tingkat kelas
-
Generasi Kode: Menghasilkan kode implementasi dari elemen model
-
Dokumentasi: Membuat dokumentasi teknis yang dapat dipelihara
-
Penggunaan Kembali Model: Berbagi model kelas di antara diagram interaksi untuk pemodelan perilaku dinamis
-
Generasi Otomatis: Gunakan Diagram Form untuk menghasilkan diagram secara otomatis dengan cakupan yang ditentukan pengguna
Notasi dan Elemen Inti
Elemen Struktural Dasar
Kelas

Definisi: Sebuah kelas menggambarkan kumpulan objek yang memiliki spesifikasi fitur, batasan, dan semantik yang sama. Kelas adalah jenis klasifikasi yang fiturnya berupa atribut dan operasi.
Properti Utama:
| Properti | Deskripsi |
|---|---|
| Nama | Nama kelas |
| Induk | Elemen model yang memiliki kelas tersebut |
| Visibilitas | Menentukan tampilan dan aksesibilitas namespace |
| Abstrak | Jika benar, kelas tidak dapat diinstansiasi secara langsung |
| Daun | Jika benar, kelas tidak dapat dispesialisasi lebih lanjut |
| Akar | Menunjukkan apakah kelas tidak memiliki nenek moyang |
| Aktif | Menentukan apakah objek aktif (konkuren) atau pasif |
| Atribut | Properti langsung yang dimiliki oleh kelas |
| Operasi | Fitur perilaku yang menentukan parameter pemanggilan |
| Parameter Templat | Parameter formal untuk pengikatan templat |
Kelas <>

Definisi: Sebuah bentuk kelas yang berfungsi sebagai wadah untuk literatur enumerasi. Sebagai contoh, sebuah enumerasi Warna menyimpan literatur enumerasi merah, hijau, dan biru.
Kelas <>

Definisi: Sebuah antarmuka adalah jenis klasifikasi yang mewakili pernyataan dari sekumpulan fitur publik yang koheren dan kewajiban. Sebuah antarmuka menentukan kontrak; setiap instans klasifikasi yang mewujudkan antarmuka harus memenuhi kontrak tersebut.
Karakteristik Kunci:
-
Antarmuka adalah deklarasi dan tidak dapat diinstansiasi
-
Diterapkan oleh instans klasifikasi yang dapat diinstansiasi
-
Sebuah klasifikasi dapat menerapkan beberapa antarmuka
-
Dapat mencakup batasan dan spesifikasi protokol
Kelas <>

Definisi: Bentuk kelas yang mewakili tipe data yang telah ditentukan sebelumnya. Sebagai contoh, kelas boolean kelas (tipe).
Catatan

Definisi: Sebuah catatan (komentar) memberikan kemampuan untuk melampirkan berbagai catatan pada elemen-elemen. Komentar tidak membawa kekuatan semantik, tetapi dapat berisi informasi yang berguna bagi seorang modeler.
Batasan

Definisi: Suatu kondisi atau pembatasan yang dinyatakan dalam teks bahasa alami atau dalam bahasa yang dapat dibaca mesin untuk tujuan menyatakan sebagian dari semantik suatu elemen.
Properti:
| Properti | Deskripsi |
|---|---|
| Nama | Nama opsional dari batasan |
| Ekspresi | Kondisi yang harus benar agar memenuhi syarat |
| Dokumentasi | Deskripsi dari batasan |
Kolaborasi

Definisi: Kolaborasi direpresentasikan sebagai jenis klasifikasi dan mendefinisikan sekumpulan entitas yang bekerja sama yang akan dimainkan oleh instans (perannya), serta sekumpulan konektor yang mendefinisikan jalur komunikasi antar instans yang terlibat.
Model
Definisi: Paket tingkat atas yang berisi seluruh model atau bagian penting dari model tersebut.
NARY
Definisi: Mewakili asosiasi n-ary yang menghubungkan beberapa klasifikasi secara bersamaan.
Jenis Hubungan
Hubungan Asosiasi
Asosiasi (Tanpa agregasi)

Definisi: Asosiasi menentukan hubungan semantik yang dapat terjadi antara instans yang bertipe. Asosiasi memiliki setidaknya dua ujung yang diwakili oleh properti, masing-masing terhubung ke tipe ujung tersebut.
Properti Kunci:
| Properti | Deskripsi |
|---|---|
| Nama | Nama dari asosiasi |
| Visibilitas | Tampilan dan aksesibilitas dalam namespace |
| Ujung Asosiasi Dari/Kepada | Sumber dan tujuan dari asosiasi |
| Abstrak | Jika benar, asosiasi tidak lengkap dan tidak dapat diinstansiasi |
| Daun | Jika benar, asosiasi tidak dapat dispesialisasi lebih lanjut |
| Turunan | Menentukan apakah berasal dari elemen model lain |
Agregasi (Asosiasi bersama)

Definisi: Sejenis asosiasi yang memiliki salah satu ujungnya ditandaibersamasebagai bentuk agregasi, yang berarti memiliki agregasi bersama (hubungan utuh-bagian di mana bagian dapat ada secara independen).
Komposisi (asosiasi komposit)

Definisi: Bentuk kuat dari agregasi di mana sebuah instans bagian hanya dapat dimasukkan ke dalam satu komposit pada satu waktu. Jika komposit dihapus, bagian-bagiannya biasanya juga dihapus bersamaan.
Karakteristik Utama:
-
Bagian tidak dapat dimiliki oleh beberapa komposit secara bersamaan
-
Menghapus komposit biasanya menghapus bagian-bagiannya
-
Bagian dapat dihapus sebelum penghapusan komposit
-
Komposisi dapat membentuk graf berarah tanpa siklus dengan penghapusan bersifat transisi
Kelas Asosiasi

Definisi: Elemen model yang memiliki sifat asosiasi dan kelas secara bersamaan. Kelas Asosiasi dapat dipandang sebagai asosiasi yang juga memiliki sifat kelas, atau sebagai kelas yang juga memiliki sifat asosiasi.
Sumber Daya Terkait: Menggambar kelas asosiasi
Hubungan Ketergantungan
Ketergantungan

Definisi: Hubungan yang menunjukkan bahwa satu atau sekumpulan elemen model membutuhkan elemen model lain untuk spesifikasi atau implementasinya.
Properti:
| Properti | Deskripsi |
|---|---|
| Pemasok | Elemen independen dalam hubungan |
| Klien | Elemen tergantung dalam hubungan |
| Visibilitas | Tampilan dan aksesibilitas namespace |
| Pemetaan | Ekspresi opsional yang menyatakan hubungan |
Abstraksi

Definisi: Hubungan yang menghubungkan dua elemen atau himpunan elemen yang mewakili konsep yang sama pada tingkat abstraksi yang berbeda atau dari sudut pandang yang berbeda.
Realisasi

Definisi: Hubungan abstraksi khusus antara dua himpunan elemen model, satu mewakili spesifikasi (pemasok) dan yang lain mewakili implementasi dari yang terakhir (klien).
Kasus Penggunaan: Refinemen bertahap, optimisasi, transformasi, templat, sintesis model, komposisi kerangka kerja
Generalisasi

Definisi: Hubungan taksonomi antara klasifikasi yang lebih umum dan klasifikasi yang lebih spesifik. Setiap instance dari klasifikasi yang lebih spesifik juga merupakan instance tidak langsung dari klasifikasi yang lebih umum.
Properti Kunci:
| Properti | Deskripsi |
|---|---|
| Dapat Diganti | Jika benar, klasifikasi spesifik dapat menggantikan klasifikasi umum saat runtime |
Penggunaan

Definisi: Hubungan di mana satu elemen membutuhkan elemen lain (atau himpunan elemen) untuk implementasi atau operasi penuhnya.
Akses

Definisi: Impor elemen yang didefinisikan sebagai hubungan berarah antara namespace yang mengimpor dan elemen yang dapat dikemas. Nama elemen yang dapat dikemas atau aliasnya ditambahkan ke namespace dari namespace yang mengimpor.
Notasi:
-
<<import>>kata kunci untuk visibilitas publik -
<<akses>>kata kunci untuk visibilitas pribadi
Impor

Definisi: Impor paket didefinisikan sebagai hubungan berarah yang mengidentifikasi paket yang anggotanya akan diimpor oleh suatu namespace.
Izin

Definisi: Sejenis ketergantungan yang memberikan izin kepada elemen model untuk mengakses elemen-elemen di namespace lain.
Instansiasi

Definisi: Ketergantungan penggunaan antar klasifikasi yang menunjukkan bahwa operasi pada klien menciptakan instans dari pemasok.
Ikatan

Definisi: Ikatan Templat adalah hubungan berarah dari elemen templat yang diikat ke tanda tangan templat dari templat target. Ikatan Templat memiliki satu set substitusi parameter templat.
Turunkan

Definisi: Menentukan hubungan turunan antar elemen model yang biasanya, tetapi tidak selalu, memiliki tipe yang sama. Ketergantungan yang diturunkan menentukan bahwa klien dapat dihitung dari pemasok.
Haluskan

Definisi: Menentukan hubungan penyempurnaan antar elemen model pada tingkat semantik yang berbeda, seperti analisis dan desain.
Kasus Penggunaan: Transformasi dari analisis ke desain, evolusi model
Lacak

Definisi: Menentukan hubungan pelacakan antara elemen model atau kumpulan elemen model yang mewakili konsep yang sama dalam model yang berbeda.
Penggunaan Utama: Melacak kebutuhan dan perubahan di seluruh model; pemetaan biasanya tidak formal dan bersifat dua arah
Substitusi

Definisi: Hubungan antara dua klasifikasi yang menunjukkan bahwa substitutingClassifier memenuhi kontrak yang ditentukan oleh klasifikasi kontrak.
Implikasi: Instans dari klasifier pengganti dapat diganti secara runtime di tempat instans klasifier kontrak yang diharapkan.
Gabungkan

Definisi: Gabungan paket adalah hubungan terarah antara dua paket yang menunjukkan bahwa isi dari dua paket tersebut akan digabungkan.
Karakteristik Utama:
-
Mirip dengan Generalisasi tetapi untuk isi paket
-
Digunakan ketika elemen-elemen dalam paket yang berbeda mewakili konsep yang sama
-
Memungkinkan perluasan konsep dasar secara bertahap
-
Khususnya berguna dalam meta-modeling dan definisi metamodel UML
Varian Kelas dan Stereotip
Kelas Khusus ORM
Kelas <>

Definisi: Bentuk khusus dari kelas yang dapat digunakan untuk memodelkan model objek dari basis data relasional. Kode ORM dapat dihasilkan dari sekumpulan kelas ORM Persistable.
Properti Tambahan:
| Properti | Deskripsi |
|---|---|
| Rincian Kelas ORM | Pengaturan yang memengaruhi generasi kode ORM |
| Kunci Bisnis | Digunakan untuk menghasilkan operasi equals() dan hashCode() |
| Kueri ORM | Tentukan Pemilih ORM dan kueri bernama |
Kelas <>

Definisi: Bentuk khusus dari kelas yang menangkap atribut umum dari kelas-kelas sub-ORM-Persistable.
Kelas <>

Definisi: Kelas tipe pengguna mendefinisikan tipe objek untuk model objek yang dapat diakses dalam kode ORM yang dihasilkan, dan disimpan dalam basis data sebagai kolom alih-alih entitas.
Sumber Daya Terkait: Dukungan Tipe Pengguna Hibernate
Kelas <>

Definisi: Tipe parameterized ORM memberi Anda kesempatan untuk menjamin kebenaran data dengan menerapkan pemeriksaan kebenaran dalam kode ORM yang dihasilkan.
Kelas <>

Definisi: Bentuk khusus kelas untuk pemodelan bean entitas EJB.
Properti Tambahan:
| Properti | Deskripsi |
|---|---|
| Rincian Kode Kelas EJB | Atribut terkait EJB untuk generasi kode |
Properti dan Konfigurasi
Referensi Properti Kelas Umum
| Properti | Berlaku Untuk | Deskripsi |
|---|---|---|
| Nama | Semua elemen | Pengenal untuk elemen model |
| Induk | Kelas, Antarmuka | Elemen model pemilik |
| Visibilitas | Sebagian besar elemen | Mengontrol tampilan namespace: publik, pribadi, terlindungi, paket |
| Abstrak | Kelas, Asosiasi | Jika benar, elemen tidak lengkap dan tidak dapat langsung diinstansiasi |
| Daun | Kelas, Asosiasi | Jika benar, elemen tidak dapat dispesialisasi lebih lanjut |
| Akar | Kelas | Menunjukkan apakah elemen tidak memiliki nenek moyang |
| Aktif | Kelas | Menentukan apakah objek aktif (paralel) atau pasif |
| Model Bisnis | Kelas | Bendera untuk menandai sebagai kelas “bisnis” |
| Atribut | Kelas | Properti langsung yang dimiliki oleh kelas |
| Operasi | Kelas | Fitur perilaku dengan parameter dan batasan |
| Parameter Templat | Elemen yang dapat ditemplat | Parameter formal untuk elemen generik/berparameter |
| Turunan | Asosiasi | Menentukan apakah elemen berasal dari elemen model lain |
Pengaturan Generasi Kode
Konfigurasi Khusus Java
-
Anotasi Java: Metadata yang ditambahkan ke kode sumber Java untuk tujuan anotasi
-
Rekayasa Bolak-balik: Hasilkan dan sinkronkan kode Java
Konfigurasi Khusus ORM
-
Kueri ORM: Tentukan penentu kualifikasi dan kueri bernama untuk kelas yang dapat disimpan
-
Kunci Bisnis: Konfigurasi bidang yang digunakan untuk generasi equals()/hashCode()
-
Pemetaan Kolom: Tentukan nama dan tipe kolom basis data
Jenis Diagram UML Terkait
Diagram kelas terintegrasi dengan diagram UML lainnya untuk pemodelan sistem yang komprehensif:
| Jenis Diagram | Tujuan | Tautan |
|---|---|---|
| Diagram Kasus Penggunaan | Tangkap kebutuhan fungsional | Diagram kasus penggunaan |
| Diagram Urutan | Model interaksi dinamis seiring waktu | Diagram urutan |
| Diagram Komunikasi | Tampilkan interaksi objek dan tautan | Diagram komunikasi |
| Diagram Mesin Status | Model siklus hidup dan status objek | Diagram mesin status |
| Diagram Aktivitas | Mewakili alur kerja dan proses | Diagram aktivitas |
| Diagram Komponen | Tampilkan komponen perangkat lunak fisik | Diagram komponen |
| Diagram Penempatan | Model penempatan perangkat keras dan perangkat lunak | Diagram penempatan |
| Diagram Paket | Atur elemen model menjadi paket | Diagram paket |
| Diagram Objek | Tampilkan instans pada saat tertentu | Diagram objek |
| Diagram Struktur Komposit | Model struktur internal klasifikasi | Diagram struktur komposit |
| Diagram Waktu | Fokus pada batasan waktu | Diagram waktu |
| Diagram Gambaran Interaksi | Gabungkan diagram interaksi dan aktivitas | Diagram gambaran interaksi |
Daftar Referensi
- Referensi Diagram Utama
-
Diagram Kasus Penggunaan: Representasi visual dari fungsi sistem dari perspektif pengguna, menangkap aktor dan tujuan mereka.
-
Diagram Urutan: Menunjukkan interaksi objek yang disusun berdasarkan urutan waktu, menekankan urutan pesan.
-
Diagram Komunikasi: Menampilkan interaksi objek dengan penekanan pada hubungan struktural antar objek.
-
Diagram Mesin Status: Memodelkan perilaku dinamis suatu objek melalui tahapan siklus hidup dan transisinya.
-
Diagram Aktivitas: Mewakili alur kerja, proses bisnis, dan langkah-langkah operasional dengan aliran kontrol.
-
Diagram Komponen: Menggambarkan komponen perangkat lunak fisik, antarmuka mereka, dan ketergantungannya.
-
Diagram Penempatan: Menunjukkan node perangkat keras, artefak perangkat lunak, dan hubungan penempatannya.
-
Diagram Paket: Mengorganisasi elemen model menjadi paket hierarkis untuk modularitas dan manajemen namespace.
-
Diagram Objek: Menampilkan contoh kelas dan tautannya pada titik waktu tertentu.
-
Diagram Struktur Komposit: Memodelkan struktur internal klasifikasi termasuk bagian, port, dan konektor.
-
Diagram Waktu: Berfokus pada batasan waktu dan perubahan status selama interval waktu yang tepat.
-
Diagram Gambaran Interaksi: Menggabungkan diagram interaksi dengan notasi diagram aktivitas untuk alur interaksi tingkat tinggi.
- Referensi Notasi Diagram Kelas
-
Abstraksi: Hubungan yang menghubungkan elemen-elemen yang mewakili konsep yang sama pada tingkat abstraksi yang berbeda.
-
Akses: Hubungan impor elemen yang mengendalikan visibilitas elemen-elemen paket yang diimpor.
-
Agregasi (Asosiasi bersama): Hubungan keseluruhan-bagian di mana bagian dapat ada secara independen dari keseluruhan.
-
Asosiasi (Tanpa agregasi): Hubungan semantik antara instans yang diberi tipe dengan ujung yang dapat dilalui.
-
Kelas Asosiasi: Elemen model yang menggabungkan sifat asosiasi dan kelas untuk atribut hubungan.
-
Binding: Hubungan binding templat dengan penggantian parameter untuk elemen generik.
-
Kelas: Klasifikasi inti yang menggambarkan objek dengan fitur, atribut, dan operasi bersama.
-
Kelas <>: Kelas kontainer untuk literatur enumerasi yang mewakili himpunan nilai tetap.
-
Kelas <>: Spesifikasi kontrak yang menyatakan fitur publik untuk klasifikasi yang diimplementasikan.
-
Kelas <>: Kelas tipe data yang telah ditentukan sebelumnya yang mewakili tipe bahasa dasar.
-
Kelas <>: Kelas yang dipetakan ke basis data yang mendukung generasi kode ORM dan persistensi.
-
Kelas <>: Kelas dasar abstrak untuk berbagi atribut ORM umum di seluruh subclass yang dapat dipersistenkan.
-
Kelas <>: Tipe khusus yang dipersistenkan sebagai kolom basis data alih-alih tabel entitas.
-
Kelas <>: Tipe yang diberi parameter yang memungkinkan validasi kebenaran data dalam kode ORM.
-
Kelas <>: Kelas model pembentuk entitas EJB untuk aplikasi Java perusahaan.
-
Kolaborasi: Klasifikasi yang menentukan peran kerja sama dan jalur komunikasi untuk instans yang berinteraksi.
-
Komposisi (Asosiasi komposit): Hubungan bagian-keseluruhan yang kuat dengan kepemilikan eksklusif dan penghapusan yang menyebar.
-
Kendala: Kondisi atau pembatasan yang menyatakan semantik dari elemen model.
-
Ketergantungan: Hubungan yang menunjukkan satu elemen membutuhkan elemen lain untuk spesifikasi atau implementasi.
-
Turunkan: Hubungan yang menentukan elemen klien yang dapat dihitung dari elemen pemasok.
-
Generalisasi: Hubungan pewarisan di mana klasifikasi khusus mewarisi fitur dari klasifikasi umum.
-
Impor: Hubungan impor paket yang membuat anggota paket tersedia untuk ruang nama yang mengimpor.
-
Instansiasi: Ketergantungan yang menunjukkan operasi klien menciptakan instans dari klasifikasi pemasok.
-
Gabungkan: Penggabungan paket yang menggabungkan isi dua paket untuk perluasan konsep secara bertahap.
-
Model: Wadah tingkat atas untuk mengatur elemen model dan paket.
-
NARY: Asosiasi N-ary yang menghubungkan beberapa klasifikasi secara bersamaan.
-
Catatan: Elemen komentar untuk melampirkan catatan non-semantik pada elemen model.
-
Izin: Ketergantungan yang memberikan izin akses ke elemen-elemen di ruang nama lain.
-
Realisasi: Abstraksi khusus di mana klien menerapkan spesifikasi yang ditentukan oleh pemasok.
-
Haluskan: Hubungan antara elemen model pada tingkat semantik yang berbeda seperti analisis dan desain.
-
Substitusi: Hubungan yang menunjukkan klasifikasi pengganti memenuhi spesifikasi klasifikasi kontrak.
-
Lacak: Pelacakan hubungan konsep yang sama di seluruh model yang berbeda, terutama untuk manajemen kebutuhan.
-
Penggunaan: Ketergantungan di mana elemen klien membutuhkan elemen pemasok untuk implementasi atau operasi secara penuh.
- Referensi Tutorial dan Sumber Daya
-
Menggambar Kelas Asosiasi: Panduan langkah demi langkah untuk membuat kelas asosiasi di Visual Paradigm.
-
Hasilkan dan Sinkronkan Kode Java: Tutorial untuk rekayasa dua arah antara diagram kelas dan implementasi Java.
-
Dukungan Tipe Pengguna Hibernate: Sumber daya untuk menerapkan tipe pengguna Hibernate khusus dengan kelas ORM-Persistable.
- Referensi Standar
-
Kelompok Manajemen Objek – Bahasa Pemodelan Terpadu: Sumber spesifikasi UML resmi dari badan standar yang mengatur UML.
-
Definisi notasi dikutip dari Kelompok Manajemen Objek Bahasa Pemodelan Terpadu (OMG UML) Versi Superstruktur 2.2 dan versi sebelumnya (untuk notasi yang tidak lagi ada dalam spesifikasi terbaru).
- Panduan ini didasarkan pada dokumentasi Diagram Kelas UML Visual Paradigm. Untuk spesifikasi terkini, selalu merujuk ke standar UML resmi OMG.











