日々のつれづれ

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

UMLを練習する、アクティビティー図 ベータ版-1

アクティビティー図 その2

アクティビティー図を描いて残念だったこと

  • 行動の位置(ノード)が自動配置の反面、思った位置にいってくれない
  • 行動をつなぐ線・矢印(エッジ)がくねくねの曲線
  • 条件分岐で、ダイヤモンドの外に条件が記載され、条件を見分けにくい
  • 行動は1つだけ、2つ以上の同じ行動を使えない

もちろん、良い機能もたくさんあります。ただ、慣れてくると、贅沢になって、もっと機能が欲しくなるって気持ちです。

アクティビティー図(ベータ版)

plantUMLの公式に、アクティビティー図(ベータ版) の記述がある。どうも、アクティビティー図は過渡期のようで、新しい構文を提唱しているっぽい。

以下、抜粋

アクティビティ図の古い構文には、メンテナンスが難しい など、いくつかの制限と欠点がありました。  
そのため、書式や構文をよりよく定義できるように、ベータ版として全く新しい構文と実装が提案されています(V7947 以降)。  
この新しい実装には、(シーケンス図と同様に)Graphvizパッケージのインストールを必要としないという利点もあります。  
将来的に古い構文は新しい構文に置換されるでしょう。しかし、上位互換性が確保され、古い構文もそのまま認識可能となる予定です。  
新しい構文へ移行する ことが強く推奨されています。  

ということです。つまり、今から始めるならベータ版だよ、ってことでした。知らなかった。
ベータ版、今のアクティビティー図に比べてノードの結合に慣れが必要に思うけど、残念に感じたことの解消もあり、Graphvizの外部リソースを使わないって点もおススメです。

ベータ版を試す

今の構文との違いもあるので、基本ルール。 * 2つの(*)で挟んむことを、"start" "stop" ではさむ * ノードを ":行動;" とコロンとセミコロンではさむ * "->" でつながない。下の記載が上の記載につながる。 * 矢印へのテキスト付与は、"[]" から "->" に変わる。

とか。ノードを "->" でつなぐ場合、行動を上と下で2回、書いていたいので、これは効率化・時短です。
ベータ版

@startuml
title 簡単なコード、ベータ版
start
:**:はじめ;** コロンとセミコロンで文字を挟む;
:2つめは__下が上に__つながる;
-> 矢印へのテキスト付与は上のノードに **->** を続けて書く;
:改行コード **\\n** をつかうとき、\nダブルクォートで囲まなくてよくなった;
:()や     スペースも囲まなくて良い;
stop
@enduml

f:id:myopomme:20190714221500p:plain

今の構文

@startuml
title 簡単なコード、今の構文
(*) --> "**:はじめ;** コロンとセミコロンで文字を挟む"
"**:はじめ;** コロンとセミコロンで文字を挟む" --> "2つめは__下が上に__つながる"
"2つめは__下が上に__つながる" --> [矢印へのテキスト付与は上のノードに **->** を続けて書く]"改行コード **\\n** をつかうとき、\nダブルクォートで囲まなくてよくなった"
"改行コード **\\n** をつかうとき、\nダブルクォートで囲まなくてよくなった" --> "()や     スペースも囲まなくて良い"
"()や     スペースも囲まなくて良い" --> (*)
@enduml

f:id:myopomme:20190714221547p:plain

簡単な図とはいえ、構文がシンプルになったのは良いこと。