(57)【要約】  既存プロダクトにおけるフィーチャの使用状況に基づいてフィーチャ／フィーチャ間の依存関係を分析し、分析結果を利用することでプロダクトライン型開発を支援する。  フィーチャ／フィーチャ関連付け手段１５は、プロダクト／フィーチャ関連情報データベース１４に基づいて既存プロダクトにおけるフィーチャ／フィーチャ間の依存関係を分析する。関連情報管理部１６はフィーチャ／フィーチャ間の依存関係分析結果とフィーチャ／フィーチャ関連情報データベース１７に保存されている既存情報とを比較し、インターフェース部１８とフィーチャ／フィーチャ関連情報データベースに出力する。開発者は容易に分析結果を参照することができる。
2011099053.tif 000002
【特許請求の範囲】
【請求項１】
複数の既存プロダクトのプロダクト情報を蓄積したプロダクト情報データベースと、
前記既存プロダクトで用いられたフィーチャ情報を蓄積したフィーチャ情報データベースと、
前記フィーチャ情報を、各プロダクトに関連付けしたプロダクト／フィーチャ関連情報を蓄積したプロダクト／フィーチャ関連情報データベースと、
前記プロダクト情報と前記フィーチャ情報と前記プロダクト／フィーチャ関連情報とを分類し、管理する情報管理部と、
で構成されるプロダクトライン型開発支援装置において、
前記プロダクト／フィーチャ関連情報を入力とし、フィーチャ／フィーチャ間における依存関係を分析し関連付けを行うフィーチャ／フィーチャ関連付け手段と、
前記フィーチャ／フィーチャ関連付け手段によって関連付けられたフィーチャ／フィーチャ関連情報を蓄積するフィーチャ／フィーチャ関連情報データベースと、
前記フィーチャ／フィーチャ関連情報を登録し、管理する関連情報管理部と、
を備えたことを特徴としたプロダクトライン型開発支援装置。
【請求項２】
請求項１のプロダクトライン型開発支援装置において、
前記プロダクトとは、コンピュータを動作させる手順及び命令をコンピュータが理解できる形式で記述したソフトウェアであることを特徴とするプロダクトライン型開発支援装置。
【請求項３】
請求項２のプロダクトライン型開発支援装置において、
前記フィーチャとは、前記ソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
【請求項４】
請求項１から請求項３のうちの１つのプロダクトライン型開発支援装置において、
前記フィーチャ／フィーチャ関連付け手段は、全プロダクトに対する、第１のフィーチャを使用しているプロダクトであって第１のフィーチャとは別の第２のフィーチャも使用しているプロダクトの比率である支持度を求め、フィーチャ／フィーチャ間における依存関係分析の評価指標として用いることを特徴とするプロダクトライン型開発支援装置。
【請求項５】
請求項１から請求項３のうちの１つのプロダクトライン型開発支援装置において、
前記フィーチャ／フィーチャ関連付け手段は、第１のフィーチャを使用しているすべてのプロダクトに対する、第１のフィーチャを使用しているプロダクトであって第１のフィーチャとは別の第２のフィーチャも使用しているプロダクトの比率である信頼度を求め、フィーチャ／フィーチャ間における依存関係分析の評価指標として用いることを特徴とするプロダクトライン型開発支援装置。
【請求項６】
請求項１から請求項３のうちの１つのプロダクトライン型開発支援装置において、
前記フィーチャ／フィーチャ関連付け手段は、第１のフィーチャと第２のフィーチャにおいて、第２のフィーチャを使用しているプロダクトに対する、全プロダクトの比率に、前記請求項３で求められる信頼度を掛け合わせた値であるリフト値を求め、フィーチャ／フィーチャ間における依存関係分析の評価指標として用いることを特徴とするプロダクトライン型開発支援装置。
【請求項７】
請求項４から請求項６のうちの１つのプロダクトライン型開発支援装置において、
前記フィーチャ／フィーチャ関連付け手段は、少なくとも請求項４から６記載の支持度，信頼度，リフト値の何れか一つの評価指標に対して、閾値を設定し比較することでフィーチャ／フィーチャ間の依存関係の有無を決定することを特徴とするプロダクトライン型開発支援装置。
【請求項８】
請求項１のプロダクトライン型開発支援装置において、
前記関連情報管理部は、
前記フィーチャ／フィーチャ関連付け手段によって関連付けられたフィーチャ／フィーチャ関連情報を入力とし、前記フィーチャ／フィーチャ関連情報データベースに蓄積されている既存のフィーチャ／フィーチャ関連情報と比較することで、新規フィーチャ／フィーチャ関連情報の有無を確認する新規フィーチャ／フィーチャ関連情報確認部と、
新規フィーチャ／フィーチャ関連情報を登録し、管理するフィーチャ／フィーチャ関連情報管理部と、
を有することを特徴とするプロダクトライン型開発支援装置。
【請求項９】
請求項４から請求項７のうちの１つのプロダクトライン型開発支援装置において、
前記プロダクトライン型開発支援装置は、
前記フィーチャ／フィーチャ関連付け手段によって関連付けられたフィーチャ／フィーチャ関連情報と共に、少なくとも請求項４から６記載の支持度，信頼度，リフト値の何れか一つの評価指標を開発者に対して表示するインターフェース部を有することを特徴とするプロダクトライン型開発支援装置。
【請求項１０】
請求項１から請求項７、又は請求項９のうちの１つのプロダクトライン型開発支援装置において、
前記プロダクトライン型開発支援装置は、
開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ／フィーチャ関連情報に基づき、フィーチャ間の依存関係を自動で反映することを特徴とするプロダクトライン型開発支援装置。
【請求項１１】
請求項１から請求項７、又は請求項９のうちの１つのプロダクトライン型開発支援装置において、
前記プロダクトライン型開発支援装置は、
開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ／フィーチャ関連情報に基づき、フィーチャの組合せが適当でないと判断した場合、開発者に対して注意喚起を示すことを特徴とするプロダクトライン型開発支援装置。
【請求項１２】
請求項１から請求項７、又は請求項９から請求項１１のうちの１つのプロダクトライン型開発支援装置において、前記フィーチャとは、自動車におけるソフトウェア開発においてはクルーズ制御，エンジン制御，ブレーキ制御，速度制御，車間距離制御，先行車認識，レーザーレーダ，ミリ波レーダ，カメラ，エアバッグ，ＡＢＳ機能，キーレスエントリーシステム，トラクションコントロール，ライト制御，シートベルト制御を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
【請求項１３】
請求項１から請求項７、又は請求項９から請求項１１のうちの１つのプロダクトライン型開発支援装置において、
前記フィーチャとは、エレベータにおけるソフトウェア開発においては両側セーフティシュー，マルチビームドアセンサ，ドアシグナル付きマルチビームドアセンサ，車いす兼用エレベータ仕様，視覚障害者対応仕様，セキュリティシステム，防犯カメラ，単独自動運転，群管理運転，ＶＩＰ運転，自動救出運転，かご照明および換気扇の自動休止，かご行先階ボタンのいたずら登録キャンセル機能，反転時呼び一括キャンセル機能，過負荷検出装置，戸開き時間延長ボタンを制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
【請求項１４】
請求項１から請求項７、又は請求項９から請求項１１のうちの１つのプロダクトライン型開発支援装置において、
前記フィーチャとは、建設機械におけるソフトウェア開発においてはエンジン制御，ブレーキ制御，速度制御，旋回制御，起伏微速制御，トラクションコントロール，ライト制御，ドア制御，油圧センサ，空気圧センサ，無限起動制御，自己診断機能，過巻防止機能，ショベル制御，モニターパネル制御，警報器を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部品で構成されているプロダクトにおける、プロダクトライン型開発を支援するプロダクトライン型開発支援装置に関する。
【背景技術】
【０００２】
プロダクトの開発初期段階においては対象プロダクトごとに開発を行ったり、類似のプロダクトに基づいて差分を開発行ったりする。しかし、プロダクトが成熟期に入り顧客要望が個別化するにつれ派生プロダクト数が増大し、開発効率の大規模な向上が要求されるようになる。そのため、派生プロダクトの開発効率の向上を目的として、プロダクトライン型開発へと開発方式が移行される。【０００３】
プロダクトライン型開発はソフトウェア開発においても適用されている。ここで、ソフトウェア開発におけるプロダクトライン型開発はソフトウェアプロダクトライン開発と呼ばれ、プロダクトとはコンピュータを動作させる手順及び命令をコンピュータが理解できる形式で記述したソフトウェアを指す。【０００４】
ソフトウェアプロダクトライン開発の適用対象として、エレベータ，自動車，携帯電話，建設機械等の機器に組み込んで対象を制御する、いわゆる組込みソフトウェアがある。このような組込みソフトウェアによる制御は、従来の機械的機構や電気回路による方式に比べて柔軟かつ高度な制御が実現できること、ソフトウェアの変更によって多くの派生プロダクトを開発できることが利点として挙げられる。【０００５】
プロダクトライン型開発においては一般に、派生プロダクトに必要なフィーチャを開発者が選択することによってプロダクト開発を行う。そのため、開発者はフィーチャの適切な理解のもとに開発時にフィーチャ選択を行う必要がある。また、開発者は正確なフィーチャモデル作成のために、既存プロダクトからフィーチャを抽出したり、フィーチャ／フィーチャ間の依存関係を抽出したりする必要がある。ここで、ソフトウェアプロダクトライン型開発におけるフィーチャとは、システムの、末端利用者から可視な特徴のことである（非特許文献１参照）。【０００６】
例えば、フィーチャ情報を正確に管理するため、ソフトウェア部品の管理装置として、既存プロダクトにおけるプロダクト情報，フィーチャ情報，プロダクト／フィーチャ関連情報をそれぞれ管理し、該情報のうち少なくとも１つの情報を更新または変更した場合、更新または変更した情報と関係あるプロダクト情報，フィーチャ情報，プロダクト／フィーチャ関連情報を自動で検出して、変更を反映すると共にユーザに通知する技術が開示されている（特許文献１参照）。【０００７】
また、適切なフィーチャモデルの作成を支援するため、個々のフィーチャ情報とフィーチャ／フィーチャ間の親子関係を示すフィーチャ／フィーチャ関連情報とを含むフィーチャモデル情報と、それぞれのフィーチャに付加するタグ情報とを用いて、適切なフィーチャモデルを作成する技術が開示されている（特許文献２参照）。【０００８】
また、既存プロダクトから適切なフィーチャを抽出するため、ソフトウェアプロダクト系列の可変性を分析するソフトウェアプロダクト系列分析装置として、既存プロダクトで使用されたフィーチャの変更履歴データを数値化し、プロダクト間のフィーチャ変更情報の因子分析を行うことで、既存プロダクトからフィーチャとなる変動部を自動で分析し、抽出する技術が開示されている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−５３９５１号公報
【特許文献２】特開２００９−２４５１７７号公報
【特許文献３】特開２００９−８６７９１号公報
【非特許文献】
【００１０】
【非特許文献１】K. Pohl、G. Bockle、and F. Linden. Software product line engineering. Springer-Verlag（２００５）（クラウス・ポール、ギュンダー・ベックレ、フランク・リンデン、林好一、吉村健太郎、今関剛（訳）ソフトウェアプロダクトラインエンジニアリングp.p. ９７（２００９））
【発明の概要】
【発明が解決しようとする課題】
【００１１】
例として、プロダクトライン開発の一形態であるソフトウェアプロダクトライン開発を用いて課題を述べる。【００１２】
ソフトウェアプロダクトライン開発において、ソフトウェア部品の再利用性及びプロダクトの開発効率の向上のため、ソフトウェア開発者にはフィーチャの適切な理解が必要とされる。ここで、フィーチャの適切な理解とは、個々のフィーチャの内容理解とフィーチャ間における依存関係の理解を指す。しかしながら、フィーチャを適切に理解してプロダクト開発に用いるには、熟練者の経験に頼る部分が大きく、属人性によるという課題がある。【００１３】
また、多くの派生プロダクトを持つようなプロダクトラインでは既にフィーチャの数が膨大なものになっているため、人手でフィーチャ間の依存関係を解析することは容易ではないという課題がある。【００１４】
上記課題を解決するため、特許文献１に示すように、開発済みのソフトウェア部品のデータベースを設け、フィーチャ情報及びプロダクト／フィーチャ情報を管理し、参照できる技術が開示されている。しかしながら、フィーチャ／フィーチャ間の依存関係情報を管理し、参照するといった点については考慮されていない。【００１５】
また、特許文献２では親子関係を示すフィーチャ間の関連情報を利用することにより、適切なフィーチャモデルの作成をする技術と、フィーチャにタグ情報を付加することで適切なフィーチャモデルの作成を行う技術が開示されている。しかしながら、親子関係以外の関係にあるフィーチャ間の依存関係を抽出するという点については考慮されていない。また、フィーチャに付加するタグ情報を正確に決定することは一般的に難しく、タグ付けを行う者のノウハウに頼る部分が多いため、属人性が排除されたフィーチャ間の依存関係抽出という点については考慮されていない。【００１６】
また、特許文献３ではプロダクト間でのソフトウェアの可変性を反映したソフトウェア部品のグループを自動で分析することにより、フィーチャとなる部分を抽出する技術が開示されている。しかしながら、本技術はソフトウェアにおけるフィーチャを自動抽出することにとどまっており、フィーチャ／フィーチャ間の依存関係情報の抽出については考慮されていない。【００１７】
本発明は上記課題を解決するため、膨大なフィーチャの組合せに対し属人性を排除した自動分析を行うことで、適切なフィーチャ間の依存関係を抽出すること、また、開発者がフィーチャ間の依存関係を容易に利用できることによって、プロダクト開発におけるフィーチャ選択から属人性を排除することを目的とする。
【課題を解決するための手段】
【００１８】
上記課題を達成するために、本発明は複数の既存プロダクトのプロダクト情報を蓄積したプロダクト情報データベースと、前記既存プロダクトで用いられたフィーチャ情報を蓄積したフィーチャ情報データベースと、前記フィーチャ情報を、各プロダクトに関連付けしたプロダクト／フィーチャ関連情報を蓄積したプロダクト／フィーチャ関連情報データベースと、前記プロダクト情報と前記フィーチャ情報と前記プロダクト／フィーチャ関連情報とを分類し、管理する情報管理部と、で構成されるプロダクトライン型開発支援装置において、前記プロダクト／フィーチャ関連情報を入力とし、フィーチャ／フィーチャ間における依存関係を分析し関連付けるフィーチャ／フィーチャ関連付け手段と、前記フィーチャ／フィーチャ関連付け手段によって関連付けられたフィーチャ／フィーチャ関連情報を蓄積するフィーチャ／フィーチャ関連情報データベースと、前記フィーチャ／フィーチャ関連情報を登録し、管理する関連情報管理部と、を備えたことを特徴とするものである。【００１９】
更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトとは、コンピュータを動作させる手順及び命令をコンピュータが理解できる形式で記述したソフトウェアであることを特徴とするものである。【００２０】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、前記ソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。【００２１】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ／フィーチャ関連付け手段は、全プロダクトに対する、第１のフィーチャを使用しているプロダクトであって第１のフィーチャとは別の第２のフィーチャも使用しているプロダクトの比率である支持度を求め、フィーチャ／フィーチャ間における依存関係分析の評価指標として用いることを特徴とするものである。【００２２】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ／フィーチャ関連付け手段は、第１のフィーチャを使用しているすべてのプロダクトに対する、第１のフィーチャを使用しているプロダクトであって第１のフィーチャとは別の第２のフィーチャも使用しているプロダクトの比率である信頼度を求め、フィーチャ／フィーチャ間における依存関係分析の評価指標として用いることを特徴とするものである。【００２３】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ／フィーチャ関連付け手段は、第１のフィーチャと第２のフィーチャにおいて、第２のフィーチャを使用しているプロダクトに対する、全プロダクトの比率に、前記請求項３で求められる信頼度を掛け合わせた値であるリフト値を求め、フィーチャ／フィーチャ間における依存関係分析の評価指標として用いることを特徴とするものである。【００２４】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ／フィーチャ関連付け手段は、少なくとも支持度，信頼度，リフト値の何れか一つの評価指標に対して、閾値を設定し比較することでフィーチャ／フィーチャ間の依存関係の有無を決定することを特徴とするものである。【００２５】
更に、本発明はプロダクトライン型開発支援装置において、前記関連情報管理部は、前記フィーチャ／フィーチャ関連付け手段によって関連付けられたフィーチャ／フィーチャ関連情報を入力とし、前記フィーチャ／フィーチャ関連情報データベースに蓄積されている既存のフィーチャ／フィーチャ関連情報と比較することで、新規フィーチャ／フィーチャ関連情報の有無を確認する新規フィーチャ／フィーチャ関連情報確認部と、新規フィーチャ／フィーチャ関連情報を登録し、管理するフィーチャ／フィーチャ関連情報管理部と、を備えたことを特徴とするものである。【００２６】
更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトライン型開発支援装置は、前記フィーチャ／フィーチャ関連付け手段によって関連付けられたフィーチャ／フィーチャ関連情報と共に、少なくとも請求項４から６記載の支持度，信頼度，リフト値の何れか一つの評価指標を開発者に対して表示するインターフェース部を備えたことを特徴とするものである。【００２７】
更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトライン型開発支援装置は、開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ／フィーチャ関連情報に基づき、フィーチャ間の依存関係を自動で反映することを特徴とするものである。【００２８】
更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトライン型開発支援装置は、開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ／フィーチャ関連情報に基づき、フィーチャの組合せが適当でないと判断した場合、開発者に対して注意喚起を示すことを特徴とするものである。【００２９】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、自動車におけるソフトウェア開発においてはクルーズ制御，エンジン制御，ブレーキ制御，速度制御，車間距離制御，先行車認識，レーザーレーダ，ミリ波レーダ，カメラ，エアバッグ，ＡＢＳ機能，キーレスエントリーシステム，トラクションコントロール，ライト制御，シートベルト制御を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。【００３０】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、エレベータにおけるソフトウェア開発においては両側セーフティシュー，マルチビームドアセンサ，ドアシグナル付きマルチビームドアセンサ，車いす兼用エレベータ仕様，視覚障害者対応仕様，セキュリティシステム，防犯カメラ，単独自動運転，群管理運転，ＶＩＰ運転，自動救出運転，かご照明および換気扇の自動休止，かご行先階ボタンのいたずら登録キャンセル機能，反転時呼び一括キャンセル機能，過負荷検出装置，戸開き時間延長ボタンを制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。【００３１】
更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、建設機械におけるソフトウェア開発においてはエンジン制御，ブレーキ制御，速度制御，旋回制御，起伏微速制御，トラクションコントロール，ライト制御，ドア制御，油圧センサ，空気圧センサ，無限起動制御，自己診断機能，過巻防止機能，ショベル制御，モニターパネル制御，警報器を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。
【発明の効果】
【００３２】
本発明は、既存プロダクトで使用されているフィーチャ情報を基にフィーチャ／フィーチャ間の依存関係を数値化し分析することで、組合せが数千パターンに及ぶフィーチャ／フィーチャ間の依存関係であっても手動ではなく自動で容易に分析することが可能となる。また、自動分析したフィーチャ／フィーチャ間の依存関係情報を開発者が利用することが可能なため、プロダクト開発におけるフィーチャ選択時に依存関係にあるフィーチャを自動選択することができる。同様にフィーチャ／フィーチャ間の依存関係情報より、開発者が共存不可能なフィーチャの組合せを用いた場合に注意勧告をすることができる。このことによりプロダクト開発時における属人性の排除と共に、仕様設計ミスを減らすことができ、開発効率の向上につながる。結果プロダクトの開発サイクルを早めることが可能となる。
【図面の簡単な説明】
【００３３】
【図１】プロダクトライン型開発支援装置の構成を示している。
【図２】既存プロダクトのプロダクト情報を示している。
【図３】既存プロダクトに用いられている、フィーチャ情報を示している。
【図４】情報管理部の構成を示している。
【図５】既存プロダクトとフィーチャとの使用／不使用の情報を示している。
【図６】フィーチャ／フィーチャ関連付け手段の構成を示している。
【図７】支持度算出手段の処理の流れを示すフローチャートである。
【図８】支持度の算出結果を示している。
【図９】信頼度算出手段の処理の流れを示すフローチャートである。
【図１０】信頼度の算出結果を示している。
【図１１】単独支持度算出手段の処理の流れを示すフローチャートである。
【図１２】単独支持度の算出結果を示している。
【図１３】リフト値算出手段の処理の流れを示すフローチャートである。
【図１４】リフト値の算出結果を示している。
【図１５】閾値入力画面を示している。
【図１６】依存関係分析手段の処理の流れを示すフローチャートである。
【図１７】依存関係の分析結果を示している。
【図１８】関連情報管理部の構成を示している。
【図１９】新規フィーチャ／フィーチャ関連情報確認手段の処理の流れを示すフローチャートである。
【図２０】フィーチャ／フィーチャ関連情報管理部の処理の流れを示すフローチャートである。
【図２１】確定要求関係確認画面を示している。
【図２２】要求関係確認情報を示している。
【図２３】管理情報分類部の処理の流れを示している。
【図２４】プロダクト情報管理部の処理の流れを示すフローチャートである。
【図２５】フィーチャ情報管理部の処理の流れを示すフローチャートである。
【図２６】プロダクト／フィーチャ情報管理部の処理の流れを示すフローチャートである。
【図２７】フィーチャ／フィーチャ情報関連付け手段の結果を示すフィーチャ情報を示している。
【図２８】フィーチャ／フィーチャ情報関連付け手段の結果を示すフィーチャツリーを示している。
【図２９】プロダクト仕様フィーチャを選択する画面を示している。
【図３０】プロダクト仕様フィーチャを選択する画面で注意勧告を受けた状態を示している。
【発明を実施するための形態】
【００３４】
以下に本発明の一実施の形態によるソフトウェア開発支援装置について図面を参照しつつ説明を行う。
【００３５】
図１は、本発明の形態によるプロダクトライン型開発支援装置のシステム構成例の概要を示す図である。図１に示すように、本実施の形態によるプロダクトライン型開発支援装置はプロダクト情報データベース１１と、フィーチャ情報データベース１２と、情報管理部１３と、プロダクト／フィーチャ関連情報データベース１４と、フィーチャ／フィーチャ関連付け手段１５と、関連情報管理部１６と、フィーチャ／フィーチャ関連情報データベース１７と、インターフェース部１８とを備えている。
【００３６】
プロダクト情報データベース１１は、プロダクト情報を蓄積したデータベースである。プロダクト情報とは、プロダクトＩＤやモデル名，プロダクトグループ，プロダクト開始時間，プロダクト終了時間，使用フィーチャＩＤである。
【００３７】
フィーチャ情報データベース１２は、ソフトウェアの動作を切り替える定数又は定義されたマクロであるフィーチャを蓄積したデータベースである。フィーチャ情報とは、フィーチャＩＤ，フィーチャ名，親フィーチャ，親フィーチャとの関係，代替関係フィーチャ，要求関係フィーチャ，フィーチャ開始期間，フィーチャ終了期間である。
【００３８】
情報管理部１３は、プロダクト情報データベース１１に蓄積されたプロダクト情報，フィーチャ情報データベース１２に蓄積されたフィーチャ情報，プロダクト／フィーチャ関連情報データベース１４に蓄積されたプロダクト／フィーチャ関連情報の各情報を分類・管理する。
【００３９】
プロダクト／フィーチャ関連情報データベース１４は、プロダクトとフィーチャを関連付けしたプロダクト／フィーチャ関連情報を蓄積するデータベースである。プロダクトとフィーチャを関連付けした情報とは、各プロダクトにおける各フィーチャの使用状況の情報である。
【００４０】
フィーチャ／フィーチャ関連付け手段１５は、前記プロダクト／フィーチャ関連情報を入力とし、プロダクトにおけるフィーチャの使用状況からそれぞれのフィーチャ／フィーチャ間の依存関係の有無を自動で分析する手段である。
【００４１】
関連情報管理部１６は、前記フィーチャ／フィーチャ関連情報付け手段１５によって関連付けられたフィーチャ／フィーチャ関連情報を管理する。
【００４２】
フィーチャ／フィーチャ関連情報データベ―ス１７は、前記関連情報管理部１６から入力されたフィーチャ／フィーチャ関連情報を蓄積するデータベ―スである。フィーチャ／フィーチャ関連情報とは、フィーチャ／フィーチャ間に成り立つ要求関係や代替関係情報である。
【００４３】
インターフェース部１８は、例えば開発者２から情報を入力するための画面や通信のインターフェースを提供する。また、インターフェース部１８は開発者２からの入力情報を取得し、適宜、情報管理部１３，フィーチャ／フィーチャ関連付け手段１５，関連情報管理部１６のうち少なくとも一つに入力情報を受け渡す。
【００４４】
以上の構成を備えることによって、既存プロダクトにおけるフィーチャの使用情報に基づいて、フィーチャ／フィーチャ間の依存関係を自動抽出する。例えば、既存プロダクトと使用されているフィーチャ数が数千を超えていた場合、フィーチャ／フィーチャ間の依存関係を人手で解析するには非常に時間がかかる。本実施の形態によるソフトウェア開発支援装置では、フィーチャ／フィーチャ間の依存関係を数値化した指標でもって分析しており、既存プロダクトにおけるフィーチャ／フィーチャ間の関連情報を分析するのに適している。
【００４５】
また、フィーチャ選択によるプロダクトライン型開発を行う際に、自動抽出されたフィーチャ／フィーチャ間の依存関係を用いることで、フィーチャ選択に応じて自動で要求関係にあるフィーチャを選択することにより、開発者の補助を行うことができる。また、共存不可能なフィーチャの組合せを用いた場合、開発者に対し注意勧告をすることができる。このことから、プロダクトライン型開発における属人性が排除でき、設計ミスを削減することで開発サイクルを早めることが可能となる。
【００４６】
以降、図面の説明をする。なお、実施例はエレベータにおけるソフトウェアプロダクトライン型開発に適用したものである。
【００４７】
図２は、プロダクト情報データベース１１におけるプロダクト情報を表す図である。プロダクト情報とは、プロダクトＩＤやモデル名，プロダクトグループ，プロダクト開始時間，プロダクト終了時間，使用フィーチャＩＤである。
【００４８】
図３は、フィーチャ情報データベース１２におけるフィーチャ情報を表す図である。フィーチャ情報とは、フィーチャＩＤ，フィーチャ名，親フィーチャ，親フィーチャとの関係，代替関係フィーチャ，依存関係フィーチャ，フィーチャ開始期間，フィーチャ終了期間である。
【００４９】
図４は情報管理部１３の詳細である。情報管理部１３はインターフェース部１８からの入力を受けて、管理情報分類部１３０１において、入力情報がプロダクト情報に関するものか、フィーチャ情報に関するものか、プロダクト／フィーチャ関連情報に関するものか分類する。また分類された情報がプロダクト情報に関するものであればプロダクト情報管理部１３０２において処理がなされ、フィーチャ情報に関するものであればフィーチャ情報管理部１３０３において処理され、プロダクト／フィーチャ関連情報に関するものであればプロダクト／フィーチャ関連情報管理部１３０４において処理される。また、プロダクト情報管理部１３０２又は、フィーチャ情報管理部１３０３又は、プロダクト／フィーチャ情報管理部１３０４からの入力を管理情報分類部１３０１が受けた場合、インターフェース部１８に情報を出力する。このことにより開発者２はインターフェース部１８を通してプロダクト情報，フィーチャ情報，プロダクト／フィーチャ関連情報を登録できるだけでなく、各情報の内容を容易に参照することができる。
【００５０】
図５はプロダクト／フィーチャ関連情報を表す図である。プロダクト／フィーチャ関連情報は、各プロダクトにおける各フィーチャの使用状況の情報である。
【００５１】
図６はフィーチャ／フィーチャ関連付け手段１５の詳細である。フィーチャ／フィーチャ関連付け手段１５はプロダクト／フィーチャ関連情報を基に、フィーチャ／フィーチャ間の依存関係を数値解析することによって分析する。具体的には、プロダクト／フィーチャ関連情報データベース１４を入力とし、それぞれ支持度算出手段１５０１によって支持度を算出し、信頼度算出手段１５０２によって信頼度を算出し、単独支持度算出手段１５０３によって単独支持度を算出する。また、前記信頼度と前記単独支持度を入力とし、リフト値算出手段１５０４によってリフト値を算出する。また、閾値取得手段１５０５によってリフト値，支持度，信頼度それぞれに対する閾値をインターフェース部１８から入手する。最後に前記支持度，前記信頼度，前記リフト値，前記閾値を入力とし、依存関係分析手段１５０６によってフィーチャ／フィーチャ関連情報であるフィーチャ／フィーチャ間の依存関係を分析し、結果を関連情報管理部１６に出力する。
【００５２】
図７は支持度算出手段１５０１の詳細な処理を示すフローチャート図である。ここで、条件フィーチャは前提となる条件を示すフィーチャであり、結論フィーチャとは条件からの結果に対応するフィーチャである。ステップＳ１５０１０１から処理が開始される。ステップＳ１５０１０２では条件フィーチャ番号の初期化を行う。ステップＳ１５０１０３ではプロダクト番号の初期化を行う。ステップＳ１５０１０４では全プロダクト数をカウントする。ステップＳ１５０１０５では全てのプロダクトのうち、条件フィーチャを使用しているプロダクトを抽出する。ステップＳ１５０１０６では前記ステップＳ１５０１０５で抽出された抽出プロダクトの番号を初期化する。ステップＳ１５０１０７では結論フィーチャ番号を初期化する。ステップＳ１５０１０８では結論フィーチャ使用回数を初期化する。ステップＳ１５０１０９では支持度を初期化する。ステップＳ１５０１１０では現在の結論フィーチャ番号に対応する結論フィーチャが使用されているかどうかをチェックする。使用されている場合（Ｙｅｓ）はステップＳ１５０１１１に進み、そうでない場合（Ｎｏ）はステップＳ１５０１１２に進む。ステップＳ１５０１１１では結論フィーチャ使用回数に１を加算する。ステップＳ１５０１１２ではプロダクト番号がステップＳ１５０１０５で抽出されたプロダクトのうち最後の抽出プロダクトを示す、最終抽出プロダクト番号かどうかをチェックする。抽出プロダクト番号が最終抽出プロダクト番号である場合（Ｙｅｓ）はステップＳ１５０１１４に進み、そうでない場合（Ｎｏ）はステップＳ１５０１１３に進む。ステップＳ１５０１１３では抽出プロダクト番号をインクリメントし、処理を継続する。ステップＳ１５０１１４では結論フィーチャ使用回数を全プロダクト数で除することにより、支持度を算出する。ステップＳ１５０１１５では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合（Ｙｅｓ）ステップＳ１５０１１７に進み、そうでない場合（Ｎｏ）はステップＳ１５０１１６に進む。ステップＳ１５０１１６では結論フィーチャ番号をインクリメントして処理を続ける。ステップＳ１５０１１７では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合（Ｙｅｓ）はステップＳ１５０１１９に進んで処理を終了し、そうでない場合（Ｎｏ）はステップＳ１５０１１８に進む。ステップＳ１５０１１８では条件フィーチャ番号をインクリメントし、処理を続ける。
【００５３】
図８は支持度算出手段１５０１により算出された、支持度を表す図１５０１２０である。支持度とは、条件フィーチャと結論フィーチャを共に含むプロダクト数を、全プロダクト数で除した値である。支持度とは、条件フィーチャと結論フィーチャを同時に満たすプロダクトが全プロダクトに占める割合を示している。つまり、支持度が高いほど、前提条件である条件フィーチャを使用しているプロダクトであって結論である結論フィーチャをも使用しているプロダクトが多いことを示している。
【００５４】
図９は信頼度算出手段１５０２の詳細な処理を示すフローチャート図である。ステップＳ１５０２０１から処理が開始される。ステップＳ１５０２０２では条件フィーチャ番号の初期化を行う。ステップＳ１５０２０３では条件フィーチャを使用しているプロダクトの抽出を行う。ステップＳ１５０２０４では前記ステップＳ１５０２０３で抽出された抽出プロダクト番号を初期化する。ステップＳ１５０２０５では抽出プロダクト数をカウントする。ステップＳ１５０２０６では結論フィーチャ番号を初期化する。ステップＳ１５０２０７では結論フィーチャ使用回数を初期化する。ステップＳ１５０２０８では信頼度を初期化する。ステップＳ１５０２０９では現在の結論フィーチャ番号に対応する結論フィーチャが使用されているかどうかをチェックする。使用されている場合（Ｙｅｓ）はステップＳ１５０２１０に進み、そうでない場合（Ｎｏ）はステップＳ１５０２１１に進む。ステップＳ１５０２１０では結論フィーチャ使用回数に１を加算する。ステップＳ１５０２１１ではプロダクト番号がステップＳ１５０２０３で抽出されたプロダクトのうち最後の抽出プロダクトを示す、最終抽出プロダクト番号かどうかをチェックする。抽出プロダクト番号が最終抽出プロダクト番号である場合（Ｙｅｓ）はステップＳ１５０２１３に進み、そうでない場合（Ｎｏ）はステップＳ１５０２１２に進む。ステップＳ１５０２１２では抽出プロダクト番号をインクリメントし、処理を継続する。ステップＳ１５０２１３では結論フィーチャ使用回数を抽出プロダクト数で除することにより、信頼度を算出する。ステップＳ１５０２１４では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合（Ｙｅｓ）ステップＳ１５０２１６に進み、そうでない場合（Ｎｏ）はステップＳ１５０２１５に進む。ステップＳ１５０２１５では結論フィーチャ番号をインクリメントして処理を続ける。ステップＳ１５０２１６では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合（Ｙｅｓ）はステップＳ１５０２１８に進んで処理を終了し、そうでない場合（Ｎｏ）はステップＳ１５０２１７に進む。ステップＳ１５０２１７では条件フィーチャ番号をインクリメントし、処理を続ける。
【００５５】
図１０は信頼度算出手段１５０２により算出された、信頼度を表す図１５０２１９である。信頼度とは、条件フィーチャと結論フィーチャを共に含むプロダクト数を、条件フィーチャを含むプロダクト数で除した値である。信頼度とは、条件フィーチャが使用されたときに、結論フィーチャが使用される割合を示している。つまり、信頼度が高いほど、前提条件である条件フィーチャと結論である結論フィーチャの結び付きが強いことを意味する。
【００５６】
図１１は単独支持度算出手段１５０３の詳細な処理を示すフローチャート図である。ステップＳ１５０３０１から処理が開始される。ステップＳ１５０３０２では結論フィーチャ番号の初期化を行う。ステップＳ１５０３０３ではプロダクト番号の初期化を行う。ステップＳ１５０３０４では全プロダクト数をカウントする。ステップＳ１５０３０５では結論フィーチャ使用回数を初期化する。ステップＳ１５０３０６では単独支持度を初期化する。ステップＳ１５０３０７では現在の結論フィーチャ番号に対応する結論フィーチャが使用されているかどうかをチェックする。使用されている場合（Ｙｅｓ）はステップＳ１５０３０８に進み、そうでない場合（Ｎｏ）はステップＳ１５０３０９に進む。ステップＳ１５０３０８では結論フィーチャ使用回数に１を加算する。ステップＳ１５０３０９ではプロダクト番号が全プロダクトのうち最後のプロダクトを示す、最終プロダクト番号かどうかをチェックする。プロダクト番号が最終プロダクト番号である場合（Ｙｅｓ）はステップＳ１５０３１１に進み、そうでない場合（Ｎｏ）はステップＳ１５０３１０に進む。ステップＳ１５０２１０ではプロダクト番号をインクリメントし、処理を継続する。ステップＳ１５０３１１では結論フィーチャ使用回数を全プロダクト数で除することにより、単独支持度を算出する。ステップＳ１５０３１２では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合（Ｙｅｓ）ステップＳ１５０３１４に進んで処理を終了し、そうでない場合（Ｎｏ）はステップＳ１５０３１３に進む。ステップＳ１５０３１３では結論フィーチャ番号をインクリメントし、処理を続ける。
【００５７】
図１２は単独支持度算出手段１５０３により算出された、単独支持度を表す図１５０３１５である。単独支持度とは、結論フィーチャを共に含むプロダクト数を、全プロダクト数で除した値である。単独支持度とは、結論フィーチャを使用しているプロダクトが全プロダクトに占める割合を示している。つまり、単独支持度が高いほど、結論フィーチャを使用しているプロダクトが多いことを示している。
【００５８】
図１３はリフト値算出手段１５０４の詳細な処理を示すフローチャート図である。ステップＳ１５０４０１から処理が開始される。ステップＳ１５０４０２では条件フィーチャ番号の初期化を行う。ステップＳ１５０４０３では結論フィーチャ番号の初期化を行う。ステップＳ１５０４０４ではリフト値の初期化を行う。ステップＳ１５０４０５では前記フィーチャ／フィーチャ信頼度算出手段１５０２で算出した信頼度を前記フィーチャ／フィーチャ単独支持度算出手段１５０３で算出した単独支持度で除することにより、リフト値を算出する。ステップＳ１５０４０６では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合（Ｙｅｓ）ステップＳ１５０４０８に進み、そうでない場合（Ｎｏ）はステップＳ１５０４０７に進む。ステップＳ１５０４０７では結論フィーチャ番号をインクリメントし、処理を続ける。ステップＳ１５０４０８では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合（Ｙｅｓ）はステップＳ１５０４１０に進んで処理を終了し、そうでない場合（Ｎｏ）はステップＳ１５０４０９に進む。ステップＳ１５０４０９では結論フィーチャ番号をインクリメントし、処理を続ける。
【００５９】
図１４はリフト値算出手段１５０４により算出された、リフト値を表す図１５０４１１である。リフト値とは、前記信頼度１５０２１９を、条件部を空とした結論フィーチャの支持度である前記単独支持度１５０３１５で除した値である。リフト値とは、条件フィーチャと結論フィーチャの独立性を見る指標を示している。つまり、リフト値が低いほど条件フィーチャと結論フィーチャの独立性は高く、依存関係は薄いことを意味する。より具体的に書くと、条件フィーチャを使用しているプロダクト中で結論フィーチャが使用されている確率が９５％であったとしても、結論フィーチャ自体が全体のプロダクトの９５％で使用されている場合は、条件フィーチャと結論フィーチャに依存関係が存在するとは言えない。この場合、リフト値は低い値を示す。
【００６０】
図１５は閾値算出手段１５０５からインターフェース部１８に出力された閾値入力画面の図１５０５０１である。閾値入力画面１５０５０１において、開発者２はインターフェース部１８を通してリフト値，支持度，信頼度それぞれの値に対して閾値１，閾値２，閾値３の値を入力する。今回の場合、閾値１に１.２０、閾値２に０.６０、閾値３に０.９０の値を用いた。
【００６１】
図１６は依存関係分析手段１５０６の詳細な処理を示すフローチャート図である。ステップＳ１５０６０１から処理が開始される。ステップＳ１５０６０２では閾値取得手段１５０５から閾値データの入力を行う。ステップＳ１５０６０３では条件フィーチャ番号の初期化を行う。ステップＳ１５０６０４では結論フィーチャ番号の初期化を行う。ステップＳ１５０６０５では条件フィーチャ番号が結論フィーチャ番号と異なるかどうかをチェックする。条件フィーチャ番号が結論フィーチャ番号と異なる場合（Ｙｅｓ）ステップＳ１５０６０６に進み、そうでない場合（Ｎｏ）ステップＳ１５０６１１に進む。ステップＳ１５０６０６では前記リフト値が閾値１以上かどうかチェックする。リフト値が閾値１より大きい場合（Ｙｅｓ）ステップＳ１５０６０７に進み、そうでない場合（Ｎｏ）ステップＳ１５０６１１に進む。ステップＳ１５０６０７では、前記支持度が閾値２以上かどうかをチェックする。支持度が閾値２より大きい場合（Ｙｅｓ）ステップＳ１５０６０８に進み、そうでない場合（Ｎｏ）ステップＳ１５０６１１に進む。ステップＳ１５０６０８では、前記信頼度が閾値３以上かどうかをチェックする。信頼度が閾値３より大きい場合（Ｙｅｓ）ステップＳ１５０６０９に進み、そうでない場合（Ｎｏ）ステップＳ１５０６１０に進む。ステップＳ１５０６０９ではフィーチャ／フィーチャ間の依存関係を確定要求関係に分類する。ステップＳ１５０６１０ではフィーチャ／フィーチャ間の依存関係を要求関係に分類する。ステップＳ１５０６１１ではフィーチャ／フィーチャ間の依存関係を関係無しに分類する。ステップＳ１５０６１２では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合（Ｙｅｓ）ステップＳ１５０６１４に進み、そうでない場合（Ｎｏ）はステップＳ１５０６１３に進む。ステップＳ１５０６１３では結論フィーチャ番号をインクリメントし、処理を続ける。ステップＳ１５０６１４では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合（Ｙｅｓ）はステップＳ１５０６１６に進んで処理を終了し、そうでない場合（Ｎｏ）はステップＳ１５０６１５に進む。ステップＳ１５０６１５では結論フィーチャ番号をインクリメントし、処理を続ける。
【００６２】
図１７は依存関係分析手段１５０６により分析された、フィーチャ／フィーチャ間の依存関係を示した図１５０６１７である。図中の要求関係は、条件フィーチャが選択された場合に要求される結論フィーチャを示している。また、依存関係が要求関係に分類されるか、確定要求関係と分類されるかは閾値取得手段１５０５で設定した閾値３に依存している。確定要求関係は前期信頼度が高く、依存関係がある確率が限りなく高い。一方要求関係は前期信頼度が低く、偶然の結果であることを考慮に入れなくてはならない。また、‘−’は‘関係無し’を示している。
【００６３】
図１８は関連情報管理部１６の詳細である。関連情報管理部１６は前期フィーチャ／フィーチャ関連付け手段１５からの入力を受けて、新規フィーチャ／フィーチャ関連情報確認手段１６０１において、入力情報とフィーチャ／フィーチャ関連情報管理部１６０２を経由して得られるフィーチャ／フィーチャ関連情報データベース１７に蓄積してあるデータとの比較を行う。比較した結果、入力情報が新規フィーチャ／フィーチャ関連情報であった場合はインターフェース部１８に情報を出力する。一方、フィーチャ／フィーチャ関連情報管理部１６０２はインターフェース部１８又は新規フィーチャ／フィーチャ関連情報確認手段１６０１からの入力受け、フィーチャ／フィーチャ間の依存関係を登録及び管理する。
【００６４】
これにより、開発者２はインターフェース部１８を通して新規フィーチャ／フィーチャ関連情報を確認して登録するだけでなく、フィーチャ／フィーチャ関連情報を容易に参照することができる。
【００６５】
図１９は新規フィーチャ／フィーチャ関連情報確認手段１６０１の詳細な処理を表すフローチャートである。ステップＳ１６０１０１から処理が開始される。ステップＳ１６０１０２ではフィーチャ／フィーチャ関連付け手段１５からフィーチャ／フィーチャ関連情報データ１を入力する。ステップＳ１６０１０３ではフィーチャ／フィーチャ関連情報管理部１６０２からフィーチャ／フィーチャ関連情報データ２を入力する。ステップＳ１６０１０４では条件フィーチャ番号を初期化する。ステップＳ１６０１０５では結論フィーチャ番号を初期化する。ステップＳ１６０１０６ではデータ１とデータ２が異なるかどうかをチェックする。データ１とデータ２が異なる場合（Ｙｅｓ）ステップＳ１６０１０７に進み、そうでない場合（Ｎｏ）はステップＳ１６０１１１に進む。ステップＳ１６０１０８ではデータ１が確定要求関係かどうかをチェックする。データ１が確定要求関係である場合（Ｙｅｓ）ステップＳ１６０１０９に進み、そうでない場合（Ｎｏ）ステップＳ１６０１０８に進む。ステップＳ１６０１０８はデータ１が要求関係かどうかをチェックする。データ１が要求関係である場合（Ｙｅｓ）ステップＳ１６０１１０に進み、そうでない場合（Ｎｏ）ステップＳ１６０１１１に進む。ステップＳ１６０１０９ではインターフェース部１８に確定要求関係情報の出力を行う。ステップＳ１６０１１０ではインターフェース部１８に要求関係情報の出力を行う。ステップＳ１６０１１１では結論フィーチャ番号が最終結論フィーチャ番号である場合（Ｙｅｓ）ステップＳ１５０６１３に進み、そうでない場合（Ｎｏ）はステップＳ１５０６１２に進む。ステップＳ１５０６１２では結論フィーチャ番号をインクリメントし、処理を続ける。ステップＳ１５０６１３では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合（Ｙｅｓ）はステップＳ１５０６１５に進んで処理を終了し、そうでない場合（Ｎｏ）はステップＳ１５０６１４に進む。ステップＳ１５０６１４では結論フィーチャ番号をインクリメントし、処理を続ける。
【００６６】
図２０はフィーチャ／フィーチャ関連情報管理部１６０２の詳細な手段を表すフローチャートである。ステップＳ１６０２０１から処理が始まる。ステップＳ１６０２０２ではインターフェース部１８又は新規フィーチャ／フィーチャ関連情報確認手段１６０２０２からデータを入力する。ステップＳ１６０２０３では、ステップＳ１６０２０２で入力されたデータがフィーチャ／フィーチャ関連情報登録であるかどうかチェックする。データがフィーチャ／フィーチャ関連情報登録である場合（Ｙｅｓ）はステップＳ１６０２０５に進み、そうでない場合（Ｎｏ）はステップＳ１６０２０４に進む。ステップＳ１６０２０４ではステップＳ１６０２０２で入力されたデータがフィーチャ／フィーチャ関連情報読み込みであるかどうかチェックする。データがフィーチャ／フィーチャ関連情報読み込みである場合（Ｙｅｓ）はステップＳ１６０２０６に進み、そうでない場合（Ｎｏ）はステップＳ１７０２０７に進む。ステップＳ１７０２０５ではフィーチャ／フィーチャ関連情報の登録を行う。ステップＳ１７０２０６ではフィーチャ／フィーチャ関連情報の読み込みを行う。ステップＳ１６０２０７では、インターフェース部１８または新規フィーチャ／フィーチャ関連情報確認手段１６０１にデータの出力を行う。ステップＳ１６０２０８で処理を終了する。
【００６７】
図２１は、インターフェース部１８における確定要求関係情報確認画面１８０１である。このように、既存プロダクトにおけるプロダクトとフィーチャの関係を統計解析することによって、自動でフィーチャ／フィーチャ間の依存関係が抽出することができる。
【００６８】
図２２は、インターフェース部１８における要求関係情報確認画面１８０２である。
【００６９】
図２３は管理情報分類部１３０１の詳細な処理を表すフローチャートである。ステップＳ１３０１０１から処理が始まる。ステップＳ１３０１０２ではインターフェース部１８又は、プロダクト情報管理部１３０２又は、フィーチャ情報管理部１３０３又は、プロダクト／フィーチャ情報管理部１３０４からデータを入力する。ステップＳ１３０１０３では、ステップＳ１３０１０２で入力されたデータがプロダクト情報であるかどうかをチェックする。データがプロダクト情報である場合（Ｙｅｓ）はステップＳ１３０１０６に進み、そうでない場合（Ｎｏ）はステップＳ１３０１０４に進む。ステップＳ１３０１０４ではステップＳ１３０１０２で入力されたデータがフィーチャ情報であるかどうかをチェックする。データがフィーチャ情報である場合（Ｙｅｓ）はステップＳ１３０１０７に進み、そうでない場合（Ｎｏ）はステップＳ１３０１０５に進む。ステップＳ１３０１０５ではステップＳ１３０１０２で入力されたデータがプロダクト／フィーチャ情報であるかどうかをチェックする。データがプロダクト／フィーチャ情報である場合（Ｙｅｓ）はステップＳ１３０１０８に進み、そうでない場合（Ｎｏ）はステップＳ１３０１０９に進む。ステップＳ１３０１０６ではステップＳ１３０１０２で入力されたデータをプロダクト情報管理部１３０２に出力する。ステップＳ１３０１０７ではステップＳ１３０１０２で入力されたデータをプロダクト情報管理部１３０３に出力する。ステップＳ１３０１０８ではステップＳ１３０１０２で入力されたデータをプロダクト／フィーチャ情報管理部１３０４に出力する。ステップＳ１３０１０９ではステップＳ１３０１０２で入力されたデータにインターフェース部１８に出力する情報があるかどうかをチェックする。データにインターフェース部１８に出力するデータがある場合（Ｙｅｓ）はステップＳ１３０１１０に進み、そうでない場合（Ｎｏ）はステップＳ１３０１１１に進み処理を終了する。ステップＳ１３０１１０では、ステップＳ１３０１０２で入力されたデータをインターフェース部１８へ出力する。
【００７０】
図２４はプロダクト情報管理部１３０２の詳細な処理を表すフローチャートである。ステップＳ１３０２０１から処理が始まる。ステップＳ１３０２０２では管理情報分類部１３０１からデータを入力する。ステップＳ１３０２０３ではステップＳ１３０２０２で入力されたデータがプロダクト情報の登録であるかチェックする。データがプロダクト情報の登録である場合（Ｙｅｓ）はステップＳ１３０２０５に進み、そうでない場合（Ｎｏ）はステップＳ１３０２０４に進む。ステップＳ１３０２０４ではステップＳ１３０２０２で入力されたデータがプロダクト情報の読み込みであるかチェックする。データがプロダクト情報の読み込みである場合（Ｙｅｓ）はステップＳ１３０２０６に進み、そうでない場合（Ｎｏ）はステップＳ１３０２０７に進む。ステップＳ１３０２０５ではステップＳ１３０２０２で入力されたプロダクト情報をプロダクト情報データベース１１に登録する。ステップＳ１３０２０６ではプロダクト情報データベース１１のデータを読み込む。ステップＳ１３０２０７では、ステップＳ１３０２０５又はステップＳ１３０２０６の結果を管理情報分類部に出力する。ステップＳ１３０２０８で処理を終了する。
【００７１】
図２５はフィーチャ情報管理部１３０３の詳細な処理を表すフローチャートである。ステップＳ１３０３０１から処理が始まる。ステップＳ１３０３０２では管理情報分類部１３０１からデータを入力する。ステップＳ１３０３０３ではステップＳ１３０３０２で入力されたデータがフィーチャ情報の登録であるかチェックする。データがフィーチャ情報の登録である場合（Ｙｅｓ）はステップＳ１３０３０５に進み、そうでない場合（Ｎｏ）はステップＳ１３０３０４に進む。ステップＳ１３０３０４ではステップＳ１３０３０２で入力されたデータがフィーチャ情報の読み込みであるかチェックする。データがフィーチャ情報の読み込みである場合（Ｙｅｓ）はステップＳ１３０３０６に進み、そうでない場合（Ｎｏ）はステップＳ１３０３０７に進む。ステップＳ１３０３０５ではステップＳ１３０３０２で入力されたフィーチャ情報をフィーチャ情報データベース１２に登録する。ステップＳ１３０３０６ではフィーチャ情報データベース１２のデータを読み込む。ステップＳ１３０３０７では、ステップＳ１３０３０５又はステップＳ１３０３０６の結果を管理情報分類部に出力する。ステップＳ１３０３０８で処理を終了する。
【００７２】
図２６はプロダクト／フィーチャ関連情報管理部１３０４の詳細な処理を表すフローチャートである。ステップＳ１３０４０１から処理が始まる。ステップＳ１３０４０２では管理情報分類部１３０１からデータを入力する。ステップＳ１３０４０３ではステップＳ１３０４０２で入力されたデータがプロダクト／フィーチャ関連情報の登録であるかチェックする。データがプロダクト／フィーチャ関連情報の登録である場合（Ｙｅｓ）はステップＳ１３０４０５に進み、そうでない場合（Ｎｏ）はステップＳ１３０４０４に進む。ステップＳ１３０４０４ではステップＳ１３０４０２で入力されたデータがプロダクト／フィーチャ関連情報の読み込みであるかチェックする。データがプロダクト／フィーチャ関連情報の読み込みである場合（Ｙｅｓ）はステップＳ１３０４０６に進み、そうでない場合（Ｎｏ）はステップＳ１３０４０７に進む。ステップＳ１３０４０５ではステップＳ１３０４０２で入力されたプロダクト／フィーチャ関連情報をプロダクト／フィーチャ関連情報データベース１４に登録する。ステップＳ１３０４０６ではプロダクト／フィーチャ関連情報データベース１４のデータを読み込む。ステップＳ１３０４０７では、ステップＳ１０４０５又はステップＳ１３０４０６の結果を管理情報分類部に出力する。ステップＳ１３０４０８で処理を終了する。
【００７３】
図２７はフィーチャ情報データベース１２におけるフィーチャ情報を表す図１２０２である。フィーチャ情報を表す図１２０１と対比するとわかるように、Ｆ０８車いす兼用エレベータ仕様を用いた場合、Ｆ１０マルチビームドアセンサが要求されることが新規情報として追加される。このように、既存プロダクトにおけるフィーチャの使用状況を統計分析することによって、フィーチャ／フィーチャ間の依存関係を抽出することができる。
【００７４】
図２８はエレベータのフィーチャモデルの一例を表す図である。点線矢印が今回の自動分析により抽出された依存関係である。今までの技術では上下階層にある親子関係のみ依存関係の抽出が行われていたのに対し、本技術では図２８のように、階層も系列も異なるフィーチャ同士の依存関係も抽出することができる。
【００７５】
図２９はフィーチャ選択による新規プロダクト開発画面である。開発者２はフィーチャを選択することで要求を満たすプロダクトを開発する。従来技術ではフィーチャ選択時に必要なフィーチャを見落としたり、共存不可能なフィーチャを選択したりといったフィーチャ選択ミスがあった。しかし、本技術のように過去プロダクトから抽出した依存関係を用いれば、選択したフィーチャから要求されたフィーチャを自動で選択することができる。図では、Ｆ０８車いす兼用エレベータ仕様を選択すると、自動的にＦ１０マルチビームドアセンサが選択された画面を示している。
【００７６】
図３０はフィーチャ選択による新規プロダクト開発画面において、注意勧告が表示された例を示す図である。Ｆ０８車いす兼用エレベータ仕様を選択しているにもかかわらず、Ｆ１０マルチビームドアセンサのチェックボックスを外したために注意勧告がなされた画面である。このように、フィーチャ間の依存関係に逆らってフィーチャ選択を行った場合、注意勧告を行うことでフィーチャ選択ミスを削減することができる。
【００７７】
従来フィーチャ選択は熟練者の経験に頼る部分が多かったのに対し、本技術を用いるとフィーチャ間の依存関係をフィーチャ選択時に補助として利用することで、属人性の排除を可能としている。このように、本技術を用いれば仕様設計ミスを減らすことができ、開発効率の向上が可能となる。
【００７８】
なお、本発明は自動車や建設機械においてもエレベータと同様に有効であり、本発明をエレベータに適用した例を用いて記述したことは、題記の特許請求の範囲をエレベータに限定するものではない。
【産業上の利用可能性】
【００７９】
本発明は、複数の既存プロダクトを有するプロダクトライン型開発に適用できる。
【符号の説明】
【００８０】
１  プロダクトライン型開発支援装置
２  開発者
１１  プロダクト情報データベース
１２  フィーチャ情報データベース
１３  情報管理部
１４  プロダクト／フィーチャ関連情報データベース
１５  フィーチャ／フィーチャ関連付け手段
１６  関連情報管理部
１７  フィーチャ／フィーチャ関連情報データベース
【図１】
2011099053.tif 000003
【図２】
2011099053.tif 000004
【図３】
2011099053.tif 000005
【図４】
2011099053.tif 000006
【図５】
2011099053.tif 000007
【図６】
2011099053.tif 000008
【図７】
2011099053.tif 000009
【図８】
2011099053.tif 000010
【図９】
2011099053.tif 000011
【図１０】
2011099053.tif 000012
【図１１】
2011099053.tif 000013
【図１２】
2011099053.tif 000014
【図１３】
2011099053.tif 000015
【図１４】
2011099053.tif 000016
【図１５】
2011099053.tif 000017
【図１６】
2011099053.tif 000018
【図１７】
2011099053.tif 000019
【図１８】
2011099053.tif 000020
【図１９】
2011099053.tif 000021
【図２０】
2011099053.tif 000022
【図２１】
2011099053.tif 000023
【図２２】
2011099053.tif 000024
【図２３】
2011099053.tif 000025
【図２４】
2011099053.tif 000026
【図２５】
2011099053.tif 000027
【図２６】
2011099053.tif 000028
【図２７】
2011099053.tif 000029
【図２８】
2011099053.tif 000030
【図２９】
2011099053.tif 000031
【図３０】
2011099053.tif 000032
【国際調査報告】
2011099053.tif 000033
2011099053.tif 000034
2011099053.tif 000035
2011099053.tif 000036