(57)【要約】【課題】  結合テストや本番テストを行う場合であっても、ソフトウェアの開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができるようにする。【解決手段】  シーケンス図作成器１１３は、対象プログラム１００ａ実行の際に生成されたログファイルに含まれるログ情報にもとづいてシーケンス図情報を生成する。処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、シーケンス図情報にもとづいて、対象プログラムの実行結果を構造化表示したシーケンス図を表示する。表示設定器１１７は、開発者の操作に従って表示設定情報を更新する。表示設定情報が更新されると、処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、更新後の表示設定情報にもとづいてシーケンス図の表示を更新する。【選択図】  図１
2005092609.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行結果をシーケンス図として表示するシーケンス図表示装置であって、
前記プログラムの実行結果のログ情報にもとづいて、前記プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する構造化情報生成手段と、
前記構造化情報にもとづいて、前記プログラムの実行結果を、前記各オブジェクトを時系列に対応付けたシーケンス図として表示するシーケンス図表示手段と、
前記シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を記憶する表示設定情報記憶手段とを備え、
前記シーケンス図表示手段は、前記表示設定情報に設定される表示条件に従って、前記シーケンス図を表示する
ことを特徴とするシーケンス図表示装置。
【請求項２】
表示設定情報を更新する表示設定情報更新手段を備えた請求項１記載のシーケンス図表示装置。
【請求項３】
構造化情報生成手段は、プログラムに含まれるオブジェクト、前記オブジェクト間でやりとりされるメッセージ、またはプログラム実行中に前記オブジェクトが呼び出されている呼出時間を時系列に対応付けた情報を含む構造化情報を生成し、
シーケンス図表示手段は、前記オブジェクトを示す図形、前記メッセージまたは前記呼出時間を示す図形を時系列に対応付けたシーケンス図を表示する
請求項１または請求項２記載のシーケンス図表示装置。
【請求項４】
表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、
表示設定情報更新手段は、前記オブジェクトを示す図形、前記メッセージまたは前記呼出時間を示す図形ごとに、前記設定値を更新する
請求項３記載のシーケンス図表示装置。
【請求項５】
構造化情報生成手段は、オブジェクト、メッセージまたは呼出時間に対応する付加情報を含む構造化情報を生成し、
シーケンス図表示手段は、前記付加情報を前記オブジェクトを示す図形、メッセージまたは呼出時間を示す図形に対応付けたシーケンス図を表示する
請求項３または請求項４記載のシーケンス図表示装置。
【請求項６】
構造化情報生成手段は、付加情報として、オブジェクトで使用されるパラメータ値、前記オブジェクトが処理する処理データ、または前記オブジェクトが実行するコマンドを、前記オブジェクト、メッセージまたは呼出時間に対応付けた構造化情報を生成する請求項５記載のシーケンス図表示装置。
【請求項７】
表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間に加えて付加情報ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、
表示設定情報更新手段は、前記オブジェクトを示す図形、前記メッセージまたは前記呼出時間を示す図形に加えて付加情報ごとに、前記設定値を更新する
請求項５または請求項６記載のシーケンス図表示装置。
【請求項８】
シーケンス図表示手段は、プログラムの実行結果をＵＭＬ形式に従ってシーケンス図として表示する請求項１から請求項７のうちのいずれか１項に記載のシーケンス図表示装置。
【請求項９】
ログ情報にもとづいて、プログラムを再実行する際の入力値を含む再実行データを生成する再実行データ生成手段と、
前記再実行データにもとづいて、前記プログラムを再実行するプログラム再実行手段とを備えた
請求項１から請求項８のうちのいずれか１項に記載のシーケンス図表示装置。
【請求項１０】
表示したシーケンス図を印刷する印刷手段を備えた請求項１から請求項９のうちのいずれか１項に記載のシーケンス図表示装置。
【請求項１１】
プログラムの実行結果をシーケンス図として表示するためのシーケンス図表示プログラムであって、
コンピュータに、
前記プログラムの実行結果のログ情報にもとづいて、前記プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する処理と、
シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を抽出し、前記表示設定情報に設定される表示条件に従って、前記構造化情報にもとづいて、前記プログラムの実行結果を、前記各オブジェクトを時系列に対応付けたシーケンス図として表示する処理とを実行させる
ことを特徴とするシーケンス図表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの実行結果をシーケンス図として表示するためのシーケンス図表示装置およびシーケンス図表示プログラムに関する。
【背景技術】
【０００２】
業務システムなどのソフトウェアを開発する場合に、システムの開発者は開発中のソフトウェアを実際に実行させて実行中に発生した不具合を分析しながらソフトウェア開発を行う。例えば、開発者は、ソフトウェアをモジュール単位で開発している場合に、顧客に納品するものと同様のハードウェアシステムを構築して、構築したハードウェアシステム上で各モジュールを結合させて実行する結合テストを行う。また、開発者は、開発したソフトウェアを、顧客に納品するハードウェアシステム上で実行する本番テストを行う。
【０００３】
ソフトウェアにおける不具合箇所を特定するために、開発者は、例えば、ソフトウェア実行の際に実行中の一連のメソッド（ソフトウェアに含まれる各機能を記述したコード部分）と処理データとを含むログ情報を生成させ、ログ情報の内容を確認することによって不具合箇所を特定する。また、例えば、開発者は、一般にデバッガとよばれる不具合解析用のツールとともにソフトウェアを実行させ、ソフトウェア実行中に順次表示される情報表示を確認することによって不具合箇所を特定する。不具合箇所を特定すると、開発者は、一般にＫＴ法（ケプナー／トリゴー法）と呼ばれる分析方法などを用いて開発中のソフトウェアの不具合分析を行う。
【０００４】
しかし、ログ情報を用いて不具合箇所を特定する場合、大規模な業務システムなどの開発において結合テストや本番テストを行うと、大量のログ情報が生成されるので、開発者は、ログ情報を見ただけでは容易に不具合箇所を特定できない。また、ログ情報は単に実行されるメソッドと処理データとを時系列に並べたデータにすぎないので、開発者は、ログ情報を見ただけではソフトウェアのソースコードの構造を把握することが難しく、不具合箇所を容易に特定できない。
【０００５】
一般に、どのレベルまでのログ情報を生成するかは予めソフトウェア実行前に開発者が設定する。例えば、生成する各ログ情報に重要度を設定し、重要度に応じてログファイルに書き出すログ情報を変更する方法が一般に用いられている。しかし、ソフトウェアを実行した結果、ログ情報に不具合箇所を特定する情報が必ず含まれているとは限らない。ログ情報が不具合箇所を特定する情報を含んでいなかった場合、開発者は、再びどのレベルまでのログ情報を生成するかを設定しなおして結合テストや本番テストをやりなおさなければならず、不具合特定作業に時間がかかる。
【０００６】
ログ情報などの内容をユーザが容易に把握できるようにする装置として、特許文献１には、ログ情報のダンプデータをシーケンス図に自動変換して出力するシーケンストレース解析装置が記載されている。特許文献１に記載されているシーケンストレース解析装置は、ユーザが予め作成したユーザ定義ファイルデータにもとづいて、記録媒体から取り込んだダンプデータをメッセージに変換する。そして、シーケンストレース解析装置は、出力先の指定がある場合には、ダンプデータとメッセージとにもとづいてシーケンス図を生成し、指定された出力先にシーケンス図を出力する。
【０００７】
また、ログ情報からソフトウェアのソースコードの構造を把握できるようにするために、ＵＭＬ（Unified Modeling Language ）と呼ばれる記法で作成したシーケンス図を利用する方法が用いられる。例えば、リバース技術を用いてソフトウェアのソースコードからＵＭＬに従ってシーケンス図を作成し、作成したシーケンス図を用いて不具合箇所を特定する方法が用いられる。
【０００８】
【特許文献１】特開平７−１６０５４６号公報（第２−３頁、第１−３図、第１０図）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載されているシーケンストレース解析装置を用いれば、システム開発の際の結合テストや本番テストの結果を、テストのログ情報にもとづいてシーケンス図として出力できるようにすることができる。しかし、処理の流れを時系列に表示できるにすぎず、ソフトウェアに含まれる各オブジェクト間の処理の流れを構造化して表示することはできない。そのため、開発者は、ソースコードの構造を把握することができず不具合箇所を容易に特定できない。
【００１０】
また、ＵＭＬ記法を用いて作成したシーケンス図を用いれば、単に処理の流れを時系列に表示するだけなく、各オブジェクト間のメッセージのやりとりや、ソフトウェア実行中の各オブジェクトの呼出時間がシーケンス図に視覚的に表示されるので、開発者がソフトウェアのソースコードを構造的に理解することができる。
【００１１】
しかし、オブジェクト指向プログラミング言語を用いてオブジェクトがソフトウェア実行時に動的に決定されるようなソースコードを作成した場合、リバース技術を用いて作成したシーケンス図の内容と、ソフトウェア実行の際に生成したログ情報の内容とが一致しない場合があるので、開発者が不具合箇所を特定できない場合がある。また、リバース技術を用いてシーケンス図を作成する場合、ソースコードにもとづいて機械的にリバースすることにより不具合箇所の特定に必要のない情報までがシーケンス図に含まれてしまうので、開発者が不具合分析作業を効率的に行えない。
【００１２】
また、ＵＭＬ記法を用いて作成したシーケンス図を確認しても、各オブジェクト間のメッセージのやりとりなどを視覚的に確認できるにすぎず、開発者は、シーケンス図で確認できるデータフローと、ログ情報に含まれる処理データとを対応付けて把握することができない。そのため、データフローと処理前後のデータとの対応付けに時間がかかり、不具合分析作業に時間がかかる。
【００１３】
また、ログ情報を用いるのでなく、デバッガを用いて不具合箇所を特定する場合には、各メソッドを実行するごとに実行状態を確認しながら、開発者が不具合箇所を特定することができる。しかし、複数のオブジェクトを含む業務システムなどの結合テストや本番テストを行う場合にデバッガを用いると、ソフトウェアの実行速度が遅くなり、ソフトウェアが本来の結合テストや本番テストとは異なる動作をする場合がある。そのため、結合テストや本番テストを行う場合には、デバッガを用いて不具合箇所の特定を行えない場合がある。
【００１４】
また、不具合分析を行った結果、特定された不具合原因が正しい原因であることを再確認したり、不具合箇所を修正した後に不具合原因が正しく是正されたことを確認するために、開発者の開発用システム上に不具合発生の際と同じ状態を構築して再テストを行いたい場合がある。しかし、開発用システムは一般に結合テストや本番テストのハードウェアシステムに比べて規模が小さいので、開発者は、開発システム上で同じ状態を再現して再テストを行うことが困難である。そのため、不具合原因のテストに時間がかかる。
【００１５】
そこで、本発明は、結合テストや本番テストを行う場合であっても、ソフトウェアの開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができるシーケンス図表示装置およびシーケンス図表示プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明によるシーケンス図表示装置は、プログラムの実行結果をシーケンス図として表示するシーケンス図表示装置であって、プログラムの実行結果のログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する構造化情報生成手段と、構造化情報にもとづいて、プログラムの実行結果を、各オブジェクトを時系列に対応付けたシーケンス図として表示するシーケンス図表示手段と、シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を記憶する表示設定情報記憶手段とを備え、シーケンス図表示手段は、表示設定情報に設定される表示条件に従って、シーケンス図を表示することを特徴とする。
【００１７】
また、シーケンス図表示装置は、表示設定情報を更新する表示設定情報更新手段を備えたものであってもよい。そのような構成によれば、開発者は、表示設定情報を自由に編集することよって、シーケンス図に表示される情報の表示情報量を変更することができる。従って、開発者がプログラムの不具合分析作業を効率的に行うことができる。
【００１８】
また、構造化情報生成手段は、プログラムに含まれるオブジェクト、オブジェクト間でやりとりされるメッセージ、またはプログラム実行中にオブジェクトが呼び出されている呼出時間を時系列に対応付けた情報を含む構造化情報を生成し、シーケンス図表示手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形を時系列に対応付けたシーケンス図を表示するものであってもよい。そのような構成によれば、開発者は、各オブジェクト間でやりとりされるメッセージや各オブジェクトの呼出時間などを、各オブジェクトに対応付けて容易に把握することができ、プログラムのソースコードなどの構造を容易に把握することができる。
【００１９】
また、表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、表示設定情報更新手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形ごとに、設定値を更新するものであってもよい。そのような構成によれば、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形を任意に選択して非表示状態にできるので、プログラムの実行結果のうち、不具合分析に必要な部分だけを表示状態にしたシーケンス図を表示させることができる。従って、不具合分析作業に必要な部分だけを概要表示したシーケンス図を表示させることができる。
【００２０】
また、構造化情報生成手段は、オブジェクト、メッセージまたは呼出時間に対応する付加情報を含む構造化情報を生成し、シーケンス図表示手段は、付加情報をオブジェクトを示す図形、メッセージまたは呼出時間を示す図形に対応付けたシーケンス図を表示するものであってもよい。そのような構成によれば、開発者は、プログラム実行中のパラメータや処理データなどの付加情報もシーケンス図で確認することができ、不具合分析作業を効率的に行うことができる。
【００２１】
また、構造化情報生成手段は、付加情報として、オブジェクトで使用されるパラメータ値、オブジェクトが処理する処理データまたはオブジェクトが実行するコマンドを、オブジェクト、メッセージまたは呼出時間に対応付けた構造化情報を生成するものであってもよい。そのような構成によれば、プログラム実行中に使用される入出力パラメータ、処理データまたは実行されるコマンドをシーケンス図で確認することができる。
【００２２】
また、表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間に加えて付加情報ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、表示設定情報更新手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形に加えて付加情報ごとに、設定値を更新するものであってもよい。そのような構成によれば、プログラム実行中のパラメータや処理データなどの付加情報を任意に選択して表示状態にできるので、プログラムの実行結果のうち、開発者がより詳細に分析したい部分の付加情報を表示状態にしたシーケンス図を表示させることができる。従って、より詳細に不具合分析作業を行いたい部分を詳細表示したシーケンス図を表示させることができる。
【００２３】
また、シーケンス図表示手段は、プログラムの実行結果をＵＭＬ形式に従って構造化表示したシーケンス図を表示するものであってもよい。そのような構成によれば、複数のオブジェクトを含むプログラムを構造化表示したシーケンス図を容易に表示させることができ、開発者が複数のオブジェクトを含むプログラムの不具合分析作業を効率的に行うことができる。
【００２４】
また、シーケンス図表示装置は、ログ情報にもとづいて、プログラムを再実行する際の入力値を含む再実行データを生成する再実行データ生成手段と、再実行データにもとづいて、プログラムを再実行するプログラム再実行手段とを備えたものであってもよい。そのような構成によれば、対象プログラムの不具合を修正した後に対象プログラムを同じ入力条件で再テストしたい場合に、開発者は、容易に同じ入力条件で対象プログラムを実行させることができる。
【００２５】
また、シーケンス図表示装置は、表示したシーケンス図を印刷する印刷手段を備えたものであってもよい。そのような構成によれば、表示されたシーケンス図を紙媒体として取得することができる。従って、対象プログラムの正確な保守ドキュメントなどの文書を作成したい場合に、紙媒体として取得したシーケンス図を含む分かりやすくて正確な文書を作成するために利用することができる。
【００２６】
本発明によるシーケンス図表示プログラムは、プログラムの実行結果をシーケンス図として表示するためのシーケンス図表示プログラムであって、コンピュータに、プログラムの実行結果のログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する処理と、シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を抽出し、表示設定情報に設定される表示条件に従って、構造化情報にもとづいて、プログラムの実行結果を、各オブジェクトを時系列に対応付けたシーケンス図として表示する処理とを実行させることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、シーケンス図表示装置およびシーケンス図表示プログラムを、ログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した情報であるシーケンス図情報を生成し、生成したシーケンス図情報にもとづいてプログラムの実行結果を構造化表示したシーケンス図を表示するようにしたので、開発者がプログラムの構造を容易に把握することができ、プログラムの不具合箇所を容易に特定することができる。また、表示設定情報にもとづいてシーケンス図を表示するようにしたので、シーケンス図の表示情報量を動的に変更しながら、プログラムの実行結果の確認作業を行うことができる。従って、結合テストや本番テストを行う場合であっても、ソフトウェアの開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができる
【発明を実施するための最良の形態】
【００２８】
実施の形態１．
以下、本発明の第１の実施の形態を図面を参照して説明する。図１は、本発明によるシーケンス図表示装置の構成の一例を示すブロック図である。本実施の形態では、複数のオブジェクトを含む業務システムなどのプログラムを開発する場合に、開発中のプログラムの結合テストや本番テスト（以下、単にテストと記す）を行った結果を、シーケンス図表示装置がシーケンス図表示する場合を例に説明する。ただし、本発明は、結合テストや本番テストだけでなく、モジュール単体テストにも適用することができる。
【００２９】
図１に示すように、シーケンス図表示装置は、テスト対象のプログラムを実行する対象プログラム実行部１００と、テスト対象のプログラムに従って処理されるデータを記憶するデータベース１０２と、プログラムの実行中に生成されるログファイルを記憶するログファイル記憶手段１０３と、ログ情報にもとづいてシーケンス図を表示する処理シーケンス表示装置１１０とを含む。
【００３０】
対象プログラム実行部１００は、コンピュータなどの情報処理装置の制御部（図示せず）などによって実現される。対象プログラム実行部１００は、プログラムの開発者（以下、単に開発者と記す）などの操作に従って、開発中のプログラムのテストを行う。以下、テスト対象のプログラムを対象プログラム１００ａと記す。
【００３１】
対象プログラム１００ａには、ログ情報を生成するためのプログラムであるログ部品１０１が組み込まれている。対象プログラム実行部１００は、ログ部品１０１の手順に従って、対象プログラム１００ａを実行した際のログ情報を含むログファイルを生成する。また、対象プログラム実行部１００は、ログ部品１０１の手順に従って、生成したログファイルをログファイル記憶手段１０３に記憶させる。
【００３２】
データベース１０２は、対象プログラム実行部１００が対象プログラム１００ａに従って処理する各データを記憶する。ログファイル記憶手段１０３は、ハードディスクなどによって実現され、対象プログラム実行部１００が生成するログファイルを記憶する。
【００３３】
処理シーケンス表示装置１１０は、ログファイルを読み込むログリーダ１１１と、ログファイルを記憶するログ記憶部１１２と、シーケンス図を表示するためのシーケンス図情報を生成するシーケンス図作成器１１３と、シーケンス図情報を記憶するシーケンス図情報記憶部１１４と、シーケンス図を表示するビューワ１１５と、シーケンス図の表示の設定情報を記憶する表示設定情報記憶部１１６と、シーケンス図の表示を設定する表示設定器１１７とを含む。
【００３４】
ログリーダ１１１は、情報処理装置の制御部などによって実現される。ログリーダ１１１は、ログファイル記憶手段１０３からログファイルを読み込んでログ記憶部１１２に記憶させる。ログ記憶部１１２は、情報処理装置のメモリなどの記憶装置（図示せず）によって実現される。ログ記憶部１１２は、ログリーダ１１１が読み込んだログファイルを記憶する。
【００３５】
シーケンス図作成器１１３は、シーケンス図作成プログラムに従って動作する情報処理装置の制御部などによって実現される。シーケンス図作成器１１３は、ログファイルに格納されているログ情報にもとづいてシーケンス図情報を生成する。
【００３６】
シーケンス図情報は、対象プログラム１００ａに含まれる各オブジェクトを時系列に相互に対応付けた情報である。例えば、シーケンス図情報は、各オブジェクト間でやりとりされるメッセージや、プログラム実行中に各オブジェクトが呼び出されている呼出時間を、各オブジェクトに時系列に対応付けた情報を含む。また、シーケンス図情報は、各オブジェクトの入出力パラメータや処理データなどの付加情報を含む。なお、本実施の形態では、対象プログラム１００ａに含まれる各オブジェクトが時系列に相互に対応付けられていることを、以下、単に構造化されていると記す。すなわち、本実施の形態において、シーケンス図情報は、対象プログラム１００ａの実行結果を構造化した構造化情報としての役割を果たす。
【００３７】
シーケンス図情報記憶部１１４は、情報処理装置の記憶装置などによって実現される。シーケンス図情報記憶部１１４は、シーケンス図作成器１１３が生成するシーケンス図情報を記憶する。
【００３８】
ビューワ１１５は、情報処理装置の表示部（図示せず）にシーケンス図を表示させるためのプログラムである。処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、シーケンス図情報記憶部１１４が記憶するシーケンス図情報にもとづいてシーケンス図を表示部に表示する。また、処理シーケンス表示装置１１０は、開発者からの表示切替指示が入力されると、ビューワ１１５の機能を用いて、シーケンス図の表示範囲を切り替えて表示部に表示する。例えば、開発者は、ビューワ１１５による表示画面から操作することによって、表示部に表示されるシーケンス図の表示範囲を切り替えることができる。
【００３９】
また、処理シーケンス表示装置１１０は、表示設定情報記憶部１１６が記憶するシーケンス図の表示条件の設定情報（以下、表示設定情報と記す）にもとづいて、ビューワ１１５の機能を用いて、表示設定情報で設定されている表示条件に従ってシーケンス図を表示する。
【００４０】
また、処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、対象プログラム１００ａに含まれる各オブジェクトを時系列に相互に対応付けて視覚的にシーケンス図上に表示する。例えば、処理シーケンス表示装置１１０は、各オブジェクト間でやりとりされるメッセージや各オブジェクトの呼出時間を、各オブジェクトに時系列に対応付けて表示する。また、処理シーケンス表示装置１１０は、各オブジェクトの入出力パラメータや処理データなどの付加情報を表示する。本実施の形態では、対象プログラム１００ａに含まれる各オブジェクトを時系列に相互に対応付けて視覚的に表示することを、以下、単に構造化表示すると記す。例えば、処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、ＵＭＬ形式に従って構造化表示したシーケンス図を表示する。
【００４１】
表示設定情報記憶部１１６は、情報処理装置の記憶装置によって実現される。表示設定情報記憶部１１６は、表示設定情報を記憶する。表示設定情報は、シーケンス図に表示されうる各図形やデータのうち、いずれの図形やデータを表示するかの設定値などを含む情報である。例えば、表示設定情報は、シーケンス図に表示されうる図形やデータごとに「表示」または「非表示」の設定値情報を含む。表示設定器１１７は、情報処理装置の制御部およびキーボードなどの入力部（図示せず）によって実現される。表示設定器１１７は、開発者の入力指示に従って、表示設定情報記憶部１１６が記憶する表示設定情報を更新する。
【００４２】
構造化情報生成手段は、シーケンス図作成器１１３によって実現される。シーケンス図表示手段は、ビューワ１１５に従って動作する情報処理装置の制御部などによって実現される。表示設定情報記憶手段は、表示設定情報記憶部１１６によって実現される。表示設定情報更新手段は、表示設定器１１７によって実現される。
【００４３】
なお、処理シーケンス表示装置１１０を実現する情報処理装置（コンピュータ）の記憶装置は、コンピュータに、プログラムの実行結果のログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する処理と、シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を抽出し、表示設定情報に設定される表示条件に従って、構造化情報にもとづいて、プログラムの実行結果を、各オブジェクトを時系列に対応付けたシーケンス図として表示する処理とを実行させるためのシーケンス図表示プログラムを記憶している。
【００４４】
図２は、ログファイルに格納されるログ情報のデータ形式の一例を示す説明図である。図２に示す例は、対象プログラム１００ａとして業務システムを実行した場合のログ情報のデータ形式を示したものである。図２に示すように、ログファイルには、ログ情報として、対象プログラム１００ａにおける各処理シーケンスと処理データや、データベース処理の処理前後のデータなどが格納される。
【００４５】
例えば、一般に業務システムは表示画面からの入力受付から処理を開始するので、図２に示すように、ログファイルには、ログ情報として、画面入力処理２０１の際の画面名、入力パラメータおよび処理前データなどのログ情報が最初に格納される。
【００４６】
また、画面入力処理が行われると、業務システムに含まれる具体的な処理が実行されるので、ログファイルには、ログ情報として、具体的な処理の処理開始２０２の際の呼出オブジェクト名、呼出メソッドおよびメソッド引数などの情報が格納される。例えば、ログファイルには、業務システムに含まれるデータ検索処理の処理開始の際の呼出オブジェクト名、呼出メソッドおよびメソッド引数などの情報が格納される。以下、業務システムに含まれるデータ検索処理などの具体的な処理を単に業務処理と記す。
【００４７】
ここでは、業務処理が開始されるとデータ検索などのデータベース処理が行われる。よって、ログファイルには、ログ情報として、業務処理で実行されるデータベース処理２０３の処理前データ、実行ＳＱＬ（Structured Query Language ）文および処理後データなどの情報が格納される。
【００４８】
また、データ検索などを完了すると業務処理を終了するので、ログファイルには、ログ情報として、業務処理の処理終了２０４の際の呼出オブジェクト名、呼出メソッドおよびメソッド返却値などの情報が格納される。さらに、業務システムは表示画面への出力で処理を終了するので、ログファイルには、ログ情報として、画面出力処理２０５の画面名、出力パラメータおよび処理後データが最後に格納される。
【００４９】
なお、業務処理を１つだけ含む場合に限らず、対象プログラム１００ａは、複数の業務処理を含むものであってもよい。この場合に、ログファイルには、業務処理の処理開始２０２の際のログ情報、データベース処理２０３のログ情報および処理終了２０４の際のログ情報が複数格納される。
【００５０】
図３は、ログファイルに格納されるログ情報の内容の具体例を示す説明図である。図３に示す例では、図２に示す処理開始２０２および処理終了２０４に相当する情報は省略されている。従って、図３に示すように、ログ情報は、画面入力処理のログ情報３０１，データベース処理のログ情報３０２および画面出力処理のログ情報３０３を含む。
【００５１】
例えば、対象プログラム１００ａを実行した際に最初に画面入力処理が行われるので、図３に示すように、ログファイルには、画面入力処理の画面名「ItemServlet 」および入力パラメータ「ITEM_CD=ITEM0003」のログ情報が格納される。入力パラメータは、「パラメータ名＝パラメータ値」の形式で表示される。本例では、図３に示すように、入力パラメータのパラメータ名が「ITEM_CD 」であり、パラメータ値が「ITEM0003」である。なお、本例では、図３に示すように、画面入力処理の処理前データがない場合を説明する。
【００５２】
次に、データベース処理が行われるので、ログファイルには、データベース処理の処理前データ「ITEM_MST ITEM_CD=ITEM0003,ITEM_NAME=PC,PRICE=100000 」、実行するＳＱＬ文「SELECT*FROM ITEM_MST WHERE ITEM_CD='ITEM0003' 」および処理後データ「ITEM_MST ITEM_CD=ITEM0003,ITEM_NAME=PC,PRICE=100000 」のログ情報が格納される。
【００５３】
さらに、最後に画面出力処理が行われるので、ログファイルには、画面出力処理の画面名「ItemServlet 」および出力パラメータ「ITEM_CD=ITEM0003,ITEM_NAME=PC,PRICE=100000」のログ情報が格納される。出力パラメータは、入力パラメータと同様に、「パラメータ名＝パラメータ値」の形式で表示される。本例では、図３に示すように、ログファイルには、３つの出力パラメータが格納される。出力パラメータの値は、それぞれ、パラメータ名「ITEM_CD 」に対してパラメータ値「ITEM0003」、パラメータ名「ITEM_NAME 」に対してパラメータ値「PC」、およびパラメータ名「PRICE 」に対してパラメータ値「100000」である。なお、本例では、図３に示すように、画面出力処理の処理後データがない場合を説明する。
【００５４】
図４は、シーケンス図作成器１１３が生成するシーケンス図情報のデータ形式の一例を示す説明図である。シーケンス図情報は、図４に示すように、ＵＭＬ形式に従って、「レーン」、「メッセージ」および「活性区間」の情報を含む。
【００５５】
「レーン」は、対象プログラム１００ａに含まれるオブジェクトやデータベースの範囲を示す情報である。また、図４に示すように、シーケンス図情報は、各レーンに対応付けて、レーンを識別するための「レーンＩＤ」、および各レーンの名称である「レーン名」の情報を含む。以下、レーンの属性を示す「レーンＩＤ」および「レーン名」の情報をレーン属性情報と記す。
【００５６】
なお、各レーンＩＤは、シーケンス図情報において一意に設定される。本実施の形態において、まず最初に生成されたレーンに対してレーンＩＤ「0000」と設定される。そして、生成された順番に、各レーンに対して「１」ずつ加算した値がレーンＩＤとして設定される。例えば、２番目に生成されたレーンに対してレーンＩＤ「0001」と設定される。
【００５７】
「メッセージ」は、ある活性区間から他の活性区間へのシグナルを示す。例えば、シーケンス図情報は、「メッセージ」として、処理の開始や終了を示す文字列情報を含む。また、図４に示すように、シーケンス図情報は、各メッセージを識別するための「メッセージＩＤ」、メッセージの名称を示す「メッセージ名」、およびメッセージが対象プログラム１００ａ実行中のいずれの時間に発生したのかを示す「発生時間」を含む。以下、「メッセージＩＤ」、「メッセージ名」および「発生時間」などのメッセージの属性を示す情報をメッセージ属性情報と記す。
【００５８】
なお、レーンＩＤと同様に、メッセージＩＤおよび発生時間は、シーケンス図情報において一意に設定される。例えば、生成された順番に各メッセージに対して、メッセージＩＤ「M0000 」，「M0001 」・・・と設定される。また、例えば、メッセージが発生した順番に、発生時間「１」，「２」・・・と設定される。
【００５９】
ログ情報に入出力パラメータや処理データが含まれる場合には、シーケンス図情報は、オプションのメッセージ属性情報として、「パラメータ」、「引数」または「返値」の情報を含む。「パラメータ」は、画面入出力処理などにおいて、画面から入力される情報や画面表示される情報である。シーケンス図情報は、図４に示すように、「パラメータ」の情報を（＜パラメータ名＞＜パラメータ値＞）の形式で含む。また、「引数」は、各処理においてメソッド呼び出しを行う際の引数である。また、「返値」は、各処理を行った際のメソッドの返却値である。
【００６０】
「活性区間」は、各レーンに対応するオブジェクトやデータベースが、対象プログラム１００ａ実行中に呼び出されている時間を示す。図４に示すように、シーケンス図情報は、各活性区間に対応付けて、活性区間に対応するレーンの「レーンＩＤ」、活性区間の開始時間に対応するメッセージＩＤである「開始メッセージＩＤ」、活性区間の終了時間に対応するメッセージＩＤである「終了メッセージＩＤ」、および活性区間の名称を示す「活性区間名」を含む。以下、活性区間に対応する「レーンＩＤ」、「開始メッセージＩＤ」、「終了メッセージＩＤ」および「活性区間名」などの情報を活性区間属性情報と記す。
【００６１】
ログ情報にデータベース処理の処理前後データやＳＱＬのコマンド文が含まれる場合には、シーケンス図情報は、オプションの活性区間属性情報として、「Before」、「SQL 」や「After 」の情報を含む。「Before」は、データベース処理の処理前データである。「SQL 」は、データベース処理で実行されるＳＱＬ文である。「After 」は、データベース処理の処理後データである。
【００６２】
なお、「Before」および「After 」は、図４に示すように、データベースのテーブル名（表名）と、テーブルに含まれるデータ列（「Row 」）とを含む。また、テーブルに含まれる各データは、図４に示すように、「Cell」単位で（＜データ名＞＜データ値＞）の形式でシーケンス図情報に格納される。
【００６３】
本実施の形態では、図４に示すように、各メッセージが発生時間の情報を含み、各活性区間が対応するレーンＩＤ、開始メッセージＩＤおよび終了メッセージＩＤを含むので、各オブジェクト間でやりとりされるメッセージおよび各活性区間が、各オブジェクトに時系列に対応付けられる。すなわち、対象プログラム１００ａに含まれる各オブジェクトが時系列に相互に対応付けられる。
【００６４】
図５および図６は、シーケンス図情報の内容の具体例を示す説明図である。図５および図６に示すシーケンス図情報は、シーケンス図作成器１１３が図３に示すログ情報にもとづいて生成したものである。図５および図６に示すように、シーケンス図情報は、各レーン属性情報を含むタグ情報形式のレーン５０１，５０２と、各メッセージ属性情報を含むタグ情報形式のメッセージ５０３，５０４，５０５，５０６と、各活性区間属性情報を含むタグ情報形式の活性区間６０１，６０２とを含む。
【００６５】
次に、動作について説明する。開発者は、情報処理装置などを操作して、テストのために、対象プログラム１００ａの実行指示を入力する。対象プログラム実行部１００は、開発者の操作に従って、対象プログラム１００ａを実行する。すると、対象プログラム実行部１００は、ログ部品１０１の手順に従って、実行した対象プログラム１００ａに含まれるメソッドや処理データを含んだログ情報を生成し、生成したログファイルをログファイル記憶手段１０３に記憶させる。本例では、対象プログラム実行部１００は、図３に示すログ情報を含むログファイルを生成する。
【００６６】
本実施の形態では、どのレベルまでのログ情報を出力するかを開発者が予め対象プログラム１００ａの実行前に設定するのでなく、ログ部品１０１は、対象プログラム１００ａに含まれる全てのメソッドおよび実行中の全ての処理データを含むログ情報を生成する。なお、開発者がどのレベルまでのログ情報を出力するかを予め対象プログラム１００ａ実行前に設定できるようにしてもよい。
【００６７】
図７は、処理シーケンス表示装置１１０がログファイルを読み込んでシーケンス図を表示するシーケンス図表示処理の一例を示す流れ図である。テストを行った後に実行結果をシーケンス図表示させる場合には、開発者は、処理シーケンス表示装置１１０を操作して、シーケンス図の表示指示を入力する。シーケンス図の表示指示が入力されると、ログリーダ１１１は、ログファイル記憶手段１０３が記憶するログファイルを読み込む（ステップＳ１０１）。ログリーダ１１１は、読み込んだログファイルをログ記憶部１１２に記憶させる（ステップＳ１０２）。
【００６８】
シーケンス図作成器１１３は、ログ記憶部１１２が記憶するログファイルを読み込む（ステップＳ１０３）。シーケンス図作成器１１３は、ログファイルに格納されているログ情報の先頭行を抽出する（ステップＳ１０４）。本例では、シーケンス図作成器１１３は、図３に示すログ情報の先頭行の画面入力行「ItemServlet 」を抽出する。
【００６９】
シーケンス図作成器１１３は、あらたにシーケンス図情報を生成しシーケンス図情報記憶部１１４に記憶させる。シーケンス図作成器１１３は、抽出したログファイルの先頭行に対する「レーン」を生成しシーケンス図情報に格納する（ステップＳ１０５）。
【００７０】
本例では、図５に示すように、シーケンス図作成器１１３は、「レーン」のタグ情報５０１を生成する。また、シーケンス図作成器１１３は、生成したタグ情報５０１に対するレーン属性情報を生成する。本例では、シーケンス図作成器１１３は、レーンＩＤ「0000」を生成する。また、シーケンス図作成器１１３は、図３の先頭行の画面名にもとづいてレーン名「ItemServlet 」を生成する。そして、シーケンス図作成器１１３は、生成したレーン属性情報を含むタグ情報５０１をシーケンス図情報に格納する。
【００７１】
シーケンス図作成器１１３は、生成した「レーン」に対する「メッセージ」を生成しシーケンス図情報に格納する（ステップＳ１０６）。
【００７２】
本例では、図５に示すように、シーケンス図作成器１１３は、「メッセージ」のタグ情報５０３を生成する。また、シーケンス図作成器１１３は、生成したタグ情報５０３に対するメッセージ属性情報を生成する。本例では、シーケンス図作成器１１３は、メッセージＩＤ「M0000 」を生成する。また、シーケンス図作成器１１３は、画面名「ItemServlet 」に「Begin 」を付加してメッセージ名「ItemServlet Begin 」を生成する。また、「ItemServlet Begin 」は最初に発生したメッセージであるので、シーケンス図作成器１１３は、発生時間「１」を生成する。
【００７３】
また、図３に示すように、画面入力処理が入力パラメータを含むので、シーケンス図作成器１１３は、オプションのメッセージ属性情報としてパラメータ情報を生成する。本例では、シーケンス図作成器１１３は、図３の入力パラメータにもとづいて、パラメータ名「ITEM_CD」および値「ITEM0003」を生成する。そして、シーケンス図作成器１１３は、生成したメッセージ属性情報を含むタグ情報５０３をシーケンス図情報に格納する。
【００７４】
シーケンス図作成器１１３は、生成した「レーン」に対応する「活性区間」を生成しシーケンス図情報に格納する（ステップＳ１０７）。
【００７５】
本例では、図６に示すように、シーケンス図作成器１１３は、「活性区間」のタグ情報６０１を生成する。また、シーケンス図作成器１１３は、生成したタグ情報６０１に対する活性区間属性情報を生成する。本例では、シーケンス図作成器１１３は、ステップＳ１０５で生成したレーンのレーンＩＤ「0000」を生成する。
【００７６】
また、シーケンス図作成器１１３は、活性区間の開始時のメッセージのメッセージＩＤである開始メッセージＩＤを生成する。本例では、ステップＳ１０６で生成したメッセージが開始時のメッセージであるので、シーケンス図作成器１１３は、開始メッセージＩＤ「M0000 」を生成する。また、シーケンス図作成器１１３は、図３の画面名を含む活性区間名「ItemServlet 」を生成する。そして、シーケンス図作成器１１３は、生成した活性区間属性情報を含むタグ情報６０１をシーケンス図情報に格納する。
【００７７】
シーケンス図作成器１１３は、ログファイルに格納されているログ情報の次の行を抽出する（ステップＳ１０８）。シーケンス図作成器１１３は、ステップＳ１０８でログ情報に次の行が含まれていたか否かを判断する（ステップＳ１０９）。次の行が含まれていた場合には、シーケンス図作成器１１３は、次の処理が「処理開始」、「データベース処理」、「処理終了」または「画面出力処理」のいずれであるかを判断する（ステップＳ１１０）。
【００７８】
次の処理が「処理開始」であると判断した場合には、シーケンス図作成器１１３は、ログ情報に含まれる「処理開始」の呼出オブジェクト名を抽出し、抽出した呼出オブジェクト名に対応する「レーン」をシーケンス図情報から抽出する。また、対応するレーンがシーケンス図情報に含まれない場合には、シーケンス図作成器１１３は、呼出オブジェクト名をレーン名として、あらたに「レーン」を生成する（ステップＳ１１１）。
【００７９】
シーケンス図作成器１１３は、抽出または生成した「レーン」に対応する「メッセージ」を生成しシーケンス図情報に格納する（ステップＳ１１２）。この場合に、シーケンス図作成器１１３は、現在の最新のメッセージＩＤに「１」を加算した値をメッセージＩＤとして、ステップＳ１０６と同様の手順に従って「メッセージ」を生成する。また、シーケンス図作成器１１３は、ログ情報から「処理開始」の呼出メソッド名を抽出し、呼出メソッド名に「begin 」を付加した文字列をメッセージ名として「メッセージ」を生成する。また、ログ情報にメソッド引数が含まれる場合には、シーケンス図作成器１１３は、ログ情報からメソッド引数の値を抽出し、メッセージ属性情報の引数として「メッセージ」を生成する。
【００８０】
シーケンス図作成器１１３は、抽出または生成した「レーン」に対応する「活性区間」を生成しシーケンス図情報に格納する（ステップＳ１１３）。この場合に、シーケンス図作成器１１３は、ステップＳ１１１で抽出または生成した「レーン」のレーンＩＤ、および開始メッセージＩＤとしてステップＳ１１２で生成した「メッセージ」のメッセージＩＤにもとづいて、ステップＳ１０７と同様に手順に従って「活性区間」を生成する。また、シーケンス図作成器１１３は、ログ情報から呼出メソッド名を抽出し、抽出したメソッド名を活性区間名として「活性区間」を生成する。
【００８１】
生成した「活性区間」をシーケンス図情報に格納すると、シーケンス図作成器１１３は、ステップＳ１０８に戻りログ情報に含まれる全ての行について処理を終了するまでステップＳ１０８以降の処理を繰り返し実行する。なお、本例では、図３に示すように、ログファイルに「処理開始」のログ情報が格納されていないので、シーケンス図作成器１１３は、ステップＳ１１１からステップＳ１１３の処理を実行しない。
【００８２】
ステップＳ１１０で次の処理が「データベース処理」であると判断した場合には、シーケンス図作成器１１３は、ログ情報に含まれるＳＱＬ文からデータベースのテーブル名を抽出し、抽出したテーブル名に対応する「レーン」をシーケンス図情報から抽出する。また、対応するレーンがシーケンス図情報に含まれない場合には、シーケンス図作成器１１３は、テーブル名をレーン名として、あらたに「レーン」を生成する（ステップＳ１１４）。
【００８３】
本例では、図３に示すように、次の処理が「データベース処理」であるので、シーケンス図作成器１１３は、図３に示すログ情報に含まれるＳＱＬ文からデータベースのテーブル名「ITEM_MST」を抽出する。
【００８４】
テーブル名「ITEM_MST」に対応するレーンがシーケンス図情報に含まれていないので、シーケンス図作成器１１３は、図５に示すように、あたらに「レーン」のタグ情報５０２を生成する。また、シーケンス図作成器１１３は、生成したタグ情報５０２に対するレーン属性情報を生成する。本例では、タグ情報５０２が２つ目の「レーン」のタグ情報であるので、シーケンス図作成器１１３は、レーンＩＤ「0001」を生成する。また、シーケンス図作成器１１３は、テーブル名「ITEM_MST」にもとづいてレーン名「ITEM_MST」を生成する。そして、シーケンス図作成器１１３は、生成したレーン属性情報を含むタグ情報５０２をシーケンス図情報に格納する。
【００８５】
シーケンス図作成器１１３は、メッセージ名「Execute SQL begin 」として、抽出または生成した「レーン」に対する「メッセージ」を生成しシーケンス図情報に格納する（ステップＳ１１５）。
【００８６】
本例では、図５に示すように、シーケンス図作成器１１３は、「メッセージ」のタグ情報５０４を生成する。また、シーケンス図作成器１１３は、生成したタグ情報５０４に対するメッセージ属性情報を生成する。本例では、タグ情報５０４が２つ目の「メッセージ」のタグ情報であるので、シーケンス図作成器１１３は、メッセージＩＤ「M0001 」を生成する。また、シーケンス図作成器１１３は、メッセージ名「Execute SQL begin 」を生成する。また、「Execute SQL begin 」は２番目に発生したメッセージであるので、シーケンス図作成器１１３は、発生時間「２」を生成する。そして、シーケンス図作成器１１３は、生成したメッセージ属性情報を含むタグ情報５０４をシーケンス図情報に格納する。
【００８７】
シーケンス図作成器１１３は、メッセージ名「Execute SQL end 」として、抽出または生成した「レーン」に対する「メッセージ」を生成しシーケンス図情報に格納する（ステップＳ１１６）。
【００８８】
本例では、図５に示すように、シーケンス図作成器１１３は、「メッセージ」のタグ情報５０５を生成する。また、シーケンス図作成器１１３は、生成したタグ情報５０５に対するメッセージ属性情報を生成する。本例では、タグ情報５０５が３つ目の「メッセージ」のタグ情報であるので、シーケンス図作成器１１３は、メッセージＩＤ「M0002 」を生成する。また、シーケンス図作成器１１３は、メッセージ名「Execute SQL end 」を生成する。また、「Execute SQL end 」は３番目に発生したメッセージであるので、シーケンス図作成器１１３は、発生時間「３」を生成する。そして、シーケンス図作成器１１３は、生成したメッセージ属性情報を含むタグ情報５０５をシーケンス図情報に格納する。
【００８９】
シーケンス図作成器１１３は、抽出または生成した「レーン」に対応する「活性区間」を生成しシーケンス図情報に格納する（ステップＳ１１７）。
【００９０】
本例では、図６に示すように、シーケンス図作成器１１３は、「活性区間」のタグ情報６０２を生成する。また、シーケンス図作成器１１３は、生成したタグ情報６０２に対する活性区間属性情報を生成する。本例では、シーケンス図作成器１１３は、ステップＳ１１４で生成したレーンのレーンＩＤ「0001」を生成する。
【００９１】
また、シーケンス図作成器１１３は、ステップＳ１１５で生成したメッセージ「Execute SQL begin 」にもとづいて開始メッセージＩＤ「M0001 」を生成する。また、シーケンス図作成器１１３は、ステップＳ１１６で生成したメッセージ「Execute SQL end 」にもとづいて終了メッセージＩＤ「M0002 」を生成する。また、シーケンス図作成器１１３は、図３のログ情報に含まれるＳＱＬ文からコマンド「select」を抽出して活性区間名「select」を生成する。
【００９２】
また、図３に示すように「データベース処理」が処理前データ、ＳＱＬ文および処理後データを含むので、シーケンス図作成器１１３は、オプションの活性区間属性情報として、「Before」、「SQL 」および「After 」のタグ情報を生成する。本例では、シーケンス図作成器１１３は、図６に示すように、ログ情報に含まれる処理前データからテーブル名「ITEM_MST」、データ名「ITEM_CD 」と値「ITEM0003」、データ名「ITEM_NAME 」と値「PC」およびデータ名「PRICE 」と値「100000」を抽出し、「Before」のタグ情報６０３を生成する。
【００９３】
また、シーケンス図作成器１１３は、図６に示すように、ログ情報に含まれるＳＱＬ文「SELECT * FROM ITEM_MST WHERE ITEM_CD = 'ITEM0003' 」を抽出し、「SQL 」のタグ情報６０４を生成する。また、シーケンス図作成器１１３は、図６に示すように、ログ情報に含まれる処理後データからテーブル名「ITEM_MST」、データ名「ITEM_CD 」と値「ITEM0003」、データ名「ITEM_NAME 」と値「PC」およびデータ名「PRICE 」と値「100000」を抽出し、「After 」のタグ情報６０５を生成する。そして、シーケンス図作成器１１３は、生成した活性区間属性情報を含むタグ情報６０２をシーケンス図情報に格納する。
【００９４】
生成した「活性区間」をシーケンス図情報に格納すると、シーケンス図作成器１１３は、ステップＳ１０８に戻りログ情報に含まれる全ての行について処理を終了するまでステップＳ１０８以降の処理を繰り返し実行する。
【００９５】
ステップＳ１１０で次の処理が「処理終了」であると判断した場合には、シーケンス図作成器１１３は、あたらに「メッセージ」を生成しシーケンス図情報に格納する（ステップＳ１１８）。この場合に、シーケンス図作成器１１３は、現在の最新のメッセージＩＤに「１」加算した値をメッセージＩＤとして、ステップＳ１０６と同様に手順に従って「メッセージ」を生成する。また、シーケンス図作成器１１３は、ログ情報から「処理終了」の呼出メソッド名を抽出し、呼出メソッド名に「end 」を付加した文字列をメッセージ名として「メッセージ」を生成する。また、ログ情報にメソッド返却値が含まれる場合には、シーケンス図作成器１１３は、ログ情報からメソッド返却値の値を抽出し、メッセージ属性情報の返値として「メッセージ」を生成する。
【００９６】
シーケンス図作成器１１３は、対応する「処理開始」を特定し、ステップＳ１１８で生成したメッセージＩＤを、特定した「処理開始」に対応する「活性区間」の終了メッセージＩＤとしてシーケンス図情報に格納する（ステップＳ１１９）。
【００９７】
終了メッセージＩＤをシーケンス図情報に格納すると、シーケンス図作成器１１３は、ステップＳ１０８に戻りログ情報に含まれる全ての行について処理を終了するまでステップＳ１０８以降の処理を繰り返し実行する。なお、本例では、図３に示すように、ログファイルに「処理終了」のログ情報が格納されていないので、シーケンス図作成器１１３は、ステップＳ１１８およびステップＳ１１９の処理を実行しない。
【００９８】
ステップＳ１１０で次の処理が「画面出力処理」であると判断した場合には、シーケンス図作成器１１３は、あらたに「メッセージ」を生成しシーケンス図情報に格納する（ステップＳ１２０）。
【００９９】
本例では、図５に示すように、シーケンス図作成器１１３は、「メッセージ」のタグ情報５０６を生成する。また、シーケンス図作成器１１３は、生成したタグ情報に対するメッセージ属性情報を生成する。本例では、タグ情報５０６が４つ目の「メッセージ」のタグ情報であるので、シーケンス図作成器１１３は、メッセージＩＤ「M0003 」を生成する。また、シーケンス図作成器１１３は、画面名「ItemServlet 」に「End 」を付加してメッセージ名「ItemServlet End 」を生成する。また、「ItemServlet End 」は４番目に発生したメッセージであるので、シーケンス図作成器１１３は、発生時間「４」を生成する。
【０１００】
また、図３に示すようにログ情報が出力パラメータを含むので、シーケンス図作成器１１３は、オプションのメッセージ属性情報として、「返値」のタグ情報を生成する。本例では、シーケンス図作成器１１３は、図５に示すように、ログ情報に含まれる出力パラメータからデータ名「ITEM_CD 」と値「ITEM0003」、データ名「ITEM_NAME 」と値「PC」およびデータ名「PRICE 」と値「100000」を抽出し、３つの「返値」のタグ情報を生成する。
【０１０１】
シーケンス図作成器１１３は、ステップＳ１２０で生成したメッセージＩＤを、ステップＳ１１３で生成した「画面入力処理」の「活性区間」の終了メッセージＩＤとして生成しシーケンス図情報に格納する（ステップＳ１２１）。本例では、シーケンス図作成器１１３は、ステップＳ１２０で生成したメッセージにもとづいて、図６に示すタグ情報６０１の終了メッセージＩＤ「M0003 」を生成しシーケンス図情報に格納する。
【０１０２】
終了メッセージＩＤをシーケンス図情報に格納すると、シーケンス図作成器１１３は、ステップＳ１０８に戻りログ情報に含まれる全ての行について処理を終了するまでステップＳ１０８以降の処理を繰り返し実行する。
【０１０３】
以上のように、シーケンス図作成器１１３がステップＳ１０８からステップＳ１２１までの処理を繰り返し実行することによって、ログファイルに格納されているログ情報にもとづいてシーケンス図情報が生成されシーケンス図情報記憶部１１４に格納される。ログ情報に含まれる全ての行の処理を終了すると、シーケンス図作成器１１３は、ステップＳ１０９においてログ情報に次の行が含まれないと判断する。
【０１０４】
ステップＳ１０９で次の行が含まれないと判断すると、処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、シーケンス図情報記憶部１１４からシーケンス図情報を抽出する（ステップＳ１２２）。また、処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、表示設定情報記憶部１１６から表示設定情報を抽出する（ステップＳ１２３）。すると、処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、シーケンス図情報および表示設定情報にもとづいてシーケンス図を表示部に表示する（ステップＳ１２４）。
【０１０５】
図８は、表示部に表示されるシーケンス図の一例を示す説明図である。図８は、処理シーケンス表示装置１１０が図５および図６に示すシーケンス図情報にもとづいて表示したシーケンス図である。図８に示すように、処理シーケンス表示装置１１０は、対象プログラム１００ａの実行結果を、ＵＭＬ形式に従ってシーケンス図として表示する。
【０１０６】
本例では、図８に示すように、処理シーケンス表示装置１１０は、図５および図６に示すシーケンス図情報のタグ情報５０１，５０２にもとづいて、それぞれ「レーン」を縦棒の線分８０１，８０２として表示する。図８において、線分８０１はレーン名「ItemServlet 」の「レーン」に相当し、線分８０２はレーン名「ITEM_MST」の「レーン」に相当する。すなわち、対象プログラム１００ａに含まれる各オブジェクトは、シーケンス図上で縦棒の線分の図形として表示される。
【０１０７】
また、処理シーケンス表示装置１１０は、図５および図６に示すシーケンス図情報の「活性区間」のタグ情報６０１，６０２に含まれる「開始メッセージＩＤ」および「終了メッセージＩＤ」を抽出する。処理シーケンス表示装置１１０は、抽出した「開始メッセージＩＤ」および「終了メッセージＩＤ」に対応する「メッセージ」のタグ情報５０３，５０４，５０５，５０６から、それぞれ発生時間を抽出する。処理シーケンス表示装置１１０は、「開始メッセージＩＤ」および「終了メッセージＩＤ」に対応する発生時間にもとづいて「活性区間」の表示の長さを決定する。そして、処理シーケンス表示装置１１０は、図８に示すように、決定した長さに従って、それぞれ活性区間８０７，８０８を表示する。すなわち、対象プログラム１００ａ実行中の各オブジェクトの呼出時間は、シーケンス図上で活性区間８０７，８０８の矩形図形として表示される。
【０１０８】
また、処理シーケンス表示装置１１０は、「活性区間」のタグ情報６０１，６０２に含まれる「開始メッセージＩＤ」および「終了メッセージＩＤ」に対応する「メッセージ」のタグ情報５０３，５０４，５０５，５０６から、メッセージ名を抽出する。そして、処理シーケンス表示装置１１０は、図８に示すように、抽出したメッセージ名に従って、それぞれメッセージ８０３，８０４，８０５，８０６を表示する。
【０１０９】
図８に示すように、処理シーケンス表示装置１１０は、シーケンス図情報にもとづいて、各オブジェクト間でやりとりされるメッセージや各オブジェクトの呼出時間（活性区間）を、各オブジェクトに時系列に対応付けて表示する。すなわち、処理シーケンス表示装置１１０は、シーケンス図情報にもとづいて、対象プログラム１００ａの実行結果を構造化表示したシーケンス図を表示する。
【０１１０】
なお、シーケンス図情報生成後に最初にシーケンス図を表示する場合には、表示設定情報は、デフォルト値として、全ての「レーン」、「メッセージ」および「活性区間」を表示する旨の設定値情報を含んでいる。処理シーケンス表示装置１１０は、図８に示すように、最初にシーケンス図を表示する場合には、デフォルト値を含む表示設定情報にもとづいて、シーケンス図情報に含まれる全ての「レーン」、「メッセージ」および「活性区間」を表示状態としたシーケンス図を表示する。
【０１１１】
また、最初にシーケンス図を表示する場合には、表示設定情報は、デフォルト値として、各オブジェクトの入出力パラメータや処理データなどの付加情報を全て非表示とする旨の設定値情報を含んでいる。処理シーケンス表示装置１１０は、図８に示すように、最初にシーケンス図を表示する場合には、表示設定情報にもとづいて、入出力パラメータや処理データなど付加情報を非表示状態としてシーケンス図を表示する。
【０１１２】
開発者は、シーケンス図に表示される表示情報量を変更したい場合には、表示設定器１１７を操作して表示設定情報の更新指示を入力する。表示設定器１１７は、表示設定情報の更新指示の入力を受け付けると、開発者の操作に従って表示設定情報記憶部１１６が記憶する表示設定情報を更新する（ステップＳ１２５）。
【０１１３】
例えば、表示設定情報は、シーケンス図上に表示されるレーン８０１，８０２、メッセージ８０３，８０４，８０５，８０６、活性区間８０７，８０８、入出力パラメータや処理データごとに、「表示」または「非表示」のいずれかの設定値を含む。開発者は、表示設定器１１７を操作して、表示設定情報に含まれる「表示」または「非表示」の設定値を変更することによって、シーケンス図の表示情報量を変更することができる。なお、開発者は、ビューワ１１５による表示画面から操作することによって、表示設定情報に含まれる各設定値を変更できるようにしてもよい。
【０１１４】
表示設定情報を更新すると、処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、表示設定情報記憶部１１６から更新後の表示設定情報を抽出する（ステップＳ１２３）。そして、処理シーケンス表示装置１１０は、更新後の表示設定情報およびシーケンス図情報にもとづいてシーケンス図の表示を更新する（ステップＳ１２４）。なお、処理シーケンス表示装置１１０は、開発者が対象プログラム１００ａの実行結果のシーケンス図表示の確認作業を行っている間、ステップＳ１２３からステップＳ１２５までの処理を繰り返し実行する。
【０１１５】
例えば、図８に示すシーケンス図の表示のうちレーン８０２の部分を表示しないようにする場合には、表示設定器１１７は、開発者の操作に従って、レーン８０２を「非表示」として表示設定情報を更新する。すると、処理シーケンス表示装置１１０は、更新後の表示設定情報にもとづいてレーン８０２を「非表示」にしたシーケンス図を表示する。図９は、レーン８０２を「非表示」にした場合のシーケンス図の一例を示す説明図である。図９に示すように、レーン８０２が「非表示」設定されると、処理シーケンス表示装置１１０は、レーン８０２と、レーン８０２に付随するメッセージ８０４，８０５および活性区間８０８とを削除したシーケンス図を表示する。
【０１１６】
図９に示すように、任意のレーンを選択して「非表示」に設定できるので、対象プログラム１００ａの実行結果のうち、必要な部分だけを表示状態にしたシーケンス図を表示させることができる。すなわち、不具合分析作業に必要な部分だけを概要表示したシーケンス図を表示させることができる。
【０１１７】
なお、表示設定器１１７は、開発者の操作に従って、メッセージ８０３，８０４，８０５，８０６または活性区間８０７，８０８を個別に「非表示」にして表示設定情報を更新してもよい。この場合に、処理シーケンス表示装置１１０は、更新後の表示設定情報にもとづいて、図８に示すシーケンス図の表示のうち、いずれかのメッセージ８０３，８０４，８０５，８０６または活性区間８０７，８０８を「非表示」にしたシーケンス図を表示するようにしてもよい。
【０１１８】
また、例えば、図８に示すシーケンス図に入出力パラメータ、処理データおよびデータベース処理のＳＱＬのコマンド文など付加情報を表示させる場合には、表示設定器１１７は、開発者の操作に従って、各入出力パラメータ、処理データおよびＳＱＬ文を「表示」として表示設定情報を更新する。すると、処理シーケンス表示装置１１０は、更新後の表示設定情報にもとづいて、図８に示す表示内容に加えて、各入出力パラメータ、処理データおよびＳＱＬ文を「表示」にしたシーケンス図を表示する。
【０１１９】
図１０は、各入出力パラメータ、処理データおよびＳＱＬ文など付加情報を「表示」にした場合のシーケンス図の一例を示す説明図である。図１０に示すように、処理シーケンス表示装置１１０は、更新後の表示設定情報にもとづいて、図８に示す表示内容に加えて、メッセージ８０３に対する入力パラメータ１００１、およびメッセージ８０６に対する出力パラメータ１００２を表示する。また、処理シーケンス表示装置１１０は、図８に示す表示内容に加えて、活性区間８０８に対する処理前データ１００３、ＳＱＬ文１００４および処理後データ１００５を表示する。
【０１２０】
図１０に示すように、任意の付加情報を選択して「表示」に設定できるので、対象プログラム１００ａの実行結果のうち、開発者がより詳細に分析したい部分の付加情報を表示状態にしたシーケンス図を表示させることができる。すなわち、より詳細に不具合分析作業を行いたい部分を詳細表示したシーケンス図を表示させることができる。
【０１２１】
なお、本実施の形態では、図３に示すように、ログファイルに画面入力処理、データベース処理および画面出力処理のログ情報のみが格納される場合を説明したが、さらにログファイルに各業務処理の処理開始および処理終了のログ情報が格納される場合も、同様の手順に従ってシーケンス図が表示される。
【０１２２】
図１１は、ログファイルに格納されるログ情報の他の例を示す説明図である。図１１に示すように、本例では、ログファイルには、業務処理の処理開始のログ情報１１０１および処理終了のログ情報１１０２が格納される。例えば、ログファイルには、処理開始のログ情報１１０１として、オブジェクト名「ItemControl 」、メソッド名「search」およびメソッド引数「ITEM0003」が格納される。また、ログファイルには、処理終了のログ情報１１０２として、オブジェクト名「ItemControl 」、メソッド名「search」およびメソッド返却値「true」が格納される。なお、図１１に示すログ情報１１０１，１１０２は、一例として業務システムに含まれる商品検索処理が実行された場合のログ情報を示したものである。
【０１２３】
また、図１２は、シーケンス図情報の内容の他の例を示す説明図である。図１２に示すシーケンス図情報は、シーケンス図作成器１１３が図１１に示すログ情報にもとづいて生成したものである。シーケンス図情報は、処理開始のログ情報１１０１および処理終了のログ情報１１０２に対応する「レーン」のタグ情報１２０１を含む。図１２に示すように、タグ情報１２０１は、ログ情報１１０１，１１０２に含まれるオブジェクト名「ItemControl 」をレーン名として生成され、シーケンス図情報に格納される。
【０１２４】
また、シーケンス図情報は、ログ情報１１０１，１１０２に対応する「活性区間」のタグ情報１２０４を含む。図１２に示すように、タグ情報１２０４は、ログ情報１１０１，１１０２に含まれるメソッド名「search」を活性区間名として生成され、シーケンス図情報に格納される。
【０１２５】
また、シーケンス図情報は、タグ情報１２０４の開始メッセージＩＤに対応する「メッセージ」のタグ情報１２０２、およびタグ情報１２０４の終了メッセージＩＤに対応する「メッセージ」のタグ情報１２０３を含む。図１２に示すように、タグ情報１２０２は、ログ情報１１０１，１１０２に含まれるメソッド名「search」に「begin 」を付加した文字列をメッセージ名およびメソッド引数「ITEM0003」を引数として生成され、シーケンス図情報に格納される。また、図１２に示すように、タグ情報１２０３は、ログ情報１１０１，１１０２に含まれるメソッド名「search」に「end 」を付加した文字列をメッセージ名およびメソッド返却値「true」を返値として生成され、シーケンス図情報に格納される。
【０１２６】
処理シーケンス表示装置１１０は、図８で示したシーケンス図と同様に、図１２に示すシーケンス図情報にもとづいてシーケンス図を表示する。例えば、処理シーケンス表示装置１１０は、図１２のシーケンス図情報のタグ情報１２０１にもとづいて、シーケンス図上にレーン名「ItemControl 」の「レーン」に相当する線分を表示する。また、処理シーケンス表示装置１１０は、タグ情報１２０４にもとづいて、シーケンス図上に「活性区間」を表示する。また、処理シーケンス表示装置１１０は、タグ情報１２０２，１２０３にもとづいて、「活性区間」の開始メッセージおよび終了メッセージに対応する「メッセージ」をそれぞれ表示する。
【０１２７】
以上のように、本実施の形態によれば、シーケンス図表示装置は、対象プログラムを実行した際のログ情報にもとづいて、対象プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した情報であるシーケンス図情報を生成する。そして、シーケンス図表示装置は、シーケンス図情報にもとづいて、対象プログラムの実行結果を構造化表示したシーケンス図を表示する。そのため、開発者は、対象プログラムのソースコードなどの構造を容易に把握することができ、対象プログラムの不具合箇所を容易に特定することができる。よって、不具合分析作業において、開発者が対象プログラムの不具合箇所などの差異を容易に明細化することができ、不具合分析作業の作業時間を短縮し作業の効率化を図ることができる。
【０１２８】
また、シーケンス図表示装置は、シーケンス図の各表示部分を個別に「表示」または「非表示」に設定する設定値を含む表示設定情報にもとづいて、シーケンス図を表示する。そのため、シーケンス図の表示情報量を動的に変更しながら、対象プログラムの実行結果の確認作業を行うことができ、開発者の不具合分析作業の効率化を図ることができる。また、結合テストや本番テストを行う場合であっても、デバッガを用いることなく、表示情報量を変化させながら対象プログラムの実行結果の確認作業を行うことができる。
【０１２９】
従って、結合テストや本番テストを行う場合であっても、開発者が容易に対象プログラムの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができる。
【０１３０】
また、デバッガを用いて対象プログラムの実行結果を順次表示させる場合には、確認作業の途中で一つ前のメソッドの実行状態の表示に逆戻りすることができないので、開発者は、一つ前の実行状態の表示を確認したい場合には、対象プログラムを実行しなおさなければならない。本実施の形態によれば、対象プログラム実行時のログ情報にもとづいて、シーケンス図表示装置が擬似的にプログラムの実行状態をシーケンス図上に表示するので、開発者が各メソッドの実行前の状態を容易に把握することができる。従って、開発者が不具合箇所の際を見つける時間を短縮することができ、不具合分析作業を効率的に行うことができる。
【０１３１】
また、本実施の形態によれば、対象プログラム実行の際のログファイルおよび処理シーケンス表示装置１１０さえあれば、対象プログラムの実行結果のログ情報にもとづいて、対象プログラムの実行状態を擬似的に表示できるので、開発者が不具合箇所の分析を短時間に効率的に行うことができる。そのため、開発者の開発システム上にテスト時と同じ状態を構築して再テストしなくても、不具合分析を行うことができる。従って、結合テストや本番テストを行った場合でも、不具合原因の再確認を行ったり、不具合箇所を修正した後の確認を行うことができ、不具合分析を行うことができる。
【０１３２】
また、本実施の形態によれば、シーケンス図表示装置がプログラム実行時のログ情報にもとづいてシーケンス図を表示するので、ログ情報の内容と一致したシーケンス図を表示させることができる。そのため、オブジェクト指向プログラミング言語を用いてオブジェクトがプログラム実行時に動的に決定されるようなソースコードを作成した場合であっても、ログ情報の内容と一致したシーケンス図を表示させることができる。また、本実施の形態によれば、対象プログラム実行時のログ情報から生成したシーケンス図情報にもとづいてシーケンス図を表示するので、プログラムの実装状態と乖離しないシーケンス図を表示させることができる。
【０１３３】
また、本実施の形態によれば、通常のＵＭＬ形式のシーケンス図と異なり、単にオブジェクト間のメッセージの流れを表示するだけでなく、表示設定情報の設定情報を変更することによって、任意に入出力パラメータや処理データをシーケンス図上に表示させることができる。そのため、開発者は、対象プログラム実行時のデータフローと処理データとを対応付けてシーケンス図上で確認することができる。従って、開発者がデータフローと処理データとを容易に対応付けることができ、不具合分析作業を短期間に効率的に行うことができる。
【０１３４】
実施の形態２．
次に、本発明の第２の実施の形態を図面を参照して説明する。図１３は、シーケンス図表示装置の構成の他の例を示すブロック図である。本実施の形態では、シーケンス図表示装置は、対象プログラム１００ａのテスト後に、再実行用のデータを生成して対象プログラム１００ａを再実行する。図１３に示すように、シーケンス図表示装置は、第１の実施の形態で示した構成に加えて、対象プログラム１００ａを再実行する際に用いる再実行データを生成する再実行データ生成器１２０と、対象プログラム１００ａの再実行を指示する再実行器１２１とを含む。
【０１３５】
再実行データ生成器１２０は、情報処理装置の制御部などによって実現される。再実行データ生成器１２０は、テスト後にログ記憶部１１２からログ情報を抽出し、対象プログラム１００ａの再実行データを生成する。再実行データは、対象プログラム１００ａの入力パラメータや処理前データなどの入力値を含むデータである。
【０１３６】
再実行器１２１は、情報処理装置の制御部などによって実現される。再実行器１２１は、再実行データ生成器１２０が生成する再実行データにもとづいて、対象プログラム実行部１００に対象プログラム１００ａを再実行させる。
【０１３７】
なお、再実行データ生成手段は、再実行データ生成器１２０によって実現される。また、プログラム再実行手段は、再実行器１２１および対象プログラム実行部１００によって実現される。
【０１３８】
次に、動作について説明する。図１４は、テスト後にシーケンス図表示装置が対象プログラム１００ａを再実行する再実行処理の一例を示す流れ図である。シーケンス図表示装置は、第１の実施の形態で示した手順と同様の手順に従って、対象プログラム１００ａを実行しシーケンス図を表示する。処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、シーケンス図情報記憶部１１４が記憶するシーケンス図情報にもとづいて、シーケンス図を表示する（ステップＳ２１）。
【０１３９】
開発者は、表示されたシーケンス図を確認して対象プログラム１００ａの不具合箇所を特定すると、対象プログラム１００ａのソースコードなどを修正する。修正した後に対象プログラム１００ａをテスト時と同じ条件で再実行させたい場合には、開発者は、シーケンス図表示装置を操作して、対象プログラム１００ａの再実行指示を入力する。再実行指示が入力されると、再実行データ生成器１２０は、ログ記憶部１１２から対象プログラム１００ａの実行結果のログ情報を読み込み、メモリなどに記憶させる（ステップＳ２２）。
【０１４０】
再実行データ生成器１２０は、メモリなどが記憶するログ情報から、画面入力行の入力パラメータや処理前データなどの入力値を抽出する。そして、再実行データ生成器１２０は、抽出した入力値の情報を含む再入力データを生成する（ステップＳ２３）。
【０１４１】
再実行器１２１は、再実行データ生成器１２０が生成した再入力データにもとづいて、対象プログラム実行部１００に対象プログラム１００ａの再実行を指示する（ステップＳ２４）。再実行を指示されると、対象プログラム実行部１００は、再実行データに含まれる入力パラメータや処理前データを入力値として対象プログラム１００ａを再実行する。すると、対象プログラム実行部１００のログ部品１０１は、再実行結果のログ情報を含むログファイルを生成し、ログファイル記憶手段１０３に記憶させる（ステップＳ２５）。
【０１４２】
以上のように、本実施の形態によれば、シーケンス図表示装置は、対象プログラムの実行結果のログ情報にもとづいて、テスト時の入力値を含む再実行データを自動生成する。そして、シーケンス図表示装置は、再実行データにもとづいて対象プログラムを再実行する。従って、対象プログラムの不具合を修正した後に対象プログラムを同じ入力条件で再テストしたい場合に、開発者は、容易に同じ入力条件で対象プログラムを実行させることができる。すなわち、開発者は、シーケンス図表示装置を回帰テストツールとして使用し、修正後の対象プログラムの再テストを行うことができる。
【０１４３】
実施の形態３．
次に、本発明の第３の実施の形態を図面を参照して説明する。図１５は、シーケンス図表示装置の構成のさらに他の例を示すブロック図である。図１５に示すように、シーケンス図表示装置は、第１の実施の形態で示した構成に加えて、シーケンス図を印刷するための印刷機１３０を備える。印刷機１３０は、例えば、プリンタなどによって実現される。なお、印刷手段は、印刷機１３０によって実現される。
【０１４４】
動作について説明する。図１６は、シーケンス図表示装置が表示したシーケンス図を印刷するシーケンス図印刷処理の一例を示す流れ図である。シーケンス図表示装置は、第１の実施の形態で示した手順と同様の手順に従って、対象プログラム１００ａを実行しシーケンス図を表示する。処理シーケンス表示装置１１０は、ビューワ１１５の機能を用いて、シーケンス図情報記憶部１１４が記憶するシーケンス図情報にもとづいて、シーケンス図を表示する（ステップＳ３１）。
【０１４５】
開発者は、表示されたシーケンス図を紙媒体に印刷したい場合には、シーケンス図表示装置を操作して、シーケンス図の印刷指示を入力する。印刷指示が入力されると、処理シーケンス表示装置１１０は、表示しているシーケンス図の印刷を印刷機１３０に指示する。すると、印刷機１３０は、処理シーケンス表示装置１１０が表示するシーケンス図を印刷する（ステップＳ３２）。
【０１４６】
以上のように、本実施の形態によれば、シーケンス図表示装置は、表示したシーケンス図を紙媒体に印刷する。そのため、開発者は、対象プログラムにもとづくシーケンス図を紙媒体として取得することができる。また、オブジェクト指向プログラミング言語を用いてオブジェクトがプログラム実行時に動的に決定されるようなソースコードを作成した場合であっても、動的に決定されたオブジェクトを明確に表示したシーケンス図を紙媒体として取得することができる。従って、対象プログラムの正確な保守ドキュメントなどの文書を作成したい場合に、紙媒体として取得したシーケンス図を含む分かりやすくて正確な文書を作成することができる。
【産業上の利用可能性】
【０１４７】
本発明によるシーケンス図表示装置は、ソフトウェア開発において、デバッガを用いることができない結合テストや本番テストを行ってソフトウェアの不具合分析を行う場合に、ソフトウェア実行時のログ情報にもとづいてシーケンス図情報を生成し、ソフトウェアの実行結果を構造化表示したシーケンス図を表示する。また、表示設定情報にもとづいてシーケンス図の表示を更新するので、ソフトウェアの開発者は、シーケンス図の表示情報量を動的に変更しながら、ソフトウェアの実行結果を確認することができる。従って、デバッガを用いることができない結合テストや本番テストを行う場合であっても、開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短期間に効率的に行うことができる。
【図面の簡単な説明】
【０１４８】
【図１】本発明によるシーケンス図表示装置の構成の一例を示すブロック図である。
【図２】ログファイルに含まれるログ情報のデータ形式の一例を示す説明図である。
【図３】ログファイルに含まれるログ情報の内容の具体例を示す説明図である。
【図４】シーケンス図情報のデータ形式の一例を示す説明図である。
【図５】シーケンス図情報の内容の具体例を示す説明図である。
【図６】図５に示すシーケンス図情報の内容の具体例の続きを示す説明図である。
【図７】シーケンス図表示処理の一例を示す流れ図である。
【図８】シーケンス図の一例を示す説明図である。
【図９】レーン８０２を「非表示」にした場合のシーケンス図の一例を示す説明図である。
【図１０】各入出力パラメータ、処理データおよびＳＱＬ文を「表示」にした場合のシーケンス図の一例を示す説明図である。
【図１１】ログファイルに含まれるログ情報の内容の他の例を示す説明図である。
【図１２】シーケンス図情報の内容の他の例を示す説明図である。
【図１３】本発明によるシーケンス図表示装置の構成の他の例を示すブロック図である。
【図１４】対象プログラムを再実行する再実行処理の一例を示す流れ図である。
【図１５】本発明によるシーケンス図表示装置の構成のさらに他の例を示すブロック図である。
【図１６】シーケンス図を印刷するシーケンス図印刷処理の一例を示す流れ図である。
【符号の説明】
【０１４９】
１００  対象プログラム実行部
１００ａ  対象プログラム
１０１  ログ部品
１０２  データベース
１０３  ログファイル記憶手段
１１０  処理シーケンス表示装置
１１１  ログリーダ
１１２  ログ記憶部
１１３  シーケンス図作成器
１１４  シーケンス図情報記憶部
１１５  ビューワ
１１６  表示設定情報記憶部
１１７  表示設定器
【図１】
2005092609.tif 000003
【図２】
2005092609.tif 000004
【図３】
2005092609.tif 000005
【図４】
2005092609.tif 000006
【図５】
2005092609.tif 000007
【図６】
2005092609.tif 000008
【図７】
2005092609.tif 000009
【図８】
2005092609.tif 000010
【図９】
2005092609.tif 000011
【図１０】
2005092609.tif 000012
【図１１】
2005092609.tif 000013
【図１２】
2005092609.tif 000014
【図１３】
2005092609.tif 000015
【図１４】
2005092609.tif 000016
【図１５】
2005092609.tif 000017
【図１６】
2005092609.tif 000018