(57)【要約】【課題】バリエーション開発が予想される製品に対する複数の製品構成案から、可能な他の構成案を求めると共にそれらの開発コストを算出して、製品構成の決定を支援する。【解決手段】バリエーション開発が予想される製品の実現構成の決定を支援する製品構成決定装置であって、製品仕様の可変性をユーザから対話的あるいは一括して取得する手段１０１と、得られた製品仕様の可変性を基に作成される製品仕様テーブル１０２と、製品の実現構成の候補をユーザから対話的あるいは一括して取得する手段１０３と、得られた製品の実現構成の候補を基に作成される製品構成案テーブル１０４と、ユーザから取得した実現構成の候補に基づいて他の実現構成の候補を求める手段１０５とを有する。【選択図】図１
2010102606.tif 000002
【特許請求の範囲】
【請求項１】
バリエーション開発が予想される製品の実現構成の決定を支援する製品構成決定装置であって、
製品仕様の可変性をユーザから対話的あるいは一括して取得する手段と、得られた製品仕様の可変性を基に作成される製品仕様テーブルと、製品の実現構成の候補をユーザから対話的あるいは一括して取得する手段と、得られた製品の実現構成の候補を基に作成される製品構成案テーブルと、ユーザから取得した実現構成の候補に基づいて他の実現構成の候補を求める手段とを有することを特徴とする製品構成決定支援装置。
【請求項２】
請求項１記載の製品構成決定支援装置において、
前記製品構成案テーブルから各仕様項目に対応した要素を抽出して作成したテーブルに基づいて作成する要素組合せパターン一覧テーブルと、該要素組合せパターン一覧テーブルから選択した組合せパターンについて前提要素を満たすか否かの可不可判定を行う手段とを有することを特徴とする製品構成決定支援装置。
【請求項３】
請求項１記載の製品構成決定支援装置において、
実現構成の候補に対して実現コストを算出する手段と、各々の実現構成の候補に対して算出した実現コストをユーザに提示する手段とを有することを特徴とする製品構成決定支援装置。
【請求項４】
請求項３記載の製品構成決定支援装置において、
各々の実現構成の候補に対して算出した実現コストをユーザに提示する手段が、算出した実現コストに基づいて最良の製品構成の候補をユーザに提示することを特徴とする製品構成決定支援装置。
【請求項５】
請求項３記載の製品構成決定支援装置において、
実現構成の候補に対して実現コストを算出する手段が、製品仕様の可変性に関する生起確率を考慮して実現コストを算出することを特徴とする製品構成決定支援装置。
【請求項６】
バリエーション開発が予想される製品の実現構成の決定を支援する製品構成決定方法であって、
製品仕様の可変性をユーザから対話的あるいは一括して取得するステップと、得られた製品仕様の可変性を基に作成される製品仕様テーブルを作成するステップと、製品の実現構成の候補をユーザから対話的あるいは一括して取得するステップと、得られた製品の実現構成の候補を基に作成される製品構成案テーブルを作成するステップと、ユーザから取得した実現構成の候補に基づいて他の実現構成の候補を求めるステップとを有することを特徴とする製品構成決定支援方法。
【請求項７】
請求項６記載の製品構成決定支援方法において、
前記製品構成案テーブルから各仕様項目に対応した要素を抽出して作成したテーブルに基づいて作成する要素組合せパターン一覧テーブルを作成するステップと、該要素組合せパターン一覧テーブルから選択した組合せパターンについて前提要素を満たすか否かの可不可判定を行うステップとを有することを特徴とする製品構成決定支援方法。
【請求項８】
請求項６記載の製品構成決定支援方法において、
実現構成の候補に対して実現コストを算出するステップと、各々の実現構成の候補に対して算出した実現コストをユーザに提示するステップとを有することを特徴とする製品構成決定支援方法。
【請求項９】
請求項８記載の製品構成決定支援方法において、
各々の実現構成の候補に対して算出した実現コストをユーザに提示するステップが、算出した実現コストに基づいて最良の製品構成の候補をユーザに提示するステップを有することを特徴とする製品構成決定支援方法。
【請求項１０】
請求項８記載の製品構成決定支援方法において、
実現構成の候補に対して実現コストを算出するステップが、製品仕様の可変性に関する生起確率を考慮して実現コストを算出するステップを有することを特徴とする製品構成決定支援手法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品構成決定支援装置及び方法に関し、特に仕様のバリエーションが考えられる製品群の実現構成の決定を支援する手法に関するものである。
【背景技術】
【０００２】
多くの製品開発で、従来開発した製品をベースにし、仕様の違いに対応して製品を修正・カスタマイズすることで新たな製品としている。この修正・カスタマイズのコストは、従来製品の構造に依存して変動する。そこで、従来から、修正・カスタマイズの必要が発生した際に、製品構造を解析するなどして、必要なコストを見積もる技術が重視されてきた。例えば、特許文献１の「ソフトウェアカスタマイズ工数見積システム」は、仕様の変更に対して必要となった修正・カスタマイズが、あらかじめ定めた変更パターンのいずれに該当するかを判断することによって、コストを見積もるものである。
【０００３】
近年、類似する製品群の開発に対して、あらかじめその仕様の可変性を分析した上で、製品群のベースとなる資産を開発し、それを用いて製品群を開発する「ソフトウェア・プロダクトライン」のアプローチが注目されている。このアプローチでは、あらかじめ仕様の可変性を分析した上で資産の構造を設計する必要があるが、資産構造の決定に際し、将来発生が予測される仕様可変性に対して資産の開発に必要なコストを見積もる必要があるため、前記した従来からのコスト見積技術は適用できない。特にソフトウェアシステムでは、製品あるいは資産の構造として可能なバリエーションが多数考えられるため、適切な資産の構造を検討することに対し、現実的および心理的に大きな負担がある。
【特許文献１】特開２００６−１３４３３５号公報
【非特許文献１】Ｐａｕｌ  Ｃｌｅｍｅｎｔｓ  ａｎｄ  Ｌｉｎｄａ  Ｎｏｒｔｈｒｏｐ・著、前田卓雄・訳「ソフトウェア  プロダクトライン」日刊工業新聞社、２００３年
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、製品群のベースとなる資産の構造決定にあたって、多数の構造の候補を挙げてそれらに対して実現コストを求めて資産の構造を決定することに、多大な負担が伴う点である。
【課題を解決するための手段】
【０００５】
本発明は、次の三つの手段によって、構造の決定を支援することを特徴とする。
（１）ユーザから獲得した製品仕様の可変性と構造の候補に基づいて、他に可能な構造を求めてユーザに提示する。
（２）ユーザから獲得した構造の候補および上記手段（１）によって求めた他の可能な構造に対して、その実現コストを算出して、ユーザに提示する。
（３）上記手段（２）における実現コストの算出において、製品仕様の可変性における各仕様の生起確率を考慮する。
【０００６】
すなわち、本発明は、バリエーション開発が予想される製品の実現構成の決定を支援する製品構成決定装置であって、製品仕様の可変性をユーザから対話的あるいは一括して取得する手段と、得られた製品仕様の可変性を基に作成される製品仕様テーブルと、製品の実現構成の候補をユーザから対話的あるいは一括して取得する手段と、得られた製品の実現構成の候補を基に作成される製品構成案テーブルと、ユーザから取得した実現構成の候補に基づいて他の実現構成の候補を求める手段とを有する製品構成決定支援装置である。
【０００７】
また、本発明は、バリエーション開発が予想される製品の実現構成の決定を支援する製品構成決定方法であって、製品仕様の可変性をユーザから対話的あるいは一括して取得するステップと、得られた製品仕様の可変性を基に作成される製品仕様テーブルを作成するステップと、製品の実現構成の候補をユーザから対話的あるいは一括して取得するステップと、得られた製品の実現構成の候補を基に作成される製品構成案テーブルを作成するステップと、ユーザから取得した実現構成の候補に基づいて他の実現構成の候補を求めるステップとを有する製品構成決定支援方法である。
【発明の効果】
【０００８】
本発明の製品構成決定支援装置と方法により、ユーザが入力した構造以外の可能な構造を挙げ、それらの構造に対して実現コストを算出することができるので、資産の構造の決定に伴うユーザの負担を軽減すると共に、より適切な資産の構造を導き出すことによって、将来にわたる製品開発コストを低減することができる。
【発明を実施するための最良の形態】
【０００９】
本発明を実施するための最良の形態を説明する。
本発明は、できるだけ多くの構造案に対して実現コストを求めて適切な構造を決定する作業を、必要最小限のユーザの入力によって実現したものである。
【実施例１】
【００１０】
以下、図を用いて本発明の実施例を詳細に説明する。
図１は、本発明の製品構成決定支援手法の実施方法の説明図である。製品仕様取得部１０１は、ユーザとの対話あるいはバッチ的な一括処理によって、製品仕様の可変性をユーザから取得し、製品仕様テーブル１０２を作成する。
【００１１】
図２に、製品仕様テーブル１０２の例示図を示す。この例では、一般にフィーチャーモデルと呼ばれる木構造形式による仕様表現手段を用いており、図２に示す製品仕様テーブル１０２は、フィーチャーモデル２００を表現したテーブルである。仕様項目名欄２０１は、製品仕様を構成する部分的な仕様項目の名称を表す。製品の全体仕様に含まれる仕様項目のうちの一つを除いては、他の仕様項目を「親」としてもっており、親仕様項目名欄２０２に記入されて表される。欄２０３〜２０５は仕様の可変性を表すものであり、親仕様項目を持つ仕様項目に対しては、欄２０３〜２０５のいずれかが選択され、○印が記入される。必須欄２０３に該当する仕様項目はその仕様項目が必ず製品仕様に含まれること、オプション欄２０４に該当する仕様項目はその仕様項目が製品仕様に含まれるか否かは任意であること、相互排他欄２０５に該当する仕様項目は同じ親仕様項目を持ち同じく相互排他である他の仕様項目のうちの一つのみが必ず製品仕様に含まれることが○印で表される。確率欄２０６は、オプションまたは相互排他の仕様項目が製品仕様に含まれる確率を表す。
【００１２】
図１に戻り、製品構成案取得部１０３は、ユーザとの対話あるいはバッチ的な一括処理によって、ユーザから製品構成案を複数取得し、その製品構成案の各々に対して、製品構成案テーブル１０４を取得する。
【００１３】
図３に、製品構成案テーブル１０４の例示図を示す。図３に示す製品構成案テーブル１０４は、フィーチャーモデル３００に示すようなＡ１〜Ａ８の八つの要素から成る構成を表現している。製品構成案名欄３０１は製品構成案の名前を表しており、この値は他の製品構成案名と重複しない限り任意である。要素名欄３０２は構成要素の名称を表し、仕様項目名欄３０３はその構成要素が対応する仕様項目を表す。前提要素名欄３０４は、その要素を用いる場合に必要となる他の要素の名称を表す。図３において、要素Ａ２を用いる場合には要素Ａ１が必要であり、要素Ａ３を用いる場合には要素Ａ７とＡ８が必要であることを矢印で表す。開発コスト欄３０５は、その要素を開発するための開発コストを表す。このコストは、人月などの開発工数や、プログラムステップ数などの開発規模など、様々な指標が考えられる。
【００１４】
図４には、図３に示した以外の、本実施例の説明に用いる製品構成案テーブルを示す。製品構成案テーブル４０１と４０３の構造は１０４と同一であり、製品構成案テーブル１０４、４０１、４０３において、要素名が同一の要素は同じ要素であることを示している。製品構成案テーブル４０１と４０３はそれぞれ、フィーチャーモデル４００と４０２に示す製品構成を表している。
【００１５】
図１に戻り、製品構成案合成部１０５は、全ての製品構成案テーブル１０４に基づいて他の可能な製品構成を求め、合成製品構成テーブル１０６を作成する。
【００１６】
図５に、製品構成案合成部１０５の実現例である動作フロー図を示す。ステップ５０１では、全ての製品構成案テーブル（本実施例では１０４、４０１、４０３）から各仕様項目に対応した要素を抽出し、仕様項目−要素対応一覧テーブル５０２を作成する。
【００１７】
図６に、仕様項目−要素対応一覧テーブル５０２の例示図を示す。欄２０１〜２０６は、製品仕様テーブル１０２の対応する欄と同一であり、対応要素名欄６０１の内容が、ステップ５０１により作成するものである。製品構成案テーブル１０４、４０１、４０３に基づいて、仕様項目Ｆ１〜Ｆ８に対応した要素名を記入する。特に６０２の部分では、製品構成案テーブル４０１において、仕様項目Ｆ６に対応した要素がＢ６とＢ７の二つがあるので、その全てが仕様項目Ｆ６を実現するために必要であることを表している。
【００１８】
図５に戻り、ステップ５０３では、作成した仕様項目−要素対応一覧テーブル５０２に基づいて、要素組合せパターン一覧テーブル５０４を作成する。
【００１９】
図７に、要素組合せパターン一覧テーブル５０４の例示図を示す。組合せパターン欄７０１は要素の組合せに振った一時的な番号である。７０２で示される各欄には、製品仕様を構成する仕様項目のそれぞれに対してどの要素が対応するかを表す。組合せパターン１〜３２には、仕様項目Ｆ１〜Ｆ８に対するようその組合せの全てを網羅している。ステップ５０３の段階では、判定欄７０３は全て空欄であり、それぞれの組合せパターンに対して、製品構成案合成部１０５のステップ５０５以降で記入するものである。
【００２０】
図５に戻り、ステップ５０５で、要素組合せパターン一覧テーブル５０４から一つの組合せパターンを選択し、ステップ５０６とステップ５０７の判定を行なう。ステップ５０６では、選択した組合せパターンに、製品構成案テーブル（１０４、４０１、４０３）に定義された前提要素が含まれていない要素の有無を調べ、有であれば不可な要素組合せパターンとして判定する。ステップ５０７では、仕様項目−要素対応一覧テーブル５０２を用いて、各仕様項目に対応した要素が重複するパターンを検索してチェックし、重複していれば無駄・複雑な要素組合せパターンとして判定する。ステップ５０８において、まだ判定を行なっていない要素組合せパターンがある場合にはステップ５０５に戻り、全ての要素組合せパターンに対して判定を行なっている場合にはステップ５０９に進む。ステップ５０９では、不可判定されておらず、かつ、製品構成案テーブルにないパターンについて、新たな製品構成案として、合成製品構成テーブル１０６を作成する。
【００２１】
図８に、合成製品構成テーブル１０６の例示図を示す。これは、図７に示した要素組合せパターンテーブル５０４の組合せパターン３２に対するものであり、８００に示す製品構成を表す。欄８０１〜８０５の意味は、製品構成案テーブル１０４の欄３０１〜３０５と同一である。開発コスト欄８０５の値は、それぞれの要素に対する開発コストを、製品構成案テーブル（１０４、４０１、４０３）から転記したものである。本実施例の例では、ステップ５０９によって合成製品構成テーブルを作成する要素組合せパターンは一つだけである。
【００２２】
図１に戻り、ステップ１０７では、製品構成案テーブル（１０４、４０１、４０３）と合成製品構成テーブル１０６に基づいて、各構成案の開発コストを算出し、製品構成コストテーブル１０８を作成する。
【００２３】
図９に、製品構成コストテーブル１０８の例示図を示す。製品構成案名欄９０１には、製品構成案テーブルまたは合成製品構成テーブルに記載された製品構成案名を示しており、要素名一覧欄９０２には、その製品構成に含まれる要素名を列挙している。欄９０３と欄９０４は共に、ステップ１０７で算出した、その製品構成を実現するためのコストを示している。欄９０３では、その製品構成に含まれる要素の開発コストの単純合計であり、全ての要素を開発した場合の開発コストを表す。欄９０４では、製品仕様テーブル１０２に記載されたオプションまたは相互排他の仕様項目が製品仕様に含まれる確率を考慮して算出した開発コストであり、オプションまたは相互排他の仕様項目に対する要素を段階的に開発する場合に用いると好適なコストである。図９の欄９０４に示した開発コストは、それぞれの要素の開発コストを次のようにして求めている。
・対応する仕様項目に必須項目を含む場合の開発コスト＝要素の開発コスト
・対応する仕様項目がオプション項目または相互排他項目のみの場合のコスト＝要素の開発コスト×最大の生起確率
【００２４】
図１に戻り、ステップ１０９では、コスト一覧テーブル１０８に基づいて、ユーザに製品構成案とその実現コストを提示する。提示の方法は、コスト一覧テーブル１０８のような表形式や、図３の２００のような図形式のものなどが考えられる。また、提示する内容は、実現コストが最も小さい製品構成案だけの場合や、全ての製品構成案を実現コストと共に提示する場合などが考えられる。
【００２５】
図１０に、本発明を、製品構成決定支援装置として実施する場合に用いる計算機システムの構成例を示す。図１の製品仕様取得部１０１、製品構成案取得部１０３、製品構成案合成部１０５、構成コスト算出部１０７、製品構成コスト提示部１０９を、例えばソフトウエアにより、補助記憶装置１００５に記憶しておき、製品構成決定支援装置の起動後にＣＰＵ１００１にて順次実行する。ユーザからの情報取得は、キーボードやマウスなどの入力装置１００２を用い、ユーザへの情報提示は、ディスプレイやスピーカなどの出力装置１００３を用いる。また、図１の製品仕様テーブル１０２、製品構成案テーブル１０４、合成製品構成テーブル１０６、コスト一覧テーブル１０８は、記憶装置１００５に適宜記憶する。
【００２６】
以上、本発明の製品構成決定支援手法および装置の実施方法を説明した。これによって、ユーザから取得した製品構成案以外にも実現可能な製品構成がある場合にはそれを求め、また、各々の製品構成の開発コストをユーザに提示することができる。
【００２７】
本発明は、製品あるいは資産の構造として可能なバリエーションが多数ありえるソフトウェアシステムを主たる利用分野として想定しているが、その他の製品システムにおいても適用可能である。
【図面の簡単な説明】
【００２８】
【図１】実施例の製品構成決定支援装置の実施方法を示した説明図である。
【図２】実施例における製品仕様テーブルの例示図である。
【図３】実施例で用いる一つの製品構成に対する、製品構成案テーブルの例示図である。
【図４】実施例で用いるその他の製品構成に対する、製品構成案テーブルの例示図である。
【図５】製品構成案合成部の実現例を示した動作フロー図である。
【図６】製品構成案合成部の実現例における仕様項目−要素対応一覧テーブルの例示図である。
【図７】製品構成案合成部の実現例における要素組合せパターン一覧テーブルの例示図である。
【図８】実施例における合成製品構成テーブルの例示図である。
【図９】実施例における製品構成コストテーブルの例示図である。
【図１０】製品構成決定支援装置を実施する計算機システムの構成例である。
【符号の説明】
【００２９】
１０２    製品仕様テーブル
１０４    製品構成案テーブル
１０５    製品構成案合成部
１０６    合成製品構成テーブル
１０８    製品構成コストテーブル
５０２    仕様項目−要素対応一覧テーブル
５０４    要素組合せパターン一覧テーブル
【図１】
2010102606.tif 000003
【図２】
2010102606.tif 000004
【図３】
2010102606.tif 000005
【図４】
2010102606.tif 000006
【図５】
2010102606.tif 000007
【図６】
2010102606.tif 000008
【図７】
2010102606.tif 000009
【図８】
2010102606.tif 000010
【図９】
2010102606.tif 000011
【図１０】
2010102606.tif 000012