要件の定義やシステムの設計を行うときに、仕様を文字だけでなく図式化するときにUMLを使うと思います。 よくやるのはEXCELやPowerPointなどで図を作ったりする方法かと思いますが、これらはメンテナンスが大変で、 少しの変更をするときも職人芸の様に図を動かしたりする必要があり、結構な稼働がかかったりします。
今回はテキストからUMLを作成することができるPlantUMLを紹介したいと思います。
PlantUMLとは
PlantUMLはUMLを作成できるテキストベースの言語です。
PlantUMLを使うとテキストからUMLを作成することができ、修正もテキストを修正するだけで図が直せたり、Gitなどでバージョン管理したりすることができるため、設計書などを作成する際に作業の効率化が図れると思います。
また、プレビューされた画像は.pngや.svgなどでダウンロードすることも可能です。ちょっとしたアウトプットからでもぜひ試してほしいです。
対応しているUML
現在、PlantUMLでは以下のUMLを書くことができます。
- シーケンス図
- ユースケース図
- クラス図
- アクティビティ図
- コンポーネント図
- 状態遷移図(ステートマシン図)
- オブジェクト図
- 配置図
- タイミング図
- ワイヤーフレーム
- アーキテクチャ図
- 仕様及び記述言語 (SDL)
- Ditaa
- ガントチャート
- マインドマップ
- WBS図(作業分解図)
- AsciiMath や JLaTeXMath による、数学的記法
- ER図
私がよく使うのは「シーケンス図」「ユースケース図」「クラス図」「状態遷移図」「ER図」で、他はあまり深くは使ったことないですが、UMLが編集しやすいのはすごく便利です。
私がPlantUMLでUMLを書くときはVSCodeかBoostnoteを使っています。
- VSCode (PlantUMLのプラグインを導入する必要がある)
- Boostnote (旧版のBoostnoteで対応、最新版では非対応)
超個人的にはTyporaでPlantUMLに対応していたら最強と思ってます。
参考URL: PlantUML公式(日本語版)