185 Stimmen

UML-Klassendiagramm enum

Ich modelliere ein Klassendiagramm. Ein Attribut einer Klasse ist eine Aufzählung. Wie kann ich dies modellieren? Normalerweise macht man so etwas wie das hier:

- name : string

Aber wie macht man das mit einer Aufzählung?

268voto

James B Punkte 7802

Sie werden einfach so gezeigt:

_______________________
|   <<enumeration>>   |
|    DaysOfTheWeek    |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
|_____________________|

Und dann haben Sie einfach eine Assoziation zwischen dieser und Ihrer Klasse.

92voto

Tom Morris Punkte 10260

Wenn Ihr UML-Modellierungstool die Spezifikation einer Aufzählung unterstützt, sollten Sie diese verwenden. Dies ist wahrscheinlich einfacher zu bewerkstelligen und verleiht Ihrem Modell eine bessere Semantik. Optisch wird das Ergebnis einer Klasse mit einer Enumeration sehr ähnlich sein. <<enumeration>> Stereotyp, aber im UML-Metamodell ist eine Enumeration eigentlich ein eigener (Meta-)Typ.

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

Sobald er definiert ist, können Sie ihn als Typ eines Attributs verwenden, genauso wie Sie einen Datentyp oder den Namen einer Ihrer eigenen Klassen verwenden würden.

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

Wenn Sie ArgoEclipse oder ArgoUML verwenden, gibt es ein Pulldown-Menü in der Symbolleiste, das zwischen Datentyp, Aufzählung, Signal usw. auswählt und Ihnen erlaubt, Ihre eigenen Aufzählungen zu erstellen. Das Fach, das normalerweise Attribute enthält, kann dann mit EnumerationLiterals für die Werte Ihrer Aufzählung aufgefüllt werden.

Hier ist ein Bild eines etwas anderen Beispiels in ArgoUML: enter image description here

2voto

annakata Punkte 72408

Normalerweise modellieren Sie das Enum selbst als eine Klasse mit der enum Stereotyp

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X