連載第17回(最終回)-2
UMLの基礎と応用
(株)NTTデータ 技術開発本部 副本部長
山本修一郎
■UML/EDOCを用いた開発プロセス
本稿では、Web SIで用いられるJ2EE環境を対象としてTPC-C仕様[10]に従うシステム設計を例題としてMDAの適用法を明らかにする(図3)。
図3 MDA開発プロセス
◇要求仕様定義
Enterprise Viewpointに沿ってビジネスプロセスをまとめる。今回は情報システム開発目的に限定しており、BPRのようなビジネス企画活動への適用を狙っているわけではないため、ビジネスプロセスといっても、開発対象の情報システム境界の近傍だけを記述することとした。
TPC-C仕様中の照会業務プロセス回りをCCA記法で記述した例を図4に示す。この図の中でパッケージ図の箱で表されているのがビジネスプロセスである。箱の境界に書かれた矩形の要素がポートである。
図4 ビジネスプロセス記述例
◇プロセスモデリング
プロセスモデリングはComputational Viewpointに相当する作業である。上記ビジネスプロセスモデル中で、performer
となったプロセス・コンポーネントについて、プロセスを階層的に詳細化する。TPC-C照会業務の例を図5に示す。
図5 プロセスモデルの詳細化例
◇エンティティモデリング
エンティティモデリングはInformation Viewpointに相当する作業である。これは、ユースケース駆動型開発での<<entity>>ステレオタイプクラス図で記述したものと殆ど同様である。TPC-C照会業務に関するエンティティモデルの例を図6
に示す。
図6 エンティティモデル例
◇テクノロジマッピングの策定
Engineering ViewpointおよびTechnology Viewpointに相当する作業である。J2EE用の変換規則はJ2EE環境で動作するすべてのアプリケーションに対しても適用できる。この意味でテクノロジマッピングの開発はAIM(Application
Independent Mapping)と呼ぶことができる。EDOCのPIMからJ2EEへのテクノロジマッピングの例を表1に示す。
表1 J2EEへのテクノロジマッピング例
◇PSM への変換
変換の例を図7に示す。メソッド等も加えたより詳細な記述については峰岸ら[2]で示した。
図7 J2EEクラス図への変換例
■まとめと今後の課題
今回は、最終回ということで、技術開発本部が慶応大学や東芝と共同研究している業務アプリケーション開発へのUML Profile for EDOCの適用法について紹介した。今後の課題としては、例えばビジネスプロセスモデリングやWebサービスによる非集中型の情報システム連携方式との融合、画面などユーザインタフェース開発方式との方法論としてのシームレスな統合などがある。これからも、UMLの本格的な情報システム開発への適用に向けて活発な研究開発が進められていくと思われる。
参考文献
[1]OMG Architecture Board ORMSC, Model Driven Architecture(MDA), ormsc/2001-07
-01(July 2001), http://www.omg.org/mda/
[2]峰岸巧他、MDAに基づくソフトウェア開発の事例と開発プロセス、情報処理学会第140回ソフトウェア工学研究会, 2003
[3]安東孝信他、MDAに基づくソフトウェア開発と従来手法の比較、及び実適用へ向けての考察、情報処理学会第140回ソフトウェア工学研究会,
2003
[4]神谷慎吾他、業務アプリケーション開発へのUML Profile for EDOCの適用法の提案、電子情報通信学会、知能ソフトウェア工学研究会,
2003
[5]Object Management Group(OMG)ホームページ: http://www.omg.org/
[6]OMG, UML Profile for Enterprise Distributed Object Computing Specification(Final
Adopted Specification)February 2002
[7]S.シュレィアー、S.J.メラー、オブジェクト指向システム分析続,本位田真一(監訳)、伊藤潔(監訳)、啓学出版,1992/10 、※再出版:近代科学社,1995/4
[8]Stephen Mellor, Marc J. Balcer, Executable UML: A Foundation for Model-Driven
Architecture, Addison-Wesley,2002/5
[9]Aniruddha Gokhale et al., CoSMIC: An MDA Generative Tool for Distributed
Real-time and Embedded Component Middleware and Applications, Proceedings
of the ACM OOPSLA 2002 Workshop on Generative Techniques in the Context
of the Model Driven Architecture,November 2002
[10]Transaction Processing Performance Council (TPC),TPC-C-OLTP,http://www.tpc.org/