UMLを練習する、アクティビティー図 ベータ版-8
アクティビティー図 その2
アクティビティー図を描いて残念だったこと
- 行動の位置(ノード)が自動配置の反面、思った位置にいってくれない
- 行動をつなぐ線・矢印(エッジ)がくねくねの曲線
- 条件分岐で、ダイヤモンドの外に条件が記載され、条件を見分けにくい
- 行動は1つだけ、2つ以上の同じ行動を使えない
もちろん、良い機能もたくさんあります。ただ、慣れてくると、贅沢になって、もっと機能が欲しくなるって気持ちです。
アクティビティー図(ベータ版)
plantUMLの公式に、アクティビティー図(ベータ版) の記述がある。どうも、アクティビティー図は過渡期のようで、新しい構文を提唱しているっぽい。
ホットケーキレシピを描きなおす...調理ステップを分ける、パーティション
ベータ版もフロー図をパーティションで分けられる。
partition構文 は囲みたい範囲の上下で次のように記載する。
partition パーティションの名前 { ここに 囲みたい ノードを 書く }
@startuml title ホットケーキミックスの準備_partition構文 start fork partition ホットケーキミックスの準備 { fork :ボウルにAをふるい入れる; :泡立て器で混ぜる; fork again :別のボウルに卵を割りほぐす; :別のボウルに牛乳を加える; :卵と牛乳を混ぜる; end fork :混ぜ合わせた卵と牛乳をAに加える; :泡立て器で粉っぽさがなくなるまで混ぜる; :生地を作る; } fork again partition フライパンの準備 { fork :キッチンペーパーに油を染み込ませる; :フライパンに油を塗る; :フライパンを熱する; fork again :ふきんを濡らし置く; end fork :ぬれたふきんの上にフライパンを置いて熱を取る; :再び弱火にかける; } end fork partition ホットケーキを焼く { repeat :生地をおたま1杯とる; :生地を上からフライパンにの中心に落とす\n(こうすると丸い形になる); -[dashed]-> 3分間待つ; :表面を見る; while (プツプツと穴がでる) is (No) :待つ; end while (Yes) :生地を裏返す; -[dashed]->2分間待つ; :取り出す; :ホットケーキを器に盛る; repeat while (焼き終わった) is (Yes) } :お好みでバターとメープルシロップをかける; stop @enduml
こんな感じですね。
β版になって、現行で気になることが解消されました。個人的にはGraphvizパッケージを使わない点が気に入っています。GraphvizパッケージってRでも使っていて、とても便利なんです。でも、plantUMLだと自動配置にすることが逆に働いて思うようにノードとエッジを持っていけなかった。特にループ処理。
β版はループ処理が見慣れた折れ線になってくれて、気持ちがいいです。
いくつか仕様が変わって、コーディングも変わりました。慣れは要るけど、こっちに切り替えた方が正解、って気がします。
足りないところは次のアップデートに期待です。