(57)【要約】      （修正有）【課題】ソフトウェアプログラムを開発する際に発生する担当者間の引き継ぎ負荷を軽減し、開発作業をより効率的に行うソフトウェア障害票管理システムを提供する。【解決手段】ソフトウェア障害票管理システムにおいて、障害票管理手段３４１０により、開発中のソフトウェアプログラムに発生した障害に関する情報が障害票に記録される。そして、その障害を再現するための再現環境が再現環境生成手段３４２０により生成され、生成された再現環境が再現環境情報記憶手段３２００に記憶される。さらに、生成された再現環境と障害票との関連付けが関連制御手段３３００により行われる。【選択図】図１
2009104393.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアプログラムの開発を行うための障害票管理サーバと、前記サーバにネットワークを介して接続されたクライアント端末とで構成されたソフトウェア障害票管理システムにおいて、
前記障害票管理サーバは、前記ソフトウェアプログラムに発生した障害に関する情報が記録される障害票を管理する障害票管理手段と、
前記障害を再現するための再現環境を生成する再現環境生成手段と、
前記生成された少なくとも１つの再現環境を記憶する再現環境情報記憶手段と、
前記生成された再現環境と前記障害票との関連付けを行う関連制御手段とを備えることを特徴とするソフトウェア障害票管理システム。
【請求項２】
前記再現環境情報記憶手段は、前記ソフトウェアプログラムのテスト用再現環境を予め記憶し、
前記再現環境生成手段は、前記障害票の新規作成時に前記テスト用再現環境をコピーして前記再現環境を生成することを特徴とする請求項１記載のソフトウェア障害票管理システム。
【請求項３】
前記再現環境情報記憶手段に記憶された複数の再現環境のうち、テスト用の再現環境を示す識別情報を格納するテスト用再現環境決定情報と、
前記再現環境生成手段により新規に生成された再現環境をテスト用と決定し、前記テスト用再現環境決定情報の書き換えを実施するテスト用再現環境決定手段とを更に備え、
前記関連制御手段は、前記テスト用再現環境決定手段により決定された再現環境を障害発生直後の状態で前記障害票に関連付けることを特徴とする請求項１記載のソフトウェア障害票管理システム。
【請求項４】
前記障害票の新規作成時に前記再現環境を生成するのに必要な再現情報を記録する再現情報記録手段を更に備え、
前記再現環境生成手段は、前記記録された再現情報を利用して前記再現環境を生成することを特徴とする請求項１記載のソフトウェア障害票管理システム。
【請求項５】
前記障害の発生時のリクエストを再現環境に適した現象再現リクエストに再生成する現象再現リクエスト生成手段と、
前記生成された現象再現リクエストが登録される現象再現リクエスト情報とを更に備えることを特徴とする請求項１又は２記載のソフトウェア障害票管理システム。
【請求項６】
前記再現環境には、再現環境を動作させるためのソフトウェアと設定ファイルが格納されていることを特徴とする請求項１乃至５のいずれか１項に記載のソフトウェア障害票管理システム。
【請求項７】
前記再現環境情報記憶手段は、複数の前記再現環境を動作させるための共通するソフトウェアと設定ファイルが格納されていることを特徴とする請求項１又は２記載のソフトウェア障害票管理システム。
【請求項８】
前記障害票管理手段で管理される障害票を前記クライアント端末に画面表示する障害票表示手段と、
前記障害票の担当者にのみ前記障害票と関連付いた前記再現環境に対するアクセスを許可する担当者管理手段とを更に備えることを特徴とする請求項１乃至７のいずれか１項に記載のソフトウェア障害票管理システム。
【請求項９】
前記障害票表示手段は、画面表示された障害票に関連付いた前記再現環境情報に基づいて、前記障害を再現する再現環境呼び出し手段を備えることを特徴とする請求項８記載のソフトウェア障害票管理システム。
【請求項１０】
前記障害票表示手段は、画面表示された前記障害票に関連付いた前記再現環境情報に基づいて、前記ソフトウェアプログラムのデバッグを実行するデバッガ制御手段を備えることを特徴とする請求項８又は９記載のソフトウェア障害票管理システム。
【請求項１１】
前記障害票表示手段は、画面表示された前記障害票に関連付いた前記再現環境情報に基づいて、前記ソフトウェアプログラムの編集を実行するエディタ制御手段を備えることを特徴とする請求項８乃至１０のいずれか１項に記載のソフトウェア障害票管理システム。
【請求項１２】
前記障害票表示手段は、画面表示された前記障害票に関連付いた前記再現環境情報に基づいて、前記ソフトウェアプログラムを実行するためのアプリケーションサーバの設定を行うアプリケーションサーバ制御手段を備えることを特徴とする請求項８乃至１１のいずれか１項に記載のソフトウェア障害票管理システム。
【請求項１３】
前記再現環境生成手段は、前記再現環境を複製する再現環境複製手段と、前記設定ファイルのパス及びポート番号を書き換える設定ファイル書き換え手段とを備えることを特徴とする請求項６又は７記載のソフトウェア障害票管理システム。
【請求項１４】
前記再現環境生成手段は、前記複製によって生成された再現環境を障害票に関連付けることを特徴とする請求項１３記載のソフトウェア障害票管理システム。
【請求項１５】
前記再現環境生成手段は、複製元の再現環境を障害票に関連付けることを特徴とする請求項１３記載のソフトウェア障害票管理システム。
【請求項１６】
前記ソフトウェアプログラムには、ＷＥＢアプリケーションが含まれることを特徴とする請求項１乃至１５のいずれか１項に記載のソフトウェア障害票管理システム。
【請求項１７】
前記ソフトウェアプログラムのソースコードを構成管理するための構成管理情報を管理する構成管理手段を更に備え、
前記再現環境情報記憶手段が記憶する再現環境情報には前記構成管理情報が含まれることを特徴とする請求項４記載のソフトウェア障害票管理システム。
【請求項１８】
ソフトウェアプログラムの開発を行うための障害票管理サーバと、前記サーバにネットワークを介して接続されたクライアント端末とで構成されたソフトウェア障害票管理システムの障害票管理方法において、
前記ソフトウェアプログラムに発生した障害に関する情報が記録される障害票を管理する障害票管理工程と、
前記障害を再現するための再現環境を生成する再現環境生成工程と、
前記生成された少なくとも１つの再現環境を記憶手段に記憶する再現環境情報記憶工程と、
前記生成された再現環境と前記障害票との関連付けを行う関連制御工程とを備えることを特徴とする障害票管理方法。
【請求項１９】
前記再現環境情報記憶工程は、前記ソフトウェアプログラムのテスト用再現環境を前記記憶手段に予め記憶し、
前記再現環境生成工程は、前記障害票の新規作成時に前記記憶手段に記憶されたテスト用再現環境をコピーして前記再現環境を生成することを特徴とする請求項１８記載の障害票管理方法。
【請求項２０】
前記再現環境生成工程にて新規に生成された再現環境をテスト用と決定し、前記記憶手段に記憶された複数の再現環境のうち、テスト用の再現環境を示す識別情報を格納するテスト用再現環境決定情報の書き換えを実施するテスト用再現環境決定工程を更に備え、
前記関連制御工程は、前記テスト用再現環境決定工程にて決定された再現環境を障害発生直後の状態で前記障害票に関連付けることを特徴とする請求項１８記載の障害票管理方法。
【請求項２１】
前記障害票の新規作成時に前記再現環境を生成するのに必要な再現情報を記録する再現情報記録工程を更に備え、
前記再現環境生成工程は、前記記録された再現情報を利用して前記再現環境を生成することを特徴とする請求項１８記載の障害票管理方法。
【請求項２２】
前記障害の発生時のリクエストを再現環境に適した現象再現リクエストに再生成し、当該現象再現リクエストを現象再現リクエスト情報として登録する現象再現リクエスト生成工程を更に備えることを特徴とする請求項１８又は１９記載の障害票管理方法。
【請求項２３】
前記再現環境には、再現環境を動作させるためのソフトウェアと設定ファイルが格納されていることを特徴とする請求項１８乃至２２のいずれか１項に記載の障害票管理方法。
【請求項２４】
前記記憶手段には、複数の前記再現環境を動作させるための共通するソフトウェアと設定ファイルが格納されていることを特徴とする請求項１８又は１９記載の障害票管理方法。
【請求項２５】
前記障害票管理工程で管理される障害票を前記クライアント端末に画面表示する障害票表示工程と、
前記障害票の担当者にのみ前記障害票と関連付いた前記再現環境に対するアクセスを許可する担当者管理工程とを更に備えることを特徴とする請求項１８乃至２４のいずれか１項に記載の障害票管理方法。
【請求項２６】
前記障害票表示工程は、画面表示された障害票に関連付いた前記再現環境情報に基づいて、前記障害を再現する再現環境呼び出し工程を備えることを特徴とする請求項２５記載の障害票管理方法。
【請求項２７】
前記障害票表示工程は、画面表示された前記障害票に関連付いた前記再現環境情報に基づいて、前記ソフトウェアプログラムのデバッグを実行するデバッガ制御工程を備えることを特徴とする請求項２５又は２６記載の障害票管理方法。
【請求項２８】
前記障害票表示工程は、画面表示された前記障害票に関連付いた前記再現環境情報に基づいて、前記ソフトウェアプログラムの編集を実行するエディタ制御工程を備えることを特徴とする請求項２５乃至２７のいずれか１項に記載の障害票管理方法。
【請求項２９】
前記障害票表示工程は、画面表示された前記障害票に関連付いた前記再現環境情報に基づいて、前記ソフトウェアプログラムを実行するためのアプリケーションサーバの設定を行うアプリケーションサーバ制御工程を備えることを特徴とする請求項２５乃至２８のいずれか１項に記載の障害票管理方法。
【請求項３０】
前記再現環境生成工程は、前記再現環境を複製する再現環境複製工程と、前記設定ファイルのパス及びポート番号を書き換える設定ファイル書き換え工程とを備えることを特徴とする請求項２３又は２４記載の障害票管理方法。
【請求項３１】
前記再現環境生成工程は、前記複製によって生成された再現環境を障害票に関連付けることを特徴とする請求項３０記載の障害票管理方法。
【請求項３２】
前記再現環境生成工程は、複製元の再現環境を障害票に関連付けることを特徴とする請求項３０記載の障害票管理方法。
【請求項３３】
前記ソフトウェアプログラムには、ＷＥＢアプリケーションが含まれることを特徴とする請求項１８乃至３２のいずれか１項に記載の障害票管理方法。
【請求項３４】
前記ソフトウェアプログラムのソースコードを構成管理するための構成管理情報を管理する構成管理工程を更に備え、
前記記憶手段が記憶する再現環境情報には前記構成管理情報が含まれることを特徴とする請求項２１記載の障害票管理方法。
【請求項３５】
請求項１８乃至３４のいずれか１項に記載の障害票管理方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア障害票管理システム及び方法、並びにプログラムに関し、特に、ソフトウェアに発生した障害の再現環境を自動構築するソフトウェア障害票管理システム及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
一般にソフトウェアプログラムの開発工程には、何らかの方法でその機能を評価し、修正や改善するための工程が設けられている。ソフトウェアプログラムの修正や改善を行うための工程をテスト工程と称する。テスト工程においてテストを担当するテスト担当者は、ソフトウェアプログラムが要求された仕様に従って、正しく機能するかどうかをテストする。このテストで対象となるソフトウェアプログラムの動作に誤りが発見された場合、この動作の誤りを障害という。そして、ソフトウェアプログラムの障害の内容を記録したものが障害票である。
【０００３】
一般に障害票ワークフローとは、テスト工程における障害票の作成を１つのタスクとして、その作成から対処、終了までの各作業をその作業順序に従って並べたものである。障害票ワークフローには、テスト担当者、テストで発生した障害を修正するソフトウェアプログラムの開発担当者など複数人が存在し、引き継ぎを行いながら作業を行う。障害票に記録された情報が引き継ぎ内容となる。障害票ワークフローにおける開始から終了までに発生する各作業は、状態として定義される。ソフトウェアプログラムの開発における障害票の作成プロセスの一例を図２に示す。
【０００４】
また、図５は、発生した障害状況とその対処及び対処の確認の詳細を記録した障害票の一例を示す図である。図５において、５０１〜５０３には、ワークフロー上の状態や担当者などの障害票の基本情報が記述される。また、５０４〜５０６には、ワークフロー上の各状態における当該障害票への対応が記述される。
【０００５】
一方、ソフトウェアプログラムの開発作業を行うためには、その作業を行うに適した環境を用意する必要がある。例えば、ソフトウェアプログラムの開発作業を行うには、パーソナルコンピュータ（以下、単に「ＰＣ」という。）、プログラムファイル、設定ファイル、開発ツール（エディタ、デバッガ等）、コンパイラなどを用意する必要がある。
【０００６】
また、障害の対処を行うためには、先に挙げたハードウェア或いはソフトウェアが当該障害を再現する状態でなければならない。例えば、プログラムファイルなどは、その障害を再現するバージョンのものを用意しなければならない。このようなソフトウェアプログラムの実行及び開発に必要なハードウェア或いはソフトウェアがある障害を再現する状態で構成されたものを、ここでは再現環境と称する。
【０００７】
再現環境を構築する作業は、障害票の情報を参考にして、各担当者によりそれぞれ実施されているのが一般的である。例えば、前述した一般的な障害票ワークフローを想定した場合、以下のようになる。
【０００８】
第１に、担当者がテスト用に再現環境を構築し、テスト担当者がそれに対してテストを実施する。第２に、テスト担当者は、発見した障害を障害票に起票して、開発担当者に引き継ぐ。第３に、開発担当者は、障害票に記入（記録）された情報をもとに開発用の再現環境を構築し、障害の対処を行い、対処内容を障害票に記録する。第４に、別の開発担当者に引き継ぐ場合、引き継いだ開発担当者は、障害票に記録された情報をもとに、前開発担当者により行われた対処が反映された再現環境を構築して、引き続き対処を実施する。
【０００９】
このように、一つの障害の対応にあたり、各担当者がそれぞれ再現環境を構築しなければならない。また、一人の担当者が複数作業を抱えることも予想されるが、障害ごとに再現環境を構築しなければならない。つまり、一つのテストの対象となるソフトウェアプログラムを開発するにあたり、再現環境を構築する作業が複数回発生するのである。
【００１０】
そこで、再現環境を構築する作業の負荷を軽減させるための技術が考えられている。例えば、特許文献１では、プログラム開発用サーバの再現環境をコピーして、結合テストサーバに同様の再現環境を自動で構築する技術が公開されている。プログラム開発用サーバが、プログラム開発用の実行環境設定ファイルを結合テストサーバ用に自動変換する機能を備えることにより、人の手を介さずに再現環境を構築することを実現している。
【００１１】
また、開発作業は、各開発担当者のＰＣに再現環境を構築し、直接実施するというスタイルが主流であった。一方、インターネットの普及とセキュリティ技術の進歩に伴い、海外も含めた遠隔地にあるサーバに再現環境を構築して、リモート操作でプログラム開発を行う試みもなされている。特許文献２では、Ｗｅｂ上でユーザにソフトウェアの開発環境を無料提供し、ユーザは該開発環境上で開発を行うアプリケーション開発方法及びアプリケーション開発システムを提供する技術が公開されている。
【特許文献１】特開２００３−２４８５８２号公報
【特許文献２】特開２００２−１８２９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来技術では、一つの障害に対する対処を行うにあたり、前担当者が実際に障害を発生させた瞬間の状況や、行った対処を正確に引き継ぐことが困難である。すなわち、障害票に記録された情報だけでは引き継いだ担当者に伝わりきれない場合が往々にしてあり、また、記入者にとっても、その状況を事細かに記録しなければならず非常に負担である。さらに、再現性が低い障害や、再現させるために数日間イベントを発生させ続けなければならない障害などについては、別の再現環境で再度再現させることは非常に困難である。例え同じ構成の再現環境を用意しても簡単に再現するとは限らない。
【００１３】
上記特許文献１の技術は、再現環境を構築する負荷を軽減するが、その再現環境に対して担当者がなんらかの対処を行ったそのままの状態を引き継ぐことが困難であるという課題がある。また、特許文献２の技術は、Ｗｅｂ上から再現環境へのアクセスが可能となるが、複数の再現環境の中から特定の障害の対処作業を行うために構築した特定の再現環境を容易に決定することができないという課題がある。
【００１４】
本発明は、上記課題に鑑みて成されたもので、ソフトウェアプログラムを開発する際に発生する担当者間の引き継ぎ負荷を軽減し、開発作業をより効率的に行うことができるソフトウェア障害票管理システムを提供することを目的とする。さらに、ソフトウェア障害票方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、請求項１記載のソフトウェア障害票管理システムは、ソフトウェアプログラムの開発を行うための障害票管理サーバと、前記サーバにネットワークを介して接続されたクライアント端末とで構成されたソフトウェア障害票管理システムにおいて、前記障害票管理サーバは、前記ソフトウェアプログラムに発生した障害に関する情報が記録される障害票を管理する障害票管理手段と、前記障害を再現するための再現環境を生成する再現環境生成手段と、前記生成された少なくとも１つの再現環境を記憶する再現環境情報記憶手段と、前記生成された再現環境と前記障害票との関連付けを行う関連制御手段とを備えることを特徴とする。
【００１６】
上記目的を達成するために、請求項１８記載の障害票管理方法は、ソフトウェアプログラムの開発を行うための障害票管理サーバと、前記サーバにネットワークを介して接続されたクライアント端末とで構成されたソフトウェア障害票管理システムの障害票管理方法において、前記ソフトウェアプログラムに発生した障害に関する情報が記録される障害票を管理する障害票管理工程と、前記障害を再現するための再現環境を生成する再現環境生成工程と、前記生成された少なくとも１つの再現環境を記憶手段に記憶する再現環境情報記憶工程と、前記生成された再現環境と前記障害票との関連付けを行う関連制御工程とを備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ソフトウェアプログラムを開発する際に発生する担当者間の引き継ぎ負荷を軽減し、開発作業をより効率的に行うことができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照して詳細に説明する。本実施の形態では、Ｗｅｂアプリケーションシステムの障害対応作業を想定するものとする。
【００１９】
（第１の実施形態）
本発明の第１の実施形態として、障害票の新規作成時に再現環境を生成し、生成した再現環境を障害票に関連付けて管理する方法について説明する。また、障害票から一意に再現環境を特定してアクセスする方法について説明する。
【００２０】
図１は、本発明の第１の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【００２１】
ネットワーク２００上には、クライアント端末１０００と障害票管理サーバ３０００が存在している。クライアント端末１０００及び障害票管理サーバ３０００は、ともにＣＰＵなどの制御部とＲＡＭなどのメモリを少なくとも備える。以下、入力信号もしくはＲＡＭに読み出されたプログラムに従い、ＣＰＵがハードウェアの各部を制御する。
クライアント端末１０００では、ＷＥＢブラウザ１１００が動作する。ＷＥＢブラウザ１１００は、ネットワーク２００を経由して障害票管理サーバ３０００の接続手段３１００と接続し、データの送受信を行う。
【００２２】
障害票管理サーバ３０００は、接続手段３１００と、再現環境情報記憶手段３２００と、関連制御手段３３００と、障害票制御／管理部３４００と、関連付け情報記憶手段３５００を備える。以下、これらの詳細な構成について順に説明する。
【００２３】
まず、接続手段３１００は、ＷＥＢブラウザ１１００からのリクエストを適切な個所へ振り分ける。再現環境情報記憶手段３２００は、複数の再現環境（再現環境情報）３２１０と、エディタ３２３０と、コンパイラ３２４０と、デバッガ３２５０を記憶する。再現環境３２１０は、ＷＥＢアプリケーションを実行又は開発するためにＷＥＢアプリケーションごとに必要なソフトウェアや設定ファイル、ＤＢ、ソース、ｌｏｇ情報等を格納するものである。本実施形態では、再現環境３２１０は、ＤＢ接続設定ファイル３２１１、クラスファイル３２１２、ＤＢ３２１３、ソース３２１４、ＷＥＢアプリケーションサーバ設定ファイル３２１５、ＷＥＢアプリケーションサーバ３２１６、ｌｏｇ情報３２１７で構成される。
【００２４】
再現環境３２１０は、障害票ＤＢ３４４０に保存し管理される障害票ごとに生成される。その他に、本実施形態では、テスト用再現環境３２２０が用意される。このテスト用再現環境３２２０で動作するＷＥＢアプリケーション（以下、「テスト用再現環境ＷＥＢアプリケーション」という。）に対してテスト担当者がテストを実施するものとする。テスト用再現環境３２２０を構成する要素は、再現環境３２１０と同じである。新規に障害票が作成されるタイミングで、このテスト用再現環境３２２０がコピーされ、新しい再現環境３２１０が生成される。
【００２５】
関連制御手段３３００は、障害票ＤＢ３４４０で保存・管理されている障害票と、再現環境情報記憶手段３２００に格納されている再現環境３２１０との関連付けを行い、その関連付け情報を関連付け情報記憶手段３５００に格納する。障害票制御／管理部３４００側から、ある障害票に関連付けられた再現環境３２１０の各要素へアクセスするには、この関連制御手段３３００に適切な再現環境３２１０へアクセスするための情報を問い合わせる必要がある。
【００２６】
再現環境制御／管理部３４００は、障害票管理手段３４１０と、再現環境生成手段３４２０と、障害票表示手段３４３０と、障害票ＤＢ３４４０とから成る。障害票管理手段３４１０は、障害票管理システムのコントローラー的役割を担うもので、ワークフロー障害票管理システム３４１１と、担当者管理手段３４１２と、障害票番号付与手段３４１３とから成る。
【００２７】
ワークフロー障害票管理システム３４１１は、障害票の編集／保存／状態遷移といった機能を持つ一般的な障害票管理ＷＥＢアプリケーションシステムである。また、ワークフロー障害票管理システム３４１１は、再現環境３２１０に対して操作を行うための図２０に示す開発用画面２０００を作成する役割を持つ。
【００２８】
担当者管理手段３４１２は、障害票と関連付いた再現環境３２１０に対する操作の排他制御を行う。すなわち、現在その障害票の担当者であるユーザにのみ障害票と関連付いた再現環境に対するアクセスを許可してアクセス競合を防ぐ。障害票番号付与手段３４１３は、障害票に対してシステム内でユニークな番号を割り振る。また、障害票に関する操作イベントすべてに障害票番号を付与するもので、これにより対応する再現環境３２１０へアクセスするための情報を取得することが可能になる。
【００２９】
再現環境生成手段３４２０は、障害票の新規作成時にワークフロー障害票管理システム３４１１より依頼を受け、再現環境３２１０を生成する。再現環境生成手段３４２０は、再現環境複製手段３４２１と、設定ファイル書き換え手段３４２２と、アプリケーションサーバ起動手段３４２３とから成る。
【００３０】
障害票表示手段３４３０は、障害票に関連付いた再現環境３２１０へアクセスするための図５に示す障害票５００の表示や図２０の開発用画面２０００の表示やイベント操作制御を行う。障害票表示手段３４３０は、デバッガ制御手段３４３１と、エディタ制御手段３４３２と、アプリケーションサーバ制御手段３４３３と、再現環境呼び出し手段３４３４とを備える。再現環境呼び出し手段３４３４は、図６に示す障害票６００が表示された画面上のアプリ画面表示ボタン６０３の押下時に起動し、再現環境ＷＥＢアプリケーションの実行画面を別ブラウザで表示する。再現環境呼び出し手段３４３４は、表示された障害票に関連付いた再現環境（再現環境情報）で動作するＷＥＢアプリケーションの画面を表示する。デバッガ制御手段３４３１は、表示された障害票に関連付いた再現環境（再現環境情報）で動作するＷＥＢアプリケーションへのデバッグを実行する。
【００３１】
障害票ＤＢ３４４０は、図５の障害票５００が表示された画面から入力される障害に関する情報を格納する。接続手段３１００、関連制御手段３３００、及び障害票制御／管理部３４００は、ＷＥＢアプリケーション技術と、ＷＥＢアプリケーションのプラットフォームとなるＷＥＢアプリケーションサーバにより提供される機能を利用することができる。ここでいうＷＥＢアプリケーション技術は、ＣＧＩプログラムやＪａｖａ(登録商標)のサーブレットなどの一般的なものである。例えば、ＷＥＢアプリケーションサーバＴｏｍｃａｔで動作するＪａｖａ(登録商標)サーブレットプログラムとしてこれらの機能を実現することが可能である。また、ＤＢ３２１３及び障害票ＤＢ３４４０は、例えばリレーショナルデータベースなど、一般的にＷＥＢアプリケーションシステムで利用されているＤＢを利用することが可能である。
【００３２】
ここで、図２を用いて、本実施形態におけるワークフローを説明する。
【００３３】
図２は、ソフトウェアプログラムの開発における障害票の作成プロセスの一例を示す図である。
【００３４】
Ｐ１１１，Ｐ１２１，Ｐ１２２，Ｐ１２３，Ｐ１３１，Ｐ１３２，Ｐ１４１は、ワークフロー上の各状態である。Ｐ１１０，Ｐ１２０，Ｐ１３０，Ｐ１４０は各状態をその性質によって分類したフェーズである。ここでＰ１１０は、あるシステム／機器／ソフトウェア／プロセスの評価を実施し、障害票を発行する評価フェーズとする。Ｐ１２０は、Ｐ１１０で作成された障害票の内容から障害の発生を確認し、その障害を修正する障害対処フェーズとする。Ｐ１３０は、Ｐ１１０で発見され、Ｐ１２０で対処された障害について、対処が終了し、同一の障害が発生しないことを確認する対処確認フェーズとする。Ｐ１４０は、Ｐ１３０で障害対処への確認が終了すると、障害を対処済みとして終了する終了フェーズとする。Ｐ１１０〜Ｐ１４０の各状態及び各状態が所属するフェーズＰ１１１〜Ｐ１４１を保持するワークフローを、一つのプロセスＰ１００とする。
【００３５】
本実施形態では、このような障害票と一連のプロセスＰ１００を管理する障害管理について、ワークフロー障害票管理システム３４１１がその役割を担うものとする。また、図２に示したワークフローは１つの例であって、各状態、フェーズ、プロセスは必要に応じてその数や名称、役割が変更される。本実施形態では、特に評価フェーズＰ１１０から障害対処フェーズＰ１２０において実行が想定される作業について説明するものとする。
【００３６】
図３は、図２のＷＥＢアプリケーション開発における評価フェーズＰ１１０〜障害対処フェーズＰ１２０において、一般的に発生する一連の操作イベントを受信したときの各ノード間のシーケンスを表す図である。
【００３７】
テスト実施Ｓ３１１、障害票の新規作成Ｓ３２１、発行Ｓ３３１、デバッグ操作Ｓ３４１、対処依頼Ｓ３５１、及びソース編集Ｓ３６１は、ユーザ操作に応じて発生するイベントである。各状態（Ｐ１１１，Ｐ１２１，Ｐ１２２）の枠内には、通常、障害票がその状態であるときにユーザが行うであろう操作イベントが記されている。但し、ここで表す状態と操作イベントの関係は一例であり、記載の操作イベントには限定されない。また、障害票管理システムのＷＥＢアプリケーションに対するリクエストには、障害票番号付与手段３４１３により、後述する障害票番号３５１１を示すパラメータが付与され、いずれの障害票に関するイベントであるかが常に判断可能となる。但し、障害票の新規作成の場合は障害票番号３５１１は付与されない。以下、各イベントの内容について説明する。
【００３８】
テスト担当者は、テスト用再現環境ＷＥＢアプリケーションに対してテストを実施する。クライアント端末１０００のＷＥＢブラウザ１１００は、テスト担当者が実施した操作イベントを接続手段３１００へ送信する（Ｓ３１１）。接続手段３１００は、受信したイベントをテスト用再現環境ＷＥＢアプリケーション（テスト用再現環境３２２０）に転送する（Ｓ３１２）。
【００３９】
テスト担当者は、障害を発見すると、図４に示す障害票管理システムメニュー画面４００の障害票の新規作成ボタン４０１をクリックする。ＷＥＢブラウザ１１００は、障害票の新規作成イベントを接続手段３１００へ送信する（Ｓ３２１）。次に、接続手段３１００は、障害票の新規作成イベントを障害票制御／管理部３４００へ転送する（Ｓ３２２）。
【００４０】
障害票制御／管理部３４００は、新規に作成された障害票に障害票番号３５１１を割り振り（Ｓ３２３）、図５に示すような障害票５００を作成する。続けて、障害票制御／管理部３４００は、関連制御手段３３００が生成した再現環境３２１０に関する情報（Ｓ３２４）を用いて、テスト用再現環境３２２０をコピーして再現環境３２１０を生成する（Ｓ３２５）。
【００４１】
テスト担当者は、障害票の起票が終わると、障害票５００が表示された画面上の発行ボタン５０８をクリックする。ＷＥＢブラウザ１１００は、発行イベントを接続手段３１００へ送信する（Ｓ３３１）。次に、接続手段３１００は、発行イベントを障害票制御／管理部３４００へ転送する（Ｓ３３２）。障害票制御／管理部３４００は、障害票５００の状態を解析中に遷移させ、担当者を解析担当者に変更する。この結果、障害票５００は障害票６００に遷移する。
【００４２】
解析担当者は、図２０の開発用画面２０００上でデバッグ操作を実施する。デバッグ操作とは、例えば、ブレークポイントを設定したり、ブレーク時の変数値を表示するなどのイベント全般を指す。ＷＥＢブラウザ１１００からデバッグ操作イベントを受信した（Ｓ３４１）接続手段３１００は、障害票制御／管理部３４００へリクエストを転送する（Ｓ３４２）。ここで、リクエストには、障害票番号付与手段３４１３によって障害票番号３５１１を示すパラメータが付与されているため、障害票制御／管理部３４００が障害票番号３５１１を取得することが可能である。障害票制御／管理部３４００は、関連制御手段３３００に障害票番号３５１１に関連付いている情報を問い合わせ、当該関連情報を取得する（Ｓ３４４）。さらに、障害票制御／管理部３４００は、取得した関連情報を使用して、再現環境３２１０にアクセスする（Ｓ３４５）。
【００４３】
解析担当者は、解析作業が終わると、障害票６００が表示された画面上の対処依頼ボタン６０５をクリックする。ＷＥＢブラウザ１１００は、対処依頼イベントを接続手段３１００へ送信し（Ｓ３５１）、接続手段３１００は、当該対処イベントを障害票制御／管理部３４００へ転送する（Ｓ３５２）。障害票制御／管理部３４００は、障害票６００の状態を対処中に遷移させ、担当者を対処担当者に変更する。
【００４４】
対処担当者は、図２０の開発用画面２０００上でソースコードの編集を行う。編集を確定する場合、開発用画面２０００上の変更を保存ボタン２０６０をクリックする。ＷＥＢブラウザ１１００は、変更の保存イベントを接続手段３１００へ送信し（Ｓ３５１）、接続手段３１００は、障害票制御／管理部３４００へ転送する（Ｓ３５２）。
【００４５】
障害票制御／管理部３４００は、リクエストから障害票番号３５１１を取得し、関連制御手段３３００に該当する障害票番号３５１１の関連情報を問い合わせ、当該関連情報を取得する（Ｓ３６３）。続けて、障害票制御／管理部３４００は、取得した関連情報を使用して、再現環境３２１０の該当するソースファイルを特定し、編集内容を反映する（Ｓ３６４）。
【００４６】
図４は、障害票管理システムのメニュー画面の一例を示す図である。
【００４７】
障害票管理システムメニュー画面４００は、評価対象に対する障害票の新規作成Ｓ３２１や作成済みの障害票を検索するためのメニュー画面である。障害票の新規作成ボタン４０１は障害票の新規作成Ｓ３２１を実行させるボタンである。障害票の検索ボタン４０２は障害票の検索を行う画面へ遷移するためのボタンである。障害票の検索機能は、障害票ワークフローシステムの一般的な機能であり、ここではその説明を省略する。
【００４８】
図５は、障害票の一例を示す図である。
【００４９】
障害票５００は、ソフトウェアプログラムに発生した障害状況、障害の対処及び対処の確認に関する詳細情報が記録される障害票である。５０１は、障害票を識別する名前である。本実施形態では、障害票を識別する名前が「Ｐｒｏｂｌｅｍ」＋ユニークな障害票番号３５１１で表されている。５０２は現在の障害票の状態を表し、５０３は担当者がＥｖａｌｕａｔｅｒであることを表す。５０２，５０３は障害票の状態遷移によって随時変更されるが、５０１は常に変わらない。５０４〜５０６には各状態における当該障害への対応が記述される。５０７は、障害票の編集／閲覧状態の切り替えを行うための編集ボタンである。発行ボタン５０８は、障害票の状態遷移を実行させるためのボタンである。ここでは障害票が作成中状態であるため、発行Ｓ３３１のイベントを実行するためのボタンとなっている。
【００５０】
図６は、解析中状態に遷移した障害票の一例を示す図である。
【００５１】
障害票６００は、図５の障害票５００から解析中状態に遷移した同一の障害票である。障害票が同一か否かは、障害票を識別する名前が同じか否かで判断可能である。６０１は、障害票の状態が解析中であることを表し、６０２は担当者がＡｎａｌｙｓｔであることを表す。
【００５２】
アプリ画面表示ボタン６０３は、各障害票と関連付いた再現環境ＷＥＢアプリケーションの画面を表示するためのボタンである。開発用画面表示ボタン６０４は、図２０の開発用画面２０００を表示するためのボタンである。６０５は、障害票を対処中状態に遷移させるための対処依頼ボタンである。
【００５３】
図７は、ＷＥＢブラウザ１１００からのリクエストを受けたときの接続手段３１００の動作を示したフローチャートである。
【００５４】
接続手段３１００は、クライアント端末１０００のＷＥＢブラウザ１１００からのリクエストを受信する（Ｓ７０１）。そして、そのリクエストがワークフロー障害票管理システム３４１１へのリクエストである場合（Ｓ７０２でＹＥＳ）、ワークフロー障害票管理システム３４１１へ転送する（Ｓ７０３）。一方、ワークフロー障害票管理システム３４１１へのリクエストでない場合は（Ｓ７０２でＮＯ）、テスト用再現環境ＷＥＢアプリケーションへのリクエストか判断する（Ｓ７０４）。テスト用再現環境ＷＥＢアプリケーションへのリクエストである場合は（Ｓ７０４でＹＥＳ）、テスト用再現環境ＷＥＢアプリケーションへ転送し（Ｓ７０５）、そうでない場合は、各障害票と関連付いた再現環境ＷＥＢアプリケーションへ転送する（Ｓ７０６）。
【００５５】
図８、図９、図１０は、それぞれ障害票管理システム、テスト用再現環境ＷＥＢアプリケーション、障害票と関連付いた再現環境ＷＥＢアプリケーションへの要求例を示す図である。いずれに対するリクエストであるかは、ＵＲＬのパスのパターンによって判断が可能である。本実施形態では、ホスト名の直後につづくポート番号によって見分けることができる。例えば、ポート番号「８０８０」は障害票管理システムで使用、「８０８１」はテスト用再現環境ＷＥＢアプリケーションで使用、「８０８２」以降は各障害票と関連付いた再現環境ＷＥＢアプリケーションで使用するよう設定をしておく。この場合、図８に示すように「ホスト名」＋「：（コロン）」の後に、「８０８０」がつづくリクエストは、障害票管理システムに転送するという判断が可能となる。同じように、「８０８１」がつづく場合は、テスト用再現環境ＷＥＢアプリケーション、「８０８２」以降の番号がつづく場合は、各障害票と関連付いた再現環境ＷＥＢアプリケーションという具合に判断し、振り分けることができる。
【００５６】
次に、再現環境３２１０生成時の動作について図１９を参照して説明する。ここでは、ＷＥＢアプリケーションサーバ３２１６には、例えばｔｏｍｃａｔ（登録商標）などを使用することができる。
【００５７】
図１９は、関連付け情報記憶手段３５００に記憶される内容の一例を示す図である。
【００５８】
関連付け情報記憶手段３５００には、関連付け情報として、プロジェクト名情報３５１０、ポート番号情報３５２０、アプリケーションサーバ起動情報３５３０、ＤＢ情報３５４０、及び最終画面情報３５５０が記憶されている。プロジェクト名情報３５１０は、上述した障害票番号３５１１と、再現環境３２１０のＷＥＢアプリケーションサーバプロジェクトディレクトリの名前（３５１２）を保持する。ポート番号情報３５２０は、障害票番号３５１１と、ＷＥＢアプリケーションサーバ設定ファイル３２１５の書き換えに必要なポート番号情報（３５２１〜３５３４）を保持する。
【００５９】
アプリケーションサーバ起動情報３５３０は、障害票番号３５１１と、再現環境３２１０のＷＥＢアプリケーションサーバ３２１６が起動中であるか或いは停止中であるかの情報（３５３１）を保持する。ＤＢ情報３５４０は、障害票番号３５１１と、再現環境３２１０内で使用するＤＢ３２１３の情報（３５４１，３５４２）を保持する。最終画面情報３５５０は、障害票番号３５１１と、その開発用画面（図２０）で最後に表示されたソース３２１４の情報（３５５１〜３５５３）を保持する。いずれも障害票番号３５１１の情報を持っており、それをキーとして、適切な再現環境３２１０の情報を特定することができる。
【００６０】
図１１は、障害票の新規作成（Ｓ３２１）要求を受信したときのワークフロー障害票管理システム３４１１の動作を示したフローチャートである。
【００６１】
要求を受信したワークフロー障害票管理システム３４１１は、障害票番号付与手段３４１３に、本障害票管理システムにおいてユニークな識別子である障害票番号３５１１の割り振りを依頼する（Ｓ１１０１）。そして、その障害票番号３５１１を使用して新規に障害票を作成する（Ｓ１１０２）。
【００６２】
次に、ワークフロー障害票管理システム３４１１は、関連制御手段３３００へ、作成した障害票に関連付いた再現環境３２１０を構築するための関連付け情報の作成を依頼する（Ｓ１１０３）。このとき、割り振られた障害票番号３５１１を伝え、関連制御手段３３００はその障害票番号３５１１である「００１」と関連付けて必要な情報を生成し、これを関連付け情報として記憶する。障害票管理手段３４１０は、生成された関連付け情報を取得し（Ｓ１１０４）、再現環境生成手段３４２０に対して、関連付け情報を使用して再現環境３２１０を構築するよう依頼する（Ｓ１１０５）。
【００６３】
図１２は、ワークフロー障害票管理システム３４１１から依頼（Ｓ１１０３）を受けて、障害票ごとに固有の関連付け情報を生成し、関連付け情報記憶手段３５００に記憶する際の関連制御手段３３００の動作を示したフローチャートである。
【００６４】
まず、関連制御手段３３００は、障害票番号３５１１からプロジェクト名３５１２を決定し（Ｓ１２０１）、関連付け情報記憶手段３５００内のプロジェクト名情報３５１０に登録する（Ｓ１２０２）。プロジェクト名３５１２は、本障害票管理システム中で重複しないよう決定する必要がある。図１９に示す例では、障害票番号３５１１がユニークであることを利用して、「ｔｏｍｃａｔ」＋「障害票番号３５１１」でプロジェクト名３５１２としている。もちろん障害票番号３５１１をそのまま使用してプロジェクト名３５１２としても構わない。このように、障害票番号３５１１から常に一意の値が決定する情報は、ルールの定義さえ用意しておけば記憶媒体に記憶されなくてもよい。また、障害票番号３５１１を利用せず何かユニークな値を決定するアルゴリズムを使用してプロジェクト名３５１２を作成してもよいが、その場合は必ず障害票番号３５１１から一意に特定できるようにマッピング情報を記憶しておく必要がある。
【００６５】
次に、関連制御手段３３００は、関連付け情報記憶手段３５００にさらに登録すべき情報を特定する（Ｓ１２０３）。本実施形態では、ポート番号情報３５２０、ＤＢ情報３５４０がそれにあたる。次に、登録すべき情報がポート番号情報３５２０であるかを判断し（Ｓ１２０４）、ポート番号情報３５２０である場合（Ｓ１２０４でＹＥＳ）、未使用ポート番号を特定し（Ｓ１２０５）、ポート番号情報３５２０にポート番号を登録する（Ｓ１２０６）。例えば、障害票番号３５１１が「００１」の場合で、登録すべき情報がConnector port３５２１、未使用ポート番号が８０８２の場合は、ポート番号情報３５２０の表の第２行第１列目に８０８２を登録する。また、登録すべき情報がポート番号情報３５２０でない場合は（Ｓ１２０４でＮＯ）、障害票番号３５１１から情報を生成し（Ｓ１２０７）、生成した情報を登録する（Ｓ１２０８）。例えば、ＤＢ情報３５４０の接続ＩＤ３５４１の場合は、「ｄｂｉｄ」＋「障害票番号３５１１」を関連付け情報記憶手段３５００に登録する。登録すべき情報をすべて登録するまでＳ１２０３〜Ｓ１２０８を繰り返す（Ｓ１２０９）。
【００６６】
図１３は、ワークフロー障害票管理システム３４１１からの要求（Ｓ１１０４）を受けて、関連付け情報記憶手段３５００から作成する障害票に関連付いた再現環境３２１０の情報を取得する関連制御手段３３００の動作を示したフローチャートである。
【００６７】
関連制御手段３３００は、取得したい障害票番号３５１１を得て（Ｓ１３０１）、関連付け情報記憶手段３５００にアクセスし、その障害票番号３５１１をキーに、対応する関連付け情報を取得する（Ｓ１３０２）。
【００６８】
図１４は、ワークフロー障害票管理システム３４１１から依頼（Ｓ１１０６）を受けて、障害票と関連付いた再現環境３２１０を生成する際の再現環境生成手段３４２０の動作を示したフローチャートである。
【００６９】
まず、再現環境複製手段３４２１がテスト用再現環境３２２０をコピーして新規に再現環境３２１０を生成する手順について説明する。はじめに、再現環境複製手段３４２１がプロジェクト名情報３５１０からプロジェクト名３５１２を取得し、プロジェクトを生成する場所（プロジェクトディレクトリの生成先）を特定する（Ｓ１４０１）。例えば、プロジェクト名３５１２がｔｏｍｃａｔ００１の場合、プロジェクトディレクトリを生成するディレクトリの場所を「C:\tools\Apache Group」と設定しておく。このことにより、「C:\tools\Apache Group\tomcat001」がプロジェクトディレクトリの生成先と特定できる。そして、テスト用プロジェクトディレクトリを特定（Ｓ１４０２）してコピーを実行する（Ｓ１４０３）。プロジェクトディレクトリの格納場所や、テスト用プロジェクトディレクトリの情報（プロジェクトディレクトリ名やＤＢ情報など）は、再現環境複製手段３４２１が固有の値として保持していてもよいし、別途管理してもよい。
【００７０】
次に、再現環境複製手段３４２１は、テスト用再現環境３２２０のＤＢ３２２３の現在状態をコピーする。まず、再現環境複製手段３４２１は、テスト用再現環境３２２０のＤＢ３２２３に接続して、現在の状態をエクスポートする。例えば、オラクル社のリレーショナルデータベース製品を使用する場合、テスト用再現環境３２２０のＤＢ３２２３の接続ＩＤが「dbidtest」のときは、「exp owner=dbidtest」を実行する。このことにより、EXPDAT.DMPファイルにその時点での状態をエクスポートすることができる。
【００７１】
次に、再現環境複製手段３４２１は、再現環境３２１０のＤＢ３２１３に接続するための接続ＩＤ３５４１、パスワード３５４２をＤＢ情報３５４０から取得し（Ｓ１４０４）、再現環境３２１０のＤＢ３２１３にそれらを登録して接続を可能にする（Ｓ１４０５）。そして、先程エクスポートしたEXPDAT．DMPファイルを「imp dbid001」（接続ＩＤ３５４１が「００１」の場合）を実行してインポートする。
【００７２】
設定ファイル書き換え手段３４２２は、各再現環境３２１０を動作させるために必要な設定ファイル（ＷＥＢアプリケーションサーバ設定ファイル３２１５、ＤＢ接続設定ファイル３２１１）の情報を、各再現環境３２１０に適した値に書き換える。はじめに、設定ファイル書き換え情報を特定する（Ｓ１４０７）。本実施形態では、ＷＥＢアプリケーションサーバ設定ファイル３２１５の書き換え情報は、ポート番号情報３５２０によって決定されるものとし、その情報を用いて設定ファイルが書き換えられる（Ｓ１４０８）。また、ＤＢ接続設定ファイル３２１１の書き換え情報は、ＤＢ情報３５４０によって決定されるものとする。
【００７３】
図１５は、書き換え前のＷＥＢアプリケーションサーバ設定ファイル３２１５の一例を示す図であり、図１６は書き換え後のＷＥＢアプリケーションサーバ設定ファイル３２１５の一例を示す図である。図示のように、各ポート番号の値が書き換わっていることがわかる。同マシン内で複数のＷＥＢアプリケーションサーバ３２１６を動作させるためには、ポート番号の重複は許されないため、この書き換えが必要となる。図１７及び図１８はそれぞれ、書換え前、書換え後のＤＢ接続設定ファイル３２１１の一例を示す図である。５行目のｕｓｅｒｎａｍｅと６行目のｐａｓｓｗｏｒｄの値が書き換わっている。これにより、各再現環境３２１０用に用意されたＤＢ３２１３への接続が可能となるのである。
【００７４】
図１４に戻り、設定ファイル書き換え手段３４２２がすべての設定ファイルを書き換えると（Ｓ１４０９）、アプリケーションサーバ起動手段３４２３が、再現環境３２１０のＷＥＢアプリケーションサーバ３２１６を起動する（Ｓ１４０７）。そして、アプリケーションサーバ起動情報３５３０の起動状況３５３１を起動中にする。
【００７５】
図２０は、再現環境３２１０に対して操作を行うための開発用画面の一例を示す図である。
【００７６】
開発用画面２０００は、障害票６００が表示された画面上の開発用画面表示ボタン６０４がクリックされると表示されるもので、障害票６００と関連付いた再現環境３２１０に対して、デバッグ操作やソースコードの編集操作などを行うための画面である。２０１０はＷＥＢアプリケーションサーバ３２１６に対して命令を行うボタン群であり、起動ボタン２０１１と停止ボタン２０１２を持つ。２０２０は、デバッグ操作関連の命令を行うボタン群であり、ステップインボタン２０２１、ステップオーバーボタン２０２２、ステップリターンボタン２０２３を持つ。２０３０は、ＷＥＢアプリケーションのスタックトレース情報を表示するスタックトレースビューである。２０４０は、ブレーク個所の変数値を表示する変数ビューである。２０８０は、ソース３２１４のディレクトリ構造を表示するディレクトリビューであり、そこで指定されたファイルを表示するエディタビューが２０５０である。変更を保存ボタン２０６０は、エディタビュー２０５０で編集した内容を再現環境３２１０に保存するためのボタンである。２０７０はＷＥＢアプリケーションサーバ３２１６に関するｌｏｇ情報を表示するコンソールビューである。
【００７７】
図２１は、開発用画面２０００の表示を要求するＵＲＬの一例を示す図である。
【００７８】
ユーザが、障害票６００が表示された画面上の開発用画面表示ボタン６０４をクリックすると、ＷＥＢブラウザ１１００から接続手段３１００を経由して、ワークフロー障害票管理システム３４１１に図示のＵＲＬのリクエストが送信される。このリクエストを受信したワークフロー障害票管理システム３４１１が開発用画面２０００を表示する。ここで、「ｉｄ＝００１」というパラメータは、障害票番号３５１１を示すもので、障害票番号付与手段３４１３によって付与される。また、障害票番号付与手段３４１３は、このような障害票番号３５１１を示すパラメータを、開発用画面２０００上で発生するすべてのイベントに対して付与する。そのため、リクエストから障害票番号３５１１を決定することが可能となり、それを使用して関連制御手段３３００へ問い合わせを行うことができる。
【００７９】
図２２は、ワークフロー障害票管理システム３４１１が、開発用画面２０００の表示要求を受けて、作成した開発用画面２０００を表示するまでの流れを示すフローチャートである。
【００８０】
まず、ワークフロー障害票管理システム３４１１は、関連制御手段３３００に問い合わせ、障害票番号３５１１に対応する関連付け情報を取得する（Ｓ２２０１）。次に、ワークフロー障害票管理システム３４１１は、障害票表示手段３４３０へ開発用画面２０００を構成する各ボタンやビューの作成を依頼する（Ｓ２２０１〜Ｓ２２０７）。最後に各ビューを結合して開発用画面２０００を作成する（Ｓ２２０８）。
【００８１】
図２３は、ワークフロー障害票管理システム３４１１から依頼を受けて（Ｓ２２０２）、制御用ボタンを作成するときのアプリケーションサーバ制御手段３４３３の動作を示すフローチャートである。制御用ボタンは、上述したＷＥＢアプリケーションサーバ３２１６に対して命令を行うボタン群２０１０、デバッグ操作関連の命令を行うボタン群２０２０を指すものとする。
【００８２】
アプリケーションサーバ制御手段３４３３は、アプリケーションサーバ起動情報３５３０から該当する再現環境３２１０のＷＥＢアプリケーションサーバ３２１６が起動しているか否かを判断する（Ｓ２０３１）。起動中である場合、アプリケーションサーバ制御手段３４３３は、起動ボタン２０１１を押下不可にする（Ｓ２３０２）。そして、停止ボタン２０１２、ステップインボタン２０２１、ステップオーバーボタン２０２２、ステップリターンボタン２０２３を押下可能にする（Ｓ２３０３）。
【００８３】
一方、Ｓ２３０１において、ＷＥＢアプリケーションサーバ３２１６が停止状態である場合は、アプリケーションサーバ制御手段３４３３は、起動ボタン２０１１を押下可能にする（Ｓ２３０４）。そして、停止ボタン２０１２、ステップインボタン２０２１、ステップオーバーボタン２０２２、ステップリターンボタン２０２３を押下不可にする（Ｓ２３０５）。
【００８４】
図２４は、ワークフロー障害票管理システム３４１１から依頼を受けて（Ｓ２２０３）、ディレクトリビュー２０８０を生成するときのエディタ制御手段３４３２の動作を示すフローチャートである。
【００８５】
エディタ制御手段３４３２は、プロジェクト名情報３５１０をもとに、ソースディレクトリの場所を特定する（Ｓ２４０１）。前述したプロジェクトディレクトリ生成場所を特定（Ｓ１４０２）する場合と同じように、再現環境３２１０のソースディレクトリへのパスについてテンプレートを用意しておき、プロジェクト名３５１２を当てはめれば、場所を特定することが可能である。例えば、「C:\tools\Apache Group\tomcat000\webapps\ROOT\WEB-INF\src」というテンプレート情報を記憶しておき、ｔｏｍｃａｔ０００の部分を該当するプロジェクト名３５１２に当てはめる。この処理により、ソースディレクトリの場所を特定することが可能である。
【００８６】
次に、エディタ制御手段３４３２は、再現環境３２１０のソースディレクトリの階層構造を解析し（Ｓ２４０２）、ツリービューを生成する（Ｓ２４０３）。この時点では、どの階層も展開されていない状態になっている。その後、最終画面情報３５５０の展開ディレクトリ名３５５３を取得し、その値が存在するか調べる（Ｓ２４０４）。値が存在する場合（Ｓ２４０４でＹＥＳ）、ツリービューにおいてそのディレクトリを展開した状態にする（Ｓ２５０５）。値が存在しない場合は、Ｓ２４０３で作成された状態のままになる。
【００８７】
図２５は、ワークフロー障害票管理システム３４１１から依頼を受けて（Ｓ２２０４）、エディタビュー２０５０を生成するときのエディタ制御手段３４３２とデバッガ制御手段３４３１の動作を示すフローチャートである。
【００８８】
まず、エディタ制御手段３４３２は、アプリケーションサーバ起動情報３５３０から、該当する再現環境３２１０のＷＥＢアプリケーションサーバ３２１６が起動しているか否かを判断する（Ｓ２５０１）。起動中である場合、デバッガ制御手段３４３１がブレーク状態か否かを調査する（Ｓ２５０２〜Ｓ２５０４）。例えば、デバッガ３２５０にＪＤＢを使用する場合は、ポート番号情報３５２０のデバッガ接続ポートアドレス３５３４を使用し（Ｓ２５０２）、「java(登録商標) -Xdebug -Xrunjdwp :transport=dt_shmem, address=1234, server=y suspend=n 001」で起動しておけば、「jdb -attach 1234」でそのＶＭに接続することができる（Ｓ２０５３）。また、「ｗｈｅｒｅ」コマンドを実行して、値（クラス名や行数）が特定できる場合はブレーク状態、何も値が特定できない場合はブレーク状態でないと判断することができる（Ｓ２５０４）。ブレーク状態の場合は、先程の「ｗｈｅｒｅ」コマンドでクラス名と行数の特定する（Ｓ２５０５）。その情報をもとにエディタ制御手段３４３２がブレークしているファイル名と行数を特定し（Ｓ２５０８）、そのファイルのブレーク行を表示するエディタビュー２０５０を生成する（Ｓ２５０９）。ＷＥＢアプリケーションサーバ３２１６が停止状態である場合または起動しているがブレーク状態でない場合は（Ｓ２５０４）、最終画面情報３５５０があるか判断する（Ｓ２５０６）。そして、ある場合はその情報から表示するファイルを特定し（Ｓ２５０７）、エディタビュー２０５０を生成する（Ｓ２５０９）。一方、最終画面情報３５５０がない場合は、ファイル表示のない空のエディタビュー２０５０を生成する（Ｓ２５０９）。
【００８９】
図２６は、ワークフロー障害票管理システム３４１１から依頼を受けて（Ｓ２２０５）、スタックトレースビュー２０３０を生成するときのデバッガ制御手段３４３１の動作を示すフローチャートである。
【００９０】
まず、デバッガ制御手段３４３１は、アプリケーションサーバ起動情報３５３０から、該当する再現環境３２１０のＷＥＢアプリケーションサーバ３２１６が起動しているか否かを判断する（Ｓ２６０１）。起動中である場合は、さらにブレーク状態か否かを調査する（Ｓ２６０２〜Ｓ２６０４）。そして、ブレーク中である場合、スタックトレースの情報を特定し（Ｓ２０６５）、その情報を表示するスタックトレースビュー２０３０を生成する（Ｓ２６０６）。デバッガ３２５０がＪＤＢである場合は、「ｔｈｒｅａｄｓ」コマンドで、現在実行中のスレッド一覧を取得することが可能であり、「ｗｈｅｒｅ」コマンドで、現在のスレッドのスタックをダンプすることができる。ここでいう現在実行中のスレッド一覧とは、名前、現在の状態、ほかのコマンドに使用できるインデックスである。ＷＥＢアプリケーションサーバ３２１６が停止状態である場合または起動しているがブレーク状態でない場合は、空のスタックトレースビュー２０３０を生成する（Ｓ２６０６）。
【００９１】
図２７は、ワークフロー障害票管理システム３４１１から依頼を受けて（Ｓ２２０６）、変数ビュー２０４０を生成するときのデバッガ制御手段３４３１の動作を示すフローチャートである。
【００９２】
まず、デバッガ制御手段３４３１は、アプリケーションサーバ起動情報３５３０から、該当する再現環境３２１０のＷＥＢアプリケーションサーバ３２１６が起動しているか否かを判断する（Ｓ２７０１）。起動中である場合、さらにブレーク状態か否かを調査する（Ｓ２７０２〜Ｓ２７０４）。そして、ブレーク中である場合、ブレーク中の変数名と変数値を特定し（Ｓ２０７５）、その情報を表示する変数ビュー２０４０を生成する（Ｓ２７０６）。デバッガ３２５０にＪＤＢを使用する場合は、「ｄｕｍｐ」コマンドで、各フィールドの現在値を出力することができる。ＷＥＢアプリケーションサーバ３２１６が停止状態である場合または起動しているがブレーク状態でない場合は、空の変数ビュー２０４０を生成する（Ｓ２７０６）。
【００９３】
図２８は、ワークフロー障害票管理システム３４１１から依頼を受けて（Ｓ２２０７）、コンソールビュー２０７０を生成するときのデバッガ制御手段３４３１の動作を示すフローチャートである。
【００９４】
まず、デバッガ制御手段３４３１は、アプリケーションサーバ起動情報３５３０から、該当する再現環境３２１０のＷＥＢアプリケーションサーバ３２１６が起動しているか否かを判断する（Ｓ２８０１）。起動中である場合、プロジェクト名情報３５１０を利用してＷＥＢアプリケーションサーバ３２１６のｌｏｇファイルの場所を特定し（Ｓ２８０２）、ｌｏｇファイルを取得し（Ｓ２８０３）、その内容を表示するコンソールビュー２０７０を生成する（Ｓ２８０４）。ＷＥＢアプリケーションサーバ３２１６が停止状態である場合は、空のコンソールビューを生成する（Ｓ２８０４）。
【００９５】
このように、障害票とある障害の対処を行うために構築した再現環境を関連付けることで、障害票管理のワークフローにのせて、該再現環境そのものを効率良く引き継ぐことができる。また、再現環境は、必ず障害票と関連付いているため、再現環境が多数になろうとも管理負荷を気にする必要がない。
【００９６】
障害票ごとに再現環境を自動生成するため、ユーザが環境構築を行う負荷を軽減することができ、その生成先を決定する手段を持つため、ユーザがその都度指定する手間を省くことができる。さらに障害票の現在の担当者のみに、その障害票に関連付いた再現環境へのアクセスを許可するため、複数ユーザによる作業の競合を防ぐことができる。
【００９７】
また、障害票と関連付いた再現環境にアクセスするためのインターフェースを持つため、ユーザは該再現環境の所在を意識する必要がない。高度なリモート操作技術を習得する必要もない。更に、該インターフェースがブラウザ上で実現されることにより、ユーザは、ＰＣや作業場所を限定されずに、開発作業を行うことができる。
【００９８】
また、例えば、デバッグ状態で起動させたソフトウェアプログラムがまさにブレークしているというような状態を、障害票と同時に次の担当者へまわすことが可能である。また、編集途中のソースファイル等もそのまま引き継ぐことができる。
【００９９】
（第２実施形態）
次に、本発明の第２の実施形態として、テスト専用のテスト用再現環境３２２０を持たず、最も後に生成された再現環境３２１０がテスト再現環境の役割を担う場合について説明する。つまり、テスト用の再現環境３２１０が、新規に再現環境３２１０が生成されたタイミングで入れ替わる。この場合、コピーして生成された再現環境３２１０が引き継がれるのではなく、障害が発生した再現環境３２１０そのものが、障害発生直後の状態で、障害票と関連付けられて引き継がれる。これにより、テストの実施をはじめとするすべての作業を１つの再現環境で実施することができる。なお、上記第１の実施の形態と同じ構成要素については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【０１００】
図２９は、本発明の第２の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【０１０１】
図１との違いは、テスト用再現環境決定情報３６００とテスト用再現環境決定手段３４２４が追加になっている点と、テスト用再現環境３２２０を持たない点である。
【０１０２】
図２９において、テスト用再現環境決定情報３６００は、再現環境情報記憶手段３２００に記憶された複数の再現環境のうち、現在どの再現環境３２１０がテスト用かを示す識別情報を格納するものである。テスト用再現環境決定手段３４２４は、新規に再現環境３２１０が生成されたタイミングで、生成された再現環境３２１０をテスト用と決定し、テスト用再現環境決定情報３６００の書き換えを実施するものである。
【０１０３】
図３０は、第２の実施形態における一連の操作イベントを受信したときの各ノード間のシーケンスを表す図である。
【０１０４】
図３との違いは、１つは、テスト実施Ｓ３１１のリクエストを受信した接続手段３１００が、いずれの再現環境３２１０がテスト用であるかを判断する点である。もう１つは、テスト実施Ｓ３１１、デバッグ操作Ｓ３４１、及びソース編集Ｓ３６１という一つの障害に対する一連の障害対応作業が、一つの再現環境３２１０に対して行われている点である。
【０１０５】
また、新規に再現環境３２１０を生成する際の複製元となる再現環境３２１０がテスト専用ではない点が異なる（Ｓ３００１）。図３３は、テスト用再現環境決定情報３６００の一例を示す図である。３３００は、現在テスト用となっている再現環境３２１０のポート番号を格納している。
【０１０６】
図３１は、第２の実施形態におけるＷＥＢブラウザ１１００からのリクエストを受けたときの接続手段３１００の動作を示したフローチャートである。
【０１０７】
上記第１の実施形態における図７との違いは、テスト用再現環境決定情報３６００からテスト用再現環境ポート番号を取得するＳ３１０１と、ＵＲＬを置き換えるＳ３１０２が追加されている。
【０１０８】
図３２は、第２の実施形態におけるテスト用再現環境ＷＥＢアプリケーションへの要求例を示す図である。本第２の実施形態では、ポート番号を持たないリクエストをテスト用の役割を担う再現環境ＷＥＢアプリケーションへのリクエストであると設定するものとする。
【０１０９】
図３１において、図３２に示すリクエストを受けた接続手段３１００は、パスパターンより、リクエストがテスト用再現環境ＷＥＢアプリケーションに対するものであると判断する（Ｓ７０４）。次に、接続手段３１００は、テスト用再現環境決定情報３６００よりテスト用再現環境ポート番号を取得し（Ｓ３１０１）、そのポート番号を付加したリクエスト（図９）に置き換える（Ｓ３１０２）。そして、現在のテスト用再現環境ＷＥＢアプリケーションへ転送する（Ｓ７０５）。
【０１１０】
図３４は、テスト用再現環境決定手段３４２４の動作を示すフローチャートである。
【０１１１】
最も後に生成された再現環境３２１０をテスト用とする場合、図１４の新規に再現環境３２１０を生成するフローの最後（Ｓ１４１０の後）にＳ３４０１が実行されることになる。つまり、新規に生成された再現環境３２１０のＷＥＢアプリケーションサーバ３２１６が起動されたのち、そのポート番号が、テスト用再現環境決定情報３６００に書き込まれる（Ｓ３４０１）。これにより、テスト用再現環境３２２０を入れ替えることが可能となる。
【０１１２】
（第３の実施形態）
次に、本発明の第３の実施形態として、テスト用再現環境３２２０を障害票管理サーバ３０００外のテスト用サーバ５０００に備える場合について説明する。また、障害発生時にテスト用再現環境３２２０をコピーするのではなく、障害を再現させるために必要な再現情報を記録しておき、その再現情報を使用して再現環境３２１０を生成するものとする。この場合は、再現環境３２１０を構築するタイミングを、障害票の新規作成Ｓ３２１以外のタイミングで行うことができる。本実施形態では、発行Ｓ３３１のイベント発生時に再現環境３２１０が生成されるものとする。なお、上記第１の実施の形態と同じ構成要素については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【０１１３】
図３５は、本発明の第３の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【０１１４】
図１との違いは、ネットワーク２００上に構成管理システムサーバ４０００（構成管理手段）が追加になっている点と、テスト用再現環境３２２０が障害票管理サーバ３０００外のテスト用サーバ５０００に構築されている点である。また、再現情報３４５０と、再現情報記録手段３４１４と、テンプレート環境３２６０が新に用意され、再現環境複製手段３４２１に代えて再現情報取得／生成手段３４２５が再現環境生成手段３４２０の構成要素となっている。ここで、構成管理システムサーバ４０００は、必要なファイルの呼び出しや、リポジトリへのデータ登録の際にリビジョン番号の管理等を行うことが可能な一般的な構成管理システムを搭載している。構成管理システムとしては、例えば、ＣＶＳ（Concurrent Versions System）等が挙げられる。構成管理システムサーバ４０００は、ソフトウェアプログラムのソースコードを構成管理するための構成管理情報を管理すると共に、評価対象のＷＥＢアプリケーションのファイル（ソース等）を管理する。再現環境情報記憶手段３２００が記憶する再現環境情報には、この構成管理情報が含まれる。
【０１１５】
テンプレート環境３２６０は、再現環境情報記憶手段３２００に記憶する再現環境３２１０を生成する際に必要となる基本的なソフトウェア、設定ファイル等の情報を持つもので、再現環境３２１０の土台としてコピーされる。テンプレート環境３２６０は、ＤＢ接続設定ファイル３２６１、ＤＢ３２６３、ＷＥＢアプリケーションサーバ設定ファイル３２６５、ＷＥＢアプリケーションサーバ３２６６で構成される。テンプレート環境３２６０の各設定ファイルには、障害票管理システムサーバのマシン情報等が予め設定されているため、再現環境３２１０生成時には、上記第１の実施形態と同じように各再現環境３２１０固有の設定のみ書き換えるようにすればよい。
【０１１６】
図３６は、第３の実施形態における一連の操作イベントを受信したときの各ノード間のシーケンスを表す図である。
【０１１７】
障害票制御／管理部３４００では、再現情報記録手段３４１４が、障害票の新規作成時（Ｓ３２１）にテスト用再現環境３２２０の状態を再現情報３４５０に記録する（Ｓ３６０１）。そして、発行Ｓ３３１のタイミングで、再現環境取得／生成手段３４２５が、再現情報３４５０を利用して再現環境３２１０を生成する（Ｓ３６０２）。ここで、再現情報３４５０は、該当する障害票が持つ情報として障害票ＤＢ３４４０内に記録されてもよい。
【０１１８】
図３７は、再現情報３４５０の一例を示す図である。
【０１１９】
再現情報３４５０には、再現環境３２１０を生成するのに必要な情報が格納される。３７０１は障害が発生した時点のテスト用再現環境３２２０にデプロイされていたアプリケーションのバージョンで、３７０２は障害が発生した時刻である。この情報は、障害票の新規作成Ｓ３２１のタイミングで、再現情報記録手段３４１４によって取得され、再現情報３４５０に記録される（Ｓ３６０１）。記録された情報は、再現環境生成時（本実施形態では発行Ｓ３３１のタイミング）に再現情報取得／生成手段３４２５によって利用される（Ｓ３６０２）。
【０１２０】
再現情報取得／生成手段３４２５は、テンプレート環境３２６０をコピーして、再現環境３２１０の枠組みをつくる。そして、そこに構成管理システムサーバ４０００から、アプリケーションのバージョン３７０１を構成するためのソースを取得後、コンパイル、デプロイする。続けて、テスト用サーバ５０００のＤＢ３２２３から障害発生時刻のＤＢの状態をエクスポートし、それを再現環境３２１０のＤＢ３２１３にインポートする。
【０１２１】
（第４の実施形態）
次に、第４の実施形態として、テスト用再現環境３２２０のｌｏｇ情報３２２７から障害発生時のリクエスト情報を特定し、再現環境３２１０に適した内容で再生成する機能を追加した場合について説明する。なお、上記第１の実施の形態と同じ構成要素については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【０１２２】
図３８は、本発明の第４の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【０１２３】
図１との違いは、現象再現リクエスト情報３４６０と、現象再現リクエスト生成手段３４２６が追加になっている点である。現象再現リクエスト生成手段３４２６は、障害発生時のリクエストを再現環境３２１０に適した現象再現リクエストに再生成する。現象再現リクエスト情報３４６０には、現象再現リクエスト生成手段３４２６によって生成された現象再現リクエストが登録される。
【０１２４】
図３９は、現象再現リクエスト生成手段３４２６の動作を示すフローチャートである。現象再現リクエストの生成は、再現環境３２１０生成時に行われるものとする。具体的には、第１の実施形態で説明した図１４のＳ１４０９の後に続けて行われるものとする。
【０１２５】
現象再現リクエスト生成手段３４２６は、プロジェクト名情報３５１０からｌｏｇ情報３２２７の場所を特定する（Ｓ３９０１）。次に、現象再現リクエスト生成手段３４２６は、ｌｏｇ情報３２２７から障害発生時のリクエストを取得する（Ｓ３９０２）。例えば、障害発生直後の状態がコピーされているので、最新のリクエストを取得する。
【０１２６】
次に、現象再現リクエスト生成手段３４２６は、ポート番号情報３５２０から該当する再現環境３２１０のポート番号を取得し（Ｓ３９０３）、障害発生時のリクエストから再現環境に適した現象再現リクエストを生成する（Ｓ３９０４）。例えば、障害発生時のｌｏｇ情報から抜き出した障害発生時のリクエストが図４２に示す「http://abcproject.com:8081/servlet/abc?type=login&cmd=form」であり、再現環境３２１０のポート番号が８０８２である場合は、ポート番号部分が書き換えられる。その結果、「http://abcproject.com:8082/servlet/abc?type=login&cmd=form」が生成される。これにより、該当する再現環境３２１０に対して障害発生時のリクエストを送信することが可能となる。最後に、現象再現リクエスト生成手段３４２６は、生成した現象再現リクエストを現象再現リクエスト情報３４６０に登録する（Ｓ３９０５）。
【０１２７】
図４０は、第４の実施形態における一連の操作イベントを受信したときの各ノード間のシーケンスを表す図である。
【０１２８】
上記第１の実施形態で説明した図３との違いは、現象再現イベントＳ４００１、障害発生時のリクエスト送信Ｓ４００２が加えられたものである。解析担当者が、図４１に示す障害票４１００が表示された画面上の現象再現ボタン４１０１をクリックすると、ＷＥＢブラウザ１１００が接続手段３１００に現象再現イベントＳ４００１を送信する。ここで送信されるリクエストは、現象再現リクエスト情報３４６０に記録された障害発生時の現象を再現させる要求である。接続手段３１００は、現象再現イベントを受信すると（Ｓ４００１）、それを該当する障害票４１００と関連付いた再現環境３２１０のＷＥＢアプリケーションサーバ３２１６に転送する（Ｓ４００２）。これにより、解析担当者は、ボタンをクリックするだけで障害発生時の現象を確認することができる。
【０１２９】
図４１は、現象再現ボタン４１０１が追加された解析中状態の障害票の一例を示す図である。
【０１３０】
現象再現ボタン４１０１がクリックされると、現象再現イベントＳ４００１が発生し、図４３に示すような障害発生時の要求が該当する障害票４１００と関連付いたテスト用再現環境ＷＥＢアプリケーションに送信される（Ｓ４００２）。
【０１３１】
図４２は、障害発生時のｌｏｇ情報３２２７から抜き出した障害発生時の要求例を示す図である。
【０１３２】
図４２において、テスト用再現環境ＷＥＢアプリケーションへのリクエストであるので、ポート番号が８０８１となっている。現象再現リクエスト生成手段３４２６は、このポート番号を該当する再現環境３２１０のポート番号に書き換えることで再現環境３２１０に適したリクエストを生成して記録する。
【０１３３】
図４３は、現象再現リクエスト情報３４６０の一例を示す図である。
【０１３４】
障害票４１００が表示された画面上の現象再現ボタン４１０１が押下されると、現象再現リクエスト４３０１をテスト用再現環境ＷＥＢアプリケーションに対して送信する。これにより、容易に障害の現象確認を行うことが可能となる。
【０１３５】
（第５の実施形態）
次に、第５の実施形態として、各再現環境３２１０とテスト用再現環境３２２０が共通のＷＥＢアプリケーションサーバ３２１６を使用する場合について説明する。本第５の実施形態に係るソフトウェア障害票管理システムは、上記第１の実施形態におけるソフトウェア障害票管理システムに対して再現環境情報記憶手段３２００の構成が異なるのみで、ノード間のシーケンスなどの基本的な動作は上記第１の実施形態と同じである。上記第１の実施の形態と同じ構成要素については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【０１３６】
図４４は、本発明の第５の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【０１３７】
図１との違いは、再現環境情報記憶手段３２００内にＷＥＢアプリケーションサーバ３２１６とＷＥＢアプリケーションサーバ設定ファイル３２１５が再現環境３２１０，３２２０ごとに用意されておらず、共通で使用する構成となっている点である。この場合は、ＷＥＢアプリケーションサーバ３２１６のプロジェクトディレクトリからコピーする必要はなく、アプリケーションディレクトリの単位でコピーすればよい。
【０１３８】
図４５は、障害票番号３５１１とアプリケーション名４５０１を関連付けて記録するアプリケーション名情報の一例を示す図である。アプリケーション名情報は、関連付け情報記憶手段３５００で管理される。
【０１３９】
図４６は、第５の実施形態における障害票に関連付いた再現環境ＷＥＢアプリケーションに対する要求ＵＲＬの一例を示す図である。
【０１４０】
本第５の実施形態では、同一のＷＥＢアプリケーションサーバ３２１６を使用するため、上記第１の実施形態で示したようなポート番号による再現環境３２１０の識別はできない。そのため、ＵＲＬにアプリケーション名を含めることによって識別する。具体的には、サーバホスト名の後に「スラッシュ（／）」＋「アプリケーション名」がつづくようにする。このアプリケーション名で、いずれの再現環境ＷＥＢアプリケーションへのリクエストであるか振り分けることが可能となる。
【０１４１】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４２】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１４３】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１４４】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【０１４５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【図面の簡単な説明】
【０１４６】
【図１】本発明の第１の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【図２】ソフトウェアプログラムの開発における障害票の作成プロセスの一例を示す図である。
【図３】図２のＷＥＢアプリケーション開発において発生する一連の操作イベントを受信したときの各ノード間のシーケンスを表す図である。
【図４】ワークフロー障害票管理システムのメニュー画面の一例を示す図である。
【図５】障害票の一例を示す図である。
【図６】解析中状態に遷移した障害票の一例を示す図である。
【図７】ＷＥＢブラウザからのリクエストを受けたときの接続手段の動作を示したフローチャートである。
【図８】ワークフロー障害票管理システムに対する要求ＵＲＬの一例を示す図である。
【図９】テスト用再現環境ＷＥＢアプリケーションに対する要求ＵＲＬの一例を示す図である。
【図１０】障害票と関連付いた再現環境ＷＥＢアプリケーションの対する要求ＵＲＬの一例を示す図である。
【図１１】障害票の新規作成要求を受信したときのワークフロー障害票管理システムの動作を示したフローチャートである。
【図１２】再現環境生成に必要な情報を決定し登録するときの関連制御手段の動作を示したフローチャートである。
【図１３】障害票に対応する関連付け情報取得時の関連制御手段の動作を示したフローチャートである。
【図１４】再現環境生成時の再現環境生成手段の動作を示したフローチャートである。
【図１５】書き換え前のＷＥＢアプリケーションサーバ設定ファイルの一例を示す図である。
【図１６】書き換え後のＷＥＢアプリケーションサーバ設定ファイルの一例を示す図である。
【図１７】書き換え前のＤＢ接続設定ファイルの一例を示す図である。
【図１８】書き換え後のＤＢ接続設定ファイルの一例を示す図である。
【図１９】関連付け情報記憶手段に記憶される内容の一例を示す図である。
【図２０】再現環境に対して操作を行うための開発用画面の一例を示す図である。
【図２１】開発用画面の表示を要求するＵＲＬの一例を示す図である。
【図２２】開発用画面表示時のワークフロー障害票管理システムの動作を示すフローチャートである。
【図２３】制御用ボタン生成時のアプリケーションサーバ制御手段の動作を示すフローチャートである。
【図２４】ディレクトリビュー生成時のエディタ制御手段の動作を示すフローチャートである。
【図２５】エディタビュー生成時のデバッガ制御手段とエディタ制御手段の動作を示すフローチャートである。
【図２６】スタックトレースビュー生成時のデバッガ制御手段の動作を示すフローチャートである。
【図２７】変数ビュー生成時のデバッガ制御手段の動作を示すフローチャートである。
【図２８】コンソールビュー生成時のデバッガ制御手段の動作を示すフローチャートである。
【図２９】本発明の第２の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【図３０】第２の実施形態における各操作イベントを受信したときのシステムのシーケンスを示す図である。
【図３１】第２の実施形態におけるリクエストを受信時の接続手段の動作を示すフローチャートである。
【図３２】第２の実施形態におけるテスト用再現環境ＷＥＢアプリケーションに対する要求ＵＲＬの一例を示す図である。
【図３３】テスト用再現環境決定情報の一例を示す図である。
【図３４】テスト用再現環境決定情報書き換え時のテスト用再現環境決定手段の動作を示すフローチャートである。
【図３５】本発明の第３の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【図３６】第３の実施形態における各操作イベントを受信したときのシステムのシーケンスを示す図である。
【図３７】再現情報の一例を示す図である。
【図３８】本発明の第４の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【図３９】現象再現リクエスト生成時の現象再現リクエスト生成手段の動作を示すフローチャートである。
【図４０】第４の実施形態における各操作イベントを受信したとききのシステムのシーケンスを示す図である。
【図４１】第４の実施形態における解析中状態の障害票の一例を示す図である。
【図４２】テスト用再現環境において障害発生時の要求ＵＲＬの一例を示す図である。
【図４３】現象再現リクエスト情報の一例を示す図である。
【図４４】本発明の第５の実施形態に係るソフトウェア障害票管理システムの構成例を示した図である。
【図４５】アプリケーション名情報の一例を示す図である。
【図４６】第５の実施形態における障害票と関連付いた再現環境ＷＥＢアプリケーションに対する要求ＵＲＬの一例を示す図である。
【符号の説明】
【０１４７】
１０００  クライアント端末
３０００  障害票管理サーバ
３１００  接続手段
３２００  再現環境情報記憶手段
３２１０  再現環境
３２２０  テスト用再現環境
３２３０  エディタ
３２４０  コンパイラ
３２５０  デバッガ
３２６０  テンプレート環境
３３００  関連制御手段
３４００  障害票制御／管理部
３４１０  障害票管理手段
３４２０  再現環境生成手段
３４３０  障害票表示手段
３４４０  障害票ＤＢ
３４５０  再現環境
３４６０  現象再現リクエスト情報
３５００  関連付け情報記憶手段
３６００  テスト用再現環境決定情報
【図１】
2009104393.tif 000003
【図２】
2009104393.tif 000004
【図３】
2009104393.tif 000005
【図４】
2009104393.tif 000006
【図５】
2009104393.tif 000007
【図６】
2009104393.tif 000008
【図７】
2009104393.tif 000009
【図８】
2009104393.tif 000010
【図９】
2009104393.tif 000011
【図１０】
2009104393.tif 000012
【図１１】
2009104393.tif 000013
【図１２】
2009104393.tif 000014
【図１３】
2009104393.tif 000015
【図１４】
2009104393.tif 000016
【図１５】
2009104393.tif 000017
【図１６】
2009104393.tif 000018
【図１７】
2009104393.tif 000019
【図１８】
2009104393.tif 000020
【図１９】
2009104393.tif 000021
【図２０】
2009104393.tif 000022
【図２１】
2009104393.tif 000023
【図２２】
2009104393.tif 000024
【図２３】
2009104393.tif 000025
【図２４】
2009104393.tif 000026
【図２５】
2009104393.tif 000027
【図２６】
2009104393.tif 000028
【図２７】
2009104393.tif 000029
【図２８】
2009104393.tif 000030
【図２９】
2009104393.tif 000031
【図３０】
2009104393.tif 000032
【図３１】
2009104393.tif 000033
【図３２】
2009104393.tif 000034
【図３３】
2009104393.tif 000035
【図３４】
2009104393.tif 000036
【図３５】
2009104393.tif 000037
【図３６】
2009104393.tif 000038
【図３７】
2009104393.tif 000039
【図３８】
2009104393.tif 000040
【図３９】
2009104393.tif 000041
【図４０】
2009104393.tif 000042
【図４１】
2009104393.tif 000043
【図４２】
2009104393.tif 000044
【図４３】
2009104393.tif 000045
【図４４】
2009104393.tif 000046
【図４５】
2009104393.tif 000047
【図４６】
2009104393.tif 000048