UMLを練習する、アクティビティー図 ベータ版-2
アクティビティー図 その2
アクティビティー図を描いて残念だったこと
- 行動の位置(ノード)が自動配置の反面、思った位置にいってくれない
- 行動をつなぐ線・矢印(エッジ)がくねくねの曲線
- 条件分岐で、ダイヤモンドの外に条件が記載され、条件を見分けにくい
- 行動は1つだけ、2つ以上の同じ行動を使えない
もちろん、良い機能もたくさんあります。ただ、慣れてくると、贅沢になって、もっと機能が欲しくなるって気持ちです。
アクティビティー図(ベータ版)
plantUMLの公式に、アクティビティー図(ベータ版) の記述がある。どうも、アクティビティー図は過渡期のようで、新しい構文を提唱しているっぽい。
前回のホットケーキレシピを書き換える。
こんな感じでした。
@startuml title パーティションを使ってレシピを整理 (*) --------> バターとメープルシロップを用意する partition ホットケーキミックスの準備 { (*) ---> ボウルにAをふるい入れる (*) --> 別のボウルに卵を割りほぐす ボウルにAをふるい入れる --> 泡立て器で混ぜる 別のボウルに卵を割りほぐす --> 別のボウルに牛乳を加える 別のボウルに牛乳を加える --> 卵と牛乳を混ぜる 泡立て器で混ぜる --> ===a=== 卵と牛乳を混ぜる --> ===a=== ===a=== --> 混ぜ合わせた卵と牛乳をAに加える 混ぜ合わせた卵と牛乳をAに加える --> 泡立て器で粉っぽさがなくなるまで混ぜる 泡立て器で粉っぽさがなくなるまで混ぜる --> 生地を作る 生地を作る --> 生地をおたま1杯とる } partition フライパンの準備 { (*) ----> キッチンペーパーに油を染み込ませる キッチンペーパーに油を染み込ませる --> フライパンに油を塗る フライパンに油を塗る --> フライパンを熱する フライパンを熱する --> ===b=== (*) -----> ふきんを濡らし置く ふきんを濡らし置く --> ===b=== ===b=== --> ぬれたふきんの上にフライパンを置いて熱を取る ぬれたふきんの上にフライパンを置いて熱を取る --> 再び弱火にかける } partition ホットケーキを焼く { 生地をおたま1杯とる --> "生地を上からフライパンにの中心に落とす\n(こうすると丸い形になる)" 再び弱火にかける --> "生地を上からフライパンにの中心に落とす\n(こうすると丸い形になる)" "生地を上からフライパンにの中心に落とす\n(こうすると丸い形になる)" --> 表面を見る [3分間]if "プツプツと穴がでる" then --> [No]さらに待つ --> 表面を見る else --> [Yes]生地を裏返す endif } 生地を裏返す --> [2分間] 取り出す 取り出す --> ホットケーキを器に盛る if 焼き終わった then -up->[No]生地をおたま1杯とる else -->[Yes]お好みでバターとメープルシロップをかける endif バターとメープルシロップを用意する --> お好みでバターとメープルシロップをかける お好みでバターとメープルシロップをかける --> (*) @enduml
できあがりはこれ
ホットケーキレシピを描きなおす ... まずはホットケーキミックスの準備
順序だてて近づける。
まずは左上のパーティション
@startuml title ホットケーキミックスの準備_粉 start :ボウルにAをふるい入れる; :泡立て器で混ぜる; stop @enduml
@startuml title ホットケーキミックスの準備_卵と牛乳 start :別のボウルに卵を割りほぐす; :別のボウルに牛乳を加える; :卵と牛乳を混ぜる; stop @enduml
これをつないでゆく。