開発でユースケースを書いて、クラス図を書いて、それぞれのメンバーを洗い出して……という作業をしていると、一発でできるツールがあるばずだという気持ちに駆られる。手戻りとかあるとなおさら。
どんなものがあるか、調べてみた。
Requirements
できればWindowsもあるとベター。
情報収集、リスト入手
astah Community Edition Alternatives and Similar Software - AlternativeTo.net
AlternativeToは、こういうソフトが欲しいなー、と思った時に一応覗いてみることが多い。astahの代替ソフトを探してみると、こんな感じ。
diagram - What's the best UML diagramming tool? - Stack Overflow
StackOverflowでも話題になっていた。
List of Unified Modeling Language tools - Wikipedia
上記StackOverflowで紹介されていたWikipediaの記事。
astah
最初に名前が挙がるのがどうもastah
astah システム設計、ソフトウェア開発支援ツール | astah*
professionalは年12,000円、UMLは8,000円らしいので、それだったらprofessionalにしちゃうかなぁ。
初回28,000円払うと、7,500円/年でサポートを更新できるらしいので、えーと何年で元がとれるんだ。4年?
Intellij IDEA
Intellij IDEAはダイヤグラム生成機能を持っている模様。ダイヤグラムからのコード生成はないのかな。
IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains
Visual Paradium
Ideal Modeling & Diagramming Tool for Agile Team Collaboration
オンラインのモデリングツール。月6ドルから。コード生成ありそう。他のIDEのプラグインとして使えるみたい。
StarUML
StarUML StarUML - Browse /staruml/5.0 at SourceForge.net
なかなかよさそう。StarUML5ではWindows専用になっちゃった?
WhiteStarUML
WhiteStarUML download | SourceForge.net
StarUML5から派生したものらしい。
BOUML
スクリーンショット見た感じではけっこう多機能。
Vaiolet UML Editor
Violet UML Editor : easy to use, completely free
Windowsのみ?
Eclipse
AmaterasUMLがある。
AmaterasUML - Project Amateras
ArgoUML
Webの情報によればコード生成の機能はない、とのこと。
GenMyModel
オンラインのモデリングツール。無料プランあり。
UModel
- Windows
- コード生成あり
119ドルのBasicEditionから。
Sparx
UML modeling tools for Business, Software, Systems and Architecture
個人向けの価格プランはなさそう。
まとめ
やはりastahが一番良さそうかなぁ。PHPのコード生成もあるし……。
自宅での開発はMacでやる予定なので、Mac版がまったくないというのだと、ちょっと困る。
それにしても、コードから図を生成する機能はけっこうあるけれど、UMLからコードを生成できるソフトはあまり多くないような。開発の流れからするとUML→コードだと思っていたんだけど、そうでもないのかな。
そのうち、対応OSとPHPコード生成と価格プランをまとめてもうちょっと記事らしくするかも。
PlantUMLからスケルトンコードを作成する
ところがところが。後になって、異なるアプローチがあることに気が付いた。
PlantUMLである。
PlantUML - Visual Studio Marketplace
PlantUMLの使い方 - UML図を描く - Project Unknown
【UMLツール】Visual Studio CodeとPlantUMLでソフトウェア設計図を描く方法|はやぶさの技術ノート
Visual Studio Code で UML を描こう! - Qiita
[Visual Studio Code][Windows] PlantUMLの環境を設定する(シンタックスハイライト+リアルタイムプレビュー) - Qiita
PlantUMLについては知っていたのだが、テキストで書いたものが絵になる、という程度の認識でいた。
いやしかし待てよ? テキストで書いたものが絵になるのなら、テキストで書いたものはスケルトンコードにできるのでは?
もしもクラスやメンバーをExcelで管理しなくていいのなら(そこはもしかすると慎重になるべきだが)、PlantUMLでクラスを管理し、そのままスケルトンコードへ……ということも可能なのではないか。
調べてみると、たしかにPlantUMLからスケルトンコードを生成する思想はあるようだ。
これは、もう少し、調べてみる価値がありそうだぞ……。
参考記事
astah Community Edition Alternatives and Similar Software - AlternativeTo.net
diagram - What's the best UML diagramming tool? - Stack Overflow
List of Unified Modeling Language tools - Wikipedia
UML modeling tools for Business, Software, Systems and Architecture
astah システム設計、ソフトウェア開発支援ツール | astah*
IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains
WhiteStarUML download | SourceForge.net
Violet UML Editor : easy to use, completely free
AmaterasUML - Project Amateras
Ideal Modeling & Diagramming Tool for Agile Team Collaboration