わすれっぽいきみえ

みらいのじぶんにやさしくしてやる

7日目: PlantUMLを触ってみる(その1)

PlantUML

会社の同期が使っていて何となく気になっていた。会社ではAtlassianのConfluenceを使っていて、いくらかプラグインを導入しており、その中の一つにPlantUMLが入っていた。

今回はとりあえず自分のPCに導入してみたよレビューをする。

インストール

macの場合デフォルトでjavaが入っているので、jarファイルさえダウンロードできればいきなり使える。
ダウンロードページから『PlantUML compiled Jar』(現在のバージョンは8012)をダウンロードする。
適当な場所に落としたら使えるかどうかの確認のために次のコマンドを打ってみる。

$ java -jar plantuml.jar -version
PlantUML version 8011 (Thu Dec 04 02:47:26 JST 2014)
(GPL source distribution)
Java(TM) SE Runtime Environment
Java HotSpot(TM) 64-Bit Server VM
1.6.0_65-b14-462-11M4609
Mac OS X

The environment variable GRAPHVIZ_DOT has not been set
Dot executable is /usr/bin/dot
Error: file does not exist
Error: only sequence diagrams will be generated

graphvizというものもインストールしておいた方がいいらしい。
macならhomebrewでインストールできる。

$ brew install graphviz
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/graphviz-2.38.0.mavericks.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring graphviz-2.38.0.mavericks.bottle.1.tar.gz
🍺  /usr/local/Cellar/graphviz/2.38.0: 469 files, 68M

graphvizをインストールしたので、もう一回javajavaしてみる。

$ java -jar plantuml.jar -version
PlantUML version 8011 (Thu Dec 04 02:47:26 JST 2014)
(GPL source distribution)
Java(TM) SE Runtime Environment
Java HotSpot(TM) 64-Bit Server VM
1.6.0_65-b14-462-11M4609
Mac OS X

The environment variable GRAPHVIZ_DOT has not been set
Dot executable is /usr/local/bin/dot
Dot version: dot - graphviz version 2.38.0 (20140413.2041)
Installation seems OK. File generation OK

環境変数が設定されてないと怒られるけども、graphvizが見つかったと教えてくれるので、これで進む。

使ってみる

PlantUMLの(分かりづらい)上のメニューにSequenceとかUse Caseとかがある。これらがPlantUMLを使ってどんな図が書けるかの説明になっている。

とりあえず図を書くところまでをやってみる。
Emacs から PlantUML を使ってみた - あらびき日記
にある書き方をパクっ参考にして

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
@enduml

上に書いた図をコンパイルしてみる。

$ java -jar ~/Downloads/jars/plantuml.jar sample.uml

上記コマンドを打つとsample.pngがsample.umlと同じフォルダに生成される。
生成された図が以下。

f:id:kimikimi714:20141207231707p:plain

結構簡単に出来た。


今日はここまで。
明日は結城先生の『デザインパターン入門』に出て来るクラス図やシークエンス図をPlantUMLで実際に書いてみる。

参考リンク