連載
» 2003年07月18日 00時00分 公開

UMLツールレビュー:モデリングツールから統合開発環境へ (2/3)

[山田正樹(有限会社メタボリックス),@IT]

設計者からプログラマまで幅広く使えるツール
Describe Developer for Sun ONE Studio 4

製品名:Describe Developer for Sun ONE Studio 4

ベンダ:日揮情報ソフトウェア

URL:http://www.jsys-products.com/product/describe/


 Describeは日揮情報ソフトウェアが販売しているUMLツールだが、ほかのUMLツールと違う点は、IDEの中での利用を前提としている点だ。IBM(旧Rational)のXDEやボーランド(旧Together)のTCCが、モデリング・ツールというよりも、IDEと呼ぶ方がふさわしいように、UMLツールからIDEへの指向がモデリング・ツールの1つの方向性を示している。スタンドアロンでも使えるが、EclipseやSun ONE Studio(NetBeans、旧Forte for Java)といったIDEのプラグインとしても使えるというツールも増えている。

 前述のように、Describe Developerを使うにはIDEが必要だ。今回はSun ONE Studio 4を別途用意した。JBuilder7あるいは8も使用可能である。

IDEとの連携が大きなカギ

 Developer版の機能はクラス図とシーケンス図の編集、Webレポートの生成作成、Javaのリアルタイムのラウンドトリップ・エンジニアリングが中心であるのに対し、Enterprise版ではさらにUML 1.4完全準拠、EJBサポート、拡張性、他ほかのツールとの連携、Java/C++/C#/VB6などのリバース・エンジニアリングなどが可能になっている。ちなみに、Enterprise版からはIDEに組み込まずに独立しても動く。「その場合動作はかなり軽くなる」と日揮情報ソフトウェアでは言う。

 マニュアル・ドキュメントは35ページの日本語チュートリアルPDFファイルがある。Webサイトも同様の情報だ。Describeは、IDEとの連携が大きな鍵になるため、マニュアルを熟読するよりも、チュートリアルを取りあえずの手本にしながら、開発の進め方に慣れていく、という手順が使用方法習得の近道だろう。

 インストールにかかった時間は約10分。そのうちSun ONE Studioのインストールにかかった時間が5分ほどだ。インストール直後のインストール・ディレクトリのサイズは約74.8Mbytes。ちなみにSun ONE Studioが94.7Mbytesである。起動には約30秒かかる。いずれもSun ONE Studio自体の設定はデフォルトのままである。

 起動するのはDescribeではなく、Sun ONE Studioである。Sun ONE Stdudioのメニューの1つに「Describe」という項目ができる。Describe関係のメニュー項目が7つほどだ。IDEの左側(Roseでいえばモデル・ブラウザに相当する場所)がDescribe用のワークスペース(エクスプローラと呼ぶ)である。ダイアグラム・エディタ以外のウィンドウは、基本的にSun ONE Studioのものを共用する。これがSun ONE Studioの基本的な作法なので、違和感はない。ただしSun ONE Studioのインターフェイスと考え方に慣れる必要がある。

 エクスプローラにはRoseのモデル・ブラウザと同様に、UMLモデル要素が階層的に表示される。この中の図をダブル・クリックあるいは右クリックで新規作成するとダイアグラム・エディタがオープンする。これだけで約5秒。

 DescribeはIDEと一緒になっているということもあり、また、Sun ONE Studioのプロジェクトの考え方があまり直感的でないということもあって、最初にプロジェクトを作るまでいくつかの作業を経なければならない。つまり、「まずDescribeのメニューからDescribeを切断した状態にし、Sun ONE Studioの流儀に従ってプロジェクトを作る。その後、再度DescribeのメニューからDescribeを接続した状態にすると、プロジェクトの保管場所を聞いてくる」という手順を踏むのである。作業中は常にJavaソースコードのエディタとダイアグラム・エディタを同時に開き、ソース・エディタ、ダイアグラム・エディタ、エクスプローラ、プロパティ・パネルを行ったり来たりしながらというのが基本になる。

ダイアグラムとソースコードの連携

 クラスには直接名前を入力することができる。右クリックで属性や操作を直接入力することもできる。クラス名を入力すると自動的にコンストラクタが作られる。また、属性を入力するとその属性に対するsetter/getter操作が自動的に追加される。基本的に、すべての情報は右クリックを使って図に直接書き込めるが、 左下のDescribe用プロパティ・パネルから入力してもよい。常に選択されている要素の情報が見えているのは便利である。だが、この場合、おそらくパフォーマンスは低下し、見づらい場合があるかもしれない。

クラスには直接名前を入力することができる(クリックすると拡大) クラスには直接名前を入力することができる(クリックすると拡大)

 クラス図に書いたクラス(名前、操作、属性など)は、その場でソースコードに反映される。これはなかなか面白い。逆に、常に実装レベルのモデリングをしているのと同じことなので、クラス名に日本語は使えない。(ただし、エイリアスを使用することで論理モデル(日本語)と設計モデル(英語)を別々に作らなくて済むエイリアスと呼ばれる別名を付けることはできる)。パラメータや型などは、その場で決めていかなくてはいけない。今のところ、パラメータ化クラスなどは描けないようだが、Javaでもサポートされていないことから、これは当然の措置なのだろう。ソースコードを変更したときは、即座にモデルに反映される。

 DescribeがSun ONE Studioに接続されるとラウンドトリップエンジニアリングが自動で行われる。Sun ONE Studioで作成したBeansやServletが自動的にDescribeワークスペースに反映されるのだ。ほかのエディタで作成したソースファイルなどは、Sun ONE Studioプロジェクトのソースファイルの保管場所に移して、Sun ONE Studioエクスプローラで、そのファイルを右クリック->ツール->ソースからモデルを更新と選択するとDescribeに取り込まれ、それ以後は自動的にラウンドトリップエンジニアリングが実行される。

 Developer版で使える図はクラス図とシーケンス図だけである。シーケンス図も基本的な情報はすべて右クリックを用いて図に直接書き込む。メッセージを書くと自動的に戻りメッセージも書かれるというように、徹底的にソースコードに対応している。メッセージのラベルも操作から選択する。シーケンス図に登場するオブジェクトはエクスプローラからクラスをドラッグ&ドロップできる。UML 2.0のシーケンス図のようにメッセージをグループ化できる点も目新しい。

シーケンス図の作成(クリックすると拡大 シーケンス図の作成(クリックすると拡大)

UMLを活用したプログラミング支援ツールという位置付けか

 アンドゥ(Undo)はSun ONE Studioのメニューにはあるのだが、Describeを使っているときにはグレイアウトしているのでおそらく使えないのだろう。バージョン管理はSun ONE Studioの機能を利用しているようだ。Sun ONE StudioではCVSなどが使えるはずだ。

 実際、Describeは、CVS、VSSなどのバージョン管理ソフトと連携することができる。Describeは、クラス単位のXMIでリポジトリが構成されており、クラスの粒度でのグループ開発が可能となっている。

 モデルからはWebレポートを生成作成することができる。日本語対応も問題ない。ほかのツールのレポート作成生成機能と同様、図のイメージとモデル要素の各種プロパティの表から構成されている。これは、1ページになっているわけではなく、階層をブラウズするフレームからリンクをたどる形式なので、ドキュメントとして印刷したものにするのには手間がかかると思うが、Webページとしてはよくできている。

 Describeは、UMLを活用したプログラミング支援ツールだという位置付けではないだろうか。ラウンドトリップ・エンジニアリングが進化すれば、Describeが目指すこの方向性は妥当だろう。

日揮情報ソフトウェアのコメント

 貴重なご意見有難うございました。モデリングツールは、単に頭の中を整理するためのものではなく、設計者から開発者まで実践で使えるものでなければならないと考えており、現場のご意見は今後の製品開発の貴重な要求事項として捉えたいと思います。

 この「Describe Developer」は、米Embarcadero Technologiesが開発し、当社がローカライズ及び日本語環境に合わせた機能要求を施した製品です。モデリング要素の日本語名/英語名の表示をワンクリック切り替えできるエイリアス機能などは、当社からの要求事項で付加した機能です。

 また、本年8月末には、今回レビューしていただいた製品の上位製品「Describe Enterprise」が登場します。

 この「Describe Enterprise」は、UML2.0準拠、GoFデザインパターンサポート、デザインパターンのカスタマイズ、他製品と連携可能なAPI提供、Eclipseサポート、ERモデルとのマッピング機能などの機能向上に加えて、「Describe

Developer」に対する機能改善を図っています。是非、「Describe Enterprise」もこのようなレビューをしていただきたいと思います。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ