(57)【要約】【課題】  ワークフローを構築するシステム管理者にとっては、全体の進捗状況や進捗度合いを直感的に把握することはできない。【解決手段】各アクティビティに要するコストは全て平等であることを前提とし、ノードに対する残アクティビティ数とアクティブパスによる実行中パスから進捗率を算出する。進捗率の計算方法は、進捗率St+1は残進捗率（100-St）を遷移する可能性がある総アクティビティ数で割ったものを現在の進捗率Stに加算することで求まる。【選択図】  図３
2006126986.tif 000002
【特許請求の範囲】
【請求項１】
各種業務をコンピュータを使ったワークフローによって担当者を連携しながら業務を推進・実行するワークフローシステムにおいて、フロー全体の進捗状況割合を求め、全体の進捗状況や進捗度合いを把握できるワークフロー進捗管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを利用したワークフローシステムにおける作業の進捗状況の確認方法に関する。
【背景技術】
【０００２】
従来の進捗状況の確認方法に関する技術として、下記特許文献１及び下記特許文献２に記載のものが知られている。
【０００３】
下記特許文献１に記載のものは、ワークフローの設計及びワークフローの進捗状況の把握を視覚的に容易に行うことができるワークフロー処理システムを提案されている。これによると、定義された基本オブジェクトを業務手順に従って配置して形成したルールオブジェクトをワークフローエンジンが取り扱える形式に変換してルール内容を保持し、ワークフローエンジンがルール内容を実行すると共にルールオブジェクトに相当する図形をルール表示図面として表示する。またルール表示画面は、業務の進捗状況が表示され、ルール表示画面を参照すれば業務の進捗状況を容易に把握できる効果がある。
【０００４】
また下記特許文献２に記載のものは、各担当者別に業務の仕事を時間軸で表示し、作業期間や作業量を容易に把握できる業務分析機能を備えた、ワークフロー管理システムが提案されている。これによると、ワークフローサーバが、クライアントからの要求に応じて、データべースを参照して、実行中または実行予定のジョブを検索しジョブリストを作成し、かつ利用者別の仕事情報を検索して利用者リストを作成する。クライアントに設けられた表示画面では、ジョブリストの表示範囲に各ジョブごとの作業期間を時間軸に沿って表示し、かつ利用者リストの表示範囲に利用者別に担当すべき仕事の期間と仕事量に関する情報を、時間軸に沿って表示する。
【０００５】
【特許文献１】特開2002-041744
【特許文献２】特開平10-011507
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術は、ルールオブジェクトに相当する図形に進捗を表現しており、複雑なワークフローの進捗を確認するためには、進捗が完了している図形を目で追わなければならず、直感的に進捗を把握することはできない。また上記特許文献２に記載の記述は、担当者別の作業期間や作業量の進捗を表示するため、担当者別あるいは業務別の滞留日数を把握できても、ワークフロー業務自体の進捗を把握することはできない。
【０００７】
このように、従来技術はフロー図に進捗を表現したり、担当者別あるいは業務別の作業進捗を表示する相対的な評価であり、ワークフローを構築するシステム管理者にとっては、全体の進捗状況や進捗度合いを直感的に把握することはできない。
【０００８】
進捗率は、各アクティビティに要するコストは全て平等であることを前提にすると、完了までのアクティビティ数を母数とし、その時点の完了したアクティビティの割合で計算できる。しかし分岐を伴う複雑なフローの場合、分岐によって完了までの実行アクティビティの数に変動が生じるため、単純な式による進捗率は求めることはできない。
【０００９】
本発明の目的は、複雑なフローにおいても精度の高い進捗状況割合を求め、全体の進捗状況や進捗度合いを把握できるインターフェースを提供することにある。
【課題を解決するための手段】
【００１０】
各種業務をコンピュータを使ったワークフローによって担当者を連携しながら業務を推進・実行するワークフローシステムにおいて、フロー全体の進捗状況割合を求め、全体の進捗状況や進捗度合いを把握できるワークフロー進捗管理方法。
【発明の効果】
【００１１】
本発明によれば、各ノードの残アクティビティ数を制御することにより、進捗状況割合を求めることができる。
【００１２】
また本発明によれば、アクティビティにコストを加味した進捗計算も可能となる。
【発明を実施するための最良の形態】
【００１３】
以下図面を参照して本発明の実施の形態を説明する。
【００１４】
本発明による進捗率を計算する場合、進捗率をアクティビティの実行時に計算し、現進捗率をスタンプしていく逐次計算方式と、実行時にアクティビティの実行履歴を作成しておき、進捗率を表示する時に現進捗率を計算する履歴集計方式が考えられる。
【００１５】
本実施例では、前者である逐次計算方式を適用したものである。
【００１６】
図１はワークフローシステムを示したものである。本ワークフローシステムは、サーバ１と、複数のクライアント３とがネットワークを介して接続されている。また、ネットワークには、データベース２が接続されている。サーバ１は、進捗率を計算し、計算された進捗をデータベース２に格納しネットワークで接続された各クライアント３に進捗率を表示する。
【００１７】
サーバ１による進捗計算は、クライアント３による次ノードへの遷移要求をきっかけとして計算され、遷移要求を受けたサーバ１は図２の進捗計算フローチャートに従って処理される。
【００１８】
クライアント３からサーバ１へ遷移要求として実行ノード名が通知されると、サーバ１において、フローチャート処理１２または処理１３が実行され、案件ID・実行ノード名・遷移前進捗率が決定される。処理１４は図７の案件情報テーブルから引き当てる。
【００１９】
フローチャート処理１５は、図６の実行ノードテーブルと図５のノード情報テーブルを結合（Join）することにより実行ノードの残アクティビティ数を取得する。フローチャート処理１８により実行案件の実行ノード数分の繰り返し処理になり、分岐フローのような実行ノードが複数ある場合に繰り返される。
【００２０】
フローチャート処理１６は、残アクティビティ数の総和を計算する処理である。
【００２１】
フローチャート処理１９は、処理１１から処理１８までに得た情報から図３の計算式により遷移後の進捗率を算出する。
【００２２】
フローチャート処理２０は、遷移後の進捗率を図7案件情報テーブルに更新する。
【００２３】
以上処理した結果としてクライアント３の端末で図８の進捗表を表示することができる。
【００２４】
さらに図３の式による進捗率計算について説明する。図３の進捗率St+1は、遷移前の進捗率Stにアクティビティの実行による進捗率S'tを加算することで求まる。本発明ではS'tを、残進捗率（100-St）と実行待ちのノードの残アクティビティ数の総和（u(t)）で求める。そのため各ノードには、各ノードから完了までのアクティビティ数を残アクティビティ数とし保持させる。これが図５のノード定義テーブルになる。進捗率St+1は、現在の進捗率Stと実行待ちのノードの残アクティビティ数の静的情報から算出することができる。
【００２５】
図９の単純線形フローを計算する場合、進捗率の増加率は常に100/Rで一定（Rは総アクティビティ数）のため、進捗率は100/Rの等差数列である。つまりSt =100t/RでありSt+1=St+100/Rである。式を変形し、St+1=St+100(R-t)/R(R-t)、St+1=St+(100-100t/R)/(R-t)よりSt+1=St+(100- St)/(R-t)となり、図３の式は線形フローの進捗率計算式と証明できる。
【００２６】
以下に条件分岐フローと分岐フローの場合を説明するが、単純線形フローのような式の証明は行えない。なぜなら、本発明の残アクティビティの総和計算において、実行されないアクティビティが含まれ、またパスが統合される時には重複してアクティビティをカウントしているため、進捗の誤差が生まれる。しかし本発明である図３の式を使用すれば、最終アクティビティの実行で進捗は必ず100％となり、途中の誤差による進捗の補正を考える必要はない。
【００２７】
図４の条件分岐フローを図３の式を使って具体的に計算する。図４のフローには完了までのパスが２つ存在する。（１）の場合、最初のアクティビティの実行で進捗率16％（=10(100-0)/6）、ノードAの残アクティビティ数５であるので進捗率は32%（=16+(100-16)/5）となり、ノードBからノードEに遷移した場合進捗率66％（=32+(100-32)/2）、ノードEから完了に遷移し100％（=66+(100-66)/1）となる。（２）の場合、最初のアクティビティの実行は同じく16％、同じくノードAからノードCへ遷移して32％、ノードCからノードDへは54％（=32+(100-32)/3）、同様にノードDからノードEへ遷移し77％（=54+(100-54)/2）となり完了と共に100％（=77+(100-77)/1）になる。
【００２８】
次に図１０の分岐フローを図３の式を使って具体的に計算する。図１０のノードAの実行アクティビティは、ノードAからノードBへとノードAからノードEへの二つのパスが生まれる。このときに実行ノードテーブルにひとつの案件IDに対して２つのレコードが誕生する。ノードBとノードEのどちらが先に次ノードへ遷移するか順序性は保証されないが、ここでは先にノードBが次ノードへ遷移するとする。この場合ノードBからノードCへ遷移すると進捗率34％（=24+(100-24)/(4+3)）となる。続いてノードEからノードFに遷移すると進捗率45％（=34+(100-34)/(3+3)）となる。同様にノードCからノードDへ遷移すると56％（=45+(100-45)/(3+2)）、ノードFからノードGへ遷移すると67％（=56+(100-56)/(2+2)）、ノードDからノードGへ遷移すると78％（=67+(100-67)/(2+1)）の進捗率となる。ノードGでパスが統合されるため、アクティブパスは２から１になり、最終アクティビティを実行することで進捗率100％（=78+(100-78)/1）となる。
【００２９】
よって条件分岐フローまたは分岐フローの場合においても、アクティビティの実行で進捗率は増加し、最終アクティビティの実行で必ず進捗率は100％になる。
【００３０】
以上、説明したように、本発明によれば、各種業務をコンピュータを使ったワークフローによって担当者を連携しながら業務を推進・実行するワークフローシステムにおいて、各ノードの残アクティビティ数を制御することにより、進捗状況割合を求めることができる。例えば、複数の案件の進捗状況を一度に表示することが可能となるため、業務フロー全体の進捗状況が直感的に把握でき、業務フローの評価材料として利用できる。
【００３１】
また、本発明では各アクティビティに要するコストは全て平等であることを前提としていたが、図３のu(t)関数を時点tの実行ノードから完了までの総コストのうち実行ノードのコストの割合を求めることで、アクティビティにコストを加味した進捗計算も可能となる。
【図面の簡単な説明】
【００３２】
【図１】システム構成を示すブロック図。
【図２】進捗率を計算するフローチャート図
【図３】進捗を表す計算式。
【図４】条件分岐フローの例示図。
【図５】ノード定義テーブルのフォーマット図。
【図６】実行ノードテーブルのフォーマット図。
【図７】案件情報テーブルのフォーマット図。
【図８】クライアントに表示する進捗表。
【図９】線形フローの例示図。
【図１０】分岐フローの例示図。
【符号の説明】
【００３３】
１：サーバ、２：データベース、３：クライアント、４：進捗表
【図１】
2006126986.tif 000003
【図２】
2006126986.tif 000004
【図３】
2006126986.tif 000005
【図４】
2006126986.tif 000006
【図５】
2006126986.tif 000007
【図６】
2006126986.tif 000008
【図７】
2006126986.tif 000009
【図８】
2006126986.tif 000010
【図９】
2006126986.tif 000011
【図１０】
2006126986.tif 000012