(57)【要約】  業務システムの運用状況が適切に反映され、かつ、業務担当者の作業の流れが理解容易な業務フロー図を生成する。  経路抽出手段（１ｃ）は、業務プログラムの処理手順を示すプログラム情報から処理経路を抽出し、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報を生成する。経路対応付手段（１ｄ）は、連続して更新された２つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路を対応付ける。フロー図生成手段（１ｅ）は、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報を付加した業務フロー図（４）を生成する。
2008146341.tif 000002
【特許請求の範囲】
【請求項１】
業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成プログラムにおいて、
コンピュータを、
前記業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された２つの前記データ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段、
前記業務処理を前記業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段、
前記プログラム情報記憶手段に記憶された前記プログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段、
前記運用情報記憶手段に記憶された前記運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付ける経路対応付手段、
前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段、
として機能させることを特徴とする業務フロー図生成プログラム。
【請求項２】
前記コンピュータを、更に、前記プログラム情報から、１以上の前記処理経路を連続的に辿ることで到達可能な前記操作画面の集合である画面グループを抽出するグループ抽出手段として機能させ、
前記フロー図生成手段は、前記グループ抽出手段の抽出結果に基づいて、同一の前記画面グループに属する前記操作画面の情報が同一レーンに配置されるように前記業務フロー図をレーン分けする、
ことを特徴とする請求の範囲第１項記載の業務フロー図生成プログラム。
【請求項３】
前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路が属する前記業務プログラムを示す情報を更に付加することを特徴とする請求の範囲第１項記載の業務フロー図生成プログラム。
【請求項４】
前記経路抽出手段は、各処理経路で行われる分岐判断の分岐条件を示す情報を前記経路情報に含めて生成し、
前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路に含まれる前記分岐条件を示す情報を更に付加する、
ことを特徴とする請求の範囲第１項記載の業務フロー図生成プログラム。
【請求項５】
前記運用情報には、各遷移関係について、遷移元の前記データ集合のデータ項目のうち遷移先の前記データ集合の何れかのデータ項目に値が引き継がれている運用引継項目を示す情報が含まれており、
前記経路抽出手段は、各処理経路について、読込処理で値を読み込むデータ項目のうち更新処理で当該値が使用される経路引継項目を示す情報を前記経路情報に含めて生成し、
前記経路対応付手段は、前記データ集合間の一致に加えて、前記運用引継項目と前記経路引継項目との一致を条件として対応付を行う、
ことを特徴とする請求の範囲第１項記載の業務フロー図生成プログラム。
【請求項６】
業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成装置において、
前記業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された２つの前記データ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段と、
前記業務処理を前記業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段と、
前記プログラム情報記憶手段に記憶された前記プログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段と、
前記運用情報記憶手段に記憶された前記運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付ける経路対応付手段と、
前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段と、
を有することを特徴とする業務フロー図生成装置。
【請求項７】
前記プログラム情報から、１以上の前記処理経路を連続的に辿ることで到達可能な前記操作画面の集合である画面グループを抽出するグループ抽出手段を更に有し、
前記フロー図生成手段は、前記グループ抽出手段の抽出結果に基づいて、同一の前記画面グループに属する前記操作画面の情報が同一レーンに配置されるように前記業務フロー図をレーン分けする、
ことを特徴とする請求の範囲第６項記載の業務フロー図生成装置。
【請求項８】
前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路が属する前記業務プログラムを示す情報を更に付加することを特徴とする請求の範囲第６項記載の業務フロー図生成装置。
【請求項９】
前記経路抽出手段は、各処理経路で行われる分岐判断の分岐条件を示す情報を前記経路情報に含めて生成し、
前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路に含まれる前記分岐条件を示す情報を更に付加する、
ことを特徴とする請求の範囲第６項記載の業務フロー図生成装置。
【請求項１０】
前記運用情報には、各遷移関係について、遷移元の前記データ集合のデータ項目のうち遷移先の前記データ集合の何れかのデータ項目に値が引き継がれている運用引継項目を示す情報が含まれており、
前記経路抽出手段は、各処理経路について、読込処理で値を読み込むデータ項目のうち更新処理で当該値が使用される経路引継項目を示す情報を前記経路情報に含めて生成し、
前記経路対応付手段は、前記データ集合間の一致に加えて、前記運用引継項目と前記経路引継項目との一致を条件として対応付を行う、
ことを特徴とする請求の範囲第６項記載の業務フロー図生成装置。
【請求項１１】
業務システムの運用状況に応じた業務フロー図を生成するコンピュータによる業務フロー図生成方法において、
経路抽出手段が、複数のデータ集合に対する更新処理を伴う業務処理を前記業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報記憶手段に記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成し、
経路対応付手段が、前記業務システムの運用時に前記業務処理によって連続して更新された２つの前記データ集合間の関係である遷移関係を示す運用情報記憶手段に記憶された運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付け、
フロー図生成手段が、前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成する、
ことを特徴とする業務フロー図生成方法。
【請求項１２】
前記経路情報の生成と併せて、グループ抽出手段が、前記プログラム情報から、１以上の前記処理経路を連続的に辿ることで到達可能な前記操作画面の集合である画面グループを抽出し、
前記業務フロー図の生成の際、前記フロー図生成手段が、前記グループ抽出手段の抽出結果に基づいて、同一の前記画面グループに属する前記操作画面の情報が同一レーンに配置されるように前記業務フロー図をレーン分けする、
ことを特徴とする請求の範囲第１１項記載の業務フロー図生成方法。
【請求項１３】
前記フロー図の生成の際、前記フロー図生成手段が、前記リンクに対し当該リンクに対応する前記処理経路が属する前記業務プログラムを示す情報を更に付加することを特徴とする請求の範囲第１１項記載の業務フロー図生成方法。
【請求項１４】
前記経路情報の生成の際、前記経路抽出手段が、各処理経路で行われる分岐判断の分岐条件を示す情報を前記経路情報に含めて生成し、
前記業務フロー図の生成の際、前記フロー図生成手段が、前記リンクに対し当該リンクに対応する前記処理経路に含まれる前記分岐条件を示す情報を更に付加する、
ことを特徴とする請求の範囲第１１項記載の業務フロー図生成方法。
【請求項１５】
前記運用情報には、各遷移関係について、遷移元の前記データ集合のデータ項目のうち遷移先の前記データ集合の何れかのデータ項目に値が引き継がれている運用引継項目を示す情報が含まれており、
前記経路情報の生成の際、前記経路抽出手段が、各処理経路について、読込処理で値を読み込むデータ項目のうち更新処理で当該値が使用される経路引継項目を示す情報を前記経路情報に含めて生成し、
前記処理経路の対応付の際、前記経路対応付手段が、前記データ集合間の一致に加えて、前記運用引継項目と前記経路引継項目との一致を条件として対応付を行う、
ことを特徴とする請求の範囲第１１項記載の業務フロー図生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法に関し、特に業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法に関する。
【背景技術】
【０００２】
現在、さまざまな業務分野でコンピュータを利用した業務システムが構築されている。例えば、顧客へ商品販売を行う企業では、顧客情報の管理、商品の在庫管理、受注管理などのデータ処理を行う業務システムが利用されている。ここで、業務システムにおける業務の全体的な流れ（以下、業務フローという）は非常に複雑であるため、業務フローの把握を容易にするために業務フロー図が作成される。業務フロー図は、業務フローを人が理解容易な図形式で記述したものである。業務フロー図を用いることで、経営者やシステム管理者は業務フローを直感的に理解することができる。業務フロー図は、業務システムの構築時に設計情報の１つとして作成されることも多い。【０００３】
ところで、業務フロー図は１度だけ作成すればよいものではなく、業務内容の変化などに応じて適宜作成し直す必要がある。一方、業務フロー図の作成には多大な労力を必要とする。これは、業務フロー図は、一般に、システム管理者が経営者や業務担当者にヒアリングやアンケートを行い、さまざまな蓄積文書を参照することで作成されるためである。従って、短期間で業務フロー図を作成することが困難であるという問題がある。【０００４】
そこで、近年、既存の業務システムを分析することで業務フロー図を自動生成する業務フロー可視化技術が注目されている。具体的には、以下の２つの実現方法が知られている。第１の方法は、業務システムで実行されている業務プログラムを解析してデータ処理の流れを抽出し、これに基づいて業務フロー図を生成する方法である（例えば、特許文献１参照）。第２の方法は、業務システムで管理されているデータの更新履歴を分析してデータ処理の流れを推測し、これに基づいて業務フロー図を生成する方法である（例えば、非特許文献１参照）。このような業務フロー可視化技術を用いることで、業務フロー図の作成に要する時間を大幅に短縮することができる。
【特許文献１】特開平１１−１２８０２１号公報
【非特許文献１】W.M.P van der Aalst、外５名、“Workflow Mining: A Survey of Issues and Approaches”、［online］、［２００７年４月２５日検索］、インターネット〈URL: http://is.tm.tue.nl/research/processmining/papers/wf-min-surv.pdf〉
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１，２に記載の技術には以下の問題がある。
特許文献１に記載の業務プログラムに基づく可視化方法では、業務システムの運用状況に応じた業務フロー図が生成されないという問題がある。これは、業務プログラムに含まれる全ての処理経路が実際の業務で利用されているわけではないためである。従って、実行頻度が極めて低いデータ処理も業務フロー図で表現されてしまい、業務フロー図の理解容易性が低くなる。【０００６】
また、特許文献２に記載のデータの更新履歴に基づく可視化方法では、業務フロー図中の各要素と業務担当者の作業との対応関係の把握が容易でないという問題がある。これは、多くのデータ処理は業務担当者から見えない裏側で自動的に行われるため、両者の対応関係を理解するには業務プログラムの内部的な振る舞いを知る必要があるためである。【０００７】
本発明はこのような点に鑑みてなされたものであり、業務システムの運用状況が適切に反映され、かつ、業務担当者の作業の流れが理解容易な業務フロー図を生成できる業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、図１に示すような業務フロー図生成プログラムが提供される。本発明に係る業務フロー図生成プログラムは、業務システムの運用状況に応じた業務フロー図を生成するものである。この業務フロー図生成プログラムを実行するコンピュータ１は、運用情報記憶手段１ａ、プログラム情報記憶手段１ｂ、経路抽出手段１ｃ、経路対応付手段１ｄおよびフロー図生成手段１ｅを有する。【０００９】
運用情報記憶手段１ａは、業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された２つのデータ集合間の関係である遷移関係を示す運用情報を記憶する。プログラム情報記憶手段１ｂは、業務処理を業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報を記憶する。経路抽出手段１ｃは、プログラム情報記憶手段１ｂに記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われるデータ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する。経路対応付手段１ｄは、運用情報記憶手段１ａに記憶された運用情報で示される各遷移関係に対し、経路抽出手段１ｃが生成した経路情報で示される処理経路のうち、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路を対応付ける。フロー図生成手段１ｅは、経路対応付手段１ｄの対応付結果に基づいて、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報を付加した業務フロー図４を生成する。【００１０】
このような業務フロー図生成プログラムを実行するコンピュータ１によれば、経路抽出手段１ｃにより、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、経路対応付手段１ｄにより、運用時に連続して更新された２つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、フロー図生成手段１ｅにより、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図４が生成される。【００１１】
また、上記課題を解決するために、業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成装置において、業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された２つのデータ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段と、業務処理を業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段と、プログラム情報記憶手段に記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われるデータ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段と、運用情報記憶手段に記憶された運用情報で示される各遷移関係に対し、経路抽出手段が生成した経路情報で示される処理経路のうち、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路を対応付ける経路対応付手段と、経路対応付手段の対応付結果に基づいて、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段と、を有することを特徴とする業務フロー図生成装置が提供される。【００１２】
このような業務フロー図生成装置によれば、経路抽出手段により、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、経路対応付手段により、連続して更新された２つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、フロー図生成手段により、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図が生成される。【００１３】
また、上記課題を解決するために、業務システムの運用状況に応じた業務フロー図を生成するコンピュータによる業務フロー図生成方法において、経路抽出手段が、複数のデータ集合に対する更新処理を伴う業務処理を業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報記憶手段に記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われるデータ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成し、経路対応付手段が、業務システムの運用時に業務処理によって連続して更新された２つのデータ集合間の関係である遷移関係を示す運用情報記憶手段に記憶された運用情報で示される各遷移関係に対し、経路抽出手段が生成した経路情報で示される処理経路のうち、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路を対応付け、フロー図生成手段が、経路対応付手段の対応付結果に基づいて、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報を付加した業務フロー図を生成する、ことを特徴とする業務フロー図生成方法が提供される。【００１４】
このような業務フロー図生成方法によれば、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、連続して更新された２つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図が生成される。
【発明の効果】
【００１５】
本発明では、業務システムが管理するデータ集合の更新順序に基づいてノードおよびリンクを構成すると共に、プログラム情報から抽出した操作画面に関する情報を対応するリンクに付加することとした。これにより、現実の業務フローが適切に反映され、かつ、業務フロー中の各ステップで用いられる操作画面が示された業務フロー図を迅速に得ることができる。従って、業務フロー全体における各作業の位置付けが理解容易となる。【００１６】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態の概要を示す図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】業務分析装置のハードウェア構成を示す図である。
【図４】業務分析装置の機能を示すブロック図である。
【図５】スキーマテーブルのデータ構造例を示す図である。
【図６】データベースサーバが管理するデータテーブルの例を示す図である。
【図７】プログラム情報の例を示す第１の図である。
【図８】プログラム情報の例を示す第２の図である。
【図９】業務フロー図生成処理の手順を示すフローチャートである。
【図１０】運用情報抽出処理の手順を示すフローチャートである。
【図１１】運用情報テーブルのデータ構造例を示す図である。
【図１２】運用情報ファイルのデータ構造例を示す図である。
【図１３】データテーブル間の遷移関係を示す模式図である。
【図１４】経路抽出処理の手順を示すフローチャートである。
【図１５】経路情報テーブルのデータ構造例を示す図である。
【図１６】グループ抽出処理の手順を示すフローチャートである。
【図１７】画面グループテーブルのデータ構造例を示す図である。
【図１８】第１の経路対応付処理の手順を示すフローチャートである。
【図１９】経路対応付処理における操作画面例を示す図である。
【図２０】第２の経路対応付処理の手順を示すフローチャートである。
【図２１】第３の経路対応付処理の手順を示すフローチャートである。
【図２２】経路対応付処理後の表示画面例を示す図である。
【図２３】表示位置決定処理の手順を示すフローチャートである。
【図２４】フロー情報ファイルのデータ構造例を示す図である。
【図２５】業務フロー図の第１の表示例を示す図である。
【図２６】業務フロー図の第２の表示例を示す図である。
【図２７】業務フロー図の第３の表示例を示す図である。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概要を示す図である。図１に示すコンピュータ１は、データベースサーバ２が管理するデータ集合の更新状況を示す情報と、業務サーバ３で実行される業務プログラムを示す情報とに基づいて、業務フロー図４を生成するものである。コンピュータ１は、運用情報記憶手段１ａ、プログラム情報記憶手段１ｂ、経路抽出手段１ｃ、経路対応付手段１ｄおよびフロー図生成手段１ｅを有する。これらの処理機能は、例えば、コンピュータ１に所定の業務フロー図生成プログラムを実行させることで実現できる。【００１９】
運用情報記憶手段１ａには、データ集合間の遷移関係を示す運用情報が格納されている。遷移関係は、データベースサーバ２の運用時に、１つの業務処理によって連続して更新された２つのデータ集合の関係である。すなわち、運用情報は、運用時のデータ集合間の更新順序を示している。【００２０】
ここで、データ集合は、１つ以上のデータ項目が定義されたデータの集合であり、データベースサーバ２によって管理されている。データ集合は、例えば、関係データベースにおけるデータテーブルやＸＭＬ（eXtensive Markup Language）データベースにおける木構造などである。また、業務処理は、１つの事案に対して業務上行われる一連のアクションである。業務処理には、表示装置に表示される操作画面に対して行われる操作入力の作業やコンピュータによるデータ処理が含まれる。１つの業務処理では、データ集合に対する更新処理が複数回行われる。【００２１】
運用情報は、データベースサーバ２が管理するデータ集合を継続的に監視することで得ることができる。また、データベースサーバ２が出力する更新ログを分析することでも得ることができる。例えば、ある業務処理によってデータ集合Ａ、データ集合Ｂ、データ集合Ｃの順に更新がなされ、他の業務処理によってデータ集合Ａ、データ集合Ｃの順に更新がなされたとする。この場合、データ集合Ａからデータ集合Ｂ、データ集合Ｂからデータ集合Ｃ、データ集合Ａからデータ集合Ｃの３つの遷移関係を示す運用情報が生成される。【００２２】
なお、業務処理の開始点および終了点、すなわち、最初に更新されたデータ集合と最後に更新されたデータ集合とを明示する情報を、運用情報に含めるようにしてもよい。上記の例では、何れの業務処理でも、データ集合Ａが開始点でありデータ集合Ｃが終了点である。【００２３】
プログラム情報記憶手段１ｂには、業務プログラムの処理手順を示すプログラム情報が格納されている。業務プログラムは、業務サーバ３で実行され、データベースサーバ２が管理するデータ集合に対して読込処理および更新処理を行う。また、実行中の業務プログラムは、必要に応じて所定の表示装置に操作画面を表示する。１つの業務処理では１つ以上の業務プログラムが利用される。通常は、１つの業務処理で複数の業務プログラムが利用される。【００２４】
なお、プログラム情報は、業務プログラムの処理手順を記述した情報であればよく、その記述形式は問わない。例えば、オブジェクトコードやソースコードなどの実装コードでもよいし、フローチャートなどの設計情報でもよい。【００２５】
経路抽出手段１ｃは、プログラム情報記憶手段１ｂからプログラム情報を取得し、処理経路を抽出する。処理経路は、業務プログラムの実行を開始してから終了するまでに辿る１つの経路である。条件分岐を含む業務プログラムでは、異なる分岐を辿る経路は異なる処理経路と判断される。すなわち、１つの業務プログラムから複数の処理経路が抽出される場合がある。【００２６】
ここで、経路抽出手段１ｃは、抽出した処理経路で行われるデータ集合に対する読込処理および更新処理を特定する。また、抽出した処理経路で表示される操作画面を特定する。そして、経路抽出手段１ｃは、各処理経路についての読込処理、更新処理、操作画面を示す経路情報を生成する。【００２７】
例えば、経路抽出手段１ｃは、処理経路＃１でデータ集合Ａの読込処理およびデータ集合Ｂの更新処理が行われると共に操作画面ｘが表示され、処理経路＃２でデータＢの読込処理およびデータＣの更新処理が行われると共に操作画面ｙが表示され、処理経路＃３でデータ集合Ａの読込処理およびデータ集合Ｃの更新処理が行われると共に操作画面ｚが表示されるという情報が生成される。【００２８】
経路対応付手段１ｄは、運用情報記憶手段１ａから運用情報を取得すると共に、経路抽出手段１ｃから経路情報を取得する。そして、経路対応付手段１ｄは、運用情報と経路情報とに基づいて、遷移関係と処理経路との対応付を行う。具体的には、経路対応付手段１ｄは、遷移関係での遷移元のデータ集合と処理経路での読込対象のデータ集合とが一致し、かつ、遷移関係での遷移先のデータ集合と処理経路での更新対象のデータ集合とが一致するような、遷移関係と処理経路とを対応付ける。【００２９】
上記の例の場合、データ集合Ａからデータ集合Ｂへの遷移関係に対して処理経路＃１が対応付けられ、データ集合Ｂからデータ集合Ｃへの遷移関係に対して処理経路＃２が対応付けられ、データ集合Ａからデータ集合Ｃへの遷移関係に対して処理経路＃３が対応付けられる。【００３０】
フロー図生成手段１ｅは、経路対応付手段１ｄから遷移関係と処理経路との対応付の結果を取得し、これに基づいて業務フロー図４を生成する。具体的には、フロー図生成手段１ｅは、まずデータ集合を示すノードと遷移関係を示すリンクとで構成される有向グラフを生成する。ノードのラベルはデータ集合の名前とする。リンクは遷移元のデータ集合に対応するノードから遷移先のデータ集合に対応するノードへの矢印線として表現される。【００３１】
次に、フロー図生成手段１ｅは、各リンクに対応付けられた処理経路で表示される操作画面がある場合には、操作画面を示す情報をそのリンクに対して付加する。例えば、操作画面の名前を対応するリンクに付加する。そして、フロー図生成手段１ｅは、このようにして生成した業務フロー図４を出力する。なお、生成された業務フロー図４を、コンピュータ１の利用者が更に編集できるようにしてもよい。【００３２】
このようなコンピュータ１によれば、経路抽出手段１ｃにより、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、経路対応付手段１ｄにより、運用時に連続して更新された２つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、フロー図生成手段１ｅにより、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図４が生成される。【００３３】
これにより、現実の業務フローが適切に反映され、かつ、業務フロー中の各ステップで表示される操作画面が示された業務フロー図を迅速に得ることができる。従って、業務フロー全体における各作業の位置付けが理解容易となる。【００３４】
以下、本実施の形態を図面を参照して詳細に説明する。
図２は、本実施の形態のシステム構成を示す図である。図２に示す業務分析システムは、データベース管理システム（ＤＢＭＳ：DataBase Management System）が管理するデータテーブルを分析して、業務フロー図を自動生成するものである。本実施の形態に係る業務分析システムは、業務分析装置１００、データベースサーバ２００，２００ａ、業務サーバ３００，３００ａおよびネットワーク４０で構成される。業務分析装置１００、データベースサーバ２００，２００ａおよび業務サーバ３００，３００ａは、ネットワーク４０に接続されており、相互に通信が可能である。【００３５】
業務分析装置１００は、利用者の操作入力に応答して業務フローの分析を行い、分析結果として得られる業務フロー図を表示するコンピュータである。業務分析装置１００は、ネットワーク４０を介して、データベースサーバ２００，２００ａが管理するデータテーブルを取得する。そして、業務分析装置１００は、取得したデータテーブルを分析して、現在の業務フローを推定する。【００３６】
データベースサーバ２００，２００ａは、ＤＢＭＳを実現するプログラムを実行するコンピュータである。ＤＢＭＳは、業務サーバ３００，３００ａで実行される業務プログラムが利用する業務データを管理する。ＤＢＭＳは、テーブル形式で業務データを管理しており、業務プログラムからの要求に応じて業務データの検索処理および更新処理を行う。【００３７】
業務サーバ３００，３００ａは、利用者の操作入力によって指定された業務プログラムを実行するコンピュータである。業務サーバ３００，３００ａは、それぞれ複数の業務プログラムを実行している。業務サーバ３００，３００ａで実行される業務プログラムは、必要に応じて、ネットワーク４０を介してデータベースサーバ２００，２００ａに接続し、データテーブルに格納された業務データを利用する。その際、業務プログラムは、データ操作の内容を示すＳＱＬ（Structured Query Language）文を、ＤＢＭＳに対して発行する。【００３８】
なお、本実施の形態では、業務フローの分析を行う装置として業務分析装置１００を設けたが、業務分析装置１００の機能をデータベースサーバ２００，２００ａで実現することも可能である。また、業務分析装置１００の機能を業務サーバ３００，３００ａで実現することも可能である。【００３９】
次に、業務分析装置１００、データベースサーバ２００，２００ａおよび業務サーバ３００，３００ａのハードウェア構成について説明する。
図３は、業務分析装置のハードウェア構成を示す図である。業務分析装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６が接続されている。【００４０】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データの少なくとも一部が一時的に格納される。ＨＤＤ１０３には、ＯＳプログラムやアプリケーションプログラムが格納される。また、ＨＤＤ１０３には、ＣＰＵ１０１による処理に必要な各種データが格納される。【００４１】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク４０に接続されている。【００４２】
データベースサーバ２００，２００ａおよび業務サーバ３００，３００ａも、業務分析装置１００と同様のハードウェア構成によって実現できる。以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。【００４３】
次に、業務分析装置１００のモジュール構成について説明する。
図４は、業務分析装置の機能を示すブロック図である。業務分析装置１００は、運用情報抽出部１１０、運用情報記憶部１２０、プログラム情報記憶部１３０、経路抽出部１４０、グループ抽出部１４５、経路情報記憶部１５０、経路対応付部１６０、フロー図生成部１６５、フロー情報記憶部１７０およびフロー図表示部１８０を有する。【００４４】
運用情報抽出部１１０は、ネットワーク４０を介して、データベースサーバ２００，２００ａからデータテーブルを取得する。そして、運用情報抽出部１１０は、取得したデータテーブルを分析して運用情報を生成する。ここで、運用情報は、データテーブル間の更新順序を示す遷移関係を記述したものである。運用情報抽出部１１０は、データテーブル内のレコードに含まれるタイムスタンプを手掛かりに遷移関係を特定する。【００４５】
運用情報記憶部１２０には、データベースサーバ２００，２００ａで管理されているデータテーブルのスキーマを定義したスキーマ情報が格納されている。スキーマ情報は、運用情報抽出部１１０および経路対応付部１６０によって参照される。また、運用情報記憶部１２０には、運用情報抽出部１１０によって生成された運用情報が格納される。【００４６】
プログラム情報記憶部１３０には、業務サーバ３００，３００ａで実行される業務プログラムそれぞれに対応するプログラム情報が予め格納されている。プログラム情報は、業務プログラムの処理手順を記述したものである。プログラム情報には、少なくとも、データテーブルの読込処理および更新処理、操作画面の表示、分岐制御、関数呼び出しを示す情報が含まれている。【００４７】
経路抽出部１４０は、プログラム情報記憶部１３０からプログラム情報を取得して分析し、経路情報を生成する。経路情報は、業務プログラムに含まれる各処理経路について、その処理経路で行われるデータテーブルの読込処理および更新処理、操作画面の表示、分岐制御に関する情報を記述したものである。【００４８】
なお、処理経路は、業務プログラムの実行を開始してから終了するまでに辿る１つの経路であり、異なる分岐を辿るものは異なる処理経路と判断される。また、関数呼び出しが行われる場合は、呼び出し先の関数内の経路も連続して辿ることになる。【００４９】
グループ抽出部１４５は、プログラム情報記憶部１３０からプログラム情報を取得して分析し、画面グループ情報を生成する。画面グループ情報は、１つ以上の処理経路を連続的に辿ることで到達可能な操作画面の集合である画面グループを記述したものである。すなわち、ある操作画面から連続的な操作によって到達可能な全ての操作画面は、同一の画面グループを構成する。異なる処理経路に属する２つの操作画面が同一の画面グループに属することもあるし、異なる業務プログラムに属する２つの操作画面が同一の画面グループに属することもある。【００５０】
経路情報記憶部１５０には、経路抽出部１４０によって生成された経路情報が格納される。また、経路情報記憶部１５０には、グループ抽出部１４５によって生成された画面グループ情報が格納される。【００５１】
経路対応付部１６０は、運用情報記憶部１２０から運用情報を取得すると共に、経路情報記憶部１５０から経路情報を取得する。そして、経路対応付部１６０は、運用情報に記述された遷移関係と経路情報に記述された処理経路とをそれぞれ対応付ける。その際、経路対応付部１６０は、必要に応じて業務分析装置１００の利用者に操作入力を受け付ける。その後、経路対応付部１６０は、対応付の結果をフロー図生成部１６５に対して出力する。【００５２】
フロー図生成部１６５は、経路対応付部１６０が出力した対応付結果に基づいて、業務フロー図を構成するノードおよびリンクを特定する。また、フロー図生成部１６５は、経路情報記憶部１５０に格納された画面グループ情報に基づいて、業務フロー図のレーン分けを行い、各ノードの配置を決定する。その際、フロー図生成部１６５は、必要に応じて業務分析装置１００の利用者の操作入力を受け付ける。そして、フロー図生成部１６５は、このようにして得られた業務フロー図を表現したフロー情報を生成する。【００５３】
フロー情報記憶部１７０には、フロー図生成部１６５が生成したフロー情報が格納される。
フロー図表示部１８０は、フロー情報記憶部１７０からフロー情報を取得し、モニタ１１に業務フロー図を表示する。【００５４】
図５は、スキーマテーブルのデータ構造例を示す図である。図５に示すスキーマテーブル１２１は、運用情報記憶部１２０に格納されている。スキーマテーブル１２１には、テーブル名を示す項目、ＩＤを示す項目、フィールド名を示す項目、キーを示す項目およびデータ型を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのフィールドが定義されている。【００５５】
テーブル名を示す項目には、データベースサーバ２００，２００ａで管理されているデータテーブルの名前が設定される。ＩＤを示す項目には、データテーブルに含まれるフィールドを、そのデータテーブル内で一意に識別するための識別番号が設定される。フィールド名を示す項目には、フィールドの名前が設定される。【００５６】
キーを示す項目には、そのフィールドに割り当てられたキー種別を示す値が設定される。具体的には、“主キー”、“副キー”、値なしの何れかが設定される。主キーは、データテーブル内でレコードを一意に識別するために用いるフィールドを示す。副キーは、主キー以外のフィールドであって、検索時にレコードを特定するために用いるフィールドを示す。データ型を示す項目には、フィールドに格納される値の種類が設定される。例えば、“タイムスタンプ”や“固定長文字列”などと設定される。【００５７】
スキーマテーブル１２１は、予め業務分析装置１００の利用者によって作成されて運用情報記憶部１２０に格納される。例えば、テーブル名が“受注”、ＩＤが“２”、フィールド名が“受注番号”、キーが“主キー”、データ型が“固定長文字列”という情報がスキーマテーブル１２１に登録される。なお、スキーマテーブル１２１に登録されるスキーマ情報は、データベースサーバ２００，２００ａのＤＢＭＳが保持する管理情報を利用して作成することが可能である。【００５８】
図６は、データベースサーバが管理するデータテーブルの例を示す図である。図６に示すデータテーブル２１１，２１２は、データベースサーバ２００に格納されている。データテーブル２１１は、テーブル名が“受注”のデータテーブルである。データテーブル２１２は、テーブル名が“生産”のデータテーブルである。【００５９】
データテーブル２１１には、図５に示したスキーマテーブル１２１に記述された通り、日時のフィールド、受注番号のフィールド、地域のフィールドおよび受注内容のフィールドが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、１つのレコードを構成する。【００６０】
日時のフィールドには、レコードが追加または更新された日時がタイムスタンプとして設定される。受注番号のフィールドには、１回の受注に対して一意に割り当てられる識別情報が設定される。地域のフィールドには、受注を受けた都道府県名が設定される。受注内容のフィールドには、受注を受けた商品が設定される。例えば、日時が“２００６／０６／０１  １０：３４：５２”、受注番号が“ＪＴ０１”、地域が“東京”、受注内容が“デスクトップＰＣ”というレコードがデータテーブル２１１に格納される。【００６１】
同様に、データテーブル２１２には、日時のフィールド、生産番号のフィールド、受注番号のフィールド、品番のフィールドおよび納期のフィールドが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、１つのレコードを構成する。【００６２】
日時のフィールドには、レコードが追加または更新された日時がタイムスタンプとして設定される。生産番号のフィールドには、１回の商品の生産に対して一意に割り当てられる識別情報が設定される。受注番号のフィールドには、その生産に対応する受注の受注番号が設定される。品番のフィールドには、商品の品番を示す識別情報が設定される。納期のフィールドには、商品の納期を示す日付が設定される。例えば、日時が“２００６／０６／０２  ０９：５４：４８”、生産番号が“ＳＳ０１”、受注番号が“ＪＴ０１”、品番が“ＰＲ０１”、納期が“２００６／０６／０６”というレコードがデータテーブル２１２に格納される。【００６３】
なお、本実施の形態では、各データテーブルには、レコードが追加または更新された日時を示すタイムスタンプのフィールドが設けられているものと仮定する。
図７は、プログラム情報の例を示す第１の図である。図７に示すプログラム情報ファイル１３１〜１３４は、プログラム情報記憶部１３０に格納されている。プログラム情報ファイル１３１は、受注処理を行うメインプログラムを記述したものである。プログラム情報ファイル１３２は、注文入力を行う関数プログラムを記述したものである。プログラム情報ファイル１３３は、注文変更を行う関数プログラムを記述したものである。プログラム情報ファイル１３４は、注文削除を行う関数プログラムを記述したものである。【００６４】
受注処理、注文入力、注文変更、注文削除の各プログラムは、業務サーバ３００で実行される。なお、メインプログラムとは、業務上発生する所定のイベントを契機として独立して呼び出される業務プログラムであり、関数プログラムとは、メインプログラムまたは他の関数プログラムから呼び出される業務プログラムである。【００６５】
受注処理プログラムは、必要に応じて注文入力、注文変更、注文削除の各プログラムを呼び出して処理を行う。具体的には、受注処理プログラムは、最初にトップ画面を表示する。ここで、操作入力によって登録ボタンが押されると注文入力プログラムを呼び出し、変更ボタンが押されると注文変更プログラムを呼び出し、削除ボタンが押されると注文削除プログラムを呼び出し、終了ボタンが押されると処理を終了する。【００６６】
注文入力プログラムは、受注処理プログラムから呼び出されると、最初に注文入力画面を表示する。ここで、操作入力によって受注番号、地域、受注内容が入力されると、入力内容に現在の日時を加えたレコードを受注テーブルに追加する。その後、受注処理プログラムに制御を戻す。【００６７】
注文変更プログラムは、受注処理プログラムから呼び出されると、最初に受注テーブルからレコードを取得し、レコードの一覧を含む注文変更画面を表示する。ここで、操作入力によって受注番号が指定され、変更後の地域、受注内容が入力されると、指定された受注番号および入力内容に現在の日時を加えたレコードを受注テーブルに追加する。その後、受注処理プログラムに制御を戻す。【００６８】
注文削除プログラムは、受注処理プログラムから呼び出されると、最初に受注テーブルからレコードを取得し、レコードの一覧を含む注文削除画面を表示する。ここで、操作入力によって受注番号が指定されると、指定された受注番号によって特定されるレコードを受注テーブルから削除する。その後、受注処理プログラムに制御を戻す。【００６９】
図８は、プログラム情報の例を示す第２の図である。図８に示すプログラム情報ファイル１３５は、プログラム情報記憶部１３０に格納されている。プログラム情報ファイル１３５は、発注処理を行うメインプログラムを記述したものである。発注処理プログラムは、業務サーバ３００で実行される。【００７０】
発注処理プログラムは、最初に受注テーブルから、起動時に指定されたレコードに含まれる受注番号と受注内容の値を取得する。次に、発注処理プログラムは、在庫管理を行っているシステムから、受注内容に含まれる商品の現在の在庫量を取得する。【００７１】
ここで、発注処理プログラムは、商品の在庫があるか否かを分岐条件とする分岐制御を行う。在庫がある場合には、現在の日時、在庫手配に伴って割り当てる手配番号、商品の品番、商品の納品先を特定した上で、手配テーブルにレコードを追加する。在庫がない場合には、現在の日時、生産指示に伴って割り当てる生産番号、商品の品番、納期を特定した上で、生産テーブルにレコードを追加する。【００７２】
次に、以上のような構成およびデータ構造を備える業務分析装置１００において実行される業務フロー図生成処理の詳細を説明する。業務フロー図生成処理は、業務分析装置１００の利用者の操作入力によって、分析開始の指示が入力されることで実行される。【００７３】
図９は、業務フロー図生成処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ１］運用情報抽出部１１０は、データベースサーバ２００，２００ａからデータテーブルを取得して分析し、運用情報を生成する。そして、運用情報抽出部１１０は、生成した運用情報を運用情報記憶部１２０に格納する。【００７４】
［ステップＳ２］経路抽出部１４０は、プログラム情報記憶部１３０からプログラム情報を取得して分析し、経路情報を生成する。そして、経路抽出部１４０は、生成した経路情報を経路情報記憶部１５０に格納する。【００７５】
［ステップＳ３］グループ抽出部１４５は、プログラム情報記憶部１３０からプログラム情報を取得して分析し、画面グループ情報を生成する。そして、グループ抽出部１４５は、生成した画面グループ情報を経路情報記憶部１５０に格納する。【００７６】
［ステップＳ４］経路対応付部１６０は、運用情報記憶部１２０から運用情報を取得すると共に経路情報記憶部１５０から経路情報を取得し、遷移関係と処理経路とを対応付ける。そして、経路対応付部１６０は、対応付結果をフロー図生成部１６５に通知する。【００７７】
［ステップＳ５］フロー図生成部１６５は、フロー図生成部１６５から対応付結果を取得し、業務フロー図を構成するノードおよびリンクを特定する。更に、フロー図生成部１６５は、経路情報記憶部１５０から画面グループ情報を取得し、各ノードの配置を決定する。そして、フロー図生成部１６５は、フロー情報生成しフロー情報記憶部１７０に格納する。【００７８】
以下、ステップＳ１で実行される運用情報抽出処理、ステップＳ２で実行される経路抽出処理、ステップＳ３で実行されるグループ抽出処理、ステップＳ４で実行される経路対応付処理およびステップＳ５で実行される表示位置決定処理の詳細を順に説明する。【００７９】
図１０は、運用情報抽出処理の手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］運用情報抽出部１１０は、データベースサーバ２００，２００ａで管理されているデータテーブルのうち未選択のものを１つ選択する。【００８０】
［ステップＳ１２］運用情報抽出部１１０は、運用情報記憶部１２０に格納されているスキーマテーブル１２１を参照して、ステップＳ１１で選択したデータテーブルに含まれるフィールドのうちタイムスタンプを示すフィールドと処理ＩＤを示すフィールドとを判定する。処理ＩＤを示すフィールドは、個々の業務処理を識別する識別情報である。判定に際しては、各フィールドのフィールド名、キー種別、データ型が考慮される。【００８１】
［ステップＳ１３］運用情報抽出部１１０は、ステップＳ１１で全てのデータテーブルを選択したか否か判断する。全てのデータテーブルを選択した場合には、処理がステップＳ１４に進められる。未選択のデータテーブルが存在する場合には、処理がステップＳ１１に進められる。【００８２】
［ステップＳ１４］運用情報抽出部１１０は、データベースサーバ２００，２００ａで管理されているデータテーブルに格納された全てのレコードを、ステップＳ１２で判定した処理ＩＤを示すフィールドの値に基づいて分類する。【００８３】
［ステップＳ１５］運用情報抽出部１１０は、ステップＳ１４で分類を行った処理ＩＤの値のうち未選択のものを１つ選択する。
［ステップＳ１６］運用情報抽出部１１０は、ステップＳ１５で選択した処理ＩＤの値をもつレコードを、ステップＳ１２で判定したタイムスタンプのフィールドの値が小さい順に整列する。すなわち、１つの業務処理の実行に伴って追加または更新がなされたレコードを、日時の早い順に整列する。そして、運用情報抽出部１１０は、整列結果に基づいて、２つのデータテーブル間の更新順序の関係である遷移関係を特定する。その際、運用情報抽出部１１０は、２つのレコードで同一の値が設定されているフィールド、すなわち、値が引き継がれているフィールドを併せて特定する。【００８４】
［ステップＳ１７］運用情報抽出部１１０は、ステップＳ１５で全ての処理ＩＤを選択したか否か判断する。全ての処理ＩＤを選択した場合には、処理がステップＳ１８に進められる。未選択の処理ＩＤが存在する場合には、処理がステップＳ１５に進められる。【００８５】
［ステップＳ１８］運用情報抽出部１１０は、ステップＳ１６で特定した遷移関係を全ての処理ＩＤについて集計する。そして、運用情報抽出部１１０は、集計した遷移関係を示す運用情報を生成し、運用情報記憶部１２０に格納する。【００８６】
このようにして、運用情報抽出部１１０は、各データテーブルについて処理ＩＤを示すフィールドとタイムスタンプを示すフィールドと判定する。そして、運用情報抽出部１１０は、特定の処理ＩＤを含むレコードをタイムスタンプの値の小さい順に辿ることで、データテーブル間の更新順序を特定する。また、遷移元のデータテーブルから遷移先のデータテーブルへ値が引き継がれているフィールドも併せて特定する。【００８７】
なお、上記ステップＳ１８で、出現数が所定の閾値未満の遷移関係を除外して、運用情報を生成するようにしてもよい。これにより、稀にしか発生しない例外的な業務フローを除外した業務フロー図を生成することが可能となる。このような業務フロー図は、業務フロー全体の理解を容易にしたい場合に特に有用である。【００８８】
例えば、図６に示したデータテーブル２１１，２１２では、各業務処理に対して個別に設定される識別情報である受注番号のフィールドが処理ＩＤを示すフィールドと判定され、日時のフィールドがタイムスタンプを示すフィールドと判定される。【００８９】
そして、受注番号が“ＪＴ０１”，“ＪＴ０３”の２つの業務処理で共に、受注テーブルが更新された次に生産テーブルが更新されているため、受注テーブルから生産テーブルへの遷移関係が特定される。その際、受注番号が引継フィールドと判定される。また、受注番号が“ＪＴ０１”，“ＪＴ０３”の２つの業務処理で共に、生産テーブルが更新された次に再度生産テーブルが更新されているため、生産テーブルから生産テーブルへの遷移関係が特定される。【００９０】
図１１は、運用情報テーブルのデータ構造例を示す図である。図１１に示す運用情報テーブル１２２は、運用情報記憶部１２０に格納されている。運用情報テーブル１２２には、遷移ＩＤを示す項目、遷移元を示す項目、遷移先を示す項目および引継フィールドを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの遷移関係が定義されている。【００９１】
遷移ＩＤを示す項目には、遷移関係を一意に識別するための識別番号が設定される。遷移元を示す項目には、遷移関係の遷移元に相当するデータテーブルのテーブル名が設定される。遷移先を示す項目には、遷移関係の遷移先に相当するデータテーブルのテーブル名が設定される。引継フィールドを示す項目には、遷移元のテーブルに含まれるフィールドのうち、遷移先のテーブルに含まれる何れかのフィールドに値が引き継がれているフィールドの名前が設定される。【００９２】
ただし、業務処理で行われた最初の更新処理については、遷移元を示す項目に“開始”と設定し、遷移先を示す項目に最初に更新されたデータテーブルの名前を設定することで表現する。また、業務処理で行われた最後の更新処理については、遷移元を示す項目に最後に更新されたデータテーブルの名前を設定し、遷移先を示す項目に“終了”と設定することで表現する。【００９３】
運用情報テーブル１２２は、運用情報抽出部１１０によって生成される。例えば、遷移ＩＤが“３”、遷移元が“受注”、遷移先が“生産”、引継フィールドが“受注番号”という情報が運用情報テーブル１２２に格納される。これは、受注テーブルを更新した次に生産テーブルを更新した業務処理が過去に存在したことを意味する。【００９４】
なお、図１１では、運用情報をテーブル形式で表現することとしたが、他の表現形式で表現するようにしてもよい。例えば、テキスト文書で運用情報を記述するようにしてもよい。【００９５】
図１２は、運用情報ファイルのデータ構造例を示す図である。図１２に示す運用情報ファイル１２２ａは、上記の場合に、図１１に示した運用情報テーブル１２２に代えて運用情報記憶部１２０に格納されるものである。【００９６】
運用情報ファイル１２２ａでは、テキストの１行によって１つの遷移関係が定義されている。運用情報ファイル１２２ａでは、矢印の左側に遷移元のデータテーブルの名前が記述され、矢印の右側に遷移先のデータテーブルの名前が記述される。また、括弧（［］）の中に引継フィールドの名前が記述される。このように、テキスト形式で運用情報を記述することで、生成後に人手で運用情報を編集することが容易となる。【００９７】
図１３は、データテーブル間の遷移関係を示す模式図である。図１３に示した有向グラフは、図１１，１２に示した運用情報の意味を視覚的に表現したものである。開始ノードおよび終了ノードを除く各ノードがデータテーブルに相当し、各リンクが遷移関係に相当する。開始ノードから終了ノードへ向かってリンクを辿ることで、過去に発生した業務処理によるデータテーブルの更新順序を特定することができる。【００９８】
図１４は、経路抽出処理の手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ２１］経路抽出部１４０は、プログラム情報記憶部１３０に格納されているメインプログラムについてのプログラム情報のうち未選択のものを１つ選択する。そして、経路抽出部１４０は、選択したプログラム情報を構文解析し、各ステップの処理の順序関係を特定する。【００９９】
［ステップＳ２２］経路抽出部１４０は、ステップＳ２１で選択したプログラム情報に含まれる命令を、実行順序に沿って１つ選択する。
［ステップＳ２３］経路抽出部１４０は、ステップＳ２２で選択した命令が入力処理に関する命令であるか否か判断する。ここで、入力処理とは、データテーブルからのレコードの読込処理または操作画面からの入力値の受付処理である。入力処理に関する命令である場合には、処理がステップＳ２４に進められる。入力処理に関する命令でない場合には、処理がステップＳ２５に進められる。【０１００】
［ステップＳ２４］経路抽出部１４０は、入力処理に関する情報を保持しておく。具体的には、経路抽出部１４０は、データテーブルからのレコードの読込処理については、読込対象のデータテーブルの名前および読込フィールドの名前を保持する。また、操作画面からの入力値の受付処理については、操作画面の名前および入力項目の名前を保持する。その後、処理がステップＳ２９に進められる。【０１０１】
［ステップＳ２５］経路抽出部１４０は、ステップＳ２２で選択した命令が制御構造に関する命令であるか否か判断する。ここで、制御構造に関する命令とは、関数呼び出し命令または分岐命令である。制御構造に関する命令である場合には、処理がステップＳ２６に進められる。制御構造に関する命令でない場合には、処理がステップＳ２７に進められる。【０１０２】
［ステップＳ２６］経路抽出部１４０は、制御構造に従って経路を辿る。具体的には、経路抽出部１４０は、命令が関数呼び出しである場合、呼び出し先の関数プログラムのプログラム情報を構文解析し、その関数プログラムの先頭に移動する。また、分岐命令である場合、その分岐条件を保持しておき、分岐先の経路のうち未選択のものを１つ選択して経路を辿る。その後、処理がステップＳ２９に進められる。【０１０３】
［ステップＳ２７］経路抽出部１４０は、ステップＳ２２で選択した命令が出力処理に関する命令であるか否か判断する。ここで、出力処理とは、データテーブルの更新処理、すなわち、レコードの追加・更新・削除の処理である。出力処理に関する命令である場合には、処理がステップＳ２８に進められる。出力処理に関する命令でない場合には、処理がステップＳ２９に進められる。【０１０４】
［ステップＳ２８］経路抽出部１４０は、出力処理に関する情報を特定する。具体的には、経路抽出部１４０は、更新対象のデータテーブルの名前、データテーブルの更新処理の種別（レコードの追加・更新・削除の何れか１つ）、書込を行ったフィールドの名前を特定する。また、引継フィールド、すなわち、入力処理で取得した値のうち出力処理でそのまま使用している値のフィールドの名前を特定する。そして、経路抽出部１４０は、保持している入力処理および分岐制御に関する情報と、特定した出力処理に関する情報とからなる経路情報を生成し、経路情報記憶部１５０に格納する。その後、保持している情報を破棄した上で、処理がステップＳ２９に進められる。【０１０５】
［ステップＳ２９］経路抽出部１４０は、実行順序に沿って次に選択すべき命令が存在するか否か判断する。すなわち、現在辿っている経路が業務プログラムの最後に到達していないか判断する。次に選択すべき命令がある場合には、処理がステップＳ２２に進められる。次に選択すべき命令がない場合には、処理がステップＳ３０に進められる。【０１０６】
［ステップＳ３０］経路抽出部１４０は、ステップＳ２６で未選択の分岐先の経路が存在するか否か判断する。すなわち、ステップＳ２１で選択したメインプログラム内に、他の処理経路が存在するか判断する。未選択の分岐先の経路が存在する場合には、処理がステップＳ３１に進められる。未選択の分岐先の経路が存在しない場合には、処理がステップＳ３２に進められる。【０１０７】
［ステップＳ３１］経路抽出部１４０は、ステップＳ２１で選択したメインプログラムの先頭に戻る。その後、処理がステップＳ２２に進められる。
［ステップＳ３２］経路抽出部１４０は、ステップＳ２１で未選択のメインプログラムが存在するか否か判断する。未選択のメインプログラムが存在する場合には、処理がステップＳ２１に進められる。全てのメインプログラムを選択した場合には、経路抽出処理が終了する。【０１０８】
このようにして、経路抽出部１４０は、各メインプログラムの先頭から順次命令を取得し、入力処理および分岐制御に関する命令の内容を保持しておく。そして、出力処理に関する命令が見つかると、１つ前の出力処理以降に辿った経路を１つの処理経路として、経路情報を出力する。すなわち、データテーブルの更新処理は、１つの処理経路につき必ず１回行われる。一方、データテーブルの読込処理、操作画面からの入力受付、分岐制御は、１つの処理経路につき任意の回数行われる。【０１０９】
図１５は、経路情報テーブルのデータ構造例を示す図である。図１５に示す経路情報テーブル１５１は、経路情報記憶部１５０に格納されている。経路情報テーブル１５１には、ＩＤを示す項目、プログラムを示す項目、入力テーブルを示す項目、入力フィールドを示す項目、入力画面を示す項目、入力画面項目を示す項目、引継フィールドを示す項目、出力テーブルを示す項目、出力処理を示す項目、出力フィールドを示す項目および条件を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの処理経路についての経路情報を構成している。【０１１０】
ＩＤを示す項目には、処理経路を一意に識別するための識別情報が設定される。プログラムを示す項目には、その処理経路の開始点が属するメインプログラムの名前が設定される。入力テーブルを示す項目には、読込対象のデータテーブルの名前が設定される。入力フィールドを示す項目には、読込対象のフィールドの名前が設定される。ただし、データテーブルに含まれる全てのフィールドが読込対象であるときは“＊”が設定される。入力画面を示す項目には、値の入力が可能な操作画面の名前が設定される。入力画面項目を示す項目には、操作画面を介して入力を受け付ける項目名が設定される。引継フィールドを示す項目には、読込対象のデータテーブルまたは操作画面を介した入力から更新対象のデータテーブルへと値が引き継がれる、フィールドまたは項目の名前が設定される。【０１１１】
出力テーブルを示す項目には、更新対象のデータテーブルの名前が設定される。出力処理を示す項目には、更新処理の種別が設定される。具体的には、レコードの追加を示す“ＩＮＳＥＲＴ”、レコードの更新を示す“ＵＰＤＡＴＥ”、レコードの削除を示す“ＤＥＬＥＴＥ”の何れかの値が設定される。出力フィールドを示す項目には、書込対象フィールドの名前が設定される。ただし、データテーブルに含まれる全てのフィールドが書込対象であるときは“＊”が設定される。条件を示す項目には、分岐制御における分岐条件の内容が設定される。【０１１２】
経路情報テーブル１５１は、経路抽出部１４０によって生成される。例えば、ＩＤが“４−１”、プログラムが“発注処理”、入力テーブルが“受注”、入力フィールドが“受注番号”と“受注内容”、引継フィールドが“受注番号”、出力テーブルが“手配”、出力処理が“ＩＮＳＥＲＴ”、出力フィールドが“＊”、条件が“在庫＞０”という情報が格納される。これは、図８に示した発注処理プログラムに含まれる、在庫がある場合の処理経路に対応するものである。【０１１３】
図１６は、グループ抽出処理の手順を示すフローチャートである。以下、図１６に示す処理ステップ番号に沿って説明する。
［ステップＳ４１］グループ抽出部１４５は、プログラム情報記憶部１３０に格納されているメインプログラムについてのプログラム情報のうち未選択のものを１つ選択する。そして、グループ抽出部１４５は、選択したプログラム情報を構文解析し、各ステップの処理の順序関係を特定する。【０１１４】
［ステップＳ４２］グループ抽出部１４５は、新たな画面グループを作成する。作成される画面グループの初期状態は空集合である。
［ステップＳ４３］ステップＳ４１で選択したプログラム情報に含まれる命令を、実行順序に沿って１つ選択する。【０１１５】
［ステップＳ４４］グループ抽出部１４５は、ステップＳ４３で選択した命令が操作画面に関する命令であるか否か判断する。操作画面に関する命令である場合には、処理がステップＳ４５に進められる。操作画面に関する命令でない場合には、処理がステップＳ４７に進められる。【０１１６】
［ステップＳ４５］グループ抽出部１４５は、操作画面の名前を特定する。
［ステップＳ４６］グループ抽出部１４５は、ステップＳ４４で特定した操作画面の名前が、ステップＳ４２で作成した画面グループに含まれていない場合に、画面グループにその操作画面の名前を追加する。その後、処理がステップＳ４９に進められる。【０１１７】
［ステップＳ４７］グループ抽出部１４５は、ステップＳ４３で選択した命令が制御構造に関する命令であるか否か判断する。制御構造に関する命令である場合には、処理がステップＳ４８に進められる。制御構造に関する命令でない場合には、処理がステップＳ４９に進められる。【０１１８】
［ステップＳ４８］グループ抽出部１４５は、制御構造に従って経路を辿る。すなわち、グループ抽出部１４５は、命令が関数呼び出しである場合、呼び出し先の関数プログラムのプログラム情報を構文解析し、その関数プログラムの先頭に移動する。また、分岐命令である場合、その分岐条件を保持しておき、分岐先の経路のうち未選択のものを１つ選択して経路を辿る。その後、処理がステップＳ４９に進められる。【０１１９】
［ステップＳ４９］グループ抽出部１４５は、実行順序に沿って次に選択すべき命令が存在するか否か判断する。次に選択すべき命令がある場合には、処理がステップＳ４３に進められる。次に選択すべき命令がない場合には、処理がステップＳ５０に進められる。【０１２０】
［ステップＳ５０］グループ抽出部１４５は、ステップＳ４８で未選択の分岐先の経路が存在するか否か判断する。未選択の分岐先の経路が存在する場合には、処理がステップＳ５１に進められる。未選択の分岐先の経路が存在しない場合には、処理がステップＳ５２に進められる。【０１２１】
［ステップＳ５１］グループ抽出部１４５は、ステップＳ４１で選択したメインプログラムの先頭に戻る。その後、処理がステップＳ４３に進められる。
［ステップＳ５２］グループ抽出部１４５は、画面グループに含まれる操作画面の名前の一覧である画面グループ情報を生成し、経路情報記憶部１５０に格納する。そして、グループ抽出部１４５は、ステップＳ４２で作成した画面グループを破棄する。【０１２２】
［ステップＳ５３］グループ抽出部１４５は、ステップＳ４１で未選択のメインプログラムが存在するか否か判断する。未選択のメインプログラムが存在する場合には、処理がステップＳ４１に進められる。全てのメインプログラムを選択した場合には、グループ抽出処理が終了する。【０１２３】
このようにして、グループ抽出部１４５は、複数の処理経路に跨るか否かに拘わらず、連続的に経路を辿って到達可能な操作画面の集合を画面グループと判定する。そして、グループ抽出部１４５は、画面グループ情報を生成して経路情報記憶部１５０に格納する。【０１２４】
図１７は、画面グループテーブルのデータ構造例を示す図である。図１７に示す画面グループテーブル１５２は、経路情報記憶部１５０に格納されている。画面グループテーブル１５２には、グループＩＤを示す項目と画面名を示す項目とが設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの画面グループが定義されている。【０１２５】
グループＩＤを示す項目には、画面グループを一意に識別するための識別番号が設定される。画面名を示す項目には、その画面グループに属する操作画面の名前の一覧が設定される。画面グループテーブル１５２は、グループ抽出部１４５によって生成される。【０１２６】
例えば、グループＩＤが“１”、画面名が“注文入力，注文変更，注文削除”という情報が格納される。これは、図７に示した通り、注文入力画面、注文変更画面、注文削除画面が、経路を連続的に辿ることで到達可能な操作画面であることを示している。なお、受注処理プログラムで表示されるトップ画面は、値の入力を行うための画面ではないため、抽出されない。【０１２７】
図１８は、第１の経路対応付処理の手順を示すフローチャートである。以下、図１８に示す処理をステップ番号に沿って説明する。
［ステップＳ６１］経路対応付部１６０は、運用情報記憶部１２０に格納されている運用情報テーブル１２２に基づいて、図１３に示したような有向グラフを表示し、利用者に遷移関係を１つ選択させる。【０１２８】
［ステップＳ６２］経路対応付部１６０は、経路情報記憶部１５０に格納されている経路情報テーブル１５１を検索して、ステップＳ６１で利用者が選択した遷移関係に対応する処理経路の候補を抽出する。具体的には、経路対応付部１６０は、遷移関係の遷移元のデータテーブルと処理経路の読込対象のデータテーブルとが一致し、かつ、遷移関係の遷移先のデータテーブルと処理経路の更新対象のデータテーブルとが一致する全ての処理経路を、対応付の候補として抽出する。【０１２９】
［ステップＳ６３］経路対応付部１６０は、ステップＳ６２で候補となる処理経路を１つ以上抽出できたか否か判断する。抽出できた場合には、処理がステップＳ６４に進められる。抽出できなかった場合には、ステップＳ６６に進められる。【０１３０】
［ステップＳ６４］経路対応付部１６０は、ステップＳ６２で抽出した処理経路の経路情報の一覧を表示し、利用者に処理経路を１つ選択させる。
［ステップＳ６５］経路対応付部１６０は、ステップＳ６４で利用者が選択した処理経路を、ステップＳ６１で選択された遷移関係に対応付ける。【０１３１】
［ステップＳ６６］経路対応付部１６０は、ステップＳ６１で全ての遷移関係が選択されたか否か判断する。全ての遷移関係が選択された場合には、経路対応付処理が終了する。未選択の遷移関係が存在する場合には、処理がステップＳ６１に進められる。【０１３２】
このようにして、経路対応付部１６０は、利用者が遷移関係を１つ選択する毎に、対応付の候補となる処理経路を抽出して表示する。そして、経路対応付部１６０は、候補の中から利用者が選択した処理経路を、その遷移関係に対応付ける。【０１３３】
図１９は、経路対応付処理における操作画面例を示す図である。図１９に示す画面５１は、経路対応付部１６０によって表示される画面である。画面５１には、データテーブル間の遷移関係を視覚的に表現した有向グラフが表示される。ここで、利用者が１つ遷移関係を選択すると、対応する処理経路の候補が画面５１内の領域５１ａに表示される。利用者は、領域５１ａに表示された処理経路の中から１つを選択することができる。【０１３４】
例えば、利用者によって受注テーブルから受注テーブルへの遷移関係が選択されると、経路対応付部１６０によって図１５に示した経路情報テーブル１５１が検索され、入力テーブルの項目と出力テーブルの項目が共に“受注”である処理経路の経路情報が抽出される。すなわち、ＩＤが“２”の経路情報とＩＤが“３”の経路情報とが抽出される。ここで、領域５１ａには、経路情報テーブル１５１に格納されている種々の情報が表示されるため、利用者はこれらを手掛かりに適切な処理経路、すなわち、実際の業務で使用されていると考えられる処理経路を判断することができる。【０１３５】
なお、図１８に示した経路対応付処理では、利用者が遷移関係を１つずつ選択していくこととしたが、経路対応付部１６０は、他の方法で経路対応付を行うこともできる。業務分析装置１００の利用者は、経路対応付部１６０に対して、用いる経路対応付の方法を指定することができる。以下、他の経路対応付処理の例を２つ示す。【０１３６】
図２０は、第２の経路対応付処理の手順を示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。
［ステップＳ７１］経路対応付部１６０は、運用情報記憶部１２０に格納されている運用情報テーブル１２２に基づいて、遷移関係を１つ選択する。【０１３７】
［ステップＳ７２］経路対応付部１６０は、経路情報記憶部１５０に格納されている経路情報テーブル１５１を、データテーブルの名前を検索条件として検索し、ステップＳ７１で選択した遷移関係に対応する処理経路の候補を全て抽出する。【０１３８】
［ステップＳ７３］経路対応付部１６０は、ステップＳ７２で候補となる処理経路を１つ以上抽出できたか否か判断する。抽出できた場合には、処理がステップＳ７４に進められる。抽出できなかった場合には、ステップＳ７５に進められる。【０１３９】
［ステップＳ７４］経路対応付部１６０は、ステップＳ７２で抽出した全ての処理経路の候補を、ステップＳ７１で選択した遷移関係に対応付ける。
［ステップＳ７５］経路対応付部１６０は、ステップＳ７１で全ての遷移関係を選択したか否か判断する。全ての遷移関係を選択した場合には、処理がステップＳ７６に進められる。未選択の遷移関係が存在する場合には、処理がステップＳ７１に進められる。【０１４０】
［ステップＳ７６］経路対応付部１６０は、複数の処理経路の候補が対応付けられている遷移関係を１つ選択する。
［ステップＳ７７］経路対応付部１６０は、候補となる処理経路の経路情報の一覧を表示し、利用者に処理経路を１つ選択させる。【０１４１】
［ステップＳ７８］経路対応付部１６０は、ステップＳ７７で利用者が選択した処理経路を、ステップＳ７１で選択された遷移関係に対応付ける処理経路に決定する。
［ステップＳ７９］経路対応付部１６０は、ステップＳ７６で複数の処理経路の候補が対応付けられている遷移関係を全て選択したか否か判断する。全て選択した場合には、経路対応付処理が終了する。未選択の遷移関係が存在する場合には、処理がステップＳ７６に進められる。【０１４２】
このようにして、経路対応付部１６０は、各遷移関係に対して処理経路の候補を仮に対応付ける。そして、候補が複数ある遷移関係についてのみ、実際に対応付ける処理経路を利用者に選択させる。これにより、利用者の操作入力の負担を軽減することができる。【０１４３】
図２１は、第３の経路対応付処理の手順を示すフローチャートである。以下、図２１に示す処理をステップ番号に沿って説明する。
［ステップＳ８１］経路対応付部１６０は、運用情報記憶部１２０に格納されている運用情報テーブル１２２に基づいて、遷移関係を１つ選択する。【０１４４】
［ステップＳ８２］経路対応付部１６０は、経路情報記憶部１５０に格納されている経路情報テーブル１５１を、データテーブルの名前を検索条件として検索し、ステップＳ８１で選択した遷移関係に対応する処理経路の候補を全て抽出する。【０１４５】
［ステップＳ８３］経路対応付部１６０は、ステップＳ８２で候補となる処理経路を１つ以上抽出できたか否か判断する。抽出できた場合には、処理がステップＳ８４に進められる。抽出できなかった場合には、ステップＳ８７に進められる。【０１４６】
［ステップＳ８４］経路対応付部１６０は、ステップＳ８２で候補となる処理経路が複数抽出されたか否か判断する。複数抽出された場合には、処理がステップＳ８５に進められる。１つだけ抽出された場合には、処理がステップＳ８６に進められる。【０１４７】
［ステップＳ８５］経路対応付部１６０は、ステップＳ８２で抽出した処理経路の候補を、引継フィールドを条件として絞り込む。すなわち、経路対応付部１６０は、処理経路における引継フィールドが遷移関係における引継フィールドと一致する、処理経路を選択する。【０１４８】
［ステップＳ８６］経路対応付部１６０は、ステップＳ８２で抽出した処理経路の候補が１つであるときはその処理経路を、複数あるときはステップＳ８５の絞り込みにより得られた処理経路を、ステップＳ８１で選択した遷移関係に対応付ける。【０１４９】
［ステップＳ８７］経路対応付部１６０は、ステップＳ８１で全ての遷移関係を選択したか否か判断する。全ての遷移関係を選択した場合には、経路対応付処理が終了する。未選択の遷移関係が存在する場合には、処理がステップＳ８１に進められる。【０１５０】
このようにして、経路対応付部１６０は、処理経路の候補が１つである遷移関係についてはその処理経路を対応付け、処理経路の候補が複数である遷移関係については引継フィールドを用いて絞り込んで対応付ける。これにより、全ての遷移関係に対して自動で処理経路を対応付けることができ、利用者の操作入力の負担を更に軽減することができる。【０１５１】
図２２は、経路対応付処理後の表示画面例を示す図である。図２２に示す画面５２は、図１８，２０，２１に示した何れかの経路対応付処理が完了し、対応付結果が経路対応付部１６０からフロー図生成部１６５に通知された直後に表示される画面である。画面５２には、データテーブル、業務プログラム、操作画面、分岐条件の関係を視覚的に表現した有向グラフが表示される。【０１５２】
画面５２で表示される有向グラフでは、データテーブルに相当するノードと遷移関係に相当するリンクとが記述され、リンクの途中に業務プログラムに相当するノードが挿入されている。また、操作画面に相当するノードと分岐条件を表すノードとが、業務プログラムのノードに接続されている。なお、１つのデータテーブルのノードから出ている複数のリンクに、同一の業務プログラムのノードを挿入する必要があるときは、リンク毎に業務プログラムのノードを挿入せずに纏めるようにする。これにより、有向グラフの理解容易性が向上する。【０１５３】
図２３は、表示位置決定処理の手順を示すフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。
［ステップＳ９１］フロー図生成部１６５は、経路対応付部１６０から通知された対応付結果に基づいて、業務フロー図で表されるノードとリンクを特定する。そして、フロー図生成部１６５は、データテーブルのノードの順序付けを行う。順序は、開始ノードからの距離が近い順とする。【０１５４】
［ステップＳ９２］フロー図生成部１６５は、ステップＳ９１で決定した順序でデータテーブルのノードを所定の方向に並べ、各データテーブルのノードの配置を決定する。例えば、フロー図生成部１６５は、表示領域の左上から右下に向かってデータテーブルのノードを並べる。なお、業務分析装置１００の利用者が並べる方向を明示的に指定したときは、指定された方向にノードを並べる。【０１５５】
［ステップＳ９３］フロー図生成部１６５は、各データテーブルのノード上を境界線が通るようにレーンを作成する。例えば、ステップＳ９２で左上から右下へ向かってデータテーブルのノードを並べた場合、縦方向にレーンを作成する。【０１５６】
［ステップＳ９４］フロー図生成部１６５は、経路情報記憶部１５０に格納されている画面グループテーブル１５２から画面グループ情報を取得する。そして、フロー図生成部１６５は、同一の画面グループに属する操作画面のノードが同一のレーンに属するように、業務プログラムのノードおよび操作画面のノードの配置を決定する。また、フロー図生成部１６５は、対応する業務プログラムのノードの近くになるように、分岐条件のノードの配置を決定する。【０１５７】
［ステップＳ９５］フロー図生成部１６５は、ステップＳ９１〜Ｓ９４の処理を通じて得られた業務フロー図を表示し、利用者に各レーンの名前を入力させる。そして、フロー図生成部１６５は、入力されたレーン名を各レーンに対応付ける。その後、フロー図生成部１６５は、得られた業務フロー図を示すフロー情報を生成し、フロー情報記憶部１７０に格納する。【０１５８】
このようにして、フロー図生成部１６５は、データテーブルのノードを順序付けして並べると共に、各データテーブルのノードを境界としてレーン分けを行う。そして、フロー図生成部１６５は、同一の画面グループに属する操作画面が同一のレーンに属するように、業務プログラムのノードおよび操作画面のノードの配置を決める。これにより、連続した操作に関するノードが同一レーン内に表示されることになる。【０１５９】
図２４は、フロー情報ファイルのデータ構造例を示す図である。図２４に示すフロー情報ファイル１７１は、フロー情報記憶部１７０に格納されている。フロー情報ファイル１７１では、フロー情報がＸＭＬ形式で記述されている。フロー情報ファイル１７１は、業務フロー図を構成する各ノードおよびリンクを記述した領域１７１ａと、レーンを記述した領域１７１ｂとの２つの領域から構成される。【０１６０】
領域１７１ａでは、１つの遷移関係が１つのｆｌｏｗタグとして記述される。ｆｌｏｗタグの子要素として、ｆｒｏｍタグ、ｐｒｏｃｅｓｓタグ、ｔｏタグが記述される。更に、必要に応じてｐｒｏｃｅｓｓタグの子要素として、ｓｃｒｅｅｎタグ、ｃｏｎｄｉｔｉｏｎタグが記述される。【０１６１】
ｆｒｏｍタグには、遷移元のデータテーブルの名前を示す属性とノードの位置を示す属性とが設定される。ｐｒｏｃｅｓｓタグには、業務プログラムの名前を示す属性、遷移関係の識別情報を示す属性、ノードの位置を示す属性が設定される。ｔｏタグには、遷移先のデータテーブルの名前を示す属性とノードの位置を示す属性とが設定される。ｓｃｒｅｅｎタグには、操作画面の名前を示す属性とノードの位置を示す属性とが設定される。ｃｏｎｄｉｔｉｏｎタグには、分岐条件を示す属性とノードの位置を示す属性とが設定される。【０１６２】
領域１７１ｂでは、１つのレーンが１つのｌａｎｅタグとして記述される。ｌａｎｅタグには、レーンの名前を示す属性、レーンの左側の位置を示す属性、レーンの右側の位置を示す属性が設定される。なお、これは、レーンが縦方向に設定された場合の例である。レーンが横方向に設定された場合は、上側の位置を示す属性と下側の位置を示す属性とが設定されることになる。【０１６３】
図２５は、業務フロー図の第１の表示例を示す図である。図２５に示す画面５３は、図２４に示したフロー情報に基づいて、フロー図表示部１８０が表示する画面である。画面５３では、データテーブルのノードが左上から右下の方向に並べられており、４つのレーンに分けられた状態で、業務フロー図が表示されている。各レーンに付された“受注部門”、“発注部門”、“生産部門”、“配送部門”という名前は、利用者によって入力されたものである。【０１６４】
ここで、受注処理プログラムのノードは、開始ノードと受注テーブルのノードとの間に配置されるべきものであるため、最も左側の受注部門レーンに属している。また、受注処理プログラムのノードと接続される受注入力画面のノードも、受注処理プログラムのノードと同一の受注部門レーンに属する。【０１６５】
一方、もう１つの受注処理プログラムのノードおよびこれに接続される受注変更画面のノードは、受注部門レーンと発注部門レーンの何れに属するべきか問題となるが、受注変更画面は受注入力画面と同一画面グループを構成するため、受注部門レーンに属することになる。このようにレーン分けを行うことで、業務プログラムや操作画面の間の関連性の理解が容易となる。【０１６６】
なお、図２５ではデータテーブルのノード、業務プログラムのノード、操作画面のノード、分岐条件のノードの全てを表示しているが、利用者の操作入力に応答して、フロー図表示部１８０が一部の種類のノードを非表示にすることもできる。【０１６７】
図２６は、業務フロー図の第２の表示例を示す図である。図２６に示す画面５４は、フロー図表示部１８０によって表示される画面であり、図２５に示した画面５３から操作画面のノードを非表示としたものである。画面５４で表示される業務フロー図は、業務プログラムとデータテーブルの更新との対応関係に特に注目する場合に有効である。【０１６８】
図２７は、業務フロー図の第３の表示例を示す図である。図２７に示す画面５５は、フロー図表示部１８０によって表示される画面であり、図２５に示した画面５３から業務プログラムのノードを非表示としたものである。画面５５で表示される業務フロー図は、操作画面とデータテーブルの更新との対応関係に特に注目する場合に有効である。【０１６９】
このような業務分析システムを用いることで、業務システムの運用状況が適切に反映された業務フロー図を得ることができる。ここで、データ処理の結果であるデータテーブルに基づいて業務フロー図を生成するため、分析に必要な情報を得るために業務プログラムを改変する必要はない。【０１７０】
また、プログラム情報も併せて分析するため、データテーブル、業務プログラム、操作画面、分岐条件を表現した業務フロー図を生成できる。従って、これらの対応関係の理解が容易となる。また、必要に応じてその一部のみを表示させることも可能である。更に、画面グループに応じて業務フロー図が自動的にレーン分けされるため、理解容易性がより向上する。【０１７１】
なお、本実施の形態では、データテーブル自体を分析して運用情報を生成することとしたが、データベースサーバ２００，２００ａが出力する更新ログを分析して運用情報を生成することも可能である。また、本実施の形態では、処理経路の抽出と画面グループの抽出とを別々に行ったが、この２つをプログラム情報を１回分析する間に同時に行うことも可能である。また、本実施の形態では、運用情報抽出処理、経路抽出処理、グループ抽出処理の順に処理を行ったが、これら３つの処理の順番を入れ替えてもよい。【０１７２】
以上、本発明の業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。【０１７３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、業務分析装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。【０１７４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。【０１７５】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。【０１７６】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１７７】
１  コンピュータ
１ａ  運用情報記憶手段
１ｂ  プログラム情報記憶手段
１ｃ  経路抽出手段
１ｄ  経路対応付手段
１ｅ  フロー図生成手段
２  データベースサーバ
３  業務サーバ
４  業務フロー図
【図１】
2008146341.tif 000003
【図２】
2008146341.tif 000004
【図３】
2008146341.tif 000005
【図４】
2008146341.tif 000006
【図５】
2008146341.tif 000007
【図６】
2008146341.tif 000008
【図７】
2008146341.tif 000009
【図８】
2008146341.tif 000010
【図９】
2008146341.tif 000011
【図１０】
2008146341.tif 000012
【図１１】
2008146341.tif 000013
【図１２】
2008146341.tif 000014
【図１３】
2008146341.tif 000015
【図１４】
2008146341.tif 000016
【図１５】
2008146341.tif 000017
【図１６】
2008146341.tif 000018
【図１７】
2008146341.tif 000019
【図１８】
2008146341.tif 000020
【図１９】
2008146341.tif 000021
【図２０】
2008146341.tif 000022
【図２１】
2008146341.tif 000023
【図２２】
2008146341.tif 000024
【図２３】
2008146341.tif 000025
【図２４】
2008146341.tif 000026
【図２５】
2008146341.tif 000027
【図２６】
2008146341.tif 000028
【図２７】
2008146341.tif 000029
【手続補正書】
【提出日】平成21年8月17日(2009.8.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成プログラムにおいて、
コンピュータを、
前記業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された２つの前記データ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段、
前記業務処理を前記業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段、
前記プログラム情報記憶手段に記憶された前記プログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段、
前記運用情報記憶手段に記憶された前記運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付ける経路対応付手段、
前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段、
として機能させることを特徴とする業務フロー図生成プログラム。
【請求項２】
前記コンピュータを、更に、前記プログラム情報から、１以上の前記処理経路を連続的に辿ることで到達可能な前記操作画面の集合である画面グループを抽出するグループ抽出手段として機能させ、
前記フロー図生成手段は、前記グループ抽出手段の抽出結果に基づいて、同一の前記画面グループに属する前記操作画面の情報が同一レーンに配置されるように前記業務フロー図をレーン分けする、
ことを特徴とする請求項１記載の業務フロー図生成プログラム。
【請求項３】
前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路が属する前記業務プログラムを示す情報を更に付加することを特徴とする請求項１記載の業務フロー図生成プログラム。
【請求項４】
前記経路抽出手段は、各処理経路で行われる分岐判断の分岐条件を示す情報を前記経路情報に含めて生成し、
前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路に含まれる前記分岐条件を示す情報を更に付加する、
ことを特徴とする請求項１記載の業務フロー図生成プログラム。
【請求項５】
前記運用情報には、各遷移関係について、遷移元の前記データ集合のデータ項目のうち遷移先の前記データ集合の何れかのデータ項目に値が引き継がれている運用引継項目を示す情報が含まれており、
前記経路抽出手段は、各処理経路について、読込処理で値を読み込むデータ項目のうち更新処理で当該値が使用される経路引継項目を示す情報を前記経路情報に含めて生成し、
前記経路対応付手段は、前記データ集合間の一致に加えて、前記運用引継項目と前記経路引継項目との一致を条件として対応付を行う、
ことを特徴とする請求項１記載の業務フロー図生成プログラム。
【請求項６】
業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成装置において、
前記業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された２つの前記データ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段と、
前記業務処理を前記業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段と、
前記プログラム情報記憶手段に記憶された前記プログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段と、
前記運用情報記憶手段に記憶された前記運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付ける経路対応付手段と、
前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段と、
を有することを特徴とする業務フロー図生成装置。
【請求項７】
業務システムの運用状況に応じた業務フロー図を生成するコンピュータによる業務フロー図生成方法において、
経路抽出手段が、複数のデータ集合に対する更新処理を伴う業務処理を前記業務システムにて実現するための１以上の業務プログラムの処理手順を示すプログラム情報記憶手段に記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成し、
経路対応付手段が、前記業務システムの運用時に前記業務処理によって連続して更新された２つの前記データ集合間の関係である遷移関係を示す運用情報記憶手段に記憶された運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付け、
フロー図生成手段が、前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成する、
ことを特徴とする業務フロー図生成方法。
【国際調査報告】
2008146341.tif 000030
2008146341.tif 000031
2008146341.tif 000032
2008146341.tif 000033