【问题标题】:Class associations and multiplicity - UML 2.0 - object oriented类关联和多重性 - UML 2.0 - 面向对象
【发布时间】:2018-10-16 07:00:24
【问题描述】:

我正在学习 UML,并且有一个关于类图的练习题。

我已经整理了图表的第一个版本,但我对 e 部分感到困惑。这是练习题:

这就是我目前所拥有的:

“每个客户可以存储许多用于支付的借记卡/信用卡”是否意味着客户与借记卡和信用卡子类有关联?还是信用卡类型作为属性存储在客户类中?

【问题讨论】:

    标签: attributes uml class-diagram multiplicity


    【解决方案1】:

    Thomas Kilian 的提议还不是完整的解决方案。您应该将“CreditCard”重命名为“PaymentCard”,并将其划分为两个不相交的子类“CreditCard”和“DebitCard”,使其成为联合类型。给 Customer-PaymentCard 关联一个 1-* 多重性。然后在PaymentPaymentCard 之间添加多对一关联。

    【讨论】:

      【解决方案2】:

      只是您需要在Customer 中为多个信用卡号添加一个属性。卡号小于 2^43。所以你可以取一个(64位)整数。或者为此使用String

      点符号表示cardCustomer 内部的一个属性,并且由于它的多重性不等于一个,因此它是一个数组(或集合)。反之亦然,信用卡拥有唯一的所有者。

      【讨论】:

      • 我不认为这是正确的。上面写着“每个客户可以存储一些用于付款的借记卡/信用卡”。
      • 哦,是的。我的英文。 “数”的意思是众多。所以你需要一个数组。我会更新的。
      • Customer 关联端的“恰好一个”多重性和其他一些项目(如我的回答中所述)缺失。
      • @GerdWagner 我应该清洁我的眼镜:-/ 图表已更新。我没有重命名/引入一般支付卡类(留给 OP)。
      猜你喜欢
      • 1970-01-01
      • 2012-03-27
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 2018-08-24
      • 2013-03-07
      相关资源
      最近更新 更多