PlantUML - アクティビティ図
PlantUML ではサクサク書けるので、フローチャートがわりとしていいのではないかと思います。

@startuml{plantuml_act_sample.png} title <size:18>アクティビティ図のサンプル</size> (*) --> "目覚ましを止める" if "体調状態" then partition "出勤準備" --> [健康] "顔を洗う" as wash end partition else -> [病気] "病気の報告" --> "寝る" endif partition "出勤準備" { wash --> ===fork=== ===fork=== --> "新聞を読む" --> ===join=== ===fork=== --> "歯を磨く" --> ===join=== ===join=== --> "服を着替える" } -->(*) note right : 家を出る @enduml
タイトル(title)、 HTML タグ に関してはシーケンス図の説明を参照してください。
基本的なアクティビティ図
アクティビティ図の記法では (*) が開始ノード、終了ノードとなります。アクションノードは "処理名" で記述し、 これらを矢印(-->)でつないでいきます。
@startuml{plantuml_act_base2.png} (*) --> "処理 1" "処理 1" --> "処理 2" "処理 2" --> (*) @enduml
また、前のアクションノードを省略して書くこともできます。
(*) --> "処理 1" --> "処理 2" --> (*)

なお、開始ノードを先頭に書かない場合には (*) ではなく、 (*top) と記述します。
PlantUML では、 この (*) や (*top) があるかどうかで、 アクティビティ図か判断しています。
複数行にわたるような長い処理名を使いたい場合は直接改行して書くか、 \n を使います。
@startuml{plantuml_act_long.png} (*) --> "複数行にまたがる\n長い処理名 1" --> "複数行にまたがる 長い処理名 2" --> (*) @enduml

ラベル
遷移(矢印)にラベルを付ける場合は以下の形式となります。--> [ラベル] "処理名"
@startuml{plantuml_act_label.png} (*) --> [ラベル 1] "処理 1" --> [ラベル 2] "処理 2" --> (*) @enduml

分岐と矢印の方向
分岐を作る場合には if/then/else キーワードを使用します。if "分岐名" then分岐すると同じアクションノードを書く必要がある場合があります。 このような場合に as キーワードで別名を付けることもできます。
分岐フロー
else
分岐フロー
endif
また、 クラス図やユースケース図と同様に矢印の - の数が 2 の場合は下、 1 の場合は横向きの矢印となります。
矢印の向きを直接指定する -position-> も同様に使用できます。
@startuml{plantuml_act_if.png} (*) --> "初期化" if "テスト" then --> [OK] "正常処理" --> "後処理" as last else -> [NG] "エラーメッセージ" --> "異常系処理" -left-> last endif --> (*) @enduml

さらにこの if 文は入れ子にすることができます。
@startuml{plantuml_act_if_nest.png} (*) --> if "最初のテスト" then -->[true] "正常系処理 1" if "2 番目のテスト" then -->[true] "正常系処理 2" as s2 else -> "2 番目のテストが失敗した時の処理" endif else ->[false] "最初のテストが失敗した時の処理" endif s2 --> if "" then --> "正常系処理 3" --> (*) else -> "最後のテストが失敗した時の処理" endif @enduml

並列処理
非同期に行う並列処理を表すフォークノード、ジョインノードは以下のように記述します。===識別名===
@startuml{plantuml_act_par.png} (*) --> "顔を洗う" --> ===FORK=== --> "新聞を読む" --> ===JOIN=== ===FORK=== --> "歯を磨く" --> ===JOIN=== --> "服を着替える" --> (*) @enduml

ノート
アクションノードにノート(コメント)をつけたい場合はその直下にノートの記述を行います。開始ノードにつける場合は一番先頭に記述します。
note position : コメント
note position
コメント
end note
@startuml{plantuml_act_note.png} note left: 開始ノードへのノート (*) --> "処理 A" note right アクションノード (処理 A)へのノート end note --> (*) note bottom: 終了ノードへのノート @enduml

パーティション
フローをグループ化したい場合には partition キーワードを使用します。partition ラベル [色指定] {{ } 以外にも end partition も使えます。
フロー
}
@startuml{plantuml_act_partition.png} partition 指揮者 { (*) --> "ステージへあがる" --> === Sf === --> "お辞儀をする" as bow } partition 聴衆 LightSkyBlue === Sf === --> "拍手" end partition partition 指揮者 { bow --> === Sj === --> "タクトを振る" as wave "拍手" --> === Sj === } partition オーケストラ #CCCCEE { wave -> "準備" --> "演奏する" } @enduml

参考
このページの記述には以下のサイトを参考にさせていただきました。- 関連記事
-
- PlantUML - クラス図
- PlantUML - ユースケース図
- PlantUML - アクティビティ図
- PlantUML - 状態遷移図(ステートマシン図)
- PlantUML - コンポーネント図
Facebook コメント
コメント
アクティビティ図、勉強させていただきます。