我应该使用哪种类型的关系?
Which type of relationship should I use?
我目前正在参加 class 关于 UML 图的课程,其中有我们需要完成的实验室练习。
在实验室练习中,有关于超市主题的各种数据class。其中一个数据 class 称为收据,其中包括 ID、付款日期时间、购买的商品和总价等属性。还有另一个名为 Payment 的数据 class,其中包含付款类型属性,Payment data class is "linked" to Receipt data class,但我不确定与哪种关系使用。
完整题段如下:
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).
假设你制作了一个class图:
- "link" 是一个简单的关联,因为措辞中没有任何内容暗示组合或聚合。
- "付款在发生时被记录,无论是现在还是以后"意味着可能在某个时刻(还)没有付款。
- "either now (cash) or later (card payment)" 强烈建议收据是一次付款(措辞不排除多次部分付款,但似乎不太可能)。
- 所以重数是 0..1 次付款收据。
- 关于付款收据的多重性没有说明。我们可以想象至少有 1,因为没有人会白白付钱。但也不排除一次性支付多张未付收据而使用信用卡支付的情况。因此,我会谨慎地让它在图中未指定。在现实世界中,这是您要与客户核实的事情。在你的练习中,根据你从教授那里看到的练习,你可能想输入 1。
所以这里是简化图(为了简单起见,我没有显示属性和操作,也没有显示您没有提到的问题的项目):
我目前正在参加 class 关于 UML 图的课程,其中有我们需要完成的实验室练习。
在实验室练习中,有关于超市主题的各种数据class。其中一个数据 class 称为收据,其中包括 ID、付款日期时间、购买的商品和总价等属性。还有另一个名为 Payment 的数据 class,其中包含付款类型属性,Payment data class is "linked" to Receipt data class,但我不确定与哪种关系使用。
完整题段如下:
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).
假设你制作了一个class图:
- "link" 是一个简单的关联,因为措辞中没有任何内容暗示组合或聚合。
- "付款在发生时被记录,无论是现在还是以后"意味着可能在某个时刻(还)没有付款。
- "either now (cash) or later (card payment)" 强烈建议收据是一次付款(措辞不排除多次部分付款,但似乎不太可能)。
- 所以重数是 0..1 次付款收据。
- 关于付款收据的多重性没有说明。我们可以想象至少有 1,因为没有人会白白付钱。但也不排除一次性支付多张未付收据而使用信用卡支付的情况。因此,我会谨慎地让它在图中未指定。在现实世界中,这是您要与客户核实的事情。在你的练习中,根据你从教授那里看到的练习,你可能想输入 1。
所以这里是简化图(为了简单起见,我没有显示属性和操作,也没有显示您没有提到的问题的项目):