Eclipseはその性格上、プログラミングツールとして使われることがほとんどでしょう。もちろん一番威力を発揮するのはその分野ですが、プログラミング以外にもさまざまな分野のツールとして利用するためのプラグインが続々と登場しています。今回から2回にわたり、その中でも最近注目されているUMLモデリングツール「EclipseUML」プラグインを取り上げます。今回はプラグインの紹介とインストールまでを扱い、次回は実際の設計の流れに沿ってUML図の作成方法を紹介します。
EclipseUMLプラグインとは
EclipseUMLプラグイン(http://www.eclipseuml.com/)とは、その名のとおり、Eclipse上でUMLモデリングを行うためのプラグインです*1。
*1:同様の機能を持つプラグインとして、Slime UMLプラグイン(http://www.mvmsoft.de/content/plugins/slime/slime.htm)もあります。
一般的に「UMLモデリングツール」と呼ばれるものは以下の機能を持っています。
(1)UML図の描画機能
(2)クラス図からのソース生成機能
(3)ソースコードからのクラス図生成機能
(4)レポート作成機能
以下では、EclipseUMLのこれら4つの機能について確認していきます。
(1)UML図の描画機能
UML図の描画機能では、以下の図を作成することができます。
- ユースケース図
- クラス図(パッケージ図)
- シーケンス図
- コラボレーション図
- ステートチャート図
- アクティビティ図
- コンポーネント図
- 配置図
- オブジェクト図
設計する対象にもよりますが、現状のWeb系システムでは、最初の3つ(ユースケース図、クラス図、シーケンス図)が重要と考えられます。システムの構築にはいくつかの工程がありますが、このプラグインがどこで利用できるかを以下にまとめます。
要件抽出/分析 | ユースケース図、アクティビティ図 |
---|---|
基本設計 | クラス図、シーケンス図、コラボレーション図、オブジェクト図 |
詳細設計 | クラス図、シーケンス図、コラボレーション図、ステートチャート図 |
プログラミング (アーキテクチャ、構成) |
ステートチャート図、コンポーネント図、配置図、パッケージ図 |
これらからも分かるとおり、このプラグインでは、UMLを用いて分析、設計する際に使われる図がほぼカバーされています。
(2)クラス図からのソース生成機能
クラス図を作成すると、同時にクラスのJavaソースも自動で生成されます。あくまでひな型ですが、属性のsetter、getterメソッドなどが自動的に生成され、パッケージ・エクスプローラに表示されます。
また、クラス図に対してメソッド名の変更や属性の追加などを行って保存すると、同時にソースに反映されます。同様に、ソースを変更して保存すると、即座にクラス図にも反映されます。この点は、プラグインとEclipseとがうまく統合されているといえるでしょう。ただ、メソッドにコードを書いている最中にクラス図からそのメソッドを削除すると、記述中のコードも一緒に消えてしまいますので注意が必要です(誤って削除してしまった場合は、その状態を保存せずに、パッケージ・エクスプローラの当該メソッドを右クリックして、「ローカルヒストリーから復元する」を選択すると、削除したメソッドを復旧させることが可能です)。
(3)ソースコードからのクラス図生成機能
インポートしたソースからクラス図を生成できます。ただ、アイテムの配置がかなりバラバラになりますので、それは手動で調整する必要があります。
(2)「クラス図からのソース生成機能」とも関連しますが、Javaのソースと関連付けられているのはクラス図だけになります。商用製品(コラム参照)では、そのほかの図なども生成できるといった機能がありますが、現状のプラグインではそれらの機能は実装されていません。
(4)レポート作成機能
レポート作成機能では、作成した図を以下のフォーマットに変換することができます。
- GIF形式
- JPEG形式
- SVG形式
- WMF(Windows Metaファイル)形式
残念ながらまだXMI形式*2には対応しておらず、また、作成した図に表示されている日本語が、エクスポートしたときには正しく画像内に表示されません。今後の改善に期待したいところです。英語は問題なく表示されますので、状況に応じて使い分けるとよいでしょう*3。
*2:XML Meta-data Interchange:各UMLツール間でのデータのやりとりの形式。
*3:Linux版では、Xのフォントを適切に設定すると、エクスポートした画像内でも日本語が表示されます。しかし、画面に表示されるフォントと画像に出力されるフォントが異なるため、文字が枠からはみ出たり欠けたりすることがあります。
EclipseUML Enterprise Edition
本稿で扱うものは、「EclipseUML Free Edition」となりますが、これとは別に「EclipseUML Enterprise Edition」があります。Enterprise版は商用となり、Free版より機能が拡張されています。詳細は、以下のURLを参考にしてください。
http://www.eclipseuml.com/features.jsp
実際にプラグインを使う
今回の記事は、以下のソフトおよびバージョンを利用しています。EclipseUMLプラグインは、2003年4月17日にリリースされたバージョンで、Eclipse 2.1に正式に対応しました(なお、5/12付でこのプラグインの最新バージョン (EclipseUML 1.2.1.20030512)がリリースされています)。
OS | Windows XP Professional |
---|---|
JDK | JDK 1.4.1_02 |
Eclipse | Eclipse 2.1(eclipse-SDK-2.1-win32.zip) |
EclipseUMLプラグイン | EclipseUML 1.2.1.20030417(eclipseuml-installer_1.2.1.20030417.jar) |
注:EclipseUMLプラグインは、同梱されているものを含めたほかのプラグイン(EMF、GEF)のバージョンに強く依存します。そのため、Eclipse本体やそれらの最新版を利用していると正常に動作しないことがあります。各種ソフトのバージョンは、ダウンロード先のURLで動作確認されているものに統一することを推奨します。 |
Eclipse 2.1については、Java Solutionの記事「プロダクトレビュー:完成度を高め商用ツールの機能にさら迫るEclipse 2.1」を読み、日本語化を行ってください。本稿は、以降この作業が行われているとの前提で説明します。
■プラグインの入手、インストール、設定
http://www.eclipseuml.com/download.jspからプラグインを入手します。ほかに必要なプラグインも一緒になっている「Auto-Installer」から、「eclipseuml-installer_1.2.1.20030417.jar」をダウンロードするのがよいでしょう。日本語のドキュメントも同梱されています。なお、ダウンロードは無償ですが、登録が必要になります。
インストールは、上記プラグインを置いたフォルダ上で、コマンドプロンプトから「java -jar eclipseuml-installer_1.2.1.20030417.jar」を実行することでGUIインストーラが起動します。
日本語(jpn)を選択すると、所々文字が化けている部分があります。入力事項の判断は可能ですが、分かりづらければ英語(eng)を選択するとよいでしょう。以下は英語を選択したという前提で記述します。
インストールパスを決定したとき、画面2のように上書きしていいかどうか聞かれますので「Yes」を選択します。また、インストールが終了して表示される画面で右下のボタン(Quit)をクリックします。これでGUIインストーラが終了します。
次に、Eclipseを起動します。ペンディングされた更新マネージャの設定変更画面が表示されますので、すべてにチェックを付けて「Finish」をクリックします(画面3)。再起動を要求されるので再起動し、再起動後に、「ウィンドウ」→「設定」で、UMLの欄が表示されていれば、インストールは正常に終了しています(画面4)。
UML図の作成の基本
では、簡単にUML図の作成機能を説明していきます。UMLを利用した設計については、Java Solutionの以下の連載記事を参照してください。
■新規プロジェクト、パッケージの作成
サンプルとして「Javaプロジェクト」を作成します。ここでは「SampleUML」としました。クラス図からJavaのソースを生成する場合に備えるため、プロジェクトを「Java」にしています。さらに、作成したプロジェクトを右クリックして、新規パッケージを作成します(ここでは「bookdata」)。
■UML図を描く
パッケージを右クリックし、「New」→「その他」で「UML Diagram」を選択します。すると、9つの図が選択肢に表示されますので(画面5)、描きたい図を選択して「Next」をクリックします。ファイルの名前がデフォルトでいい場合はそのまま、変えたい場合は適宜入力して「Finish」をクリックすれば準備は完了です。
さて、選択した図に対応して、エディタの上部に利用できる各アイテムや関連付け用の線が並びます。「Note(説明)」「Indication(説明とアイテムの紐付け)」はUMLの図に共通なので、どの図にも記述することができます。
描きたいアイテムをクリックした後、エディタ上の空いている部分をクリックすると、必要事項の入力ダイアログが開きます。ここにプロパティなどを適宜入力して図を描いていきます。関連付け用の線の場合は、何かアイテムをクリックした後、別なアイテムをクリックすることで必要事項の入力ダイアログが開くので同様に入力します。関連付けられないもの、もしくは、選択した線で関連付けすることができないものは、選択できないようになっています(選択可能なときは対象の色が変わります)。既存のアイテムに対するプロパティの入力は、それを右クリックするか、ダブルクリックして行います。
なお、アイテムが分かりづらい場合は、「ウィンドウ」→「設定」→「UML」→「Toolbar」タブで、「with Text」にチェックを入れると、説明テキスト(英文)が一緒に表示されます。
アイテム同士の上下や左右をそろえたりすることはよくあると思います。何かのアイテムを左クリックして選択した後、Shiftを押しながら別なアイテムを右クリックすると、「Alignment」という選択肢が表示されます。
それを利用することで、アイテム同士の上下左右、中心などをそろえることができます。この場合、後からクリックした方を基準にして、先にクリックした方の位置が修正されます。また、左上の「ズーム」アイコンをクリックして、左クリックでズームイン、右クリックでズームアウトしながら細かい修正をすることも可能です。アイテムのグループ化や、前後の重なりも調整できます。
今回はここまでです。次回は、Eclipseを使ったUML図の描き方について設計工程の一例を上げながら説明します。
筆者プロフィール
山口 卓也(やまぐち たくや)
現在、株式会社NTTデータ ビジネス開発事業本部に所属。社内技術支援業務に携わり、主に、J2EEをベースにしたWebシステムに関する障害対応やトラブルシュートから方式設計、オープンソース製品関連のサポートを担当している。
筆者プロフィール
岡本 隆史(おかもと たかし)
NTTデータ 技術開発本部 所属。Debian GNU/Linuxの優れたメンテナンス性と他のディストリビューションを圧倒するパッケージ数に引かれDebianを使い始めたのをきっかけに、Debian プロジェクトの開発者となりJavaサポートの強化を行う。『Jakartaプロジェクト徹底攻略』(技術評論社)、『WEB+DB PRESS』(技術評論社)、『Java World』(IDGジャパン)、『JAVA Developer』(ソフトバンクパブリッシング)などで執筆活動を行っている。
Copyright © ITmedia, Inc. All Rights Reserved.