两个图表之间的差异

时间:2016-06-08 16:12:45

标签: uml

enter image description here

这是我想要解决的运动问题。 客户向供应商下订单。订单适用于各种不同类型的零件;为了本练习的目的,可以忽略不同类型的平底锅之间的区别。订单由许多订单行组成;每行指定供应商目录中的特定部分,并说明要订购的部件。在响应订单时,供应商组成交货,包括所有订购的零件。在类图中描述这种情况,并在图中讨论聚合的可能用途。

第一个图是建议的答案,第二个图是我自己的答案。

  1. 使用Orderline作为关联类是否合适?
  2. 使用OrderDelivery类之间的关联来弥补交付是否足够?由于Order类与Part类相关联,因此可以检索应传递哪个部分的信息。在建议的答案中,类Part引用目录中的Part描述。包含交付的实际物理部分由类Item表示。
  3. 使用不同课程有什么好处?

1 个答案:

答案 0 :(得分:2)

首先要记住,几乎没有一个正确的"建立模型的方式。 OrderLine可以被建模为Order和Part之间的关联类,因为它是关联类背后的确切想法。另一方面,由于描述明确声明Order包含OrderLines,您也​​可以按照这种方式将其建模为单独的类。但是在这种情况下,它应该是复合聚合而不仅仅是关联。 至于项目和部分 - 部分是目录位置(并且它应该是一个组合而不是简单的关联),而Item表示实际的可交付对象。但是在某些情况下你不会像那样对它进行建模,但你仍然必须拥有某种类型的"载体"在交货。我错过了#34;原创"图是OrderLine和Item之间的关系(关联),用于显示通过交付哪个Item来实现哪个精确的OrderLine。这样可以验证是否涵盖了所有OrderLines。