2016-11-10 8 views
4

私はオンラインのWebストアで作業しています。これはシンプルなWebストアで、クラスのドメインUML図を作成して多重度を表示する必要があります。私は、私が思いついた多様性について混乱している。私は、構成、集約および関連をどのように区別するのか分かりません。以下は私が思いついたダイアグラムです。私が正しい道にいるかどうか誰かに教えてもらえますか?UML図:オンラインWebストアのクラス図と関係

http://i.imgur.com/8FwhsaI.jpg

答えて

4

あまりにも悪くありません。データベース設計におけるメモリ管理や外部キーの制約に対処する必要がなければ、集約についてはあまり気にしないでください。ただ離れさせて。

重要な変更点の1つに、関連付けの役割名があります。例えば。属性として宣言されているshippingAddress:Addressの代わりに、Userなど(他のものの場合など)Addressに関連して表示されるロールshippingAddressを使用します。

Addressは一般的な場所のようなものですから、この図からクラスを離して、Addressが中央にあり、それを使用する他のすべてがそれを囲む別の図を作成することができます。

0

私はトーマスに同意しますが、私は他の点も表示しますので、ダイアグラムを調整できます。 破壊的なものとは思わないでください。私はこれらのヒントがあなたを助けることができると信じています

すべての接続
  • のショーの多重度はゲッターとセッターを使用していない
    • *
    • は、IDの属性を使用していない*
    • 注文は、(ユーザーとの構図を作る意味がありません関連するユーザーとの順序を持​​っています
    • 製品は、OrderLineとアグリゲーションを行い、製品との構成を確認します。
    • 製造元は製品とのアグリゲーションを行います(ご使用のシステムによって異なりますが、コンポジションにすることもできますが、アグリゲーションになる可能性が高くなります)。

    は(一部を)忘れないでくださいあなたは、そのクラスとの接続を持っている場合、それはあなたがリストを持っている場合を除き、クラス内の属性を作成する必要はありません(全体)

    • で何かを作ります(例えば、1:支払いの属性CreditPaymentとクラスCreditPayment)。
    • 商品リストを注文することができます。その後、Orderlineクラスを削除することができます。

    *モデルからコードを生成しない場合は、