Saya memodelkan diagram kelas. Atribut suatu kelas adalah enumerasi. Bagaimana saya memodelkan ini? Biasanya Anda melakukan sesuatu seperti ini:
- name : string
Tetapi bagaimana seseorang melakukan ini dengan enum?
Mereka hanya ditampilkan seperti ini:
_______________________
| <<enumeration>> |
| DaysOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
|_____________________|
Dan kemudian hanya memiliki hubungan antara itu dan kelas Anda.
<<enumeration>>
sebenarnya bukan stereotip tetapi kata kunci. Sayangnya penulis UML tidak membuat diferensiasi visual.Jika alat pemodelan UML Anda memiliki dukungan untuk menentukan Pencacahan, Anda harus menggunakannya. Ini kemungkinan akan lebih mudah dilakukan dan itu akan memberikan semantik model Anda lebih kuat. Secara visual hasilnya akan sangat mirip dengan Kelas dengan
<<enumeration>>
Stereotype, tetapi dalam metamodel UML, sebuah Enumerasi sebenarnya adalah tipe yang terpisah (meta).Setelah didefinisikan, Anda dapat menggunakannya sebagai jenis Atribut sama seperti Anda menggunakan Datatype atau nama salah satu Kelas Anda sendiri.
Jika Anda menggunakan ArgoEclipse atau ArgoUML, ada menu pull-down pada bilah alat yang memilih antara Datatype, Enumeration, Signal, dll yang memungkinkan Anda membuat Enumerasi sendiri. Kompartemen yang biasanya berisi Atribut kemudian dapat diisi dengan EnumerationLiterals untuk nilai-nilai enumerasi Anda.
Berikut gambar contoh yang sedikit berbeda di ArgoUML:
sumber
Biasanya Anda memodelkan enum itu sendiri sebagai kelas dengan
enum
stereotipsumber