UML モデリング: コラボレーション図の作成
最終更新日: 2007 年 4 月 3 日
このチュートリアルは、NetBeans[tm] 5.5 統合開発環境 (IDE) および NetBeans 5.5, UML モデリングモジュール用です。
このチュートリアルでは、IDE の UML モデリング機能を使用して、UML コラボレーション図を作成する方法を学びます。コラボレーション図とは、メッセージの送受信を行うオブジェクトの構造的構成を表す相互作用図です。この図は、インスタンスを中心とした相互作用の構成と、インスタンス間のリンクを示します。
NetBeans IDE の使用方法の詳細については、NetBeans の Web サイトのドキュメントページを参照してください。
前提条件
このチュートリアルの手順を実行するには、関連するチュートリアル「UML モデリング: クラス図の作成」を終了している必要があります。このチュートリアルでは、「UML モデリング: クラス図の作成」で作成したクラス図を使用します。
このチュートリアルを使用するには、IDE がシステムにインストールされている必要があります。また、IDE の基本要素に関する知識が必要です。Java プログラミング言語および UML モデリングの基礎知識も必要です。IDE の基礎については、オンラインヘルプで IDE の基礎に関する項目を参照してください。公式の UML リソースページ (http://www.uml.org/) で、UML モデリング手法と理論に関する優れたリソースを得ることができます。
システム要件
このチュートリアルは、ご使用のシステムが NetBeans IDE 5.5, UML モデリングモジュール リリースノートに明記されている要件を満たしていることを前提としています。
チュートリアルに必要なソフトウェア
開始する前に、ご使用のコンピュータに次のソフトウェアをインストールしてください。
目次
ページの先頭へ
コラボレーション図の使用
コラボレーション図では、相互作用のシーケンスではなく、コンポーネントと相互作用の空間的構成を表現できます。この図は、オブジェクトを中心とした相互作用の構成と、オブジェクト間のリンクを示します。シーケンス図とは異なり、オブジェクト間の関係を示します。コラボレーション図では、時間が別の次元として示されないので、メッセージの順序と並行スレッドは、シーケンス番号によって判別されます。コラボレーション図は、メッセージの移動を示す番号付きの矢印によって特定のシナリオを表現するという点で、シンボル図とシーケンス図を組み合わせた図といえます。
コラボレーション図は次の目的で使用できます。
- オブジェクト間でのメッセージの移動を描画することによって、特定のシナリオを表現する
- オブジェクト間の相互作用のシーケンスではなく、各オブジェクトとその相互作用の空間的構成を示す
ページの先頭へ
コラボレーション図の作成
このチュートリアルでは、チュートリアル「UML モデリング: クラス図の作成」で作成したクラス図を使用します。この節の手順を実行する前に、このクラス図のチュートリアルを終了する必要があります。
この節では、次の手順を実行します。
ページの先頭へ
コラボレーション図を生成する
- IDE を起動します。
- 「プロジェクト」ウィンドウで、「UMLTutorialProject」>「モデル」ノードを展開します。
- 次のクラスノードを選択します。
注: 複数のクラスを選択するには、Ctrl キーを押しながら各クラスノードをクリックします。
- 最後に選択したクラスを右クリックし、ポップアップメニューから「選択した要素から図を作成」を選択します。
「新規」ウィザードの「図を新規作成」ページが表示されます。
- 「図の種類」リストから「コラボレーション図」を選択します。
- 「図名」フィールドに「CollaborationDiagram」と入力します。
- 「名前空間」フィールドのデフォルト設定は変更しないで、「完了」をクリックします。
IDE では次のことが行われます。
- 「プロジェクト」ウィンドウで「モデル」ノードの下に「CollaborationDiagram」ノードが作成されます。
- 図エディタに新しい図が表示されます (生存線要素として描画された 3 つのクラスが含まれます)。
- モデリングパレットが開きます。
ページの先頭へ
生成した図を再構成する
- 要素をクリックしてドラッグし、次の図に示すように図のレイアウトを変更します。

- 「プロジェクト」ウィンドウで、「User」クラスノードを選択します。
- 選択したクラスを図エディタ上にドラッグし、次の図に示すように ATM 生存線要素の上に配置します。

ページの先頭へ
コネクタリンクの追加
コラボレーション図の要素同士は、コネクタリンクを使用して接続できます。各リンクは識別し、メッセージフローを追加できます。
- モデリングパレットの基本区画で、「コネクタ (Connector)」アイコン
を選択します。
- User 生存線要素をクリックし、次に ATM をクリックします。
2 つの要素の間にコネクタリンクが描画されます。
- 同じ手順で、次のリンクを描画します。
- ATM から Consortium
- Consortium から Branch
- ATM から Branch
注: ATM から Branch へのリンクを作成するときは、ATM 生存線からまっすぐ右にリンクを描画し、Branch 生存線の上部をクリックします。その点を頂点として、Branch 生存線に向かって下にリンクを描画します。
図は次のようになります。

- 図エディタ内の任意の場所を右クリックして「コネクタ (Connector)」アイコンを選択解除します。
ページの先頭へ
メッセージ番号の表示
コラボレーション図では、番号付きのメッセージを使用して特定のシナリオを表現します。UML モデリングのデフォルト設定では、これらの番号は表示されません。メッセージ番号を表示するには、次の手順に従います。
- 「CollaborationDiagram」図エディタの背景を右クリックします。
- ポップアップメニューから「メッセージ番号を表示」を選択します。
操作フロー (次の節で説明) を挿入すると、メッセージ番号が表示されます。
注: 整数の番号は、次に高いレベルのプロシージャ呼び出し内でのメッセージの順序を表します。番号が 1 つだけ異なるメッセージ同士は、そのネストレベルで連続します。たとえば、メッセージ 3.1.4 は、活性化 3.1 内でメッセージ 3.1.3 に続きます。
ページの先頭へ
操作フローの表示
操作フローはコラボレーション図で、リンクに平行するラベル付きの矢印として表示されます。このリンクは、ターゲット要素へのメッセージの送信または実装のために使用します。
- 図エディタで、User と ATM の間のコネクタリンクを選択します。
- コネクタリンクの ATM 生存線に最も近い部分を右クリックします。
- ポップアップメニューから「操作」>「public float getCashOnHand」を選択します。
操作フローが図に配置され、「1」の番号が付けられます。
注: 「ウィンドウに合わせる」ボタン
をクリックすると、図全体が図エディタに表示されます。
- ATM と Consortium の間のコネクタリンクを選択し、Consortium 要素に最も近い部分を右クリックします。
- ポップアップメニューから「操作」>「public void validateAccountInfo」を選択します。
選択した操作がリンクに配置され、「1.1」の番号が付けられます。
注: 操作フローは、必要に応じて選択して移動できます。
ページの先頭へ
クラスへの操作の追加
この手順では、コネクタリンクに新しい操作を追加します。この操作は、ClassDiagram 図の Branch クラスと Java ソースコードにも追加されます。
- Consortium と Branch の間のコネクタリンクを選択し、Branch 生存線要素に最も近い部分を右クリックします。
- ポップアップメニューから「操作」>「操作を追加」を選択します。
「Unnamed」と強調表示されたラベルが図に表示されます。
- 「verifyCardWithBank」と入力します。
- 右矢印を使用して、カーソルを操作パラメータフィールドに移動します。
- 「int stringCardStrip」と入力し、Enter キーを押します。
リンクに「1.1.1:public void verifyCardWithBank(int stringCardSTrip)」というラベルが付けられ、ClassDiagram 図の Branch クラス内に操作が表示されます。
- ATM と Branch の間のコネクタリンクを選択し、Branch 生存線に最も近い部分を右クリックします。
- ポップアップメニューから「操作」>「public char getConnected」を選択します。
リンクに「1.2:public char getConnected()」というラベルが付けられます。
完成した図は次のようになります。

ページの先頭へ
図の保存
コラボレーション図を完成したら、保存します。
- 図エディタで、「CollaborationDiagram」タブを右クリックします。
- ポップアップメニューから「ドキュメントを保存」を選択します。
メニューが閉じて、図が保存されます。
注: IDE を終了するときは、図を保存するかどうかの確認が求められます。
ページの先頭へ
まとめ
このチュートリアルでは、既存のクラス図を使用してコラボレーション図を作成する方法を学びました。具体的には、次の作業を実行する方法を学びました。
- コラボレーション図を生成する
- 図にコネクタリンクを追加する
- 図にメッセージ番号を表示する
- 操作フローを表示してラベルを付ける
- 図中の既存のリンクに操作を追加する
- 図を保存する
作成したコラボレーション図から、スコープ指定されたシーケンス図を作成できます。作成方法については、チュートリアル「UML モデリング: シーケンス図の作成」を参照してください。
ページの先頭へ