2013-10-31 45 views
0

具有已经高达10个订单列表类客户:类图 - 显示多重性两次(关联和属性)?

Customer 
-------- 
+orders:Order[0..10] 

但是,这意味着客户可以通过聚集Order类,也有关:

Customer           Order 
--------    <>-------------------> -------- 
+orders:Order[0..10] 

我应该也表明0- 10在班级协会?因为我看到许多图表,但另一方面,这是在客户的属性中指定的。

+0

因为它们的性质(至少在Java和C#中,而不是在C/C++中),没有数组不接受未知(动态)长度,所以需要用关联指定长度。 – 2013-11-02 20:13:52

回答

1

事实上,您必须选择您想要显示的事实,即客户拥有最多10份订单的清单。您可以将其描述为属性或聚合或两者,但这个最新的选项可能会令人困惑。在所有情况下,如果你想将它建模为关联(或组合或聚合),则必须显示多重性,否则将不清楚...

欲了解更多信息,请看看UML 2.5 specification的9.5.3部分

+0

那么,如果我得到它的正确,我可以显示与类之间的关联(但没有属性/操作)或类与属性/操作但没有关联的类图 – user970696

+0

事实上,您可以显示它作为属性或关联或都。 UML不提供每次都必须选择的规则,并且可以根据需要进行混合。 你决定代表的唯一的东西,例如,你的类客户有一个最多10个订单的列表,作为一个属性和一个关联,这可能会令人困惑... –

+0

但是当我做类图时,我认为它具有属性/操作和类关系是相当普遍的。你将如何建模?没有多重性的协会?我的意思是,如果你需要显示完整的图表,一个不能跳过协会 – user970696