PlantUMLでUML図をソースコードと一緒に管理する

これまで astah* などのソフトを使ってUML図を書いてきたのですが、改めてUMLツールについて調べてみると、PlantUML が良さそうに思えてきました。

一般的なUML描画ソフトの問題点

UMLに特化した描画ソフトはそれなりに使いやすいのですが、以下の点で問題を感じていました:

  • 図の細かい微調整が面倒。
  • 修正した時に差分がわかりにくい。
  • ソースコードUML図が別で管理されているため、メンテされなくなる。

PlantUML

ネットで探し回った結果、PlantUML が良さそうに思えました。

PlantUML はテキストでUML図を記述できるツールです。

テキストなので、上記の問題点がすべて解決されます。

  • 図は自動的に生成されるため、細かい微調整は不要。
  • テキストなので、差分が明確にわかる。
  • テキストなので、ソースコードと一緒に管理できる。

GitHubなどでプルリクする時にUML図も修正しておけば、継続的にメンテできますね。

PlantUMLのインストー

Macでは、JavaとHomebrewが入っている前提で、

brew install plantuml

でインストールできます。

Windowsでは jar ファイルをダウンロードするようです。詳細は、本家のページ を参照してみてください。

IDEプラグイン

PlantUML単体だと、コマンドラインでイメージファイルを生成することになるので、IDEプラグインを使った方が楽です。

メジャーなIDEVisual Studio Code, IntelliJ, Eclipseなど)では、プラグインが存在しているようです。

書き方

PlantUML のページで各図のページを参照してください。

あとがき

図をテキストで書けるだけで、ちょっと書いたり、直したりしたくなりますね。

最近は、なるべく設計書を書かない風潮になっていますが、こういったツールがあると、設計書を書いてもいいかなという気になります。

おまけ

PlantUMLの裏では、Graphviz というツールが使われており、Graphvizを使うとUMLに限らず、グラフ的な図がいろいろ書けます。

このGraphvizを裏で使っているツールがいろいろあるわけですが、「UI Flow」という画面遷移図を書く記法が使える「uiflow」が良さ気です。

VS Code のプラグインも提供されていて、なかなか使いやすいです。

UI Flow 自体があまり流行っていないのが残念ですが、これから流行らせたいですね。

 

追記:PlantUML Web Server(2017-07-31)

PlantUML Web Server というものがあり、オンラインで図を生成できます。

また、図のURLも生成されるので、ブログに貼り付けたりできますね:

sequence