0

私は UML を学んでおり、クラス図について取り組んでいる練習問題があります。

図の最初のバージョンをまとめましたが、パート e について混乱しています。これは練習問題です:

ここに画像の説明を入力

これは私がこれまでに持っているものです:

ここに画像の説明を入力

「各顧客は、支払いに使用される多数のデビット/クレジット カードを保管できる」と記載されていますが、これは、顧客がデビット カードとクレジット カードのサブクラスに関連付けられていることを意味しますか? それとも、クレジットカードの種類が属性として顧客クラスに保存されていますか?

4

2 に答える 2

2

Thomas Kilian の提案は、まだ完全な解決策ではありません。"CreditCard" の名前を "PaymentCard" に変更し、それを 2 つのばらばらなサブクラス "CreditCard" と "DebitCard" に分割して共用体型にする必要があります。Customer-PaymentCardアソシエーションに 1-* 多重度を与えます。Payment次に、 と の間に多対 1 の関連付けを追加しPaymentCardます。

于 2018-05-07T08:50:14.743 に答える
1

Customerいくつかのクレジット カード番号の属性が内部に必要なだけです。カード番号が 2^43 未満です。したがって、(64ビット)整数を取ることができます。または、そのために aStringを使用します。

ここに画像の説明を入力

ドット表記は、それがcard内部の属性Customerであり、多重度が等しくないため、配列(またはコレクション)であることを示しています。逆に、CreditCard には一意の所有者がいます。

于 2018-05-06T16:15:57.680 に答える