定番UML CASEツール PlantUML
ソフトウェア開発者としてのキャリア、大学時代も含めて、これまでソフトウェアエンジニアリングを支援する様々なツールを使う機会がありました。 モデリングの分野で最も有名なツールがUML(Unified Modeling Language)やBPMN(Business Process Model and Notation)に関連するものであることには、誰もが同意するでしょう。私たち開発者が最もよく使うのは前者で、BPMNはビジネスサイドの人々によく使われます。
最も人気のあるプロフェッショナルなUMLツールのリストには、Visual Paradigm、Enterprise Architect、Lucidchart、あるいはIBMのRational Software Architectといったアプリケーションが間違いなく含まれるでしょう。これらは、非常に複雑なプロジェクトや外部製品との連携を含む、ほとんどのユースケースをサポートしています。しかし、あなたのプロジェクトに、本当にそんなに複雑で、時には扱いにくいソリューションが必要かどうか、考えたことはありますか?
時には、1つの図や、小さくて独立した図をいくつか作成するだけでいい場合があります。時間に追われていて、まだ何も準備できていないかもしれません。大学時代、私の同僚の間ではDraw.ioが非常に人気でした。ブラウザで開いて、ドラッグ&ドロップすれば、はい、できあがり!というサイトです。小さなプロジェクトのための、手間いらずのモデリング。でも、本当にそうでしょうか?私はドラッグ&ドロップやWYSIWYGタイプのエディタがあまり好きではありませんでした。少なくとも、LaTeXやMarkdownを使う機会があるまでは。その時、コーディングに近い宣言的な言語を使うツールの方が、ずっと速く作業を終えられることに気づいたのです。
幸運なことに、最初の論文を書いていた時にPlantUMLを見つけました。シンプルで直感的な言語で数行書くだけで、一貫性のあるUML図を素早く作成できるツールです。
Bob->Alice : hello
簡単でしたよね?でも、それだけではありません。この1行をコピーしてオンラインアプリケーションに貼り付けるだけで、最も一般的なフォーマットの図を手に入れることができます。要素は自動的に配置・調整されます。UMLモデリングがこれほど楽しく、もっとやりたくなるようなツールが、ついに登場したのです。おっと、でも夢見心地でばかりはいられません。私はすでにPlantUMLで何百もの図を作成してきたので、このツールの長所と短所について、もっと詳しくお話しできます。
長所:
- オープンソース
- 少し学習すれば、素早く簡単にUML図を作成できる
- 要素の配置やサイズ調整に時間を取られない
- テキスト形式なので、図のインポートや共有が簡単(VCSにぴったり)
- オンラインエディタはインストールや設定が不要
- 可逆圧縮形式を含む、最も一般的なフォーマットをサポート
- Javaコード内でライブラリとして使用可能
- 多数のインテグレーションやプラグイン
短所:
- 複雑なケースではドキュメントを読み込む必要がある(例:シーケンス図のライフライン)
- すべての図が思い通りになるとは限らない(大学の課題でアクティビティ図に苦労した経験あり)
- 要素が多い図では、配置は可能だが制限がある
- アプリケーションというよりはツール(でも、これってデメリット?)
ちなみに、エイリアスやテキスト形式のおかげで、図の翻訳は一瞬で完了します。というわけで、これが中小規模のプロジェクトや独立した図を作成する際の私のおすすめです。あなたはどうですか?お気に入りのUMLツールはありますか?