JP2005092609A - シーケンス図表示装置およびシーケンス図表示プログラム - Google Patents

シーケンス図表示装置およびシーケンス図表示プログラム Download PDF

Info

Publication number
JP2005092609A
JP2005092609A JP2003326297A JP2003326297A JP2005092609A JP 2005092609 A JP2005092609 A JP 2005092609A JP 2003326297 A JP2003326297 A JP 2003326297A JP 2003326297 A JP2003326297 A JP 2003326297A JP 2005092609 A JP2005092609 A JP 2005092609A
Authority
JP
Japan
Prior art keywords
sequence diagram
information
display
message
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003326297A
Other languages
English (en)
Inventor
Kenji Kobori
賢司 小堀
Yushi Hayakawa
祐志 早川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003326297A priority Critical patent/JP2005092609A/ja
Publication of JP2005092609A publication Critical patent/JP2005092609A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 結合テストや本番テストを行う場合であっても、ソフトウェアの開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができるようにする。
【解決手段】 シーケンス図作成器113は、対象プログラム100a実行の際に生成されたログファイルに含まれるログ情報にもとづいてシーケンス図情報を生成する。処理シーケンス表示装置110は、ビューワ115の機能を用いて、シーケンス図情報にもとづいて、対象プログラムの実行結果を構造化表示したシーケンス図を表示する。表示設定器117は、開発者の操作に従って表示設定情報を更新する。表示設定情報が更新されると、処理シーケンス表示装置110は、ビューワ115の機能を用いて、更新後の表示設定情報にもとづいてシーケンス図の表示を更新する。
【選択図】 図1

Description

本発明は、ソフトウェアの実行結果をシーケンス図として表示するためのシーケンス図表示装置およびシーケンス図表示プログラムに関する。
業務システムなどのソフトウェアを開発する場合に、システムの開発者は開発中のソフトウェアを実際に実行させて実行中に発生した不具合を分析しながらソフトウェア開発を行う。例えば、開発者は、ソフトウェアをモジュール単位で開発している場合に、顧客に納品するものと同様のハードウェアシステムを構築して、構築したハードウェアシステム上で各モジュールを結合させて実行する結合テストを行う。また、開発者は、開発したソフトウェアを、顧客に納品するハードウェアシステム上で実行する本番テストを行う。
ソフトウェアにおける不具合箇所を特定するために、開発者は、例えば、ソフトウェア実行の際に実行中の一連のメソッド(ソフトウェアに含まれる各機能を記述したコード部分)と処理データとを含むログ情報を生成させ、ログ情報の内容を確認することによって不具合箇所を特定する。また、例えば、開発者は、一般にデバッガとよばれる不具合解析用のツールとともにソフトウェアを実行させ、ソフトウェア実行中に順次表示される情報表示を確認することによって不具合箇所を特定する。不具合箇所を特定すると、開発者は、一般にKT法(ケプナー/トリゴー法)と呼ばれる分析方法などを用いて開発中のソフトウェアの不具合分析を行う。
しかし、ログ情報を用いて不具合箇所を特定する場合、大規模な業務システムなどの開発において結合テストや本番テストを行うと、大量のログ情報が生成されるので、開発者は、ログ情報を見ただけでは容易に不具合箇所を特定できない。また、ログ情報は単に実行されるメソッドと処理データとを時系列に並べたデータにすぎないので、開発者は、ログ情報を見ただけではソフトウェアのソースコードの構造を把握することが難しく、不具合箇所を容易に特定できない。
一般に、どのレベルまでのログ情報を生成するかは予めソフトウェア実行前に開発者が設定する。例えば、生成する各ログ情報に重要度を設定し、重要度に応じてログファイルに書き出すログ情報を変更する方法が一般に用いられている。しかし、ソフトウェアを実行した結果、ログ情報に不具合箇所を特定する情報が必ず含まれているとは限らない。ログ情報が不具合箇所を特定する情報を含んでいなかった場合、開発者は、再びどのレベルまでのログ情報を生成するかを設定しなおして結合テストや本番テストをやりなおさなければならず、不具合特定作業に時間がかかる。
ログ情報などの内容をユーザが容易に把握できるようにする装置として、特許文献1には、ログ情報のダンプデータをシーケンス図に自動変換して出力するシーケンストレース解析装置が記載されている。特許文献1に記載されているシーケンストレース解析装置は、ユーザが予め作成したユーザ定義ファイルデータにもとづいて、記録媒体から取り込んだダンプデータをメッセージに変換する。そして、シーケンストレース解析装置は、出力先の指定がある場合には、ダンプデータとメッセージとにもとづいてシーケンス図を生成し、指定された出力先にシーケンス図を出力する。
また、ログ情報からソフトウェアのソースコードの構造を把握できるようにするために、UML(Unified Modeling Language )と呼ばれる記法で作成したシーケンス図を利用する方法が用いられる。例えば、リバース技術を用いてソフトウェアのソースコードからUMLに従ってシーケンス図を作成し、作成したシーケンス図を用いて不具合箇所を特定する方法が用いられる。
特開平7−160546号公報(第2−3頁、第1−3図、第10図)
特許文献1に記載されているシーケンストレース解析装置を用いれば、システム開発の際の結合テストや本番テストの結果を、テストのログ情報にもとづいてシーケンス図として出力できるようにすることができる。しかし、処理の流れを時系列に表示できるにすぎず、ソフトウェアに含まれる各オブジェクト間の処理の流れを構造化して表示することはできない。そのため、開発者は、ソースコードの構造を把握することができず不具合箇所を容易に特定できない。
また、UML記法を用いて作成したシーケンス図を用いれば、単に処理の流れを時系列に表示するだけなく、各オブジェクト間のメッセージのやりとりや、ソフトウェア実行中の各オブジェクトの呼出時間がシーケンス図に視覚的に表示されるので、開発者がソフトウェアのソースコードを構造的に理解することができる。
しかし、オブジェクト指向プログラミング言語を用いてオブジェクトがソフトウェア実行時に動的に決定されるようなソースコードを作成した場合、リバース技術を用いて作成したシーケンス図の内容と、ソフトウェア実行の際に生成したログ情報の内容とが一致しない場合があるので、開発者が不具合箇所を特定できない場合がある。また、リバース技術を用いてシーケンス図を作成する場合、ソースコードにもとづいて機械的にリバースすることにより不具合箇所の特定に必要のない情報までがシーケンス図に含まれてしまうので、開発者が不具合分析作業を効率的に行えない。
また、UML記法を用いて作成したシーケンス図を確認しても、各オブジェクト間のメッセージのやりとりなどを視覚的に確認できるにすぎず、開発者は、シーケンス図で確認できるデータフローと、ログ情報に含まれる処理データとを対応付けて把握することができない。そのため、データフローと処理前後のデータとの対応付けに時間がかかり、不具合分析作業に時間がかかる。
また、ログ情報を用いるのでなく、デバッガを用いて不具合箇所を特定する場合には、各メソッドを実行するごとに実行状態を確認しながら、開発者が不具合箇所を特定することができる。しかし、複数のオブジェクトを含む業務システムなどの結合テストや本番テストを行う場合にデバッガを用いると、ソフトウェアの実行速度が遅くなり、ソフトウェアが本来の結合テストや本番テストとは異なる動作をする場合がある。そのため、結合テストや本番テストを行う場合には、デバッガを用いて不具合箇所の特定を行えない場合がある。
また、不具合分析を行った結果、特定された不具合原因が正しい原因であることを再確認したり、不具合箇所を修正した後に不具合原因が正しく是正されたことを確認するために、開発者の開発用システム上に不具合発生の際と同じ状態を構築して再テストを行いたい場合がある。しかし、開発用システムは一般に結合テストや本番テストのハードウェアシステムに比べて規模が小さいので、開発者は、開発システム上で同じ状態を再現して再テストを行うことが困難である。そのため、不具合原因のテストに時間がかかる。
そこで、本発明は、結合テストや本番テストを行う場合であっても、ソフトウェアの開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができるシーケンス図表示装置およびシーケンス図表示プログラムを提供することを目的とする。
本発明によるシーケンス図表示装置は、プログラムの実行結果をシーケンス図として表示するシーケンス図表示装置であって、プログラムの実行結果のログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する構造化情報生成手段と、構造化情報にもとづいて、プログラムの実行結果を、各オブジェクトを時系列に対応付けたシーケンス図として表示するシーケンス図表示手段と、シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を記憶する表示設定情報記憶手段とを備え、シーケンス図表示手段は、表示設定情報に設定される表示条件に従って、シーケンス図を表示することを特徴とする。
また、シーケンス図表示装置は、表示設定情報を更新する表示設定情報更新手段を備えたものであってもよい。そのような構成によれば、開発者は、表示設定情報を自由に編集することよって、シーケンス図に表示される情報の表示情報量を変更することができる。従って、開発者がプログラムの不具合分析作業を効率的に行うことができる。
また、構造化情報生成手段は、プログラムに含まれるオブジェクト、オブジェクト間でやりとりされるメッセージ、またはプログラム実行中にオブジェクトが呼び出されている呼出時間を時系列に対応付けた情報を含む構造化情報を生成し、シーケンス図表示手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形を時系列に対応付けたシーケンス図を表示するものであってもよい。そのような構成によれば、開発者は、各オブジェクト間でやりとりされるメッセージや各オブジェクトの呼出時間などを、各オブジェクトに対応付けて容易に把握することができ、プログラムのソースコードなどの構造を容易に把握することができる。
また、表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、表示設定情報更新手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形ごとに、設定値を更新するものであってもよい。そのような構成によれば、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形を任意に選択して非表示状態にできるので、プログラムの実行結果のうち、不具合分析に必要な部分だけを表示状態にしたシーケンス図を表示させることができる。従って、不具合分析作業に必要な部分だけを概要表示したシーケンス図を表示させることができる。
また、構造化情報生成手段は、オブジェクト、メッセージまたは呼出時間に対応する付加情報を含む構造化情報を生成し、シーケンス図表示手段は、付加情報をオブジェクトを示す図形、メッセージまたは呼出時間を示す図形に対応付けたシーケンス図を表示するものであってもよい。そのような構成によれば、開発者は、プログラム実行中のパラメータや処理データなどの付加情報もシーケンス図で確認することができ、不具合分析作業を効率的に行うことができる。
また、構造化情報生成手段は、付加情報として、オブジェクトで使用されるパラメータ値、オブジェクトが処理する処理データまたはオブジェクトが実行するコマンドを、オブジェクト、メッセージまたは呼出時間に対応付けた構造化情報を生成するものであってもよい。そのような構成によれば、プログラム実行中に使用される入出力パラメータ、処理データまたは実行されるコマンドをシーケンス図で確認することができる。
また、表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間に加えて付加情報ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、表示設定情報更新手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形に加えて付加情報ごとに、設定値を更新するものであってもよい。そのような構成によれば、プログラム実行中のパラメータや処理データなどの付加情報を任意に選択して表示状態にできるので、プログラムの実行結果のうち、開発者がより詳細に分析したい部分の付加情報を表示状態にしたシーケンス図を表示させることができる。従って、より詳細に不具合分析作業を行いたい部分を詳細表示したシーケンス図を表示させることができる。
また、シーケンス図表示手段は、プログラムの実行結果をUML形式に従って構造化表示したシーケンス図を表示するものであってもよい。そのような構成によれば、複数のオブジェクトを含むプログラムを構造化表示したシーケンス図を容易に表示させることができ、開発者が複数のオブジェクトを含むプログラムの不具合分析作業を効率的に行うことができる。
また、シーケンス図表示装置は、ログ情報にもとづいて、プログラムを再実行する際の入力値を含む再実行データを生成する再実行データ生成手段と、再実行データにもとづいて、プログラムを再実行するプログラム再実行手段とを備えたものであってもよい。そのような構成によれば、対象プログラムの不具合を修正した後に対象プログラムを同じ入力条件で再テストしたい場合に、開発者は、容易に同じ入力条件で対象プログラムを実行させることができる。
また、シーケンス図表示装置は、表示したシーケンス図を印刷する印刷手段を備えたものであってもよい。そのような構成によれば、表示されたシーケンス図を紙媒体として取得することができる。従って、対象プログラムの正確な保守ドキュメントなどの文書を作成したい場合に、紙媒体として取得したシーケンス図を含む分かりやすくて正確な文書を作成するために利用することができる。
本発明によるシーケンス図表示プログラムは、プログラムの実行結果をシーケンス図として表示するためのシーケンス図表示プログラムであって、コンピュータに、プログラムの実行結果のログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する処理と、シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を抽出し、表示設定情報に設定される表示条件に従って、構造化情報にもとづいて、プログラムの実行結果を、各オブジェクトを時系列に対応付けたシーケンス図として表示する処理とを実行させることを特徴とする。
本発明によれば、シーケンス図表示装置およびシーケンス図表示プログラムを、ログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した情報であるシーケンス図情報を生成し、生成したシーケンス図情報にもとづいてプログラムの実行結果を構造化表示したシーケンス図を表示するようにしたので、開発者がプログラムの構造を容易に把握することができ、プログラムの不具合箇所を容易に特定することができる。また、表示設定情報にもとづいてシーケンス図を表示するようにしたので、シーケンス図の表示情報量を動的に変更しながら、プログラムの実行結果の確認作業を行うことができる。従って、結合テストや本番テストを行う場合であっても、ソフトウェアの開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができる
実施の形態1.
以下、本発明の第1の実施の形態を図面を参照して説明する。図1は、本発明によるシーケンス図表示装置の構成の一例を示すブロック図である。本実施の形態では、複数のオブジェクトを含む業務システムなどのプログラムを開発する場合に、開発中のプログラムの結合テストや本番テスト(以下、単にテストと記す)を行った結果を、シーケンス図表示装置がシーケンス図表示する場合を例に説明する。ただし、本発明は、結合テストや本番テストだけでなく、モジュール単体テストにも適用することができる。
図1に示すように、シーケンス図表示装置は、テスト対象のプログラムを実行する対象プログラム実行部100と、テスト対象のプログラムに従って処理されるデータを記憶するデータベース102と、プログラムの実行中に生成されるログファイルを記憶するログファイル記憶手段103と、ログ情報にもとづいてシーケンス図を表示する処理シーケンス表示装置110とを含む。
対象プログラム実行部100は、コンピュータなどの情報処理装置の制御部(図示せず)などによって実現される。対象プログラム実行部100は、プログラムの開発者(以下、単に開発者と記す)などの操作に従って、開発中のプログラムのテストを行う。以下、テスト対象のプログラムを対象プログラム100aと記す。
対象プログラム100aには、ログ情報を生成するためのプログラムであるログ部品101が組み込まれている。対象プログラム実行部100は、ログ部品101の手順に従って、対象プログラム100aを実行した際のログ情報を含むログファイルを生成する。また、対象プログラム実行部100は、ログ部品101の手順に従って、生成したログファイルをログファイル記憶手段103に記憶させる。
データベース102は、対象プログラム実行部100が対象プログラム100aに従って処理する各データを記憶する。ログファイル記憶手段103は、ハードディスクなどによって実現され、対象プログラム実行部100が生成するログファイルを記憶する。
処理シーケンス表示装置110は、ログファイルを読み込むログリーダ111と、ログファイルを記憶するログ記憶部112と、シーケンス図を表示するためのシーケンス図情報を生成するシーケンス図作成器113と、シーケンス図情報を記憶するシーケンス図情報記憶部114と、シーケンス図を表示するビューワ115と、シーケンス図の表示の設定情報を記憶する表示設定情報記憶部116と、シーケンス図の表示を設定する表示設定器117とを含む。
ログリーダ111は、情報処理装置の制御部などによって実現される。ログリーダ111は、ログファイル記憶手段103からログファイルを読み込んでログ記憶部112に記憶させる。ログ記憶部112は、情報処理装置のメモリなどの記憶装置(図示せず)によって実現される。ログ記憶部112は、ログリーダ111が読み込んだログファイルを記憶する。
シーケンス図作成器113は、シーケンス図作成プログラムに従って動作する情報処理装置の制御部などによって実現される。シーケンス図作成器113は、ログファイルに格納されているログ情報にもとづいてシーケンス図情報を生成する。
シーケンス図情報は、対象プログラム100aに含まれる各オブジェクトを時系列に相互に対応付けた情報である。例えば、シーケンス図情報は、各オブジェクト間でやりとりされるメッセージや、プログラム実行中に各オブジェクトが呼び出されている呼出時間を、各オブジェクトに時系列に対応付けた情報を含む。また、シーケンス図情報は、各オブジェクトの入出力パラメータや処理データなどの付加情報を含む。なお、本実施の形態では、対象プログラム100aに含まれる各オブジェクトが時系列に相互に対応付けられていることを、以下、単に構造化されていると記す。すなわち、本実施の形態において、シーケンス図情報は、対象プログラム100aの実行結果を構造化した構造化情報としての役割を果たす。
シーケンス図情報記憶部114は、情報処理装置の記憶装置などによって実現される。シーケンス図情報記憶部114は、シーケンス図作成器113が生成するシーケンス図情報を記憶する。
ビューワ115は、情報処理装置の表示部(図示せず)にシーケンス図を表示させるためのプログラムである。処理シーケンス表示装置110は、ビューワ115の機能を用いて、シーケンス図情報記憶部114が記憶するシーケンス図情報にもとづいてシーケンス図を表示部に表示する。また、処理シーケンス表示装置110は、開発者からの表示切替指示が入力されると、ビューワ115の機能を用いて、シーケンス図の表示範囲を切り替えて表示部に表示する。例えば、開発者は、ビューワ115による表示画面から操作することによって、表示部に表示されるシーケンス図の表示範囲を切り替えることができる。
また、処理シーケンス表示装置110は、表示設定情報記憶部116が記憶するシーケンス図の表示条件の設定情報(以下、表示設定情報と記す)にもとづいて、ビューワ115の機能を用いて、表示設定情報で設定されている表示条件に従ってシーケンス図を表示する。
また、処理シーケンス表示装置110は、ビューワ115の機能を用いて、対象プログラム100aに含まれる各オブジェクトを時系列に相互に対応付けて視覚的にシーケンス図上に表示する。例えば、処理シーケンス表示装置110は、各オブジェクト間でやりとりされるメッセージや各オブジェクトの呼出時間を、各オブジェクトに時系列に対応付けて表示する。また、処理シーケンス表示装置110は、各オブジェクトの入出力パラメータや処理データなどの付加情報を表示する。本実施の形態では、対象プログラム100aに含まれる各オブジェクトを時系列に相互に対応付けて視覚的に表示することを、以下、単に構造化表示すると記す。例えば、処理シーケンス表示装置110は、ビューワ115の機能を用いて、UML形式に従って構造化表示したシーケンス図を表示する。
表示設定情報記憶部116は、情報処理装置の記憶装置によって実現される。表示設定情報記憶部116は、表示設定情報を記憶する。表示設定情報は、シーケンス図に表示されうる各図形やデータのうち、いずれの図形やデータを表示するかの設定値などを含む情報である。例えば、表示設定情報は、シーケンス図に表示されうる図形やデータごとに「表示」または「非表示」の設定値情報を含む。表示設定器117は、情報処理装置の制御部およびキーボードなどの入力部(図示せず)によって実現される。表示設定器117は、開発者の入力指示に従って、表示設定情報記憶部116が記憶する表示設定情報を更新する。
構造化情報生成手段は、シーケンス図作成器113によって実現される。シーケンス図表示手段は、ビューワ115に従って動作する情報処理装置の制御部などによって実現される。表示設定情報記憶手段は、表示設定情報記憶部116によって実現される。表示設定情報更新手段は、表示設定器117によって実現される。
なお、処理シーケンス表示装置110を実現する情報処理装置(コンピュータ)の記憶装置は、コンピュータに、プログラムの実行結果のログ情報にもとづいて、プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する処理と、シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を抽出し、表示設定情報に設定される表示条件に従って、構造化情報にもとづいて、プログラムの実行結果を、各オブジェクトを時系列に対応付けたシーケンス図として表示する処理とを実行させるためのシーケンス図表示プログラムを記憶している。
図2は、ログファイルに格納されるログ情報のデータ形式の一例を示す説明図である。図2に示す例は、対象プログラム100aとして業務システムを実行した場合のログ情報のデータ形式を示したものである。図2に示すように、ログファイルには、ログ情報として、対象プログラム100aにおける各処理シーケンスと処理データや、データベース処理の処理前後のデータなどが格納される。
例えば、一般に業務システムは表示画面からの入力受付から処理を開始するので、図2に示すように、ログファイルには、ログ情報として、画面入力処理201の際の画面名、入力パラメータおよび処理前データなどのログ情報が最初に格納される。
また、画面入力処理が行われると、業務システムに含まれる具体的な処理が実行されるので、ログファイルには、ログ情報として、具体的な処理の処理開始202の際の呼出オブジェクト名、呼出メソッドおよびメソッド引数などの情報が格納される。例えば、ログファイルには、業務システムに含まれるデータ検索処理の処理開始の際の呼出オブジェクト名、呼出メソッドおよびメソッド引数などの情報が格納される。以下、業務システムに含まれるデータ検索処理などの具体的な処理を単に業務処理と記す。
ここでは、業務処理が開始されるとデータ検索などのデータベース処理が行われる。よって、ログファイルには、ログ情報として、業務処理で実行されるデータベース処理203の処理前データ、実行SQL(Structured Query Language )文および処理後データなどの情報が格納される。
また、データ検索などを完了すると業務処理を終了するので、ログファイルには、ログ情報として、業務処理の処理終了204の際の呼出オブジェクト名、呼出メソッドおよびメソッド返却値などの情報が格納される。さらに、業務システムは表示画面への出力で処理を終了するので、ログファイルには、ログ情報として、画面出力処理205の画面名、出力パラメータおよび処理後データが最後に格納される。
なお、業務処理を1つだけ含む場合に限らず、対象プログラム100aは、複数の業務処理を含むものであってもよい。この場合に、ログファイルには、業務処理の処理開始202の際のログ情報、データベース処理203のログ情報および処理終了204の際のログ情報が複数格納される。
図3は、ログファイルに格納されるログ情報の内容の具体例を示す説明図である。図3に示す例では、図2に示す処理開始202および処理終了204に相当する情報は省略されている。従って、図3に示すように、ログ情報は、画面入力処理のログ情報301,データベース処理のログ情報302および画面出力処理のログ情報303を含む。
例えば、対象プログラム100aを実行した際に最初に画面入力処理が行われるので、図3に示すように、ログファイルには、画面入力処理の画面名「ItemServlet 」および入力パラメータ「ITEM_CD=ITEM0003」のログ情報が格納される。入力パラメータは、「パラメータ名=パラメータ値」の形式で表示される。本例では、図3に示すように、入力パラメータのパラメータ名が「ITEM_CD 」であり、パラメータ値が「ITEM0003」である。なお、本例では、図3に示すように、画面入力処理の処理前データがない場合を説明する。
次に、データベース処理が行われるので、ログファイルには、データベース処理の処理前データ「ITEM_MST ITEM_CD=ITEM0003,ITEM_NAME=PC,PRICE=100000 」、実行するSQL文「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」のログ情報が格納される。出力パラメータは、入力パラメータと同様に、「パラメータ名=パラメータ値」の形式で表示される。本例では、図3に示すように、ログファイルには、3つの出力パラメータが格納される。出力パラメータの値は、それぞれ、パラメータ名「ITEM_CD 」に対してパラメータ値「ITEM0003」、パラメータ名「ITEM_NAME 」に対してパラメータ値「PC」、およびパラメータ名「PRICE 」に対してパラメータ値「100000」である。なお、本例では、図3に示すように、画面出力処理の処理後データがない場合を説明する。
図4は、シーケンス図作成器113が生成するシーケンス図情報のデータ形式の一例を示す説明図である。シーケンス図情報は、図4に示すように、UML形式に従って、「レーン」、「メッセージ」および「活性区間」の情報を含む。
「レーン」は、対象プログラム100aに含まれるオブジェクトやデータベースの範囲を示す情報である。また、図4に示すように、シーケンス図情報は、各レーンに対応付けて、レーンを識別するための「レーンID」、および各レーンの名称である「レーン名」の情報を含む。以下、レーンの属性を示す「レーンID」および「レーン名」の情報をレーン属性情報と記す。
なお、各レーンIDは、シーケンス図情報において一意に設定される。本実施の形態において、まず最初に生成されたレーンに対してレーンID「0000」と設定される。そして、生成された順番に、各レーンに対して「1」ずつ加算した値がレーンIDとして設定される。例えば、2番目に生成されたレーンに対してレーンID「0001」と設定される。
「メッセージ」は、ある活性区間から他の活性区間へのシグナルを示す。例えば、シーケンス図情報は、「メッセージ」として、処理の開始や終了を示す文字列情報を含む。また、図4に示すように、シーケンス図情報は、各メッセージを識別するための「メッセージID」、メッセージの名称を示す「メッセージ名」、およびメッセージが対象プログラム100a実行中のいずれの時間に発生したのかを示す「発生時間」を含む。以下、「メッセージID」、「メッセージ名」および「発生時間」などのメッセージの属性を示す情報をメッセージ属性情報と記す。
なお、レーンIDと同様に、メッセージIDおよび発生時間は、シーケンス図情報において一意に設定される。例えば、生成された順番に各メッセージに対して、メッセージID「M0000 」,「M0001 」・・・と設定される。また、例えば、メッセージが発生した順番に、発生時間「1」,「2」・・・と設定される。
ログ情報に入出力パラメータや処理データが含まれる場合には、シーケンス図情報は、オプションのメッセージ属性情報として、「パラメータ」、「引数」または「返値」の情報を含む。「パラメータ」は、画面入出力処理などにおいて、画面から入力される情報や画面表示される情報である。シーケンス図情報は、図4に示すように、「パラメータ」の情報を(<パラメータ名><パラメータ値>)の形式で含む。また、「引数」は、各処理においてメソッド呼び出しを行う際の引数である。また、「返値」は、各処理を行った際のメソッドの返却値である。
「活性区間」は、各レーンに対応するオブジェクトやデータベースが、対象プログラム100a実行中に呼び出されている時間を示す。図4に示すように、シーケンス図情報は、各活性区間に対応付けて、活性区間に対応するレーンの「レーンID」、活性区間の開始時間に対応するメッセージIDである「開始メッセージID」、活性区間の終了時間に対応するメッセージIDである「終了メッセージID」、および活性区間の名称を示す「活性区間名」を含む。以下、活性区間に対応する「レーンID」、「開始メッセージID」、「終了メッセージID」および「活性区間名」などの情報を活性区間属性情報と記す。
ログ情報にデータベース処理の処理前後データやSQLのコマンド文が含まれる場合には、シーケンス図情報は、オプションの活性区間属性情報として、「Before」、「SQL 」や「After 」の情報を含む。「Before」は、データベース処理の処理前データである。「SQL 」は、データベース処理で実行されるSQL文である。「After 」は、データベース処理の処理後データである。
なお、「Before」および「After 」は、図4に示すように、データベースのテーブル名(表名)と、テーブルに含まれるデータ列(「Row 」)とを含む。また、テーブルに含まれる各データは、図4に示すように、「Cell」単位で(<データ名><データ値>)の形式でシーケンス図情報に格納される。
本実施の形態では、図4に示すように、各メッセージが発生時間の情報を含み、各活性区間が対応するレーンID、開始メッセージIDおよび終了メッセージIDを含むので、各オブジェクト間でやりとりされるメッセージおよび各活性区間が、各オブジェクトに時系列に対応付けられる。すなわち、対象プログラム100aに含まれる各オブジェクトが時系列に相互に対応付けられる。
図5および図6は、シーケンス図情報の内容の具体例を示す説明図である。図5および図6に示すシーケンス図情報は、シーケンス図作成器113が図3に示すログ情報にもとづいて生成したものである。図5および図6に示すように、シーケンス図情報は、各レーン属性情報を含むタグ情報形式のレーン501,502と、各メッセージ属性情報を含むタグ情報形式のメッセージ503,504,505,506と、各活性区間属性情報を含むタグ情報形式の活性区間601,602とを含む。
次に、動作について説明する。開発者は、情報処理装置などを操作して、テストのために、対象プログラム100aの実行指示を入力する。対象プログラム実行部100は、開発者の操作に従って、対象プログラム100aを実行する。すると、対象プログラム実行部100は、ログ部品101の手順に従って、実行した対象プログラム100aに含まれるメソッドや処理データを含んだログ情報を生成し、生成したログファイルをログファイル記憶手段103に記憶させる。本例では、対象プログラム実行部100は、図3に示すログ情報を含むログファイルを生成する。
本実施の形態では、どのレベルまでのログ情報を出力するかを開発者が予め対象プログラム100aの実行前に設定するのでなく、ログ部品101は、対象プログラム100aに含まれる全てのメソッドおよび実行中の全ての処理データを含むログ情報を生成する。なお、開発者がどのレベルまでのログ情報を出力するかを予め対象プログラム100a実行前に設定できるようにしてもよい。
図7は、処理シーケンス表示装置110がログファイルを読み込んでシーケンス図を表示するシーケンス図表示処理の一例を示す流れ図である。テストを行った後に実行結果をシーケンス図表示させる場合には、開発者は、処理シーケンス表示装置110を操作して、シーケンス図の表示指示を入力する。シーケンス図の表示指示が入力されると、ログリーダ111は、ログファイル記憶手段103が記憶するログファイルを読み込む(ステップS101)。ログリーダ111は、読み込んだログファイルをログ記憶部112に記憶させる(ステップS102)。
シーケンス図作成器113は、ログ記憶部112が記憶するログファイルを読み込む(ステップS103)。シーケンス図作成器113は、ログファイルに格納されているログ情報の先頭行を抽出する(ステップS104)。本例では、シーケンス図作成器113は、図3に示すログ情報の先頭行の画面入力行「ItemServlet 」を抽出する。
シーケンス図作成器113は、あらたにシーケンス図情報を生成しシーケンス図情報記憶部114に記憶させる。シーケンス図作成器113は、抽出したログファイルの先頭行に対する「レーン」を生成しシーケンス図情報に格納する(ステップS105)。
本例では、図5に示すように、シーケンス図作成器113は、「レーン」のタグ情報501を生成する。また、シーケンス図作成器113は、生成したタグ情報501に対するレーン属性情報を生成する。本例では、シーケンス図作成器113は、レーンID「0000」を生成する。また、シーケンス図作成器113は、図3の先頭行の画面名にもとづいてレーン名「ItemServlet 」を生成する。そして、シーケンス図作成器113は、生成したレーン属性情報を含むタグ情報501をシーケンス図情報に格納する。
シーケンス図作成器113は、生成した「レーン」に対する「メッセージ」を生成しシーケンス図情報に格納する(ステップS106)。
本例では、図5に示すように、シーケンス図作成器113は、「メッセージ」のタグ情報503を生成する。また、シーケンス図作成器113は、生成したタグ情報503に対するメッセージ属性情報を生成する。本例では、シーケンス図作成器113は、メッセージID「M0000 」を生成する。また、シーケンス図作成器113は、画面名「ItemServlet 」に「Begin 」を付加してメッセージ名「ItemServlet Begin 」を生成する。また、「ItemServlet Begin 」は最初に発生したメッセージであるので、シーケンス図作成器113は、発生時間「1」を生成する。
また、図3に示すように、画面入力処理が入力パラメータを含むので、シーケンス図作成器113は、オプションのメッセージ属性情報としてパラメータ情報を生成する。本例では、シーケンス図作成器113は、図3の入力パラメータにもとづいて、パラメータ名「ITEM_CD」および値「ITEM0003」を生成する。そして、シーケンス図作成器113は、生成したメッセージ属性情報を含むタグ情報503をシーケンス図情報に格納する。
シーケンス図作成器113は、生成した「レーン」に対応する「活性区間」を生成しシーケンス図情報に格納する(ステップS107)。
本例では、図6に示すように、シーケンス図作成器113は、「活性区間」のタグ情報601を生成する。また、シーケンス図作成器113は、生成したタグ情報601に対する活性区間属性情報を生成する。本例では、シーケンス図作成器113は、ステップS105で生成したレーンのレーンID「0000」を生成する。
また、シーケンス図作成器113は、活性区間の開始時のメッセージのメッセージIDである開始メッセージIDを生成する。本例では、ステップS106で生成したメッセージが開始時のメッセージであるので、シーケンス図作成器113は、開始メッセージID「M0000 」を生成する。また、シーケンス図作成器113は、図3の画面名を含む活性区間名「ItemServlet 」を生成する。そして、シーケンス図作成器113は、生成した活性区間属性情報を含むタグ情報601をシーケンス図情報に格納する。
シーケンス図作成器113は、ログファイルに格納されているログ情報の次の行を抽出する(ステップS108)。シーケンス図作成器113は、ステップS108でログ情報に次の行が含まれていたか否かを判断する(ステップS109)。次の行が含まれていた場合には、シーケンス図作成器113は、次の処理が「処理開始」、「データベース処理」、「処理終了」または「画面出力処理」のいずれであるかを判断する(ステップS110)。
次の処理が「処理開始」であると判断した場合には、シーケンス図作成器113は、ログ情報に含まれる「処理開始」の呼出オブジェクト名を抽出し、抽出した呼出オブジェクト名に対応する「レーン」をシーケンス図情報から抽出する。また、対応するレーンがシーケンス図情報に含まれない場合には、シーケンス図作成器113は、呼出オブジェクト名をレーン名として、あらたに「レーン」を生成する(ステップS111)。
シーケンス図作成器113は、抽出または生成した「レーン」に対応する「メッセージ」を生成しシーケンス図情報に格納する(ステップS112)。この場合に、シーケンス図作成器113は、現在の最新のメッセージIDに「1」を加算した値をメッセージIDとして、ステップS106と同様の手順に従って「メッセージ」を生成する。また、シーケンス図作成器113は、ログ情報から「処理開始」の呼出メソッド名を抽出し、呼出メソッド名に「begin 」を付加した文字列をメッセージ名として「メッセージ」を生成する。また、ログ情報にメソッド引数が含まれる場合には、シーケンス図作成器113は、ログ情報からメソッド引数の値を抽出し、メッセージ属性情報の引数として「メッセージ」を生成する。
シーケンス図作成器113は、抽出または生成した「レーン」に対応する「活性区間」を生成しシーケンス図情報に格納する(ステップS113)。この場合に、シーケンス図作成器113は、ステップS111で抽出または生成した「レーン」のレーンID、および開始メッセージIDとしてステップS112で生成した「メッセージ」のメッセージIDにもとづいて、ステップS107と同様に手順に従って「活性区間」を生成する。また、シーケンス図作成器113は、ログ情報から呼出メソッド名を抽出し、抽出したメソッド名を活性区間名として「活性区間」を生成する。
生成した「活性区間」をシーケンス図情報に格納すると、シーケンス図作成器113は、ステップS108に戻りログ情報に含まれる全ての行について処理を終了するまでステップS108以降の処理を繰り返し実行する。なお、本例では、図3に示すように、ログファイルに「処理開始」のログ情報が格納されていないので、シーケンス図作成器113は、ステップS111からステップS113の処理を実行しない。
ステップS110で次の処理が「データベース処理」であると判断した場合には、シーケンス図作成器113は、ログ情報に含まれるSQL文からデータベースのテーブル名を抽出し、抽出したテーブル名に対応する「レーン」をシーケンス図情報から抽出する。また、対応するレーンがシーケンス図情報に含まれない場合には、シーケンス図作成器113は、テーブル名をレーン名として、あらたに「レーン」を生成する(ステップS114)。
本例では、図3に示すように、次の処理が「データベース処理」であるので、シーケンス図作成器113は、図3に示すログ情報に含まれるSQL文からデータベースのテーブル名「ITEM_MST」を抽出する。
テーブル名「ITEM_MST」に対応するレーンがシーケンス図情報に含まれていないので、シーケンス図作成器113は、図5に示すように、あたらに「レーン」のタグ情報502を生成する。また、シーケンス図作成器113は、生成したタグ情報502に対するレーン属性情報を生成する。本例では、タグ情報502が2つ目の「レーン」のタグ情報であるので、シーケンス図作成器113は、レーンID「0001」を生成する。また、シーケンス図作成器113は、テーブル名「ITEM_MST」にもとづいてレーン名「ITEM_MST」を生成する。そして、シーケンス図作成器113は、生成したレーン属性情報を含むタグ情報502をシーケンス図情報に格納する。
シーケンス図作成器113は、メッセージ名「Execute SQL begin 」として、抽出または生成した「レーン」に対する「メッセージ」を生成しシーケンス図情報に格納する(ステップS115)。
本例では、図5に示すように、シーケンス図作成器113は、「メッセージ」のタグ情報504を生成する。また、シーケンス図作成器113は、生成したタグ情報504に対するメッセージ属性情報を生成する。本例では、タグ情報504が2つ目の「メッセージ」のタグ情報であるので、シーケンス図作成器113は、メッセージID「M0001 」を生成する。また、シーケンス図作成器113は、メッセージ名「Execute SQL begin 」を生成する。また、「Execute SQL begin 」は2番目に発生したメッセージであるので、シーケンス図作成器113は、発生時間「2」を生成する。そして、シーケンス図作成器113は、生成したメッセージ属性情報を含むタグ情報504をシーケンス図情報に格納する。
シーケンス図作成器113は、メッセージ名「Execute SQL end 」として、抽出または生成した「レーン」に対する「メッセージ」を生成しシーケンス図情報に格納する(ステップS116)。
本例では、図5に示すように、シーケンス図作成器113は、「メッセージ」のタグ情報505を生成する。また、シーケンス図作成器113は、生成したタグ情報505に対するメッセージ属性情報を生成する。本例では、タグ情報505が3つ目の「メッセージ」のタグ情報であるので、シーケンス図作成器113は、メッセージID「M0002 」を生成する。また、シーケンス図作成器113は、メッセージ名「Execute SQL end 」を生成する。また、「Execute SQL end 」は3番目に発生したメッセージであるので、シーケンス図作成器113は、発生時間「3」を生成する。そして、シーケンス図作成器113は、生成したメッセージ属性情報を含むタグ情報505をシーケンス図情報に格納する。
シーケンス図作成器113は、抽出または生成した「レーン」に対応する「活性区間」を生成しシーケンス図情報に格納する(ステップS117)。
本例では、図6に示すように、シーケンス図作成器113は、「活性区間」のタグ情報602を生成する。また、シーケンス図作成器113は、生成したタグ情報602に対する活性区間属性情報を生成する。本例では、シーケンス図作成器113は、ステップS114で生成したレーンのレーンID「0001」を生成する。
また、シーケンス図作成器113は、ステップS115で生成したメッセージ「Execute SQL begin 」にもとづいて開始メッセージID「M0001 」を生成する。また、シーケンス図作成器113は、ステップS116で生成したメッセージ「Execute SQL end 」にもとづいて終了メッセージID「M0002 」を生成する。また、シーケンス図作成器113は、図3のログ情報に含まれるSQL文からコマンド「select」を抽出して活性区間名「select」を生成する。
また、図3に示すように「データベース処理」が処理前データ、SQL文および処理後データを含むので、シーケンス図作成器113は、オプションの活性区間属性情報として、「Before」、「SQL 」および「After 」のタグ情報を生成する。本例では、シーケンス図作成器113は、図6に示すように、ログ情報に含まれる処理前データからテーブル名「ITEM_MST」、データ名「ITEM_CD 」と値「ITEM0003」、データ名「ITEM_NAME 」と値「PC」およびデータ名「PRICE 」と値「100000」を抽出し、「Before」のタグ情報603を生成する。
また、シーケンス図作成器113は、図6に示すように、ログ情報に含まれるSQL文「SELECT * FROM ITEM_MST WHERE ITEM_CD = 'ITEM0003' 」を抽出し、「SQL 」のタグ情報604を生成する。また、シーケンス図作成器113は、図6に示すように、ログ情報に含まれる処理後データからテーブル名「ITEM_MST」、データ名「ITEM_CD 」と値「ITEM0003」、データ名「ITEM_NAME 」と値「PC」およびデータ名「PRICE 」と値「100000」を抽出し、「After 」のタグ情報605を生成する。そして、シーケンス図作成器113は、生成した活性区間属性情報を含むタグ情報602をシーケンス図情報に格納する。
生成した「活性区間」をシーケンス図情報に格納すると、シーケンス図作成器113は、ステップS108に戻りログ情報に含まれる全ての行について処理を終了するまでステップS108以降の処理を繰り返し実行する。
ステップS110で次の処理が「処理終了」であると判断した場合には、シーケンス図作成器113は、あたらに「メッセージ」を生成しシーケンス図情報に格納する(ステップS118)。この場合に、シーケンス図作成器113は、現在の最新のメッセージIDに「1」加算した値をメッセージIDとして、ステップS106と同様に手順に従って「メッセージ」を生成する。また、シーケンス図作成器113は、ログ情報から「処理終了」の呼出メソッド名を抽出し、呼出メソッド名に「end 」を付加した文字列をメッセージ名として「メッセージ」を生成する。また、ログ情報にメソッド返却値が含まれる場合には、シーケンス図作成器113は、ログ情報からメソッド返却値の値を抽出し、メッセージ属性情報の返値として「メッセージ」を生成する。
シーケンス図作成器113は、対応する「処理開始」を特定し、ステップS118で生成したメッセージIDを、特定した「処理開始」に対応する「活性区間」の終了メッセージIDとしてシーケンス図情報に格納する(ステップS119)。
終了メッセージIDをシーケンス図情報に格納すると、シーケンス図作成器113は、ステップS108に戻りログ情報に含まれる全ての行について処理を終了するまでステップS108以降の処理を繰り返し実行する。なお、本例では、図3に示すように、ログファイルに「処理終了」のログ情報が格納されていないので、シーケンス図作成器113は、ステップS118およびステップS119の処理を実行しない。
ステップS110で次の処理が「画面出力処理」であると判断した場合には、シーケンス図作成器113は、あらたに「メッセージ」を生成しシーケンス図情報に格納する(ステップS120)。
本例では、図5に示すように、シーケンス図作成器113は、「メッセージ」のタグ情報506を生成する。また、シーケンス図作成器113は、生成したタグ情報に対するメッセージ属性情報を生成する。本例では、タグ情報506が4つ目の「メッセージ」のタグ情報であるので、シーケンス図作成器113は、メッセージID「M0003 」を生成する。また、シーケンス図作成器113は、画面名「ItemServlet 」に「End 」を付加してメッセージ名「ItemServlet End 」を生成する。また、「ItemServlet End 」は4番目に発生したメッセージであるので、シーケンス図作成器113は、発生時間「4」を生成する。
また、図3に示すようにログ情報が出力パラメータを含むので、シーケンス図作成器113は、オプションのメッセージ属性情報として、「返値」のタグ情報を生成する。本例では、シーケンス図作成器113は、図5に示すように、ログ情報に含まれる出力パラメータからデータ名「ITEM_CD 」と値「ITEM0003」、データ名「ITEM_NAME 」と値「PC」およびデータ名「PRICE 」と値「100000」を抽出し、3つの「返値」のタグ情報を生成する。
シーケンス図作成器113は、ステップS120で生成したメッセージIDを、ステップS113で生成した「画面入力処理」の「活性区間」の終了メッセージIDとして生成しシーケンス図情報に格納する(ステップS121)。本例では、シーケンス図作成器113は、ステップS120で生成したメッセージにもとづいて、図6に示すタグ情報601の終了メッセージID「M0003 」を生成しシーケンス図情報に格納する。
終了メッセージIDをシーケンス図情報に格納すると、シーケンス図作成器113は、ステップS108に戻りログ情報に含まれる全ての行について処理を終了するまでステップS108以降の処理を繰り返し実行する。
以上のように、シーケンス図作成器113がステップS108からステップS121までの処理を繰り返し実行することによって、ログファイルに格納されているログ情報にもとづいてシーケンス図情報が生成されシーケンス図情報記憶部114に格納される。ログ情報に含まれる全ての行の処理を終了すると、シーケンス図作成器113は、ステップS109においてログ情報に次の行が含まれないと判断する。
ステップS109で次の行が含まれないと判断すると、処理シーケンス表示装置110は、ビューワ115の機能を用いて、シーケンス図情報記憶部114からシーケンス図情報を抽出する(ステップS122)。また、処理シーケンス表示装置110は、ビューワ115の機能を用いて、表示設定情報記憶部116から表示設定情報を抽出する(ステップS123)。すると、処理シーケンス表示装置110は、ビューワ115の機能を用いて、シーケンス図情報および表示設定情報にもとづいてシーケンス図を表示部に表示する(ステップS124)。
図8は、表示部に表示されるシーケンス図の一例を示す説明図である。図8は、処理シーケンス表示装置110が図5および図6に示すシーケンス図情報にもとづいて表示したシーケンス図である。図8に示すように、処理シーケンス表示装置110は、対象プログラム100aの実行結果を、UML形式に従ってシーケンス図として表示する。
本例では、図8に示すように、処理シーケンス表示装置110は、図5および図6に示すシーケンス図情報のタグ情報501,502にもとづいて、それぞれ「レーン」を縦棒の線分801,802として表示する。図8において、線分801はレーン名「ItemServlet 」の「レーン」に相当し、線分802はレーン名「ITEM_MST」の「レーン」に相当する。すなわち、対象プログラム100aに含まれる各オブジェクトは、シーケンス図上で縦棒の線分の図形として表示される。
また、処理シーケンス表示装置110は、図5および図6に示すシーケンス図情報の「活性区間」のタグ情報601,602に含まれる「開始メッセージID」および「終了メッセージID」を抽出する。処理シーケンス表示装置110は、抽出した「開始メッセージID」および「終了メッセージID」に対応する「メッセージ」のタグ情報503,504,505,506から、それぞれ発生時間を抽出する。処理シーケンス表示装置110は、「開始メッセージID」および「終了メッセージID」に対応する発生時間にもとづいて「活性区間」の表示の長さを決定する。そして、処理シーケンス表示装置110は、図8に示すように、決定した長さに従って、それぞれ活性区間807,808を表示する。すなわち、対象プログラム100a実行中の各オブジェクトの呼出時間は、シーケンス図上で活性区間807,808の矩形図形として表示される。
また、処理シーケンス表示装置110は、「活性区間」のタグ情報601,602に含まれる「開始メッセージID」および「終了メッセージID」に対応する「メッセージ」のタグ情報503,504,505,506から、メッセージ名を抽出する。そして、処理シーケンス表示装置110は、図8に示すように、抽出したメッセージ名に従って、それぞれメッセージ803,804,805,806を表示する。
図8に示すように、処理シーケンス表示装置110は、シーケンス図情報にもとづいて、各オブジェクト間でやりとりされるメッセージや各オブジェクトの呼出時間(活性区間)を、各オブジェクトに時系列に対応付けて表示する。すなわち、処理シーケンス表示装置110は、シーケンス図情報にもとづいて、対象プログラム100aの実行結果を構造化表示したシーケンス図を表示する。
なお、シーケンス図情報生成後に最初にシーケンス図を表示する場合には、表示設定情報は、デフォルト値として、全ての「レーン」、「メッセージ」および「活性区間」を表示する旨の設定値情報を含んでいる。処理シーケンス表示装置110は、図8に示すように、最初にシーケンス図を表示する場合には、デフォルト値を含む表示設定情報にもとづいて、シーケンス図情報に含まれる全ての「レーン」、「メッセージ」および「活性区間」を表示状態としたシーケンス図を表示する。
また、最初にシーケンス図を表示する場合には、表示設定情報は、デフォルト値として、各オブジェクトの入出力パラメータや処理データなどの付加情報を全て非表示とする旨の設定値情報を含んでいる。処理シーケンス表示装置110は、図8に示すように、最初にシーケンス図を表示する場合には、表示設定情報にもとづいて、入出力パラメータや処理データなど付加情報を非表示状態としてシーケンス図を表示する。
開発者は、シーケンス図に表示される表示情報量を変更したい場合には、表示設定器117を操作して表示設定情報の更新指示を入力する。表示設定器117は、表示設定情報の更新指示の入力を受け付けると、開発者の操作に従って表示設定情報記憶部116が記憶する表示設定情報を更新する(ステップS125)。
例えば、表示設定情報は、シーケンス図上に表示されるレーン801,802、メッセージ803,804,805,806、活性区間807,808、入出力パラメータや処理データごとに、「表示」または「非表示」のいずれかの設定値を含む。開発者は、表示設定器117を操作して、表示設定情報に含まれる「表示」または「非表示」の設定値を変更することによって、シーケンス図の表示情報量を変更することができる。なお、開発者は、ビューワ115による表示画面から操作することによって、表示設定情報に含まれる各設定値を変更できるようにしてもよい。
表示設定情報を更新すると、処理シーケンス表示装置110は、ビューワ115の機能を用いて、表示設定情報記憶部116から更新後の表示設定情報を抽出する(ステップS123)。そして、処理シーケンス表示装置110は、更新後の表示設定情報およびシーケンス図情報にもとづいてシーケンス図の表示を更新する(ステップS124)。なお、処理シーケンス表示装置110は、開発者が対象プログラム100aの実行結果のシーケンス図表示の確認作業を行っている間、ステップS123からステップS125までの処理を繰り返し実行する。
例えば、図8に示すシーケンス図の表示のうちレーン802の部分を表示しないようにする場合には、表示設定器117は、開発者の操作に従って、レーン802を「非表示」として表示設定情報を更新する。すると、処理シーケンス表示装置110は、更新後の表示設定情報にもとづいてレーン802を「非表示」にしたシーケンス図を表示する。図9は、レーン802を「非表示」にした場合のシーケンス図の一例を示す説明図である。図9に示すように、レーン802が「非表示」設定されると、処理シーケンス表示装置110は、レーン802と、レーン802に付随するメッセージ804,805および活性区間808とを削除したシーケンス図を表示する。
図9に示すように、任意のレーンを選択して「非表示」に設定できるので、対象プログラム100aの実行結果のうち、必要な部分だけを表示状態にしたシーケンス図を表示させることができる。すなわち、不具合分析作業に必要な部分だけを概要表示したシーケンス図を表示させることができる。
なお、表示設定器117は、開発者の操作に従って、メッセージ803,804,805,806または活性区間807,808を個別に「非表示」にして表示設定情報を更新してもよい。この場合に、処理シーケンス表示装置110は、更新後の表示設定情報にもとづいて、図8に示すシーケンス図の表示のうち、いずれかのメッセージ803,804,805,806または活性区間807,808を「非表示」にしたシーケンス図を表示するようにしてもよい。
また、例えば、図8に示すシーケンス図に入出力パラメータ、処理データおよびデータベース処理のSQLのコマンド文など付加情報を表示させる場合には、表示設定器117は、開発者の操作に従って、各入出力パラメータ、処理データおよびSQL文を「表示」として表示設定情報を更新する。すると、処理シーケンス表示装置110は、更新後の表示設定情報にもとづいて、図8に示す表示内容に加えて、各入出力パラメータ、処理データおよびSQL文を「表示」にしたシーケンス図を表示する。
図10は、各入出力パラメータ、処理データおよびSQL文など付加情報を「表示」にした場合のシーケンス図の一例を示す説明図である。図10に示すように、処理シーケンス表示装置110は、更新後の表示設定情報にもとづいて、図8に示す表示内容に加えて、メッセージ803に対する入力パラメータ1001、およびメッセージ806に対する出力パラメータ1002を表示する。また、処理シーケンス表示装置110は、図8に示す表示内容に加えて、活性区間808に対する処理前データ1003、SQL文1004および処理後データ1005を表示する。
図10に示すように、任意の付加情報を選択して「表示」に設定できるので、対象プログラム100aの実行結果のうち、開発者がより詳細に分析したい部分の付加情報を表示状態にしたシーケンス図を表示させることができる。すなわち、より詳細に不具合分析作業を行いたい部分を詳細表示したシーケンス図を表示させることができる。
なお、本実施の形態では、図3に示すように、ログファイルに画面入力処理、データベース処理および画面出力処理のログ情報のみが格納される場合を説明したが、さらにログファイルに各業務処理の処理開始および処理終了のログ情報が格納される場合も、同様の手順に従ってシーケンス図が表示される。
図11は、ログファイルに格納されるログ情報の他の例を示す説明図である。図11に示すように、本例では、ログファイルには、業務処理の処理開始のログ情報1101および処理終了のログ情報1102が格納される。例えば、ログファイルには、処理開始のログ情報1101として、オブジェクト名「ItemControl 」、メソッド名「search」およびメソッド引数「ITEM0003」が格納される。また、ログファイルには、処理終了のログ情報1102として、オブジェクト名「ItemControl 」、メソッド名「search」およびメソッド返却値「true」が格納される。なお、図11に示すログ情報1101,1102は、一例として業務システムに含まれる商品検索処理が実行された場合のログ情報を示したものである。
また、図12は、シーケンス図情報の内容の他の例を示す説明図である。図12に示すシーケンス図情報は、シーケンス図作成器113が図11に示すログ情報にもとづいて生成したものである。シーケンス図情報は、処理開始のログ情報1101および処理終了のログ情報1102に対応する「レーン」のタグ情報1201を含む。図12に示すように、タグ情報1201は、ログ情報1101,1102に含まれるオブジェクト名「ItemControl 」をレーン名として生成され、シーケンス図情報に格納される。
また、シーケンス図情報は、ログ情報1101,1102に対応する「活性区間」のタグ情報1204を含む。図12に示すように、タグ情報1204は、ログ情報1101,1102に含まれるメソッド名「search」を活性区間名として生成され、シーケンス図情報に格納される。
また、シーケンス図情報は、タグ情報1204の開始メッセージIDに対応する「メッセージ」のタグ情報1202、およびタグ情報1204の終了メッセージIDに対応する「メッセージ」のタグ情報1203を含む。図12に示すように、タグ情報1202は、ログ情報1101,1102に含まれるメソッド名「search」に「begin 」を付加した文字列をメッセージ名およびメソッド引数「ITEM0003」を引数として生成され、シーケンス図情報に格納される。また、図12に示すように、タグ情報1203は、ログ情報1101,1102に含まれるメソッド名「search」に「end 」を付加した文字列をメッセージ名およびメソッド返却値「true」を返値として生成され、シーケンス図情報に格納される。
処理シーケンス表示装置110は、図8で示したシーケンス図と同様に、図12に示すシーケンス図情報にもとづいてシーケンス図を表示する。例えば、処理シーケンス表示装置110は、図12のシーケンス図情報のタグ情報1201にもとづいて、シーケンス図上にレーン名「ItemControl 」の「レーン」に相当する線分を表示する。また、処理シーケンス表示装置110は、タグ情報1204にもとづいて、シーケンス図上に「活性区間」を表示する。また、処理シーケンス表示装置110は、タグ情報1202,1203にもとづいて、「活性区間」の開始メッセージおよび終了メッセージに対応する「メッセージ」をそれぞれ表示する。
以上のように、本実施の形態によれば、シーケンス図表示装置は、対象プログラムを実行した際のログ情報にもとづいて、対象プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した情報であるシーケンス図情報を生成する。そして、シーケンス図表示装置は、シーケンス図情報にもとづいて、対象プログラムの実行結果を構造化表示したシーケンス図を表示する。そのため、開発者は、対象プログラムのソースコードなどの構造を容易に把握することができ、対象プログラムの不具合箇所を容易に特定することができる。よって、不具合分析作業において、開発者が対象プログラムの不具合箇所などの差異を容易に明細化することができ、不具合分析作業の作業時間を短縮し作業の効率化を図ることができる。
また、シーケンス図表示装置は、シーケンス図の各表示部分を個別に「表示」または「非表示」に設定する設定値を含む表示設定情報にもとづいて、シーケンス図を表示する。そのため、シーケンス図の表示情報量を動的に変更しながら、対象プログラムの実行結果の確認作業を行うことができ、開発者の不具合分析作業の効率化を図ることができる。また、結合テストや本番テストを行う場合であっても、デバッガを用いることなく、表示情報量を変化させながら対象プログラムの実行結果の確認作業を行うことができる。
従って、結合テストや本番テストを行う場合であっても、開発者が容易に対象プログラムの不具合箇所を特定することができ、不具合分析作業を短時間に効率的に行うことができる。
また、デバッガを用いて対象プログラムの実行結果を順次表示させる場合には、確認作業の途中で一つ前のメソッドの実行状態の表示に逆戻りすることができないので、開発者は、一つ前の実行状態の表示を確認したい場合には、対象プログラムを実行しなおさなければならない。本実施の形態によれば、対象プログラム実行時のログ情報にもとづいて、シーケンス図表示装置が擬似的にプログラムの実行状態をシーケンス図上に表示するので、開発者が各メソッドの実行前の状態を容易に把握することができる。従って、開発者が不具合箇所の際を見つける時間を短縮することができ、不具合分析作業を効率的に行うことができる。
また、本実施の形態によれば、対象プログラム実行の際のログファイルおよび処理シーケンス表示装置110さえあれば、対象プログラムの実行結果のログ情報にもとづいて、対象プログラムの実行状態を擬似的に表示できるので、開発者が不具合箇所の分析を短時間に効率的に行うことができる。そのため、開発者の開発システム上にテスト時と同じ状態を構築して再テストしなくても、不具合分析を行うことができる。従って、結合テストや本番テストを行った場合でも、不具合原因の再確認を行ったり、不具合箇所を修正した後の確認を行うことができ、不具合分析を行うことができる。
また、本実施の形態によれば、シーケンス図表示装置がプログラム実行時のログ情報にもとづいてシーケンス図を表示するので、ログ情報の内容と一致したシーケンス図を表示させることができる。そのため、オブジェクト指向プログラミング言語を用いてオブジェクトがプログラム実行時に動的に決定されるようなソースコードを作成した場合であっても、ログ情報の内容と一致したシーケンス図を表示させることができる。また、本実施の形態によれば、対象プログラム実行時のログ情報から生成したシーケンス図情報にもとづいてシーケンス図を表示するので、プログラムの実装状態と乖離しないシーケンス図を表示させることができる。
また、本実施の形態によれば、通常のUML形式のシーケンス図と異なり、単にオブジェクト間のメッセージの流れを表示するだけでなく、表示設定情報の設定情報を変更することによって、任意に入出力パラメータや処理データをシーケンス図上に表示させることができる。そのため、開発者は、対象プログラム実行時のデータフローと処理データとを対応付けてシーケンス図上で確認することができる。従って、開発者がデータフローと処理データとを容易に対応付けることができ、不具合分析作業を短期間に効率的に行うことができる。
実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。図13は、シーケンス図表示装置の構成の他の例を示すブロック図である。本実施の形態では、シーケンス図表示装置は、対象プログラム100aのテスト後に、再実行用のデータを生成して対象プログラム100aを再実行する。図13に示すように、シーケンス図表示装置は、第1の実施の形態で示した構成に加えて、対象プログラム100aを再実行する際に用いる再実行データを生成する再実行データ生成器120と、対象プログラム100aの再実行を指示する再実行器121とを含む。
再実行データ生成器120は、情報処理装置の制御部などによって実現される。再実行データ生成器120は、テスト後にログ記憶部112からログ情報を抽出し、対象プログラム100aの再実行データを生成する。再実行データは、対象プログラム100aの入力パラメータや処理前データなどの入力値を含むデータである。
再実行器121は、情報処理装置の制御部などによって実現される。再実行器121は、再実行データ生成器120が生成する再実行データにもとづいて、対象プログラム実行部100に対象プログラム100aを再実行させる。
なお、再実行データ生成手段は、再実行データ生成器120によって実現される。また、プログラム再実行手段は、再実行器121および対象プログラム実行部100によって実現される。
次に、動作について説明する。図14は、テスト後にシーケンス図表示装置が対象プログラム100aを再実行する再実行処理の一例を示す流れ図である。シーケンス図表示装置は、第1の実施の形態で示した手順と同様の手順に従って、対象プログラム100aを実行しシーケンス図を表示する。処理シーケンス表示装置110は、ビューワ115の機能を用いて、シーケンス図情報記憶部114が記憶するシーケンス図情報にもとづいて、シーケンス図を表示する(ステップS21)。
開発者は、表示されたシーケンス図を確認して対象プログラム100aの不具合箇所を特定すると、対象プログラム100aのソースコードなどを修正する。修正した後に対象プログラム100aをテスト時と同じ条件で再実行させたい場合には、開発者は、シーケンス図表示装置を操作して、対象プログラム100aの再実行指示を入力する。再実行指示が入力されると、再実行データ生成器120は、ログ記憶部112から対象プログラム100aの実行結果のログ情報を読み込み、メモリなどに記憶させる(ステップS22)。
再実行データ生成器120は、メモリなどが記憶するログ情報から、画面入力行の入力パラメータや処理前データなどの入力値を抽出する。そして、再実行データ生成器120は、抽出した入力値の情報を含む再入力データを生成する(ステップS23)。
再実行器121は、再実行データ生成器120が生成した再入力データにもとづいて、対象プログラム実行部100に対象プログラム100aの再実行を指示する(ステップS24)。再実行を指示されると、対象プログラム実行部100は、再実行データに含まれる入力パラメータや処理前データを入力値として対象プログラム100aを再実行する。すると、対象プログラム実行部100のログ部品101は、再実行結果のログ情報を含むログファイルを生成し、ログファイル記憶手段103に記憶させる(ステップS25)。
以上のように、本実施の形態によれば、シーケンス図表示装置は、対象プログラムの実行結果のログ情報にもとづいて、テスト時の入力値を含む再実行データを自動生成する。そして、シーケンス図表示装置は、再実行データにもとづいて対象プログラムを再実行する。従って、対象プログラムの不具合を修正した後に対象プログラムを同じ入力条件で再テストしたい場合に、開発者は、容易に同じ入力条件で対象プログラムを実行させることができる。すなわち、開発者は、シーケンス図表示装置を回帰テストツールとして使用し、修正後の対象プログラムの再テストを行うことができる。
実施の形態3.
次に、本発明の第3の実施の形態を図面を参照して説明する。図15は、シーケンス図表示装置の構成のさらに他の例を示すブロック図である。図15に示すように、シーケンス図表示装置は、第1の実施の形態で示した構成に加えて、シーケンス図を印刷するための印刷機130を備える。印刷機130は、例えば、プリンタなどによって実現される。なお、印刷手段は、印刷機130によって実現される。
動作について説明する。図16は、シーケンス図表示装置が表示したシーケンス図を印刷するシーケンス図印刷処理の一例を示す流れ図である。シーケンス図表示装置は、第1の実施の形態で示した手順と同様の手順に従って、対象プログラム100aを実行しシーケンス図を表示する。処理シーケンス表示装置110は、ビューワ115の機能を用いて、シーケンス図情報記憶部114が記憶するシーケンス図情報にもとづいて、シーケンス図を表示する(ステップS31)。
開発者は、表示されたシーケンス図を紙媒体に印刷したい場合には、シーケンス図表示装置を操作して、シーケンス図の印刷指示を入力する。印刷指示が入力されると、処理シーケンス表示装置110は、表示しているシーケンス図の印刷を印刷機130に指示する。すると、印刷機130は、処理シーケンス表示装置110が表示するシーケンス図を印刷する(ステップS32)。
以上のように、本実施の形態によれば、シーケンス図表示装置は、表示したシーケンス図を紙媒体に印刷する。そのため、開発者は、対象プログラムにもとづくシーケンス図を紙媒体として取得することができる。また、オブジェクト指向プログラミング言語を用いてオブジェクトがプログラム実行時に動的に決定されるようなソースコードを作成した場合であっても、動的に決定されたオブジェクトを明確に表示したシーケンス図を紙媒体として取得することができる。従って、対象プログラムの正確な保守ドキュメントなどの文書を作成したい場合に、紙媒体として取得したシーケンス図を含む分かりやすくて正確な文書を作成することができる。
本発明によるシーケンス図表示装置は、ソフトウェア開発において、デバッガを用いることができない結合テストや本番テストを行ってソフトウェアの不具合分析を行う場合に、ソフトウェア実行時のログ情報にもとづいてシーケンス図情報を生成し、ソフトウェアの実行結果を構造化表示したシーケンス図を表示する。また、表示設定情報にもとづいてシーケンス図の表示を更新するので、ソフトウェアの開発者は、シーケンス図の表示情報量を動的に変更しながら、ソフトウェアの実行結果を確認することができる。従って、デバッガを用いることができない結合テストや本番テストを行う場合であっても、開発者が容易にソフトウェアの不具合箇所を特定することができ、不具合分析作業を短期間に効率的に行うことができる。
本発明によるシーケンス図表示装置の構成の一例を示すブロック図である。 ログファイルに含まれるログ情報のデータ形式の一例を示す説明図である。 ログファイルに含まれるログ情報の内容の具体例を示す説明図である。 シーケンス図情報のデータ形式の一例を示す説明図である。 シーケンス図情報の内容の具体例を示す説明図である。 図5に示すシーケンス図情報の内容の具体例の続きを示す説明図である。 シーケンス図表示処理の一例を示す流れ図である。 シーケンス図の一例を示す説明図である。 レーン802を「非表示」にした場合のシーケンス図の一例を示す説明図である。 各入出力パラメータ、処理データおよびSQL文を「表示」にした場合のシーケンス図の一例を示す説明図である。 ログファイルに含まれるログ情報の内容の他の例を示す説明図である。 シーケンス図情報の内容の他の例を示す説明図である。 本発明によるシーケンス図表示装置の構成の他の例を示すブロック図である。 対象プログラムを再実行する再実行処理の一例を示す流れ図である。 本発明によるシーケンス図表示装置の構成のさらに他の例を示すブロック図である。 シーケンス図を印刷するシーケンス図印刷処理の一例を示す流れ図である。
符号の説明
100 対象プログラム実行部
100a 対象プログラム
101 ログ部品
102 データベース
103 ログファイル記憶手段
110 処理シーケンス表示装置
111 ログリーダ
112 ログ記憶部
113 シーケンス図作成器
114 シーケンス図情報記憶部
115 ビューワ
116 表示設定情報記憶部
117 表示設定器

Claims (11)

  1. プログラムの実行結果をシーケンス図として表示するシーケンス図表示装置であって、
    前記プログラムの実行結果のログ情報にもとづいて、前記プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する構造化情報生成手段と、
    前記構造化情報にもとづいて、前記プログラムの実行結果を、前記各オブジェクトを時系列に対応付けたシーケンス図として表示するシーケンス図表示手段と、
    前記シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を記憶する表示設定情報記憶手段とを備え、
    前記シーケンス図表示手段は、前記表示設定情報に設定される表示条件に従って、前記シーケンス図を表示する
    ことを特徴とするシーケンス図表示装置。
  2. 表示設定情報を更新する表示設定情報更新手段を備えた請求項1記載のシーケンス図表示装置。
  3. 構造化情報生成手段は、プログラムに含まれるオブジェクト、前記オブジェクト間でやりとりされるメッセージ、またはプログラム実行中に前記オブジェクトが呼び出されている呼出時間を時系列に対応付けた情報を含む構造化情報を生成し、
    シーケンス図表示手段は、前記オブジェクトを示す図形、前記メッセージまたは前記呼出時間を示す図形を時系列に対応付けたシーケンス図を表示する
    請求項1または請求項2記載のシーケンス図表示装置。
  4. 表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間を示す図形ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、
    表示設定情報更新手段は、前記オブジェクトを示す図形、前記メッセージまたは前記呼出時間を示す図形ごとに、前記設定値を更新する
    請求項3記載のシーケンス図表示装置。
  5. 構造化情報生成手段は、オブジェクト、メッセージまたは呼出時間に対応する付加情報を含む構造化情報を生成し、
    シーケンス図表示手段は、前記付加情報を前記オブジェクトを示す図形、メッセージまたは呼出時間を示す図形に対応付けたシーケンス図を表示する
    請求項3または請求項4記載のシーケンス図表示装置。
  6. 構造化情報生成手段は、付加情報として、オブジェクトで使用されるパラメータ値、前記オブジェクトが処理する処理データ、または前記オブジェクトが実行するコマンドを、前記オブジェクト、メッセージまたは呼出時間に対応付けた構造化情報を生成する請求項5記載のシーケンス図表示装置。
  7. 表示設定情報記憶手段は、オブジェクトを示す図形、メッセージまたは呼出時間に加えて付加情報ごとに、シーケンス図上に表示するか否かを示す設定値を含む表示設定情報を記憶し、
    表示設定情報更新手段は、前記オブジェクトを示す図形、前記メッセージまたは前記呼出時間を示す図形に加えて付加情報ごとに、前記設定値を更新する
    請求項5または請求項6記載のシーケンス図表示装置。
  8. シーケンス図表示手段は、プログラムの実行結果をUML形式に従ってシーケンス図として表示する請求項1から請求項7のうちのいずれか1項に記載のシーケンス図表示装置。
  9. ログ情報にもとづいて、プログラムを再実行する際の入力値を含む再実行データを生成する再実行データ生成手段と、
    前記再実行データにもとづいて、前記プログラムを再実行するプログラム再実行手段とを備えた
    請求項1から請求項8のうちのいずれか1項に記載のシーケンス図表示装置。
  10. 表示したシーケンス図を印刷する印刷手段を備えた請求項1から請求項9のうちのいずれか1項に記載のシーケンス図表示装置。
  11. プログラムの実行結果をシーケンス図として表示するためのシーケンス図表示プログラムであって、
    コンピュータに、
    前記プログラムの実行結果のログ情報にもとづいて、前記プログラムに含まれる各オブジェクトを時系列に対応付けて構造化した構造化情報を生成する処理と、
    シーケンス図に表示される表示情報の表示条件を設定する情報である表示設定情報を抽出し、前記表示設定情報に設定される表示条件に従って、前記構造化情報にもとづいて、前記プログラムの実行結果を、前記各オブジェクトを時系列に対応付けたシーケンス図として表示する処理とを実行させる
    ことを特徴とするシーケンス図表示プログラム。
JP2003326297A 2003-09-18 2003-09-18 シーケンス図表示装置およびシーケンス図表示プログラム Pending JP2005092609A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003326297A JP2005092609A (ja) 2003-09-18 2003-09-18 シーケンス図表示装置およびシーケンス図表示プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003326297A JP2005092609A (ja) 2003-09-18 2003-09-18 シーケンス図表示装置およびシーケンス図表示プログラム

Publications (1)

Publication Number Publication Date
JP2005092609A true JP2005092609A (ja) 2005-04-07

Family

ID=34456524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003326297A Pending JP2005092609A (ja) 2003-09-18 2003-09-18 シーケンス図表示装置およびシーケンス図表示プログラム

Country Status (1)

Country Link
JP (1) JP2005092609A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179347A (ja) * 2005-12-28 2007-07-12 Exa Corp プログラム検証支援システム
WO2009110307A1 (ja) * 2008-03-05 2009-09-11 日本電気株式会社 シーケンス図再構成システム、シーケンス図再構成方法及び記録媒体
US8423985B2 (en) 2008-06-06 2013-04-16 International Business Machines Corporation System, method and computer program for generating sequence diagram

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179347A (ja) * 2005-12-28 2007-07-12 Exa Corp プログラム検証支援システム
WO2009110307A1 (ja) * 2008-03-05 2009-09-11 日本電気株式会社 シーケンス図再構成システム、シーケンス図再構成方法及び記録媒体
JP5158188B2 (ja) * 2008-03-05 2013-03-06 日本電気株式会社 シーケンス図再構成システム、シーケンス図再構成方法及び記録媒体
US8423985B2 (en) 2008-06-06 2013-04-16 International Business Machines Corporation System, method and computer program for generating sequence diagram

Similar Documents

Publication Publication Date Title
US7721253B2 (en) Software development support system
US10146672B2 (en) Method and system for automated user interface (UI) testing through model driven techniques
WO2007001108A1 (en) System for providing feature-oriented software product line engineering environment
JP2008293488A (ja) Plcのシミュレーション装置
JP2012103869A (ja) ソフトウエア開発支援方法とソフトウエア開発支援装置とソフトウエア開発支援プログラム
JP2009265810A (ja) 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法
US20080162104A1 (en) Simulation data creation supporting device
JP2007323219A (ja) Fmea支援装置、その装置、そのプログラム及びその媒体
US20070150249A1 (en) Verification Operation Supporting System and Method of the Same
JP2006309290A (ja) テストプログラム作成支援方法及び装置
JP2005092609A (ja) シーケンス図表示装置およびシーケンス図表示プログラム
JP2006031354A (ja) テストプログラム生成装置及びテストプログラム生成システム
JP6483507B2 (ja) 制御プログラム作成装置、及び制御プログラムのデバッグ方法
CN114327416A (zh) 应用于开发分支的接口同步方法、装置及电子设备
JP2008165324A (ja) プログラム作成支援装置
JP3504605B2 (ja) ソフトウェア自動試験方式
JP2011204069A (ja) テスト方法およびテスト仕様書テストデータ自動生成装置
JP2011165039A (ja) モデルデバッグ装置およびモデルデバッグ方法
GB2397905A (en) Method for automatically generating and ordering test scripts
JP2006163657A (ja) プレイバックシミュレータ装置
CN112765018A (zh) 一种仪器仪表调试系统及方法
JP2005316710A (ja) ソフトウェア試験支援装置
JP2006268292A (ja) テンプレート編集装置およびテンプレート編集用プログラム
JP2003288113A (ja) 設備のシミュレーション方法および設備のシミュレーションプログラム
JP2012088933A (ja) ソフトウェアプロダクトライン開発支援装置、その方法およびそのプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080108