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

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

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

   プロダクトライン分析は、これから構築するプロダクトラインによりどのようなプロダクトを開発するのかについて規定することを目的とした作業である。分析段階では、プロダクトラインが扱うドメインのスコープを定義して、問題領域と解決領域それぞれに対するモデリングを行う。

   分析を実施する際に、インプットとして既存のソフトウェア資産やプロダクト開発からのフィードバックを評価し、成果物としてプロダクトラインの仕様を規定する。その様子を図2に示す。
プロダクトライン分析
図2:プロダクトライン分析
(画像をクリックすると別ウィンドウに拡大図を表示します)

   Software Factoriesではスコープを明確に定義し可変性を表現するために、「Feature Modeling」と呼ばれる手法を取り入れる。

   Feature Modelingでは、まず問題領域を構成するFeatureを識別する。Featureの中には固定的に定義できるものと可変的なものが含まれる。図3に示すFODA(Feature Oriented Domain Analysis)と呼ばれる表記法は可変性をあらわすことが可能であり、このFeatureを的確に表現できる点が優れている。

FODA(Feature Oriented Domain Analysis)
図3:FODA(Feature Oriented Domain Analysis)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   可変性はFeatureの選択肢の他に、パラメータや動的バインディングなどによって表現できる。

   分析段階で識別された可変的な部分は、プロダクトライン設計・実装段階で実装されるものとプロダクト開発時点で実装されるものに分かれる。「第1回:IT産業に革命を起こすSoftware Factories」でマスカスタマイゼーションの話をしたが、可変性をどのように扱うかという部分は非常に重要であり、可変的な部分を実装する作業はトレードオフを検討しながら繰り返し行うことが必要だ。

   また分析段階においては、ステークホルダーの識別と彼らの抱えている課題や意図を正しく把握するための仕組みを作ることも重要である。ここでいうステークホルダーとは発注者・開発者・システムのユーザ・顧客などが含まれる。

   この各ステークホルダーの意図を把握するために使用されるのがDSL(Domain Specific Language)である。つまりプロダクトライン分析段階において、プロダクト開発時点で利用される最適なDSLを規定するのだ。

   個々のプロダクト開発時には、このDSLを利用してステークホルダー間の意図の整合性を保ったまま、ツールにより自動化された環境で開発作業を進める。DSLとしては様々な表記法が存在しているが、モデル対象に応じて適切に表現できるものを用意することが望ましい。

   そしてこれらのモデルはモデル駆動型開発に適した形で自動化されることを想定している。第1回で紹介した当社が提供するVisual Studio Team Systemに搭載する「SOAデザイナー」がDSLの例である。

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


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

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


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