我应该使用哪种类型的关系?

时间:2019-10-12 14:51:21

标签: uml associations class-diagram

我目前正在参加有关UML图的课程,我们需要完成一些实验练习。

在实验室练习中,有关超级市场的​​主题有各种数据类别。数据类之一称为收据,其中包含诸如ID,付款日期时间,购买的商品和总价之类的属性。还有另一个名为Payment的数据类,其中包括一个付款类型属性,Payment数据类已“链接”到Receipt数据类,但是我不确定要使用哪种关系。

完整的问题段落如下:

Shopper arrives at checkout counter.
The total price is calculated and the shopper is given an receipt which includes a list of purchased items.
Payment is recorded when it occurs, either now (cash) or later (card payment).

1 个答案:

答案 0 :(得分:0)

假设您创建了一个类图:

  • “链接”是一个简单的关联,因为措辞中没有任何内容暗示组成或聚集。
  • 现在或以后记录付款” ”表示在某个时间可能尚未付款(尚未付款)。
  • 现在(现金)或以后(卡付款)”强烈建议以单笔付款支付收据(措词未排除多次部分付款,但似乎不太可能) 。
  • 所以收据的支付倍数是0..1。
  • 关于付款收据的多重性一无所获。我们可以想象最小为1,因为没有人会不支付任何费用。但是不能排除使用信用卡付款一次支付几张未付收据的情况。因此,我会谨慎地让它在图中未指定。在现实世界中,您需要向客户确认这一点。在练习中,根据您从教授那里看到的实践,您可能需要输入1。

因此,这里是简化图(为了简单起见,我没有显示属性和操作,也没有提到您没有提到的问题):

enter image description here