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

Спасибо за скриншот ArgoUML.
Перечисления на самом деле больше похожи на типы данных, чем на классы в UML, поэтому обычно ассоциации не отображаются больше, чем если бы вы объявили атрибут типа Integer. Если ваш инструмент моделирования имеет явную поддержку перечислений, вы должны использовать это и использовать стереотипную нотацию Class + <<enumeration>> только в качестве запасного варианта, если это необходимо.