UML 図のコラボレーションは、ロールおよび属性が分類子の内部構造を定義するためにコラボレーションする構造化分類子のタイプです。コラボレーションの特定のゴールを達成するために必要なロールおよび関連付けのみを定義する場合に、コラボレーションを使用します。例えば、コラボレーションのゴールを分類子のロールまたはコンポーネントの定義とすることができます。 1 次ロールを分離することによって、コラボレーションはその構造を単純化し、モデルの振る舞いを明らかにします。
関係しているインスタンスの特定のクラスまたはアイデンティティーを表示せず、ロールおよびコネクターのみを表示するため、 コラボレーションを再利用し、コラボレーションするオブジェクトのアーキテクチャー・パターンを図にし、テンプレートのように、共通動作をモデル化することができます。パターンの特定のオカレンスを示す場合、コラボレーション・オカレンスを使用します。
コラボレーションにはモデル化されているシステムの異なる部分からの分類子を含めることができ、単一分類子は異なるロールを実行し、複数のコラボレーションに参加することができます。つまり、コラボレーションのロールは、分類子を参照または入力しますが、コラボレーションは参照された分類子を物理的に所有したり、含んだりしません。
次の図に示すように、コラボレーションは 2 つの区画を持つ破線の楕円として示されます。
上部の区画は、コラボレーションの固有の名前を指定します。通常、名前はコラボレーションが提供するパターンまたはメカニズムを示します。上の例では、コラボレーションは車のコンポーネントを定義します。コラボレーションの名前は Car です。構造格納機構は、ロールのセットを使用することによって、コラボレーションの内部構造を示します。この例では、Door および Frame のロールがコラボレーション Car を定義するためにコラボレーションします。ロールは、ロールの名前、コロン、指定される場合は参照される分類子の名前を含む長方形として描かれます。実線は、コラボレーションの Door と Frame のロールを関連付けます。