(57)【特許請求の範囲】
【請求項１】
業務システムを利用して遂行される業務に対して、前記業務システムのログ情報から自動生成される業務フローを、当該業務フローが持つ特性を判定してコンピュータに表示させる業務フロー分析プログラムであって、
前記ログ情報は、前記ログ情報に含まれる作業を識別する作業識別子と、前記作業に付帯した前記ログ情報に含まれる案件を識別する案件識別子と、前記作業が行われた時刻とを一対とする情報を有し、
同一の前記案件識別子を持つ前記作業識別子を時系列に並べた作業列を生成するフロー抽出ステップと、
前記フロー抽出ステップで生成した前記作業列群から、前記作業列に同一の前記作業識別子が２回含まれたら前記作業列が持つ前記作業の実施状況が手戻りであると判定し、前記作業列に終端作業を示す前記作業識別子が含まれないときは前記作業列が持つ前記作業の実施状況が中断であると判定することで、前記作業列が持つ前記作業の実施状況に関する前記特性を判定するフロー判定ステップと、
前記特性が異なる前記作業列を区別して表示するフロー表示ステップと、をコンピュータに実行させる業務フロー分析プログラム。
【請求項２】
請求項１に記載の業務フロー分析プログラムにおいて、
前記特性には、前記作業の手戻りおよび中断が含まれることを特徴とする業務フロー分析プログラム。
【請求項３】
業務システムを利用して遂行される業務に対して、前記業務システムのログ情報から自動生成される業務フローを、当該業務フローが持つ特性を判定する業務フロー分析システムであって、
前記ログ情報は、前記ログ情報に含まれる作業を識別する作業識別子と、前記作業に付帯した前記ログ情報に含まれる案件を識別する案件識別子と、前記作業が行われた時刻とを一対とする情報を有し、
同一の前記案件識別子を持つ前記作業識別子を時系列に並べた作業列を生成するフロー抽出手段と、
前記フロー抽出手段が生成した前記作業列群から、前記作業列に同一の前記作業識別子が２回含まれたら前記作業列が持つ前記作業の実施状況が手戻りであると判定し、前記作業列に終端作業を示す前記作業識別子が含まれないときは前記作業列が持つ前記作業の実施状況が中断であると判定することで、前記作業列が持つ前記作業の実施状況に関する前記特性を判定するフロー判定手段と、
前記特性が異なる前記作業列を区別して表示するフロー表示手段とを有することを特徴とする業務フロー分析システム。
【請求項４】
請求項３に記載の業務フロー分析システムにおいて、
前記特性には、前記作業の手戻りおよび中断が含まれることを特徴とする業務フロー分析システム。
【請求項５】
業務システムを利用して遂行される業務に対して、前記業務システムのログ情報から自動生成される業務フローを、当該業務フローが持つ特性を判定してコンピュータに表示させる業務フロー分析方法であって、
前記ログ情報は、前記ログ情報に含まれる作業を識別する作業識別子と、前記作業に付帯した前記ログ情報に含まれる案件を識別する案件識別子と、前記作業が行われた時刻とを一対とする情報を有し、
前記コンピュータは、
同一の前記案件識別子を持つ前記作業識別子を時系列に並べた作業列を生成し、
生成した前記作業列群から、前記作業列に同一の前記作業識別子が２回含まれたら前記作業列が持つ前記作業の実施状況が手戻りであると判定し、前記作業列に終端作業を示す前記作業識別子が含まれないときは前記作業列が持つ前記作業の実施状況が中断であると判定することで、前記作業列が持つ前記作業の実施状況に関する前記特性を判定し、
前記特性が異なる前記作業列を区別して表示することを特徴とする業務フロー分析方法。
【請求項６】
請求項５に記載の業務フロー分析方法において、
前記特性には、前記作業の手戻りおよび中断が含まれることを特徴とする業務フロー分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆる業務システムのログ情報から現行業務を分析する業務フロー分析プログラム、方法および装置に関する。
【背景技術】
【０００２】
企業の業務システムのリプレース案件において、その担当者らは、現行業務を土台にして新業務を検討するため、現行業務の実態を把握することが重要となる。しかし、現行業務の実態を把握する従来の方法として、マニュアルを参照する方法、ヒアリングする方法があるが、マニュアルは陳腐化し当てにならない、ヒアリングは特定ユーザの主観が入ってしまい客観性に欠けるなどの問題がある。
【０００３】
これらの問題に対し、業務システム等が出力したログ情報から作業フローを生成するプロセス・マイニング技術がある。しかし、実際には膨大な数の案件の作業フローを重ね合わせたため、個々の案件がどのように流れたのかを把握するには至っていない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ07/132547
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これに対し、個々の案件の作業フローを、「シーケンスパタン」の出現回数が多いものを典型、そうでないものを例外に分類して表示する技術がある（特許文献１）。しかし、ログ情報から生成した、個々の案件の作業フローは、作業の実施状況を反映して様々な特性を持ち得る。前記特性とは、例えば、承認依頼時の入力間違いにより承認者に差し戻され２度承認依頼が行われる「手戻り」、業務が途中で終わっている「中断」などがあるが、それらは単に出現回数のみで仕分けられるものではない。また、特許文献１では、正常な作業フロー（のシーケンスパタン）は出現回数が最も多いという前提をおいているが、それは実用的ではなく、例えば上述した特性「中断」が最頻である場合は実際に少なくない。
本発明は、上記を鑑みて考案したものであり、企業情報システムの稼働状況を示す情報として代表的な業務アプリケーションログ情報から、業務フローを、それが持つ特性を判定して自動生成する業務フロー分析プログラム、業務フロー分析方法、業務フロー分析装置を提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明は、業務システムを利用して遂行される業務において、前記業務システムのログ情報から自動生成される業務フローを、当該業務フローが持つ特性を判定してコンピュータに表示させるものである。前記ログ情報は、前記ログ情報に含まれる作業を識別する作業識別子と、前記作業に付帯した前記ログ情報に含まれる案件を識別する案件識別子と、前記作業が行われた時刻とを一対とする情報である。また、本発明では、業務フロー分析において、同一の前記案件識別子を持つ前記作業識別子を時系列に並べた作業列を生成するフロー抽出ステップと、前記フロー抽出ステップで生成した前記作業列群から、前記作業列に同一の前記作業識別子が２回含まれたら前記作業列が持つ前記作業の実施状況が手戻りであると判定し、前記作業列に終端作業を示す前記作業識別子が含まれないときは前記作業列が持つ前記作業の実施状況が中断であると判定することで、前記作業列が持つ前記作業の実施状況に関する前記特性を判定するフロー判定ステップと、前記特性が異なる前記作業列を区別して表示するフロー表示ステップと、を実行する。
【０００７】
また、本発明においては、業務アプリケーションログ情報から個々の案件の作業フロー
を抽出し、作業フローの特性を定義した「ルール」に従って、作業フローを分類し、分類
した作業フローの特性を加味して、作業フローを重ね合せ、表示するものであり、作業フ
ローには、「手戻り」や「中断」が含まれる。
【発明の効果】
【０００８】
本発明により、情報システムのアプリケーションログから、業務フローを、その特性毎に区別して表現できる。このため、企業の業務システムのリプレース案件の担当者は、業務フローの頻度、パタンを、特性毎に把握することができ、現行業務の実態をより深く把握することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の概要を示す図である。
【図２】本発明の第1の実施形態におけるシステム構成を示す図である。
【図３】本発明の実施形態における業務フロー分析装置のハードウェア構成を示す図である。
【図４】本発明の実施形態における業務フロー分析装置の機能構成を示すブロック図である。
【図５】本発明の実施形態における業務実施情報のデータ構造を表すテーブルである。
【図６】本発明の実施形態におけるプロセス・インスタンスの例である。
【図７】本発明の実施形態におけるフロー判定部４１３の出力結果を表すテーブルである。
【図８】本発明の実施形態における第1のフロー表示方法を示す図である。
【図９】本発明の第１の実施形態における第２のフロー表示方法を示す図である。
【図１０】本発明の第１の実施形態における終端作業情報の例を示す図である。
【図１１】本発明の第１の実施形態におけるフロー抽出部４１２の処理手順を示すフローチャートである。
【図１２】本発明の第１の実施形態におけるフロー判定部４１３の処理手順を示すフローチャートである。
【図１３】本発明の第１の実施形態における業務フロー判定方法の選択画面例である。
【図１４】本発明の第１の実施形態における第１の業務フロー判定方法の処理手順を示すフローチャートである。
【図１５】本発明の第１の実施形態における第２の業務フロー判定方法の処理手順を示すフローチャートである。
【図１６】本発明の第１の実施形態における業務フロー表示方法の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を使って説明する。まず、本実施形態を概説し、その後それぞれの実施形態について説明する。
【００１１】
図１は、本発明の一実施形態の概要を示す図である。コンピュータ１１０は、業務システムで出力されるログ情報から、業務フローを、それが持つ特性毎に区別して自動生成する。コンピュータ１１０は、業務実施情報格納手段１１１、フロー抽出手段１１２、フロー判定手段１１３、フロー表示手段１１４を備える。
【００１２】
業務実施情報格納手段１１１は、業務システム１２０上での業務実施情報を格納する。業務実施情報は、誰が、どのような案件の下で、どの作業を、いつ実施したのかという情報であり、少なくとも案件ＩＤ、作業ＩＤ、担当者ＩＤ、時刻を一対とするデータの集合である。業務実施情報は、例えば業務システムの運用または保守の為に常時出力しているログ情報などから抽出することができる。
【００１３】
フロー抽出手段１１２は、業務実施情報格納手段１１に格納された業務実施情報から業務フローを抽出する。具体的には、業務実施情報を（案件ＩＤ、作業ＩＤ、担当者ＩＤ、時刻）を一対とするタプルの集合とすると、同一の案件ＩＤ値を持つ作業ＩＤ値の時系列が１案件の業務フローに相当し（これをプロセス・インスタンスと呼ぶことにする）、フロー抽出手段１１２では、業務実施情報に含まれる全ての案件ＩＤについてプロセス・インスタンスを生成する。
【００１４】
フロー判定手段１１３は、フロー抽出手段１１２で生成した全案件分のプロセス・インスタンスについて、プロセス・インスタンスが持つ特性を判定する。業務の実施状況は、作業の出現順序、出現回数、出現時刻間隔などに現れるため、プロセス・インスタンスを構成する作業の出現順序、出現回数、出現時刻間隔の変異を特性として判定する。
フロー表示手段１１４は、フロー判定手段１１３の結果を受け、プロセス・インスタンス群を、それが持つと判定された特性毎に区別して表示する。
【００１５】
次に、本発明の第１の実施形態について説明する。
図２は、本実施形態におけるシステム構成を示す図である。
業務システム２１０は、クライアントＰＣ２１１、サーバマシン２１２で構成され、クライアントＰＣ２１１とサーバマシン２１２がネットワーク２１３介して接続されている。業務システム２１０を利用する担当者は、クライアントＰＣ２１１を操作して、サーバマシン２１２に要求を送信し、サーバマシン２１２上で稼働する業務アプリケーションはその要求を受信すると、プログラムに従って処理を実行する。この時、プログラム内で、前記業務実施情報を含むログ情報を出力する。
また、業務フロー分析装置２２０は、業務システム２１０とネットワーク２３０を介して接続され、サーバマシン２１２内に蓄積されているログ情報を、ネットワーク２３０を介して取得する。
【００１６】
業務フロー分析装置２２０およびクライアントＰＣ２１１、サーバマシン２１２のハードウェア構成について説明する。いずれも同様のハードウェア構成によって実現できるため、業務フロー分析装置２２０を取り上げて説明する。
【００１７】
図3は、業務フロー分析装置２２０のハードウェア構成を示す図である。業務フロー分析装置２２０は、ＣＰＵ（２２１）、主記憶装置２２２、外部記憶装置２２３で構成され、またグラフィック処理装置２２４を介してディスプレイ２２５、ネットワーク接続装置２２６を介してネットワーク２２７、入力処理装置２２８を介してデータ入力装置２２９と接続されている。外部記憶装置２２３には、例えば業務システム２１０のサーバマシンに蓄積されたログ情報をファイルとして格納することも可能である。また、主記憶装置２２２には、ＣＰＵ（２２１）が実行可能な形式でプログラムが展開され、データ入力装置２２９から受け取ったデータをプログラムの実行時の入力情報とし、またプログラムの出力結果をディスプレイ２２５に表示することも可能である。
【００１８】
次に、業務フロー分析装置２２０の機能構成について説明する。
図４は、業務フロー分析装置２２０の機能構成を示すブロック図である。業務フロー分析装置２２０は、業務実施情報格納部４１１、フロー抽出部４１２、フロー判定部４１３、フロー表示部４１４、終端作業格納部４１５で構成される。
業務実施情報格納部４１１は、業務システム２１０上における業務の実施情報を格納する。業務の実施情報とは、誰が、どのような案件の下で、どの作業を、いつ実施したのかという情報であり、本実施例では案件ＩＤ、作業ＩＤ、時刻を一対とするデータの集合である。図５は本実施例で用いる業務実施情報のデータ構造を示したテーブルである。なお、案件ＩＤ（５０１）について予めソートしてあり、案件ＩＤ＝０１、０２、１１、１２に関するレコードは図５に現れている以外はないものとする。また、時刻（５０２）は整数i、jに対し、i<jであれば時刻ti<tjである。本実施例では、業務システム２１０の運用または保守の為に常時出力・蓄積しているログ情報を、ネットワーク２２７を介して取得し、業務の実施情報を抽出することができるものとする。
フロー抽出部４１２は、業務実施情報格納部４１１に格納された業務実施情報から、前記プロセス・インスタンスを抽出する。図６は、フロー抽出部４１２によって抽出されたプロセス・インスタンスの例である。案件ＩＤ（６０１）＝”０１”である案件について、作業がI、II、IIIの順番に実施されたことを表している。
【００１９】
フロー判定部４１３は、フロー抽出部４１２で抽出された全案件のプロセス・インスタンスを、業務フロー分析装置２２０を利用するユーザが選択した業務フローの判定方法に従って判定する。本実施例では、フロー判定部４１３は、２つの業務フロー判定方法を持つものとする。第１の業務フロー判定方法は、手戻りが発生した業務フローを判定する方法で、ある案件のプロセス・インスタンスにおいて、２回出現した作業が存在する時、１回目出現以降の作業から２回目までの部分作業列を“手戻り”と判定する。次に、第2の業務フロー判定方法は、業務が中断している業務フローを判定する方法で、ある案件のプロセス・インスタンスにおいて予め与えられた「終端作業」を含まないものを“業務中断”と判定する。図７は、フロー判定部４１３の出力結果を示すテーブル７００である。テーブル７００は、図５で示した業務実施情報のテーブルが持つ案件ＩＤカラム、時刻カラム、作業ＩＤカラムに、判定区分カラムを加えたものである。第１の業務フロー判定方法に関して、案件ＩＤ＝”０２”であるプロセス・インスタンスにおいてはレコード７０１、７０２が指す部分作業列が”手戻り”と判定され、その判定区分カラムの値は“手戻り”となっている。また、第２の業務フロー判定方法に関して、案件ＩＤ＝”１２”であるプロセス・インスタンスにおいては、後述する終端作業格納部４１５に格納されている終端作業“III”を含まないため“業務中断”と判定され、そのプロセス・インスタンスの末尾に業務中断を示すレコード７０３を追加している。
フロー表示部４１４は、フロー判定部４１３で判定されたプロセス・インスタンスを、業務フロー分析装置２２０が持つディスプレイ２２５などに表示する。図８は、フロー判定部４１３の出力結果７００を表示した表示例８００であるが、説明の都合上業務フロー８００を描画する途中段階の業務フロー９００を用いて説明する。業務フロー９０２は業務が最後まで到達しておらず「中断」の特性を持つと判定されたものであり、業務フロー９０３は同一作業が２回出現し「手戻り」の特性を持つと判定されたものであり、業務フロー９０１は特に特性を持たないため「正常」と判定されたものである。それぞれの業務フローは、「中断」スイムレーン、「手戻り」スイムレーン、「正常」スイムレーン上に配置される。例えば、案件ＩＤ＝“０１”のプロセス・インスタンス（９０１）の各作業は、その判定区分はいずれも“正常”であるため正常スイムレーンに配置されているが、案件ID＝“０２”のプロセス・インスタンス（９０３）では、時刻ｔ６、ｔ７である作業の判定区分は手戻りであるため手戻りスイムレーンに配置されているが、それ以外（＝時刻ｔ４、ｔ５、ｔ８の作業）は正常スイムレーンに配置される。業務フロー９００において、同一スイムレーン上にある同一作業を重ね合わせて業務フロー８００を得る。
【００２０】
終端作業格納部４１５は、業務の完了を意味する作業の作業識別子の値を格納する。図１０は、終端作業格納部４１５に格納された終端作業リストを示すテーブルである。本実施形態では、作業ＩＤ＝“III”が終端作業であるとする。
【００２１】
以下では、上述した機能構成における各部の動作を説明する。
図１１は、フロー抽出部４１２の処理手順を示すフローチャートである。フロー抽出部４１２は、業務フロー分析装置２２０の処理開始を受けて開始する。フロー抽出部４１２は、まず業務実施情報格納部４１１に格納された業務実施情報から全ての案件ＩＤを取得する（ステップＳ１０１）。ステップＳ１０１で取得した案件ＩＤ毎に、これから述べるステップＳ１０２とＳ１０３を、この順に繰り返す。ステップＳ１０２では選択された１つの案件ＩＤに関連する業務実施情報を抽出する。図５で示した業務実施情報を例にとると、選択された案件ＩＤが“０１”の場合、時刻ｔ１、ｔ２、ｔ３であるレコードを抽出する。次にステップＳ１０３では、ステップＳ１０２で抽出したレコードを時系列に並び替える。このようにして、業務実施情報格納部４１１に格納された業務実施情報から、各案件ＩＤに関するプロセス・インスタンスを抽出する。
【００２２】
図１２は、フロー判定部４１３の処理手順を示すフローチャートである。フロー判定部４１３は、フロー抽出部４１２の終了を受けて開始する。フロー判定部４１３は、まず業務フロー分析装置２２０のユーザに対して、フロー判定部４１３が有する業務フロー判定方法から選択させるよう促す（ステップＳ２０１）。図１３は、フロー判定部４１３が、前記ユーザに対して、業務フロー判定方法の選択を促す画面例１３００である。前記業務フロー判定方法について、チェックボックスなどの画面要素１３０１を利用することで、前記業務フロー判定方法の少なくとも1つを選択させることができる。なお、業務フロー判定方法選択画面例１３００では、前記業務フロー判定方法の両方を選択している。その上で、ボタンなどの画面要素１３０２を押下することで、前記ユーザはフロー判定部４１３に対して選択した判定方法を送信する。次に、フロー判定部４１３は、ステップ２０１で選択された業務フロー判定方法の処理を実行する（ステップＳ２０２）。
【００２３】
ここで、ステップＳ２０２では、第１および第２の業務フロー判定方法に対し、少なくとも一方の処理が実行される。図１４、１５は、第１、第２の業務フロー判定方法の処理手順を示したフローチャートである。
第１の業務フロー判定方法の処理手順について説明する。本処理は、フロー判定部４１３のステップＳ２０２からの処理開始を受けて、開始する。まず、フロー判定部４１３は、フロー抽出部４１２で抽出した全案件のプロセス・インスタンスから１つ選択する（Ｓ３０１）。次に、選択したプロセス・インスタンス内に同一作業が２回出現しているかを調べ、あれば次のステップ３０３に進み、なければステップ３０１に戻る（Ｓ３０２）。ステップ３０３では、２回出現した作業（Ｒとする）のうち、１回目の作業Ｒの次の作業から、最後に出現した作業Ｒまでの各作業の判定区分を「手戻り」とする。次のプロセス・インスタンスがあればステップＳ３０１に戻り、なければ第１の業務フロー判定方法の処理を終了する。
【００２４】
第２の業務フロー判定方法の処理手順について説明する。本処理は、フロー判定部４１３のステップＳ２０２からの処理開始を受けて、開始する。まず、フロー判定部４１３は、フロー抽出部４１２で抽出した全案件のプロセス・インスタンスから１つ選択する（Ｓ４０１）。次に、選択したプロセス・インスタンスが終端作業格納部４１５に格納された終端作業を含むかを調べ、含むなら次のステップ４０３に進み、含まなければステップＳ４０１に戻る（Ｓ４０２）。ステップ４０３では、プロセス・インスタンスの最後尾に、例えば「ドロップアウト」という作業名で、判定区分を「中断」とした作業を追加する。次のプロセス・インスタンスがあればステップＳ４０１に戻り、なければ第２の業務フロー判定方法の処理を終了する。
【００２５】
図１６は、フロー表示部４１４の処理手順を示すフローチャートである。本処理は、フロー判定部４１３の処理終了を受けて、開始する。ここでは、フロー判定部４１３の出力結果７００を例に説明する。まず、フロー表示部４１４は、前記出力結果７００を参照し、判定区分値の種類数だけスイムレーンを用意する（S５０１）。本実施例では、スイムレーン名は判定区分値とした。次に、前記出力結果７００を参照し、プロセス・インスタンスを１つ選択する（S５０２）。次に、そのプロセス・インスタンスの各作業を、その判定区分に対応するスイムレーンに配置する（S５０３）。なお、例では、作業は角丸四角で表現し、作業と次の作業を矢印で結ぶものとした。次に同一スイムレーンに同一作業がある場合はそれらを重ね合わせる（S５０４）。次のプロセス・インスタンスがあればステップS５０２に戻り、なければ本処理を終了する。
【符号の説明】
【００２６】
１２０…業務システム、１１０…コンピュータ
【図１】
0006738637.tif 000002
【図２】
0006738637.tif 000003
【図３】
0006738637.tif 000004
【図４】
0006738637.tif 000005
【図５】
0006738637.tif 000006
【図６】
0006738637.tif 000007
【図７】
0006738637.tif 000008
【図８】
0006738637.tif 000009
【図９】
0006738637.tif 000010
【図１０】
0006738637.tif 000011
【図１１】
0006738637.tif 000012
【図１２】
0006738637.tif 000013
【図１３】
0006738637.tif 000014
【図１４】
0006738637.tif 000015
【図１５】
0006738637.tif 000016
【図１６】
0006738637.tif 000017