UML アクティビティー図 では、クラス、ユースケース、および操作について、ワークフローまたはプロセスを記述します。アクティビティー図は、ステートチャートとは対照的に、振る舞いがイベント駆動型ではないケースで利用されます。
クラス (ユースケース/操作) は、アクティビティー図またはステートチャートのいずれか 1 つを持つことができます。両方を持つことはできません。ただし、クラス、オブジェクト、ブロック、パーツ、もしくはユースケースが複数のアクティビティー図を持つことがあります。
この場合、そのうちの 1 つのダイアグラムが主要な振る舞いに指定されます。
注: 同じ分類子内の各種アクティビティー間でどれを「主要な振る舞い」にするかを変更できます。
アクティビティー図の優れた適用例の一つとして、アルゴリズムの定義があります。アルゴリズムは機能をより小さい機能に分解して、あるプロセスに含まれているアクティビティーの仕様を特定することだからです。
注: シーケンス図では、オブジェクト内の実行アルゴリズムを示すことができますが、同時並行処理の記述については、アクティビティー図が適しています。
UML アクティビティー図には以下の特性があります。
- デシジョン・ノード - ガード条件に基づいてプログラム・フロー内の分岐点を示します。
- アクション - 関数の完了時に実行される、単一の退場制御フローを持つ関数の呼び出しを表します。
すべてのアクションが同じオブジェクト内にある必要はありません。
- イベント受理アクション - プロセスがイベントの発生を待機していることを表します。
- アクション・ブロック - 複数のアクションに分解できる複合アクションを表現します。
- サブアクティビティー - ネスト状態になったアクティビティー図を表現します。
- オブジェクト・ノード - 1 つの状態のアクションの出力から別の状態のアクションの入力へ引き渡されたオブジェクトを表現します。
- スイムレーン - アクションとサブアクションに対する責任の編成を視覚的に表現します。スイムレーンは多くの場合、ビジネス・モデル内の組織単位に対応します。
- 振る舞い呼び出し - 別のアクティビティー・チャート内のアクティビティーまたはアクティビティー・チャート全体を参照します。
- 操作呼び出し - 別のアクティビティー・チャート内の操作またはアクティビティー・チャート全体を参照します。
- 分析モード - ピン、パラメーター、フロー終了、および、割り込み可能領域を使用します。
アクティビティー図について、以下の機能も使用できます。
- アクティビティー図に名前を付ける、名前を変更する。
- クラスを作成せずにパッケージにアクティビティー図を作成する (ステートチャートは作成しない)。
- パッケージ内の複数のアクティビティーをサポートする。
- クラスとのオブジェクト・ノードの関連付け
- アクティビティー図内に振る舞い呼び出しの追加を作成する (ブラウザーからダイアグラムへ操作をドラッグ・アンド・ドロップする)。
- スイムレーンのクラス (のみ) への関連 (フィールドのデータの取り込みを表現) は、ブラウザーからスイムレーン名の区画にクラスをドラッグすることで作成できる。詳細については、スイムレーンを使用したアクティビティー図の分割を参照してください。
- 主要な振る舞いを記述しているアクティビティー図から別のアクティビティー図を参照する。