【问题标题】:Describe associations in class diagram在类图中描述关联
【发布时间】:2015-02-09 21:18:53
【问题描述】:

我有以下课程:

  • 文章
  • 地址

这两个类的关系是:

  • Article 1->2 地址(1 和 2 是复数,因此一篇文章有​​两个地址(取货地址和送货地址)。

如何在类图中显示与地址的这两个关联是由名为pickupAddress 和handoverAddress 的对象实现的,并且handoverAddress 是可选的?这可能吗?

【问题讨论】:

  • “由对象实现”是什么意思。对象是一个实例,而不是一个实现。
  • 我应该说“意识到”吗?我想说明第一个关联是由变量pickAddress(类型地址)完成的,第二个关联是由变量handoverAddress(类型地址)完成的。
  • 如果你用实现替换实现它是一样的。罪魁祸首是“对象”。对象是类的一个实例。一些“真实”的东西。关联的继承可以通过相应的属性来展示(只是不同的渲染)。基本上按照@Vladimir 的建议去做。
  • 我想你会想要在这些类之间比两个关联更复杂的东西。可能您需要“装运”(或订单)之类的东西。否则每篇文章只能发送一次。

标签: uml class-diagram


【解决方案1】:
  1. 您必须在文章和地址之间绘制两个关联。第一个关联的地址的作用是取货,第二个关联的作用是送货。
  2. 如果切换地址是可选的,则关联的多重性应将下限设置为 0,将上限设置为 1。根据您的问题,提取地址为多重性1(即强制且恰好为一个)。
  3. 隐式地,关联是由关联端的类或关联实例(链接)实现的。可以定义,什么元素拥有关联端,关联端的关联或类。 阅读 UML 上层结构文档以获取更多信息。请参阅关联结束章节中的属性。

【讨论】:

【解决方案2】:

解决方案是这样的:

根据地址是否被文章共享,您应该更改聚合类型。您可以复制并编辑此模型there

【讨论】:

  • 您应该将导航箭头替换为关联端所有权点(仅在 UML 2.5 中定义),以表示两个关联端 'pickingAddress' 和 'handoverAddress' 对应于类的两个引用属性Article。导航箭头并没有真正表达这一点。见stackoverflow.com/questions/21321446/…
  • 再次,您也可以查看合格的关联。
猜你喜欢
  • 2011-01-14
  • 1970-01-01
  • 2022-11-02
  • 2021-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
相关资源
最近更新 更多