UMLを練習する、アクティビティー図 ベータ版-3
アクティビティー図 その2
アクティビティー図を描いて残念だったこと
- 行動の位置(ノード)が自動配置の反面、思った位置にいってくれない
- 行動をつなぐ線・矢印(エッジ)がくねくねの曲線
- 条件分岐で、ダイヤモンドの外に条件が記載され、条件を見分けにくい
- 行動は1つだけ、2つ以上の同じ行動を使えない
もちろん、良い機能もたくさんあります。ただ、慣れてくると、贅沢になって、もっと機能が欲しくなるって気持ちです。
アクティビティー図(ベータ版)
plantUMLの公式に、アクティビティー図(ベータ版) の記述がある。どうも、アクティビティー図は過渡期のようで、新しい構文を提唱しているっぽい。
ホットケーキレシピを描きなおす ... まずはホットケーキミックスの準備
@startuml title ホットケーキミックスの準備_粉 start :ボウルにAをふるい入れる; :泡立て器で混ぜる; stop @enduml
@startuml title ホットケーキミックスの準備_卵と牛乳 start :別のボウルに卵を割りほぐす; :別のボウルに牛乳を加える; :卵と牛乳を混ぜる; stop @enduml
この2つを準備した。 この2つをつなぐのが同期。ベータ版は並列処理になって、
fork ひとつめ fork again OR forkagain 二つ目 end fork OR endfork
で表記する
@startuml title ホットケーキミックスの準備_fork構文 start fork :ボウルにAをふるい入れる; :泡立て器で混ぜる; fork again :別のボウルに卵を割りほぐす; :別のボウルに牛乳を加える; :卵と牛乳を混ぜる; end fork :混ぜ合わせた卵と牛乳をAに加える; :泡立て器で粉っぽさがなくなるまで混ぜる; :生地を作る; :生地をおたま1杯とる; stop @enduml
こうなる。
同期をもう片方のフライパンの準備にも適用してさらにつなぐ、その先のホットケーキを焼く手順につなぐ
これもfork構文でつなぐとできる。
@startuml title ホットケーキミックスの準備つづき_fork構文 start fork fork :ボウルにAをふるい入れる; :泡立て器で混ぜる; fork again :別のボウルに卵を割りほぐす; :別のボウルに牛乳を加える; :卵と牛乳を混ぜる; end fork :混ぜ合わせた卵と牛乳をAに加える; :泡立て器で粉っぽさがなくなるまで混ぜる; :生地を作る; :生地をおたま1杯とる; fork again fork :キッチンペーパーに油を染み込ませる; :フライパンに油を塗る; :フライパンを熱する; fork again :ふきんを濡らし置く; end fork :ぬれたふきんの上にフライパンを置いて熱を取る; :再び弱火にかける; end fork stop @enduml
現行は明示的に前後関係を記述しているので、ベータ版は現行に比べるとわかりにくく感じる。
そこが改善するともっと使いやすくなると思う。