(57)【特許請求の範囲】
【請求項１】
２種類以上のコンポーネントを組み合わせて構成されるシステムに対して２つ以上設定される要件の設定ごとに、当該設定にて利用可能なコンポーネントを示す要件リストを予め記憶装置に記憶しておくとともに、要件ごとに、当該要件への適否に影響するコンポーネントがどれだけ多くの要件への適否に影響するかを評価した数値を、当該要件の重要度として記憶装置に記憶するシステム設計支援装置であって、
記憶装置に記憶された重要度の順に、利用者に対して各要件の設定を入力装置から順次入力させる要件提示部と、
前記要件提示部が利用者に対して１つの要件の設定を入力させる度に、記憶装置に記憶された要件リストにて当該設定に対応するコンポーネントを抽出し、当該抽出結果に基づいて、システムを構成するコンポーネントの組み合わせの候補を生成して出力するシステム構成生成部と、
前記システム構成生成部が１つの要件の設定に対応するコンポーネントを抽出する度に、当該コンポーネントと前記システム構成生成部が当該設定の１つ前に入力された設定に対応するコンポーネントの抽出結果に基づいて出力した候補との間に矛盾があるかどうかを処理装置により確認し、矛盾のないことを確認できた候補のみを前記システム構成生成部に出力させる矛盾検出部とを備えることを特徴とするシステム設計支援装置。
【請求項２】
前記システム設計支援装置は、
過去に利用されたシステムを構成するコンポーネントの組み合わせを過去構成事例として予め記憶装置に記憶しておき、
前記システム構成生成部は、候補を生成する度に、記憶装置に記憶された過去構成事例の中から、当該候補と類似するコンポーネントの組み合わせを抽出し、当該候補に代えて、当該組み合わせを出力することを特徴とする請求項１に記載のシステム設計支援装置。
【請求項３】
前記システム設計支援装置は、
要件ごとに、当該要件への適否に影響するコンポーネントを示す影響リストを予め記憶装置に記憶しておき、
要件ごとに、記憶装置に記憶された影響リストにて当該要件に対応するコンポーネントを特定し、前記影響リストにて当該コンポーネントに対応する要件の数の合計を処理装置により計算し、当該合計を当該要件の重要度として記憶装置に記憶する重要度決定部を備えることを特徴とする請求項１又は２に記載のシステム設計支援装置。
【請求項４】
前記要件提示部は、利用者に対して１つの要件の設定を入力させた後に、前記矛盾検出部が矛盾のないことを確認できた候補がなかった場合には、利用者に対して当該設定を入力装置から変更させることを特徴とする請求項１から３までのいずれかに記載のシステム設計支援装置。
【請求項５】
前記要件提示部は、記憶装置に記憶された重要度が同じ要件があった場合には、利用者に対して当該要件の設定をどの順番で入力するかを入力装置から選択させることを特徴とする請求項１から４までのいずれかに記載のシステム設計支援装置。
【請求項６】
前記要件提示部は、記憶装置に記憶された重要度が所定の閾値より低い要件があった場合には、利用者に対して当該要件の設定を入力させないことを特徴とする請求項１から５までのいずれかに記載のシステム設計支援装置。
【請求項７】
前記要件提示部は、利用者に対して任意の要件の設定を入力しないことを許すことを特徴とする請求項１から６までのいずれかに記載のシステム設計支援装置。
【請求項８】
前記要件提示部は、要件ごとに、利用者が過去に当該要件の設定を入力した回数と入力しなかった回数とに基づいて、当該要件の回答率を処理装置により計算して出力装置へ出力することを特徴とする請求項７に記載のシステム設計支援装置。
【請求項９】
前記要件提示部は、要件ごとに、当該要件の回答率と記憶装置に記憶された当該要件の重要度とに基づいて、当該要件の推奨度を処理装置により計算して出力装置へ出力することを特徴とする請求項８に記載のシステム設計支援装置。
【請求項１０】
前記要件提示部は、記憶装置に記憶された重要度に代えて、推奨度の順に、利用者に対して各要件の設定を入力装置から順次入力させることを特徴とする請求項９に記載のシステム設計支援装置。
【請求項１１】
２種類以上のコンポーネントを組み合わせて構成されるシステムに対して２つ以上設定される要件の設定ごとに、当該設定にて利用可能なコンポーネントを示す要件リストを予め記憶装置に記憶しておくとともに、要件ごとに、当該要件への適否に影響するコンポーネントがどれだけ多くの要件への適否に影響するかを評価した数値を、当該要件の重要度として記憶装置に記憶するシステム設計支援装置を用いたシステム設計支援方法であって、
前記システム設計支援装置の要件提示部が、記憶装置に記憶された重要度の順に、利用者に対して各要件の設定を入力装置から順次入力させる第１ステップと、
前記システム設計支援装置のシステム構成生成部が、前記第１ステップで利用者に対して１つの要件の設定を入力させる度に、記憶装置に記憶された要件リストにて当該設定に対応するコンポーネントを抽出し、当該抽出結果に基づいて、システムを構成するコンポーネントの組み合わせの候補を生成して出力する第２ステップと、
前記システム設計支援装置の矛盾検出部が、前記第２ステップで１つの要件の設定に対応するコンポーネントを抽出する度に、当該コンポーネントと前記システム構成生成部が当該設定の１つ前に入力された設定に対応するコンポーネントの抽出結果に基づいて出力した候補との間に矛盾があるかどうかを処理装置により確認し、矛盾のないことを確認できた候補のみを前記第２ステップで出力させる第３ステップとを備えることを特徴とするシステム設計支援方法。
【請求項１２】
２種類以上のコンポーネントを組み合わせて構成されるシステムに対して２つ以上設定される要件の設定ごとに、当該設定にて利用可能なコンポーネントを示す要件リストを予め記憶装置に記憶しておくとともに、要件ごとに、当該要件への適否に影響するコンポーネントがどれだけ多くの要件への適否に影響するかを評価した数値を、当該要件の重要度として記憶装置に記憶するコンピュータで実行されるシステム設計支援プログラムであって、
記憶装置に記憶された重要度の順に、利用者に対して各要件の設定を入力装置から順次入力させる要件提示処理と、
前記要件提示処理が利用者に対して１つの要件の設定を入力させる度に、記憶装置に記憶された要件リストにて当該設定に対応するコンポーネントを抽出し、当該抽出結果に基づいて、システムを構成するコンポーネントの組み合わせの候補を生成して出力するシステム構成生成処理と、
前記システム構成生成処理が１つの要件の設定に対応するコンポーネントを抽出する度に、当該コンポーネントと前記システム構成生成処理が当該設定の１つ前に入力された設定に対応するコンポーネントの抽出結果に基づいて出力した候補との間に矛盾があるかどうかを処理装置により確認し、矛盾のないことを確認できた候補のみを前記システム構成生成処理に出力させる矛盾検出処理とをコンピュータに実行させることを特徴とするシステム設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム設計支援装置及びシステム設計支援方法及びシステム設計支援プログラムに関するものである。本発明は、特に、システム環境設計支援機構に関するものである。
【背景技術】
【０００２】
従来の設計支援方法として、製品の設計を決めるいくつかの属性を利用者に順次入力させ、入力された属性の値と他の属性の値との間に矛盾がないかどうかをチェックして、チェック結果を利用者に提示するものがあった（例えば、特許文献１参照）。また、従来の設計支援方法として、設計しようとする製品についてのいくつかの課題が入力されると、入力された課題に対する最適な解決策を、過去の設計事例から抽出して、抽出結果を利用者に提示するものがあった（例えば、特許文献２参照）。
【特許文献１】特開平８−３１４９８６号公報
【特許文献２】特開２００６−３１２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の設計支援方法を用いたシステム環境設計支援機構では、システムの１つの要件について利用者が回答すると、その回答結果に対して、システムを構成するコンポーネントを一意に決定していた（例えば、要件Ａについての利用者の回答結果がＡ１ならば、一意にコンポーネントａ１１が選択される、など）。そのため、別の要件について得られた回答結果に基づいて生成したコンポーネントの組み合わせの候補との間に矛盾が発生した場合、利用者に都度確認する必要があり、利用者の回答作業が煩雑になる、という課題があった。また、従来の設計支援方法を用いたシステム環境設計支援機構では、過去事例が要件ごとに管理されていたため、ある要件について得られた回答結果に基づいて生成したコンポーネントの組み合わせの候補に対応する過去事例の情報を利用者に提示することができない、という課題があった。
【０００４】
本発明は、例えば、システムの要件について得られた利用者の回答結果に基づいてコンポーネントの組み合わせの候補を生成する際に、重要度の高い要件から順番に回答を求めていくことで、より好適なコンポーネントの組み合わせの候補を生成することを目的とする。また、本発明は、例えば、ある要件について得られた回答結果に対応するコンポーネントと別の要件について得られた回答結果に基づいて生成したコンポーネントの組み合わせの候補との間に矛盾が発生した場合の利用者への問い合わせを減らすことを目的とする。また、本発明は、例えば、ある要件について得られた回答結果に基づいて生成したコンポーネントの組み合わせの候補に対応する過去事例の情報を利用者に提示することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一の態様に係るシステム設計支援装置は、
２種類以上のコンポーネントを組み合わせて構成されるシステムに対して２つ以上設定される要件の設定ごとに、当該設定にて利用可能なコンポーネントを示す要件リストを予め記憶装置に記憶しておくとともに、要件ごとに、当該要件への適否に影響するコンポーネントがどれだけ多くの要件への適否に影響するかを評価した数値を、当該要件の重要度として記憶装置に記憶するシステム設計支援装置であって、
記憶装置に記憶された重要度の順に、利用者に対して各要件の設定を入力装置から順次入力させる要件提示部と、
前記要件提示部が利用者に対して１つの要件の設定を入力させる度に、記憶装置に記憶された要件リストにて当該設定に対応するコンポーネントを抽出し、当該抽出結果に基づいて、システムを構成するコンポーネントの組み合わせの候補を生成して出力するシステム構成生成部と、
前記システム構成生成部が１つの要件の設定に対応するコンポーネントを抽出する度に、当該コンポーネントと前記システム構成生成部が当該設定の１つ前に入力された設定に対応するコンポーネントの抽出結果に基づいて出力した候補との間に矛盾があるかどうかを処理装置により確認し、矛盾のないことを確認できた候補のみを前記システム構成生成部に出力させる矛盾検出部とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明の一の態様によれば、システム設計支援装置において、要件提示部が、システムの要件への適否に影響するコンポーネントがどれだけ多くの要件への適否に影響するかを評価した数値である重要度の順に、利用者に対して各要件の設定を順次入力させ、システム構成生成部が、前記要件提示部が利用者に対して１つの要件の設定を入力させる度に、当該設定に対応するコンポーネントを抽出し、当該抽出結果に基づいて、システムを構成するコンポーネントの組み合わせの候補を生成して出力し、矛盾検出部が、前記システム構成生成部が１つの要件の設定に対応するコンポーネントを抽出する度に、当該コンポーネントと前記システム構成生成部が当該設定の１つ前に入力された設定に対応するコンポーネントの抽出結果に基づいて出力した候補との間に矛盾があるかどうかを確認し、矛盾のないことを確認できた候補のみを前記システム構成生成部に出力させることで、より好適なコンポーネントの組み合わせの候補を生成することが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について、図を用いて説明する。
【０００８】
実施の形態１．
図１は、本実施の形態に係るシステム環境設計支援機構１００の構成を示すブロック図である。
【０００９】
図１において、システム環境設計支援機構１００は、計算機１０１（コンピュータ）を備える。計算機１０１はシステム設計支援装置の一例であり、処理装置１５１を内蔵するほか、利用者作業提示部１１０、制御部１２０を備えている。また、計算機１０１は、記憶装置１５２、入力装置１５３、出力装置１５４と接続されている。なお、計算機１０１は、記憶装置１５２、入力装置１５３、出力装置１５４を内蔵していてもよい。
【００１０】
利用者作業提示部１１０は、要件提示部１１１、システム提示部１１２を有する。制御部１２０は、重要度決定部１２１、有向グラフ生成部１２２、システム構成生成部１２３、矛盾検出部１２４を有する。各部の動作については後述する。
【００１１】
処理装置１５１、記憶装置１５２、入力装置１５３、出力装置１５４といったハードウェアは、計算機１０１の各部によって利用される。例えば、処理装置１５１は、計算機１０１の各部でデータや情報の演算、加工、読み取り、書き込みなどを行うために利用される。記憶装置１５２は、そのデータや情報を記憶するために利用される。また、入力装置１５３は、そのデータや情報を入力するために、出力装置１５４は、そのデータや情報を出力するために利用される。
【００１２】
記憶装置１５２には、機能要件リスト２０１、非機能要件リスト２０２、有向グラフ２０３、コンポーネントリスト２０４、システム構成要素リスト２０５、過去構成事例２０６、影響リスト２０７などの各種データが格納されている。機能要件リスト２０１、非機能要件リスト２０２は、いずれも要件リストの一例である。要件リストは、システム環境設計支援機構１００を利用して設計されるシステムに対して２つ以上設定される要件の設定ごとに、当該設定にて利用可能なコンポーネント（１種類のコンポーネントでもよいし、２種類以上のコンポーネントの組み合わせでもよい）を示すデータである。なお、本実施の形態では、１つのシステムは２種類以上のコンポーネントを組み合わせて構成されるものとする。有向グラフ２０３については、後述する。コンポーネントリスト２０４は、コンポーネントの種類ごとに、システムの構成要素として利用可能なコンポーネントを示すデータである。システム構成要素リスト２０５は、システムを構成するコンポーネントの組み合わせの候補を示すデータである。過去構成事例２０６は、過去に利用されたシステムを構成するコンポーネントの組み合わせを示すデータである。影響リスト２０７は、要件ごとに、当該要件への適否に影響するコンポーネントを示すデータである。なお、影響リスト２０７は、機能要件リスト２０１と非機能要件リスト２０２に含まれる形式で実装されてもよい。つまり、機能要件リスト２０１が、機能要件ごとに、当該機能要件への適否に影響するコンポーネントを示し、非機能要件リスト２０２が、非機能要件ごとに、当該非機能要件への適否に影響するコンポーネントを示していてもよい。
【００１３】
図２は、システム環境設計支援機構１００のハードウェア構成の一例を示す図である。
【００１４】
図２において、システム環境設計支援機構１００は、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶ディスプレイ）の表示画面を有する表示装置９０１、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ装置９０６などのハードウェアを備え、これらはケーブルや信号線で接続されている。
【００１５】
システム環境設計支援機構１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、処理装置１５１の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【００１６】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置１５２の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５などは、入力装置１５３の一例である。また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置１５４の一例である。
【００１７】
通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）などに接続されている。通信ボード９１５は、ＬＡＮに限らず、インターネット、あるいは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークなどのＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。ＬＡＮ、インターネット、ＷＡＮは、ネットワークの一例である。
【００１８】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜リスト」や「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜リスト」や「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１９】
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４などのメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク（ＭＤ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体により伝送される。
【００２０】
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどの記録媒体に記憶される。このプログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００２１】
以下、本実施の形態に係るシステム設計支援方法について説明する。
【００２２】
図３は、システム環境設計支援機構１００の各部の動作を示すフローチャートである。
【００２３】
まず、重要度決定部１２１は、影響リスト２０７を磁気ディスク装置９２０（記憶装置１５２の一例）から読み込み（ステップＳ１０１）、各要件の重要度をＣＰＵ９１１（処理装置１５１の一例）により算出してＲＡＭ９１４（記憶装置１５２の一例）に保存する（ステップＳ１０２）。重要度は、要件についての利用者の回答結果によって選択されるコンポーネントが、他の要件にどれだけ影響するかによって決定される。
【００２４】
ここで、本実施の形態における重要度の算出方法について説明する。
【００２５】
影響リスト２０７で示される要件とコンポーネントとの関係を図４に例示する。この図において、例えば、要件「性能」は、３種類のコンポーネント「ＤＢ（データベース）サーバ」、「ＡＰ（アプリケーション）サーバ」及び「ストレージ」によって決定される。また、例えば、要件「バックアップ」は、２種類のコンポーネント「ＤＢサーバ」及び「ストレージ」によって決定される。一方、コンポーネントの視点からは、例えば、コンポーネント「ＤＢサーバ」が、４つの要件「性能」、「バックアップ」、「信頼性」及び「切替時間」に影響を与えている。ここで、要件Ｍを決定するコンポーネントの集合をＧ（Ｍ）、コンポーネントＣによって影響を受ける要件の数をＥ（Ｃ）と置き、次式を定義する。
Ｅ（｛Ｃ１，Ｃ２，・・・，Ｃｎ｝）＝Ｅ（Ｃ１）＋Ｅ（Ｃ２）＋・・・＋Ｅ（Ｃｎ）
そして、重要度を次式で定義する。
重要度（Ｍ）＝Ｅ（Ｇ（Ｍ））
このとき、例えば、要件「性能」の重要度は次式で求めることができる。
重要度（性能）＝Ｅ（Ｇ（性能））＝Ｅ（｛ＤＢサーバ、ＡＰサーバ、ストレージ｝）＝Ｅ（ＤＢサーバ）＋Ｅ（ＡＰサーバ）＋Ｅ（ストレージ）＝４＋２＋５＝１１
同様に他の要件の重要度を求めると、重要度（バックアップ）＝９、重要度（信頼性）＝８、重要度（容量）＝５、重要度（切替時間）＝７となる。なお、図４に示した例において、要件「性能」、「バックアップ」、「信頼性」、「容量」及び「切替時間」は、全て非機能要件に分類される。機能要件の例としては、「クライアント種別」（Ｗｅｂブラウザ、専用クライアントなど）、「ネットワーク環境」（ＩＰ（インターネットプロトコル）−ＶＰＮ（仮想プライベートネットワーク）、インターネットＶＰＮ、広域ＬＡＮ（ローカルエリアネットワーク）など）といったものが挙げられる。
【００２６】
上記のように、本実施の形態では、ある要件の重要度は、当該要件への適否に影響するコンポーネントがどれだけ多くの要件への適否に影響するかを評価した数値である。ステップＳ１０１、Ｓ１０２（重要度決定処理）において、重要度決定部１２１は、要件ごとに、記憶装置１５２に予め記憶された影響リスト２０７にて当該要件に対応するコンポーネントを特定する。そして、重要度決定部１２１は、要件ごとに、影響リスト２０７にて当該コンポーネントに対応する要件の数の合計を処理装置１５１により計算し、当該合計を当該要件の重要度として記憶装置１５２に記憶する。
【００２７】
次に、有向グラフ生成部１２２は、重要度決定部１２１によって算出された重要度を基に、要件の有向グラフ２０３を生成し、ＲＡＭ９１４に格納する（ステップＳ１０３）。要件提示部１１１は、利用者に対し、有向グラフ２０３に基づいて要件を表示装置９０１（出力装置１５４の一例）により提示し、キーボード９０２やマウス９０３（入力装置１５３の一例）により回答を入力することを求める（ステップＳ１０４）。
【００２８】
図４に示した例を用いた場合の有向グラフ２０３を図５に示す。この図において、５つの要件「性能」、「バックアップ」、「信頼性」、「容量」及び「切替時間」は、重要度の降順に並べられている。ステップＳ１０４において、要件提示部１１１は、この順番に従って要件を提示し、各要件についての回答を利用者に求める。図４に示した例を変更し、仮に重要度（信頼性）＝９とすると、要件「バックアップ」と要件「信頼性」の重要度が同じ数値になる。この場合の有向グラフ２０３を図６に示す。この場合、ステップＳ１０４において、要件提示部１１１は、要件「性能」についての回答を利用者に求めた後、要件「バックアップ」と要件「信頼性」のどちらを優先するかについての回答を利用者に求める。そして、要件提示部１１１は、利用者が優先する要件についての回答を先に求め、その後で、もう一方の要件についての回答を求める。なお、３つ以上の要件の重要度が同じ数値になった場合も同様の処理が行われる。
【００２９】
上記のように、ステップＳ１０３、Ｓ１０４（要件提示処理）において、要件提示部１１１は、記憶装置１５２に記憶された重要度の順に、利用者に対して各要件の設定を入力装置１５３から順次入力させる。また、要件提示部１１１は、記憶装置１５２に記憶された重要度が同じ要件があった場合には、利用者に対して当該要件の設定をどの順番で入力するかを入力装置１５３から選択させる。
【００３０】
利用者が要件について順次回答していく過程で、システム構成生成部１２３は、磁気ディスク装置９２０に格納されている機能要件リスト２０１と非機能要件リスト２０２を参照して、利用者の回答結果に対応するコンポーネントを得る（ステップＳ１０５）。利用者が１番目の要件（例えば、図５では「性能」）について回答したときにシステム構成生成部１２３が得るコンポーネントは、その時点におけるコンポーネントの組み合わせの候補としてＲＡＭ９１４上のシステム構成要素リスト２０５に保存される。一方、利用者が２番目以降の要件（例えば、図５では「バックアップ」、「信頼性」、「切替時間」及び「容量」）について回答したときにシステム構成生成部１２３が得るコンポーネントは、後述するステップＳ１０７、Ｓ１０９において、利用者が１つ前の要件に回答した時点における候補に組み合わせられた上で、新たなコンポーネントの組み合わせの候補としてＲＡＭ９１４上のシステム構成要素リスト２０５に保存される。
【００３１】
矛盾検出部１２４は、ステップＳ１０５で利用者の回答によって得られたコンポーネントと、その時点におけるコンポーネントの組み合わせの候補との間にある矛盾をＣＰＵ９１１により検出する（ステップＳ１０６）。矛盾点がなかった場合、矛盾検出部１２４は、利用者が１つ前の要件に回答した時点における候補にステップＳ１０５で得られたコンポーネントを組み合わせてできる全ての候補をシステム構成生成部１２３に生成させる（ステップＳ１０７）。一方、矛盾点があった場合、矛盾検出部１２４は、利用者に対し、矛盾点を表示装置９０１により表示するとともに、回答を満足するコンポーネントの組み合わせを検索する（ステップＳ１０８）。なお、矛盾点がある場合とは、利用者が１つの要件について回答した時点における候補の中に、当該回答結果に対応するコンポーネントと競合するコンポーネント（同時に利用することができないコンポーネント）が含まれている場合をいう。ステップＳ１０８において、回答を満足するコンポーネントの組み合わせ、即ち、利用者が１つ前の要件に回答した時点における候補にステップＳ１０５で得られたコンポーネントを組み合わせたときに矛盾しない候補を見つけ出せた場合、矛盾検出部１２４は、見つけ出した候補だけをシステム構成生成部１２３に生成させる（ステップＳ１０９）。その結果、ステップＳ１０５で得られたコンポーネントを組み合わせたときに矛盾する候補はシステム構成要素リスト２０５から削除され、矛盾しない候補のみが保存される。一方、回答を満足するコンポーネントの組み合わせを見つけ出せなかった場合、矛盾検出部１２４は、利用者が１つ前の要件に回答した時点における候補を最終的な候補としてシステム構成生成部１２３に決定させる（ステップＳ１１２）。その結果、システム構成要素リスト２０５に保存されている候補がシステム提示部１１２に出力される。回答を満足するコンポーネントの組み合わせを見つけ出せなかった場合、矛盾検出部１２４は、ステップＳ１０４にて、利用者に対し、別の回答を入力することを要件提示部１１１に求めさせてもよい。
【００３２】
ここで、具体例を示す。
【００３３】
コンポーネントリスト２０４の例を図７に示す。図７に例示したコンポーネントリスト２０４では、コンポーネント「ＡＰサーバ」として「Ａ１」及び「Ａ２」が、コンポーネント「ＤＢサーバ」として「Ｂ１」及び「Ｂ２」が、コンポーネント「ストレージ」として「Ｃ１」及び「Ｃ２」が、コンポーネント「クラスタＳ／Ｗ（ソフトウェア）」として「Ｄ１」及び「Ｄ２」が、コンポーネント「ＤＢ・Ｓ／Ｗ」として「Ｅ１」及び「Ｅ２」が示されている。
【００３４】
非機能要件リスト２０２の例を図８に示す。例示していないが、機能要件リスト２０１も同様に構成することができる。図８に例示した非機能要件リスト２０２では、要件「切替時間」の設定として、「３０秒以内」と「（３０秒以上）３００秒以内」の２つの値が設定できるようになっている。そして、要件「切替時間」が「３０秒以内」に設定されたときに利用可能なコンポーネントとして、「Ｂ１−Ｃ１−Ｄ２−Ｅ１」の組み合わせが示されている。また、要件「切替時間」が「３００秒以内」に設定されたときに利用可能なコンポーネントとして、「Ｂ２−Ｃ２−Ｄ２−Ｅ１」の組み合わせが示されている。各設定に対して、コンポーネント（１種類のコンポーネント、又は、２種類以上のコンポーネントの組み合わせ）が複数示されていてもよい。同様に、図８に例示した非機能要件リスト２０２では、要件「バックアップ」の設定として、「１０ＧＢ（ギガバイト）／時間以上」と「１０ＧＢ／時間以下」の２つの値が設定できるようになっている。そして、要件「バックアップ」が「１０ＧＢ／時間以上」に設定されたときに利用可能なコンポーネントとして、「Ｂ１−Ｃ２」の組み合わせが示されている。また、要件「バックアップ」が「１０ＧＢ／時間以下」に設定されたときに利用可能なコンポーネントとして、「Ｂ２−Ｃ２」の組み合わせが示されている。
【００３５】
図８に示した例を用いた場合、仮に利用者が１番目の要件として、「切替時間」について「３００秒以内」を設定する旨を回答したとすると、ステップＳ１０５で、システム構成生成部１２３はコンポーネント「Ｂ２−Ｃ２−Ｄ２−Ｅ１」を得ることになる。そして、それがその時点におけるコンポーネントの組み合わせの候補となる。続けて、利用者が２番目の要件として、「バックアップ」について「１０ＧＢ／時間以上」を設定する旨を回答したとすると、ステップＳ１０５で、システム構成生成部１２３はコンポーネント「Ｂ１−Ｃ２」を得ることになる。このとき、同じ種類のコンポーネントである「Ｂ１」と「Ｂ２」が同時に利用できないものとすると、ステップＳ１０６で、矛盾検出部１２４は矛盾を検出することになる。そして、ステップＳ１０８で、矛盾検出部１２４は、要件「バックアップ」を「１０ＧＢ／時間以上」に設定すると「Ｂ１」と「Ｂ２」が競合すること（矛盾が発生すること）を利用者に通知する。また、ステップＳ１１２で、システム構成生成部１２３は、利用者が１つ前の要件に回答した時点における候補「Ｂ２−Ｃ２−Ｄ２−Ｅ１」を最終的な候補として決定する。あるいは、ステップＳ１０４で、要件提示部１１１は、利用者に対し、「バックアップ」について「１０ＧＢ／時間以下」の回答を入力することを求める。利用者が、「バックアップ」について「１０ＧＢ／時間以下」を設定する旨を回答したとすると、ステップＳ１０５で、システム構成生成部１２３はコンポーネント「Ｂ２−Ｃ２」を得ることになる。ステップＳ１０６で矛盾は検出されないため、ステップＳ１０７で、システム構成生成部１２３は「Ｂ２−Ｃ２−Ｄ２−Ｅ１」を、その時点におけるコンポーネントの組み合わせの候補として生成する。
【００３６】
次に、システム構成生成部１２３は、ステップＳ１０７、Ｓ１０９で生成したその時点におけるコンポーネントの組み合わせの候補を、磁気ディスク装置９２０に格納されている過去構成事例２０６と逐次比較して、利用者に対し、類似性が高い過去事例から順に、要件とともに表示装置９０１により提示するとともに、最も類似性が高い過去事例から所定数のものをその時点におけるコンポーネントの組み合わせの候補としてＲＡＭ９１４上のシステム構成要素リスト２０５に保存する（ステップＳ１１０）。このとき、システム構成生成部１２３は、それぞれの過去事例についての問題、効果、問題の解決方法などを併せて保存しておき、後述するステップＳ１１３で、それらをシステム提示部１１２に表示させてもよい。なお、システム構成生成部１２３は、過去構成事例２０６を利用せずに、利用者の回答結果から得られたコンポーネントの組み合わせをそのまま候補としておいてもよいが、類似性が高い過去事例で置き換えることで、より実現性の高いコンポーネントの組み合わせを候補として挙げることができる。
【００３７】
全ての要件について利用者が回答後（ステップＳ１１１）、ステップＳ１１２で、システム構成生成部１２３は、その時点における候補を最終的な候補として決定し、ＲＡＭ９１４上のシステム構成要素リスト２０５から出力する。システム提示部１１２は、利用者に対し、システム構成要素リスト２０５から出力されたシステム構成の候補を表示装置９０１により提示する（ステップＳ１１３）。
【００３８】
ここで、具体例を図９に示す。
【００３９】
図９に示した例において、利用者は利用者回答画面から要件Ｎについての回答として「回答１」を選択する。「回答１」に基づき、ステップＳ１０７、Ｓ１０９で、システム構成生成部１２３は、「候補１」及び「候補２」を生成する。「候補１」は「Ａ１−Ｂ１−Ｃ２」の組み合わせ、「候補２」は「Ａ１−Ｂ２−Ｃ２」の組み合わせである。ステップＳ１１０で、システム構成生成部１２３は、「候補１」及び「候補２」のいずれかと類似性が高い、即ち、過去構成事例２０６の中で「候補１」及び「候補２」のいずれかと共通するコンポーネントが多い過去事例を検索する。そして、検索結果として、「事例１」、「事例２」、「事例３」及び「事例４」を抽出する。「事例１」は「Ａ１−Ｂ１−Ｃ１−Ｄ１−Ｅ１」の組み合わせ、「事例２」は「Ａ２−Ｂ２−Ｃ２−Ｄ２−Ｅ２」の組み合わせ、「事例３」は「Ａ３−Ｂ２−Ｃ３−Ｄ２−Ｅ２−Ｆ２」の組み合わせ、「事例４」は「Ａ３−Ｂ２−Ｃ３−Ｄ２−Ｅ２−Ｆ２」の組み合わせである。ここでは、ステップＳ１１１で全ての要件について利用者が回答後、システム構成生成部１２３は、「候補１」及び「候補２」それぞれと類似性が最も高い過去事例である「事例１」及び「事例２」を候補として保存しているものとする。ステップＳ１１２で、システム構成生成部１２３は、「事例１」及び「事例２」を最終的な候補として決定し、システム構成要素リスト２０５に保存する。この場合のシステム構成要素リスト２０５を図１０に示す。ステップＳ１１３で、システム提示部１１２は、このシステム構成要素リスト２０５を基に、利用者に対し、システム構成の候補として「事例１」及び「事例２」を提示する。
【００４０】
上記のように、ステップＳ１０５、Ｓ１０７、Ｓ１０９〜Ｓ１１３（システム構成生成処理）において、システム構成生成部１２３は、要件提示部１１１が利用者に対して１つの要件の設定を入力させる度に、記憶装置１５２に記憶された要件リストにて当該設定に対応するコンポーネントを抽出し、当該抽出結果に基づいて、システムを構成するコンポーネントの組み合わせの候補を生成して出力する。また、システム構成生成部１２３は、候補を生成する度に、記憶装置１５２に予め記憶された過去構成事例２０６の中から、当該候補と類似するコンポーネントの組み合わせを抽出し、当該候補に代えて、当該組み合わせを出力する。
【００４１】
上記のように、ステップＳ１０６〜Ｓ１０９、Ｓ１１２（矛盾検出処理）において、矛盾検出部１２４は、システム構成生成部１２３が１つの要件の設定に対応するコンポーネントを抽出する度に、当該コンポーネントとシステム構成生成部１２３が当該設定の１つ前に入力された設定に対応するコンポーネントの抽出結果に基づいて出力した候補との間に矛盾があるかどうかを処理装置１５１により確認し、矛盾のないことを確認できた候補のみをシステム構成生成部１２３に出力させる。
【００４２】
上記のように、ステップＳ１０４（要件提示処理）において、要件提示部１１１は、利用者に対して１つの要件の設定を入力させた後に、矛盾検出部１２４が矛盾のないことを確認できた候補がなかった場合には、利用者に対して当該設定を入力装置１５３から変更させる。
【００４３】
以上のように、本実施の形態によれば、システムの要件について得られた利用者の回答結果に基づいてコンポーネントの組み合わせの候補を生成する際に、重要度の高い要件から順番に回答を求めていくことで、より好適なコンポーネントの組み合わせの候補を生成することが可能となる。簡単に言えば、本実施の形態では、要件の重要度に基づいて利用者に要件についての回答を入力させ、矛盾のないシステム構成を表示することが可能となる。また、本実施の形態によれば、ある要件について得られた回答結果に対応するコンポーネントと別の要件について得られた回答結果に基づいて生成したコンポーネントの組み合わせの候補との間に矛盾が発生した場合の利用者への問い合わせを減らすことが可能となる。また、本実施の形態によれば、ある要件について得られた回答結果に基づいて生成したコンポーネントの組み合わせの候補に対応する過去事例の情報を利用者に提示することが可能となる。
【００４４】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を説明する。
【００４５】
実施の形態１では、利用者作業提示部１１０と制御部１２０は同一計算機上にあったが、本実施の形態では、利用者作業提示部１１０と制御部１２０を、それぞれ独立した計算機に置いている。
【００４６】
図１１は、本実施の形態に係るシステム環境設計支援機構１００の構成を示すブロック図である。
【００４７】
図１１において、システム環境設計支援機構１００は、利用者用計算機１０１ａ、制御用計算機１０１ｂを備える。本実施の形態では、利用者用計算機１０１ａと制御用計算機１０１ｂとでシステム設計支援装置を実現している。利用者用計算機１０１ａと制御用計算機１０１ｂとはネットワーク１０２で接続されており、利用者用計算機１０１ａと制御用計算機１０１ｂとは、実施の形態１と同様の記憶装置１５２にストレージネットワークを介して接続されている。利用者用計算機１０１ａは、実施の形態１と同様の利用者作業提示部１１０を備えている。また、利用者用計算機１０１ａは、実施の形態１と同様の入力装置１５３、出力装置１５４と接続されている。一方、制御用計算機１０１ｂは、実施の形態１と同様の処理装置１５１を内蔵するほか、実施の形態１と同様の制御部１２０を備えている。なお、図示していないだけで、利用者用計算機１０１ａも処理装置を内蔵している。また、利用者用計算機１０１ａも制御用計算機１０１ｂもメモリなどの必要最低限の記憶装置を内蔵している。制御用計算機１０１ｂは、入力装置、出力装置と接続されていてもよい。
【００４８】
以下、システム環境設計支援機構１００の各部の動作について、実施の形態１と同様に図３を用いて説明する。
【００４９】
まず、重要度決定部１２１は、影響リスト２０７を磁気ディスク装置９２０（記憶装置１５２の一例）から読み込み（ステップＳ１０１）、各要件の重要度をＣＰＵ９１１（処理装置１５１の一例）により算出してＲＡＭ９１４に保存する（ステップＳ１０２）。
【００５０】
次に、有向グラフ生成部１２２は、重要度決定部１２１によって算出された重要度を基に、要件の有向グラフ２０３を生成し、磁気ディスク装置９２０に格納する（ステップＳ１０３）。そして、有向グラフ生成部１２２は、要件提示部１１１に対し、ネットワーク１０２を介して、有向グラフ２０３の生成完了を通知する。通知を受け取った要件提示部１１１は、利用者に対し、磁気ディスク装置９２０に格納されている有向グラフ２０３に基づいて要件を表示装置９０１（出力装置１５４の一例）により提示し、キーボード９０２やマウス９０３（入力装置１５３の一例）により回答を入力することを求める（ステップＳ１０４）。そして、要件提示部１１１は、ネットワーク１０２を介して、利用者の回答内容をシステム構成生成部１２３に転送する。
【００５１】
利用者が要件について順次回答していく過程で、回答内容を受け取ったシステム構成生成部１２３は、磁気ディスク装置９２０に格納されている機能要件リスト２０１と非機能要件リスト２０２を参照して、利用者の回答結果に対応するコンポーネントを得る（ステップＳ１０５）。
【００５２】
矛盾検出部１２４は、ステップＳ１０５で利用者の回答によって得られたコンポーネントと、その時点におけるコンポーネントの組み合わせの候補との間にある矛盾をＣＰＵ９１１により検出する（ステップＳ１０６）。矛盾点がなかった場合、矛盾検出部１２４は、利用者が１つ前の要件に回答した時点における候補にステップＳ１０５で得られたコンポーネントを組み合わせてできる全ての候補をシステム構成生成部１２３に生成させる（ステップＳ１０７）。一方、矛盾点があった場合、矛盾検出部１２４は、ネットワーク１０２を介して、矛盾点を要件提示部１１１に通知する。通知を受け取った要件提示部１１１は、利用者に対し、矛盾点を表示装置９０１により表示する。また、このとき、矛盾検出部１２４は、回答を満足するコンポーネントの組み合わせを検索する（ステップＳ１０８）。ステップＳ１０８において、回答を満足するコンポーネントの組み合わせを見つけ出せた場合、矛盾検出部１２４は、見つけ出した候補だけをシステム構成生成部１２３に生成させる（ステップＳ１０９）。一方、回答を満足するコンポーネントの組み合わせを見つけ出せなかった場合、矛盾検出部１２４は、利用者が１つ前の要件に回答した時点における候補を最終的な候補としてシステム構成生成部１２３に決定させる（ステップＳ１１２）。回答を満足するコンポーネントの組み合わせを見つけ出せなかった場合、矛盾検出部１２４は、ステップＳ１０４にて、利用者に対し、別の回答を入力することを要件提示部１１１に求めさせてもよい。
【００５３】
次に、システム構成生成部１２３は、ステップＳ１０７、Ｓ１０９で生成したその時点におけるコンポーネントの組み合わせの候補を、磁気ディスク装置９２０に格納されている過去構成事例２０６と逐次比較して、ネットワークを介して、類似性が高い過去事例をシステム提示部１１２に転送する。過去事例を受け取ったシステム提示部１１２は、利用者に対し、類似性が高い過去事例から順に、要件とともに表示装置９０１により提示する。また、このとき、システム構成生成部１２３は、最も類似性が高い過去事例から所定数のものをその時点におけるコンポーネントの組み合わせの候補として磁気ディスク装置９２０内のシステム構成要素リスト２０５に保存する（ステップＳ１１０）。
【００５４】
全ての要件について利用者が回答後（ステップＳ１１１）、ステップＳ１１２で、システム構成生成部１２３は、その時点における候補を最終的な候補として決定し、システム提示部１１２に通知する。通知を受け取ったシステム提示部１１２は、利用者に対し、磁気ディスク装置９２０内のシステム構成要素リスト２０５で示されるシステム構成の候補を表示装置９０１により提示する（ステップＳ１１３）。
【００５５】
以上のように、本実施の形態によれば、利用者作業提示部１１０と制御部１２０を分離させることで、複数の利用者がシステム環境設計支援機構１００を共用することが容易となる。
【００５６】
実施の形態３．
本実施の形態について、主に実施の形態１との差異を説明する。
【００５７】
実施の形態１及び２では、重要度決定部１２１は利用の都度重要度を決定していたが、本実施の形態では、重要度決定部１２１は、影響リスト２０７に示された各要件の重要度を事前に計算し、不揮発性の記憶装置１５２に蓄積する。
【００５８】
図１２は、重要度決定部１２１の動作（図３に示したステップＳ１０１、Ｓ１０２に相当）を示すフローチャートである。
【００５９】
重要度決定部１２１は、影響リスト２０７を磁気ディスク装置９２０（記憶装置１５２の一例）から読み込み（ステップＳ２０１）、各要件の重要度をＣＰＵ９１１（処理装置１５１の一例）により算出して（ステップＳ２０２）、磁気ディスク装置９２０に格納されている機能要件リスト２０１と非機能要件リスト２０２に保存する（ステップＳ２０３）。重要度は、実施の形態１及び２と同様に、要件についての利用者の回答結果によって選択されるコンポーネントが、他の要件にどれだけ影響するかによって決定される。
【００６０】
非機能要件リスト２０２の例を図１３に示す。例示していないが、機能要件リスト２０１も同様に構成することができる。図１３に例示した非機能要件リスト２０２では、実施の形態１で図８に示したものに加え、重要度の項目が含まれている。
【００６１】
以上のように、本実施の形態によれば、利用の都度実施していた重要度決定処理を省略することで、処理性能を向上させることが可能となる。
【００６２】
実施の形態４．
本実施の形態について、主に実施の形態１との差異を説明する。
【００６３】
実施の形態１〜３では、有向グラフ生成部１２２は全ての要件の重要度を用いて有向グラフ２０３を作成していたが、本実施の形態では、有向グラフ生成部１２２は、ある重要度以下の要件は使用しない。
【００６４】
図１４は、有向グラフ生成部１２２の動作（図３に示したステップＳ１０３に相当）を示すフローチャートである。
【００６５】
有向グラフ生成部１２２は、要件ごとに、重要度決定部１２１によって算出された重要度が事前に定められた閾値以上であるかどうかをＣＰＵ９１１（処理装置１５１の一例）により確認する（ステップＳ３０１）。重要度が閾値以上であれば、有向グラフ生成部１２２は、当該要件をノードとして有向グラフ２０３に追加する（ステップＳ３０２）。有向グラフ生成部１２２は、全ての要件について（ステップＳ３０３）、同様の処理を行い、有向グラフ２０３を完成させてＲＡＭ９１４に格納する。その後、図３に示したステップＳ１０４において、要件提示部１１１は、利用者に対し、完成した有向グラフ２０３に基づいて要件を表示装置９０１（出力装置１５４の一例）により提示し、キーボード９０２やマウス９０３（入力装置１５３の一例）により回答を入力することを求める。
【００６６】
上記のように、本実施の形態では、要件提示部１１１は、記憶装置１５２に記憶された重要度が所定の閾値より低い要件があった場合には、利用者に対して当該要件の設定を入力させない。
【００６７】
以上のように、本実施の形態によれば、重要度の低い要件を有向グラフ２０３に登録しなくて済むようになり、結果として利用者に対して提示する要件を減らすことが可能となる。
【００６８】
実施の形態５．
本実施の形態について、主に実施の形態１との差異を説明する。
【００６９】
実施の形態１〜４では、要件提示部１１１は利用者に対して有向グラフ２０３に登録された要件の全てについて回答の入力を求めていたが、本実施の形態では、要件提示部１１１は、未回答の入力を受け付ける。
【００７０】
図１５は、要件提示部１１１の動作（図３に示したステップＳ１０４に相当）を示すフローチャートである。
【００７１】
要件提示部１１１は、有向グラフ２０３から要件を１つ取り出し（ステップＳ４０１）、利用者に対して表示装置９０１（出力装置１５４の一例）により提示する（ステップＳ４０２）。そして、要件提示部１１１は、当該要件について回答をキーボード９０２やマウス９０３（入力装置１５３の一例）により受け付けるが（ステップＳ４０３）、回答がなかった場合は（ステップＳ４０４）、回答結果をシステム構成生成部１２３に送信せず、ステップＳ４０１に戻って、有向グラフ２０３から次の要件を取り出し、ステップＳ４０２で利用者に対して提示する。一方、ステップＳ４０４で利用者から回答があった場合、要件提示部１１１は、回答結果をシステム構成生成部１２３に送信する（ステップＳ４０５）。要件提示部１１１は、有向グラフ２０３に登録されている全ての要件について（ステップＳ４０６）、同様の処理を行う。
【００７２】
上記のように、本実施の形態では、要件提示部１１１は、利用者に対して任意の要件の設定を入力しないことを許す。
【００７３】
以上のように、本実施の形態によれば、利用者は全ての要件について回答する必要がなくなり、回答作業の負荷軽減が可能となる。
【００７４】
実施の形態６．
本実施の形態について、主に実施の形態５との差異を説明する。
【００７５】
実施の形態５では、要件提示部１１１は過去の未回答の要件について記録を残していなかったが、本実施の形態では、要件提示部１１１は、過去の未回答の要件について記録を残し、要件とともに過去の回答率を利用者に提示する。
【００７６】
図１６は、要件提示部１１１の動作（図３に示したステップＳ１０４に相当）を示すフローチャートである。
【００７７】
要件提示部１１１は、有向グラフ２０３から要件を１つ取り出し（ステップＳ５０１）、利用者に対して表示装置９０１（出力装置１５４の一例）により提示する（ステップＳ５０２）。そして、要件提示部１１１は、当該要件について回答をキーボード９０２やマウス９０３（入力装置１５３の一例）により受け付けるが（ステップＳ５０３）、回答がなかった場合は（ステップＳ５０４）、回答結果をシステム構成生成部１２３に送信せず、回答率（＝未回答を含まない回答数／未回答を含む全回答数）をＣＰＵ９１１（処理装置１５１の一例）により計算した後（ステップＳ５０８）、ステップＳ５０１に戻って、有向グラフ２０３から次の要件を取り出し、ステップＳ５０２で利用者に対して提示する。一方、ステップＳ５０４で利用者から回答があった場合、要件提示部１１１は、回答率をＣＰＵ９１１により計算した後（ステップＳ５０５）、回答結果をシステム構成生成部１２３に送信する（ステップＳ５０６）。要件提示部１１１は、有向グラフ２０３に登録されている全ての要件について（ステップＳ５０７）、同様の処理を行う。なお、ステップＳ５０５、Ｓ５０８において、要件提示部１１１は、要件ごとに、計算した回答率を磁気ディスク装置９２０に格納されている機能要件リスト２０１と非機能要件リスト２０２に保存するものとする。また、ステップＳ５０２において、要件提示部１１１は、機能要件リスト２０１と非機能要件リスト２０２に保存しておいた回答率を、要件とともに利用者に対して表示装置９０１により提示するものとする。
【００７８】
非機能要件リスト２０２の例を図１７に示す。例示していないが、機能要件リスト２０１も同様に構成することができる。図１７に例示した非機能要件リスト２０２では、実施の形態３で図１３に示したものに加え、回答率の項目が含まれている。
【００７９】
上記のように、本実施の形態では、要件提示部１１１は、要件ごとに、利用者が過去に当該要件の設定を入力した回数と入力しなかった回数とに基づいて、当該要件の回答率を処理装置１５１により計算して出力装置１５４へ出力する。
【００８０】
以上のように、本実施の形態によれば、利用者は各要件の過去の回答率を参照できるようになり、回答作業の負荷軽減が可能となる。
【００８１】
実施の形態７．
本実施の形態について、主に実施の形態６との差異を説明する。
【００８２】
実施の形態６では、要件提示部１１１は回答率を利用者に提示するのみであったが、本実施の形態では、要件提示部１１１は、要件の回答率と重要度を組み合わせ、推奨度を算出し、任意の推奨度以下の要件については利用者に提示しない。
【００８３】
図１８は、要件提示部１１１の動作（図３に示したステップＳ１０４に相当）を示すフローチャートである。
【００８４】
要件提示部１１１は、有向グラフ２０３から要件を１つ取り出し（ステップＳ６０１）、推奨度をＣＰＵ９１１（処理装置１５１の一例）により算出する（ステップＳ６０２）。推奨度は、Ｃ×重要度×回答率で算出される。ここでＣは任意の係数である。推奨度が一定の閾値を下回る場合（ステップＳ６０３）、要件提示部１１１は、ステップＳ６０１に戻って、有向グラフ２０３から次の要件を取り出し、ステップＳ６０２以降の処理を行う。一方、ステップＳ６０３で推奨度が一定の閾値以上の場合、要件提示部１１１は、要件と推奨度を利用者に対して表示装置９０１（出力装置１５４の一例）により提示する（ステップＳ６０４）。そして、要件提示部１１１は、当該要件について回答をキーボード９０２やマウス９０３（入力装置１５３の一例）により受け付けるが（ステップＳ６０５）、回答がなかった場合は（ステップＳ６０６）、回答結果をシステム構成生成部１２３に送信せず、回答率をＣＰＵ９１１により計算した後（ステップＳ６１０）、ステップＳ６０１に戻って、有向グラフ２０３から次の要件を取り出し、ステップＳ６０２以降の処理を行う。一方、ステップＳ６０６で利用者から回答があった場合、要件提示部１１１は、回答率をＣＰＵ９１１により計算した後（ステップＳ６０７）、回答結果をシステム構成生成部１２３に送信する（ステップＳ６０８）。要件提示部１１１は、有向グラフ２０３に登録されている全ての要件について（ステップＳ６０９）、同様の処理を行う。
【００８５】
上記のように、本実施の形態では、要件提示部１１１は、要件ごとに、当該要件の回答率と記憶装置１５２に記憶された当該要件の重要度とに基づいて、当該要件の推奨度を処理装置１５１により計算して出力装置１５４へ出力する。
【００８６】
以上のように、本実施の形態によれば、利用者は回答率が低く、かつ、重要度が低い要件（あるいは、いずれか一方が著しく低い要件）について回答する必要がなくなり、回答作業の負荷軽減が可能となる。
【００８７】
実施の形態８．
本実施の形態について、主に実施の形態７との差異を説明する。
【００８８】
実施の形態７では、要件提示部１１１は重要度の高い順にソートされた要件について推奨度を算出しつつ利用者に要件を提示していたが、本実施の形態では、要件提示部１１１は、推奨度の高い順に利用者に要件を提示する。
【００８９】
図１９は、要件提示部１１１の動作（図３に示したステップＳ１０４に相当）を示すフローチャートである。
【００９０】
要件提示部１１１は、有向グラフ２０３から要件を１つ取り出し（ステップＳ７０１）、推奨度をＣＰＵ９１１（処理装置１５１の一例）により算出して、磁気ディスク装置９２０（記憶装置１５２の一例）に格納されている機能要件リスト２０１や非機能要件リスト２０２に一旦保存する（ステップＳ７０２）。全ての要件について推奨度を算出後（ステップＳ７０３）、要件提示部１１１は、推奨度の高いものから順に（ステップＳ７０４）、推奨度が一定の値以上の場合（ステップＳ７０５、Ｓ７０６）、要件を利用者に対して表示装置９０１（出力装置１５４の一例）により提示する（ステップＳ７０７）。そして、要件提示部１１１は、当該要件について回答をキーボード９０２やマウス９０３（入力装置１５３の一例）により受け付けるが（ステップＳ７０８）、回答がなかった場合は（ステップＳ７０９）、回答結果をシステム構成生成部１２３に送信せず、回答率をＣＰＵ９１１により計算した後（ステップＳ７１３）、ステップＳ７０５に戻って、それ以降の処理を行う。一方、ステップＳ７０９で利用者から回答があった場合、要件提示部１１１は、回答率をＣＰＵ９１１により計算した後（ステップＳ７１０）、回答結果をシステム構成生成部１２３に送信する（ステップＳ７１１）。要件提示部１１１は、有向グラフ２０３に登録されている全ての要件について（ステップＳ７１２）、同様の処理を行う。
【００９１】
上記のように、本実施の形態では、要件提示部１１１は、記憶装置１５２に記憶された重要度に代えて、推奨度の順に、利用者に対して各要件の設定を入力装置１５３から順次入力させる。
【００９２】
以上のように、本実施の形態によれば、利用者は、これまでの回答率が高く、かつ、重要度が高い要件（あるいは、いずれか一方が著しく高い要件）から回答することが可能となり、回答作業の負荷軽減が可能となる。
【００９３】
以上、実施の形態１〜８で説明したシステム環境設計支援機構は、
機能要件リスト、非機能要件リスト、有向グラフ、コンポーネントリスト、システム構成要素リスト、過去構成事例を格納する記憶装置と、前記記憶装置と接続された、重要度決定部、有向グラフ生成部、システム構成生成部、矛盾検出部、要件提示部、システム提示部をもつ計算機とを備え、
前記記憶装置は、
システム設計時に求められる要件の一覧と、その値及び値を満足するために必要となるコンポーネントの組み合わせを格納する機能要件リスト及び非機能要件リストと、
機能要件リストと非機能要件リストをどのような順序で利用者に提示するかを記述した有向グラフと、
コンポーネントのベンダ情報や仕様を格納するコンポーネントリストと、
システム環境設計過程で候補として挙げられるコンポーネントの組み合わせを一時的に格納するシステム構成要素リストと、
過去におけるシステム構成事例を記録した過去構成事例とを格納し、
前記計算機は、
前記記憶装置に格納された機能要件リスト及び非機能要件リストの各要件の重要度を、各要件が求めるコンポーネントの数と実現度に基づいて算出する重要度決定部と、
重要度が付加された、各機能要件及び各非機能要件の各要件を関連付け、有向グラフを生成する有向グラフ生成部と、
有向グラフに基づいて、利用者に要件を順次提示していく要件提示部と、
各要件に対して、利用者が回答した結果に基づいて、要件を満足するようなコンポーネントの組み合わせを抽出すると同時に、前記システム構成要素リストと、前記過去構成事例から、過去に類似したシステム構成事例があったかを検索し、類似したシステム構成事例があった場合は、利用者に当該システム構成事例を提示するシステム構成生成部と、
前記システム構成要素リストにおいて、組み合わせ不可能なコンポーネントが抽出されていないか検索し、矛盾があった場合は、利用者に通知するとともに、前記システム構成生成部に対して、システム構成要素リストから矛盾するコンポーネントの組み合わせを削除するように通知を行う矛盾検出部と、
矛盾がなくなった際に、前記システム構成要素リストに格納されているコンポーネントを用いて、システム環境を利用者に提示するシステム提示部とをもち、
各要件に対して、利用者が回答した結果を満足するシステム環境の構成案を提供することを特徴とする。
【００９４】
また、前記要件提示部、過去構成事例提示部、システム提示部を、前記計算機とは異なる利用者用計算機に備え、前記計算機と前記利用者用計算機をネットワークで接続したことを特徴とする。
【００９５】
また、前記記憶装置の重要度決定部が、前記記憶装置に格納された機能要件リスト及び非機能要件リストの各要件の重要度を事前に計算し蓄積することを特徴とする。
【００９６】
また、前記有向グラフ生成部が、前記重要度決定部が算出した重要度のうち、任意の重要度以下の要件を使用しないことを特徴とする。
【００９７】
また、前記要件提示部が、利用者から要件に対する回答がない場合、未回答を受け付けることを特徴とする。
【００９８】
また、前記要件提示部が、利用者が回答しなかった要件を記憶し、回答率を利用者に提示することを特徴とする。
【００９９】
また、前記要件提示部が、要件の回答率と重要度から推奨度を算出し、任意の推奨度以下の要件を利用者に提示しないことを特徴とする。
【０１００】
また、前記要件提示部が、推奨度の高いものから順に利用者に要件を提示することを特徴とする。
【０１０１】
以上、本発明の実施の形態について説明したが、これらのうち、２つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、１つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、２つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
【図面の簡単な説明】
【０１０２】
【図１】実施の形態１に係るシステム環境設計支援機構の構成を示すブロック図である。
【図２】実施の形態１に係るシステム環境設計支援機構のハードウェア構成の一例を示す図である。
【図３】実施の形態１に係るシステム環境設計支援機構の各部の動作を示すフローチャートである。
【図４】実施の形態１に係る影響リストの内容の一例を示す概念図である。
【図５】実施の形態１に係る有向グラフの内容の一例を示す概念図である。
【図６】実施の形態１の変形例に係る有向グラフの内容の一例を示す概念図である。
【図７】実施の形態１に係るコンポーネントリストの構成の一例を示す表である。
【図８】実施の形態１に係る要件リストの構成の一例を示す表である。
【図９】実施の形態１に係る過去構成事例の内容などの一例を示す概念図である。
【図１０】実施の形態１に係るシステム構成要素リストの構成の一例を示す表である。
【図１１】実施の形態２に係るシステム環境設計支援機構の構成を示すブロック図である。
【図１２】実施の形態３に係る重要度決定部の動作を示すフローチャートである。
【図１３】実施の形態３に係る要件リストの構成の一例を示す表である。
【図１４】実施の形態４に係る有向グラフ生成部の動作を示すフローチャートである。
【図１５】実施の形態５に係る要件提示部の動作を示すフローチャートである。
【図１６】実施の形態６に係る要件提示部の動作を示すフローチャートである。
【図１７】実施の形態６に係る要件リストの構成の一例を示す表である。
【図１８】実施の形態７に係る要件提示部の動作を示すフローチャートである。
【図１９】実施の形態８に係る要件提示部の動作を示すフローチャートである。
【符号の説明】
【０１０３】
１００  システム環境設計支援機構、１０１  計算機、１０１ａ  利用者用計算機、１０１ｂ  制御用計算機、１０２  ネットワーク、１１０  利用者作業提示部、１１１  要件提示部、１１２  システム提示部、１２０  制御部、１２１  重要度決定部、１２２  有向グラフ生成部、１２３  システム構成生成部、１２４  矛盾検出部、１５１  処理装置、１５２  記憶装置、１５３  入力装置、１５４  出力装置、２０１  機能要件リスト、２０２  非機能要件リスト、２０３  有向グラフ、２０４  コンポーネントリスト、２０５  システム構成要素リスト、２０６  過去構成事例、２０７  影響リスト、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
0004937159.tif 000002
【図２】
0004937159.tif 000003
【図３】
0004937159.tif 000004
【図４】
0004937159.tif 000005
【図５】
0004937159.tif 000006
【図６】
0004937159.tif 000007
【図７】
0004937159.tif 000008
【図８】
0004937159.tif 000009
【図９】
0004937159.tif 000010
【図１０】
0004937159.tif 000011
【図１１】
0004937159.tif 000012
【図１２】
0004937159.tif 000013
【図１３】
0004937159.tif 000014
【図１４】
0004937159.tif 000015
【図１５】
0004937159.tif 000016
【図１６】
0004937159.tif 000017
【図１７】
0004937159.tif 000018
【図１８】
0004937159.tif 000019
【図１９】
0004937159.tif 000020