(57)【要約】【課題】データのアクセス結果を用いて、実際の業務で頻繁に実行される処理を正常に行うために要求されるプログラムの想定動作条件を自動的に抽出する。【解決手段】実績経路抽出手段１２によりデータ集合の更新処理の経路を示す実績経路と実績経路の出現数とを含む実績経路情報が生成され、処理経路抽出手段１４によりプログラム定義情報から処理経路が抽出されデータ集合に対する読み込み処理および書き込み処理ならびに各処理経路についての実行条件を示す処理経路情報が生成され、経路対応付手段１５により実績経路情報と処理経路情報とが対応付けられ、主要処理経路判定手段１６により出現数が閾値以上の実績経路と対応付けられた処理経路が主要処理経路と判定され、想定動作条件抽出手段１７により主要処理経路の実行条件の集合が想定動作条件とされ、想定動作条件１９を示す情報が出力される。【選択図】図１
2008234260.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムで実行されるプログラムの想定動作条件を分析する想定動作条件分析プログラムにおいて、
コンピュータを、
前記コンピュータシステムで実行されるプログラムによって更新されたデータ集合のデータ集合名と更新時刻とを含む更新情報を記憶する更新情報記憶手段、
前記コンピュータシステムで実行されるプログラムの処理手順を定義したプログラム定義情報を記憶するプログラム定義情報記憶手段、
前記更新情報記憶手段が記憶する前記更新情報から、連続して更新される２つの前記データ集合の関係である実績経路を抽出し、各実績経路の始点および終点となる前記データ集合と当該実績経路の出現数とを示す実績経路情報を生成する実績経路抽出手段、
前記プログラム定義情報記憶手段が記憶する前記プログラム定義情報から、処理経路を抽出し、各処理経路で実行される前記データ集合に対する読込処理および書込処理と当該処理経路の実行条件とを示す処理経路情報を生成する処理経路抽出手段、
前記実績経路抽出手段が生成した前記実績経路情報と前記処理経路抽出手段が生成した前記処理経路情報とに基づいて、始点となる前記データ集合と読込処理の対象となる前記データ集合とが一致し、かつ、終点となる前記データ集合と書込処理の対象となる前記データ集合とが一致する、前記実績経路と前記処理経路とを対応付ける経路対応付手段、
前記処理経路のうち、前記経路対応付手段によって当該処理経路に対応付けられた前記実績経路の出現数が所定の閾値以上の前記処理経路を、主要処理経路と判定する主要処理経路判定手段、
前記主要処理経路判定手段によって前記主要処理経路と判定された前記処理経路の前記実行条件を抽出し、抽出した前記実行条件の集合を前記想定動作条件とし、前記想定動作条件を示す情報を出力する想定動作条件抽出手段、
として機能させることを特徴とする想定動作条件分析プログラム。
【請求項２】
前記想定動作条件抽出手段は、前記主要処理経路と判定された複数の前記処理経路を、対応する前記実績経路が連結可能である前記処理経路の集合に分類し、分類結果に応じて前記実行条件を区分して、前記想定動作条件を示す情報として出力することを特徴とする請求項１記載の想定動作条件分析プログラム。
【請求項３】
前記コンピュータを、さらに、
前記データ集合に含まれるデータの内容を取得するデータ内容取得手段、
前記データ内容取得手段が取得した前記データ内容から、前記実績経路の前記始点および前記終点となる前記データ集合において引き継がれる前記データ項目を特定する引継項目特定手段、
として機能させ、
前記処理経路抽出手段は、読込処理と書込処理との間で引き継がれるデータの前記データ項目を特定し、特定した前記データ項目をさらに含めて前記処理経路情報を生成し、
前記経路対応付手段は、前記データ集合の一致に加えて、前記引継項目特定手段によって特定された前記データ項目と、前記処理経路抽出手段によって前記処理経路情報に含められた前記データ項目との一致を条件として、前記実績経路と前記処理経路とを対応付ける、
ことを特徴とする請求項１記載の想定動作条件分析プログラム。
【請求項４】
コンピュータシステムで実行されるプログラムの想定動作条件を分析する想定動作条件分析装置において、
前記コンピュータシステムで実行されるプログラムによって更新されたデータ集合のデータ集合名と更新時刻とを含む更新情報を記憶する更新情報記憶手段と、
前記コンピュータシステムで実行されるプログラムの処理手順を定義したプログラム定義情報を記憶するプログラム定義情報記憶手段と、
前記更新情報記憶手段が記憶する前記更新情報から、連続して更新される２つの前記データ集合の関係である実績経路を抽出し、各実績経路の始点および終点となる前記データ集合と当該実績経路の出現数とを示す実績経路情報を生成する実績経路抽出手段と、
前記プログラム定義情報記憶手段が記憶する前記プログラム定義情報から、処理経路を抽出し、各処理経路で実行される前記データ集合に対する読込処理および書込処理と当該処理経路の実行条件とを示す処理経路情報を生成する処理経路抽出手段と、
前記実績経路抽出手段が生成した前記実績経路情報と前記処理経路抽出手段が生成した前記処理経路情報とに基づいて、始点となる前記データ集合と読込処理の対象となる前記データ集合とが一致し、かつ、終点となる前記データ集合と書込処理の対象となる前記データ集合とが一致する、前記実績経路と前記処理経路とを対応付ける経路対応付手段と、
前記処理経路のうち、前記経路対応付手段によって当該処理経路に対応付けられた前記実績経路の出現数が所定の閾値以上の前記処理経路を、主要処理経路と判定する主要処理経路判定手段と、
前記主要処理経路判定手段によって前記主要処理経路と判定された前記処理経路の前記実行条件を抽出し、抽出した前記実行条件の集合を前記想定動作条件とし、前記想定動作条件を示す情報を出力する想定動作条件抽出手段と、
を有することを特徴とする想定動作条件分析装置。
【請求項５】
コンピュータシステムのプログラムの想定動作条件を分析するコンピュータによる想定動作条件分析方法において、
実績経路抽出手段が、更新情報記憶手段が記憶する前記コンピュータシステムで実行されるプログラムによって更新されたデータ集合のデータ集合名と更新時刻とを含む更新情報更新情報から、連続して更新される２つの前記データ集合の関係である実績経路を抽出し、各実績経路の始点および終点となる前記データ集合と当該実績経路の出現数とを示す実績経路情報を生成すると共に、処理経路抽出手段が、プログラム定義情報記憶手段が記憶する前記コンピュータシステムで実行されるプログラムの処理手順を定義したプログラム定義情報プログラム定義情報から、処理経路を抽出し、各処理経路で実行される前記データ集合に対する読込処理および書込処理と当該処理経路の実行条件とを示す処理経路情報を生成し、
経路対応付手段が、前記実績経路抽出手段が生成した前記実績経路情報と前記処理経路抽出手段が生成した前記処理経路情報とに基づいて、始点となる前記データ集合と読込処理の対象となる前記データ集合とが一致し、かつ、終点となる前記データ集合と書込処理の対象となる前記データ集合とが一致する、前記実績経路と前記処理経路とを対応付け、
主要処理経路判定手段が、前記処理経路のうち、前記経路対応付手段によって当該処理経路に対応付けられた前記実績経路の出現数が所定の閾値以上の前記処理経路を、主要処理経路と判定し、
想定動作条件抽出手段が、前記主要処理経路判定手段によって前記主要処理経路と判定された前記処理経路の前記実行条件を抽出し、抽出した前記実行条件の集合を前記想定動作条件とし、前記想定動作条件を示す情報を出力する、
ことを特徴とする想定動作条件分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムの想定動作条件を分析する想定動作条件分析プログラム、想定動作条件分析装置および想定動作条件分析方法に関し、特にコンピュータシステムで実行されるプログラムの想定動作条件を分析する想定動作条件分析プログラム、想定動作条件分析装置および想定動作条件分析方法に関する。
【背景技術】
【０００２】
コンピュータシステムは、そのシステムが動作するための条件を想定して開発される（以下、このコンピュータシステムが想定した条件を想定動作条件と呼ぶ）。想定動作条件には、ハードウェアに関する条件、ソフトウェア（プログラムやＯＳなど）に関する条件など様々なものがある。想定動作条件が満たされない状況では、コンピュータシステムは想定外の状況となるので、異常な動作が発生する可能性がある。よって、コンピュータシステムの運用作業時や保守作業時には、想定動作条件を把握し、条件が満たされているように維持することが必要である。
【０００３】
しかし、開発後から経年したコンピュータシステムでは、開発時のドキュメントの紛失や追加開発部分のドキュメントの不備、およびシステムエキスパートが不在になるなどのため、しばしば想定動作条件が不明となる事態が生じる。想定動作条件が不明の状況では、保守作業や運用作業により、想定動作条件に反する改変が行われる恐れがある。これによってコンピュータシステムに悪影響が生じる可能性がある。
【０００４】
したがって、想定動作条件を記述した既存のドキュメントだけではなく、現状のコンピュータシステムから取得できるデータに基づいて、コンピュータシステムの想定動作条件を分析する方法が求められる。
【０００５】
従来より、前述した想定動作条件のうち、プログラムの想定動作条件を対象とする分析方法として以下のものが知られている。
プログラムの想定動作条件を対象とするものとして、リエンジニアリング技術を元にデータの流れと入出力に着目し、プログラムを構文解析して、制御フロー、データフロー、影響範囲などを分析し、ジョブフローを生成するものがある（例えば、特許文献１参照）。
【特許文献１】特開２００３−６７１８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１記載の技術は、コンピュータシステムの実際の稼動時に取得された実績データを全く使用しないので、連続する複数の処理から構成される処理経路が、複数パターン存在した場合に、その処理経路が実際の業務で使われるものであるか否かを判定することができない。このため、すべての処理経路について網羅的に想定動作条件を検討する必要が生じ、実際の業務では全く実行されない処理経路にも検討しなければならず、結果的に無駄な労力を費やすことになる。
【０００７】
また、複数の処理経路がある場合、各処理経路の実際の業務における実行頻度をプログラム解析からは判定することができない。このため、実際の業務で頻繁に実行される処理と実際の業務ではほとんど実行されない処理とを同じように検討しなければならず、検討作業が非効率なものとなってしまう場合がある。
【０００８】
また、コンピュータシステムがプログラムに従って実行するデータベースアクセス処理が、データベースアクセサプログラム（指定されたデータベースに対する処理を行うための関数プログラム。他のプログラムから呼び出される際の引数によって、参照、更新、追加、削除などの処理種別が指定され、データベースに対して指定された処理を実行する。）によって行われる場合には、プログラム解析によっては、いずれの処理種別が実行されるのかを特定できないので、処理の開始から終了までの一連の処理経路を特定できない。さらに、人間の操作などの、外的な要因に依存して実行されるプログラムが変わる場合には、プログラム解析によってはどのプログラムが実行されるか分からないので、この部分について、プログラム解析によっては処理経路を得ることができない。これらのような場合には、プログラム解析を用いても、処理経路が不明であるためコンピュータシステムのプログラムの想定動作条件を抽出することができない。
【０００９】
また、処理経路を獲得するために、コンピュータシステムの動作を外部から観測するために処理の状況を示すデータを必要に応じて逐次出力するようにコンピュータシステムのプログラムを改変し、実際の業務で稼動させて出力されたデータを観測することも考えられる。しかし、観測のためのプログラムの改変は、労力を要するだけでなく、この改変によって、コンピュータシステムに新たな悪影響が生じる可能性もある。
【００１０】
本発明はこのような点に鑑みてなされたものであり、コンピュータシステムの外部から採取可能なコンピュータシステムの実行結果であるデータのアクセス結果を用いて、実際の業務で頻繁に実行される処理を正常に行うために要求されるプログラムの想定動作条件を自動的に抽出する想定動作条件分析プログラム、想定動作条件分析装置および想定動作条件分析方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明では上記課題を解決するために、図１に示すような想定動作条件分析プログラムが提供される。本発明に係る想定動作条件分析プログラムは、コンピュータシステムの外部から採取可能なコンピュータシステムの実行結果であるデータのアクセス結果を用いて、実際の業務で頻繁に実行される処理を正常に行うために要求されるプログラムの想定動作条件を自動的に抽出するものである。この想定動作条件分析プログラムを実行するコンピュータ１０は、更新情報記憶手段１１、実績経路抽出手段１２、プログラム定義情報記憶手段１３、処理経路抽出手段１４、経路対応付手段１５、主要処理経路判定手段１６、および想定動作条件抽出手段１７を有する。更新情報記憶手段１１は、コンピュータシステムで実行されるプログラムによって更新されたデータ集合のデータ集合名と、データ集合が更新された更新時刻とを含む更新情報を関連付けて記憶する。実績経路抽出手段１２は、更新情報記憶手段１１が記憶する更新情報から、連続して更新される２つのデータ集合の関係である実績経路を抽出し、各実績経路の始点および終点となるデータ集合と当該実績経路の出現数とを示す実績経路情報を生成する。プログラム定義情報記憶手段１３は、分析対象のコンピュータシステムで実行されるプログラムの処理手順を定義したプログラム定義情報を記憶する。処理経路抽出手段１４は、プログラム定義情報記憶手段１３が記憶するプログラム定義情報から、処理経路を抽出し、各処理経路で実行されるデータ集合に対する読込処理および書込処理と当該処理経路の実行条件とを示す処理経路情報を生成する。経路対応付手段１５は、実績経路抽出手段１２が生成した実績経路情報と処理経路抽出手段１４が生成した処理経路情報とに基づいて、始点となるデータ集合と読込処理の対象となるデータ集合とが一致し、かつ、終点となるデータ集合と書込処理の対象となるデータ集合とが一致する、実績経路と処理経路とを対応付ける。主要処理経路判定手段１６は、処理経路のうち、経路対応付手段１５によって当該処理経路に対応付けられた実績経路の出現数が所定の閾値以上の処理経路を、主要処理経路と判定する。想定動作条件抽出手段１７は、主要処理経路判定手段１６によって主要処理経路と判定された処理経路の実行条件を抽出し、抽出した実行条件の集合を想定動作条件１９とし、想定動作条件１９を示す情報を出力する。
【００１２】
このような想定動作条件分析プログラムを実行するコンピュータ１０によれば、実績経路抽出手段１２により、データ集合の更新処理の経路を示す実績経路と、実績経路の出現数と、を含む実績経路情報が生成される。次に、処理経路抽出手段１４により、プログラム定義情報から処理経路が抽出され、データ集合に対する読み込み処理および書き込み処理、ならびに各処理経路についての実行条件を示す処理経路情報が生成される。そして、経路対応付手段１５により、実績経路情報と処理経路情報とが対応付けられる。その後、主要処理経路判定手段１６により、出現数が所定の閾値以上の実績経路と対応付けられた処理経路が主要処理経路と判定される。そして、想定動作条件抽出手段１７により、主要処理経路と判定された処理経路の実行条件の集合が想定動作条件とされ、想定動作条件１９を示す情報が出力される。
【発明の効果】
【００１３】
本発明では、コンピュータシステムの実行結果であるデータのアクセス結果からコンピュータシステムの実際の動作を分析し、プログラム解析により抽出されたプログラム処理経路と、コンピュータシステムのデータのアクセス結果から復元された実績経路とを照合することによって、コンピュータシステムの業務機能を実現するプログラム上の処理経路のうち、実際に高頻度で利用される処理経路である主要処理経路を判別し、さらに主要処理経路の実行条件を抽出して、コンピュータシステムのプログラムの想定動作条件を抽出することとした。これにより、業務の遂行上、重要な想定動作条件を自動的に抽出することができる。したがって、システム管理者などは、コンピュータシステムの運用作業時や保守作業時に、抽出された想定動作条件を満たすように作業することで、主要な業務についての悪影響の発生を効率的に防止できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概要を示す図である。図１に示されるコンピュータ１０は、データベース管理システムが出力するデータベースに含まれるテーブルの更新情報およびデータベース管理システムが管理するデータを利用するプログラムを定義するプログラム定義情報から、データベースシステムおよびこれを含む業務システムの正常な動作のために、システムの運用作業時や保守作業時などによるプログラムの改変時にも満たされるべきプログラムの想定動作条件を生成するものである。コンピュータ１０は、更新情報記憶手段１１、実績経路抽出手段１２、プログラム定義情報記憶手段１３、処理経路抽出手段１４、経路対応付手段１５、主要処理経路判定手段１６、および想定動作条件抽出手段１７を有する。
【００１５】
更新情報記憶手段１１は、データベース管理システム２１，２２，２３が出力したテーブルの更新情報２１ａ，２２ａ，２３ａを記憶する。更新情報２１ａ，２２ａ，２３ａには、データベース管理システム２１，２２，２３を含む業務システム２０の実際の稼動時において、データベース管理システム２１，２２，２３に記憶されている複数のデータ集合の更新処理を含むデータ更新処理によって更新されたデータ集合のデータ集合名と、データ集合が更新された更新時刻とがそれぞれ関連付けられている。ここで、データ集合は、例えば、関係データベースにおける１つのテーブルなどである。
【００１６】
実績経路抽出手段１２は、更新情報記憶手段１１が記憶する更新情報から、連続して更新される２つのデータ集合の関係である実績経路を抽出する。次に、実績経路抽出手段１２は、各実績経路の始点および終点となるデータ集合と当該実績経路の出現数とを示す実績経路情報を生成する。ここで、データ集合の列が実績経路を表すものとみなされる。
【００１７】
プログラム定義情報記憶手段１３は、分析対象の業務システム２０において実行されるプログラム２５，２６，２７の処理手順を定義したプログラム定義情報２５ａ，２６ａ，２７ａを記憶する。プログラム定義情報２５ａ，２６ａ，２７ａは、例えば、ソースコードや、オブジェクトコードなどの機械可読なコード、またはフローチャートなどの設計情報である。
【００１８】
処理経路抽出手段１４は、プログラム定義情報記憶手段１３に記憶されたプログラム定義情報２５ａ，２６ａ，２７ａを分析して、プログラム定義情報２５ａ，２６ａ，２７ａによって定義されたプログラム処理を、処理経路ごとに分解する。そして、処理経路抽出手段１４は、分解した各処理経路についての実行条件、読み込まれるデータ集合、および書き込まれるデータ集合を示す処理経路情報を生成する。
【００１９】
経路対応付手段１５は、実績経路情報と処理経路情報とに基づいて実績経路と処理経路とを対応付ける。具体的には、経路対応付手段１５は、実績経路で読み込まれたデータ集合名および処理経路で読み込まれるデータ集合名を比較し、実績経路で書き込まれたデータ集合名および処理経路で書き込まれるデータ集合名を比較する。そして、経路対応付手段１５は、読み込み対象のデータ集合名と書き込み対象のデータ集合名の組との両方が一致した実績経路および処理経路を対応付ける。このようにして、経路対応付手段１５は、実績経路抽出手段１２が生成した実績経路情報と処理経路抽出手段１４が生成した処理経路情報とに基づいて、始点となるデータ集合と読込処理の対象となるデータ集合とが一致し、かつ、終点となるデータ集合と書込処理の対象となるデータ集合とが一致する、実績経路と処理経路とを対応付ける。
【００２０】
主要処理経路判定手段１６は、実績経路抽出手段１２によって計算された出現数に基づいて、処理経路のうち、業務システム２０の実際の稼動時における出現頻度が高い実績経路と対応付けられた処理経路を、主要な処理経路である主要処理経路と判定する。このようにして、主要処理経路判定手段１６は、処理経路のうち、経路対応付手段１５によって当該処理経路に対応付けられた実績経路の出現数が所定の閾値以上の処理経路を、主要処理経路と判定する。これにより、実際の業務で出現頻度の高い処理経路を抽出することができる。
【００２１】
想定動作条件抽出手段１７は、主要処理経路判定手段１６によって判定された主要処理経路の実行条件を、想定動作条件１９として抽出する。そして、想定動作条件抽出手段１７は、抽出した想定動作条件１９を示す情報を出力する。
【００２２】
このようなコンピュータ１０によれば、実績経路抽出手段１２により、データ集合の更新処理の経路を示す実績経路と、実績経路の出現数と、を含む実績経路情報が生成される。次に、処理経路抽出手段１４により、プログラム定義情報から処理経路が抽出され、データ集合に対する読み込み処理および書き込み処理、ならびに各処理経路についての実行条件を示す処理経路情報が生成される。そして、経路対応付手段１５により、実績経路情報と処理経路情報とが対応付けられる。その後、主要処理経路判定手段１６により、出現数が所定の閾値以上の実績経路と対応付けられた処理経路が主要処理経路と判定される。そして、想定動作条件抽出手段１７により、主要処理経路と判定された処理経路の実行条件の集合が想定動作条件とされ、想定動作条件１９を示す情報が出力される。
【００２３】
これにより、業務の遂行上、重要な想定動作条件を自動的に抽出することができる。したがって、システム管理者などは、コンピュータシステムの運用作業時や保守作業時に、抽出された想定動作条件を満たすように作業することで、主要な業務についての悪影響の発生を効率的に防止できる。このように、システム管理者などは、コンピュータシステムの運用作業時や保守作業時に、コンピュータ１０によって得られたプログラムの想定動作条件を、業務システム２０の正常な動作のために満たすべき基準の１つに採用してプログラムの改変作業を行うことで、コンピュータシステムの運用作業や保守作業の効率を向上させることができる。
【００２４】
以下、本実施の形態を図面を参照して詳細に説明する。
図２は、本実施の形態のシステム構成を示す図である。本実施の形態の想定動作条件分析システムは、データベース管理システムが出力するテーブルの更新情報、および業務サーバによって実行されるプログラムを定義するプログラム定義情報を分析し、プログラムの想定動作条件（以下、単に「想定動作条件」とする）を自動的に抽出するものである。
【００２５】
本実施の形態の想定動作条件分析システムは、想定動作条件分析装置１００、業務サーバ２００ａ，２００ｂ、データベースサーバ３００ａ，３００ｂ，３００ｃおよびネットワーク６０で構成される。想定動作条件分析装置１００、業務サーバ２００ａ，２００ｂ、およびデータベースサーバ３００ａ，３００ｂ，３００ｃは、ネットワーク６０に接続されており、相互に通信が可能である。
【００２６】
業務サーバ２００ａ，２００ｂでは、それぞれアプリケーションプログラムが実行される。例えば、業務サーバ２００ａで在庫管理プログラムが、業務サーバ２００ｂで受注管理プログラムが実行される。業務サーバ２００ａ，２００ｂで実行されるアプリケーションプログラムは、必要に応じて、ネットワーク６０を通じてデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスし、データベースサーバ３００ａ，３００ｂ，３００ｃで管理されるデータを利用する。
【００２７】
データベースサーバ３００ａ，３００ｂ，３００ｃでは、それぞれデータベース管理システムが実行される。データベース管理システムは、業務サーバ２００ａ，２００ｂで実行されるアプリケーションプログラムが利用するデータを管理する。データベース管理システムは、テーブル形式でデータを管理しており、アプリケーションプログラムからの要求に応じてデータの検索および更新の処理を行う。ここで、データの更新処理が実行されると、データベース管理システムは、ログファイルに更新情報を出力する。ログファイルは、それぞれのデータベースサーバ３００ａ，３００ｂ，３００ｃで管理される。
【００２８】
想定動作条件分析装置１００は、データベースサーバ３００ａ，３００ｂ，３００ｃから、ネットワーク６０を通じてログファイルを取得する。そして、想定動作条件分析装置１００は、取得したログファイルに記述された更新情報を分析することで、主要な想定動作条件を自動的に抽出する。
【００２９】
なお、本実施の形態では、想定動作条件の生成機能を実現する装置として想定動作条件分析装置１００を設けたが、想定動作条件分析装置１００の機能をデータベースサーバ３００ａ，３００ｂ，３００ｃのいずれかのサーバ上で実現することも可能である。また、想定動作条件分析装置１００の機能を業務サーバ２００ａ，２００ｂのいずれかのサーバ上で実現することも可能である。
【００３０】
次に、想定動作条件分析装置１００、業務サーバ２００ａ，２００ｂおよびデータベースサーバ３００ａ，３００ｂ，３００ｃのハードウェア構成について説明する。ただし、想定動作条件分析装置１００、業務サーバ２００ａ，２００ｂおよびデータベースサーバ３００ａ，３００ｂ，３００ｃはそれぞれ同様のハードウェア構成によって実現できるため、以下、代表して想定動作条件分析装置１００について説明する。
【００３１】
図３は、想定動作条件分析装置のハードウェア構成を示す図である。想定動作条件分析装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６が接続されている。
【００３２】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳプログラムやアプリケーションプログラムが格納される。
【００３３】
グラフィック処理装置１０４には、モニタ５０が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ５０の画面に表示させる。入力インタフェース１０５には、キーボード４１とマウス４２とが接続されている。入力インタフェース１０５は、キーボード４１やマウス４２から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク６０に接続されている。
【００３４】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、本実施の形態のデータベースサーバ３００ａ，３００ｂ，３００ｃに格納されているテーブルのフィールド構成について説明する。
【００３５】
図４は、テーブルが具備するフィールドを示す図である。フィールド構成表３１１は、本実施の形態のテーブルが具備するフィールドを示す表である。
フィールド構成表３１１のテーブル名を示す項目３１１ａは、本実施の形態の業務システムにおいてデータベースサーバ３００ａ，３００ｂ，３００ｃに格納されているテーブル（図８参照）の名称（ＤＢ１〜ＤＢ７）を示す。また、フィールド構成表３１１のフィールド名を示す項目３１１ｂには、そのテーブルを構成するフィールドの名称を示す。本実施の形態のテーブルは、図の例のようなフィールドにより構成されている。
【００３６】
次に、想定動作条件分析装置１００のモジュール構成について説明する。
図５は、想定動作条件分析装置の機能を示すブロック図である。想定動作条件分析装置１００は、更新情報記憶部１１０、実績経路情報記憶部１２０、プログラム定義情報記憶部１３０、処理経路情報記憶部１４０、想定動作条件記憶部を有する。また、想定動作条件分析装置１００は、更新情報取得部１６１、実績経路抽出部１６２、プログラム定義情報取得部１７１、処理経路抽出部１７２、経路対応付部１８３、主要処理経路判定部１８４、主要処理経路連結部１８５、想定動作条件抽出部１８６、および想定動作条件出力部１８７を有する。
【００３７】
更新情報取得部１６１、およびプログラム定義情報取得部１７１は、ネットワーク６０を介して業務サーバ２００，２００ｂおよびデータベースサーバ３００ａ，３００ｂ，３００ｃと通信が可能である。実績経路抽出部１６２、処理経路抽出部１７２、主要処理経路判定部１８４、主要処理経路連結部１８５、および想定動作条件抽出部１８６は、キーボード４１およびマウス４２を通じてユーザからの入力を受け取ることができる。また、想定動作条件出力部１８７は、外部に、モニタ５０の画面に処理結果を表示するための想定動作条件表示情報などの、想定動作条件に関する情報を出力することができる。
【００３８】
更新情報記憶部１１０には、データベース管理システムが出力する更新情報が格納される。更新情報は、１つのテーブルが更新されるごとに作成される。テーブルの更新処理は、具体的には、レコードの追加、更新、削除のいずれかの処理である。アプリケーションプログラムによる１回のデータ更新処理によって、１つ以上のテーブルが更新される。更新情報には、データ更新処理を一意に識別する識別情報、更新されたテーブルのテーブル名、更新時刻、およびフィールド名が含まれる。ここで、データ更新処理の識別情報は、例えば、トランザクションＩＤや、プログラムによって明示的に付与されたＩＤなどである。また、フィールド名は、データベースを構成し、データ更新処理によって引き継がれた引継フィールド（図４参照）の名称である。
【００３９】
ここで、フィールドの引き継ぎとは、異なるテーブルを構成するフィールド間において、一方のフィールドから他方のフィールドへ値が転記されることをいう。
実績経路情報記憶部１２０には、実績経路抽出部１６２によって生成された実績経路および実績経路の出現数が格納される。実績経路は、業務システムで実行されるデータ更新処理におけるテーブルの更新順序として定義される。例えば、“テーブルＡ”、“テーブルＢ”、“テーブルＣ”というテーブルから構成された、連続して更新される２つのテーブルの組み合わせが実績経路を意味する。業務で利用されるコンピュータシステムでは、データの更新順序が業務の流れを最もよく反映していると考えられるからである。なお、実績経路情報記憶部１２０では、実績経路の出現数が、実績経路と関連付けられて、実績経路情報として格納される。
【００４０】
プログラム定義情報記憶部１３０は、プログラム定義情報取得部１７１によって取得された、業務サーバによって実行されるプログラム処理を定義するプログラム定義情報を記憶する。プログラム定義情報は、前述したように、例えば、ソースコード、オブジェクトコード、またはフローチャートなどである。
【００４１】
処理経路情報記憶部１４０には、処理経路抽出部１７２によって生成された処理経路情報が格納される。処理経路情報は、プログラム定義情報によって定義されるプログラム処理の内容を、１以上の処理経路に分解し、分解した各処理経路についての実行条件、読み込まれるテーブル、および書き込まれるテーブルを示す。処理経路は、業務システムのプログラムの開始から終了までに実行される一連の処理を順に示したものであり、詳しくは図９において後述する。
【００４２】
なお、処理経路情報記憶部１４０では、処理経路の実行条件、読み込まれるテーブル、および書き込まれるテーブルが、処理経路と関連付けられて、処理経路情報として格納される。なお、本実施の形態のプログラムは、テーブルの読み込み処理と書き込み処理とから構成され、テーブルの書き込み処理は、プログラム処理の必ず最後に実行されると仮定する。一続きの処理の中で複数回の書き込み処理がある場合には、複数の処理が実行されているとみなすことによって、上記仮定を具備できる。
【００４３】
想定動作条件記憶部１５０には、想定動作条件抽出部１８６によって抽出された想定動作条件が格納される。想定動作条件は、実際の業務の稼動時における主要な処理経路の実行条件から構成される。
【００４４】
更新情報取得部１６１は、予め設定された時間間隔で、定期的にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスし、データベースサーバ３００ａ，３００ｂ，３００ｃが管理するログファイルをそれぞれ取得する。そして、更新情報記憶部１１０は、取得したログファイルに、前回の取得時から新たに追加された更新情報があるか判断する。新たな更新情報の有無は、前回のログファイル取得時刻と更新情報の中の更新時刻とを比較することで判断する。新たな更新情報がある場合、更新情報取得部１６１は、ログファイルから更新情報を抽出して更新情報記憶部１１０に追加する。
【００４５】
実績経路抽出部１６２は、ユーザからの入力によって実績経路抽出の指示を受け取ると、更新情報記憶部１１０に格納された更新情報を分析して、連続して更新される２つのデータ集合の関係である実績経路を抽出する。具体的には、実績経路抽出部１６２は、更新情報記憶部１１０に記憶されている更新情報から、データ更新処理ごとに、データ更新処理によって連続して更新された２つのテーブルのテーブル名を更新時刻の早い順に並べた実績経路を抽出する。次に、実績経路抽出部１６２は、同一の実績経路の出現数をそれぞれ計算する。そして、実績経路抽出部１６２は、実績経路と、その実績経路の出現数とを関連付けた実績経路情報を作成する。
【００４６】
プログラム定義情報取得部１７１は、実行される業務サーバ内に記憶されており、プログラム定義情報取得部１７１によってネットワーク６０を介して取得される。なお、これに限らず、プログラム定義情報は、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどの、コンピュータで読み取り可能な記憶装置に格納されたものを読み込んで、プログラム定義情報取得部１７１から入力するように構成してもよい。
【００４７】
処理経路抽出部１７２は、プログラム定義情報記憶部１３０に記憶されたプログラム定義情報を分析して、プログラム定義情報によって定義されたプログラム処理を、処理経路ごとに分解する。そして、処理経路抽出部１７２は、分解した各処理経路についての実行条件、各処理経路で実行されるテーブルに対する読込処理および書込処理、および引き継がれるフィールド名を示す処理経路情報を作成する。
【００４８】
経路対応付部１８３は、実績経路抽出部１６２が抽出した実績経路情報と処理経路抽出部１７２が抽出した処理経路情報とに基づいて、始点となるテーブルと読込処理の対象となるテーブルとが一致し、かつ、終点となるテーブルと書込処理の対象となるテーブルとが一致する、実績経路と処理経路とを対応付ける。具体的には、経路対応付部１８３は、実績経路で読み込まれたテーブル名および処理経路で読み込まれるテーブル名を比較し、実績経路で書き込まれたテーブル名および処理経路で書き込まれるテーブル名を比較する。そして、経路対応付部１８３は、読み込み対象のテーブル名と書き込み対象のテーブル名の組との両方が一致した実績経路および処理経路を対応付ける。
【００４９】
データ内容取得部１９８は、ネットワーク６０を介して、データベースサーバ３００ａ，３００ｂ，３００ｃに格納されているテーブルに含まれるデータの内容を取得する。具体的には、当該テーブルの内容を取得する。
【００５０】
引継項目特定部１９９は、データ内容取得部１９８が取得したテーブルの内容から、実績経路の始点および終点となるテーブルにおいて引き継がれるフィールドを特定する。
そして、経路対応付部１８３は、１つの実績経路に対し複数の処理経路が対応付けの候補として存在することにより、テーブル名のみでは、実績経路情報と処理経路情報とを対応付けることができない場合には、テーブル名の一致に加えて、引継項目特定部１９９によって特定された引き継ぎ対象のフィールド名、および処理経路抽出部１７２によって特定されたテーブル名との一致によって、実績経路情報と処理経路情報とを対応付ける。この対応付けにより、処理経路が持つ実行条件と、実績経路が持つ出現数とが結び付けられる。
【００５１】
主要処理経路判定部１８４は、実績経路抽出部１６２によって計算された出現数に基づいて、処理経路のうち、業務システムの実際の稼動時における出現頻度が高い実績経路と対応付けられた処理経路を、主要な処理経路である主要処理経路と判定する。これにより、実際の業務で出現頻度の高い処理経路を抽出することができる。
【００５２】
なお、主要処理経路判定部１８４は、処理経路に対応付けられた実績経路の出現数を、その処理経路の推定頻度とし、その推定頻度が予め設定された閾値以上である処理経路を、業務における実行頻度が高い処理経路であると考えて、主要処理経路と判定する。
【００５３】
ここで、本実施の形態では、処理経路の実行頻度を推定頻度としているが、これは以下の理由による。内部のプログラム処理を変更せず、通常外部から観測される情報のみで想定動作条件を抽出する本実施の形態では、処理経路の実際の実行頻度を得ることができないので、その代わりに実績経路の出現数を用いている。しかし、実績経路と処理経路とは必ずしも一対一で対応するとは限らない。このため、一の実績経路に対して複数の処理経路が対応する場合に、実績経路の出現数を複数の処理経路に正確に分配することが不可能であることによって、推定に基づいて処理経路の出現頻度を決定していることによる。
【００５４】
以上のように、本実施の形態では、業務システムの内部に手を加えることなく、厳密な正確さは保証されないが、一応の確からしさをもって処理経路の実行頻度を推定することができる。
【００５５】
閾値は、例えば、出現数を表す固定の整数値でもよく、すべての実績経路の出現数の平均値など、所定の計算式で計算される値でもよい。また、閾値を用いず、対応する実績経路の出現数が、出現数の累積値の上位から一定の割合にある処理経路を、主要処理経路と判定してもよい。
【００５６】
主要処理経路連結部１８５は、主要処理経路判定部１８４によって判定された主要処理経路を、実績経路情報に基づいて連結する。そして、主要処理経路連結部１８５は、連結した主要処理経路を示す連結主要処理経路情報を作成する。
【００５７】
想定動作条件抽出部１８６は、主要処理経路判定部１８４によって判定された主要処理経路の実行条件を、プログラム別想定動作条件として抽出する。そして、想定動作条件抽出部１８６は、抽出したプログラム別想定動作条件を想定動作条件記憶部１５０に記憶させる。このプログラム別想定動作条件により、プログラムごとの想定動作条件を容易に把握することができる。
【００５８】
また、想定動作条件抽出部１８６は、主要処理経路判定部１８４によって判定された主要処理経路の実行条件から、連結主要処理経路情報によって示された連結主要処理経路の実行条件を、連結想定動作条件として抽出する。そして、想定動作条件抽出部１８６は、抽出した連結想定動作条件を想定動作条件記憶部１５０に記憶させる。この連結想定動作条件により、連続する複数の処理からなる一連の業務の実行時における想定動作条件を容易に把握することができる。
【００５９】
想定動作条件出力部１８７は、想定動作条件記憶部１５０に記憶されたプログラム別想定動作条件、および連結想定動作条件を示す想定動作条件情報を出力する。これにより、想定動作条件分析装置１００の外部で想定動作条件を表示、分析、保存することができる。
【００６０】
また、想定動作条件出力部１８７は、想定動作条件記憶部１５０に記憶されたプログラム別想定動作条件、および連結想定動作条件を示す図を表示させる想定動作条件表示情報を出力する。これにより、例えば、想定動作条件分析装置１００に接続されたモニタ５０に、想定動作条件を示す図を表示させることができる。
【００６１】
なお、本実施の形態では、更新情報取得部１６１は定期的にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスすることとしたが、ユーザから想定動作条件分析の指示、または実績経路抽出の指示があった際にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスするようにしてもよい。
【００６２】
更新情報記憶部１１０は、更新情報の一覧を表す更新情報テーブル１１１を有している。
図６は、更新情報テーブルのデータ構造例を示す図である。更新情報テーブル１１１には、更新情報が１つのテーブルの更新処理ごとにテーブル化されて格納されている。更新情報テーブル１１１には、処理ＩＤを示す項目１１１ａ、テーブル名を示す項目１１１ｂ、引継フィールドのフィールド名を示す項目１１１ｃ、および更新時刻を示す項目１１１ｄが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、更新情報を構成する。
【００６３】
項目１１１ａには、データ更新処理を一意に識別するための識別番号が設定される。処理ＩＤとしては、例えば、トランザクションＩＤを用いることができる。この場合、データベースサーバ３００ａ，３００ｂ，３００ｃで実行されるデータベース管理システムが連携して、データ更新処理ごとに一意なトランザクションＩＤを付与し、更新情報にトランザクションＩＤを含めるようにすればよい。また、業務サーバ２００ａ，２００ｂで実行されるアプリケーションプログラムがデータ更新処理ごとに一意な識別番号を設定し、データベース管理システムが更新情報にこの識別番号を含めるようにしてもよい。
【００６４】
項目１１１ｂには、項目１１１ａに設定された処理ＩＤで示されるデータ更新処理によって更新されたテーブルのテーブル名が、０個以上設定される。項目１１１ｃには、データ更新処理によって引き継がれた引継フィールドのフィールド名が設定される。項目１１１ｄには、項目１１１ａに設定された処理ＩＤで示されるデータ更新処理によって項目１１１ｂに設定されたテーブル名のテーブルが更新された時刻が設定される。
【００６５】
更新情報テーブル１１０ａに格納される更新情報は、更新情報取得部１６１によって登録される。
実績経路情報記憶部１２０は、実績経路情報の一覧を表す実績経路テーブル１２１を有している。
【００６６】
図７は、実績経路テーブルのデータ構造例を示す図である。実績経路テーブル１２１には、実績経路情報が実績経路ごとにテーブル化されて格納されている。実績経路テーブル１２１には、実績経路ナンバ（Ｎｏ）を示す項目１２１ａ、処理の起点となるテーブルのテーブル名を示す項目１２１ｂ、処理の終点となるテーブルのテーブル名を示す項目１２１ｃ、実績経路の出現数を示す項目１２１ｄ、および引継フィールド名を示す項目１２１ｅが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられ、実績経路情報を構成する。
【００６７】
項目１２１ａには、実績経路を表す実績経路ナンバが設定される。項目１２１ｂには、処理の起点となるテーブル名が設定される。項目１２１ｃには、処理の終点となるテーブル名が設定される。項目１２１ｄには、それぞれの実績経路の出現数を表す整数値が頻度として設定される。すなわち、実績経路に沿ったデータ更新処理がそれまでに実行された回数が設定される。項目１２１ｅには、実績経路で引き継がれた引継フィールドのフィールド名（図４）が設定される。
【００６８】
実績経路テーブル１２１に格納される実績経路情報は、実績経路抽出部１６２によって登録される。
次に、実績経路抽出部１６２によってモニタ５０に表示される実績経路図について説明する。
【００６９】
図８は、実績経路図の表示例を示す図である。実績経路図表示画面５２は、実績経路抽出部１６２からの出力によってモニタ５０に表示される画面である。実績経路図表示画面５２には、すべての実績経路を表す１つの実績経路図が表示される。
【００７０】
実績経路図表示画面５２には、業務システムにおいて更新処理が実行されるすべてのテーブル（ＤＢ１〜ＤＢ７）を示すノード３２１ａ〜３２１ｆが記述される。実績経路図表示画面５２には、テーブルの更新処理の順序関係を表す矢印線がテーブルを示すノード間に記述される。例えば、ノード３２１ｂからノード３２１ｄへの矢印線は、ノード３２１ｂの更新処理に続いて、ノード３２１ｄの更新処理を実行する実績経路が存在することを意味する。
【００７１】
１つのノードから複数の矢印線が出ている場合、矢印元の処理の次に、矢印先の処理のうちのいずれか１つが実行されることを意味する。
例えば、ノード３２１ａからノード３２１ｂおよびノード３２１ｃへの矢印線は、ノード３２１ａが示すテーブル（ＤＢ１）の更新処理に続いて、ノード３２１ｂが示すテーブル（ＤＢ２）の更新処理と、ノード３２１ｃが示すテーブル（ＤＢ３）の更新処理とのうちのいずれか一方が実行されることを意味する。
【００７２】
このようにして、ノード間を結ぶ一連の矢印線によって、実績経路における処理の順序関係が１つの図として表現される。
次に、本実施の形態の業務サーバで実行されるプログラムの構造例について説明する。
【００７３】
図９は、プログラムの構造例を示す図である。
本実施の形態のデータベース更新処理を実行するためのプログラムのフローチャート１３１ａ〜１３１ｅ（ＰＧ1〜ＰＧ５）は、図に示すように、ＳＱＬ(Structured Query Language)のＳＥＬＥＣＴ（検索）文の実行から開始され、ＩＮＳＥＲＴ（挿入）文、ＵＰＤＡＴＥ（更新）文、またはＤＥＬＥＴＥ（削除）文の実行後に終了する構造である。
【００７４】
また、一回のプログラムの実行によっては、テーブルにデータが書き込まれる処理であるＩＮＳＥＲＴ文、ＵＰＤＡＴＥ文、ＤＥＬＥＴＥ文は、一度のみ、かつ、いずれか１つのみが処理されるように構成されている。このプログラムを定義するプログラム定義情報が、プログラム定義情報取得部１７１により取得され、プログラム定義情報記憶部１３０に記憶される。
【００７５】
次に、本実施の形態のデータベース管理システム３００ａ，３００ｂ，３００ｃで実行されるプログラムの処理経路の抽出結果について説明する。
図１０は、処理経路テーブルのデータ構造例を示す図である。
【００７６】
処理経路抽出部１７２により、プログラム定義情報から、処理経路情報が抽出されると、処理経路テーブル１４１には、処理経路情報が処理経路ごとにテーブル化されて格納され、処理経路情報記憶部１４０に記憶される。
【００７７】
処理経路テーブル１４１には、処理経路ナンバ（Ｎｏ）を示す項目１４１ａ、その処理経路を実現するためのプログラムを示す項目１４１ｂ、処理経路の最初に読み込み処理が行われるテーブルのテーブル名を示す項目１４１ｃ、そのテーブルに実行される命令を示す項目１４１ｄ、そのテーブルから読み込まれるフィールド名を示す項目１４１ｅ、処理経路の最後に書き込み処理が行われるテーブル名を示す項目１４１ｆ、そのテーブルに実行される命令を示す項目１４１ｇ、そのテーブルにおいて書き込まれるフィールド名を示す項目１４１ｈ、その処理経路で引き継がれるフィールド名を示す項目１４１ｉ、およびその処理経路の実行条件を示す項目１４１ｊが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられ、処理経路情報を構成する。
【００７８】
項目１４１ａには、処理経路を表す処理経路ナンバが設定される。項目１４１ｂには、その処理経路が抽出されたプログラム名が設定される。項目１４１ｃには、読み込み処理が行われるテーブル名が設定される。項目１４１ｄには、その読み込み処理において実行される命令が設定される。例えば、ＳＱＬのＳＥＬＥＣＴ命令が設定される。項目１４１ｅには、その読み込み処理において読み込まれるフィールド名（図４）が設定される。
【００７９】
項目１４１ｆには、書き込み処理が行われるテーブルのテーブル名が設定される。項目１４１ｇには、その書き込み処理において実行される命令が設定される。例えば、ＳＱＬのＩＮＳＥＲＴ命令、ＵＰＤＡＴＥ命令、ＤＥＬＥＴＥ命令のいずれか１つが設定される。項目１４１ｈには、その書き込み処理において書き込まれるフィールド名（図４）が設定される。項目１４１ｉには、これらの読み込み処理、および書き込み処理において引き継がれる引継フィールドのフィールド名（図４）が設定される。項目１４１ｊには、その処理経路が正常に処理されるための実行条件が設定される。
【００８０】
処理経路テーブル１４１に格納される処理経路情報は、処理経路抽出部１７２によって登録される。
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。最初に、更新情報を分析して実績経路を抽出する処理について説明する。
【００８１】
図１１は、実績経路抽出処理の手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］  実績経路抽出部１６２は、実績経路生成の指示を受け取ると、更新情報記憶部１１０に格納されたすべての更新情報を、処理ＩＤを基準として整列する。
【００８２】
［ステップＳ１２］  実績経路抽出部１６２は、処理ＩＤが同一である複数の更新情報を、さらに更新時刻の早い順に整列する。そして、実績経路抽出部１６２は、処理ＩＤごとに、更新時刻の早い順にテーブル名を並べたテーブル列を作成する。
【００８３】
［ステップＳ１３］  実績経路抽出部１６２は、ステップＳ１２で作成したすべてのテーブル列を集計する。すなわち、同一のテーブル列の個数をそれぞれ計算する。ここで計算した値が、それぞれのテーブル列の出現数となる。
【００８４】
［ステップＳ１４］  実績経路抽出部１６２は、ステップＳ１３で作成したすべてのテーブル列から、連続して更新される２つのテーブルの組み合わせ（以下、テーブル組）を抽出する。そして、ステップＳ１３で集計したテーブル列の出現数から、抽出したテーブル組の出現数を集計する。すなわち、連続して更新される同一のテーブル組の個数をそれぞれ計算する。ここで計算された値が、それぞれのテーブル組によって表される実績経路の出現数となる。そして、実績経路抽出部１６２は、実績経路情報記憶部１２０に集計結果を記憶させる。
【００８５】
具体的には、例えば、ステップＳ１２において“テーブルＡ→テーブルＢ→テーブルＣ”という順で更新されるテーブル列、および“テーブルＡ→テーブルＢ→テーブルＤ”という順で更新されるテーブル列が作成された場合、ステップＳ１４において抽出されるテーブル組は、“テーブルＡ→テーブルＢ”、“テーブルＢ→テーブルＣ”、および“テーブルＢ→テーブルＤ”となる。このテーブル組が、実績経路として抽出される。
【００８６】
また、例えば、ステップＳ１３において集計されたテーブル列の出現数が、“テーブルＡ→テーブルＢ→テーブルＣ”は１００、“テーブルＡ→テーブルＢ→テーブルＤ”は２００であった場合、ステップＳ１４において計算される実績経路の出現数は、“テーブルＡ→テーブルＢ”が３００、“テーブルＢ→テーブルＣ”が１００、および“テーブルＢ→テーブルＤ”が２００となる。これが、実績経路の出現数となる。
【００８７】
このようにして、実績経路抽出部１６２は、更新情報記憶部１１０に格納された更新情報を用いて、データ更新処理ごとにテーブル列を作成する。次に、実績経路抽出部１６２は、作成したすべてのテーブル列を集計する。次に、実績経路抽出部１６２は、作成したすべてのテーブル列から実績経路を抽出する。そして、実績経路抽出部１６２は、抽出した実績経路を集計し、それぞれの実績経路とその出現数とを特定する。
【００８８】
次に、プログラム定義情報を分解して処理経路を抽出する処理について説明する。
図１２、および図１３は、処理経路抽出処理の手順を示すフローチャートである。以下、図１２、および図１３に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳ２１］  処理経路抽出部１７２は、プログラム定義情報記憶部１３０に記憶されたプログラム定義情報から、業務システムで実行されるプログラム処理の構文木構造を解析する。
【００９０】
［ステップＳ２２］  処理経路抽出部１７２は、解析した構文木の先頭から順にプログラム処理で実行される命令文を取得する。
［ステップＳ２３］  処理経路抽出部１７２は、構文木から取得した命令文が、プログラム処理の終了を示すものであれば、処理をステップＳ２６に進める。一方、構文木から取得した命令文が、プログラム処理の終了を示すものでなければ、処理をステップＳ２４に進める。
【００９１】
［ステップＳ２４］  処理経路抽出部１７２は、構文木から取得した命令文が、変数を引き継ぐものであれば、処理をステップＳ２５に進める。一方、構文木から取得した命令文が、変数を引き継ぐものでなければ、処理をステップＳ２８（図１３）に進める。引き継がれる変数には、例えば、テーブル等の格納データ値、操作者による入力データ値、他の処理の出力データ値に基づくものがある。
【００９２】
［ステップＳ２５］  処理経路抽出部１７２は、引き継いだ変数の内容を保持する。
［ステップＳ２６］  処理経路抽出部１７２は、保持している処理経路を示す処理経路情報を出力する。出力された処理経路情報は、処理経路情報記憶部１４０に記憶される。
【００９３】
［ステップＳ２７］  処理経路抽出部１７２は、未だ選択されていない分岐があれば、処理をステップＳ２２に進める。一方、未だ選択されていない分岐がなければ、処理を終了する。
【００９４】
［ステップＳ２８］  処理経路抽出部１７２は、構文木から取得した命令文が、テーブルから読み込む処理を示すものであれば、処理をステップＳ３１に進める。一方、構文木から取得した命令文が、テーブルから読み込む処理を示すものでなければ、処理をステップＳ２９に進める。
【００９５】
［ステップＳ２９］  処理経路抽出部１７２は、構文木から取得した命令文が、テーブルに書き込む処理を示すものであれば、処理をステップＳ３１に進める。一方、構文木から取得した命令文が、テーブルに書き込む処理を示すものでなければ、処理をステップＳ３０に進める。
【００９６】
［ステップＳ３０］  処理経路抽出部１７２は、構文木から取得した命令文が、条件分岐であれば、処理をステップＳ３１に進める。一方、構文木から取得した命令文が、条件分岐でなければ、処理をステップＳ２２（図１２）に進める。
【００９７】
［ステップＳ３１］  処理経路抽出部１７２は、経由した処理の命令文リストの内容（読み書きされたテーブル、読み書きされたフィールド名、および引き継がれたフィールド名）、または、経由した条件分岐の命令文リストの内容（実行条件）を、処理経路情報の一部として保持する。処理経路抽出部１７２は、その後、処理をステップＳ２２（図１２）に進める。
【００９８】
処理経路抽出部１７２は、以上の処理を、すべてのプログラムについて実行する。
このようにして、処理経路抽出部１７２は、プログラム定義情報記憶部１３０に記憶されたプログラム定義情報に示された構文木の命令文から、各処理経路についての実行条件、各処理経路で実行されるテーブルに対する読込処理および書込処理、および引き継がれるフィールド名を示す処理経路情報を作成する。
【００９９】
次に、実績経路と処理経路とを対応付ける処理について説明する。
図１４、図１５、および図１６は、経路対応付処理の手順を示すフローチャートである。以下、図１４、図１５、および図１６に示す処理をステップ番号に沿って説明する。
【０１００】
［ステップＳ４１］  経路対応付部１８３は、処理経路情報記憶部１４０に記憶された処理経路情報に基づいて、処理経路抽出部１７２によって抽出された処理経路を順に選択する。
【０１０１】
［ステップＳ４２］  経路対応付部１８３は、抽出されたすべての処理経路の処理が終了していれば、処理をステップＳ４９（図１６）に進める。一方、抽出されたすべての処理経路の処理が終了していなければ、処理をステップＳ４３に進める。
【０１０２】
［ステップＳ４３］  経路対応付部１８３は、選択された処理経路に、読み込み処理が実行されるテーブル（入力テーブル）と、書き込み処理が実行されるテーブル（出力テーブル）とがあれば、処理をステップＳ４４に進める。一方、選択された処理経路に入力テーブルと出力テーブルとがなければ、処理をステップＳ４１に進める。
【０１０３】
［ステップＳ４４］  経路対応付部１８３は、処理経路の入力テーブルを順に選択する。
［ステップＳ４５］  経路対応付部１８３は、その処理経路の入力テーブルおよび出力テーブルの組と比較して、実績経路の起点テーブルおよび終点テーブルの組と一致するものがあれば、処理をステップＳ４６に進める。一方、その処理経路の入力テーブルおよび出力テーブルの組と比較して、実績経路の起点テーブルおよび終点テーブルの組と一致するものがなければ、処理をステップＳ４７に進める。
【０１０４】
［ステップＳ４６］  経路対応付部１８３は、テーブルの組が一致した処理経路と実績経路を対応付ける。
［ステップＳ４７］  経路対応付部１８３は、実績経路に対応するテーブルの組が存在しないので、その処理経路には、実績経路を対応付けずに、“対応する実績経路なし”とする。
【０１０５】
［ステップＳ４８］  経路対応付部１８３は、すべての入力テーブルの選択に基づく処理が終了していれば、処理をステップＳ４１に進める。一方、抽出されたすべての入力テーブルの選択に基づく処理が終了していなければ、処理をステップＳ４４に進める。
【０１０６】
［ステップＳ４９］  経路対応付部１８３は、実績経路と対応付けられた処理経路を順に選択する。
［ステップＳ５０］  経路対応付部１８３は、処理経路に複数の入力テーブルがあり、処理経路に複数の実績経路が対応付けられていれば、処理をステップＳ５１に進める。一方、処理経路に一の実績経路のみが対応付けられていれば、処理をステップＳ５２に進める。
【０１０７】
ここで、複数の入力テーブルを持つ処理経路の例として、ＰＧ１（図９のプログラム１３１ａ、図１０の処理経路テーブル１４１のＰＧ１＿２、およびＰＧ１＿３）がある。ＰＧ１では、条件分岐によっては、ＤＢ１およびＤＢ２からデータを読み込み、ＤＢ３（ＰＧ１＿２）またはＤＢ４（ＰＧ１＿４）にデータを書き込む処理が行われる場合がある。これらのような場合には、一の処理経路に２つの入力テーブルが存在するため、２つの実績経路が対応付けられるときがある。
【０１０８】
［ステップＳ５１］  経路対応付部１８３は、前述したような一の処理経路に複数の実績経路が対応付けられている場合、これらの複数の実績経路を結合して一の実績経路とする。
【０１０９】
［ステップＳ５２］  経路対応付部１８３は、すべての対応付けられた処理経路が選択されていれば、処理をステップＳ５３（図１６）に進める。一方、対応付けられた処理経路のうち選択されていないのもがあれば、処理をステップＳ４９に進める。
【０１１０】
［ステップＳ５３］  経路対応付部１８３は、処理経路と対応付けられた実績経路を順に選択する。
［ステップＳ５４］  経路対応付部１８３は、異なる処理経路に同一の入力テーブルと出力テーブルとの組があり、実績経路に複数の処理経路が対応付けられていれば、処理をステップＳ５５に進める。一方、実績経路に一の処理経路のみが対応付けられていれば、処理をステップＳ５６に進める。
【０１１１】
［ステップＳ５５］  経路対応付部１８３は、前述したような一の実績経路に複数の処理経路が対応付けられている場合、実績経路、および処理経路に含まれる引継フィールドが一致するものを、実績経路と対応付けられる処理経路として特定する。
【０１１２】
前述したように、経路対応付部１８３は、１つの実績経路に対し複数の処理経路が対応付けの候補として存在することにより、テーブル名のみでは、実績経路情報と処理経路情報とを対応付けることができない場合には、テーブル名の一致に加えて、引継項目特定部１９９によって特定された引き継ぎ対象のフィールド名、および処理経路抽出部１７２によって特定されたテーブル名との一致によって、実績経路情報と処理経路情報とを対応付ける。
【０１１３】
ここで、引継項目特定部１９９が、実績経路で引き継がれているフィールドを特定する処理について説明する。
引継項目特定部１９９は、データ内容取得部１９８が取得したテーブルの内容から、実績経路の始点および終点となるテーブルにおいて引き継がれるフィールドを特定する。このとき引継項目特定部１９９は、２つのテーブルのフィールドに格納されているデータ同士を比較し、一致している値が最も多いフィールド同士を、これらのフィールドは一方のテーブルから他方のテーブルに転記されたものであると考える。
【０１１４】
また、テーブルの更新ログにより、実績経路上の更新順序から、更新順序が先のものから更新順序が後のものに当該フィールドが引き継がれていると考える。これにより、引継項目特定部１９９は、当該フィールドを、その実績経路の引継フィールドとして特定する。
【０１１５】
なお、処理経路の入力テーブルと出力テーブルとの間の引継フィールドは、プログラム解析により抽出される。
経路対応付部１８３は、このように特定された実績経路の引継フィールドを処理経路の引継フィールドと対応付ける。
【０１１６】
［ステップＳ５６］  経路対応付部１８３は、すべての対応付けられた実績経路が選択されていれば、処理をステップＳ５７に進める。一方、対応付けられた実績経路のうち選択されていないものがあれば、処理をステップＳ５４に進める。
【０１１７】
［ステップＳ５７］  経路対応付部１８３は、以上の処理結果に基づいて対応付けられた処理経路と実績経路とを関連付ける。
このようにして、経路対応付部１８３は、処理経路の入力テーブルおよび出力テーブル、実績経路の起点テーブルおよび終点テーブル、ならびに処理経路および実績経路の引継フィールドから、処理経路と実績経路とを対応付ける。
【０１１８】
次に、処理経路が主要処理経路であるか否かを判定する処理について説明する。
図１７は、主要処理経路判定処理の手順を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
【０１１９】
［ステップＳ７１］  主要処理経路判定部１８４は、経路対応付部１８３によって実績経路と対応付けられた処理経路を順に選択する。
［ステップＳ７２］  主要処理経路判定部１８４は、対応付けられたすべての処理経路の処理が終了していれば、処理をステップＳ７４に進める。一方、対応付けられたすべての処理経路の処理が終了していなければ、処理をステップＳ７３に進める。
【０１２０】
［ステップＳ７３］  主要処理経路判定部１８４は、対応付られた実績経路の出現数から、処理経路の推定頻度を算出する。
ここで、本実施の形態では、処理経路の推定頻度を、対応付けられた実績経路の出現数を推定頻度とする。また、処理経路に対応付けられた実績経路が複数ある場合、それらの実績経路の出現数のうち最低値のものを、その処理経路の推定頻度とする。
【０１２１】
［ステップＳ７４］  主要処理経路判定部１８４は、処理経路の推定頻度に基づいて、各処理経路を主要な処理経路である主要処理経路か否かを判定する。そして、判定結果を主要処理経路判定情報１９１（図２０、および図２１）として、主要処理経路連結部１８５、および想定動作条件抽出部１８６に出力する。
【０１２２】
ここで、処理経路が主要処理経路であるか否かを判定するための、処理経路の推定頻度の評価方法として、その推定頻度が予め設定された閾値以上である処理経路を主要処理経路と判定する。閾値は、例えば、出現数を表す固定の整数値でもよく、すべての実績経路の出現数の平均値でもよい。また、閾値を用いず、対応する実績経路の出現数が、出現数の累積値の上位から一定の割合にある処理経路を、主要処理経路と判定してもよい。
【０１２３】
このようにして、主要処理経路判定部１８４は、実績経路抽出部１６２によって計算された出現数に基づいて、処理経路のうち、業務システムの実際の稼動時における出現頻度が高い実績経路と対応付けられた処理経路を、主要な処理経路である主要処理経路と判定する。
【０１２４】
次に、処理経路が主要処理経路と判定された処理経路を連結する処理について説明する。
図１８は、主要処理経路連結処理の手順を示すフローチャートである。以下、図１８に示す処理をステップ番号に沿って説明する。
【０１２５】
［ステップＳ８１］  主要処理経路連結部１８５は、主要処理経路判定部１８４によって判定された主要処理経路を順に選択する。
［ステップＳ８２］  主要処理経路連結部１８５は、すべての主要処理経路の処理が終了していれば、処理を終了する。一方、すべての主要処理経路の処理が終了していなければ、処理をステップＳ８３に進める。
【０１２６】
［ステップＳ８３］  主要処理経路連結部１８５は、主要処理経路に対応付られた実績経路を取得する。ここで、１つの主要処理経路に複数の実績経路が対応する場合には、経路対応付処理のステップＳ５１において結合された実績経路が取得される。
【０１２７】
［ステップＳ８４］  主要処理経路連結部１８５は、取得した実績経路の連続に基づいて、選択した主要処理経路に、テーブルの入出力が連続する主要処理経路を取得する。ここで、主要処理経路連結部１８５は、選択した主要処理経路に対応する実績経路の起点テーブルを終点テーブルとする実績経路に対応する主要処理経路、または、選択した主要処理経路に対応する実績経路の終点テーブルを起点テーブルとする実績経路に対応する主要処理経路を１つ取得する。なお、ここでは、取得対象の主要処理経路に対応する実績経路の起点テーブルおよび終点テーブルのうち、既に連結に用いられたテーブルは除外される。
【０１２８】
［ステップＳ８５］  主要処理経路連結部１８５は、選択した主要処理経路に、取得した主要処理経路を連結する。そして、主要処理経路連結部１８５は、連結した主要処理経路を示す連結主要処理経路情報を作成する。
【０１２９】
このようにして、主要処理経路連結部１８５は、主要処理経路判定部１８４によって判定された主要処理経路を、実績経路情報に基づいて連結する。
次に、想定動作条件を抽出する処理について説明する。
【０１３０】
図１９は、想定動作条件抽出処理の手順を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
［ステップＳ９１］  想定動作条件抽出部１８６は、処理経路テーブル１４１（図１０）から、主要処理経路判定部１８４によって主要処理経路と判定された処理経路の実行条件（項目１４１ｊ）を、プログラム別想定動作条件として抽出する。そして、想定動作条件抽出部１８６は、抽出されたプログラム別想定動作条件を示すプログラム想定動作条件情報を、想定動作条件記憶部１５０に記憶されているプログラム別想定動作条件テーブル１５１に格納する。
【０１３１】
［ステップＳ９２］  想定動作条件抽出部１８６は、処理経路テーブル１４１から、主要処理経路連結部１８５によって連結された処理経路の実行条件の論理積を、連結想定動作条件として抽出する。そして、想定動作条件抽出部１８６は、抽出された連結想定動作条件を示す連結想定動作条件情報を、想定動作条件記憶部１５０に記憶されている連結想定動作条件テーブル１５２に格納する。
【０１３２】
このようにして、想定動作条件抽出部１８６は、主要処理経路判定部１８４によって判定された主要処理経路の実行条件を、プログラム別想定動作条件として抽出し、抽出したプログラム別想定動作条件を想定動作条件記憶部１５０に記憶させる。また、想定動作条件抽出部１８６は、主要処理経路判定部１８４によって判定された主要処理経路の実行条件から、連結主要処理経路情報によって示された連結主要処理経路の実行条件を、連結想定動作条件として抽出し、抽出した連結想定動作条件を想定動作条件記憶部１５０に記憶させる。
【０１３３】
次に、主要処理経路判定情報について説明する。
図２０、および図２１は、主要処理経路判定情報のデータ構造例を示す図である。主要処理経路判定情報１９１は、主要処理経路判定部１８４から出力され、主要処理経路連結部１８５、および想定動作条件抽出部１８６に入力される。ここでは、主要処理経路判定情報１９１を、便宜上テーブル形式で表現する。また、主要処理経路判定情報１９１の項目１９１ａから項目１９１ｊまでは、処理経路テーブル１４１（図１０）の項目１４１ａから項目１４１ｊまでと同一であるため、ここでは説明を省略する。
【０１３４】
主要処理経路判定情報１９１には、前述したフィールドの他、処理経路と対応付けられた実績経路を示す項目１９１ｋ、処理経路と対応付けられた実績経路をさらに特定した項目１９１ｍ、処理経路の推定頻度を示す項目１９１ｎ、および主要処理経路判定の結果を示す項目１９１ｐが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられ、処理経路情報を構成する。
【０１３５】
項目１９１ｋには、その処理経路と対応付けられた実績経路名が設定される。項目１９１ｍには、その処理経路と対応付けられた実績経路のうち、経路対応付部１８３によって一対一でない対応関係であったものを整理した結果、対応付けられた実績経路名が設定される。項目１９１ｎには、主要処理経路判定部１８４によって算出された、その処理経路の推定頻度が設定される。項目１９１ｐには、その処理経路の主要処理経路判定部１９１ｐによる判定結果が設定される。
【０１３６】
なお、領域１９１ｓに設定されている項目１９１ｍの“なし”は、プログラムＮｏ“ＰＧ５＿２”に対応する実績経路が存在しないことを示す。また、領域１９１ｒの項目１９１ｍに設定されている“−”は、プログラムＮｏ“ＰＧ２＿１”に対して、項目１９１ｋにより対応付けられていることが示されているテーブル実績経路１の対応関係が、プログラムＮｏ“ＰＧ１＿１”に特定され、“ＰＧ２＿１”に対応する実績経路がなくなったことを示す。
【０１３７】
主要処理経路判定情報１９１は、主要処理経路判定部１８４によって主要処理経路連結部１８５、および想定動作条件抽出部１８６に出力される。
次に、想定動作条件抽出部１８６によって想定動作条件記憶部１５０に記憶される想定動作条件について説明する。
【０１３８】
図２２は、プログラム別想定動作条件テーブルのデータ構造例を示す図である。プログラム別想定動作条件テーブル１５１には、プログラム別想定動作条件が処理経路ごとにテーブル化されて格納されている。プログラム別想定動作条件テーブル１５１には、処理経路のナンバ（Ｎｏ）を示す項目１５１ａ、その処理経路が含まれるプログラムを示す項目１５１ｂ、その処理経路において入力処理が行われるテーブルのテーブル名を示す項目１５１ｃ、その処理経路において出力処理が行われるテーブルのテーブル名を示す項目１５１ｄ、その処理経路の実行条件を示す項目１５１ｅ、およびその処理経路の主要処理経路判定の判定結果を示す項目１５１ｆが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられ、プログラム別想定動作条件を構成する。
【０１３９】
項目１５１ａには、プログラム定義情報から解析された処理経路のナンバが設定される。項目１５１ｂには、その処理経路の抽出元のプログラム名が設定される。項目１５１ｃには、その処理経路において入力処理が行われるテーブルのテーブル名が設定される。入力テーブルは、本実施の形態のプログラム処理では、処理経路１つに対して必ずしも１つとは限らない。
【０１４０】
項目１５１ｄには、その処理経路の最後の処理である出力処理が行われるテーブルのテーブル名が設定される。本実施の形態のプログラム処理では、出力テーブルは、処理経路１つに対して必ず１つである。項目１５１ｅには、その処理経路の実行条件が設定される。項目１５１ｆには、その処理経路の主要処理経路判定の判定結果が設定される。
【０１４１】
プログラム別想定動作条件テーブル１５１に格納されるプログラム別想定動作条件は、想定動作条件抽出部１８６によって登録される。
これにより、システム管理者などは、プログラムごとに主要処理経路、およびその主要経路の動作条件であるプログラム別想定動作条件を容易に把握することができる。
【０１４２】
図２３は、連結想定動作条件テーブルのデータ構造例を示す図である。連結想定動作条件テーブル１５２には、連結想定動作条件が連結主要処理経路ごとにテーブル化されて格納されている。連結想定動作条件テーブル１５２には、連結主要処理経路のナンバ（Ｎｏ）を示す項目１５２ａ、その連結主要処理経路を構成する処理経路を示す項目１５２ｂ、およびその連結主要処理経路の実行条件を示す項目１５２ｃが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられ、連結想定動作条件を構成する。
【０１４３】
項目１５１ａには、主要処理経路連結部１８５によって連結された連結主要処理経路のナンバが設定される。項目１５２ｂには、その連結主要処理経路を構成する処理経路のナンバが設定される。項目１５２ｃには、その連結主要処理経路の実行条件が設定される。
【０１４４】
連結想定動作条件テーブル１５２に格納される連結想定動作条件は、想定動作条件抽出部１８６によって登録される。
これにより、システム管理者などは、一連の主要な処理を正常に実行するために満たされる必要がある想定動作条件を把握することができる。
【０１４５】
次に、想定動作条件出力部１８７によって表示される想定動作条件図について説明する。
図２４は、想定動作条件図の表示例を示す図である。想定動作条件図５３は、想定動作条件出力部１８７からの出力によってモニタ５０に表示される画面である。想定動作条件図５３には、すべての連結主要処理経路を表す１つの図が表示される。
【０１４６】
想定動作条件図５３には、実績経路に登場するすべてのテーブルを示すノード３２１ａ〜３２１ｆが記述される。そして、これらのノード３２１ａ〜３２１ｆが、実績経路と対応付けられた処理経路を示す矢印線で結ばれている。また、想定動作条件図５３には、主要処理経路１４２ａ〜１４２ｄが示されている。この主要処理経路１４２ａ〜１４２ｄは、プログラム名で表示されるとともに、該当する処理経路を示す矢印線が太く強調され、連結主要処理経路を形成して図示される。また、想定動作条件図５３には、想定動作条件として、その連結された主要処理経路の実行条件が、プログラム名によって主要処理経路と対応付け可能に図示される。
【０１４７】
これにより、システム管理者は、主要処理経路、連結主要処理経路、および連結想定動作条件を、容易に認識することができる。
このような想定動作条件分析装置１００を用いることで、コンピュータシステムの実行結果であるデータのアクセス結果からコンピュータシステムの実際の動作を分析し、プログラム解析により抽出されたプログラム処理経路と、コンピュータシステムのデータのアクセス結果から復元された実績経路とを照合することによって、コンピュータシステムの業務機能を実現するプログラム上の処理経路のうち、実際に高頻度で利用される処理経路である主要処理経路を判別し、さらに主要処理経路の実行条件を抽出して、コンピュータシステムのプログラムの想定動作条件を抽出することができる。
【０１４８】
これにより、業務の遂行上、重要な想定動作条件を自動的に抽出することができ、コンピュータシステムのプログラムの想定動作条件を用いることで、コンピュータシステムの運用作業時や保守作業時に、抽出された想定動作条件を満たすように作業することで、コンピュータシステムの作業による主要な業務についての悪影響の発生を効率的に防止できる。
【０１４９】
（本実施の形態の変形例）
次に、本実施の形態の変形例について説明する。
本実施の形態の変形例では、前述した実施の形態と比較して、経路対応付処理の一部が異なる。よってここでは、前述した本実施の形態と異なる構成のみ説明し、本実施の形態と同一の構成には同じ符号を付して、その説明を省略する。
【０１５０】
本実施の形態の変形例では、経路対応付処理において、一の実績経路に複数の処理経路が対応する場合に、引継フィールドによって対応関係を自動では特定せず、複数対応する処理経路の情報を表示させ、対応関係を特定する入力を受け付ける。
【０１５１】
本実施の形態の変形例では、実績経路情報記憶部１２０は、実績経路情報の一覧を表す実績経路テーブル１２２を有している。
図２５は、本実施の形態の変形例の実績経路テーブルのデータ構造例を示す図である。実績経路テーブル１２２には、実績経路情報が実績経路ごとにテーブル化されて格納されている。変形例の実績経路テーブル１２２のフィールド構成は、本実施の形態の実績経路テーブル１２１（図７）と同一であるため、ここでは説明を省略する。
【０１５２】
実績経路テーブル１２２では、本実施の形態の実績経路テーブル１２２と同様に、引継フィールド名を示す項目１２２ｅが設けられている。しかし、実績経路Ｎｏ“１”の項目１２２ｅのように、引継フィールドで実績経路を区別せずに出現数も加算され、“ＮＯ  または  ＴＥＬＭ”のように引継フィールド名が併記される。
【０１５３】
項目１２１ｅには、実績経路で引き継がれた引継フィールドのフィールド名（図４）が設定される。
実績経路テーブル１２１に格納される実績経路情報は、実績経路抽出部１６２によって登録される。
【０１５４】
次に、本変形例の経路対応付処理について説明する。
図２６は、本実施の形態の変形例の経路対応付処理の手順を示すフローチャートの後部である。以下、図２６に示す処理をステップ番号に沿って説明する。なお、本変形例の経路対応付処理は、本実施の形態の経路対応付処理のフローチャートと前部および中部が同一であるため、本実施の形態の経路対応付処理のフローチャートを示す図と同一の図（図１４、および図１５）については、ここでは説明を省略する。
【０１５５】
［ステップＳ２０１］  経路対応付部１８３は、処理経路と対応付けられた実績経路を順に選択する。
［ステップＳ２０２］  経路対応付部１８３は、異なる処理経路に同一の入力テーブルと出力テーブルとの組があり、実績経路に複数の処理経路が対応付けられていれば、処理をステップＳ２０３に進める。一方、実績経路に一の処理経路のみが対応付けられていれば、処理をステップＳ２０４に進める。
【０１５６】
［ステップＳ２０３］  経路対応付部１８３は、前述したような一の実績経路に複数の処理経路が対応付けられている場合、このような実績経路、および処理経路を表示し、システムの管理者などによる、これらの実績経路および処理経路の対応関係を特定する入力を受け付ける。
【０１５７】
このとき、経路対応付部１８３は、モニタ５０に、「実績経路」と、「実績経路に対応する複数の処理経路」とを表示させる。また、例えば、図２５の実績経路Ｎｏ“１”の項目１２２ｅの“ＮＯ  または  ＴＥＬＭ”のように、実績経路で引き継がれる引継ぎフィールドの集計結果を表示するなど、経路対応付部１８３は、対応関係の特定の判断のための情報を表示させてもよい。
【０１５８】
［ステップＳ２０４］  経路対応付部１８３は、すべての対応付けられた実績経路が選択されていれば、処理をステップＳ２０５に進める。一方、対応付けられた実績経路のうち選択されていないものがあれば、処理をステップＳ２０２に進める。
【０１５９】
［ステップＳ２０５］  経路対応付部１８３は、以上の処理結果に基づいて対応付けられた処理経路と実績経路とを関連付ける。
このようにして、経路対応付部１８３は、処理経路の入力テーブルおよび出力テーブル、ならびに実績経路の起点テーブルおよび終点テーブルから、実績経路に対して一の処理経路を対応付けることができない場合には、その旨および該当する経路を表示し、対応関係を特定する入力を受け付ける。これにより、対応関係が複雑であって実績経路に対して複数の処理経路が存在する場合に、その旨を管理者などに提示し、管理者などによる対応関係を特定する入力を受け付けることで、同一または類似した処理を行うプログラム処理が複数存在する場合にも、柔軟に対応し、想定動作条件を抽出することができる。
【０１６０】
したがって、実績経路と処理経路の対応関係が複雑な場合であっても、コンピュータシステムのプログラムの想定動作条件を用いて、コンピュータシステムの運用作業時や保守作業時に、この想定動作条件を満たすように作業でき、コンピュータシステムの作業による主要な業務についての悪影響の発生を低減できる。
【０１６１】
以上、本発明の想定動作条件分析プログラム、想定動作条件分析装置および想定動作条件分析方法を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１６２】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、想定動作条件分析装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などが挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などが挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）などが挙げられる。
【０１６３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１６４】
想定動作条件分析プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１６５】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
（付記１）  コンピュータシステムで実行されるプログラムの想定動作条件を分析する想定動作条件分析プログラムにおいて、
コンピュータを、
前記コンピュータシステムで実行されるプログラムによって更新されたデータ集合のデータ集合名と更新時刻とを含む更新情報を記憶する更新情報記憶手段、
前記コンピュータシステムで実行されるプログラムの処理手順を定義したプログラム定義情報を記憶するプログラム定義情報記憶手段、
前記更新情報記憶手段が記憶する前記更新情報から、連続して更新される２つの前記データ集合の関係である実績経路を抽出し、各実績経路の始点および終点となる前記データ集合と当該実績経路の出現数とを示す実績経路情報を生成する実績経路抽出手段、
前記プログラム定義情報記憶手段が記憶する前記プログラム定義情報から、処理経路を抽出し、各処理経路で実行される前記データ集合に対する読込処理および書込処理と当該処理経路の実行条件とを示す処理経路情報を生成する処理経路抽出手段、
前記実績経路抽出手段が生成した前記実績経路情報と前記処理経路抽出手段が生成した前記処理経路情報とに基づいて、始点となる前記データ集合と読込処理の対象となる前記データ集合とが一致し、かつ、終点となる前記データ集合と書込処理の対象となる前記データ集合とが一致する、前記実績経路と前記処理経路とを対応付ける経路対応付手段、
前記処理経路のうち、前記経路対応付手段によって当該処理経路に対応付けられた前記実績経路の出現数が所定の閾値以上の前記処理経路を、主要処理経路と判定する主要処理経路判定手段、
前記主要処理経路判定手段によって前記主要処理経路と判定された前記処理経路の前記実行条件を抽出し、抽出した前記実行条件の集合を前記想定動作条件とし、前記想定動作条件を示す情報を出力する想定動作条件抽出手段、
として機能させることを特徴とする想定動作条件分析プログラム。
【０１６６】
（付記２）  前記想定動作条件抽出手段は、前記主要処理経路と判定された複数の前記処理経路を、対応する前記実績経路が連結可能である前記処理経路の集合に分類し、分類結果に応じて前記実行条件を区分して、前記想定動作条件を示す情報として出力することを特徴とする付記１記載の想定動作条件分析プログラム。
【０１６７】
（付記３）  前記コンピュータを、さらに、
前記データ集合に含まれるデータの内容を取得するデータ内容取得手段、
前記データ内容取得手段が取得した前記データ内容から、前記実績経路の前記始点および前記終点となる前記データ集合において引き継がれる前記データ項目を特定する引継項目特定手段、
として機能させ、
前記処理経路抽出手段は、読込処理と書込処理との間で引き継がれるデータの前記データ項目を特定し、特定した前記データ項目をさらに含めて前記処理経路情報を生成し、
前記経路対応付手段は、前記データ集合の一致に加えて、前記引継項目特定手段によって特定された前記データ項目と、前記処理経路抽出手段によって前記処理経路情報に含められた前記データ項目との一致を条件として、前記実績経路と前記処理経路とを対応付ける、
ことを特徴とする付記１記載の想定動作条件分析プログラム。
【０１６８】
（付記４）  前記想定動作条件出力手段は、前記実績経路全体を表示し、前記主要処理経路を強調表示した前記想定動作条件を示す図を表示させる想定動作条件表示情報を出力する想定動作条件出力手段、
として機能させることを特徴とする付記１記載の想定動作条件分析プログラム。
【０１６９】
（付記５）  コンピュータシステムで実行されるプログラムの想定動作条件を分析する想定動作条件分析装置において、
前記コンピュータシステムで実行されるプログラムによって更新されたデータ集合のデータ集合名と更新時刻とを含む更新情報を記憶する更新情報記憶手段と、
前記コンピュータシステムで実行されるプログラムの処理手順を定義したプログラム定義情報を記憶するプログラム定義情報記憶手段と、
前記更新情報記憶手段が記憶する前記更新情報から、連続して更新される２つの前記データ集合の関係である実績経路を抽出し、各実績経路の始点および終点となる前記データ集合と当該実績経路の出現数とを示す実績経路情報を生成する実績経路抽出手段と、
前記プログラム定義情報記憶手段が記憶する前記プログラム定義情報から、処理経路を抽出し、各処理経路で実行される前記データ集合に対する読込処理および書込処理と当該処理経路の実行条件とを示す処理経路情報を生成する処理経路抽出手段と、
前記実績経路抽出手段が生成した前記実績経路情報と前記処理経路抽出手段が生成した前記処理経路情報とに基づいて、始点となる前記データ集合と読込処理の対象となる前記データ集合とが一致し、かつ、終点となる前記データ集合と書込処理の対象となる前記データ集合とが一致する、前記実績経路と前記処理経路とを対応付ける経路対応付手段と、
前記処理経路のうち、前記経路対応付手段によって当該処理経路に対応付けられた前記実績経路の出現数が所定の閾値以上の前記処理経路を、主要処理経路と判定する主要処理経路判定手段と、
前記主要処理経路判定手段によって前記主要処理経路と判定された前記処理経路の前記実行条件を抽出し、抽出した前記実行条件の集合を前記想定動作条件とし、前記想定動作条件を示す情報を出力する想定動作条件抽出手段と、
を有することを特徴とする想定動作条件分析装置。
【０１７０】
（付記６）  コンピュータシステムのプログラムの想定動作条件を分析するコンピュータによる想定動作条件分析方法において、
実績経路抽出手段が、更新情報記憶手段が記憶する前記コンピュータシステムで実行されるプログラムによって更新されたデータ集合のデータ集合名と更新時刻とを含む更新情報更新情報から、連続して更新される２つの前記データ集合の関係である実績経路を抽出し、各実績経路の始点および終点となる前記データ集合と当該実績経路の出現数とを示す実績経路情報を生成すると共に、処理経路抽出手段が、プログラム定義情報記憶手段が記憶する前記コンピュータシステムで実行されるプログラムの処理手順を定義したプログラム定義情報プログラム定義情報から、処理経路を抽出し、各処理経路で実行される前記データ集合に対する読込処理および書込処理と当該処理経路の実行条件とを示す処理経路情報を生成し、
経路対応付手段が、前記実績経路抽出手段が生成した前記実績経路情報と前記処理経路抽出手段が生成した前記処理経路情報とに基づいて、始点となる前記データ集合と読込処理の対象となる前記データ集合とが一致し、かつ、終点となる前記データ集合と書込処理の対象となる前記データ集合とが一致する、前記実績経路と前記処理経路とを対応付け、
主要処理経路判定手段が、前記処理経路のうち、前記経路対応付手段によって当該処理経路に対応付けられた前記実績経路の出現数が所定の閾値以上の前記処理経路を、主要処理経路と判定し、
想定動作条件抽出手段が、前記主要処理経路判定手段によって前記主要処理経路と判定された前記処理経路の前記実行条件を抽出し、抽出した前記実行条件の集合を前記想定動作条件とし、前記想定動作条件を示す情報を出力する、
ことを特徴とする想定動作条件分析方法。
【図面の簡単な説明】
【０１７１】
【図１】本実施の形態の概要を示す図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】想定動作条件分析装置のハードウェア構成を示す図である。
【図４】テーブルが具備するフィールドを示す図である。
【図５】想定動作条件分析装置の機能を示すブロック図である。
【図６】更新情報テーブルのデータ構造例を示す図である。
【図７】実績経路テーブルのデータ構造例を示す図である。
【図８】実績経路図の表示例を示す図である。
【図９】プログラムの構造例を示す図である。
【図１０】処理経路テーブルのデータ構造例を示す図である。
【図１１】実績経路抽出処理の手順を示すフローチャートである。
【図１２】処理経路抽出処理の手順を示すフローチャート（前半）である。
【図１３】処理経路抽出処理の手順を示すフローチャート（後半）である。
【図１４】経路対応付処理の手順を示すフローチャート（前部）である。
【図１５】経路対応付処理の手順を示すフローチャート（中部）である。
【図１６】経路対応付処理の手順を示すフローチャート（後部）である。
【図１７】主要処理経路判定処理の手順を示すフローチャートである。
【図１８】主要処理経路連結処理の手順を示すフローチャートである。
【図１９】想定動作条件抽出処理の手順を示すフローチャートである。
【図２０】主要処理経路判定情報のデータ構造例（前半）を示す図である。
【図２１】主要処理経路判定情報のデータ構造例（後半）を示す図である。
【図２２】プログラム別想定動作条件テーブルのデータ構造例を示す図である。
【図２３】連結想定動作条件テーブルのデータ構造例を示す図である。
【図２４】想定動作条件図の表示例を示す図である。
【図２５】本実施の形態の変形例の実績経路テーブルのデータ構造例を示す図である。
【図２６】本実施の形態の変形例の経路対応付処理の手順を示すフローチャート（後部）である。
【符号の説明】
【０１７２】
１０  コンピュータ
１１  更新情報記憶手段
１２  実績経路抽出手段
１３  プログラム定義情報記憶手段
１４  処理経路抽出手段
１５  経路対応付手段
１６  主要処理経路判定手段
１７  想定動作条件抽出手段
１９  想定動作条件
２１，２２，２３  データベース管理システム
２１ａ，２２ａ，２３ａ  更新情報
２５，２６，２７  プログラム
２５ａ，２６ａ，２７ａ  プログラム定義情報
【図１】
2008234260.tif 000003
【図２】
2008234260.tif 000004
【図３】
2008234260.tif 000005
【図４】
2008234260.tif 000006
【図５】
2008234260.tif 000007
【図６】
2008234260.tif 000008
【図７】
2008234260.tif 000009
【図８】
2008234260.tif 000010
【図９】
2008234260.tif 000011
【図１０】
2008234260.tif 000012
【図１１】
2008234260.tif 000013
【図１２】
2008234260.tif 000014
【図１３】
2008234260.tif 000015
【図１４】
2008234260.tif 000016
【図１５】
2008234260.tif 000017
【図１６】
2008234260.tif 000018
【図１７】
2008234260.tif 000019
【図１８】
2008234260.tif 000020
【図１９】
2008234260.tif 000021
【図２０】
2008234260.tif 000022
【図２１】
2008234260.tif 000023
【図２２】
2008234260.tif 000024
【図２３】
2008234260.tif 000025
【図２４】
2008234260.tif 000026
【図２５】
2008234260.tif 000027
【図２６】
2008234260.tif 000028