(57)【特許請求の範囲】
【請求項１】
過去設計されたシステムの設計情報と当該設計情報が実現する要件とを対応付けて格納した第１のテーブルと、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績に基づき順位付けして管理する第２のテーブルと、を記憶する記憶装置と、
新規設計対象のシステムに関する複数の要件それぞれを実現する設計情報を、前記記憶装置の前記第１のテーブルで特定し、当該特定の結果、いずれかの要件について複数の設計情報を特定した場合、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定し、前記複数の要件それぞれについて特定した設計情報を所定装置に出力する演算装置と、
を備えることを特徴とするシステム設計支援装置。
【請求項２】
前記記憶装置は、
前記第１のテーブルにおいて、過去設計されたシステムの設計情報と、当該設計情報が実現する要件と、当該設計情報の利用実績と、を対応付けて格納するものであり、
前記演算装置は、
前記複数の要件それぞれを実現する設計情報を特定する処理に際し、前記複数の要件それぞれを実現する設計情報を、利用実績の高さに応じて前記記憶装置の前記第１のテーブルで特定するものである、
ことを特徴とする請求項１に記載のシステム設計支援装置。
【請求項３】
前記演算装置は、
前記複数の要件それぞれを実現する設計情報を特定する処理の結果、いずれかの要件について、該当要件を実現し、かつ所定基準以上の利用実績がある設計情報が特定出来なかった場合、該当要件が示す規定を所定範囲で変更し、前記変更を行った要件を実現し、かつ所定基準以上の利用実績がある設計情報を前記第１のテーブルで特定する処理を更に実行するものである、
ことを特徴とする請求項２に記載のシステム設計支援装置。
【請求項４】
前記記憶装置は、
前記第２のテーブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理するものであり、
前記演算装置は、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定基準以下であり、前記設計情報の変更程度が許容範囲外であることを示す組合せとなる設計情報を除いた上で、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するものである、
ことを特徴とする請求項１に記載のシステム設計支援装置。
【請求項５】
前記記憶装置は、
前記第２のテーブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理するものであり、
前記演算装置は、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記設計情報の変更程度が許容範囲内であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定し、
前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して追加の設計情報が必要である旨の情報を更に出力するものである、
ことを特徴とする請求項１に記載のシステム設計支援装置。
【請求項６】
前記演算装置は、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が所定基準以下であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定するものであり、
前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して検証作業が必要である旨の情報を更に出力するものである、
ことを特徴とする請求項１に記載のシステム設計支援装置。
【請求項７】
前記演算装置は、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が無いことを示す組合せとなる設計情報を特定するものである、
ことを特徴とする請求項６に記載のシステム設計支援装置。
【請求項８】
前記演算装置は、
前記複数の要件それぞれについて特定した設計情報を元に、クラウドサービス上にデプロイ可能な構成を生成し、前記生成したデプロイ可能な構成をクラウドサービスにデプロイする処理を更に実行するものである、
ことを特徴とする請求項１に記載のシステム設計支援装置。
【請求項９】
前記記憶装置は、
前記第１のテーブルが含む設計情報をデプロイ可能なクラウドサービスの情報を格納した第３のテーブルを更に記憶するものであり、
前記演算装置は、
前記特定した設計情報を所定装置に出力する処理に際し、該当設計情報をデプロイ可能なクラウドサービスの情報を前記第３のテーブルで特定し、前記特定したデプロイ可能なクラウドサービスの情報も更に出力するものである、
ことを特徴とする請求項８に記載のシステム設計支援装置。
【請求項１０】
過去設計されたシステムの設計情報と当該設計情報が実現する要件とを対応付けて格納した第１のテーブルと、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績に基づき順位付けして管理する第２のテーブルと、を記憶
する記憶装置を備えた情報処理装置が、
新規設計対象のシステムに関する複数の要件それぞれを実現する設計情報を、前記記憶装置の前記第１のテーブルで特定し、当該特定の結果、いずれかの要件について複数の設計情報を特定した場合、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定し、前記複数の要件それぞれについて特定した設計情報を所定装置に出力する、
ことを特徴とするシステム設計支援方法。
【請求項１１】
前記情報処理装置が、
前記記憶装置の前記第１のテーブルにおいて、過去設計されたシステムの設計情報と、当該設計情報が実現する要件と、当該設計情報の利用実績と、を対応付けて格納して、
前記複数の要件それぞれを実現する設計情報を特定する処理に際し、前記複数の要件それぞれを実現する設計情報を、利用実績の高さに応じて前記記憶装置の前記第１のテーブルで特定する、
ことを特徴とする請求項１０に記載のシステム設計支援方法。
【請求項１２】
前記情報処理装置が、
前記複数の要件それぞれを実現する設計情報を特定する処理の結果、いずれかの要件について、該当要件を実現し、かつ所定基準以上の利用実績がある設計情報が特定出来なかった場合、該当要件が示す規定を所定範囲で変更し、前記変更を行った要件を実現し、かつ所定基準以上の利用実績がある設計情報を前記第１のテーブルで特定する処理を更に実行する、
ことを特徴とする請求項１１に記載のシステム設計支援方法。
【請求項１３】
前記情報処理装置が、
前記記憶装置の前記第２のテーブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理して、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定基準以下であり、前記設計情報の変更程度が許容範囲外であることを示す組合せとなる設計情報を除いた上で、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定する、
ことを特徴とする請求項１０に記載のシステム設計支援方法。
【請求項１４】
前記情報処理装置が、
前記記憶装置の前記第２のテーブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理して、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記設計情報の変更程度が許容範囲内であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定し、
前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して追加の設計情報が必要である旨の情報を更に出力する、
ことを特徴とする請求項１０に記載のシステム設計支援方法。
【請求項１５】
前記情報処理装置が、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が所定基準以下であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定し、
前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して検証作業が必要である旨の情報を更に出力する、
ことを特徴とする請求項１０に記載のシステム設計支援方法。
【請求項１６】
前記情報処理装置が、
前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が無いことを示す組合せとなる設計情報を特定する、
ことを特徴とする請求項１５に記載のシステム設計支援方法。
【請求項１７】
前記情報処理装置が、
前記複数の要件それぞれについて特定した設計情報を元に、クラウドサービス上にデプロイ可能な構成を生成し、前記生成したデプロイ可能な構成をクラウドサービスにデプロイする処理を更に実行する、
ことを特徴とする請求項１０に記載のシステム設計支援方法。
【請求項１８】
前記情報処理装置が、
前記記憶装置において、前記第１のテーブルが含む設計情報をデプロイ可能なクラウドサービスの情報を格納した第３のテーブルを更に記憶して、
前記特定した設計情報を所定装置に出力する処理に際し、該当設計情報をデプロイ可能なクラウドサービスの情報を前記第３のテーブルで特定し、前記特定したデプロイ可能なクラウドサービスの情報も更に出力する、
ことを特徴とする請求項１７に記載のシステム設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム設計支援装置およびシステム設計支援方法に関するものであり、具体的には、構築システムに関する複数の要件に適合し、効率的なシステム設計、構築が可能な、システム構築用の要素の組合せを提案する技術に関する。
【背景技術】
【０００２】
クラウドコンピューティングの登場により、従来は要件に基づき一から人手で行っていたＩＴシステムの設計・構築の作業を、構成ごとにパターンとして用意しておくことで、簡単に再利用できるようになった。例えば、構築済の仮想サーバや仮想システムをテンプレートとして保管し、再利用することが可能なサービスも提供されている。
【０００３】
ただし、そうしたパターンを利用する際、どういう要件に基づいたパターンであるか根拠が不明確である場合、そのパターンが設計・構築対象のシステムの要件を満たすのか、人手による検証が必要になる。この人手による検証作業に伴うシステム解析やテストには時間および手間がかかるため、上述のパターン利用がかえって非効率を招く恐れもある。
【０００４】
そこで、ＯＳやソフトウェアなどソフトウェア部品毎にパターン化を行い、それらを組合わせる手法も提案されている。こうした技術としては、例えば、部品データベースに格納されたソフトウェア部品を組み合わせてソフトウェア構造図を編集するソフトウェア構造図エディタと、エディタからのソフトウェア構造図データを解析し部品間の静的な関連と動的な振る舞いを示すソフトウェア部品間接続情報を生成するとともに、ソフトウェア構造図中に含まれる複合部品を抽出するソフトウェア構造図解析部と、複合部品のソフトウェア部品仕様データを生成する複合部品データ生成部と、複合部品のソフトウェア部品仕様データをデータベースに登録する複合部品登録部と、ソフトウェア部品間接続情報とデータベースに格納されたソフトウェア部品仕様データに基づいて部品間の整合性を検証する整合性検証部を備えたソフトウェア開発ツール（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１７１３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術は、ソフトウェアの仕様という曖昧さのない機能要件とソフトウェアのパターンという組合せに関しては効果を発揮する。しかしながら、ＩＴシステムのように非機能要件（例：処理速度、可用性など）が重要な役割を占める対象に関し、ソフトウェアのバージョンとシステム安定性との関係など、単純にその因果関係を示せない事象への考慮が必要な場合については、その効果を十分に発揮しない。更に、クラウド環境のように、サービスの仕様が完全には公開されておらず、利用者側からはブラックボックスとして扱わざるを得ない環境においては、既存のソフトウェア開発技法を越えた技術が必要になってしまう。
【０００７】
そこで本発明の目的は、構築システムに関する複数の要件に適合し、効率的なシステム設計、構築が可能な、システム構築用の要素の組合せを提案する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明のシステム設計支援装置は、過去設計されたシステムの設計情報と当該設計情報が実現する要件とを対応付けて格納した第１のテーブルと、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績に基づき順位付けして管理する第２のテーブルと、を記憶する記憶装置と、新規設計対象のシステムに関する複数の要件それぞれを実現する設計情報を、前記記憶装置の前記第１のテーブルで特定し、当該特定の結果、いずれかの要件について複数の設計情報を特定した場合、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定し、前記複数の要件それぞれについて特定した設計情報を所定装置に出力する演算装置とを備えることを特徴とする。
【０００９】
また、本発明のシステム設計支援方法は、過去設計されたシステムの設計情報と当該設計情報が実現する要件とを対応付けて格納した第１のテーブルと、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績に基づき順位付けして管理する第２のテーブルと、を記憶する記憶装置を備えた情報処理装置が、新規設計対象のシステムに関する複数の要件それぞれを実現する設計情報を、前記記憶装置の前記第１のテーブルで特定し、当該特定の結果、いずれかの要件について複数の設計情報を特定した場合、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定し、前記複数の要件それぞれについて特定した設計情報を所定装置に出力する、ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、構築システムに関する複数の要件に適合し、効率的なシステム設計、構築が可能な、システム構築用の要素の組合せを提案できる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態のシステム設計支援装置を含むネットワーク構成例を示す図である。
【図２】第１実施形態におけるシステム設計支援装置のハードウェア構成例を示す図である。
【図３】第１実施形態のパターン管理データベースが含むテーブル例１を示す図である。
【図４】第１実施形態における要件とパターンとの関係を表す論理関係図である。
【図５】第１実施形態のシステム設計支援方法の手順例１を示すフロー図である。
【図６】第１実施形態のシステム設計支援方法の手順例２を示すフロー図である。
【図７】第１実施形態におけるパターンの構成例を示す図である。
【図８】第１実施形態のパターン管理データベースが含むテーブル例２を示す図である。
【図９】第１実施形態におけるパターンの組合せに対して付与される実績の関係を表す関係図である。
【図１０】第１実施形態のシステム設計支援方法の手順例３を示すフロー図である。
【図１１】第１実施形態のシステム設計支援方法の手順例４を示すフロー図である。
【図１２】第２実施形態のパターン管理データベースが含むテーブル例を示す図である。
【図１３】第２実施形態のシステム設計支援方法の手順例１を示すフロー図である。
【図１４】第２実施形態のシステム設計支援方法の手順例２を示すフロー図である。
【発明を実施するための形態】
【００１２】
＜第１実施形態＞
【００１３】
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、第１実施形態のシステム設計支援装置１８０を含むネットワーク構成例を示す図である。図１に示すシステム設計支援装置１８０は、設計・構築対象となるシステムに関する複数の要件に適合し、効率的なシステム設計、構築が可能な、システム構築用の要素の組合せを提案するコンピュータである。図１で例示する第１実施形態におけるシステム設計支援装置１８０は、適宜なネットワーク２０を介して、クラウドシステム１６０および端末１９０と通信可能に接続されている。なお、これらシステム設計支援装置１８０、クラウドシステム１６０、および端末１９０のうち少なくともシステム設計支援装置１８０によりシステム設計支援システム１０を構成するとしてもよい。つまりシステム設計支援装置１８０がシステム設計支援方法の実行主体である。
【００１４】
図１における構成では、端末１９０において、システム開発担当者等の利用者１００が入力した設計・構築対象のＩＴシステムの要件を、システム設計支援装置１８０が入力として受け付けて適宜に処理することとなる。なお、端末１９０は、ＰＣやタブレット端末、スマートフォン、携帯電話など、後述するパターン表示・編集装置１１０が提供する情報について操作者が閲覧や操作を行うコンピュータ端末である。
【００１５】
一方、こうして構成におけるシステム設計支援装置１８０は、パターン管理データベース１２０に蓄積している過去の設計情報、すなわち設計情報を元にパターン化されたＩＴシステム（例：クラウドサービス上に実装される各種サーバなど）を、上述の要件に応じて適宜に選択して組合せ、クラウドシステム１６０にデプロイすることとなる。
【００１６】
上述のクラウドシステム１６０は、インターネットを介してクラウドサービスを提供するサーバ装置等である。このクラウドシステム１６０は、ユーザのニーズに応じて、ＰａａＳ（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）など、仮想化されたソフトウェア機能、プラットフォーム機能、ハードウェア機能等をネットワーク経由で提供する。第１実施形態においては、このクラウドシステム１６０が、例えばＰａａＳ、すなわち仮想化されたＷＥＢサーバ、アプリケーションサーバ、データベースサーバなど、各種アプリケーション実行用のプラットフォーム機能をネットワーク経由で提供するサービスを提供している状況を一例として想定する。
【００１７】
第１実施形態におけるシステム設計支援装置１８０は、パターン表示・編集装置１１０、パターン検索装置１３０、パターン統合装置１４０、およびパターン実行装置１５０を実装している。これら各装置はハードウェアとして実現されているとしてもよいが、システム設計支援装置１８０が備える機能として、当該システム設計支援装置１８０が備えるプログラムを実行することで実装される形態を主に想定出来る。
【００１８】
このうち、パターン表示・編集装置１１０は、上述の端末１９０に対し、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）、およびＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）など入出力用のインターフェイスを提供し、こうしたインターフェイスを介して、要件やパターンの組合せなどに関する所定の入出力動作を受け付ける機能を備える。上述した端末１９０は、このパターン表示・編集装置１１０が提供するインターフェイスでの情報の閲覧や操作をユーザに実行させる端末となる。
【００１９】
また、パターン検索装置１３０は、端末１９０から入力された要件を元に、パターン管理データベース１２０から適したパターンを検索する機能を備える。
【００２０】
また、パターン統合装置１４０は、上述のパターン検索装置１３０によるパターン検索の結果、いずれかの要件について複数のパターンを特定した場合、この複数のパターンそれぞれと、複数の要件のうち他の要件に関して特定されたパターンとの組合せ利用の適性順位を、パターン管理データベース１２０のパターン組合せテーブル４７０（後述）で参照して、適性順位がより高い組合せとなるパターンを複数の設計情報から特定する機能を備える。
【００２１】
また、パターン実行装置１５０は、上述のパターン検索装置１３０およびパターン統合装置１４０の処理結果であるパターンがデプロイ可能であることを判断し、クラウドシステム１６０に該当パターンをデプロイする機能を備える。
【００２２】
このような機能を実装するシステム設計支援装置１８０のハードウェア構成は図２に例示するものとなる。図２におけるシステム設計支援装置１８０は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置１１、ＲＡＭなど揮発性記憶素子で構成されるメモリ１３、記憶装置１１に保持されるプログラム１２をメモリ１３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置１４、処理データの表示を行うディスプレイ等の出力装置１５、ネットワーク２０と接続し他装置との通信処理を担う通信装置１６、を備える。なお、記憶装置１１内には、本実施形態のシステム設計支援装置として必要な機能を実装する為のプログラム１２に加え、作成者管理テーブル２３０、要件-パターンテーブル２４０、要件定義テーブル２５０、パターン定
義テーブル２７０、およびパターン組合せテーブル４７０を格納したパターン管理データベース１２０が少なくとも記憶されている。このパターン管理データベース１２０の具体的なデータ構成の例については後述する。
【００２３】
次に、第１実施形態のシステム設計支援装置１８０が利用するパターン管理データベース１２０の具体的な構成例について説明する。図３は第１実施形態のパターン管理データベース１２０が含むテーブル例１を示す図である。
【００２４】
図３で例示するパターン管理データベース１２０は、既に設計ないし構築を行ったＩＴシステムの要件やそうした要件を実現するために採用されたパターン（クラウドサービス上で実装されるハードウェアやアプリケーションなど）の情報を管理するデータベースであり、以下のテーブルで構成されている。すなわち、パターン管理データベース１２０に登録する要件を管理する要件定義テーブル２５０、当該データベースに登録するパターンを管理するパターン定義テーブル２７０、上述の要件とパターンとの関係を管理する要件−パターンテーブル２４０、および上述の要件とパターンとの関係を登録した作成者を管理する作成者管理テーブル２３０を有する。他にもパターン組合せテーブル４７０も含んでいるが、このテーブルについては後述する。
【００２５】
上述のテーブルのうち要件定義テーブル２５０は、要件の固有の識別子である要件ＩＤ２５１をキーとして、該当要件の定義名を示す要件名２５２、要件として満たすべき水準を表す要件達成基準２５２、要件間の相対的な達成基準の厳しさを示す要件レベル２５４、および、該当要件の具体的な説明を示す説明２５５、の各値を対応付けたレコードの集合体となっている。このうち、要件ＩＤ２５１および要件達成基準２５２は必須の値である。
【００２６】
また、パターン定義テーブル２７０は、パターンの固有の識別子であるパターンＩＤ２
７１をキーとして、該当パターンの定義名を示すパターン名２７２、ＯＳやＷｅｂサーバ、Ｗｅｂ３階層システムなど、該当パターンの属するカテゴリや粒度を示すパターン分類２７３、パターンとして登録された内容に関係する、実際のクラウドシステム上にデプロイするパターンの実態を表すテンプレート参照２７４、該当パターンの利用者数を表す利用者数２７５、該当パターンの利用者から与えられたパターンの平均評価を表す平均評価２７６、相対的なパターンの品質基準の厳しさを示すパターンレベル２７７、およびパターンの具体的な説明である説明２７８の各値を対応付けたレコードの集合体となっている。このうち、パターンＩＤ２７１、パターン名２７２、パターン分類２７３、利用者数２７５、平均評価２７６、パターンレベル２７７は必須の値である。
【００２７】
また、要件−パターンテーブル２４０は、上述の要件定義テーブル２５０で登録されている要件と、パターン定義テーブル２７０で登録されているパターンとの関係を表す固有の識別子である関係ＩＤ２４１をキーとして、該当要件と該当パターンとの関係性を示す関係式２４２、当該テーブルにおける該当組合せに対する登録要求が端末１９０から何回あったかを示す登録要求数２４３、該当関係性が何回利用されたかを示す利用回数２４４、該当関係の説明である説明２４５、該当関係の作成者である作成者２４６、および、該当関係の作成日時である作成日時２４７の各値を対応付けたレコードの集合体となっている。このうち、関係ＩＤ２４１、関係式２４２、登録要求数２４３、および利用回数２４４は必須の値である。
【００２８】
なお、上述した関係式２４２の具体的なイメージは、図４に例示するものを想定出来る。図４は、第１実施形態における要件とパターンとの関係を表す論理関係図である。ここで、要件３１０を、Ｗｅｂサーバ、ＡＰサーバ、およびＤＢサーバから構成されるシステム構成に対する要件、要件３２０をＷｅｂサーバの性能に関する要件、要件３３０をＡＰサーバで処理可能なプログラムの要件、要件３４０をＤＢサーバの可用性の要件としている。また、これら全ての要件３１０〜３４０を満たすパターンとして、Ｗｅｂサーバに対応するパターン３１１、ＡＰサーバに対応するパターン３１２、およびＤＢサーバに対応するパターン３１３の組があるとする。
【００２９】
上記の前提において、要件３１０は、パターン３１１、パターン３１２、およびパターン３１３の組合せである。そのためこの関係を、“Ｒ（３１０）  ｉｓ  ｓａｔｉｓｆｉｅｄ  ｂｙ  Ｐ（３１１）  ａｎｄ  Ｐ（３１２）  ａｎｄ  Ｐ（３１３）”と表現する。
【００３０】
また、要件３２０とパターン３１１の関係も同様に、“Ｒ（３２０）  ｉｓ  ｓａｔｉｓｆｉｅｄ  ｂｙ  Ｐ（３１１）”という形で表現できる。
【００３１】
逆にパターン３１２は、“Ｐ（３１２）  ｃａｎ  ｓａｔｉｓｆｙ  Ｒ（３１０）  ａｎｄ  Ｒ（３３０）”を満たすものである必要があり、システム設計支援装置１８０はこの条件を満たすパターンをパターン管理データベース１２０から選択することとなる。第１実施形態においては、こうした要件とパターンの組は、過去のシステム設計・構築に関して、或るシステム構成に応じたパターンが要件を満たすものとして確認された場合に、その関係性がパターン管理データベース１２０の要件-パターンテーブル２４０に登録さ
れたものである。
【００３２】
また、作成者管理テーブル２３０は、パターン管理データベース１２０に対して要件およびパターンの登録を行った者の固有の識別子である作成者ＩＤ２３１をキーとして、該当作成者の所属する組織を表す組織名２３２、該当作成者の名前を表す名前２３３、該当作成者の組織における役割を表す役割２３４、該当作成者の組織における役職を表す役職２３５、および、該当作成者の連絡先を表す連絡先２３６の各値を対応付けたレコードの
集合体となっている。なお、この作成者管理テーブル２３０は、必須の構成ではないが、システム設計支援装置１８０による処理結果の出力時に、出力内容が含む要件やパターンに関連する者の情報として上述の作成者の情報（例：経験やスキルに相関がある役割や役職等）を追加表示するとすれば、該当パターンやその組合せ利用に関する妥当性判断の材料となり好適である。
【００３３】
以下、本実施形態におけるシステム設計支援方法の実際手順について図に基づき説明する。以下で説明するシステム設計支援方法に対応する各種動作は、システム設計支援装置１８０がメモリ１３等に読み出して実行するプログラム１２によって実現される。そして、このプログラム１２は、以下に説明される各種の動作を行うためのコードから構成されている。
【００３４】
図５は本実施形態のシステム設計支援方法の手順例１を示すフロー図であり、具体的には、パターン管理データベース１２０に対する要件とパターンの登録処理に関するフローチャートである。
【００３５】
ここで、既に設計ないし構築がなされたＩＴシステムに関し、その要件とパターンの情報を登録したい利用者１００が端末１９０を操作し、システム設計支援装置１８０にアクセスして登録処理を開始するものとする。
【００３６】
この場合、上述の端末１９０は、その入力装置において要件とパターンの組について利用者１００の入力を受け付けて、ここで受け付けた情報を含む登録要求を、ネットワーク２０を介してシステム設計支援装置１８０に送信する（５５０）。
【００３７】
一方、システム設計支援装置１８０のパターン表示・編集装置１１０は、端末１９０に提供した適宜なインターフェイス等を介して上述の登録要求が示す要件およびパターンを受けて（５６０、５１０）、これらをパターン統合装置１４０に通知する（５６１、５１１）。
【００３８】
この場合、パターン統合装置１４０は、上述のパターン表示・編集装置１１０から通知された要件をキーに、パターン管理データベース１２０での検索を実行し、同じ要件で既に登録済みのものが存在しない場合に、該当要件をパターン管理データベース１２０の要件定義テーブル２５０に登録する（５７０）。また同様に、パターン統合装置１４０は、上述のパターン表示・編集装置１１０から通知されたパターンをキーに、パターン管理データベース１２０での検索を実行し、同じパターンで既に登録済みのものが存在する場合（５２０：Ｙ）、処理をステップ５２２に進め、他方、登録済みのものが存在しない場合（５２０：Ｎ）、処理をステップ５４０に進める。
【００３９】
なお、端末１９０で利用者１００から受け付ける要件とパターンの組の記述方法について制限がない場合、パターン管理データベース１２０への登録後以降の該当情報に関する検索性は悪くなる。そのため、上述の登録要求に基づいて要件の登録処理を実行するパターン統合装置１４０は、上述のステップ５７０、５２０に関して説明したように、パターン管理データベース１２０に既に登録されている要件やパターンに同一または類似のものがないか検索し、同じ要件とパターンがパターン管理データベース１２０に重複登録されないようにすると好適である。このうち、要件の登録処理（上述のステップ５７０）を一例に挙げ、その詳細例を図６に基づき以下に示す。
【００４０】
図６は本実施形態のシステム設計支援方法の手順例２を示すフロー図であり、具体的には、要件の登録（５７０）の詳細を表すフローチャートである。なお、パターン管理データベース１２０に、いくつかのパターンに結びつく要件が既に登録されているものとする
。また、例えばパターン統合装置１４０が、パターン管理データベース１２０の要件-パ
ターンテーブル２４０に登録済みの要件一覧を作成し、記憶装置１１にて保持しているものとする（９００）。
【００４１】
こうした状況において、端末１９０から要件とパターンの各情報を含む登録要求がパターン表示・編集装置１１０に送信され、これを受けたパターン統合装置１４０は、上述のステップ９００で保持した要件一覧を記憶装置１１から読み込み、これを端末１９０に返信し表示させる（９０５）。なお、端末１９０とパターン統合装置１４０との間の情報授受は、パターン表示・編集装置１１０が仲介することを前提としているが、説明の簡明化のため、以降の説明においてはパターン表示・編集装置１１０の仲介処理については省略するものとする（以下同様）。
【００４２】
一方、端末１９０は、上述の要件一覧を出力装置にて表示し、利用者１００に閲覧させることとなる。この利用者１００は、要件一覧中に登録したい要件があるか確認し、存在した場合、該当要件の達成基準を端末１９０にて入力する。この時、端末１９０は、利用者１００が指定した要件に関する達成基準の値を受け付ける（９１０）。例えば、利用者１００が登録を希望する要件が“ＷｅｂサーバのＨＴＴＰリクエストの応答性能”である場合、その達成基準としては、“平均３秒以内”などが該当する。よって、この場合の利用者１００は、達成基準である“平均３秒以内”を端末１９０で選択ないし入力することとなる。パターン統合装置１４０は、要件に応じた達成基準の選択リストも、上述の要件一覧中からの該当要件の選択事象に応じて端末１９０に表示するとすれば好適である。この場合、利用者１００は端末１９０にて、達成基準を選択リスト中より選択することになる。
【００４３】
他方、上述の要件一覧にて利用者１００が登録したい要件がなかった場合、この利用者１００は、要件名と要件の説明を端末１９０で入力することになる。端末１９０は、この要件名と要件の説明に関する入力を受け付けて、パターン統合装置１４０に送信する（９１２）。
【００４４】
この場合のパターン統合装置１４０は、端末１９０から上述の要件名および要件の説明の各情報を受けて、パターン管理データベース１２０を検索し、同様の説明を持つ要件が登録されているか否か確認する（９１４）。このように要件の説明もキーに含めての検索は、要件名だけでは同じかどうか判断がつかないが、要件の説明を踏まえることで、実際には登録済みでパターン管理データベース１２０に既に存在する要件かどうか確認するとの意図に対応している。例えば上記の例で、利用者１００が登録希望としてイメージする要件が“Ｗｅｂサーバの問合せに関するサービスレベル”で、この達成条件が“ＨＴＴＰの平均レスポンス３秒以内”であったとする。一方、パターン管理データベース１２０の例えば要件定義テーブル２５０にて、“ＷｅｂサーバのＨＴＴＰリクエストの応答性能”なる要件について、その要件達成基準２５３ないし説明２５５の値が“平均３秒以内”と登録されている場合、これは利用者１００の意図する達成基準とほぼ同等のことを意味していると言える。
【００４５】
上述の確認の結果、似たものが存在した場合（９１６：Ｙ）、パターン統合装置１４０は、利用者１００に確認を求める通知を端末１９０に送信する（９１７）。他方、上述の確認の結果、似たものが存在しなかった場合（９１６：Ｙ）、パターン統合装置１４０は、該当要件を新規の要件としてパターン管理データベース１２０への登録を実行する（９１８）。
【００４６】
上述の確認を求める通知を受けた端末１９０は、これを出力装置にて表示して利用者１００に閲覧させる。利用者１００は、パターン統合装置１４０が提示してきた要件が、自
分の意図する要件と同一か否かあらためて検討し、その結果を端末１９０にて入力する。この場合、端末１９０は、利用者１００による検討結果を受け付け、これをパターン統合装置１４０に返信する（９２０）。
【００４７】
これを受けたパターン統合装置１４０は、上述の検討結果が「同じでない」との内容である場合（９２２：Ｎ）、該当要件を新規の要件としてパターン管理データベース１２０への登録を実行する（９１８）。他方、上述の検討結果が「同じである」との内容である場合（９２２：Ｙ）、パターン統合装置１４０は、該当要件を要件一覧から選択し（９２４）、当該フローを終了する。
【００４８】
ここで図５のフローの説明に戻る。上述のような要件の登録（５６０〜５７０）に続いて、パターン統合装置１４０は、上述のパターン表示・編集装置１１０から受けたパターンの登録処理を実行する（５２０）。このステップ５２０において、パターン統合装置１４０は、端末１９０にて入力されたパターンについてパターン管理データベース１２０にて検索を実行し、入力されたパターンと同じパターンがパターン管理データベース１２０に登録済みか確認する。
【００４９】
ここで、パターン管理データベース１２０に登録される（されている）パターンの具体的なイメージを示す。図７は第１実施形態におけるパターンの構成例を示す図である。この図７にて例示するパターン３２０、パターン３３０は、共にＷｅｂサーバの構成に対応したパターンである。例えばパターン３２０は、ＯＳにＡｐａｃｈｅをインストールしたＷｅｂサーバを構成するものであり、当該パターンの構成要素である部品の関係を表すｃｏｎｓｔｒｕｃｔｉｏｎ１０１０と、インストールしたＡｐａｃｈｅの設定を表すＡｐａｃｈｅ  ｃｏｎｆｉｇｕｒａｔｉｏｎ１０２０と、ＯＳの設定を表すＯＳ  ｃｏｎｆｉｇｕｒａｔｉｏｎ１０３０から構成される。ここで、ｃｏｎｓｔｒｕｃｔｉｏｎ１０１０、Ａｐａｃｈｅ  ｃｏｎｆｉｇｕｒａｔｉｏｎ１０２０、およびＯＳ  ｃｏｎｆｉｇｕｒａｔｉｏｎ１０３０にそれぞれ内包されるｒｅｑｕｉｒｅｄ  ｃｏｍｐｏｎｅｎｔ１０８０、１０８１、１０８２は、それぞれの構成要素が必要な部品の前提条件を示している。  例えば、ｒｅｑｕｉｒｅｄ  ｃｏｍｐｏｎｅｎｔ１０８２は、ＯＳの前提条件であるため、このパターンをデプロイする先として、どういうハイパーバイザやどういうネットワーク構成やどういう運用があるべきかなどが定義されている。こうしたｒｅｑｕｉｒｅｄ
【００５０】
一方、パターン３２２は、上述のパターン３２０と類似しているが、動的にＷｅｂページを生成する機能のために実装したＰＨＰの設定を表すＰＨＰ  ｃｏｎｆｉｇｕｒａｔｉｏｎ１０６０を更に含んでいる。
【００５１】
パターン３２０、３２２がそれぞれ含んでいるｒｅｑｕｉｒｅｄ  ｃｏｍｐｏｎｅｎｔは、ＭＵＳＴ（絶対必要）や、ＯＰＴＩＯＮＡＬ（あってもよい）など、前提条件としての必要度がレベル分けされていてもよい。ここで挙げたパターンは、ＸＭＬやＹＡＭＬなど、機械的に処理可能な言語であれば、記載方法の違いは本発明の効果に影響しないため任意で良い。また、パターンの記述形式としては、ＯＳやソフトウェアなどの部品の型定義ができ、かつその設定が記述できることと、部品間の関係についても同様に型定義ができ、その設定を記述できる能力のある記述形式であればよい。こうした記述形式としては、ＯＡＳＩＳ標準のＴＯＳＣＡや、ＤＭＴＦ標準のＯＶＦ等が該当する。
【００５２】
上述のステップ５２０での処理にて、図７に例示したパターン３２０とパターン３２２といったパターン同士の同一性について確認することとなる。ここで、「パターンが同じ」とは、パターンが定義する内容をクラウドサービス上で実装した場合、同じＩＴシステムが再現できる、と同義である。したがって１つでも異なる部品やパラメータがパターン間に存在する場合、それぞれのパターンを実装しても同じＩＴシステムは再現できず、両
者は同じパターンとは見なされない。図７で例示したパターン３２０、３２２の間であれば、ＰＨＰ  ｃｏｎｆｉｇｕｒａｔｉｏｎ１０６０の存在有無により両パターンは同一でないと言える。勿論、パターン３２０、３２２がそれぞれ含んでいるｒｅｑｕｉｒｅｄ  ｃｏｍｐｏｎｅｎｔの内容の相違についても異同の判定基準となる。但し、パターン中での記述の順番が異なるだけで内容が同じ場合は、各パターンにより同じＩＴシステムが再現されるため同じパターンとみなす（記述の順番に依存した制約が存在しない場合）。
【００５３】
上述のステップ５２０の結果、パターン管理データベース１２０にて同じパターンがないと判定した場合（５２０：Ｎ）、パターン統合装置１４０は、処理をステップ５２２に進め、パターンの新規登録のための処理を実行する。本実施形態においては、パターン間で利用関係が存在するケースがあり、パターン単体だけでなく、そうした利用関係にあるパターン同士の組合せについても実績管理することで、複数のパターンを組合わせてシステム設計・構築した際のテスト工数削減を可能としている。これは、部品の再利用性やメンテナンス性を考慮した場合、ある程度の細粒度で管理していないと、設定の変更や部品のアップデートに際して、多大な工数がかかることを踏まえている。例えば、ＯＳとＤＢソフトウェアとＷｅｂサーバソフトウェアから構成されるパターンにおいて、ＯＳのアップデートが発生した場合、このパターン全体の見直しが必要になる。そこでＷｅｂサーバソフトウェアだけが異なる別のパターンがあったとしても、パターンが異なることから、前のパターンに含まれるＯＳとＤＢソフトウェアの見直し結果を流用することは難しい。本実施形態では、ＯＳとＤＢ、ＯＳとＷｅｂサーバなど、粒度を細かくした場合に、部品間の関係を実績として評価できるため、アップデートしたＯＳとＤＢの関係に対して実績として高い評価のあるパターンがあれば、その設定を流用することで複雑なパターンがあってもその見直しが容易になる。
【００５４】
ステップ５２２において、パターン統合装置１４０は、入力されたパターンとパターン管理データベース１２０内のパターンとを比較し、同じ機能ブロックを持つパターンがある場合、両者の関係を「Ｅｘｃｅｓｓ」としてパターン管理データベース１２０のパターン組合せテーブル４７０（後述）にて登録する（５２２）。ここで、「同じ機能ブロックを持つ」とは、同じ型定義の構成要素（部品）を持つことを意味する。例えば、ＯＳとＷｅｂサーバとＤＢからなるパターンと、ＯＳとＷｅｂサーバからなるパターンは、同じ機能ブロック、すなわち「ＯＳ」と「Ｗｅｂサーバ」をそれぞれ持つため、これらパターンの関係を「Ｅｘｃｅｓｓ」としてパターン組合せテーブル４７０に登録することとなる。例えば、或るＩＴシステムの各要件に応じて利用関係にあるパターン同士で、同じ機能ブロックを持っている場合、すなわち関係が「Ｅｘｃｅｓｓ」である場合、パターン間の矛盾や機能重複に由来する実装時のトラブルや非効率の原因となる恐れがある。
【００５５】
パターン統合装置１４０は、上述のステップ５２２における確認処理を、端末１９０から受けた他のパターンに関しても同様に行った後、入力されたパターンとパターン管理データベース１２０にあるパターンとが接続可能、すなわち利用関係になるか確認し、接続可能である場合、両者の関係を「ｓｔｏｎｅ」としてパターン組合せテーブル４７０に登録する（５２４）。「接続可能」であるかは、パターンに含まれるｒｅｑｕｉｒｅｄ  ｃｏｍｐｏｎｅｎｔにより、あるパターンとあるパターンの接続が可能であったり、接続が要求されていることで判断する。
【００５６】
パターン統合装置１４０は、上述のステップ５２４における確認処理を、端末１９０から受けた他のパターンに関しても同様に行った後、入力されたパターンのうち残っているパターンを“Ｓｈｏｒｔ”としてパターン組合せテーブル４７０に登録する（５２６）。ただし、パターン数が多くなることが見込まれ、パターン管理データベース１２０のデータサイズを小さくしたい場合、関係性が定義されていないパターン同士を“Ｓｈｏｒｔ”であると見なしてもよい。この“Ｓｈｏｒｔ”は、パターン間で直接接続できない、すな
わちそのままでは利用関係になれない関係を指す。例えば、ＯＳとＷｅｂアプリの各パターンの間は、Ｗｅｂサーバやアプリ実行基盤（ｊａｖａ、ｐｈｐなど）のパターンが間に必要であり、このような場合、両者は直接繋がっていないと見なす。
【００５７】
続いてパターン統合装置１４０は、入力された要件とパターンの組合せと同じものが既に登録されていないか、パターン管理データベース１２０にて検索を実行し、同じものがなかった場合、新規な、要件とパターンとの関係性としてパターン管理データベース１２０の要件−パターンテーブル２４０に登録する。上述した一連の処理の終了後、パターン統合装置１４０は、登録完了通知を端末１９０に返す（５４１）。一方、端末１９０は、この登録完了通知を受けて出力装置に表示し（５３０）、処理を終了する。
【００５８】
こうして、パターン同士の関係について値が登録されたパターン組合せテーブル４７０の具体例を図８に示す。図８はパターン管理データベース１２０で管理されるパターン組合せテーブル４７０と、これに基づくパターン組合せ表４１０の例を示している。このうちパターン組合せテーブル４７０は、パターンの組合せを表す固有の識別子である組合せＩＤ４７１と、組合せ元のパターンを表すパターン名４７２と、組合せ先のパターンを表すパターン名４７３と、パターン名４７２と４７３から計算されるパターンの水準を表すパターンレベル４７４と、パターンベースのデプロイが成功した際にカウントアップするデプロイ成功実績４７５と、デプロイに失敗した際にカウントアップするデプロイ失敗実績４７６と、利用者がどれだけ多く利用したかを示す適用実績４７７と、デプロイが成功した際の評価である、平均評価４７８から構成される。
【００５９】
上述のパターン名４７２とパターン名４７３、適用実績４７７、パターン定義テーブル２７０に記載のパターン分類２７３を用いると、パターン間の関係は、パターン組合せ表４１０のように表現できる。このマトリクスに記載されている「Ｅｘｃｅｓｓ」、「Ｇｏｌｄ」などの文字は、上述の適用実績４７７を表している。この適用実績の具体的な構成は図９に示すとおりである。図９では８種類の各適用実績の間の関係を表している。ここで例示する適用実績は、パターン同士の組合せが可能であることが仕様上はわかっている「Ｓｔｏｎｅ」７３０、少なくとも１人の利用者がデプロイに成功し運用した実績に対応した「Ｂｒｏｎｚｅ  Ｐａｔｔｅｒｎ」７２５、１０人以上の利用者がおり、かつ高い評価を得ている「Ｓｉｌｖｅｒ  Ｐａｔｔｅｒｎ」７２０、利用者数１００人以上で、かつ高い評価を得ている「Ｇｏｌｄ  ｐａｔｔｅｒｎ」７１０、を含んでいる。また利用者数に関係なく、パターンの提供者が組合せを保証しているものは、「Ｓｕｐｐｏｒｔｅｄ  Ｐａｔｔｅｒｎ」７１５としている。また、仕様書に記載があっても、実際には使えないパターンは「ａｎｔｉ−Ｐａｔｔｅｒｎ」７３５としている。また、先に述べた「Ｅｘｃｅｓｓ」７４０と「Ｓｈｏｒｔ」７４５もここに含まれる。こうしたパターン組合せ表４１０を用いることで、あるパターンとあるパターンを組合わせて利用できるかを確認できる。
【００６０】
次に、設計、構築対象のＩＴシステムの要件に基づき、本実施形態のシステム設計支援方法により、要件それぞれを実現するパターンの特定と、或る要件について複数パターンを特定した場合のパターン間の組合せ利用の適性に応じたパターン特定の各処理を行う処理について説明する。
【００６１】
図１０は本実施形態のシステム設計支援方法の手順例３を示すフロー図であり、具体的には、要件の入力に対するパターンの選択処理の詳細を示すフローチャートである。この場合、新たにＩＴシステムの設計、構築を行おうとしている利用者１００が、端末１９０を通じて、設計、構築の対象となる新システムの要件を入力することとなる。そこで端末１９０は、この要件の入力を受け付け（６１０）、受け付けた要件をパターン表示・編集装置１１０を介してパターン検索装置１３０に送信する（６１１）。
【００６２】
これを受けたパターン検索装置１３０は、端末１９０にて入力された要件を元に、パターン管理データベース１２０を検索し、その要件を実現するパターンを要件−パターンテーブル２４０から検索する（６１５）。この検索の結果、端末１９０から指定された各要件を全て満たすパターンの組が見つかった場合（６２０：Ｙ）、パターン検索装置１３０は、特段のフラグを付与せず、上述の検索にて特定したパターンの情報を端末１９０に返信し（６２５）、利用者１００に提案することとなる。
【００６３】
一方、上述のステップ６１５の検索の結果、端末１９０にて入力された各要件の中で、実現するパターンが検索出来なかった、すなわち満たされないものがあった場合（６２０：Ｎ）、パターン検索装置１３０は、達成基準に関して、端末１９０にて入力された要件の達成基準よりも厳しいものを含めて、要件−パターンテーブル２４０にて再度検索する（６３０）。例えば、端末１９０にて入力された要件の達成基準が処理速度に関するもので、「平均応答速度３秒以下」であった場合に、この「平均応答速度３秒」より処理速度が早いもの（例：平均応答速度１秒以下）も含めて、要件−パターンテーブル２４０にて検索を行う。
【００６４】
上述の検索の結果、端末１９０から指定された各要件を全て満たすパターンの組が見つかった場合（６３５：Ｙ）、パターン検索装置１３０は、上述のステップ６３０における要件の（達成基準の）厳格化によって新しく特定できたパターンに、“ｏｖｅｒ＿ｓｐｅｃ”フラグをつけて端末１９０に返信し（６４０）、利用者１００に提案することとなる。
【００６５】
他方、上述の検索の結果、端末１９０から指定された各要件のうち、満たされないものがあった場合（６３５：Ｎ）、パターン検索装置１３０は、上述の要件の達成基準について、端末１９０にて入力された要件の達成基準よりも所定程度緩い（例：該当値が３０％低い）ものを含めて、要件−パターンテーブル２４０にて再度検索する（６４５）。例えば、端末１９０にて入力された要件の達成基準が処理速度に関するもので、「平均応答速度３秒以下」であった場合に、この「平均応答速度３秒」より処理速度が遅いもの（例：平均応答速度５秒以下）も含めて、要件−パターンテーブル２４０にて検索を行う。
【００６６】
上述の検索の結果、端末１９０から指定された各要件を全て満たすパターンの組が見つかった場合（６５０：Ｙ）、パターン検索装置１３０は、上述のステップ６３０における要件の（達成基準の）緩和によって新しく特定できたパターンに、“ｕｎｄｅｒ＿ｓｐｅｃ”フラグをつけて端末１９０に返信し（６５５）、利用者１００に提案することとなる。
【００６７】
他方、上述の検索の結果、達成基準を緩和した場合でも、端末１９０から指定された各要件のうち、満たされないものがあった場合（６５０：Ｎ）、パターン検索装置１３０は、対象の要件に“ｎｏ＿ｐａｔｔｅｒｎ”フラグをつけて端末１９０に返信し（６６０）処理を終了する。
【００６８】
なお、上述のステップ６１５、６３０、６４５の検索で特定したパターンの並び順（例：パターン検索装置１３０から端末１９０に返信する情報におけるパターンの表示位置の順）は、要件の達成基準（端末１９０にて入力されたもの）との差がより小さいもの、より実績が高いものを優先する。ここでのパターンの並び順は、以下の式により表現される。
【００６９】
・端末１９０にて入力されたものと要件−パターンテーブル２４０で検索したもので、要件とパターンが一致している場合：
【００７０】
並び順ポイント＝パターンの実績・・・（式１５００）
【００７１】
・端末１９０にて入力された要件より厳しい達成基準のパターンが特定された場合：
【００７２】
並び順ポイント＝パターンの実績−（｜要求される要件の達成基準−特定したパターンに関連付いた要件の達成基準｜／要求される要件の達成基準）１／２・・・（式１５１０）
【００７３】
・端末１９０にて入力された要件より緩い達成基準のパターンが特定された場合：
【００７４】
並び順ポイント＝パターンの実績−｜要求される要件の達成基準−パターンに関連付いた要件の達成基準｜／要求される要件の達成基準・・・（式１５２０）
【００７５】
ただし、パターンの実績は、例えば、Ｇｏｌｄ＝１．３、Ｓｕｐｐｏｒｔｅｄ＝１．０、Ｓｉｌｖｅｒ＝０．７、Ｂｒｏｎｚｅ＝０．５、Ｓｔｏｎｅ＝０．２、ｅｘｃｅｓｓ＝０．１  ｏｔｈｅｒ＝０、などとして評価する。これらの計算式や点数の配分は、適用するシステムにより変更しても良い。
【００７６】
こうした検索で特定されたパターンを端末１９０にて認識した利用者１００は、実際にパターンを組合わせてデプロイを実行し、所望のＩＴシステムをクラウドサービス上で構築することになる。こうしたデプロイに伴う処理について以下に説明する。
【００７７】
図１１は第１実施形態のシステム設計支援方法の手順例４を示すフロー図であり、具体的には、パターンのデプロイと、デプロイを通じた実績の更新の仕組みを表すフローチャートである。ここで利用者１００は、上述の図１０のフローで示す検索にて特定され、端末１９０にて表示されたパターンを組み合わせて所望の要件を実現するＩＴシステムの構築指示を、端末１９０にて指示するものとする。
【００７８】
この場合、端末１９０は、上述のパターンの組合せに関する指示を受け付て、これをシステム設計支援装置１８０のパターン統合装置１４０に送信する（８１０）。なお、ここでの例では、端末１９０が、上述の図１０のフローでのステップ６２５等でシステム設計支援装置１８０から送信されたパターンの情報を、所定のＧＵＩ上にてパターン一覧として表示し、このパターン一覧のうちどのパターン（例：Ｗｅｂサーバ）とどのパターン（例：ＤＢサーバ）を接続するか、利用者１００からの判断、指示を受け付けることを前提とする。
【００７９】
一方、パターン統合装置１４０は、端末１９０から指定されたパターンの組合せが実際に好適に接続可能か、すなわち利用可能であるか確認し、その結果を端末１９０に返す（８１５）。この処理は、端末１９０から指定された接続元と接続先のパターンの各組合せについて、パターン統合装置１４０が、パターン組合せ表４１０を用いて評価するものとなる。この評価に際し、パターン統合装置１４０は、各パターンの組合せの適性すなわち妥当性を計るため、該当パターンの組合せに紐づけられたフラグにより、上述の式１５００、式１５１０、および式１５２０のいずれかを選択的に利用して判断することを想定出来る。
【００８０】
例えばパターン統合装置１４０は、パターン組合せ表４１０における、「Ｗｅｂサーバ」に関する「パターンＡ」と「ＤＢサーバ」に関する「パターンＤ」の組合せについて、いずれのパターンにもフラグが付与されていない場合に式１５００を採用し、「Ｓｈｏｒｔ」すなわち「ｏｔｈｅｒ」のパターン実績の値である「０」を算定する。また同様に、
パターン統合装置１４０は、パターン組合せ表４１０における、「Ｗｅｂサーバ」に関する「パターンＡ」と「ＤＢサーバ」に関する「パターンＥ」の組合せについて、いずれのパターンにもフラグが付与されていない場合に式１５００を採用し、「Ｂｒｏｎｚｅ」のパターン実績の値である「０．５」を算定する。また、パターン統合装置１４０は、パターン組合せ表４１０における、「Ｗｅｂサーバ」に関する「パターンＢ」と「ＤＢサーバ」に関する「パターンＤ」の組合せについて、「パターンＢ」に関して“ｕｎｄｅｒ＿ｓｐｅｃ”フラグが付与されており、また、「Ｗｅｂサーバ」に関して要求される要件の達成基準が“３”、「パターンＢ」に関連付いた要件の達成基準が“５”であった場合、“ｕｎｄｅｒ＿ｓｐｅｃ”フラグに応じて式１５２０を採用し、「Ｇｏｌｄ」のパターン実績値「１．３」−｜３−５｜／３＝１．３−０．６７＝０．６３を算定する。また、パターン統合装置１４０は、パターン組合せ表４１０における、「Ｗｅｂサーバ」に関する「パターンＢ」と「ＤＢサーバ」に関する「パターンＥ」の組合せについて、「パターンＢ」に関して“ｕｎｄｅｒ＿ｓｐｅｃ”フラグが付与されており、また、「Ｗｅｂサーバ」に関して要求される要件の達成基準が“３”、「パターンＢ」に関連付いた要件の達成基準が“５”であった場合、“ｕｎｄｅｒ＿ｓｐｅｃ”フラグに応じて式１５２０を採用し、「Ｓｉｌｖｅｒ」のパターン実績値「０．７」−｜３−５｜／３＝０．７−０．６７＝０．０３を算定する。  パターン統合装置１４０は、こうして算定した値が所定の基準値（例：０．６）以上であるパターンの組合せが、実際に接続可能と特定し、その結果を端末１９０に返すこととなる。上述の例であれば、「Ｗｅｂサーバ」と「ＤＢサーバ」に関して、「パターンＢ」と「パターンＤ」の組合せが接続可能な好適な組合せとして特定し、この情報を端末１９０に返すこととなる。なお、上述の基準値は、例えば１．０以上であることが望ましいが、設計、構築対象となるＩＴシステムの用途等により適宜に設定すれば良い。
【００８１】
また、パターンの組合せの利用可能性について上述のように式を用いて検証する処理ではなく、該当組合せに関してパターン組合せ表４１０に登録された実績、すなわち、Ｇｏｌｄ＝１．３、Ｓｕｐｐｏｒｔｅｄ＝１．０、Ｓｉｌｖｅｒ＝０．７、Ｂｒｏｎｚｅ＝０．５、Ｓｔｏｎｅ＝０．２、ｅｘｃｅｓｓ＝０．１  ｏｔｈｅｒ＝０、の値の大きさでのみ評価するとしてもよい（当然ながら、値が大きいほど利用可能性に優れる）。
【００８２】
他方、パターン統合装置１４０から上述の指定パターンの組合せに関する利用可能性に関する確認結果を受けた端末１９０は、これを出力装置にて表示し、利用者１００によるデプロイ可否の最終指示を受け付ける（８２０）。利用者１００が該当パターンの組合せに関してデプロイすると判断し、その指示を端末１９０にて入力したとする。
【００８３】
この場合、端末１９０は、デプロイ実行の指示を受けて（８２５：Ｙ）、これをパターン実行装置１５０に通知する（８２６）。この通知を、パターン統合装置１４０を介して受けたパターン実行装置１５０は、端末１９０にて指定された該当パターンのデプロイを所定のアルゴリズム（クラウドサービスの事業者等が予め定めた手順）にてクラウドシステム１６０に対して実行する（８３０）。
【００８４】
この処理により、エラー発生等の問題も生じず実際にデプロイに成功した場合、（８３５：Ｙ）、その旨をパターン実行装置１５０から通知されたパターン統合装置１４０は、パターン組合わせテーブル４７０における、該当組合せのレコードにおけるデプロイ成功実績４７５の値をカウントアップする（８５５）。また、他にもデプロイすべき組合せがある場合は、利用者１００が端末１９０にて指示を行い、上述のステップ８１０から処理を再実行することとなる（８６０）。
【００８５】
他方、上述のパターン実行装置１５０において、クラウドシステム１６０へのデプロイ処理に失敗した場合（８３５：Ｎ）、その旨の通知をパターン実行装置１５０から受けた
パターン統合装置１４０は、パターン組合せテーブル４７０における、該当組合せのレコードにおけるデプロイ失敗実績４７６の値をカウントアップし（８４０）、デプロイ失敗の旨を端末１９０に通知する（８４５）。これを受けた端末１９０は、デプロイ失敗となった旨を該当パターンの組合せに関して表示し、利用者１００からの新しい組合せに関する指示を受付け（８５０）、処理を上述のステップ８１０に戻す。
【００８６】
これら一連の操作により、要件に応じたパターンがクラウドシステム１６０にデプロイされ、実装されることとなったシステムは、上述の利用者１００により利用されることとなる。この利用者１００は、該当システムの利用に伴って判断した評価を端末１９０にて入力する。一方、端末１９０は、この評価入力を受け付けて（８６５）、これをパターン組合せテーブル４７０における、該当組合せのレコードにおける平均評価４７８に登録する（８７０）。こうした評価は、例えば１０点満点とし、ベストプラクティスとして推奨する場合を１０点、変更なく継続的に利用できた場合を９点、いくつかの項目の変更は伴うものの、パターン化の効果があると判断できるものは７点、パターン化しても設計工数は大きく変わらないが、構築など全体的に効果がある場合は５点、全体的な工数がむしろ増える場合は３点として登録を行う。この点数の配分は、適用するシステムにより変更しても良い。この変更を受けて、パターン統合装置１４０は、パターン組合わせテーブル４７０の適用実績４７７の値を変更するとしても良い（８７５）。
【００８７】
以上説明したシステム設計支援技術を用いることで、利用者１００は、複数の要件に基づき、複数のパターンが選択される状況において、過去の実績を用いてパターンの組合せに関する検証作業の手間、コストを低減することが可能になる。
＜第２実施形態＞
【００８８】
上記の第１実施形態は、オンプレミスのシステムとクラウドシステムの双方に適用可能なものであるが、特にクラウドシステムの特徴に会わせたパターンの組合せを行う場合を第２実施形態として以下に説明する。第１実施形態でも説明したように、事業者がクラウドシステム１６０に備わるハードウェア或いはソフトウェア等の各種リソースをサービスとしてユーザに提供する形式をクラウドサービスと定義する。こうしたクラウドサービスの基盤側の詳細仕様は、利用者１００側にオープンになるとは限らず、またクラウドサービスの仕様が非公開下で変更になる場合もある。従ってクラウドサービスに対して上述のパターンをデプロイすることを前提にする場合、パターンとクラウドサービスとの関係性についての定義も必要になる。
【００８９】
図１２は、第２実施形態のパターン管理データベース１２０が含むテーブル例を示す図であり、具体的には、パターン管理データベース１２０で管理する情報を、サービスとパターンの関係も併せて管理する構成とした例である。
【００９０】
こうした第２実施形態におけるパターン管理データベース１２０は、サービス定義テーブル２２０、およびサービス−パターンテーブル２１０を更に備えている。このうちサービス定義テーブル２２０は、クラウドサービス固有の識別子であるサービスＩＤ２２１をキーとして、該当クラウドサービスの定義名であるサービス名２２２、クラウドサービスとして提供される水準を表すサービス提供基準２２３、相対的なクラウドサービスの提供基準の厳しさを示すサービスレベル２２４、および該当クラウドサービスの具体的な説明である説明２２５の各値を対応付けたレコードの集合体となっている。
【００９１】
また、サービス−パターンテーブル２１０は、パターン定義テーブル２７０で定義されているパターンと、サービス定義テーブル２２０で定義されているクラウドサービスとの関係を表す固有の識別子である関係ＩＤ２１１をキーにして、該当クラウドサービスとパターンの関係性を表す関係式２１２、この組合せに対する登録要求が利用者から何回あっ
たかを表す登録要求数２１３、この関係性が何回利用されたかを表す利用回数２１４、この関係の説明である説明２１５、この関係の作成者である作成者２１６、この関係の作成日時である作成日時２１７の各値を対応付けたレコードの集合体となっている。
【００９２】
続いて、このようなパターン管理データベース１２０を備える第２実施形態のシステム設計支援装置１８０が実行するシステム設計支援方法の手順について説明する。図１３は、第２実施形態のシステム設計支援方法の手順例１を示すフロー図であり、具体的には、クラウドサービスとパターンとの関係を登録する際のフローチャートである。
【００９３】
ここでは、例えばクラウドサービスに関して相応の知見を備えた利用者１００が、システム設計、構築に利用したパターンについて、そのデプロイ先としたクラウドサービスとの関係性も含めてパターン管理データベース１２０への登録作業を行う状況を想定する。
【００９４】
この場合、端末１９０は、上述の利用者１００から入力されるパターンとクラウドサービスの組に関する情報を受け付けて、これを登録要求と共にシステム設計支援装置１８０に送信する（１１５０）。
【００９５】
一方、システム設計支援装置１８０のパターン表示・編集装置１１０は、端末１９０に提供した適宜なインターフェイス等を介して上述の登録要求が示すパターンおよびクラウドサービスの情報を受け付けて（１１６０、５１０）、これらをパターン統合装置１４０に通知する（１１６１、５１１）。
【００９６】
この場合、パターン統合装置１４０は、上述のパターン表示・編集装置１１０から通知されたクラウドサービスの情報（例：利用者１００が指定したクラウドサービスのＩＤや名称といった情報）をキーに、サービス定義テーブル２２０での検索を実行し、このサービス定義テーブル２２０に登録されているクラウドサービスのうち、上述の検索キーと、サービスＩＤ２２１やサービス名２２２の該当項目の値が一致するクラウドサービスを選択する（１１７０）。なお、各クラウドサービスは、パターン管理データベース１２０のサービス定義テーブル２２０において予め登録されているものとする。
【００９７】
なお、図１３のステップ５１０〜５２６の各処理内容は、図５におけるパターン登録のフローと同様であるため、ここでは説明を省略する。
【００９８】
次にステップ１１４０において、パターン統合装置１４０は、上述のステップ１１７０で選択したクラウドサービスと、該当パターン（ステップ５２０〜５２６の処理を経たもの）との組合せについて、サービス−パターンテーブル２１０にて検索を行い、同じ組合せが既に登録済みでない場合、登録を実行する（１１４０）。
【００９９】
上述した一連の処理の終了後、パターン統合装置１４０は、登録完了通知を端末１９０に返す（１１４１）。一方、端末１９０は、この登録完了通知を受けて出力装置に表示し（１１３０）、処理を終了する。
【０１００】
続いて、第２実施形態における要件の入力に対するパターンの選択処理の詳細について説明する。図１４は第２実施形態のシステム設計支援方法の手順例２を示すフロー図であり、具体的には、上述のごとくクラウドサービスとパターンの組合せについて登録がされた以降、新規に設計、構築対象となるＩＴシステムの要件に基づいてパターンを選択する際のフローチャートを表す。
【０１０１】
図１４に例示するフローは、要件からパターンを検索し特定するまでのステップについては図１０のフローと同様である。ただし、パターン検索装置１３０が、特定したパター
ンをデプロイ可能であるクラウドサービスを、サービス−パターンテーブル２１０において検索し、パターン表示・編集装置１１０を介して端末１９０に通知するステップは、第２実施形態に対応したものとなっており、第１実施形態における図１０のフローとは異なっている（１３１０、１３２０、１３３０）。
【０１０２】
これらステップ１３１０、１３２０、１３３０の実行により、端末１９０を操作する利用者１００は、自身が設計、構築しようとしているＩＴシステム向けの各パターンが、どのクラウドサービス上でデプロイ可能か明確かつ容易に認識出来るようになる。そのため、利用者１００が属する組織上のセキュリティポリシーなど、適宜な条件に応じて、随意なインフラ選択すなわちクラウドサービスの選択が行いやすくなる効果もある。
【０１０３】
なお、第２実施形態におけるデプロイに伴う処理も、第１実施形態において図１１に基づき説明した処理と同様であるため、説明は省略する。
【０１０４】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１０５】
こうした本実施形態によれば、例えば、クラウドサービス上でのパターンベースのシステム開発等の状況において、顧客が要求するシステム要件に一致するパターンが見つからない状況や、或いは逆に多く見つかったためにどれを選択すべきかわからない状況を解消し、ひいては、構築したシステムに関する人間による再テストや再設計の工数を効果的に抑制することが可能となる。
【０１０６】
すなわち、構築システムに関する複数の要件に適合し、効率的なシステム設計、構築が可能な、システム構築用の要素の組合せを提案できる。
【０１０７】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のシステム設計支援装置において、前記記憶装置は、前記第１のテーブルにおいて、過去設計されたシステムの設計情報と、当該設計情報が実現する要件と、当該設計情報の利用実績と、を対応付けて格納するものであり、前記演算装置は、前記複数の要件それぞれを実現する設計情報を特定する処理に際し、前記複数の要件それぞれを実現する設計情報を、利用実績の高さに応じて前記記憶装置の前記第１のテーブルで特定するものである、としてもよい。
【０１０８】
これによれば、要件に適合する設計情報のうち利用実績が高いもの、すなわち、多く利用されることで、該当要件を満たすシステムを問題無く構築、運用出来たことが明らかな設計情報を、ユーザに提示することが可能となる。
【０１０９】
また、本実施形態のシステム設計支援装置において、前記演算装置は、前記複数の要件それぞれを実現する設計情報を特定する処理の結果、いずれかの要件について、該当要件を実現し、かつ所定基準以上の利用実績がある設計情報が特定出来なかった場合、該当要件が示す規定を所定範囲で変更し、前記変更を行った要件を実現し、かつ所定基準以上の利用実績がある設計情報を前記第１のテーブルで特定する処理を更に実行するものである、としてもよい。
【０１１０】
これによれば、例えば、実際運用上は問題が生じない程度に緩和した要件を踏まえた、設計情報の選択、提示が可能となり、現実に即した、より効率的なシステム設計、構築が可能となる。
【０１１１】
また、本実施形態のシステム設計支援装置において、前記記憶装置は、前記第２のテー
ブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理するものであり、前記演算装置は、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定基準以下であり、前記設計情報の変更程度が許容範囲外であることを示す組合せとなる設計情報を除いた上で、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するものである、としてもよい。
【０１１２】
これによれば、要件に対する適性という観点では問題無い設計情報の組合せ利用が、実際のシステムにデプロイして運用しようとした際には、相当な追加工数が必要となったといった事例を踏まえて、そうした実際運用上は問題ある設計情報の組合せを、予め排除して選択を行うことが可能となる。この場合、ユーザは、要件に対する表面上の適性に惑わされることなく、システム設計に適切な設計情報を認識し適宜に活用することができる。
【０１１３】
また、本実施形態のシステム設計支援装置において、前記記憶装置は、前記第２のテーブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理するものであり、前記演算装置は、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記設計情報の変更程度が許容範囲内であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定し、前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して追加の設計情報が必要である旨の情報を更に出力するものである、としてもよい。
【０１１４】
これによれば、例えば、要件に対する適性という観点では問題無い設計情報の組合せ利用が、実際のシステムにデプロイして運用しようとした際には、設計情報を再利用することで得られる効率化の効果と比較して、許容できる程度の幾らかの追加工数が必要となったといった事例を踏まえて、そうした、幾らかの追加工数が必要ながら一定程度の効率化は期待できる設計情報の組合せをユーザに提示することが可能となる。この場合、ユーザは、要件に対する適性も利用実績も最上級の設計情報が得られない状況下であっても、相応の効率化は期待できる設計情報を認識し適宜に活用することができる。
【０１１５】
また、本実施形態のシステム設計支援装置において、前記演算装置は、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が所定基準以下であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定するものであり、前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して検証作業が必要である旨の情報を更に出力するものである、としてもよい。
【０１１６】
これによれば、例えば、要件に対する適性という観点では問題無い設計情報の組合せが
、実際には低頻度でしか利用されていないといった事例を踏まえて、実際の利用について信頼性が不足しながら、一定程度の効率化は期待できる設計情報の組合せをユーザに提示することが可能となる。この場合、ユーザは、要件に対する適性も利用実績も最上級の設計情報が得られない状況下であっても、信頼性は完全でないながら相応の効率化は期待できる設計情報を認識し適宜に活用することができる。
【０１１７】
また、本実施形態のシステム設計支援装置において、前記演算装置は、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が無いことを示す組合せとなる設計情報を特定するものである、としてもよい。
【０１１８】
これによれば、例えば、要件に対する適性という観点では問題無い設計情報の組合せが、実際には一度も利用されていないといった事例を踏まえて、そうした利用実績のなさを補うために、該当設計情報を用いたシステムに関する所定の検証作業が必要ながら、一定程度の効率化は期待できる設計情報の組合せをユーザに提示することが可能となる。この場合、ユーザは、要件に対する適性も利用実績も最上級の設計情報が得られない状況下であっても、検証作業は必要ながら相応の効率化は期待できる設計情報を認識し適宜に活用することができる。
【０１１９】
また、本実施形態のシステム設計支援装置において、前記演算装置は、前記複数の要件それぞれについて特定した設計情報を元に、クラウドサービス上にデプロイ可能な構成を生成し、前記生成したデプロイ可能な構成をクラウドサービスにデプロイする処理を更に実行するものである、としてもよい。
【０１２０】
これによれば、設計情報がクラウドサービスにより提供される状況において、上述のように特定した設計情報をクラウドサービス上にデプロイし、設計対象となったシステムを構築することが可能となる。
【０１２１】
また、本実施形態のシステム設計支援装置において、前記記憶装置は、前記第１のテーブルが含む設計情報をデプロイ可能なクラウドサービスの情報を格納した第３のテーブルを更に記憶するものであり、前記演算装置は、前記特定した設計情報を所定装置に出力する処理に際し、該当設計情報をデプロイ可能なクラウドサービスの情報を前記第３のテーブルで特定し、前記特定したデプロイ可能なクラウドサービスの情報も更に出力するものである、としてもよい。
【０１２２】
これによれば、ユーザは、上述のように特定した設計情報がどのクラウドサービス上でデプロイ可能であるか容易に認識可能となり、例えば、デプロイ可能なクラウドサービスのなかから、所望の条件に応じて随意にクラウドサービスを選択でき、設計業務の自由度やユーザビリティ等が向上する。
【０１２３】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記記憶装置の前記第１のテーブルにおいて、過去設計されたシステムの設計情報と、当該設計情報が実現する要件と、当該設計情報の利用実績と、を対応付けて格納して、前記複数の要件それぞれを実現する設計情報を特定する処理に際し、前記複数の要件それぞれを実現する設計情報を、利用実績の高さに応じて前記記憶装置の前記第１のテーブルで特定する、としてもよい。
【０１２４】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記複数の要件それぞれを実現する設計情報を特定する処理の結果、いずれかの要件について、該当要件を実現し、かつ所定基準以上の利用実績がある設計情報が特定出来なかった場合、該当要件が示す規定を所定範囲で変更し、前記変更を行った要件を実現し、かつ所定基準以上の利用実績がある設計情報を前記第１のテーブルで特定する処理を更に実行する、としてもよい。
【０１２５】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記記憶装置の前記第２のテーブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理して、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定基準以下であり、前記設計情報の変更程度が許容範囲外であることを示す組合せとなる設計情報を除いた上で、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定する、としてもよい。
【０１２６】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記記憶装置の前記第２のテーブルにおいて、前記第１のテーブルが含む設計情報同士を組合せ利用する適性について、該当組合せ利用の実績として、組合せ利用に伴って必要となった設計情報の変更程度の情報に基づき順位付けして管理して、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記設計情報の変更程度が許容範囲内であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定し、前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して追加の設計情報が必要である旨の情報を更に出力する、としてもよい。
【０１２７】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が所定基準以下であることを示す組合せとなる設計情報中より、前記適性順位がより高い組合せとなる設計情報を特定し、前記特定した設計情報を所定装置に出力する処理に際し、前記組合せを特定した設計情報の利用に際して検証作業が必要である旨の情報を更に出力する、としてもよい。
【０１２８】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記適性順位がより高い組合せとなる設計情報を前記複数の設計情報から特定するに際し、前記複数の設計情報それぞれと、前記複数の要件のうち他要件に関して特定された設計情報との組合せ利用の適性順位を、前記記憶装置の前記第２のテーブルで参照して、前記適性順位が所定順位以上の組合せとなる設計情報を前記複数の設計情報から特定出来なかった場合、前記適性順位が前記所定順位より下位の所定範囲内であり、前記組合せ利用実績が無いことを示す組合せとなる設計情報を特定する、としてもよい。
【０１２９】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記複数の要件それぞれについて特定した設計情報を元に、クラウドサービス上にデプロイ可能な構成を生成し、前記生成したデプロイ可能な構成をクラウドサービスにデプロイする処理を更に実行する、としてもよい。
【０１３０】
また、本実施形態のシステム設計支援方法において、前記情報処理装置が、前記記憶装置において、前記第１のテーブルが含む設計情報をデプロイ可能なクラウドサービスの情報を格納した第３のテーブルを更に記憶して、前記特定した設計情報を所定装置に出力する処理に際し、該当設計情報をデプロイ可能なクラウドサービスの情報を前記第３のテーブルで特定し、前記特定したデプロイ可能なクラウドサービスの情報も更に出力する、としてもよい。
【符号の説明】
【０１３１】
１０  システム設計支援システム
１１  記憶装置
１２  プログラム
１３  メモリ
１４  演算装置
１５  入力装置
１６  出力装置
１７  通信装置
２０  ネットワーク
１１０  パターン表示・編集装置
１２０  パターン管理データベース
１３０  パターン検索装置
１４０  パターン統合装置
１５０  パターン実行装置
１６０  クラウドシステム
１８０  システム設計支援装置
１９０  端末
２１０  サービス−パターンテーブル（第３のテーブル）
２２０  サービス定義テーブル
２３０  作成社管理テーブル
２４０  要件−パターンテーブル（第１のテーブル）
２５０  要件定義テーブル
２７０  パターン定義テーブル
４１０  パターン組合せ表
４７０  パターン組合せテーブル（第２のテーブル）
【図１】
0006286345.tif 000002
【図２】
0006286345.tif 000003
【図３】
0006286345.tif 000004
【図４】
0006286345.tif 000005
【図５】
0006286345.tif 000006
【図６】
0006286345.tif 000007
【図７】
0006286345.tif 000008
【図８】
0006286345.tif 000009
【図９】
0006286345.tif 000010
【図１０】
0006286345.tif 000011
【図１１】
0006286345.tif 000012
【図１２】
0006286345.tif 000013
【図１３】
0006286345.tif 000014
【図１４】
0006286345.tif 000015