UML通信図は、シーケンス図(一種の相互作用図)のように、オブジェクトがどのように相互作用するのかを示します。コミュニケーション図は、オブジェクト図を拡張したもので、オブジェクト間を移動するメッセージとともにオブジェクトを表示します。オブジェクト間の関連付けに加えて、通信図はオブジェクトが互いに送信するメッセージを示します。

UMLダイアグラム階層内の通信ダイアグラム

より早く、より簡単にUMLを学ぶ

あなたはより早く、より簡単にそしてより早くUMLを学ぶための無料のUMLツールを探していますか?Visual Paradigm Community Editionは、すべてのUML図タイプをサポートするUMLソフトウェアです。それは国際的な賞を受賞したUMLモデラーですが、それでも使いやすく直感的で完全に無料です。

コミュニケーション図の目的

  • ユースケースと操作の機能を提供するオブジェクト間またはロール間のメッセージ伝達のモデル化
  • システムのアーキテクチャ設計内のモデルメカニズム
  • コラボレーションシナリオ内のオブジェクトとロール間で渡されたメッセージを示すインタラクションをキャプチャする
  • ユースケース内の代替シナリオや、さまざまなオブジェクトのコラボレーションや相互作用を伴う操作をモデル化する
  • ユースケースに関与するオブジェクト(したがってクラス)、およびそれらの属性(メッセージのパラメーター)および操作(メッセージ)の識別をサポートする

一目でわかるコミュニケーション図

コミュニケーション図の表記法の例では、オブジェクト(ユースケースのアクター)は長方形で表されています。例(一般的な通信図)では、

  • オブジェクトは、Object 1、Object 2、Object …、Object N-1 …、およびObject Nです。
  • オブジェクト間でやり取りされるメッセージは、送信側オブジェクト(アクター)で始まり受信側オブジェクトで終わるラベル付きの矢印で表されます。
  • オブジェクト間で渡されるサンプルメッセージには、1:メッセージ1、2:メッセージ2、3:メッセージ3などのラベルが付けられます。ここで、メッセージ名の数字のプレフィックスはシーケンス内の順序を示します。
  • Object1は最初にObject2にメッセージmessage1を送信し、Object2はObjectN-1にメッセージmessage2を送信します。
  • オブジェクトが自分自身に送信するメッセージはループとして示されます(例:メッセージmessage5)。

基本コミュニケーション図

通信例 - ホテル予約

コミュニケーション図の例:ホテル予約

  • 通信図の各メッセージにはシーケンス番号があります。
  • 最上位メッセージには1の番号が付けられています。
  • 同じ通話中に送信されたメッセージは、同じ10進数の接頭辞を持ちますが、発生する時期に応じて1、2などの接尾辞を付けます。

通信図とシーケンス図

通信図とシーケンス図は似ています。それらは意味的に同等です。つまり、現在は同じ情報であり、通信をシーケンス図に変換することも、その逆も可能です。それらの間の主な違いは、コミュニケーション図が空間に従って要素を配列したことであり、シーケンス図は時間によるものです。

2種類の相互作用図のうち、シーケンス図は通信図よりはるかに多く使用されているようです。では、なぜコミュニケーション図を使用するのでしょうか。まず第一に、それらは特定のタスクを実行するために協調しているオブジェクト間の関係を視覚化するのに非常に役立ちます。これはシーケンス図から判断するのは困難です。さらに、コミュニケーション図は、静的モデル(クラス図など)の精度を判断するのにも役立ちます。

例 - シーケンス図と通信(ライブラリアイテムの期限切れ)

シーケンス図

このシーケンス図をVisual Paradigmで開くと、下図に示す通信図を自動的に生成できます。

シーケンス図から生成された通信図

:2つの図を比較すると、両方の図にオブジェクトとメッセージが含まれています。シーケンス図を見ることでメッセージの時間順を判断するのがはるかに簡単になり、通信図を見ることでオブジェクト間の関係を見るのが簡単になることも明らかになります。

コミュニケーション図の要素

コラボレーションに参加するオブジェクトには、サプライヤとクライアントという2つの種類があります。

  • サプライヤオブジェクトは、呼び出されているメソッドを提供し、したがってメッセージを受信するオブジェクトです。
  • クライアントオブジェクトはサプライヤオブジェクトのメソッドを呼び出すため、メッセージを送信します。

リンク集

  • コミュニケーション図のオブジェクト間に描かれた接続線はリンクです。
  • これらのリンクは、シーケンス図と通信図を区別するものです。それらはあなたがオブジェクト間の関係を見ることを可能にします。
  • 各リンクは、オブジェクト間の関係を表し、オブジェクト同士でメッセージを送信する能力を象徴しています。
  • オブジェクトがそれ自体にメッセージを送信する場合、これらのメッセージを運ぶリンクはループアイコンとして表されます。このループは、UIオブジェクトとTransactionオブジェクトの両方に見られます。

通信図のメッセージは、ClientオブジェクトからSupplierオブジェクトを指す矢印として示されています。通常、メッセージは、サプライヤオブジェクトに対する操作を呼び出すクライアントを表します。それらは、オブジェクトと一緒に次のようにモデル化することができます。

  • メッセージアイコンには、1つ以上のメッセージが関連付けられています。
  • メッセージは、シーケンス番号を先頭に付けたメッセージテキストで構成されています。
  • このシーケンス番号はメッセージの時間順を示します。

たとえば、次の図の通信図では、オブジェクト間のメッセージの順序を決定するためにシーケンス番号をたどることができます。

コミュニケーション図の要素

通信図におけるメッセージの番号付けについて

  • 通信図の最初のメッセージは常に1、2番目のメッセージは2というように続きます。
  • 親のシーケンス番号に小数点と増分桁を追加することで、メッセージが親メッセージの下にネストされていることを示すことができます。

例えば:

上記の例に基づいて、「CalAmtCanBorrow」メッセージは「EnquireBorrower」の下の最初のネストされたメッセージであり、シーケンス番号1.1が与えられています。"EnquireBorrower"の下にある2番目のネストされたメッセージは "DisplayInvalidMsg"なので、シーケンス番号は1.2です。

例題 - シーケンス図からコミュニケーション図へ

シーケンス図から通信図

以下に注意してください

  • 制御の焦点実行オカレンス/アクティベーションとも呼ばれます。ライフライン上の縦長の細い長方形で**、要素が操作を実行している****期間を表します**。
  • 長方形の上部と下部は、それぞれ開始時間と完了時間に揃えられます。
  • 通信図では、制御の焦点は明示的であるため、メッセージのネスト番号付けで表すことができます。

今コミュニケーション図を描こうとする

コミュニケーションダイアグラムとは何か、そしてコミュニケーションダイアグラムを描く方法を学びました。あなた自身のコミュニケーション図を描く時が来ました。無料のUMLソフトウェアであるVisual Paradigm Community Editionを入手して、無料のCommunication Diagramツールで独自のCommunication Diagramを作成してください。それは使いやすく直感的です。

関連リンク

コメント

コメントフォーム
記事の評価
  • リセット
  • リセット