Read this post in: de_DEen_USes_ESfr_FRhi_INjapl_PLpt_PTru_RUvizh_CNzh_TW

Diagram Kelas UML: Panduan Referensi Lengkap

Class Diagram Sample


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

Class Icon Kelas

Class

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

Enumeration Icon Kelas <>

Enumeration

Definisi: Sebuah bentuk kelas yang berfungsi sebagai wadah untuk literatur enumerasi. Sebagai contoh, sebuah enumerasi Warna menyimpan literatur enumerasi merahhijau, dan biru.


Interface Icon Kelas <>

Interface

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


Primitive Icon Kelas <>

Primitive

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


Note Icon Catatan

Note

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.


Constraint Icon Batasan

Constraint

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

Collaboration Icon Kolaborasi

Collaboration

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 Icon Model

Definisi: Paket tingkat atas yang berisi seluruh model atau bagian penting dari model tersebut.


NARY Icon NARY

Definisi: Mewakili asosiasi n-ary yang menghubungkan beberapa klasifikasi secara bersamaan.


Jenis Hubungan

Hubungan Asosiasi

Association Icon Asosiasi (Tanpa agregasi)

Association

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

Aggregation Icon Agregasi (Asosiasi bersama)

Aggregation

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).


Composition Icon Komposisi (asosiasi komposit)

Composition

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


Association Class Icon Kelas Asosiasi

Association Class

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 TerkaitMenggambar kelas asosiasi


Hubungan Ketergantungan

Dependency Icon Ketergantungan

Dependency

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

Abstraction Icon Abstraksi

Abstraction

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.


Realization Icon Realisasi

Realization

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


Generalization Icon Generalisasi

Generalization

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

Usage Icon Penggunaan

Usage

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


Access Icon Akses

Access

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


Import Icon Impor

Import

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


Permission Icon Izin

Permission

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


Instantiation Icon Instansiasi

Instantiation

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


Binding Icon Ikatan

Binding

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.


Derive Icon Turunkan

Derive

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.


Refine Icon Haluskan

Refine

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


Trace Icon Lacak

Trace

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


Substitution Icon Substitusi

Substitution

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.


Merge Icon Gabungkan

Merge

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

ORM Persistable Icon Kelas <>

ORM Persistable

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

ORM Abstract Persistable Icon Kelas <>

ORM Abstract Persistable

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


ORM User Type Icon Kelas <>

ORM User Type

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 TerkaitDukungan Tipe Pengguna Hibernate


ORM Parameterized Type Icon Kelas <>

ORM Parameterized Type

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


Entity Bean Icon Kelas <>

Entity Bean

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: publikpribaditerlindungipaket
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

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

  1. Referensi Diagram Utama
  2. Diagram Kasus Penggunaan: Representasi visual dari fungsi sistem dari perspektif pengguna, menangkap aktor dan tujuan mereka.

  3. Diagram Urutan: Menunjukkan interaksi objek yang disusun berdasarkan urutan waktu, menekankan urutan pesan.

  4. Diagram Komunikasi: Menampilkan interaksi objek dengan penekanan pada hubungan struktural antar objek.

  5. Diagram Mesin Status: Memodelkan perilaku dinamis suatu objek melalui tahapan siklus hidup dan transisinya.

  6. Diagram Aktivitas: Mewakili alur kerja, proses bisnis, dan langkah-langkah operasional dengan aliran kontrol.

  7. Diagram Komponen: Menggambarkan komponen perangkat lunak fisik, antarmuka mereka, dan ketergantungannya.

  8. Diagram Penempatan: Menunjukkan node perangkat keras, artefak perangkat lunak, dan hubungan penempatannya.

  9. Diagram Paket: Mengorganisasi elemen model menjadi paket hierarkis untuk modularitas dan manajemen namespace.

  10. Diagram Objek: Menampilkan contoh kelas dan tautannya pada titik waktu tertentu.

  11. Diagram Struktur Komposit: Memodelkan struktur internal klasifikasi termasuk bagian, port, dan konektor.

  12. Diagram Waktu: Berfokus pada batasan waktu dan perubahan status selama interval waktu yang tepat.

  13. Diagram Gambaran Interaksi: Menggabungkan diagram interaksi dengan notasi diagram aktivitas untuk alur interaksi tingkat tinggi.

  14. Referensi Notasi Diagram Kelas
  15. Abstraksi: Hubungan yang menghubungkan elemen-elemen yang mewakili konsep yang sama pada tingkat abstraksi yang berbeda.

  16. Akses: Hubungan impor elemen yang mengendalikan visibilitas elemen-elemen paket yang diimpor.

  17. Agregasi (Asosiasi bersama): Hubungan keseluruhan-bagian di mana bagian dapat ada secara independen dari keseluruhan.

  18. Asosiasi (Tanpa agregasi): Hubungan semantik antara instans yang diberi tipe dengan ujung yang dapat dilalui.

  19. Kelas Asosiasi: Elemen model yang menggabungkan sifat asosiasi dan kelas untuk atribut hubungan.

  20. Binding: Hubungan binding templat dengan penggantian parameter untuk elemen generik.

  21. Kelas: Klasifikasi inti yang menggambarkan objek dengan fitur, atribut, dan operasi bersama.

  22. Kelas <>: Kelas kontainer untuk literatur enumerasi yang mewakili himpunan nilai tetap.

  23. Kelas <>: Spesifikasi kontrak yang menyatakan fitur publik untuk klasifikasi yang diimplementasikan.

  24. Kelas <>: Kelas tipe data yang telah ditentukan sebelumnya yang mewakili tipe bahasa dasar.

  25. Kelas <>: Kelas yang dipetakan ke basis data yang mendukung generasi kode ORM dan persistensi.

  26. Kelas <>: Kelas dasar abstrak untuk berbagi atribut ORM umum di seluruh subclass yang dapat dipersistenkan.

  27. Kelas <>: Tipe khusus yang dipersistenkan sebagai kolom basis data alih-alih tabel entitas.

  28. Kelas <>: Tipe yang diberi parameter yang memungkinkan validasi kebenaran data dalam kode ORM.

  29. Kelas <>: Kelas model pembentuk entitas EJB untuk aplikasi Java perusahaan.

  30. Kolaborasi: Klasifikasi yang menentukan peran kerja sama dan jalur komunikasi untuk instans yang berinteraksi.

  31. Komposisi (Asosiasi komposit): Hubungan bagian-keseluruhan yang kuat dengan kepemilikan eksklusif dan penghapusan yang menyebar.

  32. Kendala: Kondisi atau pembatasan yang menyatakan semantik dari elemen model.

  33. Ketergantungan: Hubungan yang menunjukkan satu elemen membutuhkan elemen lain untuk spesifikasi atau implementasi.

  34. Turunkan: Hubungan yang menentukan elemen klien yang dapat dihitung dari elemen pemasok.

  35. Generalisasi: Hubungan pewarisan di mana klasifikasi khusus mewarisi fitur dari klasifikasi umum.

  36. Impor: Hubungan impor paket yang membuat anggota paket tersedia untuk ruang nama yang mengimpor.

  37. Instansiasi: Ketergantungan yang menunjukkan operasi klien menciptakan instans dari klasifikasi pemasok.

  38. Gabungkan: Penggabungan paket yang menggabungkan isi dua paket untuk perluasan konsep secara bertahap.

  39. Model: Wadah tingkat atas untuk mengatur elemen model dan paket.

  40. NARY: Asosiasi N-ary yang menghubungkan beberapa klasifikasi secara bersamaan.

  41. Catatan: Elemen komentar untuk melampirkan catatan non-semantik pada elemen model.

  42. Izin: Ketergantungan yang memberikan izin akses ke elemen-elemen di ruang nama lain.

  43. Realisasi: Abstraksi khusus di mana klien menerapkan spesifikasi yang ditentukan oleh pemasok.

  44. Haluskan: Hubungan antara elemen model pada tingkat semantik yang berbeda seperti analisis dan desain.

  45. Substitusi: Hubungan yang menunjukkan klasifikasi pengganti memenuhi spesifikasi klasifikasi kontrak.

  46. Lacak: Pelacakan hubungan konsep yang sama di seluruh model yang berbeda, terutama untuk manajemen kebutuhan.

  47. Penggunaan: Ketergantungan di mana elemen klien membutuhkan elemen pemasok untuk implementasi atau operasi secara penuh.

  48. Referensi Tutorial dan Sumber Daya
  49. Menggambar Kelas Asosiasi: Panduan langkah demi langkah untuk membuat kelas asosiasi di Visual Paradigm.

  50. Hasilkan dan Sinkronkan Kode Java: Tutorial untuk rekayasa dua arah antara diagram kelas dan implementasi Java.

  51. Dukungan Tipe Pengguna Hibernate: Sumber daya untuk menerapkan tipe pengguna Hibernate khusus dengan kelas ORM-Persistable.

  52. Referensi Standar
  53. Kelompok Manajemen Objek – Bahasa Pemodelan Terpadu: Sumber spesifikasi UML resmi dari badan standar yang mengatur UML.

  54. 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).


  1. Panduan ini didasarkan pada dokumentasi Diagram Kelas UML Visual Paradigm. Untuk spesifikasi terkini, selalu merujuk ke standar UML resmi OMG.