システム設計や業務フローの可視化に欠かせないフローチャート。 複雑な処理もスッキリと図解できれば、チーム内での共有や顧客への説明もスムーズになりますよね。 そこでおすすめなのが、テキストベースでフローチャートが作成できるPlantUMLです。 今回は、PlantUMLの基本的な使い方から、様々な表現方法まで、実例を交えて分かりやすく解説します。
PlantUMLは、シンプルなテキスト記述でUMLダイアグラムやフローチャートを作成できるツールです。 専用の構文を覚える必要はありますが、一度慣れてしまえば、GUIツールよりも素早く、そして美しくフローチャートを描けるようになります。 バージョン管理システムとの相性も抜群で、テキストベースなので変更履歴の追跡も簡単です。
UML・PlantUMLや、VSCode環境への導入方法等は以下にまとめていますので、こちらを参照ください。
PlantUMLでは、@startuml と @enduml で囲まれた範囲に記述を行います。 フローの開始はstart、終了はend または stop で表します。 処理は:[処理内容];、条件分岐はif (条件) then, else, endif で表現します。
@startuml
start
:[データ入力];
if (入力値 > 0?) then (Yes)
:[正の処理];
else (No)
:[負の処理];
endif
:[結果出力];
stop
@enduml
PlantUMLは、単純なフローだけでなく、ループやサブルーチン、複数の分岐など、複雑な処理も表現できます。 while, repeat, partition などのキーワードを活用することで、より詳細なフローチャートを作成できます。 それぞれの構文と使用例については、後ほど詳しく説明します。
if、elseif、else、endif を使って条件分岐を表現します。基本的な構文は以下の通り記述できます。
@startuml
if (条件1) then (ラベル1)
:条件1が真の場合の処理;
elseif (条件2) then (ラベル2)
:条件2が真の場合の処理;
elseif (条件3) then (ラベル3)
:条件3が真の場合の処理;
else (ラベル4)
:どの条件も真でない場合の処理;
endif
@enduml
switch、case を使って条件分岐を表現します。基本的な構文は以下の通り記述できます。
@startuml
start
switch (test?)
case ( A )
:条件 1です;
case ( B )
:条件 2です;
case ( C )
:条件 3です;
case ( D )
:条件 4です;
case ( E )
:条件 5です;
endswitch
stop
@enduml
repeat と until を使うことで、ループ処理を表現できます。 ループ条件が満たされるまで、特定の処理を繰り返すフローを簡単に記述できます。
@startuml
start
:i = 0;
repeat
:処理;
:i = i + 1;
repeat while (i > 10?)
stop
@enduml
while,endwhileをつかうことで、Whileループを表現できます。
@startuml
start
:i = 0;
while (i <= 10?)
:処理;
:i = i + 1;
:i の値を表示: i;
endwhile
stop
@enduml
複雑なフローチャートは、サブルーチンを使って整理することで見やすくなります。 partition キーワードを使ってサブルーチンを定義し、メインフローから呼び出すことができます。
@startuml
start
:メイン処理開始;
partition サブルーチン1 {
:サブルーチン処理1;
:サブルーチン処理2;
}
:メイン処理続行;
stop
@enduml
PlantUMLには、フローチャートをより見やすく、分かりやすくするための様々な機能が用意されています。
skinparam を使用すると、フローチャートの色やフォント、線の太さなどをカスタマイズできます。 企業のコーポレートカラーに合わせたり、特定の要素を強調したりする際に便利です。
@startuml
skinparam activityArrowColor red
skinparam activityBorderColor blue
skinparam activityBackgroundColor lightgreen
skinparam activityFontName Arial
skinparam activityFontSize 12
start
:処理A;
:処理B;
stop
@enduml
note left : コメント, note right : コメント などを使って、特定の要素に説明を追加できます。
@startuml
start
:処理1;
note right: 処理1についてのコメント
:処理2;
-> 処理3;
note left
処理3についてのコメント1
処理3についてのコメント2
end note
:処理4;
stop
@enduml
PlantUMLでは、アクティビティ図を作成することもできます。アクティビティ図は、フローチャートと似ていますが、並列処理や分岐、合流などをより明確に表現できます。
@startuml
start
:アクション1;
fork
:アクション2;
fork again
:アクション3;
kill
endfork
:アクション4;
stop
@enduml
PlantUMLを使えば、テキストベースで簡単に、そして美しくフローチャートを作成できます。 今回紹介した以外にも、様々な機能が用意されているので、ぜひ公式ドキュメントも参考にしてみてください。 PlantUMLをマスターして、フローチャート作成を効率化しましょう!
フローチャート図の詳細な仕様や高度な機能については、以下の公式ドキュメントをご参照ください。
この記事が、あなたの役に立てば幸いです!