TOP
>
プロジェクト管理
> ドメイン(問題領域)ごとのモデリング環境
モデル駆動型開発手法「Software Factories」の全貌
第1回:IT産業に革命を起こすSoftware Factories
著者:
マイクロソフト 成本正史
2006/8/8
前のページ
1
2
3
ドメイン(問題領域)ごとのモデリング環境
モデリングとは何か。開発の各段階におけるステークホルダ(関係者)の意図を可視化するという行為がモデリングである。
当たり前のことだが、業務をモデル化するのとデータセンターをモデル化するのでは作業者の持つ知識・スキルは大きく違うという前提に立つ必要がある。しかしその前提に立ったモデリング環境は従来存在しなかった。むしろすべてのモデリングを単一の言語で実行しようという試みが主流だった時期もあったのである。これは不自然な環境といわざるを得ない。
Software Factoriesでは上流から実装にいたるまでステークホルダの関心事に最適なモデリング環境を提供する。これがDomain Specific Language(DSL)と呼ばれるものである。DSLはその名の通りドメインのエキスパートごとに使いやすいモデリング環境を提供する。例えばそれが表形式のものでもよければGUIでもよいわけである。
モデル駆動型開発手法
まずは図3をご覧いただきたい。
図3:モデル駆動型開発
図3中に存在する「ビジネスケーパビリティ」や「物理的なサーバ構成」がモデルと呼ばれるもので、あるモデルが別のモデルへと変換され、最終的に実行可能なソフトウェアモジュールがデータセンターに配置されることになる。この一連の作業をモデル駆動型開発と呼んでいる。
DSLの例を取り上げてみよう。例えば今後主流になるサービス指向アーキテクチャに基づいたシステムを構築するためのDSLとして存在するのが図4に示す「分散システムデザイナー」である。このDSLによりシステムを複数のWebサービスの結合として表現することが可能となる。
図4:DSLの例(SOAデザイナー)
(画像をクリックすると別ウィンドウに拡大図を表示します)
また他のDSLとして「論理データセンターデザイナー」というものがある。その名の通り論理的なデータセンターを定義するためのものだ。そして「配布デザイナー」というDSLでWebサービスの配布に関する妥当性検証を可能とする。
このようにそれぞれのモデル化対象ごとに使いやすい表現を提供することで、作業者にとっての生産性は大きく向上することになる。そして肝心なのは各モデル生成物の間が整合性を保ったまま連携されているということである。これをモデル間のマッピングと呼ぶ。
マッピングには抽象度を上下するための垂直のマッピングと、構造変換や妥当性検証を伴う水平のマッピングの2種が存在する。そして図4に示すようにこれらのマッピングを行うのに各種パターンが適用され、作業は自動化もしくは部分的な自動化によって達成されることになる。
Software FactoriesがもたらすIT産業の構造改革
わが国のIT産業はオフショアの進出を無視することはできない、日本としていかに競争力を発揮するかが問われることになる。
前述した通り答えは
「国内で一番、さらには世界で一番優れたソフトウェアを作ること」
にある。図5はSoftware Factoriesの地域展開例を図示したものである。
図5:Software Factories Initiative
Software Factoriesでは、ユーザインターフェースのデザインやテストといった特定作業のエキスパートとなる組織が各地域に誕生し、マーケットにおける競争力を発揮することが期待される。
つまり札幌にアーキテクチャ構築セルが、沖縄にユーザインターフェースのデザインセルが存在し、それぞれが東京の大手エンドユーザの開発案件を受注し、ネットワーク化された組織によりソフトウェアが完成されるという図式だ。
これは当社が推進中の「ITによる地域活性化」を達成する1つの方向性である。このように、地域特性を活かした競争力を発揮できる構造に進化することで産業全体の活性化が実現されるのである。
Factoriesという単語からは開発作業の単純作業・均一化が連想されるが、本構想が目的としているのはその逆で、それぞれの組織が強みを発揮したソフトウェア産業全体の発展である。
前のページ
1
2
3
著者プロフィール
マイクロソフト株式会社 成本正史
デベロッパー&プラットフォーム統括本部
戦略企画本部 戦略担当部長
ファクトリーオートメーションの分野でソフト・ハードの開発を担当し、当時日本ではじめてVBAスクリプトの初実装を手がける。1999年にマイクロソフトに入社。COMや.NETに関する開発コンサルティングを行い、現在「アーキテクトエバンジェリスト」として技術面の啓蒙活動中。
INDEX
第1回:IT産業に革命を起こすSoftware Factories
はじめに
Software Factoriesが提供するイノベーション
ドメイン(問題領域)ごとのモデリング環境