Because We Love Happy Coding

フリーライターからエンジニアへ。発信力だけあり余ってる感じ

Macで(も)使えるUMLモデリングツールについて知りたい 2018

開発でユースケースを書いて、クラス図を書いて、それぞれのメンバーを洗い出して……という作業をしていると、一発でできるツールがあるばずだという気持ちに駆られる。手戻りとかあるとなおさら。

どんなものがあるか、調べてみた。

Requirements

MacOS

できれば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

BOUML - a free UML tool box

スクリーンショット見た感じではけっこう多機能。

Vaiolet UML Editor

Violet UML Editor : easy to use, completely free

Windowsのみ?

Eclipse

Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects...

AmaterasUMLがある。

AmaterasUML - Project Amateras

ArgoUML

Webの情報によればコード生成の機能はない、とのこと。

argouml.tigris.org

GenMyModel

GenMyModel

オンラインのモデリングツール。無料プランあり。

UModel

UModel UML Modeling Tool

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 Cheat Sheet - Qiita

PlantUMLの使い方 - UML図を描く - Project Unknown

【UMLツール】Visual Studio CodeとPlantUMLでソフトウェア設計図を描く方法|はやぶさの技術ノート

Visual Studio Code で UML を描こう! - Qiita

[Visual Studio Code][Windows] PlantUMLの環境を設定する(シンタックスハイライト+リアルタイムプレビュー) - Qiita

PlantUMLについては知っていたのだが、テキストで書いたものが絵になる、という程度の認識でいた。

いやしかし待てよ? テキストで書いたものが絵になるのなら、テキストで書いたものはスケルトンコードにできるのでは?

もしもクラスやメンバーをExcelで管理しなくていいのなら(そこはもしかすると慎重になるべきだが)、PlantUMLでクラスを管理し、そのままスケルトンコードへ……ということも可能なのではないか。

調べてみると、たしかにPlantUMLからスケルトンコードを生成する思想はあるようだ。

GitHub - bafolts/plantuml-code-generator: Provides a node utility to generate code in various languages given a plantuml class diagram.

これは、もう少し、調べてみる価値がありそうだぞ……。

参考記事

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

StarUML

WhiteStarUML download | SourceForge.net

BOUML - a free UML tool box

Violet UML Editor : easy to use, completely free

Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects...

AmaterasUML - Project Amateras

argouml.tigris.org

GenMyModel

Ideal Modeling & Diagramming Tool for Agile Team Collaboration