使用Eclipse中的ObjectAid插件在UML图中表示地图

时间:2014-04-25 12:25:17

标签: java map uml objectaid

我如何描绘" map" UML图中的集合使用Eclipse的ObjectAid UML插件?

示例:

Class MyDatabase {
   Map<Integer, Person> db;
}

地图使用Integer作为关键元素,Person对象作为值。但是当我使用ObjectAid生成UML图时,我只是通过箭头获取MyDatabase类和Person类。这看起来像是Person类型的简单属性,而不是地图。

我知道UML与实现细节无关,但我想描述这种关系(地图作为属性)。想法?

1 个答案:

答案 0 :(得分:1)

ObjectAid实际上做得非常好。 :)

地图是一种集合。集合采用UML建模,使用与对应的结尾0..n,1..n,2..10或类似的关联。它们可以进一步标记为“有序”(例如Vector)或“允许重复”,以涵盖不同语言的所有不同类型的集合。

回到你的例子......为了模拟Map,有一个名为限定符的UML概念。来自UML规范的摘录:

限定的关联结束具有限定符,用于对与该实例关联的实例(限定实例)进行分区。每个分区由限定符值指定,该值是包含每个限定符的一个值的元组。关联另一端的多重性决定了每个分区中的实例数。因此,例如,0..1表示每个限定符值最多只有一个实例。如果下限非零,则限定符值必须是有限集,例如,因为限定符是通过枚举键入的。

请参阅UML规范了解更多信息。

以下是它的样子。此图表完全反映了您的代码(甚至集合名称也在那里,建模为关联的结束名称):

enter image description here