私は最近 UML を勉強していて、クラス間に普通の単純な矢印を使って簡単な図を描いていますが、それだけでは十分ではないことはわかっています。図の読者にとって意味のある、一般化、実現化などの矢印は他にもたくさんあります。
各矢印(通常、無地、点線、ダイヤモンド模様、ダイヤモンド)について説明をいただけますか?
コード例がいくつかあれば最高です。
ベストアンサー1
Visual Studio 2015 のドキュメントからの説明を次に示します。
UML クラス図: リファレンス:https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2015/modeling/uml-class-diagrams-reference
5 :関連: 2 つの分類子のメンバー間の関係。
5a :集約: 共有所有権関係を表す関連付け。所有者ロールの集約プロパティはSharedに設定されています。
5b :コンポジション: 全体と部分の関係を表す関連付け。所有者ロールのAggregationプロパティはCompositeに設定されています。
9 :一般化: 特定の分類子は、一般分類子から定義の一部を継承します。一般分類子は、コネクタの矢印の端にあります。属性、関連付け、および操作は、特定の分類子によって継承されます。継承ツールを使用して、2 つの分類子間の一般化を作成します。
13 :インポート: パッケージ間の関係。1 つのパッケージに別のパッケージのすべての定義が含まれていることを示します。
14 :依存性: 矢印の先の分類子が変更されると、依存する分類子の定義または実装が変更される場合があります。
15 :実現: クラスは、インターフェースによって定義された操作と属性を実装します。継承ツールを使用して、クラスとインターフェース間の実現を作成します。
16 :実現: 同じ関係の別の表現。ロリポップ シンボルのラベルはインターフェイスを識別します。
UML クラス図: ガイドライン:マイクロソフト
協会のプロパティ
集約: これは、コネクタの一方の端にダイヤモンド形として表示されます。これを使用して、集約ロールのインスタンスが他のインスタンスを所有しているか、または他のインスタンスを含んでいることを示すことができます。
ナビゲート可能: 1 つのロールのみに true の場合、ナビゲート可能な方向に矢印が表示されます。これを使用して、ソフトウェア内のリンクとデータベース関係のナビゲート可能性を示すことができます。
一般化: 一般化とは、特殊化型または派生型が一般型または基本型の属性、操作、および関連付けを継承することを意味します。一般型は、関係の矢印の端に表示されます。
実現: 実現とは、クラスがインターフェースによって指定された属性と操作を実装することを意味します。インターフェースはコネクタの矢印の端にあります。
他にご質問があればお知らせください。