(57)【要約】【課題】ソフトウェア構成上の不具合を容易に検出でき、ソフトウェアの開発検証を容易に行うことのできる情報システム開発試験支援システムを得る。【解決手段】過去に開発されたモデルシステム及びそれに対応するテストプログラム、試験評価データを有する開発試験支援データベースと、システムモデルで使用されるサンプルソフトウェア群を有するシステムテンプレートと、試験対象のソフトウェアとサンプルソフトウェアを組み合わせて試験対象のシステムを構築するとともに、実績のあるテストプログラムに基づいたテストプログラムを生成する試験コントローラと、新たな試験対象のシステムの実行結果とシステムモデルの試験評価データとの比較データを生成する評価検証システムを備えている。これにより、試験対象のシステムのソフトウェア構成上の不具合を容易に検出できる【選択図】図１
2006059108.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末とデータベースサーバとの中間に位置するＷｅｂサーバ及びアプリケーションサーバを備えたＷｅｂ３階層システムに適用されるソフトウェアのシステム開発を支援するための情報システム開発試験支援システムであって、
ソフトウェア機能と前記ソフトウェア機能に適する各サーバの利用形態とを関連づけたシステムモデルと、前記システムモデルに対応するソフトウェアの性能評価を行うテストプログラムと、前記システムモデルに対する前記テストプログラムの試験評価データとが蓄積された開発試験支援データベースと、
前記システムモデルのサンプルプログラム及びサンプルデータを含むサンプルソフトウェア群が蓄積されたシステムテンプレートと、
操作入力に基づいて、検査対象のソフトウェアに適合するシステムモデルを前記開発試験支援データベースから取り出す機能と、操作入力に基づいて、試験対象のソフトウェアに適合する前記システムモデルに対応するサンプルプログラム及びサンプルデータを前記システムテンプレートから取り出し、前記サンプルプログラム及びサンプルデータに前記試験対象のソフトウェアを組み込むことにより試験対象のシステムを生成する機能と、操作入力に基づいて、前記システムモデルに対応するテストプログラムを前記開発試験支援データベースから取り出し、取り出した前記テストプログラムを編集することにより前記試験対象のシステムに適合する新たなテストプログラムを生成する機能と、操作入力に基づいて、前記テストプログラムを用いて前記試験対象のシステムの評価を行う際に、Ｗｅｂサーバ、アプリケーションサーバ、及びデータベースサーバが実行するソフトウェアのそれぞれの応答時間及び入出力動作をモニタするための検証モジュールを生成する機能と、Ｗｅｂサーバ、アプリケーションサーバ、及びデータベースサーバに対して前記試験対象のシステム及び前記検証モジュールを搭載する機能と、生成された新たなテストプログラムを前記各クライアント端末に搭載する機能とを有する試験コントローラと、
前記各クライアント端末で前記新たなテストプログラムが実行されることにより、各サーバの検証モジュールで収集されるデータを実行結果として受け取り、試験対象のソフトウェアに適合するシステムモデルに対応する試験評価データを前記開発試験支援データベースから取り出し、前記実行結果と前記試験評価データとの比較データを生成する評価検証システムと
を備えた情報システム開発試験支援システム。
【請求項２】
請求項１に記載の情報システム開発試験支援システムにおいて、
前記開発試験支援データベースは、前記ソフトウェア機能に適する各サーバの利用形態として、処理すべきデータ量に応じて複数のシステムモデルが蓄積されたことを特徴とする情報システム開発試験支援システム。
【請求項３】
請求項１または２に記載の情報システム開発試験支援システムにおいて、
前記開発試験支援データベースは、システムモデルのデータとして、システムモデルが有するプログラム毎に、機能要件、入力データ構造、処理内容、出力データ構造、及び前記プログラムが搭載されるサーバ種別の情報を備えたことを特徴とする情報システム開発試験支援システム。
【請求項４】
請求項１ないし３のいずれか１項に記載の情報システム開発試験支援システムにおいて、
前記開発試験支援データベースは、開発システムのバージョン更新時に対応したそれぞれのシステムモデル、テストプログラム、及び試験評価データが蓄積され、
前記システムテンプレートは、開発システムのバージョン更新時に対応したそれぞれのサンプルプログラム及びサンプルデータを含むサンプルソフトウェア群が蓄積された
ことを特徴とする情報システム開発試験支援システム。
【請求項５】
請求項４に記載の情報システム開発試験支援システムにおいて、
前記評価検証システムは、試験対象のソフトウェアに適合するシステムモデルに対応する試験評価データとともに、バージョン更新時の試験評価データを前記開発試験支援データベースから取り出し、前記実行結果と取り出した前記複数の試験評価データとの比較データを生成することを特徴とする情報システム開発試験支援システム。
【請求項６】
請求項１ないし５のいずれか１項に記載の情報システム開発試験支援システムを、ネットワークを介して社外システムと接続することにより、社外システムのシステム開発を支援することを特徴とする情報システム開発試験支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂ３階層における情報システムの開発試験を支援し、その効率化を図る情報システム開発試験支援システムに関するものである。
【背景技術】
【０００２】
ユーザが利用するＷｅｂブラウザなどのフロントエンド（クライアント）と、データベース管理システムなどのバックエンドとの中間に位置し、ユーザからの要求を受け付けて、データベースなどの業務システムの処理に橋渡しする機能を持ったアプリケーションサーバを備えたＷｅｂ３階層システムがあり、システムの変更や更新、増強などが容易で、柔軟性が高く、業務システム等に広く利用されている。
【０００３】
また、従来のＷｅｂ３階層における情報システム開発試験支援システムとしては、試験すべきアプリケーションオブジェクトに対して複数のクライアントより同時にテストコマンドを送り、その実行応答時間を測定するものがある（例えば、特許文献１参照）。実行応答時間が異常に長く、実用に耐えない状態が発生した場合には、そのボトルネックの解析を行うことにより実行応答時間の改善を図ることができる。
【０００４】
【特許文献１】特開２００３−２７１４１８号公報（第５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術には次のような課題があった。実行応答時間が異常に長くなった原因が、サーバの性能あるいはネットワークの性能に起因するような場合には、比較的その原因が見つけやすい。しかし、先の原因が、ソフトウェアの構成上の欠陥に起因して発生している場合には、その原因の解析に多大の労力がかかる。特に、Ｗｅｂ３階層のソフトウェアシステムのように、各階層において種々のソフトウェア構造を有し、さらに、それぞれのソフトウェアがコンポーネント化されているような場合には、その原因の解析に手間がかかる。
【０００６】
一般的には、実行応答時間を測定するためのテストコマンドは、解析を行う者の経験と勘に基づいて、ソフトウェアの構成に合わせて種々の形で生成される。そして、解析を行う者は、その結果を見ながら試行錯誤的に解析を進め、問題点を抽出していく。このように、従来の解析法は、解析を行う者の経験や勘に依存し、かつ試行錯誤的に行う必要がある。
【０００７】
また、きわめて高度な性能を実現できたソフトウェア開発において、そのソフトウェア構成、一部のソフトウェアの機能には、その開発者固有の技術が含まれていることが多い。しかし、そのソフトウェアの内容は、開発した本人以外はなかなか理解しにくく、同様の機能を他の開発者が実現しようとした場合には、前のノウハウが活かされず、異なった内容の開発を行うことにより性能問題を起こすようなことも発生する。
【０００８】
本発明は上述のような課題を解決するためになされたもので、ソフトウェア構成上の不具合を容易に検出でき、ソフトウェアの開発検証を容易に行うことのできる情報システム開発試験支援システムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報システム開発試験支援システムは、クライアント端末とデータベースサーバとの中間に位置するＷｅｂサーバ及びアプリケーションサーバを備えたＷｅｂ３階層システムに適用されるソフトウェアのシステム開発を支援するための情報システム開発試験支援システムであって、ソフトウェア機能とソフトウェア機能に適する各サーバの利用形態とを関連づけたシステムモデルと、システムモデルに対応するソフトウェアの性能評価を行うテストプログラムと、システムモデルに対するテストプログラムの試験評価データとが蓄積された開発試験支援データベースと、システムモデルのサンプルプログラム及びサンプルデータを含むサンプルソフトウェア群が蓄積されたシステムテンプレートと、操作入力に基づいて、検査対象のソフトウェアに適合するシステムモデルを開発試験支援データベースから取り出す機能と、操作入力に基づいて、試験対象のソフトウェアに適合するシステムモデルに対応するサンプルプログラム及びサンプルデータをシステムテンプレートから取り出し、サンプルプログラム及びサンプルデータに試験対象のソフトウェアを組み込むことにより試験対象のシステムを生成する機能と、操作入力に基づいて、システムモデルに対応するテストプログラムを開発試験支援データベースから取り出し、取り出したテストプログラムを編集することにより試験対象のシステムに適合する新たなテストプログラムを生成する機能と、操作入力に基づいて、テストプログラムを用いて試験対象のシステムの評価を行う際に、Ｗｅｂサーバ、アプリケーションサーバ、及びデータベースサーバが実行するソフトウェアのそれぞれの応答時間及び入出力動作をモニタするための検証モジュールを生成する機能と、Ｗｅｂサーバ、アプリケーションサーバ、及びデータベースサーバに対して試験対象のシステム及び検証モジュールを搭載する機能と、生成された新たなテストプログラムを各クライアント端末に搭載する機能とを有する試験コントローラと、各クライアント端末で新たなテストプログラムが実行されることにより、各サーバの検証モジュールで収集されるデータを実行結果として受け取り、試験対象のソフトウェアに適合するシステムモデルに対応する試験評価データを開発試験支援データベースから取り出し、実行結果と試験評価データとの比較データを生成する評価検証システムとを備えたものである。
【発明の効果】
【００１０】
本発明によれば、検査対象のソフトウェアに適合するシステムモデルにおいて実績のあるソフトウェア、テストプログラム、試験評価データを活用して、試験対象のソフトウェアの性能評価を行うための試験対象のシステムの構築及びテストプログラムの生成を行うことにより、ソフトウェア構成上の不具合を容易に検出でき、ソフトウェアの開発検証を容易に行うことのできる情報システム開発試験支援システムを得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の情報システム開発試験支援システムの好適な実施の形態につき、図面を用いて説明する。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１における情報システム開発試験支援システムを含む全体の構成図である。開発試験支援システム１０と開発システム２０とは互いにネットワーク３０を介して接続されている。
【００１３】
開発試験支援システム１０は、ソフトウェアの開発試験を支援するものであり、開発試験支援データベース１１、システムテンプレート１２、試験コントローラ１３、評価検証システム１４、及び複数のクライアント端末１５で構成される。
【００１４】
また、開発システム２０は、Ｗｅｂサーバ２１、アプリケーションサーバ２２、及びデータベースサーバ２３の３種のサーバで構成される。また、それぞれのサーバには、実行するソフトウェアとともにそのソフトウェアの性能評価を行うことのできる検証モジュール２４が搭載される。
【００１５】
開発試験支援データベース１１は、システムモデルのデータが蓄積されたデータベースである。このシステムモデルとは、実現するソフトウェア機能と、そのソフトウェア機能に適した各サーバの利用形態とを関連づけたものである。実施の形態１におけるＷｅｂ３階層システムは、クライアント、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバよりなり、実現される機能は、種々のソフトウェア構成の組み合わせで構成される。
【００１６】
ここで、開発システムのソフトウェア機能を効率よく実現するためには、その利用形態として種々のソフトウェアをどのサーバに割り付けて実行すべきかを決めることが重要であり、開発試験支援データベース１１に蓄積されているシステムモデルの中から最も適したシステムモデルが、過去の経験に基づいて選択されることとなる。
【００１７】
システムモデルの具体例としては、例えば、データベースサーバ２３で大量のデータから必要なデータを抽出し、アプリケーションサーバ２２で抽出されたデータに対するデータ処理を施し、クライアント端末に必要な情報を提供するような複数のプログラムからなる業務アプリケーションソフトなどのモデルがあげられる。
【００１８】
さらに、開発試験支援データベース１１は、システムモデルのシステム試験検証のために必要なテストプログラム、及びこのテストプログラムで試験検証を行ったときの試験検証データがシステムモデルと関連づけられて蓄積されている。
【００１９】
システムテンプレート１２は、過去に開発された種々のシステムモデルに対応して、それらのシステムモデルで使用される標準的なサンプルソフトウェア群が蓄積されており、サンプルプログラム及びサンプルデータを備えている。この標準的なサンプルソフトウェア群の一例としては、データベースサーバ２３上にインストールされ、大量のデータから必要なデータを抽出するプログラム、アプリケーションサーバ２２上にインストールされ、抽出されたデータのデータ処理を施しクライアント端末に必要な情報を提供するプログラム、そしてこれらのプログラムの評価に使用されたデータがあげられる。
【００２０】
サンプルソフトウェアは、システムモデルで実行される機能の一部を実現するためのソフトウェアであり、必ずしもシステムモデルと１対１に対応するものではなく、複数のシステムモデルで共通に用いられるサンプルプログラムあるいはサンプルデータである場合もある。
【００２１】
試験コントローラ１３は、試験対象のプログラムを含む試験対象のシステムを構成し、さらに、このシステムに適合したテストプログラムを編集・生成し、各サーバに必要なプログラムを割り付けるものである。
【００２２】
具体的には、試験コントローラ１３は、試験対象のプログラムのソフトウェア機能及び利用形態にあったシステムモデルとして利用者によって選択されたシステムモデルを、開発試験支援データベース１１より抽出し、この抽出したシステムモデルで使用されるサンプルソフトウェアをシステムテンプレート１２から取り出す。
【００２３】
さらに、試験コントローラ１３は、利用者の操作に基づいて、取り出したサンプルソフトウェアの一部に試験対象のプログラムを組み込み、試験対象のシステムを構成する。すなわち、検証を行いたい試験対象のソフトウェアを、すでに試験・検証データがあり、実績のあるサンプルソフトウェアの一部として組み込むことにより、Ｗｅｂ３階層システムに対応する試験対象のシステムを構成する。
【００２４】
このように構成されたシステムに含まれるそれぞれのプログラムは、開発試験支援システム１０上のクライアント端末１５、開発システム２０上のＷｅｂサーバ２１、アプリケーションサーバ２２、データベースサーバ２３上に分けられて構成される。
【００２５】
試験コントローラ１３は、先に抽出したシステムモデルに対応するテストプログラムを開発試験支援データベース１１から取り出し、利用者の操作に基づいて、そのテストプログラムを参考にしながら試験対象のプログラムを含む試験対象のシステムのための新たなテストプログラムを作成する。作成された新たなテストプログラムは、各クライアント端末１５に送られる。
【００２６】
さらに、試験コントローラ１３は、利用者の操作に基づいて、新たなテストプログラムの実行時における各サーバでの応答時間及び入出力動作をモニタするための検証モジュール２４を作成し、各サーバに対して送信する。
【００２７】
このような手順を踏むことにより、現在開発している試験対象のプログラムに対する試験対象のシステム、及びそのシステムの検証を行うためのテストプログラムを、すでに実績のあるサンプルソフトウェア、及びそのサンプルソフトウェアの検証に用いたテストプログラムに基づいて作成することができる。
【００２８】
評価検証システム１４は、試験対象のシステムの評価を行うものである。評価検証システム１４は、試験対象のシステムに対する新たなテストプログラムの実行結果を、各サーバの検証モジュール２４から受信する。さらに、評価検証システム１４は、先に抽出したシステムモデルに関連づけられた試験評価データを、実績データとして開発試験支援データベース１１から取り出す。そして、評価検証システム１４は、新たなテストプログラムの実行結果と実績データとを比較して、比較データを生成し、試験対象となったシステムの評価を行う。
【００２９】
複数のクライアント端末１５は、試験コントローラ１３からテストプログラムを受け取り、試験対象となるシステムの試験を実行するものである。各クライアント端末１５から、このテストプログラムを同時に複数回発生させることにより、負荷状態を加味した性能試験が実施できる。
【００３０】
次に、開発システム２０側の各サーバについて説明する。Ｗｅｂサーバ２１は、クライアント端末１５からの要求に応じて、プログラムを実行する、あるいはアプリケーションサーバ２２、データベースサーバ２３と連携したトランザクション処理を実行する機能を有し、その実行結果を、ネットワーク３０を介してクライアント端末１５に送信するサーバである。
【００３１】
アプリケーションサーバ２２は、プログラムの実行環境やデータベースサーバ２３への接続機能、複数の処理を連結するトランザクション管理機能などを持ち、業務の処理の流れを制御するサーバである。
【００３２】
データベースサーバ２３は、複数のアプリケーションソフトあるいは利用者によって共有されるデータを管理するサーバである。
【００３３】
次に、図２に基づいて具体的な処理について説明する。図２は、本発明の実施の形態１における情報システム開発試験支援システムの処理の流れを示した図である。データベースサーバ２３で大量のデータから必要なデータを抽出し、アプリケーションサーバ２２で先に抽出されたデータに対するデータ処理を施し、クライアント端末１５に必要な情報を提供する業務アプリケーションソフトウェアを例に説明する。
【００３４】
今回開発する業務処理プログラムは、次のような条件及び機能を有することを想定する。まず、データベースサーバ２３には、Ａ、Ｂ、Ｃ、・・、Ｊ、・・、Ｔの属性に関連づけられた非常に大きなｍ行からなるデータが蓄積されている。以下の説明においては、このデータを表１と呼ぶ。そして、表１のｍ行のデータの中から、設定されたＡ、Ｂ、Ｃの条件を満たすデータを取り出し、このデータに対応するＪ、Ｔを抽出する。以下の説明においては、Ａ、Ｂ、Ｃ、Ｊ、Ｔからなるデータを表２と呼ぶ。さらに、表２のＪ、Ｔに対してある処理を施した値Ｆ（Ｊ、Ｔ）を求め、その統計処理を行うものと想定する。
【００３５】
このような業務処理プログラムに対応するシステムモデルを開発試験支援データベース１１より選択して取り出した結果、新たに開発する業務処理プログラムに適したソフトウェア構成として、図２に示すようにプログラム１及びプログラム２が必要とされると想定する。すなわち、利用者は、新たに開発する業務処理プログラムに対応するシステムモデルから、プログラム１及びプログラム２の開発が必要であることがわかる。
【００３６】
具体的には、プログラム１は、データベースサーバ２３上で実行され、表１のｍ行からなるデータに対してＡ、Ｂ、Ｃの値を行ごとにチェックし、条件に合うものだけをｐ１、・・・、ｐｍとして選び出し、これに付随するＪ、Ｔの値を取り出して表２のデータを生成するものである。このプログラム１は、たとえばＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）等の言語で書かれる。
【００３７】
また、プログラム２は、アプリケーションサーバ２２上で実行され、表２のデータをアプリケーションサーバ２２に転送し、Ｊ、Ｔの関数であるＦ（Ｊ、Ｔ）を求め、さらにＦ（Ｊ、Ｔ）の統計処理を行うものである。この処理は、クライアント端末１５に表示される画面に対する操作者の指示と連携して処理結果をクライアント端末１５に送付し、画面内に表示させながら進められる。
【００３８】
さらに、システムモデルに対応してすでに実績のあるものとしてシステムテンプレートに蓄積されているサンプルソフトウェアが、サンプルプログラムＳ１、サンプルプログラムＳ２、及びサンプルデータＳＤＡＴＡであったと想定する。図３は、本発明の実施の形態１における開発対象のプログラムとサンプルプログラムとの関係を示した図である。このサンプルプログラムＳ１は、膨大なデータ（この場合はｚ行からなるサンプルデータＳＤＡＴＡに相当）の中から特定のデータを抽出する点では今回開発すべきプログラム１と共通しているが、データ量あるいは抽出条件がプログラム１とは異なったものであると想定する。
【００３９】
さらに、このサンプルプログラムＳ２は、抽出されたデータに対して演算処理を施す点では今回開発すべきプログラム２と共通しているが、演算処理で使用するデータあるいはその処理内容がプログラム２とは異なったものであると想定する。具体的には、図３におけるサンプルプログラムＳ１は、ＳＤＡＴＡの中からＡ、Ｔ、Ｕ、Ｘからなるデータを抽出するプログラムであり、サンプルプログラムＳ２は、Ｕ、Ｘの関数であるＧ（Ｕ、Ｘ）を求め、さらにＧ（Ｕ、Ｘ）の統計処理を行うものを想定している。
【００４０】
今回開発すべきプログラム１及びプログラム２は、実績のあるサンプルプログラムＳ１及びサンプルプログラムＳ２の流用できる部分を活用して作ることが本来は望ましい。しかしながら、システムテンプレートに蓄積された過去のノウハウを含むソフトウェア（この場合はサンプルプログラムＳ１、サンプルプログラムＳ２、及びサンプルデータＳＤＡＴＡに相当）は、それを開発した担当者以外はその中身、効果等がなかなか理解できず、一部の機能が流用可能と思われる新たなソフトウェアの開発に対しても利用されにくく、また開発されたソフトウェアの評価、検証の際も、過去のものと機能や構成を比較して行うということはきわめて困難であることがしばしば発生する。
【００４１】
そこで、本発明においては、このような状況下で、新たに開発せざるを得ないプログラム１及びプログラム２の性能評価を、すでに実績のあるサンプルソフトウェアの評価データと比較することにより、ソフトウェアの構成上の欠陥に起因した性能劣化要因を容易に検出するものである。
【００４２】
このような性能評価を行うために、試験コントローラ１３は、利用者の操作に基づいて、選択されたシステムモデルに対応するサンプルソフトウェアとして、サンプルプログラムＳ１、サンプルプログラムＳ２、及びサンプルデータＳＤＡＴＡをシステムテンプレート１２より取り出す。
【００４３】
さらに、試験コントローラ１３は、利用者の操作に基づいて、取り出したサンプルプログラムＳ１、サンプルプログラムＳ２、及びサンプルデータＳＤＡＴＡと、開発したプログラム１及びプログラム２とを組み合わせて、試験対象のシステムを構成する。図４は、本発明の実施の形態１における試験対象のシステムの構成を示す図である。具体的には、サンプルプログラムＳ１及びサンプルプログラムＳ２の代わりにプログラム１及びプログラム２を組み込む。さらに、この組み込んだシステムに対してサンプルデータＳＤＡＴＡを適合できるようにするために、サンプルデータＳＤＡＴＡの行数をｍ、項目をＡ〜Ｔとなるように修正して、サンプルデータＳＤＡＴＡを表１のデータと等価になるような新たなデータＮＥＷＤＡＴＡを生成する。
【００４４】
このようにして新たに生成されたデータＮＥＷＤＡＴＡは、プログラム１及びプログラム２の評価を行うために使用できる。さらに、この生成されたデータＮＥＷＤＡＴＡは、実績のあるサンプルプログラムＳ１及びサンプルプログラムＳ２の評価に使用されたサンプルデータＳＤＡＴＡに基づいて生成されているため、等価なデータに基づく性能評価が可能となる。
【００４５】
このような処理の結果、プログラム１、プログラム２、及びデータＮＥＷＤＡＴＡからなる試験対象のシステムが構成されたことになる。そして、試験コントローラ１３は、プログラム１及びデータＮＥＷＤＡＴＡを、そのインストール先であるデータベースサーバ２３に送る。また、試験コントローラ１３は、プログラム２を、そのインストール先であるアプリケーションサーバ２２に送る。
【００４６】
次に、試験コントローラ１３は、新たに構成された試験対象のシステムのシステム試験検証を行うために、先に抽出したシステムモデルに対応するテストプログラム及びその評価結果である試験評価データを開発試験支援データベース１１より取り出す。さらに、試験コントローラ１３は、利用者の操作に基づいて、取り出されたテストプログラムを参考にしながら、このテストプログラムと同等の機能を有するテストプログラムとして、開発したプログラムを含む試験対象のシステムのための新たなテストプログラムを作成する。そして、試験コントローラ１３は、作成したテストプログラムを複数のクライアント端末１５に送る。
【００４７】
さらに、試験コントローラ１３は、利用者の操作に基づいて、新たなテストプログラムの実行に伴って、プログラム１及びプログラム２の応答時間及び入出力動作をモニタするための検証モジュール２４を作成し、それぞれの検証モジュール２４をデータベースサーバ２３、アプリケーションサーバ２２及びＷｅｂサーバ２１に送る。
【００４８】
複数のクライアント端末１５は、テストプログラムの実行を行う。同一のクライアントから複数回実行させるテストプログラムを組むことにより、負荷条件に合った試験を実施できる。このとき、Ｗｅｂサーバ２１、アプリケーションサーバ２２、データベースサーバ２３に搭載された検証モジュール２４は、それぞれのサーバでのプログラムの実行時間、他のプログラムとの受け渡しをモニタし、実行結果を評価検証システム１４に送る。
【００４９】
評価検証システム１４は、試験対象のシステムに対する新たなテストプログラムの実行結果を、各サーバの検証モジュール２４から受信する。さらに、評価検証システム１４は、先に抽出した試験評価データと今回の実行結果のデータとを比較して、比較データを生成し、試験対象となったシステムの評価を行う。具体的な評価は、次のようにして行うことができる。
【００５０】
今回開発したプログラム１の開発者が、システムテンプレート１２に蓄積された実績のあるサンプルプログラムＳ１の開発者と異なり、処理の高速化を実現したノウハウが活かされていない場合は、データベースサーバ２３内のデータＮＥＷＤＡＴＡから条件に合うデータを取り出す処理に問題が起こり、データベースサーバ２３での処理時間が、実績のある試験評価データと比べて大幅に劣化すると考えられる。
【００５１】
同様に、今回開発したプログラム２の開発者が、システムテンプレート１２に蓄積された実績のあるサンプルプログラムＳ２の開発者と異なり、統計処理の処理プログラムの実行形式に不具合がある場合は、アプリケーションサーバ２２の実行時間、クライアント端末１５とのデータのやり取りが、実績のある試験評価データと比べて大幅に劣化すると考えられる。
【００５２】
このようにして、実績のある試験評価データと実行結果とから生成された比較データに基づいた、利用者は、新たに開発したプログラム１あるいはプログラム２が、実績のあるサンプルプログラムと比べてデータのやり取り、あるいは処理の受け渡し等に非効率な面がないかどうかを容易に評価できる。検証モジュールによって得られるソフトウェアの構造上の評価データに基づいて、新たに開発したプログラム１及びプログラム２の構造上の欠陥を容易に把握することができる。
【００５３】
システムテンプレートに蓄積された過去のノウハウを含むサンプルソフトウェアは、それを開発した担当者以外はその中身、効果等がなかなか理解できず、一部の機能が流用可能と思われる新たなソフトウェアの開発に対しても利用されにくく、また開発されたソフトウェアの評価、検証の際も、過去のものと機能や構成を比較して行うということはきわめて困難である。
【００５４】
しかし、ソフトウェア内部の細かいノウハウを伝えることが困難な場合にも、そのサンプルソフトウェア、テストプログラム、及びその試験評価データを残すことは、比較的容易である。したがって、実績のあるソフトウェアのサンプルソフトウェア及びその試験評価データを蓄積しておくことにより、類似したシステムモデルのために新たに開発されるプログラムの評価検証を容易に実施することが可能となる。
【００５５】
実施の形態１によれば、過去の実績のあるソフトウェアのテンプレート、テストプログラム、試験データを一部利用、また参考にして、新たに開発したプログラム用のテストプログラムを作成して性能評価試験を行うことにより、ソフトウェア構成上の不具合を容易に検出できる情報システム開発試験支援システムを得ることができる。
【００５６】
なお、実施の形態１においては、プログラム１及びプログラム２を開発し検証する場合について説明したが、本発明の形態はこれに限定されるものではない。例えばプログラム２のみを新たに開発し、プログラム１を流用するような場合にも適用可能である。また、プログラム１及びプログラム２をともに開発する場合においても、開発過程においてどちらか一方のみにサンプルプログラムを適用して性能評価試験を行うことも可能である。
【００５７】
実施の形態２．
実施の形態１では、開発システムの利用形態に適合するシステムモデルが開発試験支援データベース１１の中に１つ登録されている場合について説明した。実施の形態２では、図１の開発試験支援データベース１１の中に、開発システムの利用形態に適合するシステムモデルが複数ある場合について説明する。
【００５８】
例えば、図２の例において、Ａの内容が関数で表され、それに対して別の表が付随しているような場合には、プログラム１は、実施の形態１のようにすべてデータベースサーバ２３で実行するのでなく、必要な部分をアプリケーションサーバ２２に転送して実行するほうが効率的である。
【００５９】
過去にこのような実績があれば、プログラム１及びプログラム２による業務管理プログラムを実行するのに適したシステムモデルとしては、項目Ａの内容により、プログラム１をデータベースサーバ２３上で行うように構成されたシステムモデル（実施の形態１の場合に相当）と、プログラム１をアプリケーションサーバ２２上で行うように構成されたシステムモデルの２種類があることとなる。
【００６０】
このような場合には、開発試験支援データベース１１内は、項目Ａの内容をパラメータとして持つことにより、２つのシステムモデルを登録することができる。一方、利用者は、推奨された２つのシステムモデルの中から、項目Ａの内容に応じて、より効率的なシステムモデルを選択して、それに基づくシステム構成、性能評価検証が実施できる。
【００６１】
実施の形態２によれば、処理するデータ構造の違いに応じて、複数のシステムモデルを提供する情報システム開発試験支援システムを得ることができる。これにより、処理するデータの内容に応じて、より効率的なシステムモデルの選択が可能になるとともに、そのシステムモデルにあったシステム構成を有するシステムの開発及び性能評価試験を容易に行うことができる。
【００６２】
実施の形態３．
実施の形態３では、システムモデルの有する機能、プログラムの処理内容、及びデータ構造等を利用者に対してわかりやすく表示できるシステムについて説明する。利用者が、最適なシステムモデルを選択する、あるいは選択したシステムモデルに対応した試験対象のシステムを構成するためには、利用者に対してシステムモデルの内容をわかりやすく表示することが重要となる。
【００６３】
図５は、本発明の実施の形態３におけるシステムモデルの表示例を示した図である。開発試験支援データベース１１は、システムモデルのデータとして、システムモデルが有するプログラム毎に、そのプログラムが有する機能要件、そのプログラムの入力データ構造、そのプログラムの処理内容、そのプログラムの出力データ構造、そのプログラムが搭載されるサーバ種別の情報を備えている。
【００６４】
このようなシステムモデルのデータに基づいて、図５に示すようなシステムモデルのソフトウェア構造記述を画面表示でき、利用者は、システムモデルの内容を容易に把握することができる。実績のあるソフトウェア内部の細かいノウハウを伝えることが困難な場合にも、図５に示すような簡略化さえた範囲でのソフトウェア構造記述を残すことは比較的容易である。
【００６５】
実施の形態３によれば、ソフトウェア構造記述に関するデータを蓄積したシステムモデルを用いることにより、利用者は、システムモデルの内部を容易に理解できる。これにより、プログラムの流れを理解しながら試験検証を行い、その課題を容易に抽出することができる。
【００６６】
実施の形態４．
実施の形態１では、同一の組織内でソフトウェア開発を支援するために、情報システム開発試験支援システムを利用する場合について述べた。実施の形態４では、本発明による情報システム開発試験支援システムを特定の企業内に設置し、その企業の顧客が開発中のシステムの検証に利用する場合について説明する。
【００６７】
図１に示した開発試験支援システムは、特定の企業の開発システムとシステムネットワークを介して接続できる。これにより、特定の企業で開発中のプログラムに対しても、開発試験支援データベース１１内に蓄積されたシステムモデル、テストプログラム、試験評価データと、システムテンプレート内に蓄積されているサンプルソフトウェアを活用して、性能評価試験を実施することができる。
【００６８】
なお、このような運用においては、クライアント端末１５は、特定の企業が有するクライアント端末を使用することも可能である。
【００６９】
実施の形態４によれば、本発明による情報システム開発試験支援システムは、システムネットワークを介して接続可能な開発システムに対しても容易に性能評価試験を行うことができる。これにより、開発したプログラムのソフトウェア構成上の不具合を容易に検出することが可能となり、顧客のソフトウェア開発の効率を向上させ、支援事業を行うことができる。
【００７０】
実施の形態５．
実施の形態１では、システムモデルあるいはサンプルソフトウェアとして、過去に開発された異なるシステムのデータを用いる場合を説明した。実施の形態５では、同一のシステムに対して、開発システムのバージョン更新時におけるデータを蓄積しておく場合について説明する。このバージョン更新時とは、例えば、過去の開発段階あるいは納入後の変更段階に相当する。
【００７１】
過去に開発された同一のシステムにおいて、最終的なシステムのデータだけではなく、調整段階あるいは納入後変更された各段階におけるシステムモデル、サンプルソフトウェア、テストプログラム、及び試験評価データを蓄積しておく。これにより、利用者は、開発しているシステムの性能評価を行うにあたって、種々のデータの中から適したものを選択でき、最適の検証システムを構成して性能評価を行うことができる。
【００７２】
実施の形態５によれば、開発システムのバージョン更新時におけるシステムモデル、サンプルソフトウェア、テストプログラム、及び試験評価データを蓄積しておくことにより、利用可能な実績データが増え、利用者は、その中から現在の開発システムに合ったものを選択して試験対象となるシステムを構成でき、適切な性能評価を実施することができる。
【００７３】
実施の形態６．
実施の形態５では、同一のシステムに対して、開発システムのバージョン更新時におけるデータを蓄積しておく場合について説明した。実施の形態６では、これらのデータを活用して、複数の試験評価データに基づいて開発システムの性能評価を行う場合について説明する。
【００７４】
実施の形態５で説明したように複数の段階における試験評価データが蓄積されている場合には、この中から１つを選択する以外に、複数の試験評価データを用いて、その試験評価データ間で変化しているデータを分析することにより、開発システムの性能評価を行うことができる。
【００７５】
具体的には、評価検証システム１４は、テストプログラムを実行することにより各サーバの検証モジュールから実行結果を受信するとともに、開発試験支援データベース１１内から、バージョン更新時に対応したその他の試験評価データを取り出す。そして、評価検証システム１４は、実行結果と複数の試験評価データを比較し、比較データを生成し、変化している部分を特定して利用者にその情報を提示することができる。
【００７６】
実施の形態６によれば、開発システムのバージョン更新時における試験評価データを蓄積しておくことにより、開発システムの性能評価を複数の実績データに基づいて行うことができる。これにより、開発過程あるいは納入後の変更過程等で改善された試験評価データを参考にして、開発システムの性能評価を行うことができ、ソフトウェアの構成上の欠陥に起因した性能劣化要因を容易に検出できる。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態１における情報システム開発試験支援システムを含む全体の構成図である。
【図２】本発明の実施の形態１における情報システム開発試験支援システムの処理の流れを示した図である。
【図３】本発明の実施の形態１における開発対象のプログラムとサンプルプログラムとの関係を示した図である。
【図４】本発明の実施の形態１における試験対象のシステムの構成を示す図である。
【図５】本発明の実施の形態３におけるシステムモデルの表示例を示した図である。
【符号の説明】
【００７８】
１０  開発試験支援システム、１１  開発試験支援データベース、１２  システムテンプレート、１３  試験コントローラ、１４  評価検証システム、１５  クライアント端末、２０  開発システム、２１  Ｗｅｂサーバ、２２  アプリケーションサーバ、２３  データベースサーバ、２４  検証モジュール、３０  ネットワーク。
【図１】
2006059108.tif 000003
【図２】
2006059108.tif 000004
【図３】
2006059108.tif 000005
【図４】
2006059108.tif 000006
【図５】
2006059108.tif 000007