136 votes

Diagramme de classe Uml enum

Je modélise un diagramme de classes. Un attribut d'une classe est une énumération. Comment puis-je le modéliser ? Normalement vous faites quelque chose comme ceci : - name : string Mais comment faire cela avec une énumération ?

184voto

James Burgess Points 4616

Ils sont simplement montrés comme ça :

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

Et ensuite, il suffit d'avoir une association entre ça et votre classe.

61voto

Tom Morris Points 6022

Si votre outil de modélisation UML prend en charge la spécification d'une énumération, vous devez l'utiliser. Ce sera probablement plus facile à faire et cela donnera à votre modèle une sémantique plus forte. Visuellement, le résultat sera très similaire à une classe avec un élément <<enumeration>> Stéréotype, mais dans le métamodèle UML, une Enumération est en fait un (méta)type distinct.

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

Une fois qu'il est défini, vous pouvez l'utiliser comme type d'attribut, comme vous le feriez pour un type de données ou pour le nom d'une de vos propres classes.

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

Si vous utilisez ArgoEclipse ou ArgoUML, il y a un menu déroulant sur la barre d'outils qui sélectionne parmi Datatype, Enumeration, Signal, etc. qui vous permettra de créer vos propres Enumérations. Le compartiment qui contient normalement les attributs peut alors être rempli avec des EnumerationLiterals pour les valeurs de votre énumération.

Voici l'image d'un exemple légèrement différent dans ArgoUML : enter image description here

9voto

adilei Points 275

Vous pouvez utiliser des littéraux. Selon la spécification UML, ce sont des spécifications de valeurs connues.

Vous trouverez ci-dessous un exemple de littéral d'énumération tiré de IBM Rational Rose.

alt text

Ici Voici un lien vers la spécification UML, si vous avez vraiment envie d'une lecture supplémentaire :)

1voto

annakata Points 42676

En général, vous modélisez l'enum lui-même comme une classe avec l'attribut enum stéréotype

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X