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