- 目次 -
Part 1: コミュニケーション図の基本
1.1 コミュニケーション図とは
UMLのコミュニケーション図は、システムの構成要素をオブジェクト間のインタラクション(相互的なやり取り)や交換されるメッセージに着目して視覚的に表した図です。メッセージプロセスのシーケンスも表しますが、インタラクション図とはまったく違います。
コミュニケーション図は、オブジェクト図を拡張したもので、オブジェクトを基にメッセージのやり取りを表します。つまり、コミュニケーション図は、オブジェクト間の関連を表し、またオブジェクト同士がその関連の中でやり取りするメッセージを表します。
コミュニケーション図とシーケンス図はまったく似ていませんが、共通する項目がいくつかあります。コミュニケーション図とシーケンス図は基本的な一連の情報を表します。ただし、どちらかの図のスタイルがもう片方より、より良く表したり、強調したりすることもあります。
コミュニケーション図では、システムのオブジェクトや構成要素の配置形式が自由です。これは、クラスとオブジェクトがクラス図やオブジェクト図での配置に非常によく似ているためです。システムのオブジェクトやコンポーネント(構成要素)間のやり取りが時系列的な順序で表されます。つまり、インタラクションの回数が最も多いオブジェクト同士と、それとは別のものを整理して配置することができるのです。このように、コミュニケーション図では、互いに交わすコミュニケーションが最も多いオブジェクト同士に着目します。
1.2 コミュニケーション図の目的と利点
コミュニケーション図はスペースを有効に使うので、ほかの図と比較しても多大な利点があります。また、最もコミュニケーションのインスタンスが行き交い、数が集中するオブジェクトに着目するので、利用性に非常に優れています。縦横の方向で要素を簡単に配置したり、削除したりすることもできます。さらに、変更が比較的簡単で、頻繁に必要となるので、アジャイル(Agile)技術において非常に役立ちます。
コミュニケーション図は、さまざまな目的で利用されます。以下に、その利用例を挙げています。
• コミュニケーション図は、ユースケースやオペレーションの機能を遂行するために必要な詳細をさらに具体化するために、オブジェクトやロール間のメッセージのやり取りをモデル化する際に使います。
• コミュニケーション図で、システムの構造デザインにあるコミュニケーションの仕組みも表します。
• コミュニケーション図は、オブジェクトやクラス、その属性、働きを確認する際に役立つため、UMLのモデル化でも使います。例えば、メッセージやプロセスのパラメータに関与する属性であれば、メッセージを渡します。
• コミュニケーション図で、別のオブジェクトやインタラクションとの共同に関わるユースケースやオペレーションでの代替手順や方針についても確認できます。
Part 2: コミュニケーション図の構成要素
2.1 オブジェクト
オブジェクトは、コミュニケーションプロセスにおける役割に応じて異なる形をとります。例えば、オブジェクトが送信者または受信者のいずれにもなります。サプライヤ(供給)オブジェクトは、呼び出されるメソッドを提供するので、メッセージを受け取ります。クライアントオブジェクトは、メソッドをサプライヤオブジェクトに要求するので、メッセージを送ります
2.2 リンク
リンクは、直線で2つのオブジェクトを繋ぎ、そのオブジェクト間の関係性を示します。リンクは、2つのオブジェクトが互いにメッセージを送れることを表します。リンクは、シーケンス図とコミュニケーション図を見分ける要素です。リンクは、オブジェクト間の関連性を提供します。オブジェクトがメッセージを自らに宛てて送る場合は、ループのアイコンで表します。
2.3 メッセージ
コミュニケーション図におけるメッセージは、クライアント(Client)オブジェクトからサプライヤ(Supplier)オブジェクトへ矢印で表します。メッセージは、クライアントオブジェクトがサプライヤオブジェクトに働きを開始するよう要求します。メッセージについて、以下に説明します。
1. メッセージ(Message)アイコンは、関連付けられている1つまたは複数のメッセージがあることを示します。
2. シーケンス番号があるメッセージ文章。シーケンス番号は、コミュニケーションの時系列を表します。
メッセージには、複数の種類があります。
• 同期メッセージ
同期メッセージでは、送信者がメッセージを送信し、継続のための応答を待たなければなりません。このメッセージは、先を塗りつぶした直線の矢印記号で表します。
• 非同期メッセージ
非同期メッセージでは、送信者が応答を待つ必要はありません。非同期メッセージは、先が尖った形(カラスの足跡のような先端)をした直線の矢印で表します。
• メッセージのシーケンス
一般的に、メッセージのシーケンスは、メッセージに付けられた番号で表します。番号は、メッセージが読まれる時系列上の順を表します。
Part 3: EdrawMaxでコミュニケーション図を作成する手順
最高峰の作図ソフトウェア、EdrawMaxを使ってコミュニケーション図を作成する手順を以下に示します。EdrawMaxは、プロフェッショナルな品質のUML図を、時間をかけずにすぐに作ることができるすばらしいツールです。
1. 「新規作成」>「ソフトウェア開発」>「UMLモデリング」タイルを順にクリックします。
2. 下部のパネルにあるコミュニケーション図のテンプレートをクリックします。必要に応じて、このテンプレートに変更を加えます。最も簡単にコミュニケーション図を作成できる方法です。
まったく新しくコミュニケーション図を作成したい場合は、以下の操作を行ってください。
手順1:EdrawMaxプログラムを起動します。「新規作成」>「ソフトウェア開発」>「UMLモデリング」タイルを順にクリックします。
手順2:ここで、下部のパネルにある[+]記号をクリックします。画面にキャンバスが表示されます。左側のパネルで、UML図の記号を検索することができます。
手順3:キャンバス上に必要な記号をドラッグし、コミュニケーション図を作成します。必要な変更を加えたら、保存してさまざまなフォーマットで作成した図をエクスポートすることができます。
Part 4: コミュニケーション図の作成におけるヒント
コミュニケーション図の作成では、洗練された手順、機能、働きを論理的に表すことになります。以下に、より機能的なコミュニケーション図を作成するための一般的なヒントを挙げています。
1. 図に盛り込みたい必要な動きを確認します。ユースケースの具体的なオペレーションを計画し、理解することが大事です。
2. オブジェクトやプロセスのその他のコンポーネント(構成要素)などのアーティファクト間に発生するコマンドの送受信が、どのように行われるかを慎重に特定します。
3. また、プロセスのコンポーネント間で特定のインタラクションの経過/結果を視覚的に図に表します。
4. 発生し得る例外的な状況についても留意し、考慮します。
上図:EdrawMaxで作成したコミュニケーション図
これは、発注のユースケースを表しているコミュニケーション図です。まず、エンドユーザーがログインプロセスとやり取りし、ユーザーはアクセスを許された後、商品検索、カート、発注のプロセスを行っていきます。次にシステムが支払いプロセスと在庫とやり取りを行います。
Part 5: まとめ
EdrawMaxはUML図を作成するためのオールインワンの作図成ツールであり、UMLコミュニケーション図やその他のタイプのダイアグラムを簡単に作成できます。また、複数の形式でエクスポートし、他の人と共有することもできます。 ぜひEdrawMaxをダンロードして、UMLコミュニケーション図を作成してみてください!