0

何年にもわたるプログラミングの後でUMLを使い始めており、図の記号を適切に使用していることを確認したいと思います。

次の図は、単純なCarクラスの適切な表現のように見えますか?

オリジナルモデル

アップデート:

実際、Makeはモデルについて知っているので、矢印を削除しましたが、MakeとModelは車について知らないので、矢印を追加しました。

改訂モデル

4

1 に答える 1

2

元の図にいくつかの調整を加えます。

作る

  • Makeはメーカーを識別するため、Makeには多くのモデルがあり、他のメーカーがそれらのモデルの所有権を取得できないため、黒いひし形が構成を示しています。
  • 関係は双方向でナビゲート可能であるため、矢印は表示されません
  • MakeからModelに移動できるため、Makeに表示されるモデルのSortedSet(年でソート)があります

モデル

  • モデルは、Makeとの唯一の直接的な関係を保持しています。これにより、関係の有効性が保証され、他のクラスがMakeとの関係を作成できるようにすることで発生する可能性のある誤った接続が回避されます。
  • Modelを使用してMakeに移動できるため、ModelにはMakeへの参照が含まれています。これにより、すべての車がモデル情報に移動し、そこから(そしてそこにのみ)そのメーカーに移動できるようになります。
  • 年には、値が割り当てられると値が変更されないため、不変タイプの整数が選択されました。

車両

  • モデルと車の関係は、車からモデルへとのみナビゲートできます。これは、ビジネスドメインでは、特定のモデル用に製造されただけのすべての車のセットを取得する必要がないためです(これにより、作業が簡単になります)。
  • 各車にはVINが割り当てられ、UUIDのインスタンスとして表示されます-Universally Unique Identifier
  • 車とエンジンの関係は車からエンジンにのみナビゲートできるため、車にはエンジンメンバーがあります。車への参照を受け取るシステムの一部が、車のエンジンに移動したい場合があります。

エンジン

  • エンジンが1台の車で寿命を迎えた後、別の車に移動する可能性がある場合、関係は白いひし形を使用して示され、集約を示します。
  • エンジンには、エンジンのそのインスタンスの特定の識別子である部品番号が割り当てられます。したがって、不変タイプの文字列が表示されます
  • エンジンは、次のタイプとして定義されているマイレージカウンターを維持します。値は可変であり、エンジンの存続期間中に変化するため、intです。

ここに画像の説明を入力してください

これがお役に立てば幸いです。また、モデリングの演習を刺激的なものにするための良いフィードバックが得られることを願っています。ダイアグラムを作成し、関係や詳細について考えるのが楽しいことはわかっています。しばらくこれをしていません-

于 2012-04-27T04:27:12.093 に答える