システム構成図には用途別に様々な形式があります。目標や行動などのオブジェクトをつなげ、システムの流れを把握する形が基本です。そのオブジェクト間に何が行われているか?より詳細に表現したいと考えたことはないでしょうか。
本記事では、そんなオブジェクト間の動きをわかりやすく視覚化したシステム構成図、コミュニケーション図の意味、構成要素や作成方法について解説します。
複雑な構成をよりわかりやすくして、また共通認識のすれ違いを無くすためにも、ぜひ活用してみてください。
1. コミュニケーション図とは?
コミュニケーション図 (旧: コラボレーション図)とは、形式的にはシーケンス図と共通する点が多く見られます。コミュニケーション図はオブジェクト間の関係性をより重要視した図となります。シーケンス内のメッセージを用いてオブジェクト同士が関連付けられ、どのような接続がされているかを記述するシステム図です。
2. UMLコミュニケーション図
UMLとは「Unified Modeling Language」の略語で、「統一モデリング言語」とも呼ばれています。システムの構造などを設計する際に、システム図を用いることで視覚による解釈が可能となり、よりわかりやすく表現できます。
しかし、図の描き方が人によって異なったり規則性がなければ、見る者によっては逆に混乱してしまう可能性があります。そのため標準規格として作られた図の記法(モデリング言語)があり、その名をUMLと言います。UMLコミュニケーション図では、システム構成に関するオブジェクト間の相互作用やオブジェクト同士で取り交わされる情報を表示します。過去のUMLでは別の表記が用いられ、コラボレーション図と呼ばれていましたが用途は同じです。
コミュニケーション図は相互作用図の一種です。システムの動作や流れ、振る舞いなどを視覚により把握し検討することが可能になります。コミュニケーション図の視覚的な特徴は、システム構成の基本的なアイテムをオブジェクトとして表し、オブジェクト間で受け渡される流れをメッセージで表せることです。 矢印はメッセージの向きを示します。
2.1 コミュニケーション図とシーケンス図の違い
コミュニケーション図とシーケンス図が扱う情報は同じです。しかし、シーケンス図がオブジェクトの流れる時間と順序を重視しているのに対し、コミュニケーション図はアプリケーション内のオブジェクトの交わすメッセージに重点が置かれています。
つまり、コミュニケーション図の方がシステムの全体像を表現することに長けているのです。一方で、システムのタイムラインやスケジュール管理には、シーケンス図が適していると言えるでしょう。
2.2 コミュニケーション図の構成要素
コミュニケーション図を作成する上で、主に必要となる3つの構成要素をご紹介します。
- 1.オブジェクト
オブジェクトは、システム内のプロセスにおける目的や目標、個体名などを示したものです。オブジェクトは様々な役割に応じて、あらゆる形態をとることができます。
何かしらのメソッドを取り扱う場合、クライアント(必要とする側)は、メソッドをサプライヤー(保有する側)に要求するためにメッセージを送ります。一方で、サプライヤー側は必要とされるメソッドを提供するためにクライアントからメッセージを受け取ります。
このようにメソッドを必要とするクライアントと提供するサプライヤー、送信者と受信者という真逆のポジションも同様にオブジェクトとして表示できます。
- 2.リンク
リンクはオブジェクト同士を線でつなぎ、つないだオブジェクト間の関係性を示したものです。リンクは2つのオブジェクトが互いにメッセージを送信可能であることを表し、シーケンス図とコミュニケーション図を判別する要素となります。
オブジェクトがメッセージを自らに送ることも可能で、その場合はループを示すアイコンを使用します。
*ループ例
- 3.メッセージ
コミュニケーション図の最大の特徴とも言えます。コミュニケーション図におけるメッセージは、矢印を用いてクライアントからサプライヤーへ向けて表示します。メッセージには下記のような種類があります。
* 同期メッセージ
同期メッセージは、送信者がメッセージを送信した後、継続のための応答を待つ必要が有ります。同期メッセージは、先を塗りつぶした直線の矢印記号で表します。
* 非同期メッセージ
非同期メッセージは、送信者が応答を待たない一方的なメッセージです。非同期メッセージは、先が分かれた(矢尻のような形をした)直線の矢印で表します。
* 応答メッセージ
応答メッセージは送信されたメッセージに対する返答を表します。応答メッセージは非同期メッセージと同型の先端部を持った点線で表します。
2.3 コミュニケーション図の具体例
それでは実際のコミュニケーション図の例を見てみましょう。下記の図は、顧客が自分の情報をお店やサービスなどに登録する際の流れを表しています。
オブジェクトのみの場合は、顧客→登録画面→顧客管理→データベースなどと表記します。実際の工程「情報登録」などと追記することで、より流れが明確になり、全体を視覚化できます。
3. boardmixでコミュニケーション図を作成する方法
上記で紹介したコミュニケーション図の例を、boardmixという無料ホワイトボードで実際に作成してみましょう。
- 1.登録し新たなホワイトボード作成後、必要なオブジェクトを配置し、ラインで繋げます。
- 2.オブジェクト内に必要な情報を記入します。
情報はシンプルなほうが、情報共有において認識の齟齬を防ぐ事ができるでしょう。
オブジェクト間の行動を矢印とメッセージで表記し、より詳細に表現することでコミュニケーション図が完成します。メッセージはオブジェクトと同様に、長くならないよう簡潔に表記しましょう。
3.1 UMLコミュニケーション図の作成お勧めツール
UMLの作図はエクセルなどでも可能です。しかし初めて作図を行う場合、簡易的なシステム図であっても戸惑うことは多いでしょう。初心者にとっても、こだわりを持った図を作成したい中級者・上級者にとっても、専用ツールの使用が望ましく、また効率的で効果的であることは間違いありません。
利用するツールとしてお勧めなのが、上記でも使用したboardmixです。
3.2 無料オンラインホワイトボードboardmix
boardmixはクラウドを利用し、リアルタイムでの情報共有・共同作業が可能なツールです。多彩なテンプレートがあり、コミュニケーション図のみならず様々な状況に合わせて、効果的なシステム図を作成できます。
リアルタイムで共有が可能なため、オンライン会議などでも大活躍してくれるでしょう。基本無料で使用できるため、「とりあえず挑戦してみたい」という方でも安心して始められます。
まとめ
正確な情報の共有はビジネスに限らず、多くのシチュエーションで必要不可欠となっています。システム図においてもその重要性は変わらず、シンプルであることが理想です。また、同時により適切な表現方法が求められるでしょう。
今回紹介したコミュニケーション図を利用することで、より正確でスピーディーな情報の視覚化と共有が可能となります。シンプルかつわかりやすい構成図作成を目指して、コミュニケーション図を活用してみて下さい。