(57)【要約】【課題】仕様・設計ミスによるやり直しをなくすことが可能なシステム開発支援装置を提供する。【解決手段】複数の基本設計案から設計ルールに従って詳細設計情報を複数生成する設計情報生成部と、詳細設計情報からアプリケーションテンプレートに従ってアプリケーションを生成するアプリケーション生成部と、非機能要件に関する検証仕様から検証ルールに従って検証情報を生成する検証情報生成部と、検証情報から検証コードテンプレートに従って検証コードを生成する検証コード生成部と、構成案、検証環境情報及び実行ルールに従って実行環境を構築する実行環境構築部と、構築された実行環境においてアプリケーションに対して検証コードの実行を行い、個別検証結果を出力する実行部と、個別検証結果を集計する集計部、判断指標への適合度を算出する適合度算出部、及び算出された適合度に基づいて最適解を出力する最終結果出力部と、を備える。【選択図】図１
2014071775.tif 000002
【特許請求の範囲】
【請求項１】
複数の基本設計案から設計ルールに従って詳細設計情報を複数生成する設計情報生成部と、
前記詳細設計情報からアプリケーションテンプレートに従ってアプリケーションを生成するアプリケーション生成部と、
非機能要件に関する検証仕様から検証ルールに従って検証情報を生成する検証情報生成部と、
検前記証情報から検証コードテンプレートに従って検証コードを生成する検証コード生成部と、
構成案、検証環境情報及び実行ルールに従って実行環境を構築する実行環境構築部と、
構築された前記実行環境において前記アプリケーションに対して前記検証コードの実行を行い、個別検証結果を出力する実行部と、
前記個別検証結果を集計する集計部、判断指標への適合度を算出する適合度算出部、及び算出された前記適合度に基づいて最適解を出力する最終結果出力部と、を具備する集計・解析部と、
を備えるシステム開発支援装置。
【請求項２】
前記実行部は、
前記集計・解析部からの停止要求に従って、実行中の前記検証コードを停止する個別検証部と、
前記集計・解析部が生成した候補構成案の実行可否を判断する実行可否判定部と、
前記アプリケーション生成部と前記検証コード生成部により生成された前記アプリケーション、および前記検証コードに対して、前記判断指標から前記検証コード内の実行計画を作成する実行計画作成部と、
前記実行順序ルールに従って、前記アプリケーションと前記検証コード間の実行順序を決定し、停止した前記検証コードの情報を元に実行予定の検証コードの再スケジュールを行う実行順序決定部を備え、
前記集計・解析部は、
前記検証コードの実行途中で算出された適合度から、最終的にその検証コードによる適合するかどうかを判断し、適合不可と判断された場合には、前記実行部へ停止要求を出す適合不可判断部と、
全ての前記検証コードが不適合と判断された場合に出力済みの前記個別検証結果から前記判断指標に適合すると予測される候補構成案を作成する候補案作成部と、
作成された前記候補構成案が実行可能かどうかを前記実行部に問い合わせた結果、実行不可と判断された場合に、前記判断指標の修正案を作成する判断指標修正部と、を備える請求項１に記載のシステム開発支援装置。
【請求項３】
複数の基本設計案から設計ルールに従って詳細設計情報を複数生成する設計情報生成部と、前記詳細設計情報からアプリケーションテンプレートに従ってアプリケーションを生成するアプリケーション生成部と、非機能要件に関する検証仕様から検証ルールに従って検証情報を生成する検証情報生成部と、検前記証情報から検証コードテンプレートに従って検証コードを生成する検証コード生成部と、構成案、検証環境情報及び実行ルールに従って実行環境を構築する実行環境構築部と、構築された前記実行環境において前記アプリケーションに対して前記検証コードの実行を行い、個別検証結果を出力する実行部と、前記個別検証結果を集計する集計部、判断指標への適合度を算出する適合度算出部、及び算出された前記適合度に基づいて最適解を出力する最終結果出力部と、を具備する集計・解析部と、を備えるシステム開発支援装置におけるシステム開発支援方法であって、
複数の基本設計案から設計ルールに従って詳細設計情報を複数生成するステップと、
前記詳細設計情報からアプリケーションテンプレートに従ってアプリケーションを生成するステップと、
非機能要件に関する検証仕様から検証ルールに従って検証情報を生成するステップと、
検前記証情報から検証コードテンプレートに従って検証コードを生成するステップと、
構成案、検証環境情報及び実行ルールに従って実行環境を構築するステップと、
構築された前記実行環境において前記アプリケーションに対して前記検証コードの実行を行い、個別検証結果を出力するステップと、
前記個別検証結果を集計するステップと、
判断指標への適合度を算出するステップと、
算出された前記適合度に基づいて最適解を出力するステップと、
を備えるシステム開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はシステム開発支援装およびシステム開発支援方法に関する。
【背景技術】
【０００２】
従来、ソフトウェア開発において仕様検討や設計の各工程で複数の案が考えられた場合に、影響が大きそうな一部分に関する試作による検証や数値計算に基づいた机上計算やソフトウェアで構築した擬似環境上でのシミュレーション結果を元に判断を行っている。
【０００３】
また、仕様等の検証に関しては、仕様書のモデル化を行った上で、そのモデル上での確認も行われている。例えば、入力された動作仕様に対して安全性や信頼性に関する解析を実施する技術がある。
【０００４】
しかしながら、従来の技術は、複数の仕様案や設計案の中から特定案を選択する際に、高い精度で最適解の選択を行うことが困難である。そのため、後の工程になって初めて間違いに気付き、大幅なやり直しが発生するという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−２００５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、仕様・設計ミスによるやり直しをなくすことが可能なシステム開発支援装置を提供することである。
【課題を解決するための手段】
【０００７】
実施形態のシステム開発支援装置は、複数の基本設計案から設計ルールに従って詳細設計情報を複数生成する設計情報生成部と、詳細設計情報からアプリケーションテンプレートに従ってアプリケーションを生成するアプリケーション生成部と、非機能要件に関する検証仕様から検証ルールに従って検証情報を生成する検証情報生成部と、検証情報から検証コードテンプレートに従って検証コードを生成する検証コード生成部と、構成案、検証環境情報及び実行ルールに従って実行環境を構築する実行環境構築部と、構築された実行環境においてアプリケーションに対して検証コードの実行を行い、個別検証結果を出力する実行部と、個別検証結果を集計する集計部、判断指標への適合度を算出する適合度算出部、及び算出された適合度に基づいて最適解を出力する最終結果出力部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態のシステム開発支援装置の全体構成の一例を示す図。
【図２】第１の実施形態のシステム開発支援装置の動作の一例を示すフローチャート。
【図３】第１の実施形態のシステム開発支援装置の入力される基本設計の一例を示す図。
【図４】第１の実施形態のシステム開発支援装置の入力される基本設計の一例を示す図。
【図５】第１の実施形態のシステム開発支援装置の設計ルールの一例を示す図。
【図６】第１の実施形態のシステム開発支援装置の設計ルールの一例を示す図。
【図７】第１の実施形態のシステム開発支援装置の詳細設計情報の一例を示す図。
【図８】第１の実施形態のシステム開発支援装置の詳細設計情報の一例を示す図。
【図９】第１の実施形態のシステム開発支援装置のアプリケーションテンプレートの一例を示す図。
【図１０】第１の実施形態のシステム開発支援装置のアプリケーションテンプレートを詳細設計情報に対して適用した結果のソースコードの一例を示す図
【図１１】第１の実施形態のシステム開発支援装置の検証仕様の一例を示す図。
【図１２】第１の実施形態のシステム開発支援装置の検証仕様の一例を示す図。
【図１３】第１の実施形態のシステム開発支援装置の検証ルールの一例を示す図。
【図１４】第１の実施形態のシステム開発支援装置の検証ルールの一例を示す図。
【図１５】第１の実施形態のシステム開発支援装置の検証ルールの一例を示す図。
【図１６】第１の実施形態のシステム開発支援装置の検証ルールの一例を示す図。
【図１７】第１の実施形態のシステム開発支援装置の検証ルールの一例を示す図。
【図１８】第１の実施形態のシステム開発支援装置の検証情報の一例を示す図。
【図１９】第１の実施形態のシステム開発支援装置の構成案の一例を示す図。
【図２０】第１の実施形態のシステム開発支援装置の実行ルールの一例を示す図。
【図２１】第１の実施形態のシステム開発支援装置の実行ルールの一例を示す図。
【図２２】第１の実施形態のシステム開発支援装置の検証環境情報の一例を示す図。
【図２３】第１の実施形態のシステム開発支援装置の検証環境情報の一例を示す図。
【図２４】第１の実施形態のシステム開発支援装置の個別検証結果の一例を示す図。
【図２５】第１の実施形態のシステム開発支援装置の個別検証結果の一例を示す図。
【図２６】第１の実施形態のシステム開発支援装置の個別検証結果の一例を示す図。
【図２７】第１の実施形態のシステム開発支援装置の判断指標の一例を示す図。
【図２８】第１の実施形態のシステム開発支援装置の特性情報の一例を示す図。
【図２９】第２の実施形態のシステム開発支援装置の構成案の一例を示す図。
【図３０】第２の実施形態のシステム開発支援装置の個別検証結果の一例を示す図。
【図３１】第２の実施形態のシステム開発支援装置の動作の一例を示すフローチャート。
【図３２】第２の実施形態のシステム開発支援装置の個別検証結果の一例を示す図
【発明を実施するための形態】
【０００９】
（第１の実施形態）
以下、本実施形態のシステム開発支援装置１０について図１乃至図２８を参照して説明する。
【００１０】
図１は、本実施形態のシステム開発支援装置１０の全体構成の一例を示す図である。図１に示すように、システム開発支援装置１０は、内部情報記憶部２０、内部情報管理部３０、制御部４０、生成情報管理部５０および生成情報記憶部６０を備える。
【００１１】
内部情報記憶部２０は、後述する設計情報生成部４１が利用する設計ルール２１、アプリケーション生成部４２が利用するアプリケーションテンプレート２２、後述する検証情報生成部４３が利用する検証ルール２３、後述する検証コード生成部４４が利用する検証コードテンプレート２４、後述する実行部４５が利用する実行ルール２５、実行順序ルール２６、検証環境情報２７、後述する集計・解析部４６が利用する特性情報２８を保持している。
【００１２】
設計ルール２１は、基本設計案で入力された簡易な情報から、アプリケーション６２を生成するのに十分な情報へと詳細化を行う変換規則である。検証を行う前に事前に登録を行っておくが、随時、追加・更新が可能である。
【００１３】
アプリケーションテンプレート２２は、アプリケーション６２を構成する各ソースコードを生成するための雛形である。
【００１４】
検証ルール２３は検証仕様で入力された簡易な情報から、検証コード６４を生成するのに十分な情報へと詳細化を行う変換規則である。検証を行う前に事前に登録を行っておくが、随時、追加・更新が可能である。
【００１５】
検証コードテンプレート２４は、検証コード６４を構成する各ソースコードを生成するための雛形である。
【００１６】
実行ルール２５は、構成案で入力された簡易な情報から、実際に実行を行う環境を構築するのに十分な情報に詳細化を行う変換規則である。検証を行う前に事前に登録を行っておくが、随時、追加・更新が可能である。
【００１７】
実行順序ルール２６は、各アプリケーション６２とその検証コード６４間の実行順序を決定する際の規則である。
【００１８】
検証環境情報２７は、検証に用いるハードウェアやソフトウェアに関する情報である。
【００１９】
特性情報２８は、基本設計で与えられる各項目情報が、判断指標の各項目に与える影響情報である。
【００２０】
内部情報管理部３０は、管理者からの要求に従って、各内部情報を内部情報記憶部２０に登録する。また、管理者からの要求に従って、各内部情報の追加、更新も行う。また、各部からの要求に応じて、内部情報記憶部２０に登録された情報の取得を行う。
【００２１】
制御部４０は、設計情報生成部４１、アプリケーション生成部４２、検証情報生成部４３、検証コード生成部４４、実行部４５、及び集計・解析部４６を備え、後述する生成情報を作成する。
【００２２】
設計情報生成部４１は、基本設計案を入力として、内部情報管理部３０を介して内部情報記憶部２０から取得した設計ルール２１に従って、詳細設計情報６１を生成する。生成した詳細設計情報６１は、アプリケーション生成部４２の入力とする。
【００２３】
アプリケーション生成部４２は、設計情報生成部４１が生成した詳細設計情報６１を入力として、内部情報管理部３０を介して内部情報記憶部２０から取得したアプリケーションテンプレート２２に従って、アプリケーション６２を生成する。生成したアプリケーション６２は、実行部４５の入力とする。
【００２４】
検証情報生成部４３は、検証仕様を入力として、内部情報管理部３０を介して内部情報記憶部２０から取得した検証ルール２３に従って、検証情報６３を生成する。生成した検証情報６３は、検証コード生成部４４の入力とする。なお、本実施形態では検証仕様として非機能要件に関する仕様が入力される。
【００２５】
検証コード生成部４４は、検証情報生成部４３が生成した検証情報６３を入力として、内部情報管理部３０を介して取得した検証コードテンプレート２４に従って、検証コード６４を生成する。生成した検証コード６４は、実行部４５の入力とする。
【００２６】
実行部４５は、実行環境構築部４５１、個別検証部４５２、実行計画作成部４５３、実行順序決定部４５４、実行停止部４５５、実行可否判定部４５６を備える。
【００２７】
実行環境構築部４５１は、構成案を入力として、内部情報管理部３０を介して内部情報記憶部２０から取得した検証環境情報２７及び実行ルール２５に従って、各実行環境を構築する。
【００２８】
実行部４５は、アプリケーション生成部４２が生成したアプリケーション６２及び検証コード６４が生成した検証コード６４を入力として、実行環境構築部４５１が構築した実行環境を用いて、アプリケーション６２とその検証コード６４及び実行環境の組である実行単位で実行を行い、個別検証結果６６として各アプリケーション６２及び各検証コード６４の結果を出力する。
【００２９】
実行計画作成部４５３は、判断指標で指定された優先順位等の情報を元に、各実行単位に対して個別測定項目の実行順序である実行計画６５を作成する。
【００３０】
実行順序決定部４５４は、実行順序ルール２６に従って、実行単位間の実行順序を決定する。実行停止部４５５による実行単位の停止後には、停止した実行単位の情報及び実行単位間の関連性に基づいて、検証実行が無意味であると判断された実行単位を削除し、実行単位間の実行順序の再スケジュールを行う。
【００３１】
実行停止部４５５は、集計・解析部４６の要求に従って、実行中の実行単位の処理を停止する。
【００３２】
実行可否判定部４５６は、集計・解析部４６からの要求に従って、入力された候補構成案に基づいた検証が実行可能かどうかの判断を行い、判断結果を集計・解析部４６に返す。実行可能な場合には、候補構成案を実行環境構築部４５１の入力とする。
【００３３】
集計・解析部４６は、集計部４６１、適合度算出部４６２、最終結果出力部４６３、適合不可判定部４６４、候補案作成部４６５、判断指標修正部４６６、成果物登録部４６７を備える。
【００３４】
集計部４６１は、実行部４５の出力結果である個別検証結果６６を随時集計する。
【００３５】
適合度算出部４６２は、集計された個別検証結果６６と特性情報２８を用いて判断指標に対する適合度の算出を行う。
【００３６】
最終結果出力部４６３は、判断指標に対して適合と判断された実行単位のうち、最も適合度の高い実行単位に対応する基本設計案と構成案を最適案として出力する。候補構成案に対する実行単位の個別検証結果６６が、判断指標に適合したら、その実行単位に対する基本設計案と候補構成案を候補案として出力する。判断指標修正部４６６によって判断指標の修正案が生成された場合には、修正案とその修正案に対する基本設計案及び構成案を修正案として出力する。
【００３７】
適合不可判定部４６４は、各実行単位の実行途中で、その時点の個別検証結果６６とその適合度、過去の検証結果から、対象実行単位が判断指標に対して適合可能かどうかの判断を行う。適合しないと判断された場合には、実行部４５に対して停止要求を出す。
【００３８】
候補案作成部４６５は、すべての実行単位の実行が完了しても、判断指標を満たす実行単位が存在しない場合に、その時点で実行した実行単位及び過去の検証結果に基づいて、判断指標を満たすと予測される候補構成案を作成する。
【００３９】
判断指標修正部４６６は、候補構成案が実行部４５で実行不可な場合に、実行済みの実行単位の検証結果及び判断指標に基づいて、判断指標の修正案を作成する。
【００４０】
成果物登録部４６７は、最終検証結果を出力後に、検証で生成した各成果物を関連付けた上で、生成情報管理部５０を介して、生成情報記憶部６０に登録する。
【００４１】
生成情報管理部５０は、集計・解析部４６からの要求に応じて、各部が生成した様々な情報を生成情報記憶部６０に登録し、生成情報記憶部６０から必要な情報の取得を行う。
【００４２】
生成情報記憶部６０は、設計情報生成部４１が生成した詳細設計情報６１、アプリケーション生成部４２が生成したアプリケーション６２、検証情報生成部４３が生成した検証情報６３、検証コード生成部４４が生成した検証コード６４、実行部４５が生成した実行計画６５及び個別検証結果６６を保持している。
【００４３】
図２を参照して、システム開発支援装置１０の処理について説明する。図２は、入力された複数の仕様案と判断指標に基づいて、最適案を出力する処理の一例である。
【００４４】
まず、システム開発支援装置１０に、要求仕様に基づいた基本設計案、構成案、検証仕様及び判断指標が本装置への入力として与えられる（ステップＳ１１）。
【００４５】
ここで、図３乃至図４を参照して、入力される基本設計案の一例について説明する。
【００４６】
基本設計として入力される情報としては、データ項目、画面項目、画面遷移、開発に用いるプログラミング言語やフレームワーク等のアーキテクチャやプラットフォームの情報、認証方式やログの出力方法やその内容など付加的な機能の情報が考えられる。ここでは、図３及び図４に示すようなデータ項目及びＷｅｂアプリケーションフレームワークに関する情報を基本設計の入力とし場合を示す。図３はデータ項目が格納されたテーブル名を示す。図４は、図３に示すテーブルに実際に格納されるカラム情報を示す。
【００４７】
具体的には、図３及び図４で示されたデータ項目は共通とし、Ｗｅｂアプリケーションフレームワークに関する情報として、以下のような３つの案が与えられたとする。
【００４８】
1. フレームワークを用いない（サーブレットを直接利用）
2. オープンソースのフレームワーク（ｓｔｒｕｔｓ）を用いる
3. 独自フレームワークを用いる
入力された基本設計案と内部情報記憶部２０の設計ルール２１とから、設計情報生成部４１によって詳細設計情報６１が生成される（ステップＳ１２）。
【００４９】
ここで、設計ルール２１について図５及び図６を参照して説明する。設計ルール２１は、標準画面遷移、クラス構成、共通で利用するツールやライブラリ等の情報からなり、図５に示すように、標準画面遷移図２１-1が与えられているとする。各Ｗｅｂアプリケーションフレームワークに対応するクラス構成２１-2は図６に示すように与えられているとする。図６は、フレームワークを用いない場合のクラス構成図の具体例が示されている。
【００５０】
すなわち、設計情報生成部４１は、上記基本設計案を入力として、フレームワークを用いない場合の詳細設計情報６１を出力する。この詳細設計情報６１の一例を図７及び図８に示す。図７は、画面遷移図を示す詳細設計情報６１-1の一例である。図８は、クラス構成図を示す詳細設計情報６１-2の一例である。
【００５１】
生成された詳細設計情報６１と内部情報記憶部２０のアプリケーションテンプレート２２からアプリケーション生成部４２によってアプリケーション６２が生成される（ステップＳ１３）。ここでは、アプリケーション生成部４２によって、図７及び図８に示した詳細設計情報６１からアプリケーションテンプレート２２を用いて、各ソースコードの出力を行う。なお、Ｗｅｂアプリケーションフレームワークによっては、設定ファイル類の出力も行う。
【００５２】
図９に、Ｍｏｄｅｌクラスに対するアプリケーションテンプレート２２の一例を示す。図９のプリケーションテンプレートを図６および図７に示す詳細設計情報６１に対して適用した結果のソースコードの一例を図１０に示す。
【００５３】
また、ステップＳ１１で入力された検証仕様と内部情報記憶部２０の検証ルール２３から検証情報生成部４３によって検証情報６３が生成される（ステップＳ１４）。
【００５４】
ここで、図１１乃至図１２を参照して、本実施形態の検証仕様について説明する。本実施形態における検証仕様は、性能、データ、リソース等に関する情報を指定する。
【００５５】
図１１に示すように、性能に関する情報を指定する検証仕様は、スループットや応答時間等に対する測定方法や測定対象処理に関する情報を指定する。
【００５６】
図１２に示すように、データに関する情報を指定する検証仕様は、検証時のデータ量等に関する情報を指定する。なお、図示しないがリソースでは、検証時に利用しているリソースに関する情報（ＣＰＵ利用率、メモリ使用量、ディスクアクセス、ネットワークアクセス等）に対する測定方法や測定対象に関する情報を指定する。また、検証ルール２３の一例を図１３乃至図１７（検証ルール２３-1〜検証ルール２３-5）に示す。
【００５７】
また、図１８にステップＳ１４で生成された検証情報６３の一例を示す。図１８は、図１１及び図１２に示す検証仕様に対して、図１３〜図１７に示す検証ルール２３を適用した結果の検証情報６３である。なお、検証情報６３は検証仕様を検証ルール２３に従って、詳細化したものである。
【００５８】
生成された検証情報６３と内部情報記憶部２０の検証コードテンプレート２４から検証コード生成部４４によって検証コード６４が生成される（ステップＳ１５）。なお、検証コード６４を生成する仕組みについては、ステップＳ１３において詳細設計情報６１からアプリケーションテンプレート２２を用いてアプリケーション６２を生成するのと、同様である。
【００５９】
また、ステップＳ１１で入力された構成案、内部情報記憶部２０の実行ルール２５及び検証環境情報２７から実行部４５の実行環境構築部によって各実行環境が構築される（ステップＳ１６）。
【００６０】
図１９に本実施形態における構成案の一例を示す。本実施形態の構成案は、マシン台数やスペック、各マシンで動作させるミドルウェア等に関するサーバ構成情報を指定する。本実施形態における処理は、Ｗｅｂアプリケーションフレームワークの違いによる単一構成での検証なので、図１９の構成案は単一マシンを用いた構成のみを指定する。
【００６１】
なお、構成案が１つの場合には、他案との比較がなく最大限にリソースを利用するのでスペックの入力の必要はない。また、構成案における台数が１台の場合には全サーバを同一サーバ内に構築するので、サーバ構成の入力の必要はない。
【００６２】
図２０及び図２１に、本実施形態における実行ルール２５の一例を示す。実行ルール２５は、構成案で指定された情報から、実際の実行環境を構築するために必要な情報に詳細化を行う変換規則であり、具体的なマシンスペックやサーバ構成が定義されている。なお、本実施形態では、仮想環境を利用し、各物理マシン内に複数の仮想マシンを構築することでより多くの異なる検証を可能にすることを想定している。ただし、複数台の物理サーバを用意し、各物理サーバを組み合わせことで様々な検証を行うことは可能である。
【００６３】
図２２及び図２３に、本実施形態における検証環境情報２７の一例を示す。検証環境情報２７は、利用可能な各物理マシンの情報、仮想マシンで利用可能なＯＳやミドルウェア等のソフトウェア情報など検証を行う環境の情報を表す。
【００６４】
図１９に示す構成案に対して、図２０及び図２１の実行ルール２５-1、２５-2を適用することで、検証用の物理サーバマシンの全リソースが割り当てられ、ｗｅｂサーバとしてＡｐａｃｈｅ、アプリケーション６２サーバとしてＴｏｍｃａｔ  ６．０、ＤＢサーバとしてＯｒａｃｌｅを利用する仮想マシンが実行環境として構築される。
【００６５】
なお、どのソフトウェアを利用するかに関しては、判断指標で想定しているソフトウェアとして指定されているものの優先度を高めた上で、実行環境として構築可能な構成に基づいて決定する。
【００６６】
ステップＳ１３で生成されたアプリケーション６２と、ステップＳ１５で生成された検証コード６４と、ステップＳ１６で構築された実行環境から、実行部４５の個別検証部によって検証実行が行われ、個別検証結果６６が出力される（ステップＳ１７）。
【００６７】
本実施形態では、実行部４５は、構築した環境に、フレームワークを利用しない場合、オープンソースを利用する場合、独自フレームワークを利用する場合のそれぞれに対応して生成されたアプリケーション６２を配置し、各アプリケーション６２に対応した検証コード６４の実行を行う。このときの実行結果の一例を図２４乃至図２６個別検証結果６６-1〜６６-3）に示す。
【００６８】
集計・解析部４６の集計部４６１によりステップＳ１７で生成された個別検証結果６６の集計が行われる（ステップＳ１８）。
【００６９】
ステップＳ１８で集計された個別検証結果６６、内部情報記憶部２０の特性情報２８及びステップＳ１１で入力された判断指標から、集計・解析部４６の適合度算出部４６２によって、判断指標に対する適合度が算出される（ステップＳ１９）。
【００７０】
図２７に、非機能要件としてコストと性能に関する情報、ライフサイクルに関する情報として機能拡張予定とＨＷ増強予定に関する情報が指定されている判断指標の一例を示す。
【００７１】
判断指標としては、コストや性能等の非機能要件や開発システムのライフサイクルに関する情報、想定しているシステムのＨＷ構成やＳＷ構成などの情報を指定する。
【００７２】
図２８は特性情報２８の一例である。なお、特性情報２８は、設計情報として与えられている情報の非機能要件に対する影響度を定義したものである。
【００７３】
本実施形態の特性情報２８は、フレームワークに関する情報に対する特性情報２８であり、コスト、保守性、拡張性について定義されている。
【００７４】
すべての検証が終わった段階で、判断指標に適合している中で、最も適合度の高い実行単位に対応する基本設計案及び構成案が、集計・解析部４６の最終結果出力部４６３によって出力される（ステップＳ２０）。
【００７５】
具体的には、図２４乃至図２６の個別検証結果６６に対して、図２７の判断指標及び図２８の特性情報２８が登録されている場合には、性能要件が絶対目標なので、独自フレームワークを利用する場合に対する適合度を算出した結果、不適合となり選択肢から除外される。
【００７６】
絶対目標である性能面に関しては満たしているので、フレームワークを利用しない場合もオープンソースを利用する場合も、適合度を算出した結果は、適合と判定される。ただし、ライフサイクルとして機能拡張予定で「段階的に拡張」となっているので、拡張性に関して有意差があるオープンソースのフレームワークを利用する場合の適合度が高く評価される。
【００７７】
従って、オープンソースのフレームワークを利用する場合の基本設計案及び構成案が最適案として出力される。これにより、システム開発支援装置１０の処理は終了する。
【００７８】
上述のように、本実施形態のシステム開発支援装置によると、開発対象のシステム要件に添った形での検証アプリケーション及び検証コードを自動生成することにより、実機を用いた定量的な検証を容易に実施することが可能となり、仕様・設計ミスによる大幅な手戻りをなくすことが可能となる。
【００７９】
（第２の実施形態）
図２９乃至図３２を参照して、第２の実施形態におけるある実行単位の実行途中での停止及び検証再開を行うシステム開発支援装置１０の一例について説明する。なお、第１の実施形態と同一の構成には同じ番号を付与し、説明は省略する。
【００８０】
本実施形態では、フレームワークは独自フレームワークを利用することで決定しており基本設計案は単一で、構成案は図２９に示すように複数のマシンが与えられた場合を例に示す。
【００８１】
まず、システム開発支援装置１０において候補案を出力する場合の処理について具体的に説明する。
【００８２】
まず、システム開発支援装置１０は、図２のステップＳ１１〜Ｓ１５までは第１の実施形態と同様の処理を行うため説明は省略する。
【００８３】
すなわち、単一の基本設計案及び図１１及び図１２に示す検証仕様に基づいて、アプリケーション６２と検証コード６４とが生成される。
【００８４】
次に、実行部４５はそれぞれの構成案に対する実行環境を構築する（ステップＳ１６）。
【００８５】
ここでは、３つのマシン構成案のうちスペックに関する実行ルール２５に従うとリソースを最も必要とするのは構成案３となる。したがって、実行部４５は実行環境を構築するにあたり構成案３の場合に最大限リソースを利用するように、中スペックに対して、５０％のリソースを割り当てた仮想マシンを構築し、最高スペック、高スペックには、それぞれ６７％、８３％のリソースを割り当てた仮想マシンを構築する。構成案３に対するサーバ構成は均等なので、１つの仮想マシンにｗｅｂサーバとアプリケーション６２サーバを設定し、もう１つの仮想マシンにＤＢサーバを設定する。
【００８６】
実行部４５は、検証コード６４内の各項目に対する測定順序である実行計画６５を作成する（ステップＳ１７）。実行計画６５は判断指標で入力された優先順位や事前に定義された情報などを元に決定を行う。
【００８７】
ここでは図１１の検証仕様で指定された応答時間とスループットが測定対象であるが、図２７の判断指標は、応答時間に関する記述しかなく、応答時間の優先度が高いと判断して、応答時間を先に測定することとする。
【００８８】
構築した実行環境に対する実行順序を実行順序ルール２６に従って決定する（ステップＳ１８）。
【００８９】
本実施形態では実行順序ルール２６として、以下のようなルールが定義されているとする。
【００９０】
・ 生成されたアプリケーション６２の複雑度の高いものが優先度高い
・ 多くのリソースを利用している実行環境のものが優先度高い
・    各マシンのスペックよりも台数を優先
すなわち、台数優先なので、構成案３が最初に実行され、構成案１と構成案２を比較すると構成案１の方が個別マシンのスペックが高いので、構成案１が先に実行される。従って、実行部４５が作成する実行順序は以下のような実行順序となる。
【００９１】
１．  構成案３
２． 構成案１
３． 構成案２
なお、ここでは、異なる基本設計案の入力がないので利用していないが、アプリケーション６２の複雑度を算出する方法としては、基本設計情報の設定に対して個々に定義しておく方法や、生成されたアプリケーション６２に対して静的解析を行う方法などが考えられる。
【００９２】
実行部４５は、各実行単位の検証実行を行う（ステップＳ１９）。図３０に、本実施形態置いて実行部４５２が、構成案３に基づいて構築された実行環境に生成済みのアプリケーション６２を配置し、検証コード６４の実行途中で得た個別検証結果６６の一例を示す。
【００９３】
各実行単位の実行途中で、集計・解析部４６の集計部４６１によって、随時個別検証結果６６の集計が行われる（ステップＳ２０）。
【００９４】
集計・解析部４６において、集計部４６１の集計結果を元に、適合度算出部４６２がその時点での判断指標に対する適合度の算出を行う（ステップＳ２１）。
【００９５】
ここで、本実施形態の集計・解析部４６は、ステップＳ２２に進む前に実行単位の実行途中での判断指標の修正を行うべきか判定する停止判定処理を行う。また、集計・解析部４６は、実行途中で停止中に、候補構成案の検証を行った上で、判断指標の修正を行う判断指標修正処理を行う。
【００９６】
図３１を参照して実行単位の実行途中での停止判定処理及び判断指標修正処理の一例を説明する。
【００９７】
まず、集計・解析部４６は、実行単位の実行途中であるかどうか判定する（ステップＳ２２１）。
【００９８】
実行単位の実行途中でない場合（ステップＳ２２１がＮｏ）、集計・解析部４６は、全実行単位を実行済みかどうか判定する（ステップＳ２３０）。ステップＳ２３０の判定の結果、全実行単位を実行済みでない場合、ステップＳ１９へ進む。ステップＳ２３０の判定の結果、全実行単位を実行済みである場合、ステップＳ２２へ進む。
【００９９】
実行単位の実行途中である場合（ステップＳ２２１がＹｅｓ）、集計・解析部４６において、集計部４６１の集計結果及び適合度算出部４６２の算出結果から、適合不可判定部４６４がその検証コード６４において、それ以降の検証を実施した場合に判断指標に適合する可能性があるかどうかの判定を行う（ステップＳ２２２）。
【０１００】
図３０に示す構成案３に基づく個別検証結果６６-4によると、集計・解析部４６は、集計・解析部４６が、この構成では判断指標を満たす見込みがないと判定する。
【０１０１】
集計・解析部４６において、適合不可判定部４６４の判定結果が、適合可となった場合（ステップＳ２２３がＮｏ）にはステップＳ２０へ進む。
【０１０２】
集計・解析部４６において、適合不可判定部４６４の判定結果が、適合不可となった場合（ステップＳ２２３がＹｅｓ）には、実行部４５の実行停止部４５５を介して実行を停止する（ステップＳ２２４）。
【０１０３】
すなわち、本実施形態では集計・解析部４６は実行部４５に対して停止要求を出す。
【０１０４】
実行部４５は、構成案３に対する検証コード６４の実行を止め、残りの構成案１及び構成案２の検証コード６４の実行を行うかどうかの判断を行う。ここでは、マシン台数は減少しているが、マシンのスペックは向上しており明確に判断指標を満たさないとは判断できないので、引き続き構成案１の検証の実行を行う。
【０１０５】
ここで、図３２に、構成案２に基づいて構築された実行環境に、生成済みのアプリケーション６２を配置し、検証コード６４を実行した場合の途中に得られる個別検証結果６６-5の一例を示す。
【０１０６】
この段階で、集計・解析部４６が、構成案３の場合と同様に構成案１の場合も判断指標を満たす見込みがないと判断し、実行部４５に対して停止要求を出す。
【０１０７】
実行部４５は、構成案１に対する検証コード６４の実行を止め、残りの構成案２の検証コード６４の実行を行うかどうかの判断を行う。構成案２は構成案１とマシン台数が同数でスペックが低下しているので、判断指標を満たす見込みはないので、検証実行は行わない。結果として、判断指標を満たすような構成案が存在しないと判定される。
【０１０８】
構成案作成部は、実行済みの個別検証結果６６とその適合度及び過去の検証結果から、判断指標を満たすと想定される候補構成案を作成する（ステップＳ２２５）。作成された構成案は構成案作成部から実行部４５へ入力される。
【０１０９】
具体的には、集計・解析部４６は、上記検証結果及び過去の検証内容を元に、以下のような候補構成案を作成する。
【０１１０】
・  構成案３の各マシンのスペックを１．８倍
なお、候補構成案の作成は１つではなく、複数の場合もありえる。
【０１１１】
続いて実行部４５の実行可否判定部４５６が、入力された構築案が実行可能かどうかの判定を行う（ステップＳ２２６）。入力された構築案が実行可能である場合（ステップＳ２２６がＮｏ）、ステップＳ１８に戻り、実行部４５の実行環境構築部が、生成された構成案に対する実行環境を構築し、実行部４５の実行順序決定部４５４が、生成された実行環境に対する実行単位間の実行順序を決定する。ステップＳ１９において、ステップＳ１８で生成された実行順序に従って、個別検証部が再実行を行う。
【０１１２】
その後、ステップＳ２０〜ステップＳ２２の処理が行われ、集計・解析部４６の最終結果出力部４６３が、候補案に対応する基本設計案及び構成案を最終検証結果として、出力する。
【０１１３】
入力された構築案が実行不可能である場合（ステップＳ２２６がＹｅｓ）、実行部４５から、集計・解析部４６へ入力された候補案の実行不可を通知する。
【０１１４】
上述した本実施形態の候補構成案は検証環境で利用可能なリソースの限界を超えており、実行部４５で実行不可と判定される。
【０１１５】
従って、集計・解析部４６は、候補構成案１で作成した構成案に基づいた物理マシンによるマシン構成及び応答時間を３５０ｍｓ→６５０ｍｓに修正した判断指標を最終的な出力とする。
【０１１６】
なお、想定されているＨＷ構成やＳＷ構成とは異なる環境しか構築できない場合には、事前に比較検証していた結果を元に、想定されている構成に基づいた判断指標の修正を行う。
【０１１７】
実行不可の通知を受けると、集計・解析部４６の判断指標修正部４６６によって、実行済みの個別検証結果６６とその適合度から、実際に行った構成案に対する判断指標の修正案を作成する（ステップＳ２２７）。
【０１１８】
集計・解析部４６の最終結果出力部４６３によって、基本設計案、構成案及び判断指標の修正案を最終出力結果として出力する（ステップＳ２２８）。これにより、システム開発支援装置１０における処理は終了する。なお、実行済みの個別検証結果６６が不足していて判断指標の修正が行えない場合には、不足している情報を取得可能な候補構成案を作成して、検証を行った上で、修正案を提示することも可能である。
【０１１９】
集計・解析部４６は、全前実行単位を実行済みかどうか判定する（ステップＳ２２９）。ステップＳ２２９の判定の結果、全実行単位を実行済みでない場合（ステップＳ２２９がＮｏ）、ステップＳ１８へ進む。ステップＳ２２９の判定の結果、全実行単位を実行済みである場合（ステップＳ２２９がＹｅｓ）、ステップＳ２２へ進む。
【０１２０】
上述のように、本実施形態のシステム開発支援装置によると、開発対象のシステム要件に添った形での検証アプリケーション及び検証コードを自動生成することにより、実機を用いた定量的な検証を容易に実施することが可能となり、仕様・設計ミスによる大幅な手戻りをなくすことが可能となる。また、候補構成案の検証を行った上で、判断指標の修正を行うことにより、より適切な検証アプリケーション及び検証コードを自動生成することが可能である。
【符号の説明】
【０１２１】
１０…システム開発支援装置、２０…内部情報記憶部、２１…設計ルール、２２…アプリケーションテンプレート、２３…検証ルール、２４…検証コードテンプレート、２５…実行ルール、２６…実行順序ルール、２７…検証環境情報、２８…特性情報、３０…内部情報管理部、４０…制御部、４１…設計情報生成部、４２…アプリケーション生成部、４３…検証情報生成部、４４…検証コード生成部、４５…実行部、４６…集計・解析部、５０…生成情報管理部、６０…生成情報記憶部、６１…詳細設計情報、６２…アプリケーション、６３…検証情報、６４…検証コード、６５…実行計画、６６…個別検証結果 
【図１】
2014071775.tif 000003
【図２】
2014071775.tif 000004
【図３】
2014071775.tif 000005
【図４】
2014071775.tif 000006
【図５】
2014071775.tif 000007
【図６】
2014071775.tif 000008
【図７】
2014071775.tif 000009
【図８】
2014071775.tif 000010
【図９】
2014071775.tif 000011
【図１０】
2014071775.tif 000012
【図１１】
2014071775.tif 000013
【図１２】
2014071775.tif 000014
【図１３】
2014071775.tif 000015
【図１４】
2014071775.tif 000016
【図１５】
2014071775.tif 000017
【図１６】
2014071775.tif 000018
【図１７】
2014071775.tif 000019
【図１８】
2014071775.tif 000020
【図１９】
2014071775.tif 000021
【図２０】
2014071775.tif 000022
【図２１】
2014071775.tif 000023
【図２２】
2014071775.tif 000024
【図２３】
2014071775.tif 000025
【図２４】
2014071775.tif 000026
【図２５】
2014071775.tif 000027
【図２６】
2014071775.tif 000028
【図２７】
2014071775.tif 000029
【図２８】
2014071775.tif 000030
【図２９】
2014071775.tif 000031
【図３０】
2014071775.tif 000032
【図３１】
2014071775.tif 000033
【図３２】
2014071775.tif 000034