PR
2004/03/21 23:58 更新


Java開発者への提案「手軽な道具として使うUML」 (1/2)

スピードが求められるWebアプリケーション開発。設計段階の確立こそがプロジェクト成功へとつながる、と言われる昨今、具体的にはどうすればよいのかと悩む人が多いはずだ。ボーランドが現場重視な観点からの回答を示してくれた。

 最近は設計段階におけるモデリングがクローズアップされつつあるが、そのスタンダードな言語「UML」は、抽象的表現があり意外と覚えることが多い。そして、多くの人が「導入したいと思ってはいるけれど」と様子を見ている理由には、設計段階に効力を発揮するものの開発段階には関わらないという背景があるからだ。UMLはどちらかというと、仕様書をしっかりと整備するというアプローチの言語だ。

 日々成長、改善を強いられるWebアプリケーションには、ソースコード先行で逐次仕様を見直すということもあるだろう。そのような現場には、機転の利く開発形態が求められている。

 ボーランドのJava開発ツール「Borland JBuilder X Developer」(以下、JBuilder X Developer)には、Javaのソースコードと完全に連動するモデリング機能を付加できるプラグイン製品「Borland Together Edition for JBuilder X Developer」(以下、Together Edition for JBuilder X)がある(関連レビュー記事)。

 JBuilder+Togetherでは、「設計者のためのUMLではなく、開発者の道具となるUML」として活用できることが特筆すべき点だ。極端をいえばUMLを知らなくても、その恩恵を受けた開発が可能になる。

JavaエンジニアがUMLを自然と身につけていける

 JBuilder+Togetherのメリットは、UMLという便利な機能が追加されながらも、開発者にUML自体を強要しない点だ。

 Together Edition for JBuilderにおけるUMLの位置付けは、開発者が便利に使うツールのひとつでしかない。その理由は、UMLのモデリングとソースコードが完全に同期していることにあり、「使いたい時にだけUMLを使う」というスタイルで構わないからだ。実際、リファクタリング機能によって、既存のプロジェクトからUMLモデリングの生成も可能だ。

 一般的にUMLというと、たくさんの図形や矢印の意味など、学習するために覚えることが多いのが実情だ。そして、「UMLは便利だとは分かっているけれども、UMLを覚える時間がない」とか「UMLを使うよりも、コードを書いてしまったほうが早い」と思い、なかなかUMLの導入に至れない開発者も多いだろう。そのような人にこそ、JBuilder+Togetherをおすすめしたい。コードを記述すれば自動的にUMLが生成されるため、使うための学習が必要ない。もっと言えば、UMLをまったく知らない人でもコードとUMLとの対応が把握できるようになってくるという側面もある。

 またある程度のプロジェクトにおいて、開発に付随する提出ドキュメントの一部としてUMLによる図を添付しなければならない場面でも、Together Edition for JBuilder Xが便利だ。すでに作成したコードからUMLを自動生成できるため、ドキュメントのためだけにUMLを作成し直す必要はない。当然、完全同期なので、「コードを編集したからUMLの図を手作業で直す」などという手間となる作業も生じない。

Java開発を効率化するJBuilder X Developer−2Wayから3Wayへの進化

 開発の根底を支えるJBuilder自体にも目を向けてみよう。

 JBuilderは、Javaの持つオープン性を維持しながら開発を効率化する、世代を重ねた定評ある開発ツールだ。特に最新バージョンのJBuilder Xでは、Strutsのビジュアル開発などWebアプリケーション開発機能を強化している(画面1)。JBuilder Xの機能についての詳細は、関連レビュー記事を見てほしい。

fig01.gif

画面1■JBuilder X DeveloperにおけるStrutsアプリケーションの開発。アクションデザイナを使うと、ビジュアルにStrutsの状態遷移を把握できる


 JBuilderの最大の特長は、マウス操作などによって開発を効率化するビジュアルツール(GUI)とソースコードによる編集(コードエディタ)で完全に両立できる点だ。ビジュアル開発ツールと名が付く開発ツールには、ビジュアル操作とコードが完全に同期しておらず、ビジュアルツールで編集するとせっかく整えたソースコードを乱してしまうものもある。しかし、JBuilderにはそのようなことがない。

 実際の開発現場では、ソースコードで書いたほうが早いこともあるし、開発段階で変更が加わることも多い。さらに、ビジュアルツールで編集したほうがよい場面もある。たとえば、XML形式の設定ファイルなどはビジュアルツールで設定した方が簡単だ。ビジュアルとコードが完全に同期していれば、ビジュアルツール、コードエディタ、それぞれの一方からの編集に限定されないため、開発者は安心して開発シーンに応じた効率のよい開発ができる。これは、いちど体験すると分かるが、後戻りができなくなる形態だ。そして、Togetherが加わることでさらに進化を遂げた。

UMLとソースコード、GUIがすべて同期するメリットは多様な開発形態への対応

 Together Edition for JBuilder Xは、前述のJBuilder X Developerのプラグインとして動作する。

 Together Edition for JBuilder Xを組み込んだJBuilder X Developerは、前述のように「GUIなどのビジュアルツールとソースコード」が連動する2Wayをさらに進め、「UMLによるモデリングとビジュアルツール、コード」を完全に同期できる3Wayによる開発が可能になる。

 Together Edition for JBuilder Xは、UML 1.4に完全対応しており、UML 1.4に準拠するすべての図を記述できる(画面2)。最新の流れにもいち早く追従している。

fig02.gif

画面2■Together Editionが対応するUMLの図。コーディングに強く関与するクラス図やコンポーネント図はもちろん、ユースケース図などのコーディングに強く関与しない図も描ける


 しかし、その効能はこれだけに止まらない。Java開発者がコードを書いていく中でひんぱんに見たくなると思われるUML図(ダイアグラム)は、「クラス図」だろう。Together Edition for JBuilder Xでは、クラス図におけるクラスが、完全にJavaのクラスに対応する。クラス図を変更すれば、Javaのソースコードが変更され、逆に、Javaのソースコードを変更すればクラス図もリアルタイムに変更される。属するプロパティやメソッドはもちろん、インプリメントされているインタフェースや継承も正しく反映されるのだ。

fig03.gif

画面3■Together Edition for JBuilder Xにおけるクラス図とコーディング


 クラス図(上部)とコード(下部)は完全に同期している。そのため、片方を変更すればもう片方にも反映される。Javaのプログラミングは多数のクラスで構成されるため、UMLによるクラス図は全体の概要を把握する場合に大いに役立つのだ。

 Java開発ツールがこれまで追求してきた機能は、ひとつのクラスをいかに効率よく開発するかというものだ。しかし、実際のアプリケーションでは、複数のクラスが複雑に関係し、その構造を把握することが困難になる。JBuilder+Togetherを使えば、常に鳥瞰図を意識しながら詳細を開発できる。これが特に威力を発揮するのは、Webアプリケーションをはじめとするインターネットアプリケーション開発だ。

      | 1 2 | 次のページ

[ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.