Domanda

Sto modellando un diagramma di classe. Un attributo di una classe è un'enumerazione. Come posso modellarlo? Normalmente fai qualcosa del genere:

- name : string

Ma come si fa a farlo con un enum?

È stato utile?

Soluzione

Vengono semplicemente mostrati in questo modo:

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

E poi basta avere un'associazione tra quella e la tua classe.

Altri suggerimenti

Se il tuo strumento di modellazione UML ha il supporto per specificare un'enumerazione, dovresti usarlo. Sarà probabilmente più facile da fare e darà al tuo modello una semantica più forte. Visivamente il risultato sarà molto simile a una classe con uno <<enumeration>> stereotipo, ma nel metamodello UML, un'enumerazione è in realtà un tipo (meta) separato.

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

Una volta definito, puoi usarlo come tipo di attributo proprio come faresti con un tipo di dati o il nome di una delle tue classi.

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

Se stai usando ArgoEclipse o ArgoUML, c'è un menu a discesa sulla barra degli strumenti che seleziona tra Tipo dati, Enumerazione, Segnale, ecc. che ti permetterà di creare le tue enumerazioni. Il compartimento che normalmente contiene Attributi può quindi essere popolato con EnumerationLiterals per i valori della tua enumerazione.

Ecco un'immagine di un esempio leggermente diverso in ArgoUML: inserisci qui la descrizione dell'immagine

Tipicamente modifichi l'enum stesso come una classe con lo enum stereotipo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top