Перечень классов UML

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

- name : string

Но как это сделать с помощью enum?

3 ответа

Решение

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

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

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

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

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

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

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

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

Вот картина немного другого примера в ArgoUML:

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

Другие вопросы по тегам