はじめに
通信図は、UML 1.xではコラボレーション図とも呼ばれるもので、オブジェクト間の関係性およびそれらが交換するメッセージに焦点を当てる相互作用図の一種です。シーケンス図と比較して、相互作用の視点をより柔軟に提供するため、システム内の異なる相互作用間の制御の流れを理解するのに特に役立ちます。本記事では、通信図の主要な概念に焦点を当て、Model-View-Controller(MVC)パターンをどのようにモデリングするかを詳しく解説し、通信図の例の詳細な解釈を提供します。
通信図の主要な概念
オブジェクトとリンク
- オブジェクト:長方形で表され、通信図内のオブジェクトはクラスまたはインターフェースのインスタンスです。これらは相互作用に参加する主要なエンティティです。
- リンク:オブジェクトをつなぐ線で、それらの間の関連やその他の関係を表します。リンクは単純な関連、集約、または合成のいずれかです。
メッセージ
- メッセージ:オブジェクト間の矢印で、それらの間の通信を表します。メッセージは同期的(実線矢印)または非同期的(破線矢印)のいずれかです。
- メッセージの種類:
- 同期メッセージ:呼び出し元が呼び出し先が処理を完了するまで待つメソッド呼び出しを表します。
- 非同期メッセージ:呼び出し元が呼び出し先の処理完了を待たない信号やイベントを表します。
順序番号
- 順序番号:メッセージの隣に記載された数字で、メッセージが送信される順序を示します。これらの数字は相互作用の順序を理解するのに役立ちます。
MVCパターンのモデリング
Model-View-Controller(MVC)パターンは、ユーザーインターフェースの開発に用いられる設計パターンで、関連するプログラム論理を三つの相互接続された要素に分割します。この分離により、責任を分担することで、複雑なアプリケーションを管理しやすくなります:
- モデル:アプリケーションのデータ、ロジック、ルールを管理します。
- ビュー:テキストボックス、ドロップダウンリストなど、UI要素を表します。
- コントローラ:モデルとビューの間の仲介者として機能し、すべてのビジネスロジックと受信したリクエストを処理し、モデルを使ってデータを操作し、ビューと連携して出力を表示します。
通信図の解釈

以下の通信図を分析しましょう。これは、点検のスケジューリングのためのMVCパターンをモデル化しています:
アクターとオブジェクト
- 点検担当者:点検のスケジューリングプロセスを開始するユーザー。
- 点検アシスタント:点検の詳細を確認する別のユーザー。
- 点検フォーム:ユーザーが点検の詳細を入力できるUIコンポーネント。
- 点検リスト:点検のリストを表示するUIコンポーネント。
- 安全点検コントローラ:点検プロセスを管理するコントローラ。
- 安全点検:点検データを表すモデル。
リンクとメッセージ
- 点検担当者が点検を選択する(メッセージ1):
- 点検担当者が
点検リスト. - この操作により、
点検フォーム(メッセージ2)。
- 点検担当者が
- 点検フォームが点検を読み込む(メッセージ3および8):
-
点検フォームは安全点検コントローラに選択された点検を読み込むようにメッセージを送信する(メッセージ3)。 - The
SafetyInspectionControllerは、検査の詳細をSafetyInspectionモデルから取得する(メッセージ4)。 - The
SafetyInspectionControllerは、検査の詳細をInspectionFormに送信する(メッセージ8)。
-
- 検査担当者は検査日を指定する(メッセージ5、6、7):
- 検査が有効期限内であれば、検査担当者は検査日を指定する(メッセージ5)。
- 検査が有効期限切れであれば、検査担当者は有効期限切れの検査日を指定する(メッセージ6)。
- 検査担当者は
InspectionFormの保存ボタンをクリックする(メッセージ7)。
- InspectionFormは検査を保存する(メッセージ9から14):
- The
InspectionFormは、SafetyInspectionControllerに検査の詳細を保存するようメッセージを送信する(メッセージ9)。 - The
SafetyInspectionControllerは、SafetyInspectionモデルを新しい詳細で更新する(メッセージ10から14)。
- The
- 検査アシスタントは検査の詳細を確認する(メッセージ15から18):
- The
検査補佐官検査内容を確認する(メッセージ15)。 - The
検査補佐官検査リストから検査を選択する(検査リスト)(メッセージ16)。 - The
検査補佐官検査フォームの保存ボタンをクリックする(検査フォーム)(メッセージ17)。 - The
検査フォーム検査データを保存するため、安全検査コントローラにメッセージを送信する(安全検査コントローラ)(メッセージ18)。 - The
安全検査コントローラ検査データを安全検査モデルから取得する(メッセージ19)。安全検査モデル(メッセージ19)。 - The
安全検査コントローラ検査データを検査フォームに返送する(メッセージ20)。検査フォーム(メッセージ20)。 - The
検査補佐更新された点検詳細を確認します(メッセージ21)。
- The
順序番号
- 順序番号メッセージの隣に記載された数字は、メッセージが送信される順序を示しています。たとえば、メッセージ1は最初に送信されるメッセージであり、メッセージ21は最後に送信されるメッセージです。
通信図の重要性
通信図は、ソフトウェア開発プロセスにおいて以下の理由から非常に役立ちます:
- システム設計オブジェクト間の相互作用の順序を示すことで、システムの動的挙動を可視化するのに役立ちます。
- コミュニケーションステークホルダーが技術的な詳細に立ち入ることなく、システムの挙動を理解するための視覚的補助として機能します。
- 要件分析オブジェクト間の相互作用を図示することで、システムの要件を特定し、文書化するのを支援します。
- テストシステムが指定された要件を満たしていることを確認するためのテストケース作成の基礎を提供します。
結論
通信図は、システムの動的挙動を可視化するためのソフトウェア工学における強力なツールです。オブジェクト間の相互作用の順序を示すことで、より良いコミュニケーション、要件分析、システム設計を促進します。MVCパターンの例は、通信図がシステム内の重要な相互作用を効果的に捉えることができる様子を示しており、システムの挙動に対する包括的な理解を保証します。初心者であろうと経験豊富な開発者であろうと、通信図は複雑なシステムを効果的に設計および文書化するために必要なツールと洞察を提供します。
参考文献
Visual Paradigm
- 通信図とは何か?
- 通信図とは何か? – Visual Paradigm 22
- この記事では、UMLにおける通信図の基礎について、その構造や構成要素を含めて説明しています。また、これらの図を作成するためのVisual Paradigmの使い方についても解説しています。
- 通信図の描き方
- 通信図の描き方 – Visual Paradigm 23
- Visual Paradigmを使用して通信図を描くためのステップバイステップガイドであり、結合断片や自己メッセージの使用に関するヒントも含まれています。
- 通信図 – UML 2 図
- 通信図 – UML 2 図 – Visual Paradigm 24
- この記事では、通信図が使用ケースの動的動作をモデル化する方法について説明し、時間的な順序ではなく、オブジェクト間の協働に焦点を当てています。
Cybermedian
- 通信図 – UML 2 チュートリアル
- 通信図 – UML 2 チュートリアル – Sparx Systems 25
- このチュートリアルでは、通信図の概要、その構成要素、およびシステムの動的動作をモデル化する方法について説明しています。
- UML 図:包括的なガイド
- UML 図:包括的なガイド – Cybermedian 26
- 通信図を含むさまざまな種類のUML図についての包括的なガイドであり、ソフトウェア工学におけるその重要性を説明しています。
- 通信図 – 統一モデリング言語 (UML)
- 通信図 – 統一モデリング言語 (UML) – GeeksforGeeks 27
- この記事では、UML通信図の詳細な概要、その主要な概念、およびシステム内のオブジェクトやコンポーネント間の相互作用を可視化する方法について説明しています。
ArchiMetric
- シーケンス図とは何か – ArchiMetric
- シーケンス図とは何か – ArchiMetric 28
- この記事では、シーケンス図とは何か、そしてVisual Paradigmを用いてシステムの動的動作をモデル化する方法について説明しています。
- Visual ParadigmにおけるUML図の紹介
- Visual ParadigmにおけるUML図の紹介 – ArchiMetric 29
- Visual Paradigmがサポートするさまざまな種類のUML図、通信図を含むものと、システムの相互作用をモデル化する際のその役割についての紹介。
- UMLの使い方:14種類の図の概要とアジャイル環境におけるその関連性
- UMLの使い方:14種類の図の概要とアジャイル環境におけるその関連性 – ArchiMetric 30
- この概要では、通信図を含むさまざまな種類のUML図と、アジャイルソフトウェア開発環境におけるその関連性について説明しています。
これらの参考文献は、通信図とUMLについての包括的な理解を提供するとともに、これらの図を作成するためのVisual Paradigmの実用的な使い方についてのガイドも提供しています。












