TOPプロジェクト管理> Software Factoriesが提供するイノベーション
モデル駆動型開発手法「Software Factories」の全貌
モデル駆動型開発手法「Software Factories」の全貌

第1回:IT産業に革命を起こすSoftware Factories

著者:マイクロソフト  成本正史   2006/8/8
前のページ  1  2  3  次のページ
Software Factoriesが提供するイノベーション

   ではSoftware Factoriesが先ほどあげた4つの解決方法をどのように提供するのか具体的に紹介していこう。

可変的な部分に対する効率的な開発環境を提供

   まずは単純な問いかけからはじめてみたい。同じようなソフトウェアを作成しているのに、なぜソースコードのコピー&ペーストでいけないのか。ばかげた意見だとお考えかもしれないが、これこそがソフトウェア開発を劇的に進化させるポイントなのである。

   端的にいえば同じように見えるが少しづつ違う箇所(可変ポイント)が多数存在するため、単純なコピーでは駄目なのである。では少しづつ異なる箇所(可変ポイント)は全体のどれくらいの割合か考えてみよう。

   汎用ドメインを対象とした場合、つまりあらゆる業種やアプリケーション種別を同一のものと考えた場合には可変ポイントは8割程度存在する。しかし同じドメインを対象とした場合は多くても3割、それ以上多いようだと要件の定義に問題があるといえる。単純に考えると同一ドメインでは7割の再利用ができるはずだ。

   このように考えると必要な作業は似通ったドメインを特定することと、そのドメイン内の可変ポイント(3割の部分)を明確にすることだけである。この概念を図1に示す。

ドメイン特化によるマスカスタマイゼーションへの対応
図1:ドメイン特化によるマスカスタマイゼーションへの対応

   例えば自動車産業の場合、産業としての製造工程はマスプロダクションである。つまり同じデザインで大量生産が行われるという特長を持つ。

   それに対してソフトウェア産業はマスカスタマイゼーションである。ある製品デザインの一部が再利用され、それに差分が加わって別の製品が作成される、つまり極少量多品種生産という特徴を持った産業である。

   しかし作成するソフトウェアプロダクトは、似通ったもの同士を分類してプロダクトファミリーを形成することが可能だ。マスカスタマイゼーションに対応するには、このプロダクトファミリーを抽出し、そのファミリーに共通する箇所を汎用的なソフトウェア資産として構築し、ファミリー内でその資産を再利用するというアプローチをとることが望ましい。

   このように特定のドメイン(プロダクトファミリー)に特化することで、その範囲内での汎用部品、フレームワーク、開発プロセスなどのソフトウェア資産が高い再利用性を発揮できるようになるわけである。

Feature Modeling

   次にこの可変部分を可視化するための技法が必要である。図2に示すFeature Modelingという手法はプロダクトライン向けのドメイン分析手法として適している。Feature Modelingを用いれば、ドメイン分析の時点であらかじめ「固定的なFeature」と「可変的なFeature」を区別してモデリングを進めることが可能となる。

Feature Modelingの例
図2:Feature Modelingの例

   図2の例で説明すると黒丸で示されているのが必須のFeatureで白丸がオプショナルなFeatureである。このような技法を駆使することで、可変部分に対して初期段階から対処し、開発途中もしくは完了後のカスタマイズ要求に迅速に対応することが今後のソフトウェア開発を進化させるキーポイントとなる。

前のページ  1  2  3  次のページ


マイクロソフト株式会社  成本正史
著者プロフィール
マイクロソフト株式会社  成本正史
デベロッパー&プラットフォーム統括本部
戦略企画本部 戦略担当部長

ファクトリーオートメーションの分野でソフト・ハードの開発を担当し、当時日本ではじめてVBAスクリプトの初実装を手がける。1999年にマイクロソフトに入社。COMや.NETに関する開発コンサルティングを行い、現在「アーキテクトエバンジェリスト」として技術面の啓蒙活動中。


INDEX
第1回:IT産業に革命を起こすSoftware Factories
  はじめに
Software Factoriesが提供するイノベーション
  ドメイン(問題領域)ごとのモデリング環境