日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

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

できあがりはこれ

f:id:myopomme:20190706235612p:plain

ホットケーキレシピを描きなおす ... まずはホットケーキミックスの準備

順序だてて近づける。
まずは左上のパーティション

@startuml
title ホットケーキミックスの準備_粉
start
:ボウルにAをふるい入れる;
:泡立て器で混ぜる;
stop
@enduml

f:id:myopomme:20190714221721p:plain

@startuml
title ホットケーキミックスの準備_卵と牛乳
start
:別のボウルに卵を割りほぐす;
:別のボウルに牛乳を加える;
:卵と牛乳を混ぜる;
stop
@enduml

f:id:myopomme:20190714221748p:plain

これをつないでゆく。