PR

Javaの統合開発環境(IDE)の重要性が高まり,機能強化が進んでいる。クラス図とコードの相互変換などにより,コードの理解や修正効率を向上させているユーザーが増えている。ただし,多機能なツールは高価であり,コスト効果を引き出すためには必要な機能の見極めが重要だ。

表1●主なJava IDE製品(スペック/モデリング機能編)
*1 販売:日本ラショナルソフトウェア,URL:http://www.rational.co.jp/,価格:50万4000円,J2EE1.3に対応。囲み部分は本製品が提供する機能となる
図1●クラス図とソース・コードが同期をとる
UML連携機能を備えたIDEではクラス図とソース・コードが相互反映できるため,「ラウンド・トリップ開発」(1)や,クラス名の一括変更(2)が可能だ。左の画面は,トゥゲザーソフト・ジャパンのTogether ControlCenter 6.0。右の画面は,日本ラショナルソフトウェアのRational XDE Professional v2002 Java Platform Editionを統合した日本IBMのWebSphere Studio Application Developer V4.03
表2●IDEを導入した企業が評価するメリットと利用上の注意点

 J2EE*の普及に伴い,経験の浅い開発者でも速く,品質の高いコードを作成できるようにするため,統合開発環境(IDE:Integrated Development Environment)の重要性が高まっている。「テキスト・エディタでの開発と比べ,コーディングの速さは2~3倍」(ウルシステムズ シニアコンサルタント,テクノロジ 岩崎浩文氏)という。

 IDE自体の機能強化も進んでいる。UML*との連携が進み,クラス図とJavaソース・コードとの相互変換機能はほとんどのIDEが備えるようになった。同機能を利用している開発現場では,システムの理解やコミュニケーション,コード修正の効率向上に役立つという意見が多い。

 ただし,多機能なツールは高価であるため,コスト効果を高めるには,製品選択や使用方法に注意が必要だ。「エディタとデバッガを使用するだけなら,無償のIDEも実用に堪える」(テンアートニ Web Solution事業部 プロジェクト推進グループ システム・エンジニア 木幡善文氏)と評価する開発者もいる。

UMLモデリングとの統合が進む

 IDEとは,統一したインタフェースでコーディング,コンパイル,デバッグ,デプロイ(EJBのWebアプリケーション・サーバーへの配備)などの一連の開発作業が可能な開発ツールである。ウイザードによりクラスやEJBなどのひな型を作成したり,JUnit*などを使った単体テストの自動実行,バージョン管理,などの機能も備える。

 ほとんどのIDEがクラス図をサポートしているほか,UMLモデリング・ツールとの統合も進んできた(表1[拡大表示])*1

 UML連携の内容は以下のようになる(図1左[拡大表示])。まず,UMLのクラス図やシーケンス図などからインタフェース情報を解析し,ソース・コードのひな型を自動生成することを「フォワード・エンジニアリング」と呼ぶ。開発者は自動生成されたひな型に業務ロジックを実装する。逆に,ソース・コードからUML図を自動変換するのが「リバース・エンジニアリング」である。

 さらに,フォワード・エンジニアリングとリバース・エンジニアリングを繰り返して開発を進めてゆく手法を「ラウンド・トリップ開発」と呼ぶ。

 これらの機能を実際に利用した上でメリットと感じるユーザーが増えている(表2[拡大表示])。システム全体を理解するためには「ソース・コードを1行1行読み進めるより,リバース・エンジニアリングで生成したクラス図で把握するほうが早く正確」(ウルシステムズ 岩崎氏)だからだ。

 「仕様書のないソース・コードを理解するためにクラス図を生成する」(テンアートニ Web Solution事業部 プロジェクト推進グループ システム・エンジニア 木幡善文氏)など,ドキュメンテーションにも利用できる。

 クラス名の一括変更などのリファクタリング*機能も評価が高い。あるクラス名を変更すると,継承関係にあるサブクラスなどの影響範囲を自動的に検出し修正を行う機能(図1右[拡大表示])などである。「クラス数が1000を超えるような大規模開発において,名前変更は単純なだけにリファクタリング機能の効果は大きい」(ウルシステムズ 岩崎氏)。