Перечисление диаграммы классов UML


я моделирую диаграмму классов. Атрибут класса-это перечисление. Как мне это моделировать? Обычно вы делаете что-то вроде этого:

- name : string

но как это сделать с перечислением?

3 123

3 ответа:

они просто показываются так:

_______________________
|   <<enumeration>>   |
|    DaysOfTheWeek    |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
|_____________________|

а потом просто есть связь между этим и вашим классом.

Если ваш инструмент моделирования UML поддерживает указание перечисления, вы должны использовать его. Это, вероятно, будет легче сделать, и это даст вашей модели более сильную семантику. Визуально результат будет очень похож на класс с <<enumeration>> стереотип, но в метамодели UML перечисление фактически является отдельным (мета)типом.

+---------------------+
|   <<enumeration>>   |
|    DayOfTheWeek     |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
+---------------------+

после того, как он определен, вы можете использовать его в качестве типа атрибута так же, как вы бы тип данных или имя один из ваших собственных Занятия.

+---------------------+
|        Event        |
|_____________________|
| day : DayOfTheWeek  |
| ...                 |
+---------------------+

Если вы используете ArgoEclipse или ArgoUML, на панели инструментов есть выпадающее меню, которое выбирает тип данных, перечисление, сигнал и т. д., что позволит вам создавать свои собственные перечисления. Отсек, который обычно содержит атрибуты, может быть заполнен EnumerationLiterals для значений вашего перечисления.

вот изображение немного другого примера в ArgoUML: enter image description here

обычно вы моделируете само перечисление как класс с enum стереотип