コラボレーション

UML ダイアグラムにおけるコラボレーションは、 ロールと属性が協力して分類子の内部構造を定義する、 構造化分類子のタイプです。コラボレーションを使用するのは、 コラボレーションの特定の目標を達成するために必要な、 ロールおよび接続のみを定義する場合です。 例えば、コラボレーションの目標を、 分類子のロールまたはコンポーネントを 定義することに設定することができます。 基本ロールを分離することによって、 コラボレーションは構造を単純化し、モデル内の振る舞いを明確化します。

参加インスタンスの特定クラスまたは識別は表示せずに、 ロールと接続だけを表示するため、 コラボレーションを再利用して、テンプレートと同様に、 コラボレーションしているオブジェクトの アーキテクチャー・パターンをダイアグラム化したり、 共通の振る舞いをモデル化したりすることができます。 パターンの特定のオカレンスを表示する場合は、コラボレーション使用を使用します。

コラボレーションによって、 モデル化されるシステムの別のパーツから、 分類子をインクルードすることができます。 また、単一の分類子によって、異なるロールを実行させ、 複数のコラボレーションに参加させることができます。 つまり、コラボレーション内のロールは、 分類子を参照または入力しますが、コラボレーションは 参照される分類子を物理的に所有または含むことはありません。

以下の図にあるように、 コラボレーションは 2 つのコンパートメントを持つ破線の楕円で表示されます。

Car フレームと、Door および Frame のパーツを表す 2 つの接続されたロールとのコラボレーション。

上部のコンパートメントは、コラボレーションの固有名を指定します。 通常、この名前によって、 コラボレーションが提供するパターンまたはメカニズムを識別します。 上記の例では、このコラボレーションが car のコンポーネントを定義しています。 このコラボレーションの名前は Car です。 構造コンパートメントは、ロールのセットを使用して、 コラボレーションの内部構造を表します。 この例では、Door および Frame ロールが協力して、 コラボレーション Car を定義しています。 これらのロールは、 役割の名前、コロン、および参照される分類子の名前 (指定されている場合) を含む、長方形で表されます。 コラボレーション内の Door ロールと Frame ロールが、実線によって接続されています。


フィードバック