UML类图中关联箭头的方向

时间:2009-12-15 10:08:03

标签: class uml diagram

在这个显示如何绘制类图的网页上,为什么关联的箭头从订单指向客户,而不是从客户指向订单?

UML Tutorial - Class Diagrams

7 个答案:

答案 0 :(得分:13)

箭头描述了导航性。

  • 导航结束由关联结束时的空心箭头指示
  • 不可导航的结尾用关联结尾处的小x表示
  • 关联结束时没有装饰意味着未指定的导航性

UML Arrow association direction

取自: http://www.uml-diagrams.org/association.html

答案 1 :(得分:8)

这可能会有所帮助:

UML类图:指南http://msdn.microsoft.com/en-us/library/dd409416%28VS.100%29.aspx

  

协会的属性

     

可导航:如果仅对一个角色为true,则会在可导航方向上显示箭头。该   关联可以在这个方向阅读。您可以使用它来指示链接的可导航性   软件中的数据库关系。

UML类图中的关联属性http://msdn.microsoft.com/en-us/library/dd323862%28VS.100%29.aspx

alt text http://i.msdn.microsoft.com/Dd323862.UML_ClassProp(en-us,VS.100).png

  

如果一个角色可导航而另一个角色不可导航,则导航中的关联上会出现一个箭头(7)   方向。

答案 2 :(得分:6)

因为订单“有”对客户的引用。

在数据库中,这将是order-table中的外键,它存储customer-id。

在代码中,您将在订单对象中存储对关联客户对象的引用。因此,订单指向客户,反之亦然。

答案 3 :(得分:6)

箭头描述了您可以导航的方式。因此,在此图表中,您可以从订单到客户。而另一方面:没有箭头意味着“不可导航”,但“没有评论”。没有明确的正确方法。

答案 4 :(得分:0)

关联结束在UML中具有布尔导航属性。在这种情况下,向客户的方向订单的导航性设置为true,而在customer to order方向的导航设置为false。

有了这个,该模型的设计者表示现在订单谁是与订单相关联的客户,但客户无法直接访问他们的订单。

如果我们查看此模型的Java代码,可以更容易理解导航性。对于此示例,此可导航性意味着Order具有Customer类型的属性,但Customer没有用于存储他/她的订单的集合属性

答案 5 :(得分:-1)

可能是因为订单与客户相关联?这些事情可以看作是两种方式,或者有时两种方式都可以。

答案 6 :(得分:-2)

这是依赖,这是一种特殊的弱关联类型。这意味着,对于存在的订单,在某个时间点必须存在客户。在“订单”的生命周期中可能存在某些点,其中未强制执行此要求。