UML 类图枚举

我正在建模一个类图。类的属性是枚举。我该怎么建模呢?通常你会这么做:

- name : string

但是如何使用枚举进行此操作呢?

277659 次浏览

通常您使用 enum构造型将枚举本身建模为类

它们简单地显示如下:

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

然后把它和你的类联系起来。

如果您的 UML 建模工具支持指定枚举,那么您应该使用它。这样做可能更容易,并且会给你的模型更强的语义。在视觉上,结果将非常类似于具有 <<enumeration>>原型的 Class,但是在 UML 元模型中,枚举实际上是一个单独的(meta)类型。

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

一旦定义了它,就可以像使用数据类型或自己的类的名称一样使用它作为 Attribute 的类型。

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

如果您正在使用 ArgoEclipse 或 ArgoUML,工具栏上有一个下拉菜单,可以在数据类型、枚举、信号等之间进行选择,从而允许您创建自己的枚举。然后,可以用枚举值的 EnumerationLiterals 填充通常包含 Attritribute 的区间。

下面是 ArgoUML 中一个略有不同的例子: enter image description here