JUDE-ER図版レビュー

ついにJUDEがER図をサポートするJUDE見える化のチェンジビジョンが開発を進めているUMLエディタで、最近では特に海外を中心に人気が広まっている。しかし、何故JUDEでER図なのか?こう思われる人も多いだろう。実はぼくもその一人なんだけども、実際に使ってみて得たその感触や期待感を書いてみようと思う。

JUDEは、UMLにおいては「スケッチ」派だ。つまり、MDAのような工学・製造的なアプローチではなく、スラスラと簡単に描いた(しかも美しい)図によって、思考とコミュニケーションを促進することを重視する。

今回のER対応でもそのコンセプトは一貫している。ショートカットキーを使うことで、思考を止めることなくモデリングが行えた。Ctrl+Kでプライマリーキー、Ctrl+Fで属性を追加でき、削除はCtrl+Dだ。また、属性の追加はEnterキーを使うことで連続的に行える。この使い勝手はまさにスケッチ重視のJUDEらしく、データベース・テーブルの構造を重視する競合製品とは対照的だ。ちなみにぼくが普段から愛用している SI Object Browser ERでは、エンティティ(テーブル)をダブルクリックすることで属性入力用のダイアログを表示し、そこにまとめて属性を登録していく流れとなる。また、全般的にデータベースやテーブルを意識した設計となっているため、DBエンジニアにはなじみやすい使い勝手だ。
JUDEももちろん、ドメインやデータ型などDB世界とのマッピングを行うが、UI的に一覧性が低いため、もしかすると慣れたDBエンジニアにとって少々使い勝手が悪く感じるかもしれない。
では、JUDEはどのあたりのユーザー層を狙っているのだろう?
実はER図を使うのはDBエンジニアに限られるわけではなく、いわゆる上流工程の業務モデラーもER図を活用している。JUDEは主に「業務をスケッチする」モデラーに訴求したいのだと思われる。業務モデルを描くには様々な道具が必要だ。そして、その選択肢は多いほうが良い。JUDEを使えば、UMLでも、ER図でも、マインドマップでもモデルを描くことができる。(将来のバージョンでは相互変換が可能になるらしい!)繰り返すが選択肢は多いにこしたことはない。今後チェンジビジョンからこれらの図の相互連携を生かしたモデリングスタイルが提案されてくると良いと思うし、ぼくらが勝手に生み出しても面白い。
個人的には、DAOパターンのサポートというか、ERDで記述されたテーブルの物理モデルからDAO(というよりはDTO)クラス図を生成し、さらにそこから(きっとJUDE-APIを使って)DAOのクラスを生成する、などといった連携が使えそうな予感がしている。
最後に要望をまとめたい。
少なくとも今回のβ版では、データベースとの連携機能は弱く、create tableのSQLを生成するのみで、リバース機能、DBとの同期機能はサポートされていない。
最近、現場で経験したのだが、外部システムとして扱っているデータベース(テーブル群)の構造の解析・分析が不十分であったため、運用直前になって想定していなかったデータが発見され、テストが通らないことがあった。これらのテーブルの構造は、口頭と簡単な文書での説明により理解していたつもりであったのだが、図による理解と確認が行われていなかったのだ。実際、図に書いてみれば一目瞭然だったのに!
現実的には既存のシステムはほとんどRDBをベースとしているため、ER図でその構造を見える化するの自然なことだ。「見える化コンセプト」実現のために、リバース機能は実は重要かもしれない。
また、表記法(IDEF1X/IE)の切り替えや、論理モデル・物理モデルの切り替えなどの機能はツールバーにアイコンが欲しいと感じた。JUDEのUIの慣習として、「構造ツリー」の右クリックメニューに操作が集中しているのだが、なれないとちょっと戸惑うだろう。