Modeluję diagram klas. Atrybutem klasy jest wyliczenie. Jak to modelować? Zwykle robisz coś takiego:
- name : string
Ale jak to zrobić z wyliczeniem?
Są po prostu pokazane w ten sposób:
_______________________
| <<enumeration>> |
| DaysOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
|_____________________|
A potem po prostu miej związek między tym a twoją klasą.
<<enumeration>>
w rzeczywistości nie jest stereotypem, ale słowem kluczowym. Niestety autorzy UML nie dokonali żadnego wizualnego zróżnicowania.Jeśli Twoje narzędzie do modelowania UML obsługuje określanie wyliczenia, powinieneś tego użyć. Prawdopodobnie będzie to łatwiejsze do zrobienia i zapewni Twojemu modelowi silniejszą semantykę. Wizualnie wynik będzie bardzo podobny do klasy ze
<<enumeration>>
stereotypem, ale w metamodelu UML wyliczenie jest w rzeczywistości oddzielnym (meta) typem.Po zdefiniowaniu można go używać jako typu atrybutu, tak jak w przypadku typu danych lub nazwy jednej z własnych klas.
Jeśli używasz ArgoEclipse lub ArgoUML, na pasku narzędzi znajduje się menu rozwijane, które umożliwia wybór między typem danych, wyliczeniem, sygnałem itp., Które pozwolą ci stworzyć własne wyliczenia. Przedział, który zwykle zawiera atrybuty, można następnie wypełnić EnumerationLiterals dla wartości wyliczenia.
Oto zdjęcie nieco innego przykładu w ArgoUML:
źródło
Zwykle modelujesz samo wyliczenie jako klasę ze
enum
stereotypemźródło