|
||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||
| Software Factoriesが提供するイノベーション | ||||||||||
|
ではSoftware Factoriesが先ほどあげた4つの解決方法をどのように提供するのか具体的に紹介していこう。 |
||||||||||
| 可変的な部分に対する効率的な開発環境を提供 | ||||||||||
|
まずは単純な問いかけからはじめてみたい。同じようなソフトウェアを作成しているのに、なぜソースコードのコピー&ペーストでいけないのか。ばかげた意見だとお考えかもしれないが、これこそがソフトウェア開発を劇的に進化させるポイントなのである。 端的にいえば同じように見えるが少しづつ違う箇所(可変ポイント)が多数存在するため、単純なコピーでは駄目なのである。では少しづつ異なる箇所(可変ポイント)は全体のどれくらいの割合か考えてみよう。 汎用ドメインを対象とした場合、つまりあらゆる業種やアプリケーション種別を同一のものと考えた場合には可変ポイントは8割程度存在する。しかし同じドメインを対象とした場合は多くても3割、それ以上多いようだと要件の定義に問題があるといえる。単純に考えると同一ドメインでは7割の再利用ができるはずだ。 このように考えると必要な作業は似通ったドメインを特定することと、そのドメイン内の可変ポイント(3割の部分)を明確にすることだけである。この概念を図1に示す。 ![]() 図1:ドメイン特化によるマスカスタマイゼーションへの対応 例えば自動車産業の場合、産業としての製造工程はマスプロダクションである。つまり同じデザインで大量生産が行われるという特長を持つ。 それに対してソフトウェア産業はマスカスタマイゼーションである。ある製品デザインの一部が再利用され、それに差分が加わって別の製品が作成される、つまり極少量多品種生産という特徴を持った産業である。 しかし作成するソフトウェアプロダクトは、似通ったもの同士を分類してプロダクトファミリーを形成することが可能だ。マスカスタマイゼーションに対応するには、このプロダクトファミリーを抽出し、そのファミリーに共通する箇所を汎用的なソフトウェア資産として構築し、ファミリー内でその資産を再利用するというアプローチをとることが望ましい。 このように特定のドメイン(プロダクトファミリー)に特化することで、その範囲内での汎用部品、フレームワーク、開発プロセスなどのソフトウェア資産が高い再利用性を発揮できるようになるわけである。 |
||||||||||
| Feature Modeling | ||||||||||
|
次にこの可変部分を可視化するための技法が必要である。図2に示すFeature Modelingという手法はプロダクトライン向けのドメイン分析手法として適している。Feature Modelingを用いれば、ドメイン分析の時点であらかじめ「固定的なFeature」と「可変的なFeature」を区別してモデリングを進めることが可能となる。 ![]() 図2:Feature Modelingの例 図2の例で説明すると黒丸で示されているのが必須のFeatureで白丸がオプショナルなFeatureである。このような技法を駆使することで、可変部分に対して初期段階から対処し、開発途中もしくは完了後のカスタマイズ要求に迅速に対応することが今後のソフトウェア開発を進化させるキーポイントとなる。 |
||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||



