UMLを練習する、アクティビティー図 ベータ版-7
アクティビティー図 その2
アクティビティー図を描いて残念だったこと
- 行動の位置(ノード)が自動配置の反面、思った位置にいってくれない
- 行動をつなぐ線・矢印(エッジ)がくねくねの曲線
- 条件分岐で、ダイヤモンドの外に条件が記載され、条件を見分けにくい
- 行動は1つだけ、2つ以上の同じ行動を使えない
もちろん、良い機能もたくさんあります。ただ、慣れてくると、贅沢になって、もっと機能が欲しくなるって気持ちです。
アクティビティー図(ベータ版)
plantUMLの公式に、アクティビティー図(ベータ版) の記述がある。どうも、アクティビティー図は過渡期のようで、新しい構文を提唱しているっぽい。
ホットケーキレシピを描きなおす ... 時間経過を破線矢印で見せる
同じように、2枚目を焼くループ処理を作る。
このとき、図を見ると「3分待ち」、「2分待ち」があって、これは while/repeat でかくほどじゃない。
矢印の装飾をつかって時間経過を表記する。
矢印はコメントの場所で指定する。
:ノードを描く; -[ここで色、形状を指定する]-> コメントの矢印が変わる -[dashed]-> 破線 -[doted]-> 点線 -[bold]-> 太線 -[hidden]-> 矢印なし -[#red]-> 赤矢印 -[#blue]-> 青矢印
@startuml title ホットケーキミックスの準備_矢印の変更 start fork fork :ボウルにAをふるい入れる; :泡立て器で混ぜる; fork again :別のボウルに卵を割りほぐす; :別のボウルに牛乳を加える; :卵と牛乳を混ぜる; end fork :混ぜ合わせた卵と牛乳をAに加える; :泡立て器で粉っぽさがなくなるまで混ぜる; :生地を作る; fork again fork :キッチンペーパーに油を染み込ませる; :フライパンに油を塗る; :フライパンを熱する; fork again :ふきんを濡らし置く; end fork :ぬれたふきんの上にフライパンを置いて熱を取る; :再び弱火にかける; end fork repeat :生地をおたま1杯とる; :生地を上からフライパンにの中心に落とす\n(こうすると丸い形になる); -[dashed]-> 3分間待つ; :表面を見る; while (プツプツと穴がでる) is (No) :待つ; end while (Yes) :生地を裏返す; -[dashed]->2分間待つ; :取り出す; :ホットケーキを器に盛る; repeat while (焼き終わった) is (Yes) :お好みでバターとメープルシロップをかける; stop @enduml
ここで :生地をおたま1杯とる; のノードを fork/end fork の外(下)に移動した。
fork/end fork の中にrepeatを戻すとエラーになるようだ。