Je modélise un diagramme de classes. Un attribut d'une classe est une énumération. Comment modéliser cela? Normalement, vous faites quelque chose comme ceci:
- name : string
Mais comment faire cela avec une énumération?
Ils sont simplement montrés comme ceci:
_______________________
| <<enumeration>> |
| DaysOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
|_____________________|
Et puis ayez juste une association entre cela et votre classe.
<<enumeration>>
n'est en fait pas un stéréotype mais un mot-clé. Malheureusement, les auteurs UML n'ont fait aucune différenciation visuelle.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 solide. Visuellement, le résultat sera très similaire à une classe avec un
<<enumeration>>
stéréotype, mais dans le métamodèle UML, une énumération est en fait un type (méta) distinct.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 le nom d'une de vos propres classes.
Si vous utilisez ArgoEclipse ou ArgoUML, il y a un menu déroulant sur la barre d'outils qui sélectionne parmi le type de données, l'énumération, le signal, etc. qui vous permettra de créer vos propres énumérations. Le compartiment qui contient normalement des attributs peut ensuite être rempli avec EnumerationLiterals pour les valeurs de votre énumération.
Voici une image d'un exemple légèrement différent dans ArgoUML:
la source
En règle générale, vous modélisez l'énumération elle-même en tant que classe avec le
enum
stéréotypela source