(57)【要約】【課題】ソフトウェア開発において最適なアセットを自動的にかつ的確に選択可能とし、これによって設計作業の効率を向上させる。【解決手段】アセットの特性を表現したアセット特性ベクトル、システムの要件の特性を表現した要件特性ベクトル、アセットを選択する際に、特性ベクトルの成分のうち重要なものに対して重み付けするための重み付けベクトル、アセットの特性値域を表現した特性値域ベクトルを入力・蓄積しておき、平準化処理部７で、アセット特性ベクトル、要件特性ベクトル及び特性値域ベクトルに対して平準化処理を行い、距離算出処理部８で、平準化処理部７によって処理されたアセット特性ベクトル、要件特性ベクトル及び特性値域ベクトルに対して重み付けベクトルから得た重み付けを加味してベクトル間の距離の算出を行い、アセット選択結果出力部９で、距離算出部８で算出された距離を順次比較して最短の距離となったアセットを出力する。【選択図】      図１
2008123224.tif 000002
【特許請求の範囲】
【請求項１】
開発対象システムの個々の設計要素それぞれについて、要件に最適なアセットを選択するアセット選択装置において、
前記アセットの特性を表現したアセット特性ベクトルの入力、以前に入力したアセット特性ベクトルの検索又は利用の指示を行うアセット特性ベクトル設定手段と、
前記開発対象システムの要件の特性を表現した要件特性ベクトルの入力、以前に入力した要件特性ベクトルの検索又は利用の指示を行う要件特性ベクトル設定手段と、
前記アセットを選択する際に、前記要件特性ベクトルの成分のうち重要なものに対して重み付けするための重み付けベクトルの入力、以前に入力した重み付けベクトルの検索又は利用の指示を行う重み付けベクトル設定手段と、
前記アセットの特性値域を表現した特性値域ベクトルの入力、以前に入力した特性値域ベクトルの検索又は利用の指示を行う特性値域ベクトル設定手段と、
前記アセット特性ベクトル設定手段から入力されたアセット特性ベクトルを保持するアセット特性ベクトル蓄積手段と、
前記要件特性ベクトル設定手段から入力された要件特性ベクトルを保持する要件特性ベクトル蓄積手段と、
前記重み付けベクトル設定手段から入力された重み付けベクトルを保持する重み付けベクトル蓄積手段と、
前記特性値域ベクトル設定手段から入力された特性値域ベクトルを保持する特性値域ベクトル蓄積手段と、
前記アセット特性ベクトル蓄積手段から得たアセット特性ベクトル、前記要件特性ベクトル蓄積手段から得た要件特性ベクトル及び前記特性値域ベクトル蓄積手段から得た特性値域ベクトルに対して平準化処理を行う平準化処理手段と、
前記平準化処理手段によって処理されたアセット特性ベクトル、要件特性ベクトル及び特性値域ベクトルに対して前記重み付けベクトル蓄積手段から得た重み付けを加味してベクトル間の距離の算出を行う距離算出処理手段と、
前記距離算出手段で算出された距離を順次比較して最短の距離となったアセットを出力するアセット選択結果出力手段と
を具備することを特徴とするアセット選択装置。
【請求項２】
さらに、前記アセットを絞り込むための閾値を設定するアセット絞込み用閾値設定手段と、
前記アセット絞込み用閾値設定手段で設定されるアセットを絞り込むための閾値を登録し管理して、前記アセット選択処理手段から要求に応じて選択処理に供するアセット絞込み用閾値を提供するアセット絞込み用閾値蓄積手段と、
前記各設定手段に対する各種設定と処理動作の管理を行う入力切替設定手段と、
前記各設定手段それぞれの設定状況及び前記距離算出処理手段及びアセット選択処理手段の処理結果を入力して、中間の処理結果、最終的な処理結果及び動作に状況の表示を行う表示手段と
を備えることを特徴とする請求項１記載のアセット選択装置。
【請求項３】
開発対象システムの個々の設計要素それぞれについて、要件に最適なアセットを選択するアセット選択方法において、
前記アセットの特性を表現したアセット特性ベクトルの入力、以前に入力したアセット特性ベクトルの検索又は利用の指示を行うアセット特性ベクトル設定ステップと、
前記開発対象システムの要件の特性を表現した要件特性ベクトルの入力、以前に入力した要件特性ベクトルの検索又は利用の指示を行う要件特性ベクトル設定ステップと、
前記アセットを選択する際に、前記要件特性ベクトルの成分のうち重要なものに対して重み付けするための重み付けベクトルの入力、以前に入力した重み付けベクトルの検索又は利用の指示を行う重み付けベクトル設定ステップと、
前記アセットの特性値域を表現した特性値域ベクトルの入力、以前に入力した特性値域ベクトルの検索又は利用の指示を行う特性値域ベクトル設定ステップと、
前記アセット特性ベクトル設定ステップから入力されたアセット特性ベクトルを保持するアセット特性ベクトル蓄積ステップと、
前記要件特性ベクトル設定ステップから入力された要件特性ベクトルを保持する要件特性ベクトル蓄積ステップと、
前記重み付けベクトル設定ステップから入力された重み付けベクトルを保持する重み付けベクトル蓄積ステップと、
前記特性値域ベクトル設定ステップから入力された特性値域ベクトルを保持する特性値域ベクトル蓄積ステップと、
前記アセット特性ベクトル蓄積ステップから得たアセット特性ベクトル、前記要件特性ベクトル蓄積手段から得た要件特性ベクトル及び前記特性値域ベクトル蓄積ステップから得た特性値域ベクトルに対して平準化処理を行う平準化処理ステップと、
前記平準化処理ステップによって処理されたアセット特性ベクトル、要件特性ベクトル及び特性値域ベクトルに対して前記重み付けベクトル蓄積ステップから得た重み付けを加味してベクトル間の距離の算出を行う距離算出処理ステップと、
前記距離算出ステップで算出された距離を順次比較して最短の距離となったアセットを出力するアセット選択結果出力ステップと
を具備することを特徴とするアセット選択方法。
【請求項４】
さらに、前記アセットを絞り込むための閾値を設定するアセット絞込み用閾値設定ステップと、
前記アセット絞込み用閾値設定ステップで設定されるアセットを絞り込むための閾値を登録し管理して、前記アセット選択処理ステップから要求に応じて選択処理に供するアセット絞込み用閾値を提供するアセット絞込み用閾値蓄積ステップと、
前記各設定ステップに対する各種設定と処理動作の管理を行う入力切替設定ステップと、
前記各設定ステップそれぞれの設定状況及び前記距離算出処理ステップ及びアセット選択処理ステップの処理結果を入力して、中間の処理結果、最終的な処理結果及び動作に状況の表示を行う表示ステップと
を備えることを特徴とする請求項３記載のアセット選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発に用いられ、開発対象システムの個々の設計要素それぞれについて、要件に最適なアセットを選択するアセット選択装置及びアセット選択方法に関する。
【背景技術】
【０００２】
従来のソフトウェア開発では、開発対象システムにおけるソフトウェアの要件を分析した後、設計に移行する過程で、開発者が自身の経験に基づいて必要があるソフトウェアの実現手段を選択していた。このソフトウェアの実現手段は「アセット」と呼ばれる。
【０００３】
ところで、上記のような従来のソフトウェア開発の形態では、アセットの選択が人手で実施される。このため、非効率なだけでなく、必ずしも最適なアセットが選択されるとは限らない。特に、アセット選択は経験を重ねる（ノウハウの蓄積）ことによって選択の的確性が向上されるが、アセット選択のノウハウを残す手段がないため、当該ノウハウの蓄積が困難である、といった問題があった。
【０００４】
従来方式によるアセット選択方法の一つが非特許文献１に説明されている。この方法では、利用しようとするアセット候補と開発対象システムの要件に対し、開発者が特性を分類して表形式にまとめる。例として、表１にこの方式に基づいてアーキテクチャパターンを選択する場合を示す。表１では特性として、メリット、デメリット、共通性、可変性、バインディング、粒度、目的について整理している。
【表１】
2008123224.tif 000003
【０００５】
本例ではアーキテクチャパターンについてのみ示しているが、実際のシステム開発では、これ以外にデザインパターンやミドルウェア、実装言語、言語機能についても整理する必要がある。また、最終的にアセットを選択するためには、システム要件についても同じ特性についてまとめ、さらに、両者を比較するまでを実施する必要がある。
【０００６】
従来の方法では、このような作業は人手により実施されている。したがって、作業自体が非常に煩雑であり、誤りが混入する可能性があった。また、アセットを特性分析した表のメンテナンスは人手により行われるため、例えば、特性のタイトルが食い違ってしまうなど、ノウハウの蓄積の面についても課題となっていた。
【０００７】
尚、特許文献１に、設計の候補を数値パラメータとして取り扱い、システムによる自動化により、最適解を生成する方法が示されている。但し、この特許文献１に記載の方法は、パラメータを評価するための動作を分散並列に実行するものであり、アセット選択の自動化やノウハウ蓄積の手段を提供するものではない。
【非特許文献１】ジェームズ・Ｏ・コプリン著、金沢典子、平鍋健児、羽生田栄一共訳：“マルチパラダイムデザイン”、株式会社ピアソン・エデュケーション、ＩＳＢＮ４−８９４７１−２９８−９。
【特許文献１】特開平１１−８５７２１公報。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上のように、従来のソフトウェア開発では、人手を介したアセットの選択が、非効率でかつ確実性が低く、また、アセット選択のノウハウの蓄積が困難であった。
【０００９】
そこで、本発明の目的は、ソフトウェア開発において最適なアセットを自動的にかつ的確に選択することができ、設計作業の効率を格段に向上させることのできるアセット選択装置及びアセット選択方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、開発対象システムの個々の設計要素それぞれについて、要件に最適なアセットを選択するアセット選択装置において、前記アセットの特性を表現したアセット特性ベクトルの入力、以前に入力したアセット特性ベクトルの検索又は利用の指示を行うアセット特性ベクトル設定手段と、前記開発対象システムの要件の特性を表現した要件特性ベクトルの入力、以前に入力した要件特性ベクトルの検索又は利用の指示を行う要件特性ベクトル設定手段と、前記アセットを選択する際に、前記要件特性ベクトルの成分のうち重要なものに対して重み付けするための重み付けベクトルの入力、以前に入力した重み付けベクトルの検索又は利用の指示を行う重み付けベクトル設定手段と、前記アセットの特性値域を表現した特性値域ベクトルの入力、以前に入力した特性値域ベクトルの検索又は利用の指示を行う特性値域ベクトル設定手段と、前記アセット特性ベクトル設定手段から入力されたアセット特性ベクトルを保持するアセット特性ベクトル蓄積手段と、前記要件特性ベクトル設定手段から入力された要件特性ベクトルを保持する要件特性ベクトル蓄積手段と、前記重み付けベクトル設定手段から入力された重み付けベクトルを保持する重み付けベクトル蓄積手段と、前記特性値域ベクトル設定手段から入力された特性値域ベクトルを保持する特性値域ベクトル蓄積手段と、前記アセット特性ベクトル蓄積手段から得たアセット特性ベクトル、前記要件特性ベクトル蓄積手段から得た要件特性ベクトル及び前記特性値域ベクトル蓄積手段から得た特性値域ベクトルに対して平準化処理を行う平準化処理手段と、前記平準化処理手段によって処理されたアセット特性ベクトル、要件特性ベクトル及び特性値域ベクトルに対して前記重み付けベクトル蓄積手段から得た重み付けを加味してベクトル間の距離の算出を行う距離算出処理手段と、前記距離算出手段で算出された距離を順次比較して最短の距離となったアセットを出力するアセット選択結果出力手段とを具備することを特徴とする。
【００１１】
また、上記構成によるアセット選択装置において、さらに、前記アセットを絞り込むための閾値を設定するアセット絞込み用閾値設定手段と、前記アセット絞込み用閾値設定手段で設定されるアセットを絞り込むための閾値を登録し管理して、前記アセット選択処理手段から要求に応じて選択処理に供するアセット絞込み用閾値を提供するアセット絞込み用閾値蓄積手段と、前記各設定手段に対する各種設定と処理動作の管理を行う入力切替設定手段と、前記各設定手段それぞれの設定状況及び前記距離算出処理手段及びアセット選択処理手段の処理結果を入力して、中間の処理結果、最終的な処理結果及び動作に状況の表示を行う表示手段とを備えることを特徴とする。
【００１２】
また、本発明は、開発対象システムの個々の設計要素それぞれについて、要件に最適なアセットを選択するアセット選択方法において、前記アセットの特性を表現したアセット特性ベクトルの入力、以前に入力したアセット特性ベクトルの検索又は利用の指示を行うアセット特性ベクトル設定ステップと、前記開発対象システムの要件の特性を表現した要件特性ベクトルの入力、以前に入力した要件特性ベクトルの検索又は利用の指示を行う要件特性ベクトル設定ステップと、前記アセットを選択する際に、前記要件特性ベクトルの成分のうち重要なものに対して重み付けするための重み付けベクトルの入力、以前に入力した重み付けベクトルの検索又は利用の指示を行う重み付けベクトル設定ステップと、前記アセットの特性値域を表現した特性値域ベクトルの入力、以前に入力した特性値域ベクトルの検索又は利用の指示を行う特性値域ベクトル設定ステップと、前記アセット特性ベクトル設定ステップから入力されたアセット特性ベクトルを保持するアセット特性ベクトル蓄積ステップと、前記要件特性ベクトル設定ステップから入力された要件特性ベクトルを保持する要件特性ベクトル蓄積ステップと、前記重み付けベクトル設定ステップから入力された重み付けベクトルを保持する重み付けベクトル蓄積ステップと、前記特性値域ベクトル設定ステップから入力された特性値域ベクトルを保持する特性値域ベクトル蓄積ステップと、前記アセット特性ベクトル蓄積ステップから得たアセット特性ベクトル、前記要件特性ベクトル蓄積手段から得た要件特性ベクトル及び前記特性値域ベクトル蓄積ステップから得た特性値域ベクトルに対して平準化処理を行う平準化処理ステップと、前記平準化処理ステップによって処理されたアセット特性ベクトル、要件特性ベクトル及び特性値域ベクトルに対して前記重み付けベクトル蓄積ステップから得た重み付けを加味してベクトル間の距離の算出を行う距離算出処理ステップと、前記距離算出ステップで算出された距離を順次比較して最短の距離となったアセットを出力するアセット選択結果出力ステップとを具備することを特徴とする。
【００１３】
また、上記構成によるアセット選択方法において、さらに、前記アセットを絞り込むための閾値を設定するアセット絞込み用閾値設定ステップと、前記アセット絞込み用閾値設定ステップで設定されるアセットを絞り込むための閾値を登録し管理して、前記アセット選択処理ステップから要求に応じて選択処理に供するアセット絞込み用閾値を提供するアセット絞込み用閾値蓄積ステップと、前記各設定ステップに対する各種設定と処理動作の管理を行う入力切替設定ステップと、前記各設定ステップそれぞれの設定状況及び前記距離算出処理ステップ及びアセット選択処理ステップの処理結果を入力して、中間の処理結果、最終的な処理結果及び動作に状況の表示を行う表示ステップとを備えることを特徴とする。
【００１４】
以上のアセット選択装置及びその方法は、要件の特性とアセットの特性を数値的に取扱う手法を提供し、かつ、両者の最適なマッチングを算出する手段を提供することでアセット選択を自動化し、設計作業を飛躍的に効率化するものである。さらに、マッチングの算出に関して複数の方式を選択可能とすることで、利用者の利便性を向上させる。
【発明の効果】
【００１５】
以上のように本発明によれば、ソフトウェア開発において最適なアセットを自動的にかつ的確に選択することができ、設計作業の効率を格段に向上させることのできるアセット選択装置及びアセット選択方法を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１７】
［第１の実施形態］
図１は本発明に係る一実施形態として、アセット選択装置の全体の機能構成を示すブロック図である。図１において、アセット特性ベクトル設定部１は、アセットの特性を表現したアセット特性ベクトルの入力及び以前に入力したアセット特性ベクトルの検索又は利用の指示を行う。要件特性ベクトル設定部２は、開発対象システムの要件の特性を表現した要件特性ベクトルの入力及び以前に入力した要件特性ベクトルの検索又は利用の指示を行う。重み付けベクトル設定部３は、アセットを選択する際に、特性ベクトルの成分のうち重要なものに対して重み付けするための重み付けベクトルの入力及び以前に入力した重み付けベクトルの検索又は利用の指示を行う。さらに、特性値域ベクトル設定部１０は、アセットの特性値域を表現した特性値域ベクトルの入力及び以前に入力した特性値域ベクトルの検索又は利用の指示を行う。
【００１８】
アセット特性ベクトル蓄積部４は、アセット特性ベクトル設定部１から入力されたアセット特性ベクトルを保持する。要件特性ベクトル蓄積部５は、要件特性ベクトル設定部２から入力された要件特性ベクトルを保持する。重み付けベクトル蓄積部６は、重み付けベクトル設定部３から入力された重み付けベクトルを保持する。さらに、特性値域ベクトル蓄積部１１は、特性値域ベクトル設定部１０から入力された特性値域ベクトルを保持する。
【００１９】
平準化処理部７は、アセット特性ベクトル蓄積部４から得たアセット特性ベクトル、要件特性ベクトル蓄積部５から得た要件特性ベクトル及び特性値域ベクトル蓄積部１１から得た特性値域ベクトルに対して平準化処理を行う。距離算出処理部８は、平準化処理部７によって処理されたアセット特性ベクトル、要件特性ベクトル及び特性値域ベクトルに対して重み付けベクトル蓄積部６から得た重み付けを加味してベクトル間の距離の算出を行う。アセット選択結果出力部９は、距離算出部８で算出された距離を順次比較して最短の距離となったアセットを出力する。
【００２０】
上記機能構成における、データ構成について具体的に説明する。
【００２１】
特性ベクトルは、各アセットや開発対象システムの要件に対して、各特性の値を並べてベクトル化したものである。例えば、４次元の特性ベクトルを（ｘ１，ｘ２，ｘ３，ｘ４）とするとき、特性要素ｘ１からｘ４のそれぞれの意味ととり得る値域は以下のようであるとする。
【００２２】
ｘ１：再利用の対象｛１：構造、２：Ｉ／Ｆ、３：アルゴリズム｝  
ｘ２：粒度｛１:アーキテクチャ、２:デザイン、３:イディオム｝  
ｘ３：利用できる工程｛１:分析、２:設計、３:実装、４:試験｝  
ｘ４：性能への影響｛１:なし、２:やや劣化、３:劣化｝
このとき、アーキテクチャパターンであるＭＶＣパターンに対する特性ベクトルは（１，１，２，２）と表現できる。すなわち、ＭＶＣパターンは「構造」、「アーキテクチャ」、「設計」、「やや劣化」といった特性を持つ。同様にデザインパターンであるStrategyに対する特性ベクトルは（３，２，２，１）、デザインパターンであるStateに対する特性ベクトルは（３，２，２，３）、イディオムであるSmart Pointerは（３，３，３，２）というように表現することができる。
【００２３】
特性ベクトルを有効に定義する際には、一定の制約が必要となる。すなわち、特性として、粒度の大小や工程の前後、影響度の大小など、連続性のあるものは単調増加/減少となるように並べる。また、要件特性ベクトルの特性要素はアセット特性ベクトルの特性要素と同じかそのサブセットとする。これは、同じ特性に対して値が比較できるようにするためである。なお、要件特性ベクトルに無い特性要素をアセット特性ベクトルが持っていた場合はその特性要素は比較処理の際に無視する。
【００２４】
アセット特性ベクトルは、アセットを識別する名称とアセットに対応する特性ベクトルを対にしたものである。例えば、（ＭＶＣパターン，（１，１，２，２））のように表現される。
【００２５】
要件特性ベクトルは、開発対象システムを識別する名称と開発対象システムの個々の設計要素に対応する特性ベクトルを対にしたものである。例えば、（顧客管理システム全体アーキテクチャ,（１，１，２，１））のように表現される。この例では顧客管理システムの全体アーキテクチャ要件は、「構造」、「アーキテクチャ」、「設計」、「なし」という特性を持っていることを表している。
【００２６】
重み付けベクトルは、重要な特性要素を持つアセットがより重要視されるよう特性要素間の重み付けを表現するものである。
【００２７】
特性値域ベクトルは、特性ベクトルの各特性要素の値域の最小値と最大値を並べたものである。例えば、４次元の特性ベクトルを（ｘ１，ｘ２，ｘ３，ｘ４）とし、ここで特性要素ｘ１からｘ４の意味ととり得る値域は以下のようであるとする。  
ｘ１：再利用の対象｛１：構造、２：Ｉ／Ｆ、３：アルゴリズム｝  
ｘ２：粒度｛１:アーキテクチャ、２:デザイン、３:イディオム｝  
ｘ３：利用できる工程｛１:分析、２:設計、３:実装、４:試験｝  
ｘ４：性能への影響｛１:なし、２:やや劣化、３:劣化｝  
このとき、特性値域ベクトルは（（１，３），（１，３），（１，４），（１，３））となる。
【００２８】
以上のベクトル蓄積に伴って、以下の平準化処理、距離算出処理、アセット選択処理を実施する。
【００２９】
（平準化処理）
平準化処理は特性ベクトルの各特性要素に対し、それぞれの値域の違いにより元々持っている重み付けを打ち消し、補正する処理である。この補正はアセット選択の対象となるアセット特性ベクトル、要件特性ベクトルの全ての特性ベクトルについて処理される。
【００３０】
平準化の目的を具体例に説明する。例えば、ある特性要素Ａの取りうる値域が｛１，２，３｝であり、別の特性要素Ｂでは｛１，２，３，４｝であるとする。また、アセットの利用判断の際に特性要素ＡとＢに対応する特性を特に重み付けなく、同程度に参考にしようとする場合を想定する。この際、別項で説明する距離算出処理では、アセットと要件の乖離度を特性ベクトルの対応する特性成分の数値の差分で判定する。このため、特性Ａでは最大の乖離度が３−１＝２であるのに対し、特性Ｂの乖離度は４−１＝３となる。このため、補正を行わない場合、両特性間に本来意図しない重み付けが発生してしまう。
【００３１】
平準化を実現する手順の一つは以下の通りである。  
手順１：特性成分を値域の最小値で減算する。  
手順２：特性成分を値域の長さ、即ち、値域の最大値から最小値を減算した値で除算する。  
例えば、４次元の特性ベクトルを（ｘ１，ｘ２，ｘ３，ｘ４）とする。ここで特性要素ｘ１からｘ４の意味ととり得る値域は以下のようであるとする。  
ｘ１：再利用の対象｛１：構造、２：Ｉ／Ｆ、３：アルゴリズム｝  
ｘ２：粒度｛１：アーキテクチャ、２：デザイン、３：イディオム｝  
ｘ３：利用できる工程｛１：分析、２：設計、３：実装、４：試験｝  
ｘ４：性能への影響｛１：なし、２：やや劣化、３：劣化｝  
平準化する特性ベクトルが（１，２，４，３）だったとすると、平準化された特性ベクトルは（（１−１）／２，（２−１）／２，（４−１）／３，（３−１）／２）＝（０，１／２，１，１）となる。
【００３２】
平準化を実施する別の方法は次の通りである。  
手順１：特性成分を値域の最小値で減算する。  
手順２：特性成分に対し、各特性の長さの最小公倍数をその特性の長さで減算したものを乗算する。  
例えば、既述の例と同じ状況設定において、平準化する特性ベクトルが（１，２，４，３）だったとすると、（（１−１）×（６／２），（２−１）×（６／２），（４−１）×（６／３），（３−１）／（６／２））＝（０，３，６，６）となる。
【００３３】
（距離算出処理）
距離算出処理は、特性間の重み付けを加味した上でアセット特性ベクトルと要件特性ベクトルの乖離を幾何学的な距離として算出するものである。この処理は、各アセット特性ベクトルと各要件特性ベクトルの組み合わせに対して行われる。距離算出の計算式は以下の通りである。
【数１】
2008123224.tif 000004
【００３４】
ここで、重み付けベクトル（Ａ１，Ａ２，…Ａｎ）
要件特性ベクトル中の特性ベクトル（Ｘ１，Ｘ２，…Ｘｎ）
アセット特性ベクトル中の特性ベクトル（Ｙ１，Ｙ２，…Ｙｎ）
（アセット選択処理）
アセット選択処理では、距離算出処理で得られた距離により、各要件特性ベクトルに対して最も距離の近いアセット特性ベクトルを選択し、開発対象システムを識別する名称とアセットを識別する名称の対応付けを出力する。
【００３５】
次に、上記構成における動作について、図２を参照して説明する。
【００３６】
図２は本実施形態によるアセット選択処理全体の流れを示すフローチャートである。Ｓｔｅｐ０１からＳｔｅｐ０５までは、利用者がアセット特性ベクトル設定部１を用いてアセット特性ベクトルを設定するための流れである。利用者はＳｔｅｐ０１で新規にアセット特性ベクトルを新規に入力するか、過去に登録済みのものから選択するかを指示する。新規に入力する場合にはＳｔｅｐ０２でアセット特性ベクトルを入力する。この際、入力されたアセット特性ベクトルはアセット特性ベクトル蓄積部４に登録される。アセット特性ベクトルの入力を続ける場合、Ｓｔｅｐ０３で入力終了でないと指示し、Ｓｔｅｐ０４の入力値判断を経て再度Ｓｔｅｐ０２から入力を繰り返す。アセット特性ベクトルの入力を終了する場合、Ｓｔｅｐ０３で入力終了を指示し、Ｓｔｅｐ０９の入力値判断を経て入力を終了する。Ｓｔｅｐ０１で登録済みアセット特性ベクトルの利用を指示した場合はＳｔｅｐ０５によりアセット特性ベクトル蓄積部４に登録されているアセット特性ベクトルの中から利用するものを選択する。
【００３７】
Ｓｔｅｐ０６からＳｔｅｐ１０は要件登録ベクトルを設定する利用者が要件特性ベクトル設定部２を用いて要件特性ベクトルを設定するための流れである。利用者はＳｔｅｐ０６で新規に要件特性ベクトルを新規に入力するか、過去に登録済みのものから選択するかを指示する。新規に入力する場合にはＳｔｅｐ０７で要件特性ベクトルを入力する。この際、入力された要件特性ベクトルは要件特性ベクトル蓄積部５に登録される。要件特性ベクトルの入力を続ける場合、Ｓｔｅｐ０８で入力終了でないと指示し、Ｓｔｅｐ０９の入力値判断を経て再度Ｓｔｅｐ０７から入力を繰り返す。要件特性ベクトルの入力を終了する場合、Ｓｔｅｐ０８で入力終了を指示し、Ｓｔｅｐ０９の入力値判断を経て入力を終了する。Ｓｔｅｐ０６で登録済み要件特性ベクトルの利用を指示した場合はＳｔｅｐ１０により要件特性ベクトル蓄積部４に登録されている要件特性ベクトルの中から利用するものを選択する。
【００３８】
Ｓｔｅｐ１１からＳｔｅｐ１３は重み付けベクトルを設定する利用者が重み付けベクトル設定部３を用いて重み付けベクトルを設定するための流れである。利用者はＳｔｅｐ１１で新規に重み付けベクトルを新規に入力するか、過去に登録済みのものから選択するかを指示する。新規に入力する場合にはＳｔｅｐ１２で重み付けベクトルを入力する。この際、入力された重み付けベクトルは重み付けベクトル蓄積部６に登録される。Ｓｔｅｐ１１で登録済み重み付けベクトルの利用を指示した場合はＳｔｅｐ１３により重み付けベクトル蓄積部６に登録されている重み付けベクトルの中から利用するものを選択する。
【００３９】
Ｓｔｅｐ１４からＳｔｅｐ１６は特性値域ベクトルを設定する利用者が特性値域ベクトル設定部１０を用いて特性値域ベクトルを設定するための流れである。利用者はＳｔｅｐ１４で新規に特性値域ベクトルを新規に入力するか、過去に登録済みのものから選択するかを指示する。新規に入力する場合にはＳｔｅｐ１５で特性値域ベクトルを入力する。この際、入力された特性値域ベクトルは特性値域ベクトル蓄積部１１に登録される。Ｓｔｅｐ１４で登録済み特性値域ベクトルの利用を指示した場合はＳｔｅｐ１６により特性値域ベクトル蓄積部１１に登録されている特性値域ベクトルの中から利用するものを選択する。
【００４０】
ここで、Ｓｔｅｐ０１からＳｔｅｐ０５のアセット特性ベクトルの設定、Ｓｔｅｐ０６からＳｔｅｐ１０の要件特性ベクトルの設定、Ｓｔｅｐ１１からＳｔｅｐ１３の重み付けベクトルの設定、および、Ｓｔｅｐ１４からＳｔｅｐ１６の特性値域ベクトルの設定の４種類の設定は単に以降の処理で利用するデータを指定するための処理であるため、４種類の設定自体がすべて行われれば入れ替えても構わない。
【００４１】
Ｓｔｅｐ１７は平準化処理部７で実行される各特性ベクトルの平準化処理である。この処理の詳細は別項で説明するが、処理結果として各特性の値をその特性が持つ値域の違いを打ち消すように補正したアセット特性ベクトル群と要件特性ベクトル群が出力され、それらのベクトルは距離算出処理部８に渡される。
【００４２】
Ｓｔｅｐ１８は距離算出処理部８で実行される距離算出処理である。この処理の詳細は別項で説明するが、処理結果として各アセット特性ベクトルと各要件特性ベクトルの組み合わせに対して距離を算出する。各アセット特性ベクトルと各要件特性ベクトルの組み合わせと得られた距離はそれらの対応付けと共にアセット選択処理部９に渡される。
【００４３】
Ｓｔｅｐ１９はアセット選択処理部９で実施されるアセット選択処理である。この処理の詳細は別項で説明するが、処理結果として各要件に適切なアセットを対応する要件特性ベクトルと最も距離の近いアセット特性ベクトルのアセット名識別情報により出力する。
【００４４】
以上のように、上記第１の実施形態では、要件の特性とアセットの特性を要件特性ベクトルとアセット特性ベクトルにより数値的に取り扱い、両者の最適なマッチングを算出する手段を提供している。これにより、アセット選択を自動化し、設計作業の効率化を向上させることができる。さらに、選択の際に重み付けベクトルを変更することでニーズに合った選択を容易に実現することができる。
【００４５】
［第２の実施形態］
図３は、本発明に係るアセット選択装置の第２の実施形態の全体構成を示すブロック図である。なお、図３において、図１と同一部分には同一符号を付して示し、ここでは重複する説明を省略する。
【００４６】
図３に示すアセット選択装置は、アセット特性ベクトル設定部１と、要件特性ベクトル設定部２と、重み付けベクトル設定部３と、アセット特性ベクトル蓄積部４と、要件特性ベクトル蓄積部５と、重み付けベクトル蓄積部６と、平準化処理部７と、距離算出処理部８と、アセット選択結果出力部９と、特性地域ベクトル設定部１０と、特性地域ベクトル蓄積部１１とに加え、アセット絞込み用閾値設定部１２と、アセット絞込み用閾値蓄積部１３と、入力切替設定部１４と、表示部１５を備える。
【００４７】
上記アセット絞込み用閾値設定部１２は、アセットを絞り込むための閾値を設定する。アセット絞込み用閾値蓄積部１３はアセット絞込み用閾値設定部１２で設定されるアセットを絞り込むための閾値を登録し管理して、アセット選択処理部９から要求に応じて選択処理に供するアセット絞込み用閾値を提供する。入力切替設定部１４は、上記設定部１〜３，１０，１２に対する各種設定と処理動作の管理を行う。表示部１５は、上記設定部１〜３，１０，１２の設定状況及び距離算出処理部８及びアセット選択処理部９の処理結果を入力して、中間の処理結果や最終的な処理結果及び動作に状況等の表示を行う。
【００４８】
次に、上記構成における動作について図４を参照して説明する。
【００４９】
図４は、本実施形態によるアセット選択処理全体の流れを示すフローチャートである。実施の形態１と本質的に同等であるが、動作途中の実行をユーザにより切り替える部分と、最終的なアセット候補の閾値を超えたもの全てについて表示する点が異なっている。
【００５０】
Ｓｔｅｐ１０１において、利用者の操作指示入力が合った場合、Ｓｔｅｐ１０２でその入力がベクトル設定か否かを判断し、ベクトル設定である場合には、Ｓｔｅｐ１０３でベクトル種別の入力を受け付け、Ｓｔｅｐ１０４で新規入力か過去のデータ利用かを判断し、新規入力ならばＳｔｅｐ１０５でベクトルの入力を受け付ける。続いて、Ｓｔｅｐ１０６で設定の終了指示を受け付け、Ｓｔｅｐ１０７で終了指示がベクトル設定の終了かを判断し、終了でなければＳｔｅｐ１０５に戻り、終了ならばＳｔｅｐ１０１に戻って操作指示入力を受け付ける。また、Ｓｔｅｐ１０４で過去のデータの利用が指定された場合には、Ｓｔｅｐ１０８で過去のベクトルデータを選択する。
【００５１】
上記Ｓｔｅｐ１０２において、操作指示入力がベクトル設定でないと判断された場合には、Ｓｔｅｐ１０９で閾値の設定か判断し、閾値設定の場合には、Ｓｔｅｐ１１０で利用閾値を指示入力する。ここで、Ｓｔｅｐ１１１で新規入力か過去のデータ利用かを判断し、新規入力ならばＳｔｅｐ１１２で閾値の入力設定を行ってＳｔｅｐ１０１に戻る。過去のデータ利用ならば、Ｓｔｅｐ１１３で過去の閾値データを選択してＳｔｅｐ１０１に戻る。
【００５２】
上記Ｓｔｅｐ１０９で閾値設定でないと判断された場合には、Ｓｔｅｐ１１４でアセットの選択開始かを判断し、選択開始ならば、Ｓｔｅｐ１１５で各セット特性ベクトルを平準化し、Ｓｔｅｐ１１６で要件特性ベクトルと値域補正ベクトルとの距離を算出し、Ｓｔｅｐ１１７で閾値以下の距離のアセットを出力してＳｔｅｐ１０１に戻る。
【００５３】
上記Ｓｔｅｐ１１４において、操作指示入力がアセットの選択開始ではなかった場合、Ｓｔｅｐ１１８で一連の処理は終了か否かを判断し、終了でない場合には、Ｓｔｅｐ１０１に戻り、終了ならば一連の処理を終了する。
【００５４】
以上のように、上記第２の実施形態では、第１の実施形態に加え、データ入力の順序をユーザが指定できるようになり、これによってシステム利用の利便性向上を実現することができる。また、最終的なアセット候補を、閾値を超えたもの全てについて表示できるようになり、これによってユーザの意図を反映したアセット選択の機会を与えられ、この点でも利便性の向上を実現することができる。
【００５５】
［その他の実施形態］
尚、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示されている全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の第１の実施形態に係るアセット選択装置の概略構成を示すブロック図。
【図２】本発明の第１の実施形態に係るアセット選択処理全体の流れを示すフローチャート。
【図３】本発明の第２の実施形態に係るアセット選択装置の概略構成を示すブロック図。
【図４】本発明の第２の実施形態に係るアセット選択処理全体の流れを示すフローチャート。
【符号の説明】
【００５７】
１…アセット特性ベクトル設定部、２…要件特性ベクトル設定部、３…重み付けベクトル設定部、４…アセット特性ベクトル蓄積部、５…要件特性ベクトル蓄積部、６…重み付けベクトル蓄積部、７…平準化処理部、８…距離算出処理部、９…アセット選択結果出力部、１０…特性地域ベクトル設定部、１１…特性地域ベクトル蓄積部、１２…アセット絞込み用閾値設定部、１３…アセット絞込み用閾値蓄積部、１４…入力切替設定部、１５…表示部。
【図１】
2008123224.tif 000005
【図２】
2008123224.tif 000006
【図３】
2008123224.tif 000007
【図４】
2008123224.tif 000008