通信図とシーケンス図はどちらもUMLの相互作用図であり、相互に変換可能で、類似した責任主体を持ち、メッセージ駆動で順序性を持っています。
しかし、明らかな違いもあります。通信図はオブジェクト間の協力関係を表現し、シーケンス図はオブジェクト間で協力が発生するメッセージの時間順序を表現します。
コラボレーション図は通信図とも呼ばれ、UMLインタラクション図の一種で、ユースケースで記述されたシステムイベントによるオブジェクト間のコラボレーションを示し、オブジェクト間の協力関係に重点を置いています。コラボレーション図は、具体的なインタラクションに参加する際のオブジェクト間のリンク方法やメッセージの伝達に焦点を当てています。
コラボレーション図は主にオブジェクト、メッセージ、リンクの三つの要素で構成され、オブジェクト間にリンクを作成し、そのリンクにメッセージを追加することでオブジェクト間のインタラクションを示します。メッセージ名は、参照オブジェクトの意図を反映しています。
コラボレーション図は、オブジェクトのインタラクションを図またはグリッド形式で記述し、オブジェクトは図の任意の位置に配置できます。コラボレーション図を使用する際には、オブジェクト間にリンクを作成し、その上に情報を添付することでオブジェクト間のインタラクションを示し、メッセージ名は参照オブジェクトとのインタラクションにおける意図を反映しています。
UML 2.0 以降、コラボレーション図は使用されず、すべて通信図に統一され、以下では通信図と呼びます。
複数ユーザーのリアルタイム共同編集と共有リンクによる即時情報伝達をサポート
テキスト入力から自動生成し、スタイルを自動最適化
組み込みテーマと完全カスタマイズ可能なデザイン
アイコン、画像、ラベル、LaTeX数式、コードブロック、リンク、添付ファイルなどをサポート
エクスポート: PNG, VISIO, PDF, SVG | インポート: VISIO, Mermaid
リアルタイムクラウド保存、マルチデバイス同期、バージョン履歴、データ保護
通信図とシーケンス図はどちらもUMLの相互作用図であり、相互に変換可能で、類似した責任主体を持ち、メッセージ駆動で順序性を持っています。
しかし、明らかな違いもあります。通信図はオブジェクト間の協力関係を表現し、シーケンス図はオブジェクト間で協力が発生するメッセージの時間順序を表現します。
通信図は主にオブジェクト、メッセージ、リンクの3つの要素で構成されます。
オブジェクト:コラボレーション図とシーケンス図におけるオブジェクトの概念は同じですが、コラボレーション図ではオブジェクトの生成と削除を表現できないため、図中のオブジェクトの位置に制限はありません。
メッセージ:メッセージは送信者、受信者、メッセージ名の3つの部分で構成され、相互作用中のメッセージ送信の順序を示すために、メッセージに番号を付ける必要があります。
リンク:リンクはオブジェクト間の接続であり、クラス関連のインスタンスでもあります。リンクは実線またはアークを使用して2つのオブジェクトを接続します。
メッセージは一般に同期メッセージ、非同期メッセージ、戻りメッセージ、自己関連メッセージに分類されます。
同期メッセージ:オブジェクトがメッセージを送信した後、受信オブジェクトが応答を完了してメッセージを返すまで他の作業を行わないことを示し、「実線矢印」で表します;
非同期メッセージ:オブジェクトがメッセージを送信した後、受信オブジェクトの戻りメッセージを待たずに他の作業を続行できることを示し、「実線+大なり記号」で表します;
戻りメッセージ:プロセス呼び出しからの戻りを示し、「破線矢印」で表します;
自己関連メッセージ:メソッドの自己呼び出し、またはオブジェクト内の1つのメソッドが別のメソッドを呼び出すことを示し、「半閉じの長方形+下方実線矢印」で表します。
メッセージの番号付けには2つの方法があります。1つは階層なしの番号付け(順序に従って番号付け)で、簡単で直感的です。もう1つはネスト番号付けで、メッセージの包含関係をより容易に表現できます。
1、相互作用のコンテキストを設定する
2、相互作用のシナリオを設定する
3、各オブジェクトに初期特性を設定する
4、オブジェクト間で情報が伝達される可能性があるリンクを記述する
5、メッセージの順序番号を設定する
ユースケースに対して:オブジェクト間のメッセージ伝達状況を記述することで、具体的な使用コンテキストの論理表現を反映する
オブジェクトに対して:オブジェクトおよびその相互作用関係の空間組織構造を示す
クラスに対して:クラス操作の実装を表現する
通信図とシーケンス図はオブジェクトの相互作用を記述する際に、どちらもオブジェクト間のメッセージ伝達に注目しますが、重点は異なり、完全に代替することはできません。
シーケンス図はオブジェクト間のメッセージ伝達の時間順序を強調し、通信図はオブジェクト間の構造とメッセージの伝達方法に重点を置きます。
通信図におけるオブジェクトとシーケンス図におけるオブジェクトの概念は同じで、命名方法は一般的に三つあります:
1)オブジェクト名とクラス名を表示する
2)オブジェクト名のみを表示し、クラス名を表示しない
3)クラス名のみを表示し、オブジェクト名を表示しない
これら三つの命名方法はすべて標準に合致しており、どれが最も読み手に理解しやすいかを選びます。
できません。各メッセージには番号があり、番号は一般に整数で、メッセージの送信順序を示します。
シーケンス図の時間順序は上から下の順序であり、通信図の時間順序はメッセージ番号によって表されます。
チェーンには一般に二つの形式があります。一つは異なる二つのオブジェクトをリンクし、直線で表します。もう一つはオブジェクトが自分自身とリンクし、弧でリンクします。
通信図は矢印でメッセージの方向を示し、誤った矢印は制御フローを逆転させる可能性があるため、矢印の方向を厳密に記載し、メッセージの受信者を指す必要があります。
通信図はオブジェクト間の構造が明確な相互作用のシーンを表現するのに適しており、システム全体のフローを一枚の図に描くのには適していません。オブジェクトと線が混乱して識別しにくくなる可能性があるため、各図は一つのユースケースまたはモジュールの相互作用に焦点を当て、オブジェクトの数は5〜7個に制限します。