聚合多样性UML

Flo*_*ian 6 uml aggregation multiplicity

我和我的同事无法就此达成共识。在UML中,进行聚合时,菱形面的最大折数是否为1,或者可以为0 .. *?还是取决于观点?
先感谢您 !

小智 5

首先,您需要具体说明您所指的“钻石”是聚合中的空钻石,而组合物是实心钻石?

如果你的意思是空钻石,那么 Icepack 是正确的,并且你混淆了 2 个不同的东西。 多重性与聚合无关,因此“菱形”聚合指标可以具有您喜欢的任何多重性,因为它们不相关。

如果您的意思是实心钻石,即组成,那么某人发布的示例不会真正帮助您,因为它说:“除了only 1大学之外,还有很多部门(多样性)”并且“如果删除所有部门,那么大学也会被删除(组成) ”。

我正在努力想出一个很好的例子,其中组合结束不会出现1 only,而且据我所知,它永远不会出现0..*,因为你可以有一个类必须删除可能不存在的东西?然而,我可以是1..*多对多,例如考试和考试问题。

多样性可以是,1..*1..* 考试有1 or more问题并且问题可以存在于1 or more考试中。考试结束时的实心菱形(作文)意味着如果删除所有问题,那么所有考试也将被删除


Som*_*ame 3

是的,它可以是 0..*。这里有一个很好的例子:一个系有几位教授,每个教授可能同时属于多个系。