今回は、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:Render | PlantUMLServer |
Plantuml:Server | http://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環境構築の紹介でした。
コメント