techium

このブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。もし何か調査して欲しい内容がありましたら、@kobashinG or @muchiki0226 までいただけますと気が向いたら調査するかもしれません。

AndroidStudioでPlantUMLを使う(Mac)

最近業務でPlantUMLを使い倒してるけど、そういえば自宅のMacbook Proには入れてなかったなーと思ったので導入してみたメモ。

「PlantUMLってなんぞや」という人はこの辺見てみると幸せになれるかも知れません*1

PlantUMLのプラグインをインストールする

AndroidStudioでPlantUMLを使うためにはPlantUMLのプラグインを導入する必要があります。プラグインはPreferencesからPluginsを選択し、UMLで検索するとPlantUML integrationというプラグインが見つかるのでそれをインストールします。

f:id:snishimura0926:20160612061548p:plain

インストール後にAndroidStudioを再起動してファイルの新規作成をしようとすると、メニュー内にPlantUMLのファイルが表示されるようになっていると思います。

f:id:snishimura0926:20160612061657p:plain

Graphvizをインストールする

PlantUMLでUMLを描画するためにはGraphvizというソフトが必要になります。Graphvizが入っていない状態でPlantUMLのファイルを作成すると、描画ができないためプレビュー画面に「graphvizが入っていない」という内容のエラーメッセージが表示されます。

MacでHomebrewが入っている環境であればbrew install graphvizでインストールできるので、必要に応じてインストールしてください。Graphvizのインストール完了後、PlantUMLファイルのプレビューが正常に表示されていればPlantUMLを使いはじめる準備は完了です。

Fizz Buzzをアクティビティ図で書く

準備ができたら試しに簡単なアクティビティ図を作ってみましょう。ここでは、条件分岐と繰り返しを含んでおりプログラマなら誰もが知っているということで、試しにFizz Buzzをアクティビティ図で表現してみましょう。

記法の詳細は専門の解説サイトを参照してもらうとして、ここではいかに簡単な記述で綺麗に整理されたUMLが作成できるかという点に注目してください。以下が今回作成したアクティビティ図です。

f:id:snishimura0926:20160612070609p:plain

ループの開始、各条件判定と処理、繰り返し、ループ終了の流れがすっきり図示されました。表示に関する調整を何も行わなくても、デフォルトでここまで綺麗な図を作成してくれます。

図の元となるPlantUMLファイルは以下のとおりです。

PlantUMLでFizzBuzzのアクティビティ図作成

記法については以下のページが参考になると思います。

http://ja.plantuml.com/activity2.html

ちなみにPlantUMLには(というかアクティビティ図だけかも知れないけど)記法が2つあって、今回のサンプルは新記法で作成したものです。

PlantUMLの記法でググると矢印(--> ←こういうやつ)で記載されているものが非常に多いですが、矢印の記法は作成された図の可視性が悪いのであまりおすすめしません。

新記法(:ここに値を書く; ←こういうやつ)で書くとPlantUMLが可能な限り直線ですっきり描画してくれるので、こちらを使う方がよいでしょう。

*1:まだastahで消耗してるの?