2016-10-19 12 views
0

この既存の質問は見つからないようですが、私にそれを指摘することは自由です。同じ型の複数のメンバ:UMLクラス図で表現する方法

------------   ------------- 
| Bear |--------<>| BearHouse | 
|------------|   |-------------| 
|+name:string|   |+mama: Bear | 
------------   |+papa: Bear | 
         |+baby: Bear | 
         ------------- 
  • が、このみなさ集約または組成物である:

    はおなじみの童話の次のような状況を想像してみ? (私は構図をとると思います)

  • 構図は黒いダイヤモンド線で1本で十分ですか、それとも3本使ったらいいですか?

私のクラスダイアグラムが正確であること、または少なくとももっと意味があることを確認したいだけです。

は私がBearHouseを引き受けるあなた

+0

[アグリゲーション対コンポジション対アソシエーション対ダイレクトアソシエーション]の可能な複製(0120-18751)。 –

答えて

1

ではなくプロパティが使用団体の名前:

enter image description here

パパとママと0のための1のおそらく多重.. *赤ちゃんのために罰金だろう(これらの時間にパパとすることもできるがありますけれどもまたはママを0..2、モルモスママを1 .. *)

これについては、この厄介な概念を忘れてしまいます。それは本当の付加価値をもたらすものではなく、その必要性について無益な議論しか起こさない。多重度のある関連付けを使用してください。合成/集約は、特定のデータベース設計コンセプトや(今日は実際には必要ではない)メモリ管理コンセプトで使用できます。

+0

サンプルチャートありがとうございました。 BearとBearHouseが1対1の関係を持っているが、3回は読むことができますか? –

+0

多重度を表す場合は、単一の関連ごとにする必要があります。あるいは、単純なメモや制約を追加することもできます。しかし、これは人間によってのみ解析可能です。コード生成者は明示的な表記法を好む。 –

1

ありがとうくまで構成 'だけベアーズの一つの可能​​な場所となっていません。私は集約も合成も使用しません。

ところで、あなたの図にはいくつかの冗長性があります。関係はベアハウスがベアーズで構成されており、ママ、パパ、ベイビーはその関係に加えて、ベアハウスは特に3つのベアとの関係を持っていると言います。

+0

洞察のおかげで。私はあなたがラインを必要としていなかったことを理解していませんでした。クラスの型がメンバにあると仮定して、私はそのラインを完全に除外しますか? –

+0

はい。しかし、ラインがなければ、家には3匹以上の熊がいることはできません。 –

+0

それはまさに私が描写したいものです、ありがとう! –

関連する問題