Share via


UML アクティビティ図: リファレンス

アクティビティ図では、ビジネス プロセスまたはソフトウェア プロセスが一連のアクションを使用したワーク フローとして示されます。 ユーザー、ソフトウェア コンポーネント、またはコンピューターがこれらのアクションを実行できます。

アクティビティ図を使用して、次の例のようにいくつかの種類のプロセスを説明できます。

  • ユーザーとシステムの間のビジネス プロセスまたはワーク フロー。 詳細については、「ユーザー要求のモデリング」を参照してください。

  • ユース ケースで実行される手順。 詳細については、「UML ユース ケース図: ガイドライン」を参照してください。

  • ソフトウェア プロトコル、つまり、コンポーネント間で許容されている対話のシーケンス。

  • ソフトウェア アルゴリズム。

このトピックでは、アクティビティ図で使用できる要素について説明します。 アクティビティ図の描画の詳細については、「UML アクティビティ図: ガイドライン」を参照してください。 UML アクティビティ図を生成するには、[アーキテクチャ] メニューの [新しい図] をクリックします。 一般のモデル図を描画する方法の詳細については、「方法: UML モデルおよび UML 図を編集する」を参照してください。

アクティビティ図の解説

以降の表に、アクティビティ図で使用できる要素とその主要なプロパティを示します。 要素のすべてのプロパティについては、「アクティビティ図の要素のプロパティ」を参照してください。

1 つのアクティビティ図に示されるアクションやその他の要素で 1 つのアクティビティが形成されます。 アクティビティは、UML モデル エクスプローラーで参照できます。 アクティビティは最初の要素を図に追加したときに生成されます。

図を読み取るときには、トークンつまり制御のスレッドがコネクタを通って 1 つのアクションから次のアクションに移っていくと考えてください。

単純な制御フロー

分岐とループでアクションのシーケンスを示すことができます。 ここで説明している要素を使用する方法の詳細については、「UML アクティビティ図: ガイドライン」トピックの「制御フローの記述」セクションを参照してください。

単純な制御フロー

形状

要素

説明と主要なプロパティ

1

アクション

ユーザーまたはソフトウェアが何らかのタスクを実行する、アクティビティ内の 1 つの手順。

アクションは、そのすべての入力フローでトークンが到着したときに開始できます。 アクションが終了すると、すべての送信フローでトークンが送信されます。

  • Body: アクションを詳細に指定します。

  • Language: Body の式の言語。

  • Local Postconditions: 実行が終了したときに満たされている必要がある制約。 アクションによって実現される目標。

  • Local Preconditions: 実行が開始される前に満たされている必要がある制約。

2

制御フロー

アクション間の制御フローを示すコネクタ。 図を解釈するには、トークンが 1 つのアクションから次のアクションへと流れると考えてください。

制御フローを生成するには、コネクタ ツールを使用します。

3

開始ノード

アクティビティ内の最初のアクション (複数可) を示します。 アクティビティを開始すると、開始ノードからトークンが流れます。

4

アクティビティ終了ノード

アクティビティの終了。 トークンが到着すると、アクティビティが終了します。

5

デシジョン ノード

フロー内の条件分岐。 1 つの入力と 2 つ以上の出力があります。 入力トークンは、これらの出力の 1 つにのみ送られます。

6

ガード

トークンをコネクタに流すことができるかどうかを指定する条件。 デシジョン ノードの送信フローで最もよく使用されます。

ガードを設定するには、フローを右クリックし、[プロパティ] をクリックして、[ガード] プロパティを設定します。

7

マージ ノード

デシジョン ノードで分割されたフローをマージする必要があります。 2 つ以上の入力と 1 つの出力があります。 この出力では、すべての入力のトークンが出力されます。

8

コメント

リンクされた要素に関する追加情報を示します。

9

振る舞い呼び出しアクション

別のアクティビティ図で詳細に定義されたアクション。

  • IsSynchronous: true の場合、アクションはアクティビティが終了するまで待機します。

  • Behavior: 起動されたアクティビティ。

(表示されていません)

操作呼び出しアクション

クラスのインスタンスで操作を呼び出すアクション。

アクティビティ

アクティビティ図で表されるワーク フロー。 アクティビティのプロパティを表示するには、UML モデル エクスプローラーでアクティビティを選択する必要があります。

  • Is Read Only: true に設定されている場合、アクティビティからオブジェクトの状態を変更することができません。

  • Is Single Execution: true に設定されている場合、この図は一度に 1 回までしか実行できません。

UML アクティビティ図

アクティビティを表示する図。 プロパティを表示するには、図の空の部分をクリックします。

メモメモ
アクティビティ図、その図を含むファイル、その図によって表示されるアクティビティのそれぞれの名前が異なる場合があります。

同時実行フロー

同時に実行されるアクションのシーケンスを記述できます。 詳細については、「Drawing Concurrent Flows (同時実行フローの描画)」を参照してください。

同時フローを示すアクティビティ ダイアグラム

形状

要素

説明

11

フォーク ノード

1 つのフローを複数の同時実行フローに分割します。 トークンが 1 つ入力されるたびに、各出力コネクタで 1 つのトークンが生成されます。

12

ジョイン ノード

複数の同時実行フローを 1 つのフローに結合します。 すべての入力フローに待機中のトークンがある場合に、出力でトークンが生成されます。

13

シグナル送信アクション

メッセージまたはシグナルを別のアクティビティに、または同じアクティビティ内の同時実行スレッドに送信するアクション。 メッセージのタイプとコンテンツは、アクションのタイトルにより暗黙的に指定されるか、追加コメントで指定されます。

アクションはシグナルでデータを送信できます。シグナルはオブジェクト フローつまり入力ピン (16) 内のアクションに渡されます。

14

イベント受理アクション

アクションを続行するためにメッセージまたはシグナルを待ち受けるアクション。 アクションが受信できるメッセージのタイプは、アクションのタイトルにより暗黙的に指定されるか、追加コメントで指定されます。

アクションに入力制御フローがない場合、メッセージが受信されるたびにトークンが生成されます。

アクションはシグナルでデータを受信できます。シグナルはオブジェクト フローつまり出力ピン (17) で渡すことができます。

  • IsUnmarshall: true の場合、型指定された出力ピンを配置して、そこでデータのマーシャリングを解除できます。 false の場合、すべてのデータが 1 つのピンに表示されます。

データ フロー

1 つのアクションから別のアクションに流れるデータのフローを記述できます。 このセクションで使用される要素の詳細については、「Guidelines for Drawing an Activity Diagram (アクティビティ図の描画のガイドライン)」トピックの「Drawing Data Flows (データ フローの描画)」セクションを参照してください。

データ フローを示すアクティビティ ダイアグラム

Shape

要素

説明

15

オブジェクト ノード

フローに沿って渡されるデータを表します。

  • Ordering: 複数のトークンを格納する方法。

  • Selection: データのフィルター処理を実行するプロセスを起動します。このプロセスは、別の図で定義できます。

  • Upper Bound: 0 は、データがフローに沿って直接流れる必要があることを示します。* は、データをフロー内に格納できることを示します。

  • Type: 格納され、送信されたオブジェクトの型。

16

入力ピン

アクションが実行時に受信できるデータを表します。

  • Type: 送信されるオブジェクトの型。

17

出力ピン

アクションが実行時に生成できるデータを表します。

  • Type: 送信されるオブジェクトの型。

18

アクティビティ パラメーター ノード

アクティビティによりデータの受信または生成を行うことのできるオブジェクト ノード。

図によって表されたアクティビティが別のアクティビティから呼び出された場合、または図で操作や関数が記述されている場合に使用されます。

  • Type: 送信されるオブジェクトの型。

(表示されていません)

オブジェクト フロー

アクションとオブジェクト ノード間のデータ フローを示すコネクタ。

オブジェクト フローを生成するには、コネクタ ツールを使用して、入力ピンか出力ピンまたはオブジェクト ノードを別の要素にリンクさせます。

  • Selection: データのフィルター処理を実行するプロセスを起動します。このプロセスは、別の図で定義できます。

  • Transformation: データの変換を実行するプロセスを起動します。このプロセスは、別の図で定義できます。

  • IsMulticast: 複数の受信オブジェクトまたはコンポーネントが存在する可能性を示します。

  • IsMultiReceive: 入力が複数のオブジェクトまたはコンポーネントから受信される可能性を示します。

参照

概念

方法: UML モデルおよび UML 図を編集する

UML アクティビティ図: ガイドライン