Wyliczenie diagramu klas UML


145

Modeluję diagram klas. Atrybutem klasy jest wyliczenie. Jak to modelować? Zwykle robisz coś takiego:

- name : string

Ale jak to zrobić z wyliczeniem?

Odpowiedzi:


198

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


16
Wyliczenia w rzeczywistości działają bardziej jak typy danych niż klasy w UML, więc zwykle skojarzenia nie są wyświetlane więcej niż byłyby, gdyby zadeklarował atrybut typu Integer. Jeśli narzędzie do modelowania ma jawną obsługę wyliczeń, należy tego używać i w razie potrzeby używać wyłącznie notacji stereotypowej Class + <<enumeration>>.
Tom Morris

Czy możesz powiedzieć, gdzie mogę znaleźć stereotyp <<enumeration>> dla ArgoUML?
Timofey

@Tim ArgoUML ma pierwszorzędne wsparcie dla wyliczeń, więc nie ma potrzeby używania stereotypu
Tom Morris

<<enumeration>>w rzeczywistości nie jest stereotypem, ale słowem kluczowym. Niestety autorzy UML nie dokonali żadnego wizualnego zróżnicowania.
qwerty_so

68

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.

+---------------------+
|   <<enumeration>>   |
|    DayOfTheWeek     |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
+---------------------+

Po zdefiniowaniu można go używać jako typu atrybutu, tak jak w przypadku typu danych lub nazwy jednej z własnych klas.

+---------------------+
|        Event        |
|_____________________|
| day : DayOfTheWeek  |
| ...                 |
+---------------------+

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: wprowadź opis obrazu tutaj


7
Dzięki za zrzut ekranu ArgoUML.
Petri Tuononen

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.