UML モデリング: アクティビティ図の作成
最終更新日: 2007 年 4 月 3 日
このチュートリアルは、NetBeans[tm] 5.5 統合開発環境 (IDE) および NetBeans 5.5, UML モデリングモジュール用です。
このチュートリアルでは、IDE の UML モデリング機能を使用して、簡単な UML アクティビティ図を作成する方法を学びます。このチュートリアルでは、アクティビティ図を作成する一般的な方法を手順で示し、UML モデリングモジュールのいくつかの機能を紹介します。このチュートリアルでは、UML の概念や Java プログラミング言語については説明しません。
NetBeans IDE の使用方法の詳細については、NetBeans の Web サイトのドキュメントページを参照してください。
前提条件
このチュートリアルを使用するには、IDE がシステムにインストールされている必要があります。また、IDE の基本要素に関する知識が必要です。Java プログラミング言語および UML モデリングの基礎知識も必要です。IDE の基礎については、オンラインヘルプで IDE の基礎に関する項目を参照してください。公式の UML リソースページ (http://www.uml.org/) で、UML モデリング手法と理論に関する優れたリソースを得ることができます。
システム要件
このチュートリアルは、ご使用のシステムが NetBeans IDE 5.5, UML モデリングモジュール リリースノートに明記されている要件を満たしていることを前提としています。
チュートリアルに必要なソフトウェア
開始する前に、ご使用のコンピュータに次のソフトウェアをインストールしてください。
目次
ページの先頭へ
アクティビティ図の概要
アクティビティ図は、システムのアクティビティとデータの流れ、またはアクティビティ間の決定を視覚的に表現した図です。図エディタでアクティビティ図のタブをクリックすると、IDE モデリングパレットに特定のアイコンが表示されます。アクティビティ図によって、ビジネスプロセスの全体像を把握できます。
アクティビティ図を使用して、次の作業を行うことができます。
- アクティビティ、データの流れ、アクティビティ間の決定などを記述する
- ビジネスプロセスの全体像を把握する
- ユースケース内で発生するアクティビティを記述する
- 異なるシンボルを使用して多様なアクティビティを示す
- 並列スレッドを示す
アクティビティ図の作成時に発生する作業を、次に示します。この表と、そのあとに示す手順は、アクティビティ図を作成する一般的な方法です。
- アクティビティ図の設定
- UML プロジェクトを作成する
- 空のスコープ指定アクティビティ図を含むパッケージを作成する
- 区分の配置
- 動作状態の特定
- 要素を追加する
- アクティビティグループを追加する
- 呼び出しを追加する
- 初期ノード要素を追加する
- 水平の分岐要素を追加する
- アクティビティ終了ノードと決定ノードを追加する
- エッジと依存の配置
- アクティビティエッジを追加する
- 依存を追加する
- エッジにラベルを付ける
- グループ種別および条件の操作
- アクティビティエッジにガード条件を追加する
- グループ種別を選択および変更する
ページの先頭へ
アクティビティ図の設定
アクティビティ図を作成するには、まず、空のスコープ指定アクティビティ図を含む UML プロジェクトおよび Java パッケージを作成します。この節では、次の手順を実行します。
UML プロジェクトを作成する
- メインメニューから「ファイル」>「新規プロジェクト」を選択し、次の操作を行います。
- 「カテゴリ」で「UML」を選択します。
- 「プロジェクト」で「プラットフォーム独立モデル」を選択します。
- 「次へ」をクリックします。
- プロジェクト名として「
ActivityDiagProj」、プロジェクトの場所として「ActivityDiagTut」と入力します。
プロジェクト名を入力すると、プロジェクトフォルダ名も自動的にこの名前になります。
- 「完了」をクリックします。
「新規」ウィザードの「図を新規作成」ページが表示されます。
- ここでは、「取消し」をクリックします。
IDE によって次のことが行われます。
- 空のプラットフォーム独立モデリングプロジェクトが作成されます。
- 「プロジェクト」ウィンドウにプロジェクトアイコンが表示されます。
ページの先頭へ
スコープ指定アクティビティ図を含むパッケージを作成する
- 「プロジェクト」ウィンドウで、「モデル」ノードを右クリックします。
- ポップアップメニューから「追加」>「パッケージ」を選択します。
- 「名前」フィールドに、パッケージの名前として「
ActDiagPkg」と入力します。
- 「名前空間」フィールドについては、デフォルト値を使用します。
- 「スコープ指定図を作成」チェックボックスを選択します。
- 「図名」フィールドに、図の名前として「
actDiagram」と入力します。
- 「図の種類」リストから「アクティビティ図」を選択し、「完了」をクリックします。
IDE によって次のことが行われます。
- 入力したパッケージ名を持つパッケージノードが「モデル」ノードの下に作成されます。
- パッケージノードの下に図ノードが作成されます。
- 図エディタに新しい図が表示されます (この時点で図は空です)。
- モデリングパレットが開き、アクティビティ図の作成に使用するアイコンが表示されます。
図は次のようになります。
ページの先頭へ
区分の配置
IDE では、アクティビティ図に区分を追加できます。区分を使用してノードとエッジを分割することで、区分内にあるノードのビューだけを表示できます。
- モデリングパレットのデータ区画で、「区分 (Partition)」アイコン
を選択します。
- 図エディタ内をクリックして、区分要素を図に配置します。
名前のない (Unnamed) 区分要素が図エディタに配置されます。
- 図エディタ内の任意の場所を右クリックして「区分 (Partition)」アイコンを選択解除します。
- 図エディタの左側で矩形を引き伸ばします。
- 区分要素を選択した状態で右クリックし、ポップアップメニューから「区分」>「区分列を右に追加」を選択します。
- 区分の右の列を拡張します。
- 区分の上部にある「Unnamed」をダブルクリックし、「Bank」と入力して、区分に名前を付けます。
- Enter キーを押します。
- 左の列の「Unnamed」をダブルクリックし、「Bank Lobby」と入力して、左の列に名前を付けます。
- 右の列に「Teller」という名前を付けます。
図は次のようになります。

ページの先頭へ
動作状態の特定
この節では、次の手順を実行します。
アクティビティグループを追加する
- モデリングパレットの基本区画で、「アクティビティグループ (Activity Group)」アイコン
を選択します。
- 図エディタで「Bank Lobby」副区分内をクリックして、「Bank Lobby」副区分にアクティビティグループ要素を配置します。
これによって、アクティビティグループが「Bank Lobby」副区分の入れ子になります。
- 右クリックして、アイコンを選択解除します。
- 新しいアクティビティグループの「Unnamed」をダブルクリックし、「Customer」と入力して、Enter キーを押します。
- 追加したアクティビティグループを選択します。副区分全体に表示されるようにグループを移動し、拡大します。
ページの先頭へ
呼び出しを追加する
- モデリングパレットの基本区画で、「呼び出し (Invocation)」アイコン
を選択します。
- 「Bank Lobby」副区分にある Customer アクティビティグループ要素内をクリックして、2 つの呼び出しノードを縦に並べて配置します。
- アイコンを選択解除します。
- 次の図に示すように、Customer アクティビティグループ内に収まるように呼び出し要素を移動し、サイズを変更します。

- 追加した呼び出しノードのうち、上のノードをダブルクリックし、「Approach Teller Counter」と入力して、Enter キーを押します。これによって、要素にラベルが付けられます。
- 下の呼び出しノードを選択し、「Enter Transaction」という名前を付けます。
- 「Teller」副区分内に 6 つの呼び出し要素を追加し、次のように名前を付けます。
- Receive Transaction Request
- Search Customer Info
- Send to Customer Service
- Process Transaction
- Update Account Info
- Notify Customer
図は次のようになります。

ページの先頭へ
初期ノード要素を追加する
- モデリングパレットの基本区画で、「初期ノード (Initial Node)」アイコン
を選択します。
- 「Bank Lobby」副区分で Approach Teller Counter 要素の左側をクリックします。
- アイコンを選択解除します。
ページの先頭へ
水平の分岐要素を追加する
- モデリングパレットの制御区画で、「水平の分岐 (Horizontal Fork)」アイコン
をクリックします。
- 水平の分岐要素を表すバーを Update Account Info 呼び出し要素と Notify Customer 呼び出し要素の上に配置します。
- アイコンを選択解除します。
- 両方の呼び出しにかかるようにバーを伸ばします。
- 別の水平の分岐要素を Update Account Info 呼び出し要素と Notify Customer 呼び出し要素の下に配置し、両方の呼び出しにかかるようにバーを伸ばします。
ページの先頭へ
アクティビティ終了ノードと決定ノードを追加する
- モデリングパレットの基本区画で、「アクティビティ終了ノード (Activity Final Node)」アイコン
を選択します。
- アクティビティ終了ノードを下側の水平の分岐要素の下に配置します。
- 「アクティビティ終了ノード (Activity Final Node)」アイコンを選択解除します。
- モデリングパレットの制御区画で、「決定 (Decision)」アイコン
を選択します。
- 決定要素を Search Customer Info 要素と Send To Customer Service 要素の間のフローに配置します。
図は次のようになります。
- 「決定 (Decision)」アイコンを選択解除します。
ページの先頭へ
エッジと依存の配置
この節では、次の手順を実行します。
アクティビティエッジ要素を追加する
- モデリングパレットの基本区画で、「アクティビティエッジ (Activity Edge)」アイコン
を選択します。
アクティビティエッジを使用して、初期ノード要素と呼び出し要素を接続します。
- 初期ノード要素をクリックし、Approach Teller Counter 呼び出し要素をクリックします。
アクティビティエッジリンクによって 2 つの要素が接続されます。アクティビティエッジリンクのラベルは非表示になっているため、表示する必要があります。
- 図エディタ内の任意の場所を右クリックしてアイコンを選択解除します。
- アクティビティエッジ要素を選択して右クリックします。
- ポップアップメニューから「ラベル」>「名前を表示」を選択します。
リンクに「Unnamed」というラベルが付けられ、強調表示されます。
- リンクに名前を付けるには、「Initiate Cash Withdrawal」と入力し、Enter キーを押します。
ページの先頭へ
別のアクティビティエッジ要素を追加する
- モデリングパレットの基本区画で、「アクティビティエッジ (Activity Edge)」アイコンを選択します。
- 次のリンクを描画します。
- Approach Teller Counter 要素から Enter Transaction 要素へ
- Enter Transaction 要素から Receive Transaction Request 要素へ
- Receive Transaction Request 要素から Search Customer Info 要素へ
- Search Customer Info 要素から決定ノードへ
- 決定ノードから Send To Customer Service 要素へ
- 決定ノードから Process Transaction 要素へ
- Process Transaction 要素から上側の水平の分岐へ
- 上側の水平の分岐から Update Account Info 要素と Notify Customer 要素へ
- Notify Customer 要素から下側の水平の分岐へ
- Update Account Info 要素から下側の水平の分岐へ
- 下側の水平の分岐から終了状態要素へ
- 右クリックして、アイコンを選択解除します。
図は次のようになります。

ページの先頭へ
グループ種別および条件の操作
この節では、次の手順を実行します。
アクティビティエッジにガード条件を追加する
UML モデリング機能を使用すると、「プロパティ」ウィンドウまたは図エディタでアクティビティ図にガード条件を追加できます。
- 図エディタで、決定ノードと Send to Customer Service 要素の間のアクティビティエッジ要素を右クリックします。
- ポップアップメニューから「ラベル」>「ガード条件を表示」を選択します。
- ガード条件の角括弧内に「No Customer Info」と入力し、Enter キーを押します。
- 決定ノードと Process Transaction 要素の間のアクティビティエッジについて、手順 2 と 3 を繰り返します。このガード条件には「Customer Info」と入力します。
ページの先頭へ
グループ種別プロパティを選択および変更する
IDE では、アクティビティグループはアクティビティフロー内のループを表します。たとえば、アクティビティグループはフロー内の既存の反復を呼び出します。IDE の UML モデリング機能には、次の 3 つのグループ種別が用意されています。
- 図エディタで、Customer アクティビティグループを選択します。
- 「プロパティ」ウィンドウで、「グループ種別」プロパティ行の下矢印をクリックします。
- ドロップダウンリストから「構造化」を選択します。
図で Customer アクティビティグループに構造化グループとしてのラベルが付けられます。
完成したアクティビティ図は次のようになります。
ページの先頭へ
まとめ
この記事では、簡単な銀行業務アプリケーションを例に、UML モデリングモジュールの機能を使用して一般的なアクティビティ図を作成する方法を学びました。
NetBeans 5.5 UML モデリングモジュールの詳細については、IDE のオンラインヘルプ、および NetBeans UML モデリングプロジェクトのページを参照してください。このページでは、ほかのチュートリアル、ビデオクリップをはじめとするさまざまな情報を提供しています。
ページの先頭へ