Вопрос

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

- name : string

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

Это было полезно?

Решение

Они просто показаны так:

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

А потом просто свяжите это с вашим классом.

Другие советы

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

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

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

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

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

Вот изображение немного другого примера в ArgoUML: введите описание изображения здесь

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top