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 ?
Réponses
Trop de publicités?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 :
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.
Ici Voici un lien vers la spécification UML, si vous avez vraiment envie d'une lecture supplémentaire :)