(57)【特許請求の範囲】
【請求項１】
業務処理用のアプリケーションプログラムの作業ログから業務処理のフローを計算機により生成する業務処理フロー生成システムであって、
前記計算機は、
前記アプリケーションプログラムの作業ログを取得し、
前記取得した作業ログの中から、一連の作業処理に関する一つ以上のログデータを第１グループとして一つ以上抽出し、
前記第１グループの中から、関連する複数のログデータを時系列順に配置してなる作業パターンを一つ以上抽出し、
前記抽出された作業パターンのうち、所定のログデータが共通する作業パターンを第２グループとして一つ以上抽出し、
前記第２グループを構成する前記作業パターンの前記所定のログデータに基づいて、業務処理フローを生成し、
前記作業パターンに含まれるログデータの数である系列長を２に設定し、かつ、前記作業パターンに含まれる先頭のログデータと末尾のログデータとの間に介在する他のログデータの数を無制限に設定することで、前記第１グループの中から、関連する先頭のログデータおよび末尾のログデータを有する作業パターンを抽出する、
業務処理フロー生成システム。
【請求項２】
前記作業ログに含まれる各ログデータは、案件を識別する案件識別子と、前記アプリケーションプログラムを用いて作業するユーザを識別するユーザ識別子と、前記アプリケーションプログラムを用いた作業の種別を示す作業識別子と、作業時刻を示す時刻情報とを含んでおり、
前記計算機は、
前記取得した作業ログに含まれるログデータの中から、前記案件識別子と前記ユーザ識別子とが同一のログデータを前記第１グループとして抽出する、
請求項１に記載の業務処理フロー生成システム。
【請求項３】
前記計算機は、前記作業ログに基づいて、作業単位でのフローを示す作業フローを生成することもできる、
請求項２に記載の業務処理フロー生成システム。
【請求項４】
前記計算機は、前記作業フローと前記業務処理フローとを対応付けて出力することもできる、
請求項３に記載の業務処理フロー生成システム。
【請求項５】
前記計算機は、前記アプリケーションプログラムを使用するユーザの種別と、前記業務処理フローと、前記作業フローとを対応付けて出力することもできる、
請求項４に記載の業務処理フロー生成システム。
【請求項６】
前記計算機は、
前記抽出された作業パターンのうち、所定のログデータが共通する作業パターンを所定数以上含む場合に、前記第２グループとして抽出する、
請求項１に記載の業務処理フロー生成システム。
【請求項７】
前記所定のログデータは、前記作業パターンに含まれるログデータのうちの先頭のログデータである、
請求項１〜６のいずれか一項に記載の業務処理フロー生成システム。
【請求項８】
前記所定のログデータは、前記作業パターンに含まれるログデータのうちの末尾のログデータである、
請求項１〜６のいずれか一項に記載の業務処理フロー生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は業務処理フロー生成システム、生成方法および装置に関する。
【背景技術】
【０００２】
例えば、メインフレームシステムからサーバシステムへ業務処理を移し替える場合のように、新システムから旧システムへ移行するリプレース開発では、旧システムの仕様を踏襲する割合が多い。従って、リプレース開発では、旧システムの仕様を正確に把握することが重要となる。しかし一般に、旧システムについての正確なドキュメントが保存されていることは少ない。長く運用されてきたシステムであるほど、機能の追加や変更がたびたび重ねられており、ドキュメントは追加または変更された機能の一部についてのみ保存されており、他の部分については保存されていない、といったこともある。
【０００３】
旧システムのソースコードを解析することで、旧システムの仕様を再生することはできるが、それはシステムレベルでの仕様の再生であって、業務レベルでの仕様を再生することはできない。そこで、旧システムのドキュメントが整備されていない場合、新システムのベンダーの担当者は、旧システムのユーザに対して業務の流れを聞き取り調査したり、残されたわずかなドキュメントを手掛かりにしたりして、旧システムの業務レベルの仕様を把握しようとする。
【０００４】
業務処理を実行するアプリケーションプログラムのログをプロセスマイニング技術を用いて解析することで、業務フローを再生する技術は知られている（特許文献１）。この従来技術では、分析者が仕様書に記載されたシーケンス図を参考にして、各業務レベルと、該各業務レベルの上位レベルおよび下位レベルで実行されるイベントとを手作業で調査し、業務レベルとイベントとの対応関係を示すイベントパターン定義を作成する。そして、この従来技術では、イベントパターン定義と業務システムのログとを照合することで、イベントパターンを抽出し、業務レベルでのフローの再生を試みる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１７６５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、分析対象の業務システムについての仕様書が存在することを前提としているが、実際には、仕様書が整備されていることは少ない。したがって、特許文献１では、仕様書がきちんと整備されていない業務システムについては、業務レベルのフローを作成することができない。
【０００７】
本発明は、上述の課題に鑑みてなされたもので、その目的は、アプリケーションプログラムの作業ログから業務処理のフローを生成することができるようにした業務処理フロー生成システム、生成方法および装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、本発明に従う業務処理フロー生成システムは、業務処理用のアプリケーションプログラムの作業ログから業務処理のフローを計算機により生成する業務処理フロー生成システムであって、計算機は、アプリケーションプログラムの作業ログを取得し、取得した作業ログの中から、一連の作業処理に関する一つ以上のログデータを第１グループとして一つ以上抽出し、第１グループの中から、関連する複数のログデータを時系列順に配置してなる作業パターンを一つ以上抽出し、抽出された作業パターンのうち、所定のログデータが共通する作業パターンを第２グループとして一つ以上抽出し、第２グループを構成する作業パターンの所定のログデータに基づいて、業務処理フローを生成する。
【発明の効果】
【０００９】
本発明によれば、複数の作業パターンをまとめた単位で業務処理フローを生成することができるため、作業ログの単位で業務処理フローを作成する場合に比べて、業務処理を解析する粒度を大きくすることができるため、分かり易い業務処理フローを生成することができる。さらに、本発明によれば、作業を行うユーザ単位で業務処理フローを作成する場合に比べて、業務処理を解析する粒度を細かくすることができるため、分かり易い業務処理フローを生成できる。
【図面の簡単な説明】
【００１０】
【図１】業務処理フロー生成システムの全体概要と業務処理フロー生成装置の構成を示す説明図。
【図２】業務処理フローを生成する処理のフローチャート。
【図３】アプリケーションログの構成例。
【図４】アプリケーションログから抽出されるブロックを管理するブロックテーブルの構成例。
【図５】ブロックから抽出される作業の時系列パターンを管理する頻出系列パターンテーブルの構成例。
【図６】頻出系列パターンをグループ化する方法を示す説明図。
【図７】業務処理フローの例と業務処理フローを表示する画面例を示す説明図。
【図８】作業ログの流れを示すフロー図の例。
【図９】業務処理を機能毎に階層化して示すテーブルの例。
【図１０】第２実施例に係り、頻出系列パターンをグループ化する様子の説明図。
【図１１】ブロックから頻出系列パターンを抽出する方法を示す説明図。
【図１２】図１１の方法を図１０の頻出系列パターンに適用した場合の、グルーピングの結果。
【図１３】業務処理フローを生成する処理のフローチャート。
【図１４】第３実施例に係り、頻出系列パターンを末尾のログに基づいてグループ化する方法を示す説明図。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態に係る業務処理フロー生成システムは、以下に詳述するように、計算機として構成される業務処理フロー生成装置１を備える。図１に示す業務処理フロー生成装置１は、アプリケーションプログラムを実行したときの記録であるアプリケーションログＴ１（図３参照）から、業務単位の粒度で業務処理の流れを示す業務処理フローを生成する。
【００１２】
ここで、業務単位のフローとは、作業ログ単位のフローよりも大まかであって、かつ、ユーザ単位のフローよりは詳しい粒度を持つ業務処理フローである。例えば、部下が旅費精算の承認を上司に求める場合、その旅費の細々とした詳細は作業単位の情報であり、部下（承認依頼者）の行うひとかたまりの手続と上司（承認者）の行うひとかたまりの手続とはユーザ単位の情報である。業務単位のフローは、一つ以上の（通常は複数の）、作業単位の情報をグルーピングすることで生成される。
【００１３】
本実施形態の業務処理フロー生成装置１は、取得したアプリケーションログＴ１の中から、一連の作業処理に関する一つ以上のログデータをブロック（「第１グループ」に対応）ｂｌｋとして抽出する。
【００１４】
さらに、業務処理フロー生成装置１は、各ブロック中から、関連する複数のログデータを時系列順に配置してなる頻出系列パターン（「作業パターン」に対応）Ｐを抽出し、抽出されたパターンのうち、所定のログデータが共通するパターンを業務粒度グループ（「第２グループ」に対応）１００として抽出する。そして、業務処理フロー生成装置１は、業務粒度グループ１００を構成する各パターンの先頭のログデータに基づいて、業務処理フローを生成する。業務処理フロー生成装置１は、生成した業務処理フローをディスプレイ等へ出力することができる。
【実施例１】
【００１５】
図１〜図９を用いて第１実施例を説明する。図１は、業務処理フロー生成システムの全体を示す。
【００１６】
業務処理フロー生成装置１は、業務処理フロー生成システムの中核を構成する。業務処理フロー生成装置１は、通信ネットワークＣＮ１を介して、業務システム２を管理する管理端末３と通信可能に接続されている。図１では、それぞれ複数の、業務システム２＿１〜２＿ｎおよび管理端末３＿１〜３＿ｎを示す。特に区別しない場合、業務システム２、管理端末３と呼ぶ。通信ネットワークＣＮ１は、例えば、インターネットやＬＡＮ（Local Area Network）を用いて構成することができる。通信ネットワークＣＮ１は、有線通信でも無線通信でもいずれでもよいし、有線通信と無線通信が混在してもよい。
【００１７】
業務システム２は、企業や自治体等の組織の活動を支える業務処理を計算機により実行するシステムである。業務処理の例としては、例えば、旅費精算システム、出退勤管理システム、在庫管理システム、発注管理システム、顧客管理システム、営業管理システム、人事管理システム、物流管理システム等がある。
【００１８】
業務システム２は、少なくとも一つの計算機を有する。計算機の基本的ハードウェア構成は、後述する業務処理フロー生成装置１のハードウェア構成と同様であるため、その説明を省略する。業務システム２は、アプリケーションプログラムＡＰを実行することで、業務処理を実行する。以下の説明と図中では、アプリケーションプログラムをアプリケーションと略記する。
【００１９】
業務システム２は、例えばＬＡＮ等の通信ネットワーク（不図示）を介して、一つまたは複数のクライアント端末（不図示）に通信可能に接続される。業務システム２は、クライアント端末からの要求に応じて業務処理を実行し、その処理結果をクライアント端末へ返信する。
【００２０】
管理端末３は、業務システム２を管理する管理用の計算機である。管理端末３は、管理対象の業務システム２に、例えばＬＡＮ等の通信ネットワークＣＮ２を介して通信可能に接続される。管理端末３は、業務システム２で実行されるアプリケーションＡＰの実行結果を取得し、アプリケーションログＴ１として保存する。
【００２１】
管理端末３は、業務処理フロー生成装置１に対して、アプリケーションログＴ１を供給する。管理端末３は、例えば通信ネットワークＣＮ１を用いて、アプリケーションログＴ１を業務処理フロー生成装置１へ送信することができる。または、管理端末３は、例えばフラッシュメモリデバイスのような不揮発性記憶媒体４にアプリケーションログＴ１を記録することもできる。業務処理フローを解析するユーザ（解析者）は、その記憶媒体４を業務処理フロー生成装置１に接続することで、アプリケーションログＴ１を業務処理フロー生成装置１に読み取らせることができる。
【００２２】
記憶媒体４を用いる方法と通信ネットワークＣＮ１を用いる方法とを併用することもできる。例えば、アプリケーションログＴ１の一部を通信ネットワークＣＮ１を介して業務処理フロー生成装置１へ送信し、アプリケーションログＴ１の他の部分を記憶媒体４を介して業務処理フロー生成装置１へ読み取らせてもよい。
【００２３】
業務処理フロー生成装置１の構成例を説明する。業務処理フロー生成装置１は、例えばＣＰＵ（Central Processing Unit）１１、メモリ１２、補助記憶装置１３、ユーザインターフェース部１４、通信インターフェース部１５、媒体インターフェース部１６を備えており、それら回路または装置１１〜１６は、バス１７により接続されている。
【００２４】
ＣＰＵ１１は、補助記憶装置１３に格納されたコンピュータプログラムをメモリ１２に読み出してから実行することにより、業務処理フロー生成装置１が実現すべき各機能Ｆ１１〜Ｆ１５を実現する。
【００２５】
ユーザインターフェース部１４は、業務処理フロー生成装置１がユーザ（解析者）との間で情報を交換するための装置である。ユーザインターフェース部１４は、情報入力装置と情報出力装置を備える（いずれも不図示）。情報入力装置は、ユーザが業務処理フロー生成装置１に情報を入力するための装置であり、例えば、キーボード、マウス、タッチパネル、音声入力装置等がある。情報出力装置は、業務処理フロー生成装置１からユーザへ情報を提供するための装置であり、例えば、ディスプレイ、音声合成装置、プリンタ等がある。
【００２６】
なお、図示は省略するが、業務処理フロー生成装置１は、業務処理フローの解析結果等を電子メールでユーザに通知することもできる。この場合、業務処理フロー生成装置１は、例えば、解析結果レポートの添付された電子メールを、通信インターフェース部１５から通信ネットワークＣＮ１を通じて、ユーザの使用する端末（不図示）へ送信する。
【００２７】
通信インターフェース部１５は、通信ネットワークＣＮ１を通じて各管理端末３と通信するための装置である。媒体インターフェース部１６は、記憶媒体４に接続してデータを読み書きするための装置である。
【００２８】
補助記憶装置１３は、各機能Ｆ１１〜Ｆ１５を実現するためのコンピュータプログラムと、管理用データＴとを記憶している。
【００２９】
アプリケーションログ取得部Ｆ１１は、業務システム２でのアプリケーションＡＰの実行結果であるアプリケーションログＴ１を取得する機能である。ブロック抽出部Ｆ１２は、アプリケーションログＴ１から所定のログデータのグループであるブロックｂｌｋを抽出する機能である。頻出系列パターン抽出部Ｆ１３は、各ブロックｂｌｋの中から出現頻度が所定値以上であるログデータの組合せパターンを抽出する機能である。グルーピング機能Ｆ１４は、頻出系列パターン群の中から、所定のログデータが共通する頻出系列パターンをグループ化する機能である。業務処理フロー生成部Ｆ１５は、グループ化された頻出系列パターンに基づいて、業務処理のフローを生成する機能である。
【００３０】
業務処理フロー生成部Ｆ１５は、生成した業務処理フローをユーザインターフェース部１４からユーザへ提供することができる。提供画面Ｇ１０の例は後述する。業務処理フロー生成部Ｆ１５は、生成した業務処理フロー（図７参照）を含む解析結果レポートを出力することもできる。解析結果レポートは、後述の提供画面Ｇ１０の一部または全部を含んでもよい。
【００３１】
補助記憶装置１３には、各機能Ｆ１１〜Ｆ１５で使用するためのデータＴも記憶されている。データＴとしては、例えば、アプリケーションログＴ１、ブロックテーブルＴ２、頻出系列パターンテーブルＴ３、業務フロー図Ｔ４、作業フロー図Ｔ５、業務機能階層テーブルＴ６、画面Ｇ１０の描画データ等がある。データＴは、ほぼ恒久的に保存される場合もあるし、一時的に作成されて保存される場合もある。
【００３２】
図２は、業務処理フローを生成する処理のフローである。業務処理フロー生成装置１のアプリケーションログ取得部Ｆ１１は、管理端末３からアプリケーションログＴ１を取得する（Ｓ１１）。
【００３３】
業務処理フロー生成装置１のブロック抽出部Ｆ１２は、アプリケーションログＴ１（図３参照）から、同一の案件ＩＤを持つログデータを抽出する（Ｓ１２）。続いてブロック抽出部Ｆ１２は、ステップＳ１２で抽出したログデータを時刻順に並べ替えた後で、同一のユーザＩＤが連続するログデータの集合をブロックｂｌｋ（図４参照）として抽出する（Ｓ１３）。
【００３４】
業務処理フロー生成装置１の頻出系列パターン抽出部Ｆ１３は、ステップＳ１３で抽出された各ブロックｂｌｋに対して時系列アソシエーション分析を実施することで、頻出系列パターンＰ（図５参照）を抽出する（Ｓ１４）。時系列アソシエーション分析とは、ログデータ間の繋がりの強さを検出する処理である。頻出系列パターン抽出部Ｆ１３は、或るログデータと、或るログデータの後に出現する可能性の高い他のログデータとの組合せを、頻出系列パターンとして抽出する。頻出系列パターンとは、所定値以上の繋がりを持つログデータ同士を時系列順に並べたパターンである。以下では、頻出系列パターンを「パターン」と、頻出系列パターン抽出部Ｆ１３を「パターン抽出部Ｆ１３」と略記する場合がある。
【００３５】
業務処理フロー生成装置１のグルーピング部Ｆ１４は、図６で後述するように、ステップＳ１４で抽出したパターン群を、所定のグループ生成規則に従ってグループ分けする（Ｓ１５）。所定のグループ生成規則としては、例えば、「パターンに含まれる各ログデータのうち先頭のログデータが共通するパターン同士を同一のグループとする」、「パターンに含まれる各ログデータのうち末尾のログデータが共通するパターン同士を同一のグループとする」、を挙げることができる。本実施例では、先頭のログデータの一致するパターン同士を同じグループとする。つまり、本実施例では、同一のログデータ（同一の作業処理）から開始するパターン同士でグループ分けする。各グループにおいて、先頭のログデータの示す作業処理を「開始作業」と呼ぶ。
【００３６】
業務処理フロー生成装置１の業務フロー生成部Ｆ１５は、ステップＳ１５で検出した開始作業を時系列に沿って配置することで、図７で後述するように、業務処理フロー図を生成する（Ｓ１６）。業務処理フロー生成部Ｆ１５は、生成した業務処理フロー図をディスプレイ等に出力することができる。
【００３７】
図３は、アプリケーションログＴ１の例を示す。アプリケーションログＴ１は、例えば、案件ＩＤ  Ｃ１１と、ユーザＩＤ  Ｃ１２と、作業ＩＤ  Ｃ１３と、時刻Ｃ１４とを対応付けて管理する。
【００３８】
案件ＩＤ  Ｃ１１は、業務処理における各案件を識別するための情報である。例えば、出張旅費精算システムの場合、各出張の費用精算がそれぞれ別々の案件に相当する。ユーザＩＤ  Ｃ１２は、業務処理のアプリケーションＡＰを使用したユーザを識別するための情報である。ユーザＩＤとして例えば、社員番号等を用いることができる。作業ＩＤ  Ｃ１３は、業務処理に含まれる最小単位の作業処理を識別するための情報である。例えば、出張旅費精算システムの場合、例えば「日程入力」「代理店発注」「出発日」「開始日」「終了日」「用務先」「帰着日」「発注先」「受渡場所」「用務内容」「交通機関」「交通機関種別」「運賃種別」等が作業処理に該当する。
【００３９】
時刻Ｃ１４は、ログデータを記録した日時を示す。
【００４０】
図４は、アプリケーションログＴ１から抽出するブロックｂｌｋの例を示す。ブロックｂｌｋとは、同一の案件ＩＤと同一のユーザＩＤを持つログデータの集合である。より詳しくは、同一の案件ＩＤと同一のユーザＩＤを持ち、かつ、そのユーザＩＤが連続する一連のログデータの集まりがブロックｂｌｋである。
【００４１】
図４の例では、共通の案件ＩＤを持つログデータ群の中から、合計４つのブロックｂｌｋ１〜ｂｌｋ４が抽出された状態を示す。
【００４２】
ブロックｂｌｋを管理するブロックテーブルＴ２は、例えば、案件ＩＤ  Ｃ２１と、ユーザＩＤ  Ｃ２２と、作業ＩＤ  Ｃ２３と、時刻Ｃ２４とを対応付けて管理する。ここで、図４の案件ＩＤ  Ｃ２１、ユーザＩＤ  Ｃ２２、作業ＩＤ  Ｃ２３、時刻Ｃ２４は、図１の案件ＩＤ  Ｃ１１、ユーザＩＤ  Ｃ１２、作業ＩＤ  Ｃ１３、時刻Ｃ１４にそれぞれ対応しており、同一の値が設定される。そこで、図４の項目Ｃ２１〜Ｃ２４については説明を省略する。
【００４３】
図５は、各ブロックｂｌｋから抽出される頻出系列パターンを管理する頻出系列パターンテーブルＴ３の例である。図５には、例えば８個のパターンが示されている。
【００４４】
パターンＰ１１は、「日程入力→開始日→終了日」という作業の流れを示す。このパターンＰ１１は、ユーザが出張旅費を精算するためのアプリケーションＡＰを起動させて、出張の日程を登録するための「日程入力」というメニューを選択し、その後に出張の「開始日」を入力し、次に出張の「終了日」を入力したという作業を示している。パターンＰ１２は、ユーザがアプリケーションＡＰを起動させて「日程入力」のメニューを表示させた後、訪問先である「用務先」を入力し、次に訪問目的である「用務内容」を入力したという作業を示している。
【００４５】
パターンＰ１３は、ユーザがアプリケーションＡＰを起動させて「代理店発注」のメニューを選択した後、「出発日」と「帰着日」を入力したという作業を示す。図５の例では、出張の手配を出張者自身で行うこともできるし、出張の行程の一部または全部を代理店に任せることもできる場合を示している。パターンＰ１４は、ユーザがアプリケーションＡＰを起動させて「代理店発注」のメニューを選択した後、発注先の代理店名である「発注先」を入力し、次にチケット等を代理店から受け取る場所である「受渡場所」を入力したという作業を示す。
【００４６】
パターンＰ１５は、ユーザがアプリケーションＡＰを起動させて「交通機関」のメニューを選択した後、「出発日」と「到着日」を入力したという作業を示す。パターンＰ１６は、ユーザがアプリケーションＡＰを起動させて「交通機関」のメニューを選択した後、飛行機や列車などの「交通機関種別」を入力し、次に、指定席や自由席などの「運賃種別」を入力したという作業を示す。
【００４７】
パターンＰ１７とパターンＰ１８は、出張旅費の申請を申請するユーザとは別のユーザ、例えば、上司などによる作業を示す。パターンＰ１７は、上司である他ユーザが「出張伝票確認」のメニューを選択した後、その内容を「承認」したという作業を示す。パターンＰ１８は、他ユーザが「出張伝票確認」のメニューを選択した後、その内容を「差戻し」たという作業を示す。
【００４８】
図６は、各ブロックｂｌｋから抽出したパターンを所定のグループ生成規則に従ってグループ１００に分けた様子を示す。図６では、図５で例示したパターン群の一部をグループ分けしている。
【００４９】
本実施例では、時系列上の先行するログデータ（先行作業処理）と時系列上の後続するログデータ（後続作業処理）との間に所定値以上の支持度ＳＤが存在する場合、その先行ログデータと後続ログデータとを繋ぐ。支持度ＳＤとは、先行ログデータに繋がる頻度の度合である。先行ログデータの後で後続ログデータが実行される頻度が所定値以上の場合、その先行ログデータと後続ログデータの組合せはパターンであると考えられる。これに対し、先行ログデータの後で、後続ログデータが実行される頻度が少ない場合は、たまたまそのように操作されただけで、イレギュラーな流れであると考えられる。そこで、本実施例では、先行ログデータと、その先行ログデータの後に発生する頻度が多い後続ログデータ（例えば１０％以上等）との組合せをパターンとして抽出する。
【００５０】
本実施例では、先頭ログデータが共通するパターン同士を同一グループ１００として分類する。例えば、上述の例では、「日程入力→開始日→終了日」（パターンＰ１１）と、「日程入力→用務先→用務内容」（パターンＰ１２）とは、それぞれの先頭ログデータが「日程入力」であり、共通する。そこで、先頭ログデータ「日程入力」の共通するパターンＰ１１とパターンＰ１２とを同一グループとする。先頭ログデータ「日程入力」を開始作業１００＿１と呼ぶ。
【００５１】
同様に、「代理店発注→出発日→帰着日」（パターンＰ１３）と「代理店発注→発注先→受渡場所」（パターンＰ１４）も、先頭ログデータ「代理店発注」が共通するため、同一グループとする。先頭ログデータ「代理店発注」を開始作業１００＿２と呼ぶ。
【００５２】
同様に、「交通機関→出発日→到着日」（パターンＰ１５）と「交通機関→交通機関種別→運賃種別」（パターンＰ１６）も、先頭ログデータ「交通機関」が共通するため、同一グループとする。先頭ログデータ「交通機関」を開始作業１００＿３と呼ぶ。
【００５３】
開始作業１００＿１，１００＿２，１００＿３を、それぞれ業務粒度グループ１００＿１，１００＿２，１００＿３と呼ぶこともできる。
【００５４】
図７は、業務処理フロー生成装置１の業務処理フロー生成部Ｆ１５が生成する業務処理フローを表示する業務処理フロー図Ｔ４を示す。図７はさらに、業務処理フロー図Ｔ４を業務処理の解析者であるユーザに対して提示する業務フロー画面Ｇ１０を示す。業務フロー画面Ｇ１０は、作業処理を所定規則でグループ化することで業務粒度単位にまとめたフローを、ユーザインターフェース部１４を通じて、解析者であるユーザに提示する。ユーザは、現行の業務処理フローを確認しながら、新たなプログラムの仕様書等を作成することができる。
【００５５】
業務フロー画面Ｇ１０は、承認依頼者に関する業務処理を示す承認依頼者関連フロー表示部ＧＰ１１と、承認者に関する業務処理を示す承認者関連フロー表示部ＧＰ１２とを備えている。
【００５６】
業務処理フロー生成部Ｆ１５は、図６で生成された各グループの先頭ログデータである開始作業をアプリケーションログＴ１から抽出し、処理の順番で配置することで、業務処理フローを生成する。生成された業務処理フローのうち、承認依頼者に関連する部分は表示部ＧＰ１１に表示され、承認者に関連する部分は表示部ＧＰ１２に表示される。
【００５７】
画面Ｇ１０の下側には、作業フロー図へ移行するためのボタンＢ１１と、業務機能階層テーブルを表示するためのボタンＢ１２と、登録ボタンＢ１３と、編集ボタンＢ１４とが配置されている。なお、これらボタンＢ１１〜Ｂ１４の配置場所は特に問わない。画面Ｇ１０の上部でもよいし、右側部または左側部でもよい。
【００５８】
解析者であるユーザは、表示された業務処理フロー図Ｔ４を保存する場合、登録ボタンＢ１３を押す。これにより、生成された業務処理フロー図Ｔ４（フロー図Ｔ４を作成する元となった業務処理フローを含む）は、補助記憶装置１３に格納される。解析者であるユーザは、保存した業務処理フロー図Ｔ４を好きな時に呼び出してユーザインターフェース部１４に表示させることができる。
【００５９】
解析者であるユーザが編集ボタンＢ１４を押すと、編集モードに移行する。ユーザは、業務処理フロー図Ｔ４の一部または全部を手動で修正できる。
【００６０】
図８は、作業フロー図Ｔ５の例を示す。作業フロー図Ｔ５は、例えば業務処理フロー生成部Ｆ１５が生成してもよい。または、作業フロー図Ｔ５を作成するための作業フロー生成部を、業務処理フロー生成装置１内に設けてもよい。
【００６１】
作業フロー図Ｔ５は、アプリケーションログＴ１に基づいて生成される。作業フロー図Ｔ５は、作業単位での流れを示す。作業単位の流れとは、アプリケーションログＴ１のログデータ単位での流れである。作業フロー図Ｔ５は、細かい作業単位で業務の流れを可視化するため、その内容は詳細である。しかし詳細過ぎるため、ユーザが業務処理の流れを把握しずらい。
【００６２】
本実施例では、ユーザが業務処理の流れを容易に把握できるように、作業処理の意味のあるかたまりである業務粒度グループ１００単位で可視化する。本実施例では、詳細を確認等するために備えて、作業フロー図Ｔ５の表示も可能としている。
【００６３】
図９は、業務機能階層テーブルＴ６の例を示す。業務機能階層テーブルＴ６は、業務機能の階層を示す。本実施例では、３つの層Ｔｉｅｒ１〜３を示す。第１層Ｔｉｅｒ１は、承認依頼者と承認者というユーザ単位で業務機能を可視化する層である。第２層Ｔｉｅｒ２は、作業処理を意味のあるかたまりでグループ化することで業務機能を可視化する層である。第３層Ｔｉｅｒ３は、作業単位で業務機能を可視化する層である。第１層が最も業務機能の抽象化のレベルが高く、第３層が最も業務機能の抽象化のレベルが低く、第２層の業務機能の抽象化レベルは第１層と第２層の中間である。
【００６４】
解析者であるユーザは、業務機能階層テーブルＴ６を参照することで、業務機能の階層を、アプリケーションを使用するユーザ単位、作業処理の意味のあるかたまりのグループ単位、作業処理単位、の３つの異なるレベルで一度に把握することができる。さらに、解析者であるユーザは、各階層の相互の関係を一目で把握できる。
【００６５】
業務処理は、必須の処理と、オプションの処理とに分けることができる。例えば、上述の例では、出張の開始日や終了日、用務先（訪問先）および用務内容（訪問目的）といった「日程入力」は、必須の処理である。日程についての情報が入力されない限り、出張旅費精算システムを動かすことはできない。これに対し、切符の手配を代理店に任せるか否か、どの交通機関を使用するかは任意の処理である。そこで、本実施例では、業務機能階層テーブルＴ６では、必須の処理「日程入力」をテーブル６の上側に表示し、オプション処理「代理店発注」「交通機関」を下側に表示する。
【００６６】
このように構成される本実施例によれば、アプリケーションログＴ１を解析することで、業務処理フローを生成することができるため、分析対象の業務システム２についての仕様書などのドキュメントが整備されていない場合であっても、業務システム２の処理フローを再生して確認することができる。したがって、本実施例によれば、仕様書等を探し回ったり、業務システム２を利用するユーザから業務の流れを聴取したりする必要がなく、効率的に業務処理フローを生成でき、解析者にとって使い勝手がよい。
【００６７】
本実施例によれば、アプリケーションログＴ１からブロックｂｌｋを抽出し、ブロックｂｌｋから作業処理のパターンＰを抽出し、抽出したパターンＰを所定のグループ生成規則に従ってまとめることで、業務処理フローの構成要素となる開始作業１００＿１〜１００＿３を得る。そして、本実施例によれば、開始作業を順番に沿って並べることで、業務処理フローを生成できる。これにより本実施例によれば、承認依頼者と承認者のようなユーザ単位で大雑把に業務の流れを把握する場合と、作業処理単位で詳細に業務の流れを把握する場合との中間に位置して、業務の流れを可視化することができる。この結果、本実施例によれば、業務処理用のアプリケーションＡＰを使用するユーザの目線で、業務処理の流れを解析して分かり易く可視化することができる。
【実施例２】
【００６８】
図１０〜図１３を用いて第２実施例を説明する。本実施例を含む以下の各実施例は、第１実施例の変形例に該当するため、第１実施例との相違を中心に説明する。本実施例では、頻出系列パターンの抽出方法を改善することで、解析に要する処理時間を短縮すると共に、解析精度を向上する。
【００６９】
図１０は、頻出系列パターンをグループ化する様子を示す。第１実施例では、図６で述べたように、ブロックからパターンを比較的きれいに抽出できる場合を述べた。これに対し、もしも「代理店発注」のパターンと「交通機関」のパターンとがつながるパターンが頻出する場合、単純にグループ化することはできなくなる。もしも単純にグルーピングすると、代理店を使用する場合の業務の流れの中に、交通機関の種別等を指定する流れが混入してしまい、業務処理を正確に把握できなくなるためである。つまり、パターンの長さが長くなるほど、そのパターンの下流が枝分かれする数も増加し、そのパターンの持つ業務処理上の意味が不明瞭となる。そこで、本実施例では、以下に述べる方法でパターンを抽出する。
【００７０】
図１１は、ブロックから頻出系列パターンを抽出する方法を示す。本実施例では、パターンの系列長ＰＳを「２」に限定し、かつ、先行ログデータ（先行作業処理）と後続ログデータ（後続作業処理）の間に存在する他のログデータの数を無制限に許容する。
【００７１】
例えば、アプリケーションログＴ１から抽出されたパターンが「作業処理１→作業処理２」であると仮定する。このパターンでは、作業処理１の後に作業処理２が直ちに実施されている。図１１では、「作業処理」を「作業」と略記する。
【００７２】
許容ギャップ長ＧＳとは、パターンとして繋がるか否かの解析対象である２つのログデータ（先行ログデータと後続ログデータ）の間に、他のログデータが何個まで存在するのを許すかを示す値である。本実施例では、許容ギャップ長ＧＳを無限大に設定する。
【００７３】
従って、本実施例では、作業処理１と作業処理２の間に、１つの他の作業処理Ｘが介在する場合、作業処理１と作業処理２の間に２つの他の作業処理Ｘ，Ｙが介在する場合、作業処理１と作業処理２の間に３つの他の作業処理Ｘ，Ｙ，Ｚが介在する場合、いずれの場合も、「作業処理１→作業処理２」の組合せとして抽出される。
【００７４】
許容ギャップ長ＧＳは無限大に設定されるため、先行ログデータ（先行作業処理）と後続ログデータ（後続作業処理）との間に、他のログデータが何個含まれていても、同一の組合せとして抽出される。
【００７５】
図１２は、図１０に示すパターンのグループ分けに対し、パターンの系列長ＰＳを「２」に、許容ギャップ長ＧＳを無限大に、設定した場合のグループ分けの結果を示す。これにより、「日程入力」を共通にするパターンＰ２１〜Ｐ２４と、「代理店発注」を共通にするパターンＰ２６〜ｐ２９と、「交通機関」を共通にするパターンＰ３１〜Ｐ３４との３つのグループを得ることができる。
【００７６】
各グループは、１つの先行ログデータと少なくとも１つの後続ログデータとから構成される。本実施例では、各グループのうち、後続ログデータを所定数ＢＮ以上含むグループのみを業務粒度グループとして抽出する。本実施例では、各業務粒度グループの先行ログデータを根作業１０１と呼び、根作業１０１＿１〜１０１＿３を順番に並べることで、業務処理フローを生成する。
【００７７】
図１３は、業務処理フローを生成する処理を示すフローチャートである。図１３に示す処理は、図２で述べた処理と一部のステップＳ２１〜Ｓ２３が共通し、他のステップＳ２４〜Ｓ２７が異なる。
【００７８】
アプリケーションログ取得部Ｆ１１は、管理端末３からアプリケーションログＴ１を取得する（Ｓ２１）。ブロック抽出部Ｆ１２は、アプリケーションログＴ１から、同一の案件ＩＤを持つログデータを抽出し（Ｓ２２）、抽出したログデータからブロックｂｌｋを抽出する（Ｓ２３）。
【００７９】
頻出系列パターン抽出部Ｆ１３は、ステップＳ２３で抽出された各ブロックｂｌｋに対して時系列アソシエーション分析を実施することで、頻出系列パターンＰを抽出する（Ｓ２４）。時系列アソシエーション分析を実行する際に、系列長ＰＳは「２」に、許容ギャップ長ＧＳは無限大に、それぞれ設定される。
【００８０】
グルーピング部Ｆ１４は、ステップＳ２４で抽出したパターン群を、所定のグループ生成規則に従ってグループ分けする（Ｓ２５）。ここでは、第１実施例と同様に、先頭ログデータが共通するパターン同士を同一のグループにする。
【００８１】
業務フロー生成部Ｆ１５は、ステップＳ２５で生成した各グループのうち、後続ログデータを所定数ＢＮ以上含むグループのみ抽出し（Ｓ２６）、抽出したグループの先行ログデータ（先頭ログデータ）を根作業とする。そして、業務処理フロー生成部Ｆ１５は、根作業のログデータを並べることで、業務処理フローを生成し、生成した業務処理フロー図をディスプレイ等に出力する（Ｓ２７）。
【００８２】
このように構成される本実施例も、第１実施例と同様の作用効果を奏する。さらに本実施例では、ブロックに対して時系列アソシエーション分析を実施する際に、系列長ＰＳを「２」に設定し、かつ許容ギャップ長ＧＳを無限大に設定するため、パターンの抽出に要する時間を第１実施例よりも短縮することができる。
【００８３】
さらに、本実施例では、パターンの系列長ＰＳを制限するため、本来区別されるべき業務処理が混入するのを防止でき、業務処理フローの精度を高めることができる。
【００８４】
さらに、本実施例では、後続ログデータを所定数ＢＮ以上含むグループのみから業務処理フローを生成するため、業務処理フローから細かい流れを省略することができ、分かり易い業務処理フローを生成できる。
【００８５】
後続ログデータの数が所定数ＢＮ未満であるグループは、細かい処理であると考えることができる。本実施例では、系列長ＰＳを短く制限するため、高速処理が可能となるが、その反面、後続ログデータの少ないグループまで抽出する。後続データの少ないグループは細かすぎるため、解析者であるユーザが業務処理の流れを容易に理解するのを妨げるおそれがある。そこで、本実施例では、後続ログデータを所定数ＢＮ以上含むグループのみを残して業務処理フローを生成する。この結果、本実施例では、高速処理と業務処理フローの分かりやすさの維持との両方を矛盾なく実現することができる。
【実施例３】
【００８６】
図１４を用いて第３実施例を説明する。本実施例では、業務粒度グループを生成する際の基準となるログデータ（所定のログデータ）を、ログデータの組合せに含まれる末尾のログデータにする。
【００８７】
図１４（ａ）は、第１実施例において、末尾のログデータが共通するパターンＰ４１，Ｐ４２をグループ１０２としてまとめる様子を示す。図１４（ｂ）は、系列長ＰＳを短く制限する第２実施例において、末尾のログデータが共通するパターンＰ５１〜Ｐ５４をグループ１０３としてまとめる様子を示す。
【００８８】
このように構成される本実施例も第１実施例と同様の作用効果を奏する。本実施例を第２実施例に適用する場合は、第２実施例と同様の作用効果を奏する。先頭のログデータに代えて末尾のログデータを採用する場合、フローチャート中の「開始作業」を「終端作業」と呼び代えてもよい。
【００８９】
なお、本発明は、上述した実施形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。上述の実施形態において、添付図面に図示した構成例に限定されない。本発明の目的を達成する範囲内で、実施形態の構成や処理方法は適宜変更することが可能である。
【００９０】
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれる。さらに特許請求の範囲に記載された構成は、特許請求の範囲で明示している組合せ以外にも組み合わせることができる。
【符号の説明】
【００９１】
１：業務処理フロー生成装置、２：業務システム、３：管理端末、Ｆ１１：アプリケーションログ取得部、Ｆ１２：ブロック抽出部、Ｆ１３：頻出系列パターン抽出部、Ｆ１４：グルーピング部、Ｆ１５：業務処理フロー生成部
【図１】
0006639334.tif 000002
【図２】
0006639334.tif 000003
【図３】
0006639334.tif 000004
【図４】
0006639334.tif 000005
【図５】
0006639334.tif 000006
【図６】
0006639334.tif 000007
【図７】
0006639334.tif 000008
【図８】
0006639334.tif 000009
【図９】
0006639334.tif 000010
【図１０】
0006639334.tif 000011
【図１１】
0006639334.tif 000012
【図１２】
0006639334.tif 000013
【図１３】
0006639334.tif 000014
【図１４】
0006639334.tif 000015