167

我正在建模一个类图。类的属性是枚举。我该如何建模?通常你会做这样的事情:

- name : string

但是如何使用枚举来做到这一点?

4

3 回答 3

242

它们简单地显示如下:

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

然后在它和你的班级之间建立联系。

于 2009-01-05T12:27:07.843 回答
81

如果您的 UML 建模工具支持指定枚举,您应该使用它。它可能会更容易做,它会给你的模型更强的语义。从视觉上看,结果与带有 Stereotype 的类非常相似<<enumeration>>,但在 UML 元模型中,枚举实际上是一个单独的(元)类型。

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

定义后,您可以将其用作属性的类型,就像您使用数据类型或您自己的类的名称一样。

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

如果您使用 ArgoEclipse 或 ArgoUML,工具栏上有一个下拉菜单,可以在 Datatype、Enumeration、Signal 等中进行选择,让您可以创建自己的 Enumerations。然后,可以使用 EnumerationLiterals 填充通常包含 Attributes 的隔离专区,以获取您的枚举值。

这是 ArgoUML 中一个稍微不同的示例的图片: 在此处输入图像描述

于 2012-02-02T17:32:44.947 回答
1

通常,您将枚举本身建模为具有构造enum型的类

于 2009-01-05T12:26:13.320 回答