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

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

132 голосов
/ 05 января 2009

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

- name : string

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

Ответы [ 3 ]

170 голосов
/ 05 января 2009

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

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

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

61 голосов
/ 02 февраля 2012

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

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

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

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

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

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

1 голос
/ 05 января 2009

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

...