DockerでPlantUML!導入楽で描画速い

dockerでPlantUML構築開発
Thanasis PapazachariasによるPixabayからの画像

今回は、Docker版PlantUMLとVisual Studio Codeを使ったUML作成環境を整えます。Docker版PlantUML Serverを用いた方が、環境作成が楽でかつ描画のレスポンスが早いです。

スポンサーリンク
スポンサーリンク

はじめに

UMLの作成環境を整えます。Windows 10上にDocker Desktop for WindowsでDocker版PlantUML Serverを起動し、Visual Studio Code + PlantUML Pluginで接続します。

Docker版を使用した方が、WindowsにJavaやGraphviz softwareをインストールする必要がなく、異なるOSでも同じ手順で導入できます。更に、プレビューの描画が速いメリットもあります。中に入っているJavaはOpenJDKで、ライセンスも問題ありません。

Docker Desktop for Windowsの導入に関しては、Docker Desktop for Windowsでコンテナ起動を参照してください。

環境作成

PlantUML Server起動

Docker Desktopから下記コマンドでDocker版PlantUML Serverを起動します。ポートは他と重複しないように9999としています。

docker run -d -p 9999:8080 plantuml/plantuml-server:jetty

下記URLにアクセスすることで、データ送信およびサーバーコンソールの表示が可能です。

http://localhost:9999/

Docker版PlantUML Serverにはjetty版とtomcat版が存在するのですが、pullした時のイメージサイズでjetty版を採用しました。機能差は分かりません。

plantuml/plantuml-server             tomcat
    771MB
plantuml/plantuml-server             jetty
    439MB

Visual Studio Code プラグイン設定

Visual Studio Codeの拡張設定で、”PlantUML”プラグインをインストールします。

インストール後、プラグインの[歯車] > [Extension Settings]から、下記2つのパラメータを設定します。

Plantuml:RenderPlantUMLServer
Plantuml:Serverhttp://localhost:9999

PlantUMLを使ってみる

PlantUMLの記述方法は、シンプルなテキストファイルで UML が書けるに詳細が記載されていますが、主だったものを紹介します。

シーケンス図作成

拡張子.puで、下記UMLを記載していきます。プレビュー画面は、Altキー+Dキーで表示されます。

下記にシーケンス図の例を示します。

@startuml
title 自販機のシーケンス
actor "ユーザー"
"ユーザー" -> "パネル" : お金を入れる
"ユーザー" -> "パネル" : 商品ボタンを押す
"パネル" -> "レジスター" : 硬貨が格納される
"ディスペンサー" -> "パネル" : ドリンクが出る
"パネル" -> "ユーザー" : 商品を取る
@enduml

ユースケース図作成

下記にユースケース図の例を示します。

@startuml
title 自販機のユースケース
left to right direction
rectangle 自販機 {
    usecase ドリンクを買う as d1
    usecase ドリンクを補充する as d2
    usecase お金を収集する as d3
}
ユーザー --> d1
業者A --> d2
業者B --> d3
@enduml

クラス図作成

下記にクラス図の例を示します。

@startuml
title 自販機のクラス図
class 自販機 {
    -ブランド名
    -製品名
    -型番
    +お金を入れる()
    +お釣りを出す()
    +商品を選ぶ()
    +商品を出す()
}
@enduml

ネットワーク図作成

PlantUMLはUMLだけではありません。ガントチャートやマインドマップ等も記述することができます。

下記にネットワーク図の例を示します。

@startuml
title ネットワーク構成図
nwdiag {
    インターネット [ shape = cloud ]
    インターネット -- リバースプロキシ
    network LAN1 {
        リバースプロキシ
        Web1
        Web2
    }
    network LAN2 {
        Web1
        Web2
        DB1
        DB2
    }
}
@enduml

図形画像出力

コード画面をクリック後、[View] > [Command Pallete…]から”Plant”と入力することで、PlantUMLのコマンドが表示されます。以下のどれかを選択し、PNG・SVG・TXTの出力種類を選択することで、指定のファイルが作成されます。

Export Current Diagramカーソル位置のダイアグラム1つをエクスポートする
Export Current File Diagramsファイル内のダイアグラムを全てエクスポートする

まとめ

Docker版PlantUML Serverを用いることで、簡単かつ高性能なUML作成環境を手に入れることができます。UMLでプログラムを表現し、より品質を向上させていきましょう。

以上、DockerでPlantUML環境構築の紹介でした。

スポンサーリンク
スポンサーリンク
スポンサーリンク
開発
Tech WalkIt

コメント