在 UML 图类中指定集合类型
Posted
技术标签:
【中文标题】在 UML 图类中指定集合类型【英文标题】:Specify type of collection in UML Diagram Class 【发布时间】:2014-01-30 13:52:06 【问题描述】:我有一个问题,我想使用 UML 类图来表示什么。 我有一个 A 类,它有自己的名称和 B 元素的集合(0 .. *)。 然而,B 类是抽象的,因此 A 中的元素集合可以是 B1 或 B2(B 的特化)。 我想澄清一个事实,即集合必须完整地呈现给所有 B1 或 B2,这不允许混合不同的元素,但我不知道如何在 UML 上表示这一点。您的建议肯定会有所帮助。
+---+
| A |
+---+
|
|0..*
+---+ +----+
| B |<---| B1 |
+---+ +----+
^
|
+----+
| B2 |
+----+
【问题讨论】:
【参考方案1】:根据一个抽象集合(或和接口)制作两个真实集合。从 A 引用这个抽象集合。由于它是抽象的,因此您必须采用这些可实例化的其中之一来实现。这是抽象类的另一种用法。
恐怕,我无法用这么漂亮的老式字母数字图形来管理它。
另外,我认为,无论如何添加解释说明会更好。因为这可能很难理解。
编辑:我想评估您希望在班级层面实现这一概念的愿望,而不是 if-then-else 。这样我们就可以真正保证集合中不会有混合类型。
【讨论】:
【参考方案2】:UML 中的集合是隐式定义的。如果属性或关联端的多重性设置为多个,则为集合。集合中的元素类型是分配给属性或关联端的类型。集合类型由参数 isOrdered、isUnique 定义。它由靠近属性(关联端)的关键字描述。
【讨论】:
以上是关于在 UML 图类中指定集合类型的主要内容,如果未能解决你的问题,请参考以下文章