TOPプロジェクト管理> プロダクトライン設計
モデル駆動型開発手法「Software Factories」の全貌
モデル駆動型開発手法「Software Factories」の全貌

第3回:Software Factoriesによるシステム構築手順

著者:マイクロソフト  成本正史   2006/08/22
前のページ  1  2  3
プロダクトライン設計

   プロダクトライン設計は、対象とするドメインにおけるプロダクトの開発環境の整備を目的とした作業である。つまり個々のプロダクト開発時点でモデル駆動かつ部品の組み立てによる開発を可能とするための準備を行うのだ。
プロダクトライン設計
図4:プロダクトライン設計
(画像をクリックすると別ウィンドウに拡大図を表示します)

   設計段階ではまず分析段階で特定したドメインモデルに最適なアーキテクチャの構築をはじめる。ここでいうアーキテクチャの構成要素とはコンポーネントの種類/役割/パターン/コントラクト/実装技術などのアプリケーションアーキテクチャおよびQoS(Quality of Service)戦略、論理サーバ構成などのインフラストラクチャアーキテクチャを指す。

   さらに特定ソフトウェア資産開発のためのプロセス(マイクロプロセス)の定義も行い、実際にプロダクトを構築する際に可変的な資産をカスタマイズする方法まで含めて規定することになる。そしてプロセスを自動化するためのモデル環境とツール利用方法もあわせて規定していく。

   次に分析段階でFeatureとして規定された要求とアーキテクチャとのマッピング作業を行う。その過程で可変性を扱うための戦略を規定するわけである。


プロダクトライン実装

   プロダクトライン実装は、設計段階で特定されたソフトウェア資産や自動化のためのツールを用意し、プロダクト開発者に提供することを目的とした作業である。必要に応じて外部から購入する場合もあれば、既存資産の再利用や開発作業をともなうものもある。

プロダクトライン実装
図5:プロダクトライン実装
(画像をクリックすると別ウィンドウに拡大図を表示します)


まとめ

   Software Factoriesと他の方法論の決定的な違いは、Software Factoriesは文字通り「ファクトリーを構築する」ことを目的とする点にある。

   つまりあるドメインに対して、そのドメインがもつ可変性を特定することと、その可変部分を構築するための再利用部品を特定すること、そして開発作業を自動化することに集中して作業を実施することで、ソフトウェア資産および開発プロセスは段階的に洗練され、最終的には高品質のシステムを短期間で構築することが現実のものとなるのだ。

   Software Factoriesを導入するもう1つの効果として、ソフトウェアの資産価値の向上と可視化がある。本来ソフトウェア資産とは、今日における時間単価(人月制度)やプログラム行数で評価されるようなものではなく、それが提供する価値によって評価されなければならない。

   Software Factories時代ではソフトウェア資産が提供しているFeatureに対して対価が支払われる時代が訪れるのだ。

参考文献
「Software Factories」
J.Greenfield/K.Short著、John Wiley & Sons, Inc.刊(2003/08)

前のページ  1  2  3


マイクロソフト株式会社  成本正史
著者プロフィール
マイクロソフト株式会社  成本正史
デベロッパー&プラットフォーム統括本部
戦略企画本部 戦略担当部長
ファクトリーオートメーションの分野でソフト・ハードの開発を担当し、当時日本ではじめてVBAスクリプトの実装を手がける。1999年にマイクロソフトに入社。COMや.NETに関する開発コンサルティングを行い、現在「アーキテクトエバンジェリスト」として技術面の啓蒙活動中。

・blog「地中海から未来予測」
http://d.hatena.ne.jp/Gianpaolo/


INDEX
第3回:Software Factoriesによるシステム構築手順
  はじめに
  プロダクトライン分析
プロダクトライン設計