UML モデルのコンポジット構造図はパート、ポート、およびコネクターを使用して、構造化分類子の内部構造を描きます。構造化分類子は、分類子の実装を定義し、クラス、コンポーネント、または配置ノードを含みます。コンポジット構造図を使用すると、分類子の内部の詳細を示し、収容分類子の振る舞いを実行するために協働するオブジェクトおよびロールを記述することができます。
コンポジット構造図はクラス図に似ていますが、クラス全体ではなく、個々のパートを示します。分類子の内部構造を定義する前に、その構造格納機構を示すか、またはコンポジット構造図を開く必要があります。その後、収容分類子が所有するインスタンスを表すパートをモデル化することができます。コネクターを追加して、複数のパートを関連関係または依存関係でリンクすることができます。
コンポジット構造図では、ポートは分類子とその環境、または分類子とその内部パートの間の相互作用ポイントを定義します。ポートを使用すると、分類子が環境に提供し、その環境から必要とするサービスを指定することができます。
コンポジット構造図でコラボレーションおよびコラボレーション・オカレンスをモデル化することもできます。コラボレーションは、分類子の特定の振る舞いを定義するロールおよび属性を記述します。コラボレーション・オカレンスは、分類子のプロパティー間の関係を説明するために、コラボレーションのある特定の使用を表します。コラボレーション・オカレンスのパートのロールを特定するために、 コラボレーション・オカレンスをコラボレーションに結合し、コラボレーション・オカレンスをコンポジット構造図に追加します。
次の図が示すとおり、コンポジット構造図は、収容分類子の名前を持つフレームとしてダイアグラム・エディターに表示されます。分類子のコンポジット・パートおよびそのコミュニケーションの関連付けは、ダイアグラム・フレームに表示されます。
図の例は、2 つのクラス (Car および Wheel) を含むモデルを示しています。コンポジット構造図は、収容分類子を示します。ダイアグラム・フレームは、収容分類子の 4 つの内部コンポジット・パートを示し、これは車の 4 つのホイール (Wheel のタイプ) を表します。コミュニケーション・リンクは、frontaxle および rearaxle というコネクターで前輪と後輪を接続します。
Car 分類子からコンポジット構造図を作成すると、Wheel クラスの 4 つのインスタンスが作成されます。これらのパートは、Car インスタンス内でコンポジションによって保持され、前輪と後輪はコネクターによってリンクされます。
以下のトピックでは、コンポジット構造図でのモデル要素ついて説明します。