PlantUMLテンプレート集

PlantUMLというオープンソースのUML描画ツールがあります。かなり優秀で、簡単なコーディングをするだけで図を作成できます。

PlantUMLのメリット

PlantUMLを使うメリットはたくさんあります。個人的に特にメリットだと思う点をあげてみます。

バージョン管理が容易

画像データでのバージョン管理は難易度が高いですが、PlantUMLの実態はコード(文字列)なので、管理が容易です。また、コメントを付けるなどして、変更点を示せることも大きなメリットです。

画像の差分チェックが容易

画像データ同士の差分(違い、変更点)を探すのは大変です。たいていの場合、目で見て違いを探します。サイゼリヤの間違い探しと一緒です。

繰り返しですが、PlantUMLの実態は文字列ですので、WinMergeなどのツールを使えは一発で差分の確認ができます。

PlantUMLの例

あくまで一例ですが、このような画像が作成できます。この画像をつくるためのコードは以下です。

@startuml
start
:Step 1;
:Step 2;
:Step 3;
if(Step 3) is (completed) then
    :Good, go to Step 4;
else(no)
    :Not good OMG;
    stop
endif
:Step 4;
end
@enduml

フローチャートのテンプレート

非常にシンプルなフローチャートのテンプレートです。

@startuml

:ユーザのアクセス;
if(Admin/へのアクセス) then (yes)
    :管理者用ページへルーティング;
else(no)
    :https://<ホスト名>/...扱いになる;
    :diary/urls.pyに命令を渡す;
endif

@enduml

ガントチャートのテンプレート

・・・準備中

組織図のテンプレート

組織図のテンプレートです。PowerPointで作成すると面倒くさいやつですね。許されるならこの方法で作成したいものです。

組織図のテンプレート1

シンプルです。

@startwbs
* Project Manager
** Project Leader A
*** Infra Team
*** Network Team
*** Server Team
** Project Leader B
*** App Team
*** UI Team
*** Test Team
@endwbs

組織図のテンプレート2

もう少し凝ってます。

@startuml

object 取締役会
package 人事部{
    object 人事部長{
                太郎部長
    }
    object 採用チーム {
                + 人事課長
    }
    object キャリア開発チーム{
        + A係長
        + B主任
        + C社員
    }
}
package B部署{
    object B担当 {
        #リーダB
        #メンバB
    }
}
package C部署{
    object C担当 {
        #リーダC
        #メンバC
    }
}

取締役会 --> 人事部
取締役会 --> B部署
取締役会 --> C部署

人事部長 --> 採用チーム
人事部長 --> キャリア開発チーム

@enduml

配置図

色々柔軟に描ける方式だと思います。色々な形を定義できるので重宝してます。以下のサイトから引用しております。

https://plantuml.com/ja-dark/deployment-diagram

@startuml
actor アクター
actor/ “アクター/”
agent エージェント
artifact アーティファクト
boundary 境界
card カード
circle 円
cloud クラウド
collections コレクション
component コンポーネント
control コントロール
database データベース
entity エンティティ
file ファイル
folder フォルダ
frame フレーム
hexagon 六角形
interface インターフェイス
label ラベル
node ノード
package パッケージ
person 人型
queue キュー
rectangle 四角形
stack スタック
storage ストレージ
usecase ユースケース
usecase/ “ユースケース/”
@enduml