UML图:在线网店类图及关系

3

我正在开发一个在线网店。这是一个简单的网店,我需要为类创建域UML图并显示多重性。我有些困惑于我想出的多重性。我不知道如何区分组合、聚合和关联之间的差异。下面是我想出的图表。有人能告诉我我是否走在正确的道路上吗?

http://i.imgur.com/8FwhsaI.jpg

2个回答

3
不错。如果不需要处理内存管理或数据库设计中的外键约束,就无需过于关注聚合。可以将它们省略。
你应该做出一个重要的改变,那就是为关联命名角色。例如,不要使用属性声明shippingAddress:Address,而是在从User传递到Address的关联上使用shippingAddress角色(其他关联也是如此)。
由于Address类是相当常见的且随处可见,因此可以将该类从此图表中删除,并制作一个单独的图表,在其中以Address为中心,所有其他使用它的类都围绕它。

0
我同意Thomas的观点,但是我想展示其他观点以便你能够调整你的图表。 请不要认为这是破坏性的。我只是相信这些提示可以帮助你。
  • 显示每个连接的多重性
  • 不要使用getter和setter*
  • 不要使用ID属性*
  • 订单与用户组合(拥有一个与之相关的订单和订单行构成没有意义);
  • 产品与订单行进行聚合,评论与产品构成;
  • 制造商与产品进行聚合。(取决于您的系统,它可能是组合,但很可能是聚合)。

记住:(部分)对(整体)做出了某些贡献

  • 如果您与某个类有连接,则不需要在该类中创建属性,除非您拥有其列表(例如:Payment中的CreditPayment属性和CreditPayment类);
  • 您可以在订单中创建产品列表。之后,您可以删除Orderline类。

*如果您将不从模型生成代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接