コラボレーション図(UML 2.xでは通信図と呼ばれる)は、オブジェクトが特定のユースケースまたはユースケースの一部の動作を実行するためにどのように対話するかを示すために使用されます。シーケンス図とともに、設計者はコラボレーションを使用して、ユースケースの特定のイベントフローを実行するオブジェクトの役割を定義および明確化します。これらは、クラスの責任とインタフェースを決定するために使用される主な情報源です。
より早く、より簡単にUMLを学ぶ
あなたはより早く、より簡単にそしてより早くUMLを学ぶための無料のUMLツールを探していますか?Visual Paradigm Community Editionは、すべてのUML図タイプをサポートするUMLソフトウェアです。それは国際的な賞を受賞したUMLモデラーですが、それでも使いやすく直感的で完全に無料です。
コラボレーションとは
- コラボレーションは、名前付きオブジェクトとアクターをリンクで結び付けたものです。彼らはいくつかのタスクを実行する際に協力します。
- コラボレーションは、特定の一連の目的にとって意味のある一連の参加者と関係を定義します。
- 一緒に働くオブジェクト間のコラボレーションは、オブジェクト指向システムにおいて創発的な望ましい機能を提供する
- 各オブジェクト(責任)は部分的に創発的機能をサポートします
- オブジェクトは一緒に働くことによって(使用可能な)高度な機能を生み出すことができます。
- オブジェクトは、相互に作用するために互いに通信する(メッセージを渡す)ことによってコラボレーションします。
なぜコラボレーション図?
シーケンス図とは異なり、コラボレーション図はオブジェクト間の関係を示します。シーケンス図とコラボレーション図は同様の情報を表しますが、表示方法は異なります。
コラボレーション図の形式のため、それらは分析活動により適している傾向があります(活動:ユースケース分析を参照)。具体的には、それらは、少数のオブジェクトの単純な対話を描くのにより適している傾向があります。ただし、オブジェクトとメッセージの数が増えると、ダイアグラムが読みにくくなります。さらに、タイミング図、決定ポイント、またはメモに簡単に追加できるその他の非構造化情報などの追加の説明情報をシーケンス図に表示することは困難です。そのため、コラボレーション図を作成したいユースケースは次のとおりです。
- ユースケースと操作の機能を提供するオブジェクト間またはロール間のコラボレーションをモデル化する
- システムのアーキテクチャ設計内のモデルメカニズム
- コラボレーション内のオブジェクトとロールの間でやり取りされるメッセージを示すインタラクションを取り込む
- ユースケース内の代替シナリオや、さまざまなオブジェクトのコラボレーションや相互作用を伴う操作をモデル化する
- ユースケースに参加するオブジェクト(つまりクラス)の識別をサポートする
- コラボレーション図の各メッセージにはシーケンス番号があります。
- 最上位メッセージには1の番号が付けられます。同じ通話中に送信されたメッセージには、同じ10進数の接頭辞が付けられますが、発生時期に応じて1、2などの接尾辞が付きます。
コラボレーション図の表記
オブジェクト
オブジェクトは、オブジェクトの名前とそのクラスに下線を引いてコロンで区切ったオブジェクトシンボルで表されます。
オブジェクト名:クラス名
コラボレーション図でオブジェクトを使用するには、次のようにします。
- コラボレーション内の各オブジェクトには名前が付けられ、そのクラスが指定されています
- すべてのクラスが出現する必要はありません
- クラスには複数のオブジェクトがあるかもしれません
- オブジェクトのクラスは指定できません。通常、最初にオブジェクトを使用してコラボレーション図を作成し、後でそれらのクラスを指定します。
- オブジェクトに名前を付けることはできませんが、同じクラスの異なるオブジェクトを区別したい場合は名前を付ける必要があります。
俳優
通常、アクターインスタンスはインタラクションの呼び出し元としてコラボレーション図内に発生します。同じダイアグラムに複数のアクターインスタンスがある場合は、それらをダイアグラムの周辺に配置してみてください。
- 各アクターは名前が付けられ、役割を持ちます
- 1人のアクターがユースケースの開始者になります
リンク集
リンクはオブジェクトとアクターを接続し、関連付けのインスタンスであり、各リンクはクラス図の関連付けに対応します
リンクは次のように定義されています。
- リンクは、メッセージを送信できるオブジェクト間の関係です。コラボレーション図では、リンクは2つのオブジェクト間の実線として表示されます。
- オブジェクトは、これらのオブジェクトへのリンクを介して他のオブジェクトと対話したり、他のオブジェクトに移動したりします。
- リンクは、関連のインスタンスにすることも、匿名にすることもできます。つまり、その関連は指定されていません。
- メッセージフローはリンクに添付されています。メッセージを参照してください。
メッセージ
メッセージは、活動が続くことを期待して情報を伝達するオブジェクト間の通信です。コラボレーション図では、メッセージはリンクの近くに配置されたラベル付きの矢印として表示されます。
- メッセージは送信者から受信者に向けられます
- 受信者はメッセージを理解する必要があります
- 関連はその方向にナビゲート可能でなければなりません
コラボレーション図を作成するためのステップ
- 実現と実装が指定されている振る舞いを識別する
- コラボレーションの機能を実行するために必要な構造要素(クラスの役割、オブジェクト、サブシステム)を特定する
- 相互作用のコンテキスト(システム、サブシステム、ユースケース、および操作)を決定します。
- 相互作用のコンテキストを示す図を作成するために、それらの要素間の構造的関係をモデル化する
- 必要となる可能性がある代替シナリオを検討する
- 必要に応じて、インスタンスレベルのコラボレーション図を描きます。
- インスタンス・レベルのシーケンス図の代替シナリオを要約するために、仕様レベルのコラボレーション図を任意で描く
コラボレーション図の例
ロバストネス図形式のコラボレーション図
コラボレーション図には、オブジェクトとアクターのインスタンスを、それらがどのように関連し、それらがどのように相互作用するかを説明するリンクとメッセージと共に含めることができます。預金を受け取る項目 における リサイクル-機械系の下に示す図は、オブジェクトが相互にメッセージを送信することにより通信する方法の面で、参加したオブジェクト内で行われるものを説明しています。ユースケースのイベントフローのバリエーションごとにコラボレーション図を作成できます。
UMLコラボレーション図を今すぐ作ろう
コラボレーションダイアグラムとは何か、コラボレーションダイアグラムを描く方法を学びました。あなた自身のコラボレーション図を描く時が来ました。無料のUMLソフトウェアであるVisual Paradigm Community Editionを入手し、無料のコラボレーション図ツールを使用して独自のコラボレーション図を作成してください。それは使いやすく直感的です。
コメント