背景
システムの詳細設計でアクティビティ図を作成する必要があり、Gitで差分管理が可能なクラス図作成ツールを調査した。
記事の目的
PlantUMLでアクティビティ図を作成する
アクティビティ図
アクティビティ図について記載する。
アクティビティ図とは
アクティビティ図は、ある事象の開始から終了までの機能を実行される順序にしたがって記述したものである。アクティビティ図の描き方
- 初期ノードと最終ノード
@startuml
start
end
@enduml
スコープ内の開始と終了を表す。
@startuml
start
: Action;
end
@enduml
制御を表す。
@startuml
start
if (i == 0 || i ==3) then (true)
:Fizz Buzz;
: i++;
else if (i == 1) then (true)
:Fizz;
: i++;
else if (i == 2) then (true)
:Buzz;
: i++;
else (false)
: i++;
endif
end
@enduml
条件によるフロー分岐(デシジョンノード)もしくは、複数のフローの合流(マージノード)を表す。
@startuml
start
fork
: Process A;
fork again
: Process B;
: Process C;
endfork
end
@enduml
複数のフローが非同期に実行される(フォークノード)、もしくは、複数の非同期処理が終了する(ジョインノード)ことを表す。
@startuml
start
if (command == exit) then (true)
stop
endif
end
@enduml
それまでの制御で使用されたトークンを全て破棄することを表す。
@startuml
start
:Open the door>
:Door(Object)]
end
@enduml
制御のターゲットとなるオブジェクトを表す。
@startuml
start
partition Client {
:Select;
}
partition Server {
if (Type) then (A)
:Process A;
else (B)
:Process B;
endif
}
end
@enduml
@startuml
|Client|
start
:Select;
if (Type) then (A)
|Server|
:Process A;
else (B)
|Server|
:Process B;
endif
end
@enduml
制御がどの領域に属するかを表すための領域分けとして使用される。
@startuml
start
: Emit >
end
@enduml
オブジェクトにシグナルを送信する制御を表す。
@startuml
|Client|
start
: Emit>
|Server|
: Receive<
end
@enduml
シグナル、またはイベントの発生の待機を表す。
@startuml
start
:i=0;
while (i<10) is (true)
:i++;
endwhile (false)
end
@enduml
@startuml
start
:i=0;
repeat :Process A;
:Process B;
backward:i++;
repeat while (i<10) is (true)
end
@enduml
繰り返し処理を表す。
まとめ
- PlantUMLでアクティビティ図を作成する方法を調査、記載した
参考文献
変更履歴
- 2020/05/03: 新規作成
0 件のコメント:
コメントを投稿