(57)【特許請求の範囲】
【請求項１】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、
本番環境におけるプログラムが記憶されるプログラム記憶部と、
テスト環境における環境に依存する情報と、本番環境における環境に依存する情報とを有する環境依存対応情報が１以上記憶される環境依存対応情報記憶部と、
前記環境依存対応情報を用いて、前記作業情報におけるテスト環境における環境に依存する情報を、本番環境における環境に依存する情報に変更する作業情報変更部と、
前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報変更部による変更後の作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部と、
前記コマンド実行部によるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部と、
前記判断部による判断の結果を出力する出力部と、を備えたプログラム改修装置。
【請求項２】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、
本番環境におけるプログラムが記憶されるプログラム記憶部と、
前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部と、
前記コマンド実行部によるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部と、
前記判断部による判断の結果を出力する出力部と、を備え、
前記判断部は、環境に依存する情報については、前記コマンド実行部によるコマンドの実行結果と、当該コマンドに対応する結果情報とが整合しなくても、不整合と判断しない、プログラム改修装置。
【請求項３】
前記環境に依存する情報は、アドレス、装置の名称、情報のパス、時刻の群から選ばれる１以上の情報である、請求項１または請求項２記載のプログラム改修装置。
【請求項４】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、
本番環境におけるプログラムが記憶されるプログラム記憶部と、
前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部と、
前記コマンド実行部によるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部と、
前記判断部による判断の結果を出力する出力部と、
前記作業情報に含まれるコマンドの実行指示を受け付ける受付部と、を備え、
前記コマンド実行部は、前記受付部が受け付けたコマンドの実行指示に応じて、前記作業情報に含まれる１個のコマンドを実行し、
前記出力部は、前記コマンド実行部が実行した１個のコマンドに対応する判断の結果を出力する、プログラム改修装置。
【請求項５】
前記プログラム記憶部で記憶されているプログラムに適用する改修済プログラムが記憶される改修済プログラム記憶部をさらに備え、
前記コマンド実行部は、前記作業情報に含まれる各コマンドを実行することにより、前記改修済プログラムを前記プログラムに適用する、請求項１から請求項４のいずれか記載のプログラム改修装置。
【請求項６】
請求項１から請求項５のいずれか記載のプログラム改修装置と、テスト環境装置とを備えた情報処理システムであって、
前記テスト環境装置は、
前記プログラム記憶部で記憶されるプログラムと同じプログラムが記憶されるテスト環境プログラム記憶部と、
コマンドの入力を受け付けるコマンド受付部と、
前記テスト環境プログラム記憶部で記憶されているプログラムに対して、前記コマンド受付部が受け付けたコマンドを実行するテスト環境コマンド実行部と、
前記テスト環境コマンド実行部によるコマンドの実行に応じて、実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報を蓄積する作業情報蓄積部と、
前記作業情報蓄積部が蓄積した作業情報を出力する作業情報出力部と、を備え、
前記プログラム改修装置は、
前記作業情報出力部が出力した作業情報を受け付け、前記作業情報記憶部に蓄積する作業情報受付部をさらに備えた、情報処理システム。
【請求項７】
前記テスト環境装置は、
前記テスト環境プログラム記憶部で記憶されているプログラムに適用する改修済プログラムが記憶されるテスト環境改修済プログラム記憶部をさらに備え、
前記テスト環境コマンド実行部は、前記コマンド受付部が受け付けたコマンドを実行することにより、前記テスト環境改修済プログラム記憶部で記憶されている改修済プログラムを前記テスト環境プログラム記憶部で記憶されているプログラムに適用する、請求項６記載の情報処理システム。
【請求項８】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部と、テスト環境における環境に依存する情報と、本番環境における環境に依存する情報とを有する環境依存対応情報が１以上記憶される環境依存対応情報記憶部と、作業情報変更部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、
前記作業情報変更部が、前記環境依存対応情報を用いて、前記作業情報におけるテスト環境における環境に依存する情報を、本番環境における環境に依存する情報に変更する作業情報変更ステップと、
前記コマンド実行部が、前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報変更ステップにおける変更後の作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、
前記判断部が、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、
前記出力部が、前記判断ステップにおける判断の結果を出力する出力ステップと、を備えたプログラム改修方法。
【請求項９】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、
前記コマンド実行部が、前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、
前記判断部が、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、
前記出力部が、前記判断ステップにおける判断の結果を出力する出力ステップと、を備え、
前記判断ステップでは、環境に依存する情報については、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドに対応する結果情報とが整合しなくても、不整合と判断しない、プログラム改修方法。
【請求項１０】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部と、受付部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、
前記受付部が、前記作業情報に含まれるコマンドの実行指示を受け付ける受付ステップと、
前記コマンド実行部が、前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、
前記判断部が、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、
前記出力部が、前記判断ステップにおける判断の結果を出力する出力ステップと、を備え、
前記コマンド実行ステップでは、前記受付ステップで受け付けたコマンドの実行指示に応じて、前記作業情報に含まれる１個のコマンドを実行し、
前記出力ステップでは、前記コマンド実行ステップで実行した１個のコマンドに対応する判断の結果を出力する、プログラム改修方法。
【請求項１１】
本番環境におけるプログラムが記憶されるプログラム記憶部と、前記プログラム記憶部で記憶されるプログラムと同じプログラムが記憶されるテスト環境プログラム記憶部と、コマンド受付部と、テスト環境コマンド実行部と、作業情報蓄積部と、テスト環境における環境に依存する情報と、本番環境における環境に依存する情報とを有する環境依存対応情報が１以上記憶される環境依存対応情報記憶部と、作業情報変更部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、
前記コマンド受付部が、プログラム改修のためのコマンドの入力を受け付けるコマンド受付ステップと、
前記テスト環境コマンド実行部が、前記テスト環境プログラム記憶部で記憶されているプログラムに対して、前記コマンド受付ステップで受け付けたコマンドを実行するテスト環境コマンド実行ステップと、
前記作業情報蓄積部が、前記テスト環境コマンド実行ステップにおけるコマンドの実行に応じて、実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報を蓄積する作業情報蓄積ステップと、
前記作業情報変更部が、前記環境依存対応情報を用いて、前記作業情報におけるテスト環境における環境に依存する情報を、本番環境における環境に依存する情報に変更する作業情報変更ステップと、
前記コマンド実行部が、前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報変更ステップにおける変更後の作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、
前記判断部が、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、
前記出力部が、前記判断ステップにおける判断の結果を出力する出力ステップと、を備えたプログラム改修方法。
【請求項１２】
本番環境におけるプログラムが記憶されるプログラム記憶部と、前記プログラム記憶部で記憶されるプログラムと同じプログラムが記憶されるテスト環境プログラム記憶部と、コマンド受付部と、テスト環境コマンド実行部と、作業情報蓄積部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、
前記コマンド受付部が、プログラム改修のためのコマンドの入力を受け付けるコマンド受付ステップと、
前記テスト環境コマンド実行部が、前記テスト環境プログラム記憶部で記憶されているプログラムに対して、前記コマンド受付ステップで受け付けたコマンドを実行するテスト環境コマンド実行ステップと、
前記作業情報蓄積部が、前記テスト環境コマンド実行ステップにおけるコマンドの実行に応じて、実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報を蓄積する作業情報蓄積ステップと、
前記コマンド実行部が、前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、
前記判断部が、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、
前記出力部が、前記判断ステップにおける判断の結果を出力する出力ステップと、を備え、
前記判断ステップでは、環境に依存する情報については、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドに対応する結果情報とが整合しなくても、不整合と判断しない、プログラム改修方法。
【請求項１３】
本番環境におけるプログラムが記憶されるプログラム記憶部と、前記プログラム記憶部で記憶されるプログラムと同じプログラムが記憶されるテスト環境プログラム記憶部と、コマンド受付部と、テスト環境コマンド実行部と、作業情報蓄積部と、受付部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、
前記コマンド受付部が、プログラム改修のためのコマンドの入力を受け付けるコマンド受付ステップと、
前記テスト環境コマンド実行部が、前記テスト環境プログラム記憶部で記憶されているプログラムに対して、前記コマンド受付ステップで受け付けたコマンドを実行するテスト環境コマンド実行ステップと、
前記作業情報蓄積部が、前記テスト環境コマンド実行ステップにおけるコマンドの実行に応じて、実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報を蓄積する作業情報蓄積ステップと、
前記受付部が、前記作業情報に含まれるコマンドの実行指示を受け付ける受付ステップと、
前記コマンド実行部が、前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、
前記判断部が、前記コマンド実行ステップにおけるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、
前記出力部が、前記判断ステップにおける判断の結果を出力する出力ステップと、を備え、
前記コマンド実行ステップでは、前記受付ステップで受け付けたコマンドの実行指示に応じて、前記作業情報に含まれる１個のコマンドを実行し、
前記出力ステップでは、前記コマンド実行ステップで実行した１個のコマンドに対応する判断の結果を出力する、プログラム改修方法。
【請求項１４】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部と、テスト環境における環境に依存する情報と、本番環境における環境に依存する情報とを有する環境依存対応情報が１以上記憶される環境依存対応情報記憶部とにアクセス可能なコンピュータを、
前記環境依存対応情報を用いて、前記作業情報におけるテスト環境における環境に依存する情報を、本番環境における環境に依存する情報に変更する作業情報変更部、
前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報変更部による変更後の作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部、
前記コマンド実行部によるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部、
前記判断部による判断の結果を出力する出力部として機能させるためのプログラム。
【請求項１５】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部とにアクセス可能なコンピュータを、
前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部、
前記コマンド実行部によるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部、
前記判断部による判断の結果を出力する出力部として機能させ、
前記判断部は、環境に依存する情報については、前記コマンド実行部によるコマンドの実行結果と、当該コマンドに対応する結果情報とが整合しなくても、不整合と判断しない、プログラム。
【請求項１６】
テスト環境においてプログラム改修のために実行されたコマンドと、当該コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部とにアクセス可能なコンピュータを、
前記作業情報に含まれるコマンドの実行指示を受け付ける受付部、
前記プログラム記憶部で記憶されているプログラムに対して、前記作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部、
前記コマンド実行部によるコマンドの実行結果と、当該コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部、
前記判断部による判断の結果を出力する出力部として機能させ、
前記コマンド実行部は、前記受付部が受け付けたコマンドの実行指示に応じて、前記作業情報に含まれる１個のコマンドを実行し、
前記出力部は、前記コマンド実行部が実行した１個のコマンドに対応する判断の結果を出力する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの改修を行うプログラム改修装置等に関する。
【背景技術】
【０００２】
従来、システム運用業務では、反復性の高い業務が多いため、バッチスケジューラをはじめとする自動化技術が用いられていた。一方、システム保守業務では、行われる作業が必ずしも反復作業ではないため、通常、手作業でシステムの変更やリリースを行っていた。
【０００３】
なお、関連する技術として、申請された作業と、実際に行われた作業とを比較する方法が開発されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１１５４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
改修済みのプログラムをシステムに適用することなどによりプログラム改修を行うシステム保守業務では、上述のように、手作業で処理が行われるため、その手作業に起因する作業ミスの発生が多かった。その作業ミスの主な原因は、例えば、検証機で十分なテストをしなかったこと（検証不足）、適切な作業手順書を作成しなかったこと（手順書の不備）、作業手順書通りに操作を行わなかったこと（操作間違い）等である。
【０００６】
なお、作業ミスをなくすための有効な手段として、システム運用業務の場合と同様に自動化することが考えられるが、システム保守業務は、通常、一回だけの作業であって反復作業ではないため、自動化することがコスト面、効率面で難しかった。
【０００７】
本発明は、上記事情に応じてなされたものであり、プログラムの改修時の作業ミスを低減させることができるプログラム改修装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明によるプログラム改修装置は、テスト環境においてプログラム改修のために実行されたコマンドと、コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部と、プログラム記憶部で記憶されているプログラムに対して、作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部と、コマンド実行部によるコマンドの実行結果と、コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部と、判断部による判断の結果を出力する出力部と、を備えたものである。
【０００９】
このような構成により、テスト環境においてプログラム改修のために実行されたコマンドを自動実行することにより、プログラム改修を行うことができる。このように、テスト環境において適切に実行された結果を用いるため、プログラム改修における操作ミスを低減させることができる。また、テスト環境で生成されたコマンドを実行させるため、半自動でプログラム改修を行うことができ、コマンドを手入力することによってプログラム改修を行う場合に比べて、労力を軽減することができる。また、少なくともテスト環境において実行されているため、検証不足が発生しないようにすることができる。また、作業情報が、テスト環境において適切に実行された結果であることによって、その作業情報自体が適切な手順書となり、手順書の不備を解消することができる。
【００１０】
また、本発明によるプログラム改修装置では、前記プログラム記憶部で記憶されているプログラムに適用する改修済プログラムが記憶される改修済プログラム記憶部をさらに備え、前記コマンド実行部は、前記作業情報に含まれる各コマンドを実行することにより、前記改修済プログラムを前記プログラムに適用してもよい。
このような構成により、プログラム記憶部で記憶されているプログラムに改修済プログラムを適用することによって、プログラム改修を行うことができる。
【００１１】
また、本発明によるプログラム改修装置では、テスト環境における環境に依存する情報と、本番環境における環境に依存する情報とを有する環境依存対応情報が１以上記憶される環境依存対応情報記憶部と、環境依存対応情報を用いて、作業情報におけるテスト環境における環境に依存する情報を、本番環境における環境に依存する情報に変更する作業情報変更部と、をさらに備え、コマンド実行部は、作業情報変更部による変更後の作業情報を用いてプログラム改修を行ってもよい。
このような構成により、環境に依存する情報を適切に変換した上で、プログラム改修の処理を行うことができるようになり、テスト環境と本番環境との環境の違いに起因する不整合を解消することができうる。
【００１２】
また、本発明によるプログラム改修装置では、判断部は、環境に依存する情報については、コマンド実行部によるコマンドの実行結果と、コマンドに対応する結果情報とが整合しなくても、不整合と判断しなくてもよい。
このような構成により、本来は不整合でないものを不整合としてしまう事態を回避することができうる。
【００１３】
また、本発明によるプログラム改修装置では、環境に依存する情報は、アドレス、装置の名称、情報のパス、時刻の群から選ばれる１以上の情報であってもよい。
【００１４】
また、本発明によるプログラム改修装置では、作業情報に含まれるコマンドの実行指示を受け付ける受付部をさらに備え、コマンド実行部は、受付部が受け付けたコマンドの実行指示に応じて、作業情報に含まれる１個のコマンドを実行し、出力部は、コマンド実行部が実行した１個のコマンドに対応する判断の結果を出力してもよい。
このような構成により、プログラム改修装置の操作者が、１コマンドずつ確認しながら、コマンドの実行を行うことができるようになる。そのため、例えば、途中で何らかの修正が必要になった場合にも、その時点で修正することができるようになる。
【００１５】
また、本発明による情報処理システムは、前述のプログラム改修装置と、テスト環境装置とを備えた情報処理システムであって、テスト環境装置は、プログラム記憶部で記憶されるプログラムと同じプログラムが記憶されるテスト環境プログラム記憶部と、コマンドの入力を受け付けるコマンド受付部と、テスト環境プログラム記憶部で記憶されているプログラムに対して、コマンド受付部が受け付けたコマンドを実行するテスト環境コマンド実行部と、テスト環境コマンド実行部によるコマンドの実行に応じて、実行されたコマンドと、コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報を蓄積する作業情報蓄積部と、作業情報蓄積部が蓄積した作業情報を出力する作業情報出力部と、を備え、プログラム改修装置は、作業情報出力部が出力した作業情報を受け付け、作業情報記憶部に蓄積する作業情報受付部をさらに備えた、ものである。
このような構成により、テスト環境装置で生成した作業情報をプログラム改修装置に渡し、プログラム改修装置で使用することができるようになる。
【００１６】
また、本発明による情報処理システムでは、前記テスト環境装置は、前記テスト環境プログラム記憶部で記憶されているプログラムに適用する改修済プログラムが記憶されるテスト環境改修済プログラム記憶部をさらに備え、前記テスト環境コマンド実行部は、前記コマンド受付部が受け付けたコマンドを実行することにより、前記テスト環境改修済プログラム記憶部で記憶されている改修済プログラムを前記テスト環境プログラム記憶部で記憶されているプログラムに適用してもよい。
このような構成により、テスト環境において、テスト環境プログラム記憶部で記憶されているプログラムに改修済プログラムを適用することによって、プログラム改修を行うことができる。
【００１７】
また、本発明によるプログラム改修方法は、テスト環境においてプログラム改修のために実行されたコマンドと、コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、コマンド実行部が、プログラム記憶部で記憶されているプログラムに対して、作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、判断部が、コマンド実行ステップにおけるコマンドの実行結果と、コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、出力部が、判断ステップにおける判断の結果を出力する出力ステップと、を備えたものである。
【００１８】
また、本発明によるプログラム改修方法は、本番環境におけるプログラムが記憶されるプログラム記憶部と、プログラム記憶部で記憶されるプログラムと同じプログラムが記憶されるテスト環境プログラム記憶部と、コマンド受付部と、テスト環境コマンド実行部と、作業情報蓄積部と、コマンド実行部と、判断部と、出力部とを用いて処理されるプログラム改修方法であって、コマンド受付部が、プログラム改修のためのコマンドの入力を受け付けるコマンド受付ステップと、テスト環境コマンド実行部が、テスト環境プログラム記憶部で記憶されているプログラムに対して、コマンド受付ステップで受け付けたコマンドを実行するテスト環境コマンド実行ステップと、作業情報蓄積部が、テスト環境コマンド実行ステップにおけるコマンドの実行に応じて、実行されたコマンドと、コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報を蓄積する作業情報蓄積ステップと、コマンド実行部が、プログラム記憶部で記憶されているプログラムに対して、作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行ステップと、判断部が、コマンド実行ステップにおけるコマンドの実行結果と、コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断ステップと、出力部が、判断ステップにおける判断の結果を出力する出力ステップと、を備えたものである。
【発明の効果】
【００１９】
本発明によるプログラム改修装置等によれば、プログラム改修時の作業ミスを低減させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態１による情報処理システムの構成を示す図
【図２】本発明の実施の形態１によるテスト環境装置の構成を示すブロック図
【図３】本発明の実施の形態１によるプログラム改修装置の構成を示すブロック図
【図４】同実施の形態によるテスト環境装置の動作を示すフローチャート
【図５】同実施の形態によるプログラム改修装置の動作を示すフローチャート
【図６】同実施の形態における表示の一例を示す図
【図７】同実施の形態における作業情報の一例を示す図
【図８】同実施の形態における環境依存対応情報の一例を示す図
【図９】同実施の形態における表示の一例を示す図
【図１０】同実施の形態における表示の一例を示す図
【図１１】同実施の形態におけるコンピュータシステムの外観一例を示す模式図
【図１２】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００２１】
以下、本発明によるプログラム改修装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【００２２】
（実施の形態１）
本発明の実施の形態１による情報処理システムについて、図面を参照しながら説明する。本実施の形態による情報処理システムは、プログラム改修時の作業ミスを低減可能なプログラム改修装置を備えたものである。
【００２３】
図１は、本実施の形態による情報処理システム１００の構成を示すブロック図である。本実施の形態による情報処理システム１００は、テスト環境装置１と、プログラム改修装置２とを備える。テスト環境装置１では、後述する作業情報が生成される。プログラム改修装置２は、その作業情報を受け付け、その作業情報を用いてプログラムの改修を行うものである。テスト環境装置１、プログラム改修装置２は、例えば、パーソナルコンピュータや、サーバ、特定の処理に特化した専用機器等であってもよい。テスト環境装置１と、プログラム改修装置２との間での作業情報の授受は、例えば、有線または無線の通信回線を介して行われてもよく、着脱可能な記録媒体を用いて行われてもよく、その他の手段を介して行われてもよい。通信回線は、例えば、インターネットやイントラネット、公衆電話回線網等であってもよい。また、テスト環境装置１側をテスト環境と呼び、プログラム改修装置２側を本番環境と呼ぶこともある。本番環境は、実際に業務等で使用されている環境である。例えば、本番環境は、銀行のシステムであってもよく、ネットワーク上のサーバ（例えば、ネットワーク上のショッピングモールのサーバ等でもよい）であってもよく、その他の業務等で使用されている環境であってもよい。本実施の形態による情報処理システム１００は、テスト環境において適切に実行されたプログラム改修のコマンドと、そのコマンドの実行結果とを記録し、それを用いて本番環境において、プログラム改修と、その検証とを行うものである。プログラム改修とは、例えば、機能追加等のプログラムの改良であってもよく、プログラムの修正であってもよく、あるいは、プログラムを変更するその他の処理であってもよい。
【００２４】
図２は、本実施の形態によるテスト環境装置１の構成を示すブロック図である。図２において、本実施の形態によるテスト環境装置１は、テスト環境プログラム記憶部１１と、コマンド受付部１２と、テスト環境コマンド実行部１３と、作業情報蓄積部１４と、作業情報出力部１５と、表示部１６と、テスト環境改修済プログラム記憶部１７とを備える。
【００２５】
テスト環境プログラム記憶部１１では、後述するプログラム改修装置２のプログラム記憶部２３で記憶されるプログラムと同じプログラムが記憶される。このプログラムはどのようなものであってもよい。例えば、アプリケーションプログラムであってもよく、データベースのプログラムであってもよく、その他の種類のプログラムであってもよい。このプログラムは、例えば、前述のように、銀行のシステムやネットワーク上のサーバ等のシステムを稼働させるプログラムであってもよい。また、このプログラムは、例えば、プログラムの一部（例えば、モジュールやライブラリ等）であってもよく、全体であってもよい。また、このプログラムは、例えば、プログラム言語で記述されたものであってもよく、あるいは、他のプログラムが実行時に参照する外部変数等のデータやパラメータ等であってもよい。また、このプログラムは、外部変数等のデータやパラメータ、あるいは、モジュールやライブラリ等を含むものであってもよい。このプログラムがプログラム言語で記述されたものである場合に、その形式は、例えば、ソースプログラムであってもよく、実行形式のプログラムであってもよい。そのプログラムは、例えば、インタプリタ形式のものであってもよく、コンパイラ形式のものであってもよい。
【００２６】
テスト環境プログラム記憶部１１にプログラムが記憶される過程は問わない。例えば、記録媒体を介してプログラムがテスト環境プログラム記憶部１１で記憶されるようになってもよく、通信回線等を介して送信されたプログラムがテスト環境プログラム記憶部１１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたプログラムがテスト環境プログラム記憶部１１で記憶されるようになってもよい。テスト環境プログラム記憶部１１での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。テスト環境プログラム記憶部１１は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２７】
コマンド受付部１２は、コマンドの入力を受け付ける。このコマンド受付部１２が受け付けるコマンドは、テスト環境プログラム記憶部１１で記憶されているプログラムの改修のために実行されるものである。プログラムの改修は、例えば、モジュール等の入れ替えや、データベースのデータ補正、ライブラリの入れ替え、パラメータ、設定等の変更であってもよい。通常、そのコマンドは、手順書等にしたがって入力されることになる。本実施の形態では、テスト環境改修済プログラム記憶部１７で記憶されている改修済プログラムをテスト環境プログラム記憶部１１で記憶されているプログラムに適用するためのコマンドが、コマンド受付部１２で受け付けられるものとする。改修対象のプログラムがネットワーク上のショッピングモールのサーバを稼働させるプログラムである場合には、そのコマンドは、例えば、そのサーバをショッピングモールの客が使用できなくするコマンド、プログラムの実行をとめるコマンド、プログラムの少なくとも一部を、改修済プログラムに入れ替えるコマンド、改修済プログラムの適用されたプログラムの実行を開始するコマンド、サーバをショッピングモールの客が使用できるようにするコマンド等であってもよい。また、コマンド受付部１２は、テスト環境装置１に対するコマンド以外の入力を受け付けてもよい。なお、このテスト環境におけるコマンドの入力は、例えば、プログラム改修に関する手順書の検証のためや、手順書の作成のために行われるものであってもよい。コマンド受付部１２は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力されたコマンド等を受け付けてもよく、有線もしくは無線の通信回線を介して送信されたコマンド等を受信してもよい。なお、コマンド受付部１２は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい。また、コマンド受付部１２は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００２８】
テスト環境コマンド実行部１３は、テスト環境プログラム記憶部１１で記憶されているプログラムに対して、コマンド受付部１２が受け付けたコマンドを実行する。なお、コマンド受付部１２が受け付けた複数のコマンドが全体としてテスト環境プログラム記憶部１１で記憶されているプログラムを改修するために用いられるのであれば、個々のコマンドは、そうでなくてもよい。例えば、あるコマンドは、ディレクトリの移動のコマンドや、ディレクトリのパスを表示するコマンド、テスト環境改修済プログラム記憶部１７で記憶されている改修済プログラムを所定の場所にコピーするコマンド等であってもよい。本実施の形態では、テスト環境コマンド実行部１３がコマンド受付部１２で受け付けられたコマンドを実行することにより、テスト環境改修済プログラム記憶部１７で記憶されている改修済プログラムが、テスト環境プログラム記憶部１１で記憶されているプログラムに適用されることになるものとする。また、このテスト環境でのコマンドの実行は、エラーの存在しうるコマンドの実行であるため、例えば、コマンドの実行前にチェックポイントを作成しておき、コマンドの実行の結果が適切なものでない場合には、任意のチェックポイントにロールバック（後進復帰）することができるようにしてもよい。なお、このようなロールバックの技術はすでに公知であり、その詳細な説明を省略する。
【００２９】
作業情報蓄積部１４は、テスト環境コマンド実行部１３によるコマンドの実行に応じて、実行されたコマンドと、コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報を所定の記録媒体に蓄積する。一の実行情報は、一のコマンドと、その一のコマンドの実行に対応する戻り値に関する結果情報とを有する。したがって、作業情報蓄積部１４が、テスト環境コマンド実行部１３によるコマンドの実行に応じて、順次、実行情報を蓄積していくことによって、結果として、その１以上の実行情報を有する作業情報が所定の記録媒体に蓄積されることになる。また、結果情報は、コマンドの実行に対する戻り値そのものであってもよく、その戻り値に関する条件であってもよく、その他の戻り値に関する情報であってもよい。戻り値に関する条件とは、例えば、戻り値に「ｎｏｒｍａｌ  ｅｎｄ」が含まれることであってもよく、戻り値に「ｃｏｍｐｌｅｔｅｄ  ｎｏｒｍａｌｌｙ」が含まれることであってもよい。作業情報が蓄積される所定の記録媒体は、例えば、半導体メモリや、光ディスク、磁気ディスク等であり、作業情報蓄積部１４が有していてもよく、あるいは作業情報蓄積部１４の外部に存在してもよい。また、その所定の記録媒体は、作業情報を一時的に記憶するものであってもよく、そうでなくてもよい。
【００３０】
作業情報出力部１５は、作業情報蓄積部１４が蓄積した作業情報を出力する。ここで、この出力は、プログラム改修装置２に作業情報を渡すための出力であれば、その内容を問わない。この出力は、例えば、所定の機器（例えば、プログラム改修装置２でもよく、他の中継の装置でもよい）への通信回線を介した送信でもよく、記録媒体（着脱可能な記録媒体でもよい）への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、作業情報出力部１５は、出力を行うデバイス（例えば、通信デバイスや、記録媒体とのインターフェースなど）を含んでもよく、あるいは含まなくてもよい。また、作業情報出力部１５は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３１】
表示部１６は、テスト環境装置１における情報を適宜、表示する。表示部１６は、例えば、コマンド受付部１２が受け付けたコマンドを表示し、また、そのコマンドの実行に応じた戻り値を表示してもよい。また、表示部１６は、コマンドの実行に関する操作や、作業情報の出力に間操作を受け付けるための画面等を表示してもよい。なお、表示部１６は、それらの表示を行う表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）を含んでもよく、あるいは含まなくてもよい。また、表示対象の表示は、別の装置においてなされてもよい。その場合には、表示部１６は、装置の外部に対して表示対象の情報を送信するものであってもよい。また、表示部１６は、ハードウェアによって実現されてもよく、あるいは表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３２】
テスト環境改修済プログラム記憶部１７では、改修済プログラムが記憶される。この改修済プログラムは、後述するプログラム改修装置２の改修済プログラム記憶部３０で記憶される改修済プログラムと同様のものである。この改修済プログラムがテスト環境プログラム記憶部１１で記憶されているプログラムに適用されることにより、プログラムの改修が行われることになる。この改修済プログラムは、例えば、プログラム言語で記述されたもの（例えば、ライブラリやモジュール等であってもよい）であってもよく、あるいは、外部変数等のデータやパラメータ等であってもよい。本実施の形態では、改修済プログラムが、例えば、プログラムにおいて入れ替えられるモジュールやライブラリ、データ、パラメータ等である場合について主に説明する。
【００３３】
テスト環境改修済プログラム記憶部１７に改修済プログラムが記憶される過程は問わない。例えば、記録媒体を介して改修済プログラムがテスト環境改修済プログラム記憶部１７で記憶されるようになってもよく、通信回線等を介して送信された改修済プログラムがテスト環境改修済プログラム記憶部１７で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された改修済プログラムがテスト環境改修済プログラム記憶部１７で記憶されるようになってもよい。テスト環境改修済プログラム記憶部１７での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。テスト環境改修済プログラム記憶部１７は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００３４】
なお、テスト環境プログラム記憶部１１と、作業情報蓄積部１４が作業情報を蓄積する所定の記録媒体と、テスト環境改修済プログラム記憶部１７とのうち、任意の二以上の記憶部や記録媒体は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、プログラムを記憶している領域がテスト環境プログラム記憶部１１となり、作業情報を記憶している領域が作業情報蓄積部１４が作業情報を蓄積する所定の記録媒体となってもよい。
【００３５】
図３は、本実施の形態によるプログラム改修装置２の構成を示すブロック図である。図３において、本実施の形態によるプログラム改修装置２は、作業情報受付部２１と、作業情報記憶部２２と、プログラム記憶部２３と、受付部２４と、コマンド実行部２５と、判断部２６と、出力部２７と、環境依存対応情報記憶部２８と、作業情報変更部２９と、改修済プログラム記憶部３０とを備える。
【００３６】
作業情報受付部２１は、作業情報出力部１５が出力した作業情報を受け付け、作業情報記憶部２２に蓄積する。作業情報受付部２１は、例えば、有線もしくは無線の通信回線を介して送信された作業情報を受信してもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出された作業情報を受け付けてもよい。なお、作業情報受付部２１は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい。また、作業情報受付部２１は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３７】
作業情報記憶部２２では、作業情報が記憶される。その作業情報は、前述のように、テスト環境においてプログラム改修のために実行されたコマンドと、コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する情報である。作業情報記憶部２２で記憶される作業情報は、前述のように、作業情報受付部２１が受け付けて蓄積したものである。作業情報記憶部２２での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。作業情報記憶部２２は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００３８】
プログラム記憶部２３では、本番環境におけるプログラムが記憶される。このプログラムが、プログラム改修装置２において改修の対象となるプログラムである。このプログラムは、前述のテスト環境プログラム記憶部１１で記憶されるプログラムと同様のものである。プログラム記憶部２３にプログラムが記憶される過程は問わない。例えば、記録媒体を介してプログラムがプログラム記憶部２３で記憶されるようになってもよく、通信回線等を介して送信されたプログラムがプログラム記憶部２３で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたプログラムがプログラム記憶部２３で記憶されるようになってもよい。プログラム記憶部２３での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。プログラム記憶部２３は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００３９】
受付部２４は、作業情報に含まれるコマンドの実行指示を受け付ける。その指示は、例えば、「実行指示」ボタンがクリックされることによって受け付けられてもよい。また、受付部２４は、それ以外の受け付けを行ってもよい。例えば、作業情報を用いたコマンドの実行時に修正が必要な場合には、受付部２４は、その修正のためのコマンドの入力を受け付けてもよい。受付部２４は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された情報を受信してもよい。なお、受付部２４は、受け付けを行うためのデバイス（例えば、入力デバイスやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい。また、受付部２４は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００４０】
コマンド実行部２５は、プログラム記憶部２３で記憶されているプログラムに対して、作業情報に含まれる各コマンドを実行することによりプログラム改修を行う。コマンド実行部２５は、作業情報の各実行情報に含まれるコマンドを、順番に実行していくものとする。本実施の形態では、コマンド実行部２５は、受付部２４が受け付けたコマンドの実行指示に応じて、作業情報に含まれる１個のコマンドを実行するものとする。その実行される１個のコマンドは、まだ実行されていないコマンドであって、最後に実行されたコマンドの次のコマンドである。本実施の形態では、コマンド実行部２５が作業情報に含まれる各コマンドを実行することにより、プログラム記憶部２３で記憶されているプログラムに、改修済プログラム記憶部３０で記憶されている改修済プログラムを適用することが行われるものとする。プログラムに改修済プログラムを適用するとは、例えば、プログラムに含まれるモジュールやライブラリ等を、改修済プログラムであるモジュールやライブラリ等に置き換えることであってもよい。また、コマンド実行部２５は、そのコマンドの実行に応じて、戻り値を取得する。また、コマンド実行部２５は、後述する作業情報変更部２９による変更後の作業情報を用いてプログラム改修を行うものとする。
【００４１】
判断部２６は、コマンド実行部２５によるコマンドの実行結果と、そのコマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する。
結果情報が戻り値そのものである場合には、判断部２６は、コマンド実行部２５によるコマンドの実行結果である戻り値と、結果情報とを比較し、一致するときには整合すると判断し、一致しないときには整合しないと判断してもよい。例えば、ある実行情報にコマンド「ｃｄ／  ｔｍｐ；ｐｗｄ」と結果情報「／ｔｍｐ」とが含まれていたとする。そして、コマンド実行部２５がコマンド「ｃｄ／  ｔｍｐ；ｐｗｄ」を実行した際に、戻り値が「／ｔｍｐ」である場合には、判断部２６は、その戻り値と、結果情報とが一致するため、両者が整合すると判断する。
結果情報が戻り値そのものではなく、戻り値に関する条件である場合には、判断部２６は、コマンド実行部２５によるコマンドの実行結果である戻り値と、結果情報とを比較し、その戻り値が結果情報の条件を満たすときには整合すると判断し、その戻り値が結果情報の条件を満たさないときには整合しないと判断してもよい。例えば、ある実行情報にコマンド「／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ｓｃｒｉｐｔｓ／ｒｅｇｉｓｔｅｒ＿ｐｋｇ．ｓｈ／  ｘｘｘｘｘ．ｌｉｓｔ」と、結果情報「＊ｃｏｍｐｌｅｔｅｄ  ｎｏｒｍａｌｌｙ＊」とが含まれていたとする。その結果情報における「＊」は、任意の０以上の文字の並びにマッチするものであるとする。そして、コマンド実行部２５がコマンド「／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ｓｃｒｉｐｔｓ／ｒｅｇｉｓｔｅｒ＿ｐｋｇ．ｓｈ／  ｘｘｘｘｘ．ｌｉｓｔ」を実行した際に、戻り値が「ＭＳＧ−０１２４  Ｏｐｅｒａｔｉｏｎ  ｃｏｍｐｌｅｔｅｄ  ｎｏｒｍａｌｌｙ．」である場合には、判断部２６は、その戻り値が結果情報の条件を満たすため、両者が整合すると判断する。
【００４２】
出力部２７は、判断部２６による判断の結果を出力する。出力部２７は、例えば、判断の結果のみを出力してもよく、コマンドと、戻り値と、判断の結果とを出力してもよい。また、判断の結果が不整合である場合には、出力部２７は、さらに、判断で用いられた結果情報をも出力してもよく、あるいは、出力しなくてもよい。本実施の形態では、受付部２４が受け付けた実行指示に応じて、コマンドが１個ずつ実行されるため、出力部２７は、コマンド実行部２５が実行した１個のコマンドに対応する判断の結果を出力するものとする。ここで、この出力は、判断部２６による判断結果をユーザに通知することができるのであれば、その出力方法を問わない。この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、出力部２７が表示を行う場合について説明する。なお、出力部２７は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、出力部２７は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００４３】
環境依存対応情報記憶部２８では、１以上の環境依存対応情報が記憶される。環境依存対応情報は、テスト環境における環境に依存する情報であるテスト環境依存情報と、本番環境における環境に依存する情報である本番環境依存情報とを有する情報である。一の環境依存対応情報に含まれるテスト環境依存情報と本番環境依存情報とは、互いに対応する情報である。環境に依存する情報とは、アドレス、装置の名称、情報のパス、時刻の群から選ばれる１以上の情報である。アドレスは、ＩＰアドレスであってもよく、その他のアドレスであってもよい。また、装置の名称は、いわゆるホスト名であってもよく、あるいは、装置を識別可能なその他の名称であってもよい。通常、テスト環境装置１と、プログラム改修装置２とは別の装置であるため、両者のアドレスや装置の名称は異なっていることが多いと考えられる。また、テスト環境装置１と、プログラム改修装置２とは別の装置であるため、両者でディレクトリ構造が異なっていることがあり、フォルダやファイルのパスが両者で異なっていることがあると考えられる。また、テスト環境でのコマンドの実行の日時と、本番環境でのコマンドの実行の日時とにはタイムラグが存在する。テスト環境でまずコマンドが実行されてから、本番環境でコマンドが実行されるからである。したがって、そのようなテスト環境と、本番環境とで異なる情報を対応付けるのが、環境依存対応情報である。この環境依存対応情報は、例えば、人手によって作成されたものであってもよく、あるいは、テスト環境装置１とプログラム改修装置２との両方の装置にアクセス可能な装置によって自動的に作成されたものであってもよい。
【００４４】
環境依存対応情報記憶部２８に１以上の環境依存対応情報が記憶される過程は問わない。例えば、記録媒体を介して１以上の環境依存対応情報が環境依存対応情報記憶部２８で記憶されるようになってもよく、通信回線等を介して送信された１以上の環境依存対応情報が環境依存対応情報記憶部２８で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された１以上の環境依存対応情報が環境依存対応情報記憶部２８で記憶されるようになってもよい。環境依存対応情報記憶部２８での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。環境依存対応情報記憶部２８は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。また、環境依存対応情報に含まれる各情報は、その情報そのものであってもよく、あるいは、その情報の格納されている位置を示すポインタやアドレスであってもよい。他の情報についても同様であるとする。
【００４５】
作業情報変更部２９は、環境依存対応情報記憶部２８で記憶されている１以上の環境依存対応情報を用いて、作業情報におけるテスト環境における環境に依存する情報を、本番環境における環境に依存する情報に変更する。作業情報変更部２９は、環境依存対応情報を用いて、例えば、作業情報のコマンドを変更してもよく、結果情報を変更してもよく、あるいは、その両方を変更してもよい。作業情報変更部２９は、例えば、ある環境依存対応情報に含まれるテスト環境依存情報を検索キーとして作業情報を検索し、ヒットした場合に、そのヒットした箇所を、その環境依存対応情報に含まれる本番環境依存情報に置換することによって、この変更を行ってもよい。
【００４６】
改修済プログラム記憶部３０では、改修済プログラムが記憶される。この改修済プログラムは、プログラム記憶部２３で記憶されているプログラムに適用されることにより、プログラムの改修を行うためのものである。この改修済プログラムは、前述のテスト環境改修済プログラム記憶部１７で記憶される改修済プログラムと同様のものであり、例えば、改修済のモジュールやライブラリ等であってもよい。
【００４７】
改修済プログラム記憶部３０に改修済プログラムが記憶される過程は問わない。例えば、記録媒体を介して改修済プログラムが改修済プログラム記憶部３０で記憶されるようになってもよく、通信回線等を介して送信された改修済プログラムが改修済プログラム記憶部３０で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された改修済プログラムが改修済プログラム記憶部３０で記憶されるようになってもよい。改修済プログラム記憶部３０での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。改修済プログラム記憶部３０は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００４８】
なお、作業情報記憶部２２と、プログラム記憶部２３と、環境依存対応情報記憶部２８と、改修済プログラム記憶部３０とのうち、任意の二以上の記憶部は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、作業情報を記憶している領域が作業情報記憶部２２となり、プログラムを記憶している領域がプログラム記憶部２３となる。
【００４９】
次に、テスト環境装置１の動作について図４のフローチャートを用いて説明する。
（ステップＳ１０１）コマンド受付部１２は、コマンドの入力を受け付けたかどうか判断する。そして、コマンドの入力を受け付けた場合には、ステップＳ１０２に進み、そうでない場合には、ステップＳ１０７に進む。コマンド受付部１２が受け付けたコマンドは、図示しない記録媒体で一時的に記憶されてもよい。
【００５０】
（ステップＳ１０２）テスト環境コマンド実行部１３は、その時点でのチェックポイントを作成し、図示しない記録媒体に蓄積する。
【００５１】
（ステップＳ１０３）テスト環境コマンド実行部１３は、コマンド受付部１２が受け付けたコマンドを実行する。そして、その実行に応じた戻り値を受け取る。その戻り値は、表示部１６によって表示されるものとする。テスト環境コマンド実行部１３が受け取った戻り値は、図示しない記録媒体で一時的に記憶されてもよい。
【００５２】
（ステップＳ１０４）コマンド受付部１２は、戻り値が適切である旨の入力を受け付けたかどうか判断する。そして、戻り値が適切である旨の入力を受け付けた場合には、ステップＳ１０５に進み、戻り値が不適切である旨の入力を受け付けた場合には、ステップＳ１０６に進む。
【００５３】
（ステップＳ１０５）作業情報蓄積部１４は、コマンド受付部１２が受け付けたコマンドと、その実行結果である戻り値とを含む実行情報を生成し、所定の記録媒体で記憶されている作業情報に追記する。そして、ステップＳ１０１に戻る。
【００５４】
（ステップＳ１０６）テスト環境コマンド実行部１３は、ロールバックを行う。このロールバックの際に、指定されたチェックポイントまで戻ってもよく、あるいは、直前に実行されたコマンドの実行前のチェックポイントまで戻ってもよい。そして、ステップＳ１０１に戻る。
【００５５】
（ステップＳ１０７）コマンド受付部１２は、作業情報の出力の指示を受け付けたかどうか判断する。そして、作業情報の出力の指示を受け付けた場合には、ステップＳ１０８に進み、そうでない場合には、ステップＳ１０１に戻る。
【００５６】
（ステップＳ１０８）作業情報出力部１５は、作業情報蓄積部１４が蓄積した作業情報を出力する。そして、ステップＳ１０１に戻る。なお、出力された作業情報は、作業情報蓄積部１４が作業情報を蓄積する所定の記録媒体から削除されてもよく、あるいは、出力した旨のフラグ等が設定されてもよい。後者の場合には、それ以降の出力において、出力した旨のフラグ等の設定されている作業情報を出力しないようにしてもよい。
【００５７】
なお、図４のフローチャートのステップＳ１０５において、戻り値そのものである結果情報を含む実行情報が追記される場合について説明したが、そうでなくてもよい。例えば、前述のように、戻り値に関する条件である結果情報を含む実行情報が追記されてもよい。その場合には、コマンド受付部１２が、その条件に関する入力を受け付け、それに応じて作業情報蓄積部１４が、戻り値に関する条件である結果情報を含む実行情報を作業情報に追記してもよい。その入力は、例えば、戻り値のうち、必須の箇所を示すものであってもよい。そして、その入力に応じた結果情報は、必須の箇所であることが示された範囲の前後に、任意の０以上の文字の並びが存在してもよいことを示す「＊」を追加したものであってもよい。なお、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５８】
次に、プログラム改修装置２の動作について図５のフローチャートを用いて説明する。
（ステップＳ２０１）作業情報受付部２１は、作業情報を受け付けたかどうか判断する。そして、作業情報を受け付けた場合には、ステップＳ２０２に進み、そうでない場合には、ステップＳ２０４に進む。
【００５９】
（ステップＳ２０２）作業情報受付部２１は、受け付けた作業情報を作業情報記憶部２２に蓄積する。
【００６０】
（ステップＳ２０３）作業情報変更部２９は、環境依存対応情報記憶部２８で記憶されている１以上の環境依存対応情報を用いて、作業情報に含まれる各テスト環境依存情報を、対応する本番環境依存情報にそれぞれ変更する。そして、ステップＳ２０１に戻る。
【００６１】
（ステップＳ２０４）受付部２４は、プログラムの改修を行う旨の指示を受け付けたかどうか判断する。そして、その指示を受け付けた場合には、ステップＳ２０５に進み、そうでない場合には、ステップＳ２０１に戻る。
【００６２】
（ステップＳ２０５）コマンド実行部２５は、作業情報記憶部２２で記憶されている作業情報において、それまでに実行していないコマンドを含む実行情報のうち、最も順番の早い実行情報に含まれるコマンドを実行する。そして、そのコマンドの実行に応じた戻り値を受け取る。コマンド実行部２５が受け取った戻り値は、図示しない記録媒体で一時的に記憶されてもよい。
【００６３】
（ステップＳ２０６）判断部２６は、ステップＳ２０５でコマンド実行部２５が実行したコマンドと、そのコマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する。そして、その判断結果を示す情報を生成する。
【００６４】
（ステップＳ２０７）出力部２７は、判断部２６による判断結果を出力する。なお、出力部２７は、判断結果と共に、コマンドや戻り値なども出力してもよい。
【００６５】
（ステップＳ２０８）受付部２４は、次のコマンドの実行指示を受け付けたかどうか判断する。そして、次のコマンドの実行指示を受け付けた場合には、ステップＳ２０９に進み、そうでない場合には、ステップＳ２１０に進む。その次のコマンドの実行指示は、例えば、次のコマンドを実行する旨のボタンの選択等であってもよい。
【００６６】
（ステップＳ２０９）コマンド実行部２５は、作業情報に次の実行情報が存在するかどうか、すなわち、次のコマンドが存在するかどうか判断する。そして、次のコマンドが存在する場合には、ステップＳ２０５に戻り、次のコマンドを実行する。一方、次のコマンドが存在しない場合には、作業情報に含まれるすべてのコマンドを実行したことになるため、プログラムを改修する一連の処理は終了となる。なお、この場合には、出力部２７は、プログラムの改修が終了した旨をユーザに出力してもよく、あるいは、そうでなくてもよい。
【００６７】
（ステップＳ２１０）受付部２４は、手作業による修正の指示を受け付けたかどうか判断する。そして、手作業による修正の指示を受け付けた場合には、ステップＳ２１１に進み、そうでない場合には、ステップＳ２０８に戻る。その手作業による修正の指示は、例えば、修正を行う旨のボタンの選択等であってもよい。
【００６８】
（ステップＳ２１１）コマンド実行部２５は、受付部２４が受け付けた手作業による修正の指示に応じて、例えば、コマンド入力画面を表示させ、そのコマンド入力画面において入力されたコマンド等を実行する。そして、修正のための一連のコマンドの入力が終了すれば、ステップＳ２０８に戻る。
【００６９】
なお、図５のフローチャートにおいて、作業情報が受け付けられて蓄積された直後に、環境依存情報に関する変更が行われる場合について示したが、そうでなくてもよい。例えば、作業情報を用いたプログラムの改修が行われる直前に環境依存情報に関する変更が行われてもよく、あるいは、作業情報が受け付けられてから、作業情報を用いたプログラムの改修が行われるまでの他のタイミングで環境依存情報に関する変更が行われてもよい。なお、図５のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００７０】
次に、本実施の形態による情報処理システム１００の動作について、具体例を用いて説明する。なお、この具体例において、テスト環境改修済プログラム記憶部１７及び改修済プログラム記憶部３０では、改修済プログラムであるモジュールＭ００１及びライブラリＬ００１が記憶されているものとする。モジュールＭ００１及びライブラリＬ００１は、改修済のものである。
まず、テスト環境装置１において、ユーザが、プログラム改修の手順書に応じて、図６（ａ）で示されるように、コマンド「Ｃ００１」を入力し、エンターキーを押下したとする。すると、コマンド受付部１２において、そのコマンド「Ｃ００１」が受け付けられ、テスト環境コマンド実行部１３に渡される（ステップＳ１０１）。テスト環境コマンド実行部１３は、コマンドを受け付けると、その時点のチェックポイントを図示しない記録媒体に蓄積する（ステップＳ１０２）。そして、そのコマンド「Ｃ００１」を実行し、戻り値「Ｒ００１」を取得する（ステップＳ１０３）。テスト環境コマンド実行部１３は、その戻り値「Ｒ００１」を表示部１６に渡す。すると、表示部１６は、図６（ｂ）で示されるように、その戻り値を表示する。なお、図６（ａ）では、戻り値が得られていないため、「記録」ボタンも「ロールバック」ボタンもクリックできないようにグレーアウトされているが、図６（ｂ）では、両ボタンをクリックできるようになっている。そして、ユーザが手順書を参照して、その戻り値が適切であると考えた場合には、「記録」ボタンをクリックする。すると、コマンド受付部１２は、その入力を受け付け、戻り値が問題ないと判断し（ステップＳ１０４）、テスト環境コマンド実行部１３に、戻り値が問題ない旨を渡す。そして、テスト環境コマンド実行部１３は、作業情報蓄積部１４に、コマンド「Ｃ００１」と、戻り値「Ｒ００１」とを渡す。すると、作業情報蓄積部１４は、コマンド「Ｃ００１」と、戻り値「Ｒ００１」とを含む実行情報を構成し、その実行情報に実行ＩＤを対応付けて図７（ａ）で示されるように所定の記録媒体に蓄積する（ステップＳ１０５）。なお、実行ＩＤは、実行情報が追記されるごとに１ずつインクリメントされる、実行情報を識別する情報であり、また、実行情報の実行順序を示す情報である。この具体例では、説明の便宜上、コマンドが「Ｃ００１」等であり、また戻り値が「Ｒ００１」等である場合について説明するが、実際には、コマンドは、「／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ｓｃｒｉｐｔｓ／ｒｅｇｉｓｔｅｒ＿ｐｋｇ．ｓｈ／  ｘｘｘｘｘ．ｌｉｓｔ」や、「ｃｐ  −ｐｒ  Ｐ／ｓｏｂ／ｔｍｐ／Ｒｅｌ＊  ／ｔｍｐ／」、「ｃｄ／  ｔｍｐ；ｐｗｄ」等であり、また、戻り値は、「ＭＳＧ−０１２４  Ｏｐｅｒａｔｉｏｎ  ｃｏｍｐｌｅｔｅｄ  ｎｏｒｍａｌｌｙ．」や、ｎｕｌｌ（ヌル）、「／ｔｍｐ」等である。
【００７１】
一方、図６（ｂ）の表示において、ユーザが手順書を参照し、その戻り値が適切でないと考えた場合には、「ロールバック」ボタンをクリックする。すると、受付部２４は、その入力を受け付け、戻り値に不備があると判断し（ステップＳ１０４）、テスト環境コマンド実行部１３に、戻り値に問題がある旨を渡す。すると、テスト環境コマンド実行部１３は、最新のチェックポイントにロールバックする（ステップＳ１０６）。なお、ここでは、１個前のチェックポイントにロールバックする場合について説明するが、２個以上前のチェックポイントにロールバックしてもよい。そのときには、戻り先のチェックポイントがユーザによって選択されてもよい。また、２個以上前のチェックポイントにロールバックする場合には、作業情報蓄積部１４は、それまでに蓄積した実行情報のうち、ロールバックに応じて実行されなかったことになるコマンドを含む実行情報を削除してもよい。
【００７２】
このように、手順書に応じたコマンドの実行が行われることによって、順次、作業情報が作成されていくことになる（ステップＳ１０１〜Ｓ１０６）。そして、テスト環境改修済プログラム記憶部１７で記憶されている改修済プログラムであるモジュールＭ００１及びライブラリＬ００１が、テスト環境プログラム記憶部１１で記憶されているプログラムに適用されることになる。すなわち、テスト環境プログラム記憶部１１で記憶されているプログラムにおいて、あるモジュールやライブラリが、モジュールＭ００１やライブラリＬ００１に入れ替わることになる。このコマンドの実行は、例えば、その手順書の検証のために行われるものであってもよい。なお、最終的に、作業情報が図７（ｂ）で示されるようになったとする。その後、ユーザが、作業情報を出力する旨を入力したとする。すると、その入力がコマンド受付部１２で受け付けられ、作業情報出力部１５に渡される（ステップＳ１０７）。そして、作業情報出力部１５は、作業情報蓄積部１４が所定の記録媒体に蓄積した図７（ｂ）で示される作業情報を、その記録媒体から読み出し、図示しないファイルサーバに送信する（ステップＳ１０８）。その後、作業情報出力部１５は、その出力した作業情報を、その所定の記録媒体から削除する。
【００７３】
次に、プログラム改修装置２のユーザが、プログラム改修装置２を操作して、図示しないファイルサーバから作業情報を取得する処理を実行したとする。すると、作業情報受付部２１は、その処理に応じて、図示しないファイルサーバから作業情報を受信し（ステップＳ２０１）、作業情報記憶部２２に蓄積する（ステップＳ２０２）。なお、この時点において、環境依存対応情報記憶部２８では、図８で示される環境依存対応情報が記憶されていたとする。図８で示される１個目の環境依存対応情報（１番目のレコード）は、テスト環境装置１と、プログラム改修装置２とのＩＰアドレスを対応付けるものである。２番目の環境依存対応情報は、テスト環境装置１と、プログラム改修装置２との装置の名称を対応付けるものである。３番目の環境依存対応情報は、テスト環境装置１と、プログラム改修装置２とにおけるファイル「ｄａｔａ」のパスを対応付けるものである。この環境依存対応情報は、例えば、ユーザによって生成され、環境依存対応情報記憶部２８に蓄積されたものであってもよい。
【００７４】
作業情報変更部２９は、図８で示される３個の環境依存対応情報のうち、１番目の環境依存対応情報からテスト環境依存情報のＩＰアドレス「１９２．１６８．０．２」を読み出し、それを検索キーとして、作業情報記憶部２２で記憶されている作業情報を検索する。そして、ヒットしたＩＰアドレスを、本番環境依存情報のＩＰアドレス「１９２．１６８．０．３」に置換する。同様にして、作業情報変更部２９は、装置の名称、情報のパスについても、検索及び置換を行う（ステップＳ２０３）。このようにして、環境依存情報の変更が行われる。なお、その変更後の作業情報も、図７（ｂ）で示されるものと同様のものであったとする。
【００７５】
その後、ユーザが、作業情報を用いたプログラムの改修を行う旨を入力したとする。すると、受付部２４は、プログラムの改修を行う旨の入力を受け付けたと判断し（ステップＳ２０４）、その旨をコマンド実行部２５に渡す。そして、コマンド実行部２５は、図７（ｂ）の作業情報から、１番目のコマンド「Ｃ００１」を読み出して実行し、その実行に応じた戻り値「Ｒ００１」を取得する（ステップＳ２０５）。また、コマンド実行部２５は、実行したコマンドの実行情報に応じた実行ＩＤ「００１」と、戻り値「Ｒ００１」とを判断部２６に渡す。判断部２６は、受け取った実行ＩＤ「００１」に対応する実行情報に含まれる結果情報「Ｒ００１」を作業情報記憶部２２から読み出し、その結果情報と、戻り値とが整合するかどうか判断する。この場合には、両者が一致して整合するため、判断部２６は、実行ＩＤ「００１」に対応する実行情報に含まれるコマンド「Ｃ００１」と、コマンド実行部２５から受け取った戻り値「Ｒ００１」と、判断結果である「問題ありません」とを出力部２７に渡す（ステップＳ２０６）。すると、出力部２７は、それらの情報を図示しないディスプレイに表示する（ステップＳ２０７）。図９は、そのようにして表示された判断結果等の一例を示す図である。図９において、ユーザが、「次のコマンド実行」ボタンをクリックすると、受付部２４は、次のコマンドの実行指示を受け付け（ステップＳ２０８）、次のコマンドの実行指示をコマンド実行部２５に渡す。すると、コマンド実行部２５は、作業情報記憶部２２において、次のコマンドが存在するかどうか判断し、この場合には、次のコマンドが存在するため、そのコマンド「Ｃ００２」を実行する（ステップＳ２０９，Ｓ２０５）。このようにして、順次、作業情報に含まれるコマンドが実行されることになる。
【００７６】
なお、コマンド「Ｃ０１２」が実行された場合に、その戻り値は、「Ｒ０１２'」であり、作業情報においてコマンド「Ｃ０１２」に対応付けられている結果情報「Ｒ０１２」と異なっていたとする。すると、判断部２６は、両者が不一致であり整合しないため、コマンド「０１２」と、戻り値「Ｒ０１２'」と、判断結果である「テスト環境の戻り値（Ｒ０１２）と相違しています」とを出力部２７に渡す（ステップＳ２０６）。すると、出力部２７は、それらの情報を、図１０で示されるように、図示しないディスプレイに表示する（ステップＳ２０７）。この表示を見たユーザが、修正が必要であると判断し、「修正」ボタンをクリックすると、受付部２４は、修正の指示を受け付け、修正を行う旨をコマンド実行部２５に渡す（ステップＳ２１０）。すると、コマンド実行部２５は、図示しないディスプレイにコマンド入力画面を表示させ、それに応じて入力された修正のためのコマンドを実行する。例えば、コマンド「Ｃ０１２」が改修済プログラム記憶部３０で記憶されている改修済プログラムをコピーするコマンドであり、戻り値「Ｒ０１２'」によって、そのコピーが適切に行われなかったことが示された場合に、ユーザは、手順書を参照しながら、コマンドを手入力することにより、改修済プログラムの適切なコピーを行うようにしてもよい。また、その修正のための一連のコマンドの入力が終了し、その旨の入力を受付部２４が受け付けた場合に、コマンド実行部２５は、コマンド入力画面の表示を終了させる（ステップＳ２１１）。その結果、図１０の表示に戻ったとする。そして、ユーザが、図１０の画面における「次のコマンド実行」ボタンをクリックすると、前述のように、次のコマンド「Ｃ０１３」が実行される（ステップＳ２０８，Ｓ２０９，Ｓ２０５）。このようにして、順次、作業情報に含まれるコマンドが自動実行され、プログラムの改修が行われる。そして、改修済プログラム記憶部３０で記憶されている改修済プログラムであるモジュールＭ００１及びライブラリＬ００１が、プログラム記憶部２３で記憶されているプログラムに適用されることになる。すなわち、適用後のプログラムでは、あるモジュールとして、改修済のモジュールＭ００１が用いられることになり、あるライブラリとして、改修後のライブラリＬ００１が用いられることになる。
【００７７】
なお、この具体例では、図１０の判断結果の出力において、修正を行う場合について説明したが、戻り値「Ｒ０１２'」と、結果情報「Ｒ０１２」との相違が問題のないものである場合には、「次のコマンド実行」ボタンをクリックして、次のコマンドの実行に進んでもよいことは言うまでもない。
【００７８】
以上のように、本実施の形態による情報処理システム１００によれば、テスト環境においてプログラム改修のために実行されたコマンドを本番環境であるプログラム改修装置２において半自動的に実行することにより、プログラム改修を行うことができる。このように、テスト環境において適切に実行された結果を用いるため、プログラム改修におけるミスを低減させることができる。特に、少なくともテスト環境において実行されているため、検証不足が発生しないようにすることができる。また、作業情報が、テスト環境において適切に実行された結果であることによって、その作業情報自体が適切な手順書となり、手順書の不備を解消することができる。従来、テストで順次実行されたコマンドと、それをもとに手作業で作成された手順書とに齟齬が存在することもあったが、本実施の形態によるテスト環境装置１のように、自動的に作業情報を生成することによって、テストで順次実行されたコマンドと作業情報とに齟齬の生じる可能性を低減させることができる。また、その作業情報に含まれるコマンドが順次、自動的に実行されることにより、操作間違いのミスが発生しないようにできる。従来、本番環境において、手順書を参照しながらプログラム改修を行っていた場合には、手順書に書かれていることと、コマンド入力等の操作とにずれが生じ、その結果、適切なプログラム改修を行えないことがあったが、そのようなことを防止することができる。
【００７９】
また、テスト環境において、手順書の検証時のコマンド入力に応じて作業情報を生成することができる。そのため、作業情報をわざわざ作成しなくてもよいことになり、作業情報の生成に関する労力を軽減することができる。また、環境依存対応情報を用いて、環境依存の情報を変更することにより、テスト環境装置１と、プログラム改修装置２との環境の違いに起因する不適切なプログラム改修が行われたり、不適切な判断が行われたりすることを回避することができる。
【００８０】
なお、前述のように、作業情報変更部２９が環境依存対応情報を用いて作業情報を変更するタイミングは問わない。例えば、作業情報変更部２９は、プログラム改修の直前に、環境依存対応情報を用いた作業情報の変更を行ってもよい。特に、環境依存対応情報に、時刻に関する情報が含まれている場合に、作業情報変更部２９は、本番環境依存情報の時刻が、プログラム改修時の時刻となるように変更した上で、その変更後の環境依存対応情報を用いた作業情報の変更を行ってもよい。
【００８１】
また、環境依存対応情報を用いた作業情報の変更は、テスト環境装置１において作業情報が生成されてから、プログラム改修装置２において、その作業情報が使用されるまでの間に行われるのであれば、その処理のタイミングや、その処理の場所は問わない。例えば、テスト環境装置１において、環境依存対応情報を用いた作業情報の変更が行われてもよく、あるいは、テスト環境装置１でもなく、プログラム改修装置２でもない第三の装置において、環境依存対応情報を用いた作業情報の変更が行われてもよい。あるいは、環境依存対応情報を用いた作業情報の変更は行われなくてもよい。そのように、プログラム改修装置２以外において環境依存対応情報を用いた作業情報の変更が行われる場合や、環境依存対応情報を用いた作業情報の変更が行われない場合には、プログラム改修装置２は、環境依存対応情報記憶部２８や作業情報変更部２９を備えていなくてもよい。
【００８２】
また、作業情報に含まれる結果情報にテスト環境に依存する情報が含まれる場合に、そのテスト環境に依存する情報を、本番環境に依存する情報に変更するのではなく、本番環境に依存する情報を包含する情報に変更するようにしてもよい。例えば、テスト環境依存情報であるＩＰアドレス「１９２．１６８．０．２」を、本番環境に依存する情報であるＩＰアドレス「１９２．１６８．０．３」を包含するＩＰアドレス「１９２．１６８．＊．＊」に変更してもよい。ここで、「＊」は、前述のように、任意の０以上の文字の並びにマッチするものであるとする。
【００８３】
また、本実施の形態では、作業情報には１以上の実行情報が含まれる場合について説明したが、作業情報には、実行情報以外に、人手によって行われる処理を示すチェック項目が含まれてもよい。そのチェック項目は、例えば、「パイロットランプが点滅していることを確認して下さい」であってもよく、「ＨＤＤを差し替えて下さい」であってもよい。そのチェック項目は、テスト環境装置１等において、手作業によって入力されてもよい。
【００８４】
また、本実施の形態では、受付部２４が受け付けたコマンドの実行指示に応じて、１個ずつコマンドが実行される場合について説明したが、そうでなくてもよい。コマンド実行部２５は、例えば、作業情報の有する各実行情報に含まれるコマンドを、順番に一括して実行してもよい。その場合であっても、判断部２６は、一つのコマンドの実行に応じた戻り値と、そのコマンドに対応する結果情報とが整合するかどうかの判断を行うことが好適である。したがって、コマンド実行部２５が複数のコマンドを一括して実行した場合であっても、判断結果は、実行されたコマンドの数だけ出力されることになる。なお、その判断結果は、例えば、テーブル形式やその他の形式により、一括して出力されてもよい。また、受け付けられたコマンドの実行指示に応じて、１個ずつコマンドが実行されるのでない場合には、受付部２４は、例えば、作業情報に含まれるコマンドの一括実行の指示を受け付けるものであってもよい。
【００８５】
また、本実施の形態では、環境依存対応情報を用いて作業情報を変更する場合について説明したが、そうでなくてもよい。例えば、そのような作業情報の変更を行わず、判断部２６は、環境に依存する情報については、コマンド実行部２５によるコマンドの実行結果と、コマンドに対応する結果情報とが整合しなくても、不整合と判断しないようにしてもよい。例えば、プログラム改修装置２における図示しない記録媒体において、テスト環境依存情報のみが記憶されており、コマンドの戻り値と、そのコマンドに対応する結果情報とが相違する場合であって、結果情報における相違箇所が、その図示しない記録媒体で記憶されているテスト環境依存情報のいずれかと一致する場合には、判断部２６は、その相違を不整合と判断せず、両者が整合していると判断してもよい。具体的には、プログラム改修装置２において、図８のテスト環境依存情報のみが記憶されている場合であって、コマンドの戻り値に「１９２．１６８．０．３」が含まれており、そのコマンドに対応する結果情報に「１９２．１６８．０．２」が含まれており、それらのＩＰアドレス以外の部分については、コマンドの戻り値と、結果情報とが一致する場合には、判断部２６は、結果情報における相違箇所「１９２．１６８．０．２」が、テスト環境依存情報のＩＰアドレス「１９２．１６８．０．２」と一致すると判断し、その戻り値と結果情報とが整合すると判断してもよい。このようにすることで、本来は不整合でないものを不整合であると判断する事態を回避することができる。
【００８６】
また、テスト環境装置１において、作業情報を生成する際に、何らかのミスが発生した場合には、作業情報の生成をはじめからやり直してもよく、あるいは、ミスを含んだ作業情報を生成した後に、手動で、作業情報を修正するようにしてもよい。また、プログラム改修装置２においてその作業情報を用いたプログラムの改修を行う前に、テスト環境装置１において、または別の装置において、その作業情報に含まれるコマンドを自動実行することによって、その作業情報が適切なものであるかどうかを確認するようにしてもよい。その確認の作業を行うことによって、作業情報がより正確なものとなり、プログラム改修装置２において、作業情報を用いたプログラムの改修を行う場合に発生するミスを著しく低減することができると考えられる。
【００８７】
また、本実施の形態では、テスト環境装置１及びプログラム改修装置２において、改修対象のプログラムに改修済プログラムを適用することによって、プログラム改修を行う場合について説明したが、そうでなくてもよい。改修対象のプログラムに改修済プログラムを適用する方法以外の方法を用いて、プログラム改修を行ってもよいことは言うまでもない。例えば、コマンドによってプログラムのパラメータやデータ等を直接書き換えることなどによって、プログラム改修が行われてもよい。そのように、改修済プログラムを用いないでプログラム改修を行う場合には、テスト環境装置１は、テスト環境改修済プログラム記憶部１７を備えていなくてもよく、プログラム改修装置２は、改修済プログラム記憶部３０を備えていなくてもよい。
【００８８】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００８９】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００９０】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【００９１】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００９２】
また、上記実施の形態において、テスト環境装置１やプログラム改修装置２に含まれる２以上の構成要素が通信デバイスや入力デバイス等を有する場合に、２以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
【００９３】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態におけるプログラム改修装置２を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、テスト環境においてプログラム改修のために実行されたコマンドと、コマンドの実行結果に関する情報である結果情報とを有する実行情報を１以上有する作業情報が記憶される作業情報記憶部と、本番環境におけるプログラムが記憶されるプログラム記憶部とにアクセス可能なコンピュータを、プログラム記憶部で記憶されているプログラムに対して、作業情報に含まれる各コマンドを実行することによりプログラム改修を行うコマンド実行部、コマンド実行部によるコマンドの実行結果と、コマンドと同じ実行情報に含まれる結果情報とが整合するかどうか判断する判断部、判断部による判断の結果を出力する出力部として機能させるためのプログラムである。
【００９４】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
【００９５】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【００９６】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【００９７】
図１１は、上記プログラムを実行して、上記実施の形態によるテスト環境装置１やプログラム改修装置２を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【００９８】
図１１において、コンピュータシステム９００は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０５、ＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）ドライブ９０６を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【００９９】
図１２は、コンピュータシステム９００の内部構成を示す図である。図１２において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５、ＦＤドライブ９０６に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮ等への接続を提供する図示しないネットワークカードを含んでいてもよい。
【０１００】
コンピュータシステム９００に、上記実施の形態によるテスト環境装置１やプログラム改修装置２の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１、またはＦＤ９２２に記憶されて、ＣＤ−ＲＯＭドライブ９０５、またはＦＤドライブ９０６に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１やＦＤ９２２、またはネットワークから直接、ロードされてもよい。
【０１０１】
プログラムは、コンピュータ９０１に、上記実施の形態によるテスト環境装置１やプログラム改修装置２の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０１０２】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１０３】
以上より、本発明によるプログラム改修装置等によれば、プログラム改修時の作業ミスを低減できるという効果が得られ、例えば、プログラムのモジュールを入れ替えたり、データベースを入れ替えたりなどのプログラム改修を行う装置等として有用である。
【符号の説明】
【０１０４】
１  テスト環境装置
２  プログラム改修装置
１１  テスト環境プログラム記憶部
１２  コマンド受付部
１３  テスト環境コマンド実行部
１４  作業情報蓄積部
１５  作業情報出力部
１６  表示部
１７  テスト環境改修済プログラム記憶部
２１  作業情報受付部
２２  作業情報記憶部
２３  プログラム記憶部
２４  受付部
２５  コマンド実行部
２６  判断部
２７  出力部
２８  環境依存対応情報記憶部
２９  作業情報変更部
３０  改修済プログラム記憶部
【図１】
0005479389.tif 000002
【図２】
0005479389.tif 000003
【図３】
0005479389.tif 000004
【図４】
0005479389.tif 000005
【図５】
0005479389.tif 000006
【図６】
0005479389.tif 000007
【図７】
0005479389.tif 000008
【図８】
0005479389.tif 000009
【図９】
0005479389.tif 000010
【図１０】
0005479389.tif 000011
【図１１】
0005479389.tif 000012
【図１２】
0005479389.tif 000013