アクティビティ図
UMLのアクティビティ図(アクティビティず)は、フローチャートに似た図で、ビジネスプロセスの流れやプログラムの制御フローを表すことができる図である。 いわゆるフローチャートと違って並行動作やオブジェクト(データ)の流れなども表すことができる。
概要
編集システムの流れを表すため、フローチャートのUML版という位置づけで決められた[要出典]。UML 1.0のときに制定されUML2.0で大きく拡張された。
アクティビティ図は、ソフトウェアでの処理に限らず、業務のフローを表すことにも使われる。
図の作成方法
編集開始ノード「●」と終了ノード「◉」を記載し、その間に処理を矢印でつないで記載し、必要に応じて分岐などを記載する。 ステートマシン図と異なり、角丸長方形に書くのは(状態ではなく)処理や動作であることに注意。
図の要素
編集UML 2.0での主な要素を記載する。
図 | 名称 | 説明 | |||||
---|---|---|---|---|---|---|---|
● | 開始ノード | 黒丸でフローの開始点を表す。 | |||||
◉ | アクティビティ終了ノード | 蛇の目の記号でアクティビティ全体(アクティビティ図で表される振る舞い)の終了を表す。 | |||||
⊗ | フロー終了ノード | 丸の中に×でフローの終了点を表す。並行動作になっている場合、アクティビティ全体の終了になるとは限らない。 | |||||
↓ | アクティビティエッジ(フロー) | 「|」と「∨」で表される矢印で制御やデータの流れの道筋を表す。制御フローとオブジェクトフローがある。 | |||||
アクション | 角の丸い四角で囲まれた文でアクション(処理)を表す。アクションノードとも言う。 | ||||||
|
オブジェクトノード | 四角でオブジェクトやデータを表す。 アクションからオブジェクトに矢印が引かれ、オブジェクトからアクションへ矢印が引かれた図で、アクションから (1つの) アクションへオブジェクトが渡される(移動する)ことを表すことができる。 | |||||
╭━━━━╮ ┃処理 ┃ ┃ ○→○┃ ╰━━━━╯ |
サブアクティビティ[疑問点 ] | 角が丸い四角の中に「○→○」[疑問点 ]を記すことで、別のアクティビティ図で詳細が書かれた動作を表す。 | |||||
↓ [条件A] ◇───→ │ │[条件B] ↓ |
デシジョン | フローの分岐点を菱形で表す。 分岐条件をそれぞれの矢印の脇に角括弧で記載する(フローチャートと異なり菱形の中に文字は書かない)。 | |||||
↓ ◇←── │ ↓ |
マージ | 分岐したフローが合流する点も菱形で表す。後述のジョインとは異なり、制御(トークン)がいずれかの流入エッジに到達すれば制御は流出エッジに流れていく(トークンの増減はない)。 注: フローチャートと異なり、分岐に対する合流ではアクションに複数のエッジが行くように書いてはいけない。 | |||||
↓ ━━━━━ ↓ ↓ |
フォーク | 太い線で複数の処理が平行で行われる箇所の開始を表す。 | |||||
↓ ↓ ━━━━━ ↓ |
ジョイン | 太い線で複数の処理が平行で行われる箇所の終了を表す。 この上の処理が全て終了後に次の処理へ遷移が可能になる。 | |||||
□ | ピン | アクションノードに付けた小さい正方形で、アクションに入力されるオブジェクトや出力されるオブジェクトを表す。 | |||||
╭┅┅┅┅╮ ┇ ┇ ┇ ┇ ╰┅┅┅┅╯ |
拡張領域 | 角の丸い破線で繰り返す処理などを囲む 左上に処理の種別を二重山パーレンで記載し《iterative》が順次処理、《parallel》が平行処理、《stream》が一括処理 | |||||
|
拡張ノード | 拡張領域のサイドの点線の上に重ねて記載し矢印でフローの出入りを表現する。 | |||||
⧖ | タイマイベント | 「▽」と「△」を上下に繋げた図形でタイマーでの処理によるイベント | |||||
── / ──→ |
例外処理 | Z字型の矢印で例外が発生した場合に矢印の先の処理を行う |