JP4796185B2 - 業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法 - Google Patents
業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法 Download PDFInfo
- Publication number
- JP4796185B2 JP4796185B2 JP2009516082A JP2009516082A JP4796185B2 JP 4796185 B2 JP4796185 B2 JP 4796185B2 JP 2009516082 A JP2009516082 A JP 2009516082A JP 2009516082 A JP2009516082 A JP 2009516082A JP 4796185 B2 JP4796185 B2 JP 4796185B2
- Authority
- JP
- Japan
- Prior art keywords
- business
- processing
- route
- flow diagram
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法に関し、特に業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法に関する。
現在、さまざまな業務分野でコンピュータを利用した業務システムが構築されている。例えば、顧客へ商品販売を行う企業では、顧客情報の管理、商品の在庫管理、受注管理などのデータ処理を行う業務システムが利用されている。ここで、業務システムにおける業務の全体的な流れ(以下、業務フローという)は非常に複雑であるため、業務フローの把握を容易にするために業務フロー図が作成される。業務フロー図は、業務フローを人が理解容易な図形式で記述したものである。業務フロー図を用いることで、経営者やシステム管理者は業務フローを直感的に理解することができる。業務フロー図は、業務システムの構築時に設計情報の1つとして作成されることも多い。
ところで、業務フロー図は1度だけ作成すればよいものではなく、業務内容の変化などに応じて適宜作成し直す必要がある。一方、業務フロー図の作成には多大な労力を必要とする。これは、業務フロー図は、一般に、システム管理者が経営者や業務担当者にヒアリングやアンケートを行い、さまざまな蓄積文書を参照することで作成されるためである。従って、短期間で業務フロー図を作成することが困難であるという問題がある。
そこで、近年、既存の業務システムを分析することで業務フロー図を自動生成する業務フロー可視化技術が注目されている。具体的には、以下の2つの実現方法が知られている。第1の方法は、業務システムで実行されている業務プログラムを解析してデータ処理の流れを抽出し、これに基づいて業務フロー図を生成する方法である(例えば、特許文献1参照)。第2の方法は、業務システムで管理されているデータの更新履歴を分析してデータ処理の流れを推測し、これに基づいて業務フロー図を生成する方法である(例えば、非特許文献1参照)。このような業務フロー可視化技術を用いることで、業務フロー図の作成に要する時間を大幅に短縮することができる。
特開平11−128021号公報
W.M.P van der Aalst、外5名、"Workflow Mining: A Survey of Issues and Approaches"、[online]、[2007年4月25日検索]、インターネット〈URL: http://is.tm.tue.nl/research/processmining/papers/wf-min-surv.pdf〉
しかし、上記特許文献1,2に記載の技術には以下の問題がある。
特許文献1に記載の業務プログラムに基づく可視化方法では、業務システムの運用状況に応じた業務フロー図が生成されないという問題がある。これは、業務プログラムに含まれる全ての処理経路が実際の業務で利用されているわけではないためである。従って、実行頻度が極めて低いデータ処理も業務フロー図で表現されてしまい、業務フロー図の理解容易性が低くなる。
特許文献1に記載の業務プログラムに基づく可視化方法では、業務システムの運用状況に応じた業務フロー図が生成されないという問題がある。これは、業務プログラムに含まれる全ての処理経路が実際の業務で利用されているわけではないためである。従って、実行頻度が極めて低いデータ処理も業務フロー図で表現されてしまい、業務フロー図の理解容易性が低くなる。
また、特許文献2に記載のデータの更新履歴に基づく可視化方法では、業務フロー図中の各要素と業務担当者の作業との対応関係の把握が容易でないという問題がある。これは、多くのデータ処理は業務担当者から見えない裏側で自動的に行われるため、両者の対応関係を理解するには業務プログラムの内部的な振る舞いを知る必要があるためである。
本発明はこのような点に鑑みてなされたものであり、業務システムの運用状況が適切に反映され、かつ、業務担当者の作業の流れが理解容易な業務フロー図を生成できる業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すような業務フロー図生成プログラムが提供される。本発明に係る業務フロー図生成プログラムは、業務システムの運用状況に応じた業務フロー図を生成するものである。この業務フロー図生成プログラムを実行するコンピュータ1は、運用情報記憶手段1a、プログラム情報記憶手段1b、経路抽出手段1c、経路対応付手段1dおよびフロー図生成手段1eを有する。
運用情報記憶手段1aは、業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された2つのデータ集合間の関係である遷移関係を示す運用情報を記憶する。プログラム情報記憶手段1bは、業務処理を業務システムにて実現するための1以上の業務プログラムの処理手順を示すプログラム情報を記憶する。経路抽出手段1cは、プログラム情報記憶手段1bに記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われるデータ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する。経路対応付手段1dは、運用情報記憶手段1aに記憶された運用情報で示される各遷移関係に対し、経路抽出手段1cが生成した経路情報で示される処理経路のうち、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路を対応付ける。フロー図生成手段1eは、経路対応付手段1dの対応付結果に基づいて、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報を付加した業務フロー図4を生成する。
このような業務フロー図生成プログラムを実行するコンピュータ1によれば、経路抽出手段1cにより、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、経路対応付手段1dにより、運用時に連続して更新された2つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、フロー図生成手段1eにより、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図4が生成される。
また、上記課題を解決するために、業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成装置において、業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された2つのデータ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段と、業務処理を業務システムにて実現するための1以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段と、プログラム情報記憶手段に記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われるデータ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段と、運用情報記憶手段に記憶された運用情報で示される各遷移関係に対し、経路抽出手段が生成した経路情報で示される処理経路のうち、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路を対応付ける経路対応付手段と、経路対応付手段の対応付結果に基づいて、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段と、を有することを特徴とする業務フロー図生成装置が提供される。
このような業務フロー図生成装置によれば、経路抽出手段により、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、経路対応付手段により、連続して更新された2つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、フロー図生成手段により、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図が生成される。
また、上記課題を解決するために、業務システムの運用状況に応じた業務フロー図を生成するコンピュータによる業務フロー図生成方法において、経路抽出手段が、複数のデータ集合に対する更新処理を伴う業務処理を業務システムにて実現するための1以上の業務プログラムの処理手順を示すプログラム情報記憶手段に記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われるデータ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成し、経路対応付手段が、業務システムの運用時に業務処理によって連続して更新された2つのデータ集合間の関係である遷移関係を示す運用情報記憶手段に記憶された運用情報で示される各遷移関係に対し、経路抽出手段が生成した経路情報で示される処理経路のうち、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路を対応付け、フロー図生成手段が、経路対応付手段の対応付結果に基づいて、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報を付加した業務フロー図を生成する、ことを特徴とする業務フロー図生成方法が提供される。
このような業務フロー図生成方法によれば、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、連続して更新された2つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図が生成される。
本発明では、業務システムが管理するデータ集合の更新順序に基づいてノードおよびリンクを構成すると共に、プログラム情報から抽出した操作画面に関する情報を対応するリンクに付加することとした。これにより、現実の業務フローが適切に反映され、かつ、業務フロー中の各ステップで用いられる操作画面が示された業務フロー図を迅速に得ることができる。従って、業務フロー全体における各作業の位置付けが理解容易となる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概要を示す図である。図1に示すコンピュータ1は、データベースサーバ2が管理するデータ集合の更新状況を示す情報と、業務サーバ3で実行される業務プログラムを示す情報とに基づいて、業務フロー図4を生成するものである。コンピュータ1は、運用情報記憶手段1a、プログラム情報記憶手段1b、経路抽出手段1c、経路対応付手段1dおよびフロー図生成手段1eを有する。これらの処理機能は、例えば、コンピュータ1に所定の業務フロー図生成プログラムを実行させることで実現できる。
図1は、本実施の形態の概要を示す図である。図1に示すコンピュータ1は、データベースサーバ2が管理するデータ集合の更新状況を示す情報と、業務サーバ3で実行される業務プログラムを示す情報とに基づいて、業務フロー図4を生成するものである。コンピュータ1は、運用情報記憶手段1a、プログラム情報記憶手段1b、経路抽出手段1c、経路対応付手段1dおよびフロー図生成手段1eを有する。これらの処理機能は、例えば、コンピュータ1に所定の業務フロー図生成プログラムを実行させることで実現できる。
運用情報記憶手段1aには、データ集合間の遷移関係を示す運用情報が格納されている。遷移関係は、データベースサーバ2の運用時に、1つの業務処理によって連続して更新された2つのデータ集合の関係である。すなわち、運用情報は、運用時のデータ集合間の更新順序を示している。
ここで、データ集合は、1つ以上のデータ項目が定義されたデータの集合であり、データベースサーバ2によって管理されている。データ集合は、例えば、関係データベースにおけるデータテーブルやXML(eXtensive Markup Language)データベースにおける木構造などである。また、業務処理は、1つの事案に対して業務上行われる一連のアクションである。業務処理には、表示装置に表示される操作画面に対して行われる操作入力の作業やコンピュータによるデータ処理が含まれる。1つの業務処理では、データ集合に対する更新処理が複数回行われる。
運用情報は、データベースサーバ2が管理するデータ集合を継続的に監視することで得ることができる。また、データベースサーバ2が出力する更新ログを分析することでも得ることができる。例えば、ある業務処理によってデータ集合A、データ集合B、データ集合Cの順に更新がなされ、他の業務処理によってデータ集合A、データ集合Cの順に更新がなされたとする。この場合、データ集合Aからデータ集合B、データ集合Bからデータ集合C、データ集合Aからデータ集合Cの3つの遷移関係を示す運用情報が生成される。
なお、業務処理の開始点および終了点、すなわち、最初に更新されたデータ集合と最後に更新されたデータ集合とを明示する情報を、運用情報に含めるようにしてもよい。上記の例では、何れの業務処理でも、データ集合Aが開始点でありデータ集合Cが終了点である。
プログラム情報記憶手段1bには、業務プログラムの処理手順を示すプログラム情報が格納されている。業務プログラムは、業務サーバ3で実行され、データベースサーバ2が管理するデータ集合に対して読込処理および更新処理を行う。また、実行中の業務プログラムは、必要に応じて所定の表示装置に操作画面を表示する。1つの業務処理では1つ以上の業務プログラムが利用される。通常は、1つの業務処理で複数の業務プログラムが利用される。
なお、プログラム情報は、業務プログラムの処理手順を記述した情報であればよく、その記述形式は問わない。例えば、オブジェクトコードやソースコードなどの実装コードでもよいし、フローチャートなどの設計情報でもよい。
経路抽出手段1cは、プログラム情報記憶手段1bからプログラム情報を取得し、処理経路を抽出する。処理経路は、業務プログラムの実行を開始してから終了するまでに辿る1つの経路である。条件分岐を含む業務プログラムでは、異なる分岐を辿る経路は異なる処理経路と判断される。すなわち、1つの業務プログラムから複数の処理経路が抽出される場合がある。
ここで、経路抽出手段1cは、抽出した処理経路で行われるデータ集合に対する読込処理および更新処理を特定する。また、抽出した処理経路で表示される操作画面を特定する。そして、経路抽出手段1cは、各処理経路についての読込処理、更新処理、操作画面を示す経路情報を生成する。
例えば、経路抽出手段1cは、処理経路#1でデータ集合Aの読込処理およびデータ集合Bの更新処理が行われると共に操作画面xが表示され、処理経路#2でデータBの読込処理およびデータCの更新処理が行われると共に操作画面yが表示され、処理経路#3でデータ集合Aの読込処理およびデータ集合Cの更新処理が行われると共に操作画面zが表示されるという情報が生成される。
経路対応付手段1dは、運用情報記憶手段1aから運用情報を取得すると共に、経路抽出手段1cから経路情報を取得する。そして、経路対応付手段1dは、運用情報と経路情報とに基づいて、遷移関係と処理経路との対応付を行う。具体的には、経路対応付手段1dは、遷移関係での遷移元のデータ集合と処理経路での読込対象のデータ集合とが一致し、かつ、遷移関係での遷移先のデータ集合と処理経路での更新対象のデータ集合とが一致するような、遷移関係と処理経路とを対応付ける。
上記の例の場合、データ集合Aからデータ集合Bへの遷移関係に対して処理経路#1が対応付けられ、データ集合Bからデータ集合Cへの遷移関係に対して処理経路#2が対応付けられ、データ集合Aからデータ集合Cへの遷移関係に対して処理経路#3が対応付けられる。
フロー図生成手段1eは、経路対応付手段1dから遷移関係と処理経路との対応付の結果を取得し、これに基づいて業務フロー図4を生成する。具体的には、フロー図生成手段1eは、まずデータ集合を示すノードと遷移関係を示すリンクとで構成される有向グラフを生成する。ノードのラベルはデータ集合の名前とする。リンクは遷移元のデータ集合に対応するノードから遷移先のデータ集合に対応するノードへの矢印線として表現される。
次に、フロー図生成手段1eは、各リンクに対応付けられた処理経路で表示される操作画面がある場合には、操作画面を示す情報をそのリンクに対して付加する。例えば、操作画面の名前を対応するリンクに付加する。そして、フロー図生成手段1eは、このようにして生成した業務フロー図4を出力する。なお、生成された業務フロー図4を、コンピュータ1の利用者が更に編集できるようにしてもよい。
このようなコンピュータ1によれば、経路抽出手段1cにより、業務プログラムの処理手順を示すプログラム情報から処理経路が抽出され、各処理経路で行われる読込処理および更新処理と表示される操作画面とを示す経路情報が生成される。次に、経路対応付手段1dにより、運用時に連続して更新された2つのデータ集合間の関係である遷移関係に対し、読込対象のデータ集合が遷移元のデータ集合と一致し更新対象のデータ集合が遷移先のデータ集合と一致する処理経路が対応付けられる。そして、フロー図生成手段1eにより、データ集合をノードとし遷移関係をリンクとし、リンクに対し当該リンクに対応する処理経路で表示される操作画面を示す情報が付加された業務フロー図4が生成される。
これにより、現実の業務フローが適切に反映され、かつ、業務フロー中の各ステップで表示される操作画面が示された業務フロー図を迅速に得ることができる。従って、業務フロー全体における各作業の位置付けが理解容易となる。
以下、本実施の形態を図面を参照して詳細に説明する。
図2は、本実施の形態のシステム構成を示す図である。図2に示す業務分析システムは、データベース管理システム(DBMS:DataBase Management System)が管理するデータテーブルを分析して、業務フロー図を自動生成するものである。本実施の形態に係る業務分析システムは、業務分析装置100、データベースサーバ200,200a、業務サーバ300,300aおよびネットワーク40で構成される。業務分析装置100、データベースサーバ200,200aおよび業務サーバ300,300aは、ネットワーク40に接続されており、相互に通信が可能である。
図2は、本実施の形態のシステム構成を示す図である。図2に示す業務分析システムは、データベース管理システム(DBMS:DataBase Management System)が管理するデータテーブルを分析して、業務フロー図を自動生成するものである。本実施の形態に係る業務分析システムは、業務分析装置100、データベースサーバ200,200a、業務サーバ300,300aおよびネットワーク40で構成される。業務分析装置100、データベースサーバ200,200aおよび業務サーバ300,300aは、ネットワーク40に接続されており、相互に通信が可能である。
業務分析装置100は、利用者の操作入力に応答して業務フローの分析を行い、分析結果として得られる業務フロー図を表示するコンピュータである。業務分析装置100は、ネットワーク40を介して、データベースサーバ200,200aが管理するデータテーブルを取得する。そして、業務分析装置100は、取得したデータテーブルを分析して、現在の業務フローを推定する。
データベースサーバ200,200aは、DBMSを実現するプログラムを実行するコンピュータである。DBMSは、業務サーバ300,300aで実行される業務プログラムが利用する業務データを管理する。DBMSは、テーブル形式で業務データを管理しており、業務プログラムからの要求に応じて業務データの検索処理および更新処理を行う。
業務サーバ300,300aは、利用者の操作入力によって指定された業務プログラムを実行するコンピュータである。業務サーバ300,300aは、それぞれ複数の業務プログラムを実行している。業務サーバ300,300aで実行される業務プログラムは、必要に応じて、ネットワーク40を介してデータベースサーバ200,200aに接続し、データテーブルに格納された業務データを利用する。その際、業務プログラムは、データ操作の内容を示すSQL(Structured Query Language)文を、DBMSに対して発行する。
なお、本実施の形態では、業務フローの分析を行う装置として業務分析装置100を設けたが、業務分析装置100の機能をデータベースサーバ200,200aで実現することも可能である。また、業務分析装置100の機能を業務サーバ300,300aで実現することも可能である。
次に、業務分析装置100、データベースサーバ200,200aおよび業務サーバ300,300aのハードウェア構成について説明する。
図3は、業務分析装置のハードウェア構成を示す図である。業務分析装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
図3は、業務分析装置のハードウェア構成を示す図である。業務分析装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データの少なくとも一部が一時的に格納される。HDD103には、OSプログラムやアプリケーションプログラムが格納される。また、HDD103には、CPU101による処理に必要な各種データが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワーク40に接続されている。
データベースサーバ200,200aおよび業務サーバ300,300aも、業務分析装置100と同様のハードウェア構成によって実現できる。以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、業務分析装置100のモジュール構成について説明する。
図4は、業務分析装置の機能を示すブロック図である。業務分析装置100は、運用情報抽出部110、運用情報記憶部120、プログラム情報記憶部130、経路抽出部140、グループ抽出部145、経路情報記憶部150、経路対応付部160、フロー図生成部165、フロー情報記憶部170およびフロー図表示部180を有する。
図4は、業務分析装置の機能を示すブロック図である。業務分析装置100は、運用情報抽出部110、運用情報記憶部120、プログラム情報記憶部130、経路抽出部140、グループ抽出部145、経路情報記憶部150、経路対応付部160、フロー図生成部165、フロー情報記憶部170およびフロー図表示部180を有する。
運用情報抽出部110は、ネットワーク40を介して、データベースサーバ200,200aからデータテーブルを取得する。そして、運用情報抽出部110は、取得したデータテーブルを分析して運用情報を生成する。ここで、運用情報は、データテーブル間の更新順序を示す遷移関係を記述したものである。運用情報抽出部110は、データテーブル内のレコードに含まれるタイムスタンプを手掛かりに遷移関係を特定する。
運用情報記憶部120には、データベースサーバ200,200aで管理されているデータテーブルのスキーマを定義したスキーマ情報が格納されている。スキーマ情報は、運用情報抽出部110および経路対応付部160によって参照される。また、運用情報記憶部120には、運用情報抽出部110によって生成された運用情報が格納される。
プログラム情報記憶部130には、業務サーバ300,300aで実行される業務プログラムそれぞれに対応するプログラム情報が予め格納されている。プログラム情報は、業務プログラムの処理手順を記述したものである。プログラム情報には、少なくとも、データテーブルの読込処理および更新処理、操作画面の表示、分岐制御、関数呼び出しを示す情報が含まれている。
経路抽出部140は、プログラム情報記憶部130からプログラム情報を取得して分析し、経路情報を生成する。経路情報は、業務プログラムに含まれる各処理経路について、その処理経路で行われるデータテーブルの読込処理および更新処理、操作画面の表示、分岐制御に関する情報を記述したものである。
なお、処理経路は、業務プログラムの実行を開始してから終了するまでに辿る1つの経路であり、異なる分岐を辿るものは異なる処理経路と判断される。また、関数呼び出しが行われる場合は、呼び出し先の関数内の経路も連続して辿ることになる。
グループ抽出部145は、プログラム情報記憶部130からプログラム情報を取得して分析し、画面グループ情報を生成する。画面グループ情報は、1つ以上の処理経路を連続的に辿ることで到達可能な操作画面の集合である画面グループを記述したものである。すなわち、ある操作画面から連続的な操作によって到達可能な全ての操作画面は、同一の画面グループを構成する。異なる処理経路に属する2つの操作画面が同一の画面グループに属することもあるし、異なる業務プログラムに属する2つの操作画面が同一の画面グループに属することもある。
経路情報記憶部150には、経路抽出部140によって生成された経路情報が格納される。また、経路情報記憶部150には、グループ抽出部145によって生成された画面グループ情報が格納される。
経路対応付部160は、運用情報記憶部120から運用情報を取得すると共に、経路情報記憶部150から経路情報を取得する。そして、経路対応付部160は、運用情報に記述された遷移関係と経路情報に記述された処理経路とをそれぞれ対応付ける。その際、経路対応付部160は、必要に応じて業務分析装置100の利用者に操作入力を受け付ける。その後、経路対応付部160は、対応付の結果をフロー図生成部165に対して出力する。
フロー図生成部165は、経路対応付部160が出力した対応付結果に基づいて、業務フロー図を構成するノードおよびリンクを特定する。また、フロー図生成部165は、経路情報記憶部150に格納された画面グループ情報に基づいて、業務フロー図のレーン分けを行い、各ノードの配置を決定する。その際、フロー図生成部165は、必要に応じて業務分析装置100の利用者の操作入力を受け付ける。そして、フロー図生成部165は、このようにして得られた業務フロー図を表現したフロー情報を生成する。
フロー情報記憶部170には、フロー図生成部165が生成したフロー情報が格納される。
フロー図表示部180は、フロー情報記憶部170からフロー情報を取得し、モニタ11に業務フロー図を表示する。
フロー図表示部180は、フロー情報記憶部170からフロー情報を取得し、モニタ11に業務フロー図を表示する。
図5は、スキーマテーブルのデータ構造例を示す図である。図5に示すスキーマテーブル121は、運用情報記憶部120に格納されている。スキーマテーブル121には、テーブル名を示す項目、IDを示す項目、フィールド名を示す項目、キーを示す項目およびデータ型を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのフィールドが定義されている。
テーブル名を示す項目には、データベースサーバ200,200aで管理されているデータテーブルの名前が設定される。IDを示す項目には、データテーブルに含まれるフィールドを、そのデータテーブル内で一意に識別するための識別番号が設定される。フィールド名を示す項目には、フィールドの名前が設定される。
キーを示す項目には、そのフィールドに割り当てられたキー種別を示す値が設定される。具体的には、“主キー”、“副キー”、値なしの何れかが設定される。主キーは、データテーブル内でレコードを一意に識別するために用いるフィールドを示す。副キーは、主キー以外のフィールドであって、検索時にレコードを特定するために用いるフィールドを示す。データ型を示す項目には、フィールドに格納される値の種類が設定される。例えば、“タイムスタンプ”や“固定長文字列”などと設定される。
スキーマテーブル121は、予め業務分析装置100の利用者によって作成されて運用情報記憶部120に格納される。例えば、テーブル名が“受注”、IDが“2”、フィールド名が“受注番号”、キーが“主キー”、データ型が“固定長文字列”という情報がスキーマテーブル121に登録される。なお、スキーマテーブル121に登録されるスキーマ情報は、データベースサーバ200,200aのDBMSが保持する管理情報を利用して作成することが可能である。
図6は、データベースサーバが管理するデータテーブルの例を示す図である。図6に示すデータテーブル211,212は、データベースサーバ200に格納されている。データテーブル211は、テーブル名が“受注”のデータテーブルである。データテーブル212は、テーブル名が“生産”のデータテーブルである。
データテーブル211には、図5に示したスキーマテーブル121に記述された通り、日時のフィールド、受注番号のフィールド、地域のフィールドおよび受注内容のフィールドが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、1つのレコードを構成する。
日時のフィールドには、レコードが追加または更新された日時がタイムスタンプとして設定される。受注番号のフィールドには、1回の受注に対して一意に割り当てられる識別情報が設定される。地域のフィールドには、受注を受けた都道府県名が設定される。受注内容のフィールドには、受注を受けた商品が設定される。例えば、日時が“2006/06/01 10:34:52”、受注番号が“JT01”、地域が“東京”、受注内容が“デスクトップPC”というレコードがデータテーブル211に格納される。
同様に、データテーブル212には、日時のフィールド、生産番号のフィールド、受注番号のフィールド、品番のフィールドおよび納期のフィールドが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、1つのレコードを構成する。
日時のフィールドには、レコードが追加または更新された日時がタイムスタンプとして設定される。生産番号のフィールドには、1回の商品の生産に対して一意に割り当てられる識別情報が設定される。受注番号のフィールドには、その生産に対応する受注の受注番号が設定される。品番のフィールドには、商品の品番を示す識別情報が設定される。納期のフィールドには、商品の納期を示す日付が設定される。例えば、日時が“2006/06/02 09:54:48”、生産番号が“SS01”、受注番号が“JT01”、品番が“PR01”、納期が“2006/06/06”というレコードがデータテーブル212に格納される。
なお、本実施の形態では、各データテーブルには、レコードが追加または更新された日時を示すタイムスタンプのフィールドが設けられているものと仮定する。
図7は、プログラム情報の例を示す第1の図である。図7に示すプログラム情報ファイル131〜134は、プログラム情報記憶部130に格納されている。プログラム情報ファイル131は、受注処理を行うメインプログラムを記述したものである。プログラム情報ファイル132は、注文入力を行う関数プログラムを記述したものである。プログラム情報ファイル133は、注文変更を行う関数プログラムを記述したものである。プログラム情報ファイル134は、注文削除を行う関数プログラムを記述したものである。
図7は、プログラム情報の例を示す第1の図である。図7に示すプログラム情報ファイル131〜134は、プログラム情報記憶部130に格納されている。プログラム情報ファイル131は、受注処理を行うメインプログラムを記述したものである。プログラム情報ファイル132は、注文入力を行う関数プログラムを記述したものである。プログラム情報ファイル133は、注文変更を行う関数プログラムを記述したものである。プログラム情報ファイル134は、注文削除を行う関数プログラムを記述したものである。
受注処理、注文入力、注文変更、注文削除の各プログラムは、業務サーバ300で実行される。なお、メインプログラムとは、業務上発生する所定のイベントを契機として独立して呼び出される業務プログラムであり、関数プログラムとは、メインプログラムまたは他の関数プログラムから呼び出される業務プログラムである。
受注処理プログラムは、必要に応じて注文入力、注文変更、注文削除の各プログラムを呼び出して処理を行う。具体的には、受注処理プログラムは、最初にトップ画面を表示する。ここで、操作入力によって登録ボタンが押されると注文入力プログラムを呼び出し、変更ボタンが押されると注文変更プログラムを呼び出し、削除ボタンが押されると注文削除プログラムを呼び出し、終了ボタンが押されると処理を終了する。
注文入力プログラムは、受注処理プログラムから呼び出されると、最初に注文入力画面を表示する。ここで、操作入力によって受注番号、地域、受注内容が入力されると、入力内容に現在の日時を加えたレコードを受注テーブルに追加する。その後、受注処理プログラムに制御を戻す。
注文変更プログラムは、受注処理プログラムから呼び出されると、最初に受注テーブルからレコードを取得し、レコードの一覧を含む注文変更画面を表示する。ここで、操作入力によって受注番号が指定され、変更後の地域、受注内容が入力されると、指定された受注番号および入力内容に現在の日時を加えたレコードを受注テーブルに追加する。その後、受注処理プログラムに制御を戻す。
注文削除プログラムは、受注処理プログラムから呼び出されると、最初に受注テーブルからレコードを取得し、レコードの一覧を含む注文削除画面を表示する。ここで、操作入力によって受注番号が指定されると、指定された受注番号によって特定されるレコードを受注テーブルから削除する。その後、受注処理プログラムに制御を戻す。
図8は、プログラム情報の例を示す第2の図である。図8に示すプログラム情報ファイル135は、プログラム情報記憶部130に格納されている。プログラム情報ファイル135は、発注処理を行うメインプログラムを記述したものである。発注処理プログラムは、業務サーバ300で実行される。
発注処理プログラムは、最初に受注テーブルから、起動時に指定されたレコードに含まれる受注番号と受注内容の値を取得する。次に、発注処理プログラムは、在庫管理を行っているシステムから、受注内容に含まれる商品の現在の在庫量を取得する。
ここで、発注処理プログラムは、商品の在庫があるか否かを分岐条件とする分岐制御を行う。在庫がある場合には、現在の日時、在庫手配に伴って割り当てる手配番号、商品の品番、商品の納品先を特定した上で、手配テーブルにレコードを追加する。在庫がない場合には、現在の日時、生産指示に伴って割り当てる生産番号、商品の品番、納期を特定した上で、生産テーブルにレコードを追加する。
次に、以上のような構成およびデータ構造を備える業務分析装置100において実行される業務フロー図生成処理の詳細を説明する。業務フロー図生成処理は、業務分析装置100の利用者の操作入力によって、分析開始の指示が入力されることで実行される。
図9は、業務フロー図生成処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS1]運用情報抽出部110は、データベースサーバ200,200aからデータテーブルを取得して分析し、運用情報を生成する。そして、運用情報抽出部110は、生成した運用情報を運用情報記憶部120に格納する。
[ステップS1]運用情報抽出部110は、データベースサーバ200,200aからデータテーブルを取得して分析し、運用情報を生成する。そして、運用情報抽出部110は、生成した運用情報を運用情報記憶部120に格納する。
[ステップS2]経路抽出部140は、プログラム情報記憶部130からプログラム情報を取得して分析し、経路情報を生成する。そして、経路抽出部140は、生成した経路情報を経路情報記憶部150に格納する。
[ステップS3]グループ抽出部145は、プログラム情報記憶部130からプログラム情報を取得して分析し、画面グループ情報を生成する。そして、グループ抽出部145は、生成した画面グループ情報を経路情報記憶部150に格納する。
[ステップS4]経路対応付部160は、運用情報記憶部120から運用情報を取得すると共に経路情報記憶部150から経路情報を取得し、遷移関係と処理経路とを対応付ける。そして、経路対応付部160は、対応付結果をフロー図生成部165に通知する。
[ステップS5]フロー図生成部165は、フロー図生成部165から対応付結果を取得し、業務フロー図を構成するノードおよびリンクを特定する。更に、フロー図生成部165は、経路情報記憶部150から画面グループ情報を取得し、各ノードの配置を決定する。そして、フロー図生成部165は、フロー情報生成しフロー情報記憶部170に格納する。
以下、ステップS1で実行される運用情報抽出処理、ステップS2で実行される経路抽出処理、ステップS3で実行されるグループ抽出処理、ステップS4で実行される経路対応付処理およびステップS5で実行される表示位置決定処理の詳細を順に説明する。
図10は、運用情報抽出処理の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS11]運用情報抽出部110は、データベースサーバ200,200aで管理されているデータテーブルのうち未選択のものを1つ選択する。
[ステップS11]運用情報抽出部110は、データベースサーバ200,200aで管理されているデータテーブルのうち未選択のものを1つ選択する。
[ステップS12]運用情報抽出部110は、運用情報記憶部120に格納されているスキーマテーブル121を参照して、ステップS11で選択したデータテーブルに含まれるフィールドのうちタイムスタンプを示すフィールドと処理IDを示すフィールドとを判定する。処理IDを示すフィールドは、個々の業務処理を識別する識別情報である。判定に際しては、各フィールドのフィールド名、キー種別、データ型が考慮される。
[ステップS13]運用情報抽出部110は、ステップS11で全てのデータテーブルを選択したか否か判断する。全てのデータテーブルを選択した場合には、処理がステップS14に進められる。未選択のデータテーブルが存在する場合には、処理がステップS11に進められる。
[ステップS14]運用情報抽出部110は、データベースサーバ200,200aで管理されているデータテーブルに格納された全てのレコードを、ステップS12で判定した処理IDを示すフィールドの値に基づいて分類する。
[ステップS15]運用情報抽出部110は、ステップS14で分類を行った処理IDの値のうち未選択のものを1つ選択する。
[ステップS16]運用情報抽出部110は、ステップS15で選択した処理IDの値をもつレコードを、ステップS12で判定したタイムスタンプのフィールドの値が小さい順に整列する。すなわち、1つの業務処理の実行に伴って追加または更新がなされたレコードを、日時の早い順に整列する。そして、運用情報抽出部110は、整列結果に基づいて、2つのデータテーブル間の更新順序の関係である遷移関係を特定する。その際、運用情報抽出部110は、2つのレコードで同一の値が設定されているフィールド、すなわち、値が引き継がれているフィールドを併せて特定する。
[ステップS16]運用情報抽出部110は、ステップS15で選択した処理IDの値をもつレコードを、ステップS12で判定したタイムスタンプのフィールドの値が小さい順に整列する。すなわち、1つの業務処理の実行に伴って追加または更新がなされたレコードを、日時の早い順に整列する。そして、運用情報抽出部110は、整列結果に基づいて、2つのデータテーブル間の更新順序の関係である遷移関係を特定する。その際、運用情報抽出部110は、2つのレコードで同一の値が設定されているフィールド、すなわち、値が引き継がれているフィールドを併せて特定する。
[ステップS17]運用情報抽出部110は、ステップS15で全ての処理IDを選択したか否か判断する。全ての処理IDを選択した場合には、処理がステップS18に進められる。未選択の処理IDが存在する場合には、処理がステップS15に進められる。
[ステップS18]運用情報抽出部110は、ステップS16で特定した遷移関係を全ての処理IDについて集計する。そして、運用情報抽出部110は、集計した遷移関係を示す運用情報を生成し、運用情報記憶部120に格納する。
このようにして、運用情報抽出部110は、各データテーブルについて処理IDを示すフィールドとタイムスタンプを示すフィールドと判定する。そして、運用情報抽出部110は、特定の処理IDを含むレコードをタイムスタンプの値の小さい順に辿ることで、データテーブル間の更新順序を特定する。また、遷移元のデータテーブルから遷移先のデータテーブルへ値が引き継がれているフィールドも併せて特定する。
なお、上記ステップS18で、出現数が所定の閾値未満の遷移関係を除外して、運用情報を生成するようにしてもよい。これにより、稀にしか発生しない例外的な業務フローを除外した業務フロー図を生成することが可能となる。このような業務フロー図は、業務フロー全体の理解を容易にしたい場合に特に有用である。
例えば、図6に示したデータテーブル211,212では、各業務処理に対して個別に設定される識別情報である受注番号のフィールドが処理IDを示すフィールドと判定され、日時のフィールドがタイムスタンプを示すフィールドと判定される。
そして、受注番号が“JT01”,“JT03”の2つの業務処理で共に、受注テーブルが更新された次に生産テーブルが更新されているため、受注テーブルから生産テーブルへの遷移関係が特定される。その際、受注番号が引継フィールドと判定される。また、受注番号が“JT01”,“JT03”の2つの業務処理で共に、生産テーブルが更新された次に再度生産テーブルが更新されているため、生産テーブルから生産テーブルへの遷移関係が特定される。
図11は、運用情報テーブルのデータ構造例を示す図である。図11に示す運用情報テーブル122は、運用情報記憶部120に格納されている。運用情報テーブル122には、遷移IDを示す項目、遷移元を示す項目、遷移先を示す項目および引継フィールドを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの遷移関係が定義されている。
遷移IDを示す項目には、遷移関係を一意に識別するための識別番号が設定される。遷移元を示す項目には、遷移関係の遷移元に相当するデータテーブルのテーブル名が設定される。遷移先を示す項目には、遷移関係の遷移先に相当するデータテーブルのテーブル名が設定される。引継フィールドを示す項目には、遷移元のテーブルに含まれるフィールドのうち、遷移先のテーブルに含まれる何れかのフィールドに値が引き継がれているフィールドの名前が設定される。
ただし、業務処理で行われた最初の更新処理については、遷移元を示す項目に“開始”と設定し、遷移先を示す項目に最初に更新されたデータテーブルの名前を設定することで表現する。また、業務処理で行われた最後の更新処理については、遷移元を示す項目に最後に更新されたデータテーブルの名前を設定し、遷移先を示す項目に“終了”と設定することで表現する。
運用情報テーブル122は、運用情報抽出部110によって生成される。例えば、遷移IDが“3”、遷移元が“受注”、遷移先が“生産”、引継フィールドが“受注番号”という情報が運用情報テーブル122に格納される。これは、受注テーブルを更新した次に生産テーブルを更新した業務処理が過去に存在したことを意味する。
なお、図11では、運用情報をテーブル形式で表現することとしたが、他の表現形式で表現するようにしてもよい。例えば、テキスト文書で運用情報を記述するようにしてもよい。
図12は、運用情報ファイルのデータ構造例を示す図である。図12に示す運用情報ファイル122aは、上記の場合に、図11に示した運用情報テーブル122に代えて運用情報記憶部120に格納されるものである。
運用情報ファイル122aでは、テキストの1行によって1つの遷移関係が定義されている。運用情報ファイル122aでは、矢印の左側に遷移元のデータテーブルの名前が記述され、矢印の右側に遷移先のデータテーブルの名前が記述される。また、括弧([])の中に引継フィールドの名前が記述される。このように、テキスト形式で運用情報を記述することで、生成後に人手で運用情報を編集することが容易となる。
図13は、データテーブル間の遷移関係を示す模式図である。図13に示した有向グラフは、図11,12に示した運用情報の意味を視覚的に表現したものである。開始ノードおよび終了ノードを除く各ノードがデータテーブルに相当し、各リンクが遷移関係に相当する。開始ノードから終了ノードへ向かってリンクを辿ることで、過去に発生した業務処理によるデータテーブルの更新順序を特定することができる。
図14は、経路抽出処理の手順を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS21]経路抽出部140は、プログラム情報記憶部130に格納されているメインプログラムについてのプログラム情報のうち未選択のものを1つ選択する。そして、経路抽出部140は、選択したプログラム情報を構文解析し、各ステップの処理の順序関係を特定する。
[ステップS21]経路抽出部140は、プログラム情報記憶部130に格納されているメインプログラムについてのプログラム情報のうち未選択のものを1つ選択する。そして、経路抽出部140は、選択したプログラム情報を構文解析し、各ステップの処理の順序関係を特定する。
[ステップS22]経路抽出部140は、ステップS21で選択したプログラム情報に含まれる命令を、実行順序に沿って1つ選択する。
[ステップS23]経路抽出部140は、ステップS22で選択した命令が入力処理に関する命令であるか否か判断する。ここで、入力処理とは、データテーブルからのレコードの読込処理または操作画面からの入力値の受付処理である。入力処理に関する命令である場合には、処理がステップS24に進められる。入力処理に関する命令でない場合には、処理がステップS25に進められる。
[ステップS23]経路抽出部140は、ステップS22で選択した命令が入力処理に関する命令であるか否か判断する。ここで、入力処理とは、データテーブルからのレコードの読込処理または操作画面からの入力値の受付処理である。入力処理に関する命令である場合には、処理がステップS24に進められる。入力処理に関する命令でない場合には、処理がステップS25に進められる。
[ステップS24]経路抽出部140は、入力処理に関する情報を保持しておく。具体的には、経路抽出部140は、データテーブルからのレコードの読込処理については、読込対象のデータテーブルの名前および読込フィールドの名前を保持する。また、操作画面からの入力値の受付処理については、操作画面の名前および入力項目の名前を保持する。その後、処理がステップS29に進められる。
[ステップS25]経路抽出部140は、ステップS22で選択した命令が制御構造に関する命令であるか否か判断する。ここで、制御構造に関する命令とは、関数呼び出し命令または分岐命令である。制御構造に関する命令である場合には、処理がステップS26に進められる。制御構造に関する命令でない場合には、処理がステップS27に進められる。
[ステップS26]経路抽出部140は、制御構造に従って経路を辿る。具体的には、経路抽出部140は、命令が関数呼び出しである場合、呼び出し先の関数プログラムのプログラム情報を構文解析し、その関数プログラムの先頭に移動する。また、分岐命令である場合、その分岐条件を保持しておき、分岐先の経路のうち未選択のものを1つ選択して経路を辿る。その後、処理がステップS29に進められる。
[ステップS27]経路抽出部140は、ステップS22で選択した命令が出力処理に関する命令であるか否か判断する。ここで、出力処理とは、データテーブルの更新処理、すなわち、レコードの追加・更新・削除の処理である。出力処理に関する命令である場合には、処理がステップS28に進められる。出力処理に関する命令でない場合には、処理がステップS29に進められる。
[ステップS28]経路抽出部140は、出力処理に関する情報を特定する。具体的には、経路抽出部140は、更新対象のデータテーブルの名前、データテーブルの更新処理の種別(レコードの追加・更新・削除の何れか1つ)、書込を行ったフィールドの名前を特定する。また、引継フィールド、すなわち、入力処理で取得した値のうち出力処理でそのまま使用している値のフィールドの名前を特定する。そして、経路抽出部140は、保持している入力処理および分岐制御に関する情報と、特定した出力処理に関する情報とからなる経路情報を生成し、経路情報記憶部150に格納する。その後、保持している情報を破棄した上で、処理がステップS29に進められる。
[ステップS29]経路抽出部140は、実行順序に沿って次に選択すべき命令が存在するか否か判断する。すなわち、現在辿っている経路が業務プログラムの最後に到達していないか判断する。次に選択すべき命令がある場合には、処理がステップS22に進められる。次に選択すべき命令がない場合には、処理がステップS30に進められる。
[ステップS30]経路抽出部140は、ステップS26で未選択の分岐先の経路が存在するか否か判断する。すなわち、ステップS21で選択したメインプログラム内に、他の処理経路が存在するか判断する。未選択の分岐先の経路が存在する場合には、処理がステップS31に進められる。未選択の分岐先の経路が存在しない場合には、処理がステップS32に進められる。
[ステップS31]経路抽出部140は、ステップS21で選択したメインプログラムの先頭に戻る。その後、処理がステップS22に進められる。
[ステップS32]経路抽出部140は、ステップS21で未選択のメインプログラムが存在するか否か判断する。未選択のメインプログラムが存在する場合には、処理がステップS21に進められる。全てのメインプログラムを選択した場合には、経路抽出処理が終了する。
[ステップS32]経路抽出部140は、ステップS21で未選択のメインプログラムが存在するか否か判断する。未選択のメインプログラムが存在する場合には、処理がステップS21に進められる。全てのメインプログラムを選択した場合には、経路抽出処理が終了する。
このようにして、経路抽出部140は、各メインプログラムの先頭から順次命令を取得し、入力処理および分岐制御に関する命令の内容を保持しておく。そして、出力処理に関する命令が見つかると、1つ前の出力処理以降に辿った経路を1つの処理経路として、経路情報を出力する。すなわち、データテーブルの更新処理は、1つの処理経路につき必ず1回行われる。一方、データテーブルの読込処理、操作画面からの入力受付、分岐制御は、1つの処理経路につき任意の回数行われる。
図15は、経路情報テーブルのデータ構造例を示す図である。図15に示す経路情報テーブル151は、経路情報記憶部150に格納されている。経路情報テーブル151には、IDを示す項目、プログラムを示す項目、入力テーブルを示す項目、入力フィールドを示す項目、入力画面を示す項目、入力画面項目を示す項目、引継フィールドを示す項目、出力テーブルを示す項目、出力処理を示す項目、出力フィールドを示す項目および条件を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの処理経路についての経路情報を構成している。
IDを示す項目には、処理経路を一意に識別するための識別情報が設定される。プログラムを示す項目には、その処理経路の開始点が属するメインプログラムの名前が設定される。入力テーブルを示す項目には、読込対象のデータテーブルの名前が設定される。入力フィールドを示す項目には、読込対象のフィールドの名前が設定される。ただし、データテーブルに含まれる全てのフィールドが読込対象であるときは“*”が設定される。入力画面を示す項目には、値の入力が可能な操作画面の名前が設定される。入力画面項目を示す項目には、操作画面を介して入力を受け付ける項目名が設定される。引継フィールドを示す項目には、読込対象のデータテーブルまたは操作画面を介した入力から更新対象のデータテーブルへと値が引き継がれる、フィールドまたは項目の名前が設定される。
出力テーブルを示す項目には、更新対象のデータテーブルの名前が設定される。出力処理を示す項目には、更新処理の種別が設定される。具体的には、レコードの追加を示す“INSERT”、レコードの更新を示す“UPDATE”、レコードの削除を示す“DELETE”の何れかの値が設定される。出力フィールドを示す項目には、書込対象フィールドの名前が設定される。ただし、データテーブルに含まれる全てのフィールドが書込対象であるときは“*”が設定される。条件を示す項目には、分岐制御における分岐条件の内容が設定される。
経路情報テーブル151は、経路抽出部140によって生成される。例えば、IDが“4−1”、プログラムが“発注処理”、入力テーブルが“受注”、入力フィールドが“受注番号”と“受注内容”、引継フィールドが“受注番号”、出力テーブルが“手配”、出力処理が“INSERT”、出力フィールドが“*”、条件が“在庫>0”という情報が格納される。これは、図8に示した発注処理プログラムに含まれる、在庫がある場合の処理経路に対応するものである。
図16は、グループ抽出処理の手順を示すフローチャートである。以下、図16に示す処理ステップ番号に沿って説明する。
[ステップS41]グループ抽出部145は、プログラム情報記憶部130に格納されているメインプログラムについてのプログラム情報のうち未選択のものを1つ選択する。そして、グループ抽出部145は、選択したプログラム情報を構文解析し、各ステップの処理の順序関係を特定する。
[ステップS41]グループ抽出部145は、プログラム情報記憶部130に格納されているメインプログラムについてのプログラム情報のうち未選択のものを1つ選択する。そして、グループ抽出部145は、選択したプログラム情報を構文解析し、各ステップの処理の順序関係を特定する。
[ステップS42]グループ抽出部145は、新たな画面グループを作成する。作成される画面グループの初期状態は空集合である。
[ステップS43]ステップS41で選択したプログラム情報に含まれる命令を、実行順序に沿って1つ選択する。
[ステップS43]ステップS41で選択したプログラム情報に含まれる命令を、実行順序に沿って1つ選択する。
[ステップS44]グループ抽出部145は、ステップS43で選択した命令が操作画面に関する命令であるか否か判断する。操作画面に関する命令である場合には、処理がステップS45に進められる。操作画面に関する命令でない場合には、処理がステップS47に進められる。
[ステップS45]グループ抽出部145は、操作画面の名前を特定する。
[ステップS46]グループ抽出部145は、ステップS44で特定した操作画面の名前が、ステップS42で作成した画面グループに含まれていない場合に、画面グループにその操作画面の名前を追加する。その後、処理がステップS49に進められる。
[ステップS46]グループ抽出部145は、ステップS44で特定した操作画面の名前が、ステップS42で作成した画面グループに含まれていない場合に、画面グループにその操作画面の名前を追加する。その後、処理がステップS49に進められる。
[ステップS47]グループ抽出部145は、ステップS43で選択した命令が制御構造に関する命令であるか否か判断する。制御構造に関する命令である場合には、処理がステップS48に進められる。制御構造に関する命令でない場合には、処理がステップS49に進められる。
[ステップS48]グループ抽出部145は、制御構造に従って経路を辿る。すなわち、グループ抽出部145は、命令が関数呼び出しである場合、呼び出し先の関数プログラムのプログラム情報を構文解析し、その関数プログラムの先頭に移動する。また、分岐命令である場合、その分岐条件を保持しておき、分岐先の経路のうち未選択のものを1つ選択して経路を辿る。その後、処理がステップS49に進められる。
[ステップS49]グループ抽出部145は、実行順序に沿って次に選択すべき命令が存在するか否か判断する。次に選択すべき命令がある場合には、処理がステップS43に進められる。次に選択すべき命令がない場合には、処理がステップS50に進められる。
[ステップS50]グループ抽出部145は、ステップS48で未選択の分岐先の経路が存在するか否か判断する。未選択の分岐先の経路が存在する場合には、処理がステップS51に進められる。未選択の分岐先の経路が存在しない場合には、処理がステップS52に進められる。
[ステップS51]グループ抽出部145は、ステップS41で選択したメインプログラムの先頭に戻る。その後、処理がステップS43に進められる。
[ステップS52]グループ抽出部145は、画面グループに含まれる操作画面の名前の一覧である画面グループ情報を生成し、経路情報記憶部150に格納する。そして、グループ抽出部145は、ステップS42で作成した画面グループを破棄する。
[ステップS52]グループ抽出部145は、画面グループに含まれる操作画面の名前の一覧である画面グループ情報を生成し、経路情報記憶部150に格納する。そして、グループ抽出部145は、ステップS42で作成した画面グループを破棄する。
[ステップS53]グループ抽出部145は、ステップS41で未選択のメインプログラムが存在するか否か判断する。未選択のメインプログラムが存在する場合には、処理がステップS41に進められる。全てのメインプログラムを選択した場合には、グループ抽出処理が終了する。
このようにして、グループ抽出部145は、複数の処理経路に跨るか否かに拘わらず、連続的に経路を辿って到達可能な操作画面の集合を画面グループと判定する。そして、グループ抽出部145は、画面グループ情報を生成して経路情報記憶部150に格納する。
図17は、画面グループテーブルのデータ構造例を示す図である。図17に示す画面グループテーブル152は、経路情報記憶部150に格納されている。画面グループテーブル152には、グループIDを示す項目と画面名を示す項目とが設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの画面グループが定義されている。
グループIDを示す項目には、画面グループを一意に識別するための識別番号が設定される。画面名を示す項目には、その画面グループに属する操作画面の名前の一覧が設定される。画面グループテーブル152は、グループ抽出部145によって生成される。
例えば、グループIDが“1”、画面名が“注文入力,注文変更,注文削除”という情報が格納される。これは、図7に示した通り、注文入力画面、注文変更画面、注文削除画面が、経路を連続的に辿ることで到達可能な操作画面であることを示している。なお、受注処理プログラムで表示されるトップ画面は、値の入力を行うための画面ではないため、抽出されない。
図18は、第1の経路対応付処理の手順を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS61]経路対応付部160は、運用情報記憶部120に格納されている運用情報テーブル122に基づいて、図13に示したような有向グラフを表示し、利用者に遷移関係を1つ選択させる。
[ステップS61]経路対応付部160は、運用情報記憶部120に格納されている運用情報テーブル122に基づいて、図13に示したような有向グラフを表示し、利用者に遷移関係を1つ選択させる。
[ステップS62]経路対応付部160は、経路情報記憶部150に格納されている経路情報テーブル151を検索して、ステップS61で利用者が選択した遷移関係に対応する処理経路の候補を抽出する。具体的には、経路対応付部160は、遷移関係の遷移元のデータテーブルと処理経路の読込対象のデータテーブルとが一致し、かつ、遷移関係の遷移先のデータテーブルと処理経路の更新対象のデータテーブルとが一致する全ての処理経路を、対応付の候補として抽出する。
[ステップS63]経路対応付部160は、ステップS62で候補となる処理経路を1つ以上抽出できたか否か判断する。抽出できた場合には、処理がステップS64に進められる。抽出できなかった場合には、ステップS66に進められる。
[ステップS64]経路対応付部160は、ステップS62で抽出した処理経路の経路情報の一覧を表示し、利用者に処理経路を1つ選択させる。
[ステップS65]経路対応付部160は、ステップS64で利用者が選択した処理経路を、ステップS61で選択された遷移関係に対応付ける。
[ステップS65]経路対応付部160は、ステップS64で利用者が選択した処理経路を、ステップS61で選択された遷移関係に対応付ける。
[ステップS66]経路対応付部160は、ステップS61で全ての遷移関係が選択されたか否か判断する。全ての遷移関係が選択された場合には、経路対応付処理が終了する。未選択の遷移関係が存在する場合には、処理がステップS61に進められる。
このようにして、経路対応付部160は、利用者が遷移関係を1つ選択する毎に、対応付の候補となる処理経路を抽出して表示する。そして、経路対応付部160は、候補の中から利用者が選択した処理経路を、その遷移関係に対応付ける。
図19は、経路対応付処理における操作画面例を示す図である。図19に示す画面51は、経路対応付部160によって表示される画面である。画面51には、データテーブル間の遷移関係を視覚的に表現した有向グラフが表示される。ここで、利用者が1つ遷移関係を選択すると、対応する処理経路の候補が画面51内の領域51aに表示される。利用者は、領域51aに表示された処理経路の中から1つを選択することができる。
例えば、利用者によって受注テーブルから受注テーブルへの遷移関係が選択されると、経路対応付部160によって図15に示した経路情報テーブル151が検索され、入力テーブルの項目と出力テーブルの項目が共に“受注”である処理経路の経路情報が抽出される。すなわち、IDが“2”の経路情報とIDが“3”の経路情報とが抽出される。ここで、領域51aには、経路情報テーブル151に格納されている種々の情報が表示されるため、利用者はこれらを手掛かりに適切な処理経路、すなわち、実際の業務で使用されていると考えられる処理経路を判断することができる。
なお、図18に示した経路対応付処理では、利用者が遷移関係を1つずつ選択していくこととしたが、経路対応付部160は、他の方法で経路対応付を行うこともできる。業務分析装置100の利用者は、経路対応付部160に対して、用いる経路対応付の方法を指定することができる。以下、他の経路対応付処理の例を2つ示す。
図20は、第2の経路対応付処理の手順を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップS71]経路対応付部160は、運用情報記憶部120に格納されている運用情報テーブル122に基づいて、遷移関係を1つ選択する。
[ステップS71]経路対応付部160は、運用情報記憶部120に格納されている運用情報テーブル122に基づいて、遷移関係を1つ選択する。
[ステップS72]経路対応付部160は、経路情報記憶部150に格納されている経路情報テーブル151を、データテーブルの名前を検索条件として検索し、ステップS71で選択した遷移関係に対応する処理経路の候補を全て抽出する。
[ステップS73]経路対応付部160は、ステップS72で候補となる処理経路を1つ以上抽出できたか否か判断する。抽出できた場合には、処理がステップS74に進められる。抽出できなかった場合には、ステップS75に進められる。
[ステップS74]経路対応付部160は、ステップS72で抽出した全ての処理経路の候補を、ステップS71で選択した遷移関係に対応付ける。
[ステップS75]経路対応付部160は、ステップS71で全ての遷移関係を選択したか否か判断する。全ての遷移関係を選択した場合には、処理がステップS76に進められる。未選択の遷移関係が存在する場合には、処理がステップS71に進められる。
[ステップS75]経路対応付部160は、ステップS71で全ての遷移関係を選択したか否か判断する。全ての遷移関係を選択した場合には、処理がステップS76に進められる。未選択の遷移関係が存在する場合には、処理がステップS71に進められる。
[ステップS76]経路対応付部160は、複数の処理経路の候補が対応付けられている遷移関係を1つ選択する。
[ステップS77]経路対応付部160は、候補となる処理経路の経路情報の一覧を表示し、利用者に処理経路を1つ選択させる。
[ステップS77]経路対応付部160は、候補となる処理経路の経路情報の一覧を表示し、利用者に処理経路を1つ選択させる。
[ステップS78]経路対応付部160は、ステップS77で利用者が選択した処理経路を、ステップS71で選択された遷移関係に対応付ける処理経路に決定する。
[ステップS79]経路対応付部160は、ステップS76で複数の処理経路の候補が対応付けられている遷移関係を全て選択したか否か判断する。全て選択した場合には、経路対応付処理が終了する。未選択の遷移関係が存在する場合には、処理がステップS76に進められる。
[ステップS79]経路対応付部160は、ステップS76で複数の処理経路の候補が対応付けられている遷移関係を全て選択したか否か判断する。全て選択した場合には、経路対応付処理が終了する。未選択の遷移関係が存在する場合には、処理がステップS76に進められる。
このようにして、経路対応付部160は、各遷移関係に対して処理経路の候補を仮に対応付ける。そして、候補が複数ある遷移関係についてのみ、実際に対応付ける処理経路を利用者に選択させる。これにより、利用者の操作入力の負担を軽減することができる。
図21は、第3の経路対応付処理の手順を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
[ステップS81]経路対応付部160は、運用情報記憶部120に格納されている運用情報テーブル122に基づいて、遷移関係を1つ選択する。
[ステップS81]経路対応付部160は、運用情報記憶部120に格納されている運用情報テーブル122に基づいて、遷移関係を1つ選択する。
[ステップS82]経路対応付部160は、経路情報記憶部150に格納されている経路情報テーブル151を、データテーブルの名前を検索条件として検索し、ステップS81で選択した遷移関係に対応する処理経路の候補を全て抽出する。
[ステップS83]経路対応付部160は、ステップS82で候補となる処理経路を1つ以上抽出できたか否か判断する。抽出できた場合には、処理がステップS84に進められる。抽出できなかった場合には、ステップS87に進められる。
[ステップS84]経路対応付部160は、ステップS82で候補となる処理経路が複数抽出されたか否か判断する。複数抽出された場合には、処理がステップS85に進められる。1つだけ抽出された場合には、処理がステップS86に進められる。
[ステップS85]経路対応付部160は、ステップS82で抽出した処理経路の候補を、引継フィールドを条件として絞り込む。すなわち、経路対応付部160は、処理経路における引継フィールドが遷移関係における引継フィールドと一致する、処理経路を選択する。
[ステップS86]経路対応付部160は、ステップS82で抽出した処理経路の候補が1つであるときはその処理経路を、複数あるときはステップS85の絞り込みにより得られた処理経路を、ステップS81で選択した遷移関係に対応付ける。
[ステップS87]経路対応付部160は、ステップS81で全ての遷移関係を選択したか否か判断する。全ての遷移関係を選択した場合には、経路対応付処理が終了する。未選択の遷移関係が存在する場合には、処理がステップS81に進められる。
このようにして、経路対応付部160は、処理経路の候補が1つである遷移関係についてはその処理経路を対応付け、処理経路の候補が複数である遷移関係については引継フィールドを用いて絞り込んで対応付ける。これにより、全ての遷移関係に対して自動で処理経路を対応付けることができ、利用者の操作入力の負担を更に軽減することができる。
図22は、経路対応付処理後の表示画面例を示す図である。図22に示す画面52は、図18,20,21に示した何れかの経路対応付処理が完了し、対応付結果が経路対応付部160からフロー図生成部165に通知された直後に表示される画面である。画面52には、データテーブル、業務プログラム、操作画面、分岐条件の関係を視覚的に表現した有向グラフが表示される。
画面52で表示される有向グラフでは、データテーブルに相当するノードと遷移関係に相当するリンクとが記述され、リンクの途中に業務プログラムに相当するノードが挿入されている。また、操作画面に相当するノードと分岐条件を表すノードとが、業務プログラムのノードに接続されている。なお、1つのデータテーブルのノードから出ている複数のリンクに、同一の業務プログラムのノードを挿入する必要があるときは、リンク毎に業務プログラムのノードを挿入せずに纏めるようにする。これにより、有向グラフの理解容易性が向上する。
図23は、表示位置決定処理の手順を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。
[ステップS91]フロー図生成部165は、経路対応付部160から通知された対応付結果に基づいて、業務フロー図で表されるノードとリンクを特定する。そして、フロー図生成部165は、データテーブルのノードの順序付けを行う。順序は、開始ノードからの距離が近い順とする。
[ステップS91]フロー図生成部165は、経路対応付部160から通知された対応付結果に基づいて、業務フロー図で表されるノードとリンクを特定する。そして、フロー図生成部165は、データテーブルのノードの順序付けを行う。順序は、開始ノードからの距離が近い順とする。
[ステップS92]フロー図生成部165は、ステップS91で決定した順序でデータテーブルのノードを所定の方向に並べ、各データテーブルのノードの配置を決定する。例えば、フロー図生成部165は、表示領域の左上から右下に向かってデータテーブルのノードを並べる。なお、業務分析装置100の利用者が並べる方向を明示的に指定したときは、指定された方向にノードを並べる。
[ステップS93]フロー図生成部165は、各データテーブルのノード上を境界線が通るようにレーンを作成する。例えば、ステップS92で左上から右下へ向かってデータテーブルのノードを並べた場合、縦方向にレーンを作成する。
[ステップS94]フロー図生成部165は、経路情報記憶部150に格納されている画面グループテーブル152から画面グループ情報を取得する。そして、フロー図生成部165は、同一の画面グループに属する操作画面のノードが同一のレーンに属するように、業務プログラムのノードおよび操作画面のノードの配置を決定する。また、フロー図生成部165は、対応する業務プログラムのノードの近くになるように、分岐条件のノードの配置を決定する。
[ステップS95]フロー図生成部165は、ステップS91〜S94の処理を通じて得られた業務フロー図を表示し、利用者に各レーンの名前を入力させる。そして、フロー図生成部165は、入力されたレーン名を各レーンに対応付ける。その後、フロー図生成部165は、得られた業務フロー図を示すフロー情報を生成し、フロー情報記憶部170に格納する。
このようにして、フロー図生成部165は、データテーブルのノードを順序付けして並べると共に、各データテーブルのノードを境界としてレーン分けを行う。そして、フロー図生成部165は、同一の画面グループに属する操作画面が同一のレーンに属するように、業務プログラムのノードおよび操作画面のノードの配置を決める。これにより、連続した操作に関するノードが同一レーン内に表示されることになる。
図24は、フロー情報ファイルのデータ構造例を示す図である。図24に示すフロー情報ファイル171は、フロー情報記憶部170に格納されている。フロー情報ファイル171では、フロー情報がXML形式で記述されている。フロー情報ファイル171は、業務フロー図を構成する各ノードおよびリンクを記述した領域171aと、レーンを記述した領域171bとの2つの領域から構成される。
領域171aでは、1つの遷移関係が1つのflowタグとして記述される。flowタグの子要素として、fromタグ、processタグ、toタグが記述される。更に、必要に応じてprocessタグの子要素として、screenタグ、conditionタグが記述される。
fromタグには、遷移元のデータテーブルの名前を示す属性とノードの位置を示す属性とが設定される。processタグには、業務プログラムの名前を示す属性、遷移関係の識別情報を示す属性、ノードの位置を示す属性が設定される。toタグには、遷移先のデータテーブルの名前を示す属性とノードの位置を示す属性とが設定される。screenタグには、操作画面の名前を示す属性とノードの位置を示す属性とが設定される。conditionタグには、分岐条件を示す属性とノードの位置を示す属性とが設定される。
領域171bでは、1つのレーンが1つのlaneタグとして記述される。laneタグには、レーンの名前を示す属性、レーンの左側の位置を示す属性、レーンの右側の位置を示す属性が設定される。なお、これは、レーンが縦方向に設定された場合の例である。レーンが横方向に設定された場合は、上側の位置を示す属性と下側の位置を示す属性とが設定されることになる。
図25は、業務フロー図の第1の表示例を示す図である。図25に示す画面53は、図24に示したフロー情報に基づいて、フロー図表示部180が表示する画面である。画面53では、データテーブルのノードが左上から右下の方向に並べられており、4つのレーンに分けられた状態で、業務フロー図が表示されている。各レーンに付された“受注部門”、“発注部門”、“生産部門”、“配送部門”という名前は、利用者によって入力されたものである。
ここで、受注処理プログラムのノードは、開始ノードと受注テーブルのノードとの間に配置されるべきものであるため、最も左側の受注部門レーンに属している。また、受注処理プログラムのノードと接続される受注入力画面のノードも、受注処理プログラムのノードと同一の受注部門レーンに属する。
一方、もう1つの受注処理プログラムのノードおよびこれに接続される受注変更画面のノードは、受注部門レーンと発注部門レーンの何れに属するべきか問題となるが、受注変更画面は受注入力画面と同一画面グループを構成するため、受注部門レーンに属することになる。このようにレーン分けを行うことで、業務プログラムや操作画面の間の関連性の理解が容易となる。
なお、図25ではデータテーブルのノード、業務プログラムのノード、操作画面のノード、分岐条件のノードの全てを表示しているが、利用者の操作入力に応答して、フロー図表示部180が一部の種類のノードを非表示にすることもできる。
図26は、業務フロー図の第2の表示例を示す図である。図26に示す画面54は、フロー図表示部180によって表示される画面であり、図25に示した画面53から操作画面のノードを非表示としたものである。画面54で表示される業務フロー図は、業務プログラムとデータテーブルの更新との対応関係に特に注目する場合に有効である。
図27は、業務フロー図の第3の表示例を示す図である。図27に示す画面55は、フロー図表示部180によって表示される画面であり、図25に示した画面53から業務プログラムのノードを非表示としたものである。画面55で表示される業務フロー図は、操作画面とデータテーブルの更新との対応関係に特に注目する場合に有効である。
このような業務分析システムを用いることで、業務システムの運用状況が適切に反映された業務フロー図を得ることができる。ここで、データ処理の結果であるデータテーブルに基づいて業務フロー図を生成するため、分析に必要な情報を得るために業務プログラムを改変する必要はない。
また、プログラム情報も併せて分析するため、データテーブル、業務プログラム、操作画面、分岐条件を表現した業務フロー図を生成できる。従って、これらの対応関係の理解が容易となる。また、必要に応じてその一部のみを表示させることも可能である。更に、画面グループに応じて業務フロー図が自動的にレーン分けされるため、理解容易性がより向上する。
なお、本実施の形態では、データテーブル自体を分析して運用情報を生成することとしたが、データベースサーバ200,200aが出力する更新ログを分析して運用情報を生成することも可能である。また、本実施の形態では、処理経路の抽出と画面グループの抽出とを別々に行ったが、この2つをプログラム情報を1回分析する間に同時に行うことも可能である。また、本実施の形態では、運用情報抽出処理、経路抽出処理、グループ抽出処理の順に処理を行ったが、これら3つの処理の順番を入れ替えてもよい。
以上、本発明の業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、業務分析装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 コンピュータ
1a 運用情報記憶手段
1b プログラム情報記憶手段
1c 経路抽出手段
1d 経路対応付手段
1e フロー図生成手段
2 データベースサーバ
3 業務サーバ
4 業務フロー図
1a 運用情報記憶手段
1b プログラム情報記憶手段
1c 経路抽出手段
1d 経路対応付手段
1e フロー図生成手段
2 データベースサーバ
3 業務サーバ
4 業務フロー図
Claims (7)
- 業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成プログラムにおいて、
コンピュータを、
前記業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された2つの前記データ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段、
前記業務処理を前記業務システムにて実現するための1以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段、
前記プログラム情報記憶手段に記憶された前記プログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段、
前記運用情報記憶手段に記憶された前記運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付ける経路対応付手段、
前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段、
として機能させることを特徴とする業務フロー図生成プログラム。 - 前記コンピュータを、更に、前記プログラム情報から、1以上の前記処理経路を連続的に辿ることで到達可能な前記操作画面の集合である画面グループを抽出するグループ抽出手段として機能させ、
前記フロー図生成手段は、前記グループ抽出手段の抽出結果に基づいて、同一の前記画面グループに属する前記操作画面の情報が同一レーンに配置されるように前記業務フロー図をレーン分けする、
ことを特徴とする請求項1記載の業務フロー図生成プログラム。 - 前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路が属する前記業務プログラムを示す情報を更に付加することを特徴とする請求項1記載の業務フロー図生成プログラム。
- 前記経路抽出手段は、各処理経路で行われる分岐判断の分岐条件を示す情報を前記経路情報に含めて生成し、
前記フロー図生成手段は、前記リンクに対し当該リンクに対応する前記処理経路に含まれる前記分岐条件を示す情報を更に付加する、
ことを特徴とする請求項1記載の業務フロー図生成プログラム。 - 前記運用情報には、各遷移関係について、遷移元の前記データ集合のデータ項目のうち遷移先の前記データ集合の何れかのデータ項目に値が引き継がれている運用引継項目を示す情報が含まれており、
前記経路抽出手段は、各処理経路について、読込処理で値を読み込むデータ項目のうち更新処理で当該値が使用される経路引継項目を示す情報を前記経路情報に含めて生成し、
前記経路対応付手段は、前記データ集合間の一致に加えて、前記運用引継項目と前記経路引継項目との一致を条件として対応付を行う、
ことを特徴とする請求項1記載の業務フロー図生成プログラム。 - 業務システムの運用状況に応じた業務フロー図を生成する業務フロー図生成装置において、
前記業務システムの運用時に、複数のデータ集合に対する更新処理を伴う業務処理によって連続して更新された2つの前記データ集合間の関係である遷移関係を示す運用情報を記憶する運用情報記憶手段と、
前記業務処理を前記業務システムにて実現するための1以上の業務プログラムの処理手順を示すプログラム情報を記憶するプログラム情報記憶手段と、
前記プログラム情報記憶手段に記憶された前記プログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成する経路抽出手段と、
前記運用情報記憶手段に記憶された前記運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付ける経路対応付手段と、
前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成するフロー図生成手段と、
を有することを特徴とする業務フロー図生成装置。 - 業務システムの運用状況に応じた業務フロー図を生成するコンピュータによる業務フロー図生成方法において、
経路抽出手段が、複数のデータ集合に対する更新処理を伴う業務処理を前記業務システムにて実現するための1以上の業務プログラムの処理手順を示すプログラム情報記憶手段に記憶されたプログラム情報から処理経路を抽出し、各処理経路で行われる前記データ集合に対する読込処理および更新処理と当該処理経路で表示される操作画面とを示す経路情報を生成し、
経路対応付手段が、前記業務システムの運用時に前記業務処理によって連続して更新された2つの前記データ集合間の関係である遷移関係を示す運用情報記憶手段に記憶された運用情報で示される各遷移関係に対し、前記経路抽出手段が生成した前記経路情報で示される前記処理経路のうち、読込対象の前記データ集合が遷移元の前記データ集合と一致し更新対象の前記データ集合が遷移先の前記データ集合と一致する前記処理経路を対応付け、
フロー図生成手段が、前記経路対応付手段の対応付結果に基づいて、前記データ集合をノードとし前記遷移関係をリンクとし、前記リンクに対し当該リンクに対応する前記処理経路で表示される前記操作画面を示す情報を付加した業務フロー図を生成する、
ことを特徴とする業務フロー図生成方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/060695 WO2008146341A1 (ja) | 2007-05-25 | 2007-05-25 | 業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008146341A1 JPWO2008146341A1 (ja) | 2010-08-12 |
JP4796185B2 true JP4796185B2 (ja) | 2011-10-19 |
Family
ID=40074629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009516082A Expired - Fee Related JP4796185B2 (ja) | 2007-05-25 | 2007-05-25 | 業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100042745A1 (ja) |
JP (1) | JP4796185B2 (ja) |
WO (1) | WO2008146341A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5316216B2 (ja) * | 2009-05-18 | 2013-10-16 | 富士通株式会社 | 対応付け処理方法及びフロー比較処理装置 |
US9612641B2 (en) * | 2010-11-17 | 2017-04-04 | International Business Machines Corporation | Adjusting the connection idle timeout in connection pools |
US8688499B1 (en) * | 2011-08-11 | 2014-04-01 | Google Inc. | System and method for generating business process models from mapped time sequenced operational and transaction data |
US20130067069A1 (en) | 2011-09-13 | 2013-03-14 | International Business Machines Corporation | Flow topology of computer transactions |
US8626543B2 (en) * | 2011-10-08 | 2014-01-07 | Sap Ag | Tracing software execution of a business process |
US9183525B2 (en) | 2013-09-25 | 2015-11-10 | GlobalFoundries, Inc. | Method and system for identifying and visualizing work transfers using financial data |
WO2015155880A1 (ja) * | 2014-04-11 | 2015-10-15 | 株式会社 日立製作所 | 業務分析装置、及び業務分析方法 |
US10133996B2 (en) * | 2014-04-22 | 2018-11-20 | International Business Machines Corporation | Object lifecycle analysis tool |
US10600012B2 (en) * | 2015-05-01 | 2020-03-24 | The United States Of America, As Represented By The Secretary Of The Navy | Human-machine visualization interfaces and processes for providing real time or near real time actionable information relative to one or more elements of one or more networks, networks, and systems of networks |
US10101995B2 (en) | 2016-07-15 | 2018-10-16 | Microsoft Technology Licensing, Llc | Transforming data manipulation code into data workflow |
CN107168703A (zh) * | 2017-05-11 | 2017-09-15 | 山大鲁能信息科技有限公司 | 一种基于svg插件的流程图生成方法及系统 |
CN109559094A (zh) * | 2018-11-21 | 2019-04-02 | 恒生电子股份有限公司 | 流程差异的显示方法、装置、服务器和存储介质 |
JP7139976B2 (ja) * | 2019-01-29 | 2022-09-21 | 日本電信電話株式会社 | ログ可視化装置、ログ可視化方法およびログ可視化プログラム |
CN110309034B (zh) * | 2019-06-13 | 2023-05-16 | 阿里巴巴集团控股有限公司 | 业务流转链路视图生成方法及装置 |
JP7295291B2 (ja) * | 2019-10-09 | 2023-06-20 | Nttテクノクロス株式会社 | 操作ログ解析装置、操作ログ解析方法及びプログラム |
CN111506494B (zh) * | 2020-02-25 | 2023-07-07 | 中信银行股份有限公司 | 一种业务流程实例化的方法 |
CN111563076B (zh) * | 2020-05-09 | 2023-06-30 | 咪咕文化科技有限公司 | 数据稽核方法、装置、网络设备及存储介质 |
CN112784133B (zh) * | 2021-01-22 | 2024-05-17 | 中信银行股份有限公司 | 链路可视化方法、装置、设备及存储介质 |
JP7399900B2 (ja) * | 2021-01-28 | 2023-12-18 | 株式会社日立製作所 | データ処理システム、データ処理方法及びデータ処理プログラム |
JP7442592B1 (ja) | 2022-09-05 | 2024-03-04 | 株式会社日立製作所 | 業務管理装置システム、業務管理方法及び業務管理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020298A (ja) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | ソフトウェア開発支援装置 |
JP2000040104A (ja) * | 1998-07-23 | 2000-02-08 | Hitachi Ltd | ワークフロー管理方法 |
JP2005505862A (ja) * | 2001-10-18 | 2005-02-24 | ハンディソフト カンパニー リミテッド | ワークフローマイニングシステム及び方法(SystemandMethodforWorkflowMining) |
JP2006260171A (ja) * | 2005-03-17 | 2006-09-28 | Fujitsu Ltd | ワークフロー表示装置、ワークフロー表示方法、ワークフロー表示プログラム |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860204A (en) * | 1987-02-05 | 1989-08-22 | Softron, Inc. | Computer based workstation for development of graphic representation of computer programs |
US5335342A (en) * | 1991-05-31 | 1994-08-02 | Tiburon Systems, Inc. | Automated software testing system |
US5630069A (en) * | 1993-01-15 | 1997-05-13 | Action Technologies, Inc. | Method and apparatus for creating workflow maps of business processes |
US5734837A (en) * | 1994-01-14 | 1998-03-31 | Action Technologies, Inc. | Method and apparatus for building business process applications in terms of its workflows |
US6064812A (en) * | 1996-09-23 | 2000-05-16 | National Instruments Corporation | System and method for developing automation clients using a graphical data flow program |
US6202199B1 (en) * | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
DE69811790T2 (de) * | 1997-08-01 | 2003-11-20 | International Business Machines Corp., Armonk | Ableitung von Prozessmodellen aus Rechnungsprüfvorgängen für Systeme zur Verwaltung von Arbeitsflüssen |
US6353924B1 (en) * | 1999-02-08 | 2002-03-05 | Incert Software Corporation | Method for back tracing program execution |
US7010530B2 (en) * | 2000-01-06 | 2006-03-07 | George P. Johnson Company | Event management system |
US20020087949A1 (en) * | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
US6580440B1 (en) * | 2000-04-05 | 2003-06-17 | Ncr Corporation | System and method for automatically creating and updating a graphical user interface |
US6920609B1 (en) * | 2000-08-24 | 2005-07-19 | Yahoo! Inc. | Systems and methods for identifying and extracting data from HTML pages |
US7246263B2 (en) * | 2000-09-20 | 2007-07-17 | Jpmorgan Chase Bank | System and method for portal infrastructure tracking |
US7367017B2 (en) * | 2001-01-31 | 2008-04-29 | Hewlett-Packard Development Company, L.P. | Method and apparatus for analyzing machine control sequences |
US6823054B1 (en) * | 2001-03-05 | 2004-11-23 | Verizon Corporate Services Group Inc. | Apparatus and method for analyzing an automated response system |
US7219094B2 (en) * | 2001-05-10 | 2007-05-15 | Siemens Medical Solutions Health Services Corporation | Method and system for providing an adaptive interface for use in interrogating an application |
US7380239B1 (en) * | 2001-05-31 | 2008-05-27 | Oracle International Corporation | Method and mechanism for diagnosing computer applications using traces |
US20030036942A1 (en) * | 2001-06-21 | 2003-02-20 | Wescott James M. | Project evaluation template |
US7120901B2 (en) * | 2001-10-26 | 2006-10-10 | International Business Machines Corporation | Method and system for tracing and displaying execution of nested functions |
US7103876B1 (en) * | 2001-12-26 | 2006-09-05 | Bellsouth Intellectual Property Corp. | System and method for analyzing executing computer applications in real-time |
US7165190B1 (en) * | 2002-07-29 | 2007-01-16 | Oracle International Corporation | Method and mechanism for managing traces within a computer system |
US7200588B1 (en) * | 2002-07-29 | 2007-04-03 | Oracle International Corporation | Method and mechanism for analyzing trace data using a database management system |
US7490031B1 (en) * | 2002-12-03 | 2009-02-10 | Gang Qiu | Mechanization of modeling, simulation, amplification, and intelligence of software |
US7590715B1 (en) * | 2003-03-03 | 2009-09-15 | Emc Corporation | Method and system for automatic classification of applications and services by packet inspection |
US7647370B1 (en) * | 2003-10-24 | 2010-01-12 | Verizon Data Services Llc | Screen scraping interface |
CA2453728A1 (en) * | 2003-12-17 | 2005-06-17 | Ibm Canada Limited-Ibm Canada Limitee | A method and system for presenting event flows using sequence diagrams |
US7493593B2 (en) * | 2004-03-18 | 2009-02-17 | International Business Machines Corporation | Method for generating a business process execution language for web services executable workflow code from an unstructured cyclic business process model |
US7941439B1 (en) * | 2004-03-31 | 2011-05-10 | Google Inc. | Methods and systems for information capture |
US20050223361A1 (en) * | 2004-04-01 | 2005-10-06 | Belbute John L | Software testing based on changes in execution paths |
GB0412104D0 (en) * | 2004-05-29 | 2004-06-30 | Ibm | Apparatus method and program for recording diagnostic trace information |
US7644397B2 (en) * | 2004-06-19 | 2010-01-05 | Apple Inc. | Software performance analysis using data mining |
US7428724B2 (en) * | 2004-06-30 | 2008-09-23 | United Technologies Corporation | Interactive interface for engineering standard work |
US7607119B2 (en) * | 2005-04-26 | 2009-10-20 | Microsoft Corporation | Variational path profiling |
US7734492B2 (en) * | 2005-04-26 | 2010-06-08 | Xerox Corporation | Validation and analysis of JDF workflows using colored petri nets |
US7900193B1 (en) * | 2005-05-25 | 2011-03-01 | Parasoft Corporation | System and method for detecting defects in a computer program using data and control flow analysis |
US20060287911A1 (en) * | 2005-06-21 | 2006-12-21 | Honeywell International Inc. | Competitive usability assessment system |
US20070021995A1 (en) * | 2005-07-20 | 2007-01-25 | Candemir Toklu | Discovering patterns of executions in business processes |
US8711142B2 (en) * | 2005-08-11 | 2014-04-29 | International Business Machines Corporation | Visual model importation |
US7861226B1 (en) * | 2006-03-16 | 2010-12-28 | Avaya Inc. | Constraint solver to code based test data generation for improving software reliability and security |
US8527313B2 (en) * | 2006-05-15 | 2013-09-03 | Sap Ag | Document instantiation triggering a business action |
US20070276714A1 (en) * | 2006-05-15 | 2007-11-29 | Sap Ag | Business process map management |
US20080154658A1 (en) * | 2006-12-21 | 2008-06-26 | Patrick Fallon | Method and System for Simulating an On-Line Credit Application |
US7840515B2 (en) * | 2007-02-16 | 2010-11-23 | Panasonic Corporation | System architecture and process for automating intelligent surveillance center operations |
US8079020B2 (en) * | 2007-03-05 | 2011-12-13 | Microsoft Corporation | Preferential path profiling |
JP4282727B2 (ja) * | 2007-03-13 | 2009-06-24 | 富士通株式会社 | 業務分析プログラムおよび業務分析装置 |
US20080282160A1 (en) * | 2007-04-06 | 2008-11-13 | James Ian Tonnison | Designated screen capturing and automatic image exporting |
US7739553B2 (en) * | 2007-05-31 | 2010-06-15 | Microsoft Corporation | System crash analysis using path tracing technologies |
US8484626B2 (en) * | 2007-09-28 | 2013-07-09 | Verizon Patent And Licensing Inc. | Generic XML screen scraping |
US20090094074A1 (en) * | 2007-10-04 | 2009-04-09 | Nikovski Daniel N | Method for Constructing Business Process Models from Task Execution Traces |
US20090281865A1 (en) * | 2008-05-08 | 2009-11-12 | Todor Stoitsev | Method and system to manage a business process |
US8392887B2 (en) * | 2009-06-15 | 2013-03-05 | Sas Institute Inc. | Systems and methods for identifying graphic user-interface components |
-
2007
- 2007-05-25 WO PCT/JP2007/060695 patent/WO2008146341A1/ja active Application Filing
- 2007-05-25 JP JP2009516082A patent/JP4796185B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-19 US US12/588,547 patent/US20100042745A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020298A (ja) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | ソフトウェア開発支援装置 |
JP2000040104A (ja) * | 1998-07-23 | 2000-02-08 | Hitachi Ltd | ワークフロー管理方法 |
JP2005505862A (ja) * | 2001-10-18 | 2005-02-24 | ハンディソフト カンパニー リミテッド | ワークフローマイニングシステム及び方法(SystemandMethodforWorkflowMining) |
JP2006260171A (ja) * | 2005-03-17 | 2006-09-28 | Fujitsu Ltd | ワークフロー表示装置、ワークフロー表示方法、ワークフロー表示プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2008146341A1 (ja) | 2010-08-12 |
WO2008146341A1 (ja) | 2008-12-04 |
US20100042745A1 (en) | 2010-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4796185B2 (ja) | 業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法 | |
US7613713B2 (en) | Data ecosystem awareness | |
US7565613B2 (en) | User interface incorporating data ecosystem awareness | |
US7653638B2 (en) | Data ecosystem awareness | |
JP4287234B2 (ja) | 業務プロセストラッキング装置,業務プロセストラッキング方法,業務プロセストラッキングプログラム,業務プロセストラッキングプログラムを記録した記録媒体 | |
CN102915237B (zh) | 根据用户应用程序要求改写数据质量规则的方法和系统 | |
JP6008693B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
CN104412227A (zh) | 基于查询的软件系统设计表示 | |
US20050223325A1 (en) | Document structure-editing program, document structure-editing method, document structure-editing apparatus, and computer-readable recording medium having document structure-editing program recorded thereon | |
JP2011034457A (ja) | データマイニングシステム、データマイニング方法及びデータマイニング用プログラム | |
JP5675676B2 (ja) | 業務分析設計支援装置、業務分析設計支援方法、および業務分析設計支援プログラム | |
JP4051765B2 (ja) | バージョン管理装置及び管理方法 | |
JP2007102652A (ja) | 階層データの検索装置および検索方法および検索プログラム | |
US8712817B2 (en) | Process information structuring support method | |
JPH11265368A (ja) | 作業手順管理システム | |
JP2005316699A (ja) | コンテンツ公開システム、コンテンツ公開方法、及びコンテンツ公開プログラム | |
JP6899340B2 (ja) | 業務プロセス設計支援方法及び業務プロセス設計支援装置 | |
JP2014102634A (ja) | ユーザ操作支援方法およびその装置 | |
JP5845961B2 (ja) | 情報処理装置及び情報処理プログラム | |
WO2022018899A1 (ja) | Kpiツリーから部分ツリーを抽出するシステム | |
JP2019101829A (ja) | ソフトウェア部品管理システム、計算機および方法 | |
JP2007249572A (ja) | プロジェクト管理支援装置、プロジェクト管理支援方法、およびプロジェクト管理支援プログラム | |
JP2001265760A (ja) | 文書履歴管理装置および文書履歴管理方法 | |
JP2004185346A (ja) | プロジェクト作業支援方法およびシステム | |
JP2009009362A (ja) | プログラムの変数管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110726 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110728 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140805 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |