UML アクティビティ図: リファレンス
アクティビティ図では、ビジネス プロセスまたはソフトウェア プロセスが一連のアクションを使用したワーク フローとして示されます。ユーザー、ソフトウェア コンポーネント、またはコンピューターがこれらのアクションを実行できます。
アクティビティ図を使用して、次の例のようにいくつかの種類のプロセスを説明できます。
ユーザーとシステムの間のビジネス プロセスまたはワーク フロー。詳細については、「ユーザー要求のモデリング」を参照してください。
ユース ケースで実行される手順。詳細については、「UML ユース ケース図: ガイドライン」を参照してください。
ソフトウェア プロトコル、つまり、コンポーネント間で許容されている対話のシーケンス。
ソフトウェア アルゴリズム。
このトピックでは、アクティビティ図で使用できる要素について説明します。アクティビティ図の描画の詳細については、「UML アクティビティ図: ガイドライン」を参照してください。UML アクティビティ図を生成するには、[アーキテクチャ] メニューの [新しい図] をクリックします。一般のモデル図を描画する方法の詳細については、「方法: UML モデルおよび UML 図を編集する」を参照してください。
アクティビティ図の解説
以降の表に、アクティビティ図で使用できる要素とその主要なプロパティを示します。要素のすべてのプロパティについては、「アクティビティ図の要素のプロパティ」を参照してください。
1 つのアクティビティ図に示されるアクションやその他の要素で 1 つのアクティビティが形成されます。アクティビティは、UML モデル エクスプローラーで参照できます。アクティビティは最初の要素を図に追加したときに生成されます。
図を読み取るときには、トークンつまり制御のスレッドがコネクタを通って 1 つのアクションから次のアクションに移っていくと考えてください。
単純な制御フロー
分岐とループでアクションのシーケンスを示すことができます。ここで説明している要素を使用する方法の詳細については、「UML アクティビティ図: ガイドライン」トピックの「制御フローの記述」セクションを参照してください。
Shape |
要素 |
説明と主要なプロパティ |
1 |
動作 |
ユーザーまたはソフトウェアが何らかのタスクを実行する、アクティビティ内の 1 つの手順。 アクションは、そのすべての入力フローでトークンが到着したときに開始できます。 アクションが終了すると、すべての送信フローでトークンが送信されます。
|
2 |
制御フロー |
アクション間の制御フローを示すコネクタ。図を解釈するには、トークンが 1 つのアクションから次のアクションへと流れると考えてください。 制御フローを生成するには、コネクタ ツールを使用します。 |
3 |
開始ノード |
アクティビティ内の最初のアクション (複数可) を示します。アクティビティを開始すると、開始ノードからトークンが流れます。 |
4 |
アクティビティ終了ノード |
アクティビティの終了。トークンが到着すると、アクティビティが終了します。 |
5 |
デシジョン ノード |
フロー内の条件分岐。1 つの入力と 2 つ以上の出力があります。入力トークンは、これらの出力の 1 つにのみ送られます。 |
6 |
Guard |
トークンをコネクタに流すことができるかどうかを指定する条件。デシジョン ノードの送信フローで最もよく使用されます。 ガードを設定するには、フローを右クリックし、[プロパティ] をクリックして、[ガード] プロパティを設定します。 |
7 |
マージ ノード |
デシジョン ノードで分割されたフローをマージする必要があります。2 つ以上の入力と 1 つの出力があります。この出力では、すべての入力のトークンが出力されます。 |
8 |
コメント |
リンクされた要素に関する追加情報を示します。 |
9 |
振る舞い呼び出しアクション |
別のアクティビティ図で詳細に定義されたアクション。
|
(表示されていません) |
操作呼び出しアクション |
クラスのインスタンスで操作を呼び出すアクション。 |
アクティビティ |
アクティビティ図で表されるワーク フロー。アクティビティのプロパティを表示するには、UML モデル エクスプローラーでアクティビティを選択する必要があります。
|
|
UML アクティビティ図 |
アクティビティを表示する図。プロパティを表示するには、図の空の部分をクリックします。
メモ
アクティビティ図、その図を含むファイル、その図によって表示されるアクティビティのそれぞれの名前が異なる場合があります。
|
同時実行フロー
同時に実行されるアクションのシーケンスを記述できます。詳細については、「Drawing Concurrent Flows (同時実行フローの描画)」を参照してください。
Shape |
要素 |
Description |
11 |
フォーク ノード |
1 つのフローを複数の同時実行フローに分割します。トークンが 1 つ入力されるたびに、各出力コネクタで 1 つのトークンが生成されます。 |
12 |
ジョイン ノード |
複数の同時実行フローを 1 つのフローに結合します。すべての入力フローに待機中のトークンがある場合に、出力でトークンが生成されます。 |
13 |
シグナル送信アクション |
メッセージまたはシグナルを別のアクティビティに、または同じアクティビティ内の同時実行スレッドに送信するアクション。メッセージのタイプとコンテンツは、アクションのタイトルにより暗黙的に指定されるか、追加コメントで指定されます。 アクションはシグナルでデータを送信できます。シグナルはオブジェクト フローつまり入力ピン (16) 内のアクションに渡されます。 |
14 |
イベント受理アクション |
アクションを続行するためにメッセージまたはシグナルを待ち受けるアクション。アクションが受信できるメッセージのタイプは、アクションのタイトルにより暗黙的に指定されるか、追加コメントで指定されます。 アクションに入力制御フローがない場合、メッセージが受信されるたびにトークンが生成されます。 アクションはシグナルでデータを受信できます。シグナルはオブジェクト フローつまり出力ピン (17) で渡すことができます。
|
データ フロー
1 つのアクションから別のアクションに流れるデータのフローを記述できます。このセクションで使用される要素の詳細については、「Guidelines for Drawing an Activity Diagram (アクティビティ図の描画のガイドライン)」トピックの「Drawing Data Flows (データ フローの描画)」セクションを参照してください。
Shape |
要素 |
Description |
15 |
オブジェクト ノード |
フローに沿って渡されるデータを表します。
|
16 |
入力ピン |
アクションが実行時に受信できるデータを表します。
|
17 |
出力ピン |
アクションが実行時に生成できるデータを表します。
|
18 |
アクティビティ パラメーター ノード |
アクティビティによりデータの受信または生成を行うことのできるオブジェクト ノード。 図によって表されたアクティビティが別のアクティビティから呼び出された場合、または図で操作や関数が記述されている場合に使用されます。
|
(表示されていません) |
オブジェクト フロー |
アクションとオブジェクト ノード間のデータ フローを示すコネクタ。 オブジェクト フローを生成するには、コネクタ ツールを使用して、入力ピンか出力ピンまたはオブジェクト ノードを別の要素にリンクさせます。
|