JavaやEJBといったオブジェクト指向技術を使うシステム開発の際に,オブジェクト・モデル作成とその表記法としてUMLが標準になりつつある。UMLベースのモデル作成ツールを使えば,ユーザーの要件の分析やその定義,対応したクラス図の作成まで,フェーズを分けて設計できる。クラス図を元にソース・コードを生成することも可能である。有力インテグレータがこぞって採用しており,JavaやEJBと同じように急速に普及しそうだ。
写真1 「UML Forum/Tokyo 2001」会場の様子 UMLのモデリング・ツールや開発ツールなどのデモが展示された。 |
EJB(Enterprise JavaBeans)でアプリケーションを開発する際に,UML(統一モデリング言語)を使って設計するスタイルが標準になりつつある。UMLは,OMG(オブジェクト・マネジメント・グループ)が規定したオブジェクト指向設計用のドキュメント表記法。JavaやEJBを使ったシステム開発を手がけるインテグレータの多くは,すでにUMLを採用している。富士通や日本IBM,イーシー・ワン,ウルシステムズなどは,口をそろえて「UMLはEJBの開発には不可欠」と断言する。
おりしも3月21日,22日に東京ファッションタウンTFTホールで開催された「UML Forum/Tokyo 2001」(写真1)では,日本ラショナルソフトウェア,富士通,オージス総研など16社が,UMLモデリング・ツールなどを展示した。UMLとJavaを使った開発事例も多数紹介され,各セッション,チュートリアルとも大盛況。UMLへの関心の高さをうかがわせた。
さらに今後,EJBコンポーネントが流通するようになると,そのクラス構造などを示すドキュメントにもUMLがほぼ標準として使われるようになる。EJBコンポーネントのマーケット・プレイスを運営するコンポーネントスクエアでは,特に表記法はUMLに限定してないが,「ほかに良い選択肢はないので,UMLになるだろう」(コンポーネントスクエアの中台高宏氏)という。
8種の図を作成し要件を具体化
なぜ今インテグレータがこぞってUMLを採用し始めているのか。
現在の多くのWebシステムは,短期間で構築しなければならないことが多い。そのために,要件分析や上流設計がおざなりになりがちだ。結果としてオブジェクト化がうまくいかなかったり,個々の品質が落ちるといった事態を引き起こす。「上流設計をしっかりしないためにシステムが破綻してしまう」(日本ラショナルソフトウェア プロダクト担当マネージャーの渡辺 隆氏)ケースが多いのである。
写真2 UMLのモデル図を作成する (日本ラショナルソフトウェアの「Rational Rose 2000e」) |
UMLを使ったオブジェクト指向設計では,製造工程よりむしろ分析・設計工程に十分な時間をかける。
UMLでは「ユースケース図」,「クラス図」,「アクティビティ図」,「コラボレーション図」,「シーケンス図」,「ステートチャート図」,「コンポーネント図」,「配置図」といった8種類の図の仕様が定められている。最終的な目標はクラス図を作ることにあるので,8種類の図をすべて作成する必要はない。
モデル作成の手順としては,まずユースケース図を作成しながら,ユーザーの要件を分析し,モデル化することから始める(写真2)。このときには開発者とエンドユーザーが協力して作業を進める。UMLによる表記は直感的に分かりやすいので,開発者とユーザーの意思の疎通にも役に立つ。仕様書の表記が分かりにくいと,ユーザーの理解を得るのに時間がかかるばかりか,誤解されることさえある。大きな手戻りが起きることにもなりかねない。UMLという標準的な表記法に基づいていればそのようなことはなくなる。「分析に時間をかける勇気が必要だ」(日本テレロジック プロフェッショナルサービスの斎藤 弘通氏)という。
さらにほかの図をいくつかのフェーズに分けて作成していくことで,十分行き届いたシステム設計が可能になる。
ひな型も作れるUMLツール
UMLによるモデル図を作成するためのツールも出そろいはじめた(表1)。いずれもGUIによる簡単な操作でモデル図を作成できる。クラス図からJavaのソース・コードのひな型を出力する機能を備えているので,あとはビジネス・ロジックを書き加えるだけでアプリケーションが出来上がる。また,逆にJavaのソース・コードに加えた変更を,クラス図に反映させることも可能である。
設計した内容を誰にでもわかるように記述する手法としては,事実上,ほかに選択肢はない。JavaやEJBを使ったシステム開発が一般的になるのと同様に,UMLも仕様書の標準の表記法として普及していくだろう。
| ||||||||||||||||||||||||||||||||||||||||||
表1 主なUMLモデル図作成ツール 価格は,モデル図からソース・コードを出力する機能を備えるスペックのもの。 |