アクティビティ図は、処理や業務の流れをフローチャート形式で表し、システムやプロセスの動作を可視化するUML図です。PlantUMLでアクティビティ図を描くには、
- 開始・終了ノード(@startuml と @enduml で囲む、開始点は start、終了点は stop で表す)
- アクション(:アクティビティA;)
- 矢印( --> )
- 分岐(if (条件) then (true場合) else (false場合) )
などの要素の記法を把握しなければなりません。
この記事では、PlantUMLの基本構文と要素を学び、効率的にアクティビティ図を作成する方法を解説します。アクティビティ図の記述方法や条件分岐などの具体例を通じて、PlantUMLを用いたシンプルで効果的なUML図の作成方法が理解できます。
1.PlantUMLの基本的な使い方
1.1 基本的な構文と要素
PlantUMLでアクティビティ図を書く方法を理解するために、まず基本的な構文と主要な要素を押さえることが重要です。以下の基本的な構文と要素を知ることで、効率的にアクティビティ図を作成することができます。
PlantUMLには旧記法と新記法があります。本資料では新記法を中心に説明します。
| 項目 | 内容 |
|---|---|
| 開始と終了 | アクティビティ図は、開始と終了のポイントを明確に示す必要があります。 開始点は [*] で表し、終了点は [*] で示します。 |
| アクティビティ | アクティビティは、システムが実行する操作や処理を示します。 PlantUMLでは、アクティビティを記述するために :アクティビティ名; を使用します。 |
| 遷移 | アクティビティ間の遷移は矢印(-->)で表します。 この矢印により、アクティビティがどのように進行するかを示します。 |
| 条件分岐 | 条件分岐は、if (条件) then (true場合) else (false場合) のように記述します。 条件に応じて進行する流れを分岐させることができます。 |
これらの基本的な構文と要素を組み合わせることで、利害関係者やチームメンバーがプロセスや行動を理解しやすいアクティビティ図を作成できます。また、PlantUMLの構文はシンプルであり、短時間で学習することができるため、効率的にUML図を作成することが可能です。
1.2 アクティビティ図の記述方法
アクティビティ図は、システムやビジネスプロセスの流れを視覚的に表現するためのUML(統一モデリング言語)の一種です。以下に、基本的な記述方法を簡単に解説します。
| 項目 | 内容 |
|---|---|
| 開始ノード | アクティビティの開始を示す黒い丸です。 |
| アクション | 実行されるタスクやアクティビティを表します。角の取れた長方形で示されます。 |
| 制御フロー | アクティビティ間の遷移を示す矢印です。 |
| 判断ノード | 条件分岐を示すひし形です。複数の出力が可能です。 |
| 終了ノード | アクティビティの終了を示す二重丸です。 |
2.PlantUMLでアクティビティ図を書く方法
具体的な例を用いて、PlantUMLでアクティビティ図を書く方法について説明します。PlantUMLを使ってアクティビティ図を書く方法を簡単なサンプルとともに紹介します。
基本的な書き方
| 項目 | 内容 |
|---|---|
| 開始と終了 | ・アクティビティ図は @startuml と @enduml で囲みます。 ・開始点は start、終了点は stop で表します。 |
| アクティビティの定義 | ・各アクティビティは : で囲みます。 |
| 矢印 | ・アクティビティ間の遷移は --> で表します。 |
サンプルコード
以下に、基本的なアクティビティ図のサンプルコードを示します。
@startuml
start
:アクティビティA;
:アクティビティB;
if (条件) then (yes)
:アクティビティC;
else (no)
:アクティビティD;
endif
:アクティビティE;
stop
@enduml
上記をPlantUML対応のエディタ(例えば、PlantUML Web Server)に入力すると以下のようなアクティビィティ図が得られます。

3.コードは要らない!ドラッグアンドドロップでアクティビティ図を書く
PlantUMLでアクティビティ図を書く方法を理解したところで、次に同じアクティビティ図をEdrawMaxで作成する方法を見ていきましょう。EdrawMaxは、非常に直感的に使える優れたツールです。ここでは、実際の手順を示します。
まず、EdrawMaxを起動し、新しいプロジェクトを開始します。次に、左側のツールバーから「UMLモデリング」のカテゴリーを選択し、「アクティビティ図」を選びます。この画面では、様々なドラッグアンドドロップオプションが利用できます。

PlantUMLにおけるアクティビティ図の基本的な構造を思い出しながら、以下のステップで図を完成させます。
- 開始点の作成: 「開始ノード」アイコンをドラッグして、キャンバス上に配置します。
- アクティビティの追加: 「アクティビティ」シェイプをドラッグし、開始ノードから矢印で繋げます。このステップを必要な数だけ繰り返します。
- 分岐点と統合: 「分岐ノード」と「統合ノード」シェイプを使用して、プロセスの分岐点や統合点を可視化します。
- 終了点の作成: 最後に「終了ノード」を追加し、キャンバス上のプロセスを終わらせます。

テンプレートから作成する方法(補足)
参考までに、テンプレートからアクティビィティ図を追加する方法を解説します。
ホーム画面の検索窓で「UML diagram」と入力します。

候補が複数出ます。ここでは「UML Activity diagram login」を選択します。

描画画面にテンプレートが現れたら、それを元に、描きたいアクティビィティ図に修正していきます。

例えば以下の図では、すでにある状態を修正して「アクティビィティC」に修正しています。
他にも状態の間の矢印を、つなぎ変えたりすることもできます。
以上のように、EdrawMaxでは直感的に操作が可能で、専門的な構文の知識がなくても簡単にアクティビティ図を作成することができます。PlantUMLでアクティビティ図を書く方法とEdrawMaxでの作成方法の違いを理解し、適宜使い分けることで、より効率的にUML図を作成することができるでしょう。
EdrawMaxを利用するメリット
EdrawMaxは、ドラグ・アンド・ドロップ操作で簡単にアクティビティ図を作成できる強力なツールです。PlantUMLでアクティビティ図を書く方法も魅力的ですが、EdrawMaxはさらに直感的で視覚的な操作が可能です。これにより、プログラミングの知識がなくても誰でも容易にUML図を作成できます。
①簡単な操作方法
アイコンドラッグと簡単な設定で、複雑なフローや手順を短時間で視覚的に表現できます。プロジェクトチームや利害関係者に対して迅速にプロセスを伝える際に大変便利です。
②豊富なテンプレートと素材
また、EdrawMaxはシンボルライブラリを提供しており、多様な業界や用途に対応しています。初めてUML図を作成する人から経験豊富なエンジニアまで、幅広いユーザー層に支持されています。
③UML図作成に特化
アクティビティ図だけでなく、クラス図、シーケンス図などのUML図作成にも対応します。最新のバージョンでは、プロンプトを入力してUML図が自動作成される仕組みです。
4.PlantUMLアクティビティ図に関する質問
①よくある誤りは何ですか?
- 矢印の接続ミス - アクティビティ間の遷移が正しく定義されていない
- 分岐・合流の不正確さ -
if/then/elseやfork/joinの使い方が間違っている - 括弧の閉じ忘れ -
:endや括弧の対応が取れていない - スタート/エンドの省略 -
startとendを明記していない - インデント不正 - ネストが正しくない場合、構文エラーになる
②アクティビティ図とフローチャートの違いは?
| 項目 | アクティビティ図 | フローチャート |
|---|---|---|
| 目的 | ビジネスプロセスの流れを表現 | 処理手順を詳細に記述 |
| 並列処理 | 分岐・合流で表現可能 | 表現が複雑 |
| 標準 | UML規格 | 特定標準なし |
| 用途 | システム設計・要件定義 | プログラム |
まとめ
アクティビティ図はシステムやプロセスのフローを視覚化するための強力なツールです。PlantUMLを使ったアクティビティ図の書き方や基本的な構文の理解は、正確なモデリングに役立ちます。