Я моделирую диаграмму классов. Атрибут класса - это перечисление. Как мне это моделировать? Обычно вы делаете что-то вроде этого:
- name : string
Но как это сделать с перечислением?
Я моделирую диаграмму классов. Атрибут класса - это перечисление. Как мне это моделировать? Обычно вы делаете что-то вроде этого:
- name : string
Но как это сделать с перечислением?
Они просто отображаются следующим образом:
_______________________
| <<enumeration>> |
| DaysOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
|_____________________|
И тогда у вас есть связь между этим и вашим классом.
Если ваш инструмент моделирования UML имеет поддержку для указания перечисления, вы должны использовать его. Скорее всего, это будет легче сделать, и это придаст вашей модели более сильную семантику. Визуально результат будет очень похож на класс с <<enumeration>>
Stereotype, но в метамодели UML перечисление на самом деле является отдельным (мета) типом.
+---------------------+
| <<enumeration>> |
| DayOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
+---------------------+
Как только он определен, вы можете использовать его как тип атрибута так же, как и тип данных или имя одного из ваших собственных классов.
+---------------------+
| Event |
|_____________________|
| day : DayOfTheWeek |
| ... |
+---------------------+
Если вы используете ArgoEclipse или ArgoUML, на панели инструментов отображается раскрывающееся меню, которое выбирает тип данных, перечисление, сигнал и т.д., которые позволят вам создавать собственные перечисления. В отсеке, который обычно содержит атрибуты, может быть заполнено EnumerationLiterals для значений вашего перечисления.
Здесь картина немного другого примера в ArgoUML:
Обычно вы моделируете enum как класс со стереотипом enum