(57)【要約】【課題】  合議アクティビティにおける操作に従って、遷移先を柔軟に決定するワークフローシステムを提供する。【解決手段】  複数人の投票者による投票の結果に従って意思決定を行う合議アクティビティを有するワークフローを制御するワークフローシステムであって、ワークフローの合議アクティビティを特定するアクティビティ識別情報と、合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理する。アクティビティ識別情報に対応する複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する。アクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合または反対した投票者の割合に従って、複数の異なるアクティビティに遷移させることを特徴とするワークフローシステム。【選択図】  図１２
2017068701.tif 000002
【特許請求の範囲】
【請求項１】
複数人の投票者による投票の結果に従って意思決定を行う合議アクティビティを有するワークフローを制御するワークフローシステムであって、
前記ワークフローの前記合議アクティビティを特定するアクティビティ識別情報と、前記合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理するアクティビティ管理手段と、
前記アクティビティ識別情報と、前記アクティビティ管理手段により管理されているアクティビティ識別情報に対応する複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する投票履歴管理手段と、
前記投票履歴管理手段により管理されているアクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合または反対した投票者の割合に従って、複数の異なるアクティビティに遷移させるアクティビティ遷移手段と
を備えることを特徴とするワークフローシステム。
【請求項２】
前記アクティビティ遷移手段は、
前記賛成した投票者の割合が所定の値より低い場合または前記反対した投票者の割合が所定の値より高い場合、当該合議アクティビティ以前のアクティビティに戻し、前記賛成した投票者の割合が所定の値より高い場合または前記反対した投票者の割合が所定の値より低い場合、当該合議アクティビティ以降のアクティビティに進ませること
を特徴とする請求項１に記載のワークフローシステム。
【請求項３】
前記アクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合の閾値または反対した投票者の割合の閾値と、当該合議アクティビティから遷移する遷移先のアクティビティとを対応付けて管理する遷移先管理手段と
を更に備え、
前記アクティビティ遷移手段は、
前記賛成した投票者の割合または前記反対した投票者の割合が、前記遷移先管理手段により管理されている閾値に含まれている場合、当該閾値に対応付けられた遷移先のアクティビティに遷移させること
を特徴とする請求項１または２に記載のワークフローシステム。
【請求項４】
前記アクティビティ識別情報に対応する複数の投票者のそれぞれによる賛成または反対の投票の受け付けを行う受付手段と、
前記投票履歴管理手段により管理されているアクティビティ識別情報に対応する前記複数の投票者の数に対して、現時点での、前記賛成した投票者の数の割合または前記反対した投票者の数の割合の少なくとも一方を算出する第１の算出手段と
前記投票履歴管理手段により管理されているアクティビティ識別情報に対応する前記複数の投票者の全員による前記受付手段による賛成または反対の投票の受け付けが完了した時点での、前記投票履歴管理手段により管理されているアクティビティ識別情報に対応する前記複数の投票者の数に対して、前記賛成した投票者の数の割合または前記反対した投票者の数の割合の少なくとも一方を算出する第２の算出手段と
を更に備え、
前記アクティビティ遷移手段は、
前記投票履歴管理手段により管理されているアクティビティ識別情報に対応する複数の投票者の全員による前記受付手段による賛成または反対の投票の受け付けが完了していない場合であっても、前記第１の算出手段により算出された割合と、前記第２の算出手段により算出された割合と、の両方が、前記遷移先管理手段により管理されている閾値に含まれている場合、当該閾値に対応付けられた遷移先のアクティビティに遷移させること
を特徴とする請求項３に記載のワークフローシステム。
【請求項５】
前記遷移先管理手段により管理される前記閾値と前記遷移先のアクティビティを示す識別情報とを用いて、前記閾値を軸にしたグラフを表示し、当該グラフに対するユーザの操作に従って、前記閾値または前記遷移先のアクティビティを示す識別情報のうち少なくとも１つを編集する編集手段
を更に備えることを特徴とする請求項３または４に記載のワークフローシステム。
【請求項６】
複数人の投票者による投票の結果に従って意思決定を行う合議アクティビティを有するワークフローを制御するワークフローシステムにおける処理方法であって、
前記ワークフローシステムが、
前記ワークフローの前記合議アクティビティを特定するアクティビティ識別情報と、前記合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理するアクティビティ管理ステップと、
前記アクティビティ識別情報と、前記アクティビティ管理ステップにより管理されているアクティビティ識別情報に対応する複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する投票履歴管理ステップと、
前記投票履歴管理ステップにより管理されているアクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合または反対した投票者の割合に従って、複数の異なるアクティビティに遷移させるアクティビティ遷移ステップと
とを実行することを特徴とする処理方法。
【請求項７】
複数人の投票者による投票の結果に従って意思決定を行う合議アクティビティを有するワークフローを制御するワークフローシステムで実行可能なプログラムであって、
前記ワークフローシステムを、
前記ワークフローの前記合議アクティビティを特定するアクティビティ識別情報と、前記合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理するアクティビティ管理手段と、
前記アクティビティ識別情報と、前記アクティビティ管理手段により管理されているアクティビティ識別情報に対応する複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する投票履歴管理手段と、
前記投票履歴管理手段により管理されているアクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合または反対した投票者の割合に従って、複数の異なるアクティビティに遷移させるアクティビティ遷移手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、合議アクティビティを有するワークフローシステムと、その処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ワークフローシステムにおいて、次のような承認アクティビティが存在する。
（１）通常承認      …  １人の承認者に承認依頼し、その１人が承認すると、次の承認アクティビティへ進む
（２）合議（誰か）  …  複数の承認者に承認依頼し、そのうちの１人が承認すると、次の承認アクティビティへ進む
（３）合議（多数決）…  複数の承認者に承認依頼し、そのうちの所定人数以上が承認すると、次の承認アクティビティへ進む
（４）合議（全員）  …  複数の承認者に承認依頼し、全員が承認すると、次の承認アクティビティへ進む
【０００３】
特許文献１では、複数人による投票の結果に応じて意思決定を行う合議アクティビティにおいて、賛成票・反対票の割合に従って合議結果を決定するワークフローシステムの技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１４６４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１のシステム構成では、合議アクティビティにおいて、賛成票・反対票の割合に従って合議結果を決定するのみであり、賛成票・反対票の割合に従って遷移先を変えるといった、柔軟な設定ができないという課題がある。
例えば、投票総数の８割以上の賛成が得られた場合、案件を承認完了にさせ、５〜８割の賛成が得られた場合、他部門や役職者への確認を行わせる。２〜５割の賛成が得られた場合は差戻し、０〜２割の賛成が得られた場合は否決するというケースが想定される。従来技術のように、賛成多数、反対多数といった２択しか定義がない場合、このケースの様な課題を解決することはできない。
【０００６】
また、合議アクティビティにおいて、すべての投票者による投票が完了するのを待たなければ、合議結果が決定しないという課題もある。
また、合議アクティビティの遷移先について柔軟な設定ができたとしても、設定方法がわかりにくい、または設定が面倒な場合、結局ユーザは設定しないという課題もある。例えば、従来のワークフローシステムの場合、経路編集画面４１０（図４）の合議アクティビティ４１１および条件分岐４１２のように、「合議アクティビティ」と「条件分岐」という２つの部品を用い、２つの部品についてそれぞれ設定しなければ、賛成票・反対票の割合に従って遷移先を変えることができないという設定が面倒という課題がある。
そこで、本発明の目的は、合議アクティビティにおける操作に従って、遷移先を柔軟に決定するワークフローシステムを提供することである。
【課題を解決するための手段】
【０００７】
複数人の投票者による投票の結果に従って意思決定を行う合議アクティビティを有するワークフローを制御するワークフローシステムであって、前記ワークフローの前記合議アクティビティを特定するアクティビティ識別情報と、前記合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理するアクティビティ管理手段と、前記アクティビティ識別情報と、前記アクティビティ管理手段により管理されているアクティビティ識別情報に対応する複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する投票履歴管理手段と、前記投票履歴管理手段により管理されているアクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合または反対した投票者の割合に従って、複数の異なるアクティビティに遷移させるアクティビティ遷移手段とを備えることを特徴とするワークフローシステム。
【発明の効果】
【０００８】
本発明によれば、合議アクティビティにおける操作に従って、遷移先を柔軟に決定するワークフローシステムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明のワークフローシステム１００の構成の一例を示す図
【図２】本発明のサーバ１０２と情報処理装置１０１のハードウエア構成の一例を示す図
【図３】本発明のワークフローシステム１００の機能構成の一例を示すブロック図
【図４】本発明の情報処理装置１０１における経路編集画面および工程定義編集画面の一例を示す図
【図５】本発明の情報処理装置１０１における工程条件定義一覧画面および工程条件設定画面の一例を示す図
【図６】本発明の情報処理装置１０１における合議投票画面の一例を示す図
【図７】本発明のサーバ１０２で管理するテーブルの一例を示す図
【図８】本発明の経路編集および工程編集処理の一例を示すフローチャート
【図９】本発明の工程条件設定チェック処理の一例を示すフローチャート
【図１０】本発明の工程条件定義一覧チェック処理の一例を示すフローチャート
【図１１】本発明の経路記憶処理の一例を示すフローチャート
【図１２】本発明の合議遷移処理の一例を示すフローチャート
【図１３】本発明のサーバ１０２で管理するテーブルのデータの一例を示す図
【図１４】本発明の情報処理装置１０１における工程定義画面の一例を示す図
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図１は、本発明の一実施形態を示すワークフローシステムの一例を示すシステム構成図である。
【００１１】
図１に示すように、本実施形態のワークフローシステム１００は、少なくとも１つのサーバ１０２と複数のクライアント（以下、情報処理装置１０１と記載する）とがネットワーク１０３を介して接続されている。
【００１２】
ネットワーク１０３の構成は公知であるため詳細な説明は省略するが、ネットワーク１０３としてローカルエリアネットワーク（ＬＡＮ）・ワイドエリアネットワーク（ＷＡＮ）・イントラネット・インターネットなどを利用することができる。
【００１３】
このようなワークフローシステム１００において、ユーザは、例えばウェブブラウザやクライアントソフトウェア等を利用して、情報処理装置１０１から、サーバ１０２に対して、ワークフロー進行の要求等を行う。
サーバ１０２は、情報処理装置１０１からの要求に応じた処理、管理を行い、情報処理装置１０１に対して結果等を送信する。
【００１４】
サーバ１０２と情報処理装置１０１間の通信は、ＨＴＴＰのリクエスト・レスポンスでもよいし、ＳＯＡＰなどを利用したウェブサービスのリクエスト・レスポンスなどであってもよい。
【００１５】
なお、情報処理装置１０１は、デスクトップＰＣのほか、携帯電話、スマートフォン、タブレット端末、ノートＰＣ、およびＰＤＡ端末などの持ち運び可能な端末であってもよい。
【００１６】
図２は、図１に示したサーバ１０２と情報処理装置１０１のハードウエア構成の一例を示すブロック図である。
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００１７】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、特に、サーバやクライアント等の端末では、キーボード、マウス等のポインティングデバイスが挙げられる。
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。
【００１８】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、外部メモリコントローラ２０７には、各サーバあるいは各クライアントの各種機能を実現するための各種テーブル、パラメータが記憶されている。
【００１９】
この外部メモリ２１１としては、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
通信Ｉ／Ｆコントローラ２０８は、ネットワーク１０３を介して外部機器との通信制御処理を実行する。
【００２０】
なお、外部メモリ２１１には、本発明を実現するためのプログラム２１２が記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００２１】
図３は、本発明のワークフローシステム１００の機能構成の一例を示すブロック図である。
アクティビティ管理部３０１は、ワークフローの合議アクティビティを特定するアクティビティ識別情報と、合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理する機能部である。
【００２２】
投票履歴管理部３０２は、アクティビティ識別情報と、アクティビティ管理部３０１により管理されているアクティビティ識別情報に対応する複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する機能部である。
【００２３】
アクティビティ遷移部３０３は、投票履歴管理部３０２により管理されているアクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合または反対した投票者の割合に従って、複数の異なるアクティビティに遷移させる機能部である。
【００２４】
アクティビティ遷移部３０３は、賛成した投票者の割合が所定の値より低い場合または反対した投票者の割合が所定の値より高い場合、当該合議アクティビティ以前のアクティビティに戻し、賛成した投票者の割合が所定の値より高い場合または反対した投票者の割合が所定の値より低い場合、当該合議アクティビティ以降のアクティビティに進ませる機能部である。
【００２５】
遷移先管理部３０４は、アクティビティ識別情報に対応する複数の投票者のうち、賛成した投票者の割合の閾値または反対した投票者の割合の閾値と、当該合議アクティビティから遷移する遷移先のアクティビティとを対応付けて管理する機能部である。
【００２６】
アクティビティ遷移部３０３は、賛成した投票者の割合または反対した投票者の割合が、遷移先管理部３０４により管理されている閾値に含まれている場合、当該閾値に対応付けられた遷移先のアクティビティに遷移させる機能部である。
受付部３０５は、アクティビティ識別情報に対応する複数の投票者のそれぞれによる賛成または反対の投票の受け付けを行う機能部である。
【００２７】
第１の算出部３０６は、投票履歴管理部３０２により管理されているアクティビティ識別情報に対応する複数の投票者の数に対して、現時点での、賛成した投票者の数の割合または反対した投票者の数の割合の少なくとも一方を算出する機能部である。
【００２８】
第２の算出部３０７は、投票履歴管理部３０２により管理されているアクティビティ識別情報に対応する複数の投票者の全員による受付部３０５による賛成または反対の投票の受け付けが完了した時点での、投票履歴管理部３０２により管理されているアクティビティ識別情報に対応する複数の投票者の数に対して、賛成した投票者の数の割合または反対した投票者の数の割合の少なくとも一方を算出する機能部である。
【００２９】
アクティビティ遷移部３０３は、投票履歴管理部３０２により管理されているアクティビティ識別情報に対応する複数の投票者の全員による受付部３０５による賛成または反対の投票の受け付けが完了していない場合であっても、第１の算出部３０６により算出された割合と、第２の算出部３０７により算出された割合と、の両方が、遷移先管理部３０４により管理されている閾値に含まれている場合、当該閾値に対応付けられた遷移先のアクティビティに遷移させる機能部である。
【００３０】
編集部３０８は、遷移先管理部３０４により管理される閾値と遷移先のアクティビティを示す識別情報とを用いて、閾値を軸にしたグラフを表示し、当該グラフに対するユーザの操作に従って、閾値または遷移先のアクティビティを示す識別情報のうち少なくとも１つを編集する機能部である。
【００３１】
図４は、情報処理装置１０１における経路編集画面および工程定義編集画面の一例を示す図である。これらの画面は、ワークフロー管理者が経路および工程定義の編集を行う画面である。
【００３２】
経路編集画面４２０は、業務（ワークフロー）の経路（承認ルート）の設計・編集を行う画面である。経路編集画面４２０には、開始アクティビティ、各工程（アクティビティ）、終了アクティビティが矢印で接続され、表示されており、これらの工程、工程の遷移条件、工程の処理担当者などについて編集することができる。このように、経路編集画面４２０は、業務の経路（承認ルート）について、グラフィカルに編集を行う画面である。工程定義編集画面４３０は、経路上の工程（アクティビティ）の名称などの編集を行う画面である。
【００３３】
図５は、情報処理装置１０１における工程条件定義一覧画面および工程条件設定画面の一例を示す図である。工程条件定義一覧画面５１０は、経路上の工程を処理する担当者、条件、遷移先・動作の設定を行う画面である。工程条件設定編集画面５２０は、合議の実行時に担当者を指定する場合の条件の設定を行う画面である。
【００３４】
図７は、サーバ１０２で管理するテーブルの一例を示す図である。業務系エンティティ７１０は、ワークフローシステムの業務データを管理するテーブル群である。案件系エンティティ７２０は、ワークフローシステムの案件データを管理するテーブル群である。
【００３５】
工程定義テーブル７１３は、システム管理者による経路上の各工程の定義情報を記憶するテーブルである。合議工程条件定義テーブル７１４は、システム管理者による経路上の合議工程の条件定義情報を記憶するテーブルである。合議工程担当者テーブル７１５は、システム管理者による経路上の合議工程の担当者情報を記憶するテーブルである。合議投票結果テーブル７２１は、合議アクティビティの投票を管理するテーブルである。
【００３６】
すなわち、工程定義テーブル７１３は、ワークフローの合議アクティビティを特定するアクティビティ識別情報と、合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理する手段の一例を示す機能部である。また、合議工程条件定義テーブル７１４は、複数の投票者のうち、賛成した投票者の割合の閾値または反対した投票者の割合の閾値と、当該合議アクティビティから遷移する遷移先のアクティビティとを対応付けて管理する手段の一例を示す機能部である。また、合議投票結果テーブル７２１は、複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する手段の一例を示す機能部である。
【００３７】
図８は、経路編集および工程編集処理の一例を示すフローチャートである。
ステップＳ８０１において、情報処理装置１０１は、管理者によるワークフローアプリケーションの起動を受け付け、ワークフローシステム１００へのログインを受け付ける。
【００３８】
ステップＳ８０２において、情報処理装置１０１は、管理者による経路編集指示を受け付ける。具体的には、情報処理装置１０１がサーバ１０２に業務とその経路リストを要求し、サーバ１０２にて管理されている業務テーブル７１１と経路テーブル７１２から業務とその経路リストを取得して表示（不図示）し、編集する経路の指示を受け付ける。
【００３９】
ステップＳ８０３において、情報処理装置１０１は、編集指示を受け付けた経路について、経路情報を取得する。具体的には、情報処理装置１０１がサーバ１０２に編集指示を受け付けた経路の「業務ＩＤ」「経路ＩＤ」を送信して経路情報を要求し、サーバ１０２にて管理されている経路テーブル７１２から経路情報を取得する。
ステップＳ８０４において、情報処理装置１０１は、取得した経路情報を用いて、経路編集画面４２０（図４）を表示する。
【００４０】
ステップＳ８０５において、情報処理装置１０１は、編集する工程の指示を受け付ける。この例では、合議アクティビティ４２２（工程３）の編集指示を受け付けたとする。
【００４１】
ステップＳ８０６において、情報処理装置１０１は、編集指示を受け付けた工程の工程定義情報を取得する。すなわち、ステップＳ８０６は、ワークフローの合議アクティビティを特定するアクティビティ識別情報と、合議アクティビティにおいて賛成または反対の投票を行う複数の投票者を特定する投票者識別情報とを対応づけて管理する処理の一例を示すステップである。具体的には、情報処理装置１０１がサーバ１０２に編集指示を受け付けた工程の「経路ＩＤ」「工程定義ＩＤ」を送信して工程定義情報を要求し、サーバ１０２にて管理されている工程定義テーブル７１３から工程定義情報を取得する。
ステップＳ８０７において、情報処理装置１０１は、取得した工程定義情報を用いて、工程定義編集画面４３０（図４）を表示する。
ステップＳ８０８において、情報処理装置１０１は、工程定義編集画面４３０の条件タブ４３１の押下による工程条件定義の編集指示を受け付ける。
【００４２】
ステップＳ８０９において、情報処理装置１０１は、編集指示を受け付けた工程の工程条件定義一覧を取得する。具体的には、情報処理装置１０１がサーバ１０２に編集指示を受け付けた工程の「経路ＩＤ」「工程定義ＩＤ」を送信して工程条件定義一覧を要求し、サーバ１０２にて管理されている合議工程条件定義テーブル７１４から工程条件定義一覧を取得する。なお、取得した工程条件定義一覧には、「経路ＩＤ」「工程定義ＩＤ」「設定Ｎｏ．」「遷移先工程定義ＩＤ」「下限値」「上限値」が含まれる。
【００４３】
ステップＳ８１０において、情報処理装置１０１は、取得した工程条件定義一覧を用いて、工程条件定義一覧画面５１０（図５）を表示する。具体的には、工程条件定義一覧画面５１０の条件設定５１１の「Ｎｏ。」欄に取得した「設定Ｎｏ．」を、「条件」欄に「下限値」「上限値」を、「遷移先・動作」欄に「遷移先工程定義ＩＤ」が示す工程定義テーブル７１３の「工程定義名」を、それぞれ用いて表示する。
【００４４】
ステップＳ８１１において、情報処理装置１０１は、工程条件設定の編集指示を受け付ける。この例では、条件設定５１２（＝Ｎｏ．１）の編集指示を受け付けたとする。
【００４５】
ステップＳ８１２において、情報処理装置１０１は、ステップＳ８０９にて取得した工程条件定義一覧から、編集指示を受け付けた工程条件設定の情報を用いて、工程条件設定編集画面５２０（図５）を表示する。
【００４６】
ステップＳ８１３において、情報処理装置１０１は、工程条件設定の編集を受け付ける。工程条件設定編集画面５２０では、下限値５２１、上限値５２２、遷移先・動作を示す工程定義テーブル７１３の工程定義名５２３を編集することができる。なお、工程条件設定編集画面５２０のような画面を用いて、下限値５２１、上限値５２２、工程定義名５２３を編集するとしたが、これに限定するものではなく、例えば、図１４の工程条件設定編集画面１４００のように、下限値５２１および上限値５２２をグラフとして表示し、工程定義名５２３をグラフに記載することで、工程条件設定を視覚的にわかりやすくすることができる。
【００４７】
図１４の場合、１４０１のような工程条件の境目をクリックしドラッグすることで、下限値５２１、上限値５２２の両方を一度に編集できる。具体的には、１４０１をクリックし上方向にドラッグすることで、「開発部  部長承認」の下限値５２１は６０％から６１％、６２％・・・のように大きくすることができ、同時に「企画課  承認」の上限値５２２も６０％から６１％、６２％・・・のように大きくすることができる。これにより、後述するステップＳ１００８のエラーは発生することがなくなり、管理者による工程条件設定を容易にすることができる。
【００４８】
また、例えば、工程定義名５２３をクリックしドラッグすることで、工程定義名５２３の順番を入れ替えることができる。具体的には、１４０２の「企画課  承認」をクリックし上方向にドラッグすることで、「開発部  部長承認」よりも上部にドロップすることで、「企画課  承認」と「開発部  部長承認」の工程定義名５２３を入れ替えることができる。これにより、工程条件設定編集画面５２０のような画面の場合、「企画課  承認」と「開発部  部長承認」のそれぞれについて、下限値５２１、上限値５２２を編集しなければならない操作が、ドラッグ＆ドロップで容易に下限値５２１、上限値５２２を編集することができる。
【００４９】
すなわち、ステップＳ８１３は、閾値と遷移先のアクティビティを示す識別情報とを用いて、閾値を軸にしたグラフを表示し、当該グラフに対するユーザの操作に従って、閾値または遷移先のアクティビティを示す識別情報のうち少なくとも１つを編集する処理の一例を示すステップである。
【００５０】
図１４の工程条件設定編集画面１４００により、合議アクティビティの遷移先について柔軟な設定ができたとしても、設定方法がわかりにくい、または設定が面倒な場合、結局ユーザは設定しないという課題を解決することができる。
【００５１】
ステップＳ８１４において、情報処理装置１０１は、工程条件設定の編集完了を受け付ける。具体的には、工程条件設定編集画面５２０のＯＫボタン５２４の押下を受け付ける。
ステップＳ８１５において、情報処理装置１０１は、工程条件設定のチェック処理（図９の説明で後述する）を行う。
【００５２】
ステップＳ８１６において、情報処理装置１０１は、工程条件定義の編集完了を受け付ける。具体的には、工程条件定義一覧画面５１０のＯＫボタン５１３の押下を受け付ける。
ステップＳ８１７において、情報処理装置１０１は、工程条件定義一覧のチェック処理（図１０の説明で後述する）を行う。
ステップＳ８１８において、情報処理装置１０１は、経路記憶を受け付ける。具体的には、経路編集画面４２０の保存ボタン４２１の押下を受け付ける。
ステップＳ８１９において、情報処理装置１０１は、経路記憶処理（図１１の説明で後述する）を行う。
以上で、図８の経路編集および工程編集処理の説明を終了する。
【００５３】
図９は、工程条件設定チェック処理の一例を示すフローチャートである。工程条件設定チェック処理は、図５の工程条件設定編集画面５２０のＯＫボタン５２４の押下を受け付けた後に行う処理であり、工程条件設定編集画面５２０における設定値が正常であることの確認と、図５の工程条件定義一覧画面５１０に設定内容を反映する処理である。
【００５４】
ステップＳ９０１において、情報処理装置１０１は、工程条件設定編集画面５２０で設定された値を用いて、下限値５２１≦上限値５２２か否か判定する。下限値５２１＞上限値５２２の場合はＳ９０２に進み、下限値５２１≦上限値５２２の場合はＳ９０３に進む。これにより、設定に不備があればユーザに通知するため、合議アクティビティの遷移先について柔軟な設定ができたとしても、設定方法がわかりにくい、または設定が面倒な場合、結局ユーザは設定しないという課題を解決することができる。
【００５５】
ステップＳ９０２において、情報処理装置１０１は、「設定エラーです。下限値≦上限値にしてください。」などのエラーダイアログ（不図示）を表示し、図９の工程条件設定チェック処理を終了する。
ステップＳ９０３において、情報処理装置１０１は、工程条件定義一覧画面５１０の条件設定一覧をＲＡＭ２０２から取得する。
ステップＳ９０４において、情報処理装置１０１は、ステップＳ９０３にて取得した条件設定一覧の件数分ループ処理を実施する。
【００５６】
ステップＳ９０５において、情報処理装置１０１は、ステップＳ９０３にて取得した設定Ｎｏ．＝工程条件設定編集画面５２０で編集した設定Ｎｏ．か否かを判定する。一致する場合はステップＳ９０６に進み、一致しない場合はステップＳ９０７に進む。
【００５７】
ステップＳ９０６において、情報処理装置１０１は、工程条件設定編集画面５２０で編集した「下限値５２１」「上限値５２２」「（遷移先・動作を示す）工程定義名５２３」の値を用いて、工程条件定義一覧画面５１０の条件設定一覧の編集対象の設定Ｎｏ．のレコードの表示を更新する。
ステップＳ９０７において、情報処理装置１０１は、ステップＳ９０６にて更新した一覧を下限値の降順でソートし、設定Ｎｏを振りなおす。
【００５８】
ステップＳ９０８において、情報処理装置１０１は、ステップＳ９０７で振りなおした設定Ｎｏ．を用いて、工程条件定義一覧画面５１０の条件設定一覧に反映し、工程条件設定編集画面５２０を閉じる。
以上で、図９の工程条件設定チェック処理の説明を終了する。
【００５９】
図１０は、工程条件定義一覧チェック処理の一例を示すフローチャートである。工程条件定義一覧チェック処理は、図５の工程条件定義一覧画面５１０のＯＫボタン５１３の押下を受け付けた後に行う処理であり、工程条件定義一覧画面５１０における設定値が正常であることを判定する処理である。
【００６０】
ステップＳ１００１において、情報処理装置１０１は、エラーフラグに初期値Ｆａｌｓｅを設定し、工程条件定義一覧画面５１０の条件設定一覧から全レコードをＲＡＭ２０２から取得する。
ステップＳ１００２において、情報処理装置１０１は、ステップＳ１００１にて取得したレコードの数だけループ処理を繰り返す。
【００６１】
ステップＳ１００３において、情報処理装置１０１は、対象のレコードの設定Ｎｏ．＝１か否かを判定する。１の場合はステップＳ１００４へ進み、１以外の場合はＳ１００６へ進む。
【００６２】
ステップＳ１００４において、情報処理装置１０１は、投票率の上限値が１００か否かを判定する。１００の場合はＳ１００９に進み、投票率の上限値が１００ではない場合、ステップＳ１００５に進む。
ステップＳ１００５において、情報処理装置１０１は、エラーフラグ＝Ｔｒｕｅにする。
ステップＳ１００６において、情報処理装置１０１は、現在対象の設定Ｎｏ．よりが１小さい設定Ｎｏ．の下限値をＲＡＭ２０２から取得する。
【００６３】
ステップＳ１００７において、情報処理装置１０１は、設定値が「Ｓ１００６にて取得した値−１」となっているか否かを判定する。つまり、連続した値になっているかを判定する。「ステップＳ１００６にて取得した値−１」である場合はステップＳ１００９に進み、「Ｓ１００６にて取得した値−１」でない場合はＳ１００８に進む。
ステップＳ１００８において、情報処理装置１０１は、エラーフラグをＴｒｕｅにする。
ステップＳ１００９において、情報処理装置１０１は、次の設定Ｎｏ．について処理を行うべく、ステップＳ１００２に戻る。
【００６４】
ステップＳ１０１０において、情報処理装置１０１は、ステップＳ１００１にて取得した設定Ｎｏ．が最も大きいレコードの下限値をＲＡＭ２０２から取得する。
【００６５】
ステップＳ１０１１において、情報処理装置１０１は、ステップＳ１０１０にて取得した下限値＝０か否かを判定する。下限値＝０の場合はＳ１０１３へ進み、下限値≠０の場合はステップＳ１０１２に進む。
ステップＳ１０１２において、情報処理装置１０１は、エラーフラグをＴｒｕｅにする。
【００６６】
ステップＳ１０１３において、情報処理装置１０１は、エラーフラグがＦａｌｓｅか否かを判定する。Ｆａｌｓｅの場合はＳ１０１４に進み、Ｔｒｕｅの場合はステップＳ１０１５に進む。
ステップＳ１０１４において、情報処理装置１０１は、工程条件定義一覧画面５１０を閉じ、処理を終了する。
【００６７】
ステップＳ１０１５において、情報処理装置１０１は、「設定エラーです。条件設定に漏れがあります。」などのエラーダイアログ（不図示）を表示する。これにより、設定に不備があればユーザに通知するため、合議アクティビティの遷移先について柔軟な設定ができたとしても、設定方法がわかりにくい、または設定が面倒な場合、結局ユーザは設定しないという課題を解決することができる。
以上で、図１０の工程条件定義一覧チェック処理の説明を終了する。
【００６８】
図１１は、経路記憶処理の一例を示すフローチャートである。経路記憶処理は、図４の経路編集画面４２０の保存ボタン４２１の押下を受け付けた後に行う処理であり、編集された経路を記憶する際、合議アクティビティの設定が正常であることを判定する処理である。
【００６９】
ステップＳ１１０１において、情報処理装置１０１は、エラーフラグに初期値Ｆａｌｓｅを設定し、経路編集画面４２０に配置してあるアクティビティの一覧をＲＡＭ２０２から取得する。
ステップＳ１１０２において、情報処理装置１０１は、ステップＳ１１０１にて取得したアクティビティ数だけループする。
【００７０】
ステップＳ１１０３において、情報処理装置１０１は、アクティビティが開始アクティビティまたは終了アクティビティか判定する。開始アクティビティまたは終了アクティビティの場合はステップＳ１１１３に進み、開始アクティビティまたは終了アクティビティではない場合はステップＳ１１０４に進む。
【００７１】
ステップＳ１１０４において、情報処理装置１０１は、対象のアクティビティに処理を行う担当者の情報が設定されているか判定する。設定されている場合はステップＳ１１０５に進み、設定されていない場合はＳ１１１１に進む。
【００７２】
ステップＳ１１０５において、情報処理装置１０１は、アクティビティが合議か否かを判定する。合議の場合はステップＳ１１０６に進み、合議ではない場合はステップＳ１１１３に進む。
【００７３】
ステップＳ１１０６において、情報処理装置１０１は、対象の合議アクティビティの遷移先となっているアクティビティの一覧をＲＡＭ２０２から取得する。この例では、合議アクティビティ４２２（図４の工程３）の遷移先アクティビティの一覧は、「工程２」「工程４」「工程５」「終了」の４つである。
【００７４】
ステップＳ１１０７において、情報処理装置１０１は、対象の合議アクティビティに設定されている条件定義の一覧をＲＡＭ２０２から取得する。この例では、合議アクティビティ４２２（図４の工程３）に設定されている条件定義の一覧は、条件設定５１１（図５）からわかるように「１」〜「５」の５つである。
【００７５】
ステップＳ１１０８において、情報処理装置１０１は、ステップＳ１１０６にて取得した遷移先アクティビティの件数と、ステップＳ１１０７にて取得した条件定義の件数が同じか否かを判定する。件数が同じ場合はステップＳ１１０９に進み、異なる場合はステップＳ１１１１に進む。なお、ステップＳ１１０６で取得した遷移先アクティビティの一覧には、「否決」は表記されないため、遷移先アクティビティの数から１引いておく。
ステップＳ１１０９において、情報処理装置１０１は、ステップＳ１１０７にて取得した条件定義の数だけ繰り返す。
【００７６】
ステップＳ１１１０において、情報処理装置１０１は、ステップＳ１１０６にて取得した遷移先アクティビティの一覧に「遷移先・動作」設定の有無を判定する。「遷移先・動作」の設定がある場合はＳ１１１２に進み、「遷移先・動作」の設定がない場合はＳ１１１１に進む。
ステップＳ１１１１において、情報処理装置１０１は、エラーフラグをＴｒｕｅにする。
【００７７】
ステップＳ１１１４において、情報処理装置１０１は、エラーフラグがＦａｌｓｅか否かを判定する。Ｆａｌｓｅの場合はＳ１１１５に進み、Ｔｒｕｅの場合はステップＳ１１１６に進む。
【００７８】
ステップＳ１１１５において、情報処理装置１０１は、経路編集画面４２０・工程条件定義一覧画面５１０・工程条件設定編集画面５２０にて編集された情報を、経路テーブル７１２、工程定義テーブル７１３、合議工程担当者テーブル７１５に記憶する。これらのテーブルのデータの例を図１３に示す。データ１３１０は、工程定義テーブル７１３のデータ例である。データ１３２０は、合議工程条件定義テーブル７１４のデータ例である。データ１３３０は、合議工程担当者テーブル７１５のデータ例である。これにより、賛成票・反対票の割合に従って遷移先を変えるといった、柔軟な設定ができないという課題を解決することができるようになる。
【００７９】
ステップＳ１１１６において、情報処理装置１０１は、情報処理装置１０１は、「設定エラーです。経路設定に漏れがあります。」などのエラーダイアログ（不図示）を表示する。これにより、設定に不備があればユーザに通知するため、合議アクティビティの遷移先について柔軟な設定ができたとしても、設定方法がわかりにくい、または設定が面倒な場合、結局ユーザは設定しないという課題を解決することができる。
以上で、図１１の経路記憶処理の説明を終了する。
【００８０】
図１２は、合議遷移処理の一例を示すフローチャートである。合議遷移処理は、合議アクティビティの担当者によって案件が開かれ、投票を受け付け、遷移を行う処理である。
【００８１】
ステップＳ１２０１において、サーバ１０２は、合議アクティビティの担当者による賛成または反対の投票を受け付ける。具体的には、合議投票画面６００（図６）の賛成ボタン６０１または反対ボタン６０２の押下を受け付ける。すなわち、ステップＳ１２０１は、複数の投票者のそれぞれによる賛成または反対の投票の受け付けを行う処理の一例を示すステップである。
【００８２】
ステップＳ１２０２において、サーバ１０２は、当該合議アクティビティについての投票権総数、これまでに投票されている賛成票数、反対票数を取得する。具体的には、「業務ＩＤ」「案件ＩＤ」「工程定義ＩＤ」をキーにして合議投票結果テーブル７２１を検索し、「投票権総数」「賛成票数」「反対票数」を取得する。
【００８３】
ステップＳ１２０３において、サーバ１０２は、ステップＳ１２０１にて受け付けた投票が賛成票か反対票かを判定する。賛成票の場合はステップＳ１２０４に進み、反対票の場合はステップＳ１２０５に進む。
ステップＳ１２０４において、サーバ１０２は、ステップＳ１２０２にて取得した賛成票数に１を足す。
ステップＳ１２０５において、サーバ１０２は、ステップＳ１２０２にて取得した反対票数に１を足す。
【００８４】
ステップＳ１２０６において、サーバ１０２は、ステップＳ１２０４またはステップＳ１２０５で算出した値を合議投票結果テーブル７２１ＤＢに記憶する。すなわち、ステップＳ１２０６は、複数の投票者によって、それぞれ賛成または反対の投票がされたことを対応づけて管理する処理の一例を示すステップである。
ステップＳ１２０７において、サーバ１０２は、投票権総数―（賛成票数＋反対票数）で、未投票数を算出する。
【００８５】
ステップＳ１２０８において、サーバ１０２は、賛成票÷投票権総数×１００で、現在の賛成票の割合を算出する。すなわち、ステップＳ１２０８は、複数の投票者の数に対して、現時点での、賛成した投票者の数の割合または反対した投票者の数の割合の少なくとも一方を算出する処理の一例を示すステップである。
【００８６】
ステップＳ１２０９において、サーバ１０２は、（賛成票＋Ｓ１２０７で算出した未投票数）÷投票権総数×１００を計算し、未投票のすべて賛成に投票された場合の賛成票の割合を算出する。すなわち、ステップＳ１２０９は、複数の投票者の全員による賛成または反対の投票の受け付けが完了した時点での、複数の投票者の数に対して、賛成した投票者の数の割合または反対した投票者の数の割合の少なくとも一方を算出する処理の一例を示すステップである。
【００８７】
ステップＳ１２１０において、サーバ１０２は、合議工程条件定義テーブル７１４から合議アクティビティの遷移条件定義リストを取得する。具体的には、「経路ＩＤ」「工程定義ＩＤ」をキーにして合議工程条件定義テーブル７１４を検索し、「設定Ｎｏ」「遷移先工程定義ＩＤ」「下限値」「上限値」のリストを取得する。
ステップＳ１２１１において、サーバ１０２は、ステップＳ１２１０にて取得した遷移条件定義リストの件数分だけループする。
【００８８】
ステップＳ１２１２において、サーバ１０２は、ステップＳ１２０８で算出した値が下限値以上かつ上限値以下かを判定する。該当する場合はＳ１２１３に進み、該当しない場合はステップＳ１２１４に進む。
ステップＳ１２１３において、サーバ１０２は、ＭＡＸ（最大の）設定Ｎｏ．として、対象の設定Ｎｏ．をＲＡＭ２０２に記憶する。
【００８９】
ステップＳ１２１４において、サーバ１０２は、ステップＳ１２１０で算出した値が下限値以上かつ上限値以下かを判定する。該当する場合はＳ１２１５に進み、該当しない場合はステップＳ１２１６に進む。
ステップＳ１２１５において、サーバ１０２は、ＭＩＮ（最小の）設定Ｎｏ．として、対象の設定Ｎｏ．をＲＡＭ２０２に記憶する。
【００９０】
ステップＳ１２１７において、サーバ１０２は、ＲＡＭ２０２からＭＡＸ設定Ｎｏ．とＭＩＮ設定Ｎｏ．を取得し、値が一致しているか否かを判定する。一致する場合はＳ１２１８に進み、一致しない場合は図１２の合議遷移処理を終了する。すなわち、ステップＳ１２１７は、複数の投票者の全員による賛成または反対の投票の受け付けが完了していない場合であっても、第１の算出手段により算出された割合と、第２の算出手段により算出された割合と、の両方が、閾値に含まれている場合、当該閾値に対応付けられた遷移先のアクティビティに遷移させる処理の一例を示すステップである。これにより、合議アクティビティにおいて、すべての投票者による投票が完了するのを待たなければ、合議結果が決定しないという課題を解決することができる。
【００９１】
ここで、ステップＳ１２１７の判定について、具体例を挙げて説明する。ある合議アクティビティにおいて、投票権総数＝１０票、条件設定は工程条件定義一覧画面５１０のように設定されているものとする。
【００９２】
[パターン１]
賛成票＝５、反対票＝０、未投票＝５の案件に対し、投票権を持つユーザが賛成を投票したとする。この場合、賛成を投票した後の状態は賛成票＝６、反対票＝０、未投票＝４となる。また、ステップＳ１２０８の算出値＝６０％、ステップＳ１２０９の算出値＝１００％となる。
つまり、現在の割合だと設定Ｎｏ．２に該当するが、未投票のすべてが賛成に投票された場合は設定Ｎｏ．１になる。現時点では遷移先が確定していないため、案件を遷移することができない。
【００９３】
[パターン２]
【００９４】
賛成票＝５、反対票＝３、未投票＝２の案件に対し、投票権を持つユーザが賛成を投票したとする。この場合、賛成を投票した後の状態は賛成票＝６、反対票＝３、未投票＝１となる。また、ステップＳ１２０８の算出値は６０％、ステップＳ１２０９の算出は７０％となる。
【００９５】
つまり、現時点の割合は設定Ｎｏ．２に該当し、未投票のすべてが賛成に投票された場合も設定Ｎｏ．２となる。今後、未帳票が賛成・反対どちらに投票されても遷移先は変わらないため、すべての投票を待つ必要はない。そのため、この時点で案件を、設定Ｎｏ．２の遷移先である「開発部  部長承認」に遷移させる。
図１２の説明に戻る。
【００９６】
ステップＳ１２１８において、サーバ１０２は、ステップＳ１２１７にて一致した設定Ｎｏ．として設定されている「遷移先・動作」に従って、案件を遷移させる。これにより、賛成票・反対票の割合に従って遷移先を変えるといった、柔軟な設定ができないという課題を解決することができるようになる。
【００９７】
すなわち、ステップＳ１２１８は、複数の投票者のうち、賛成した投票者の割合または反対した投票者の割合に従って、複数の異なるアクティビティに遷移させる処理の一例を示すステップである。また、ステップＳ１２１８は、賛成した投票者の割合が所定の値より低い場合または反対した投票者の割合が所定の値より高い場合、当該合議アクティビティ以前のアクティビティに戻し、賛成した投票者の割合が所定の値より高い場合または反対した投票者の割合が所定の値より低い場合、当該合議アクティビティ以降のアクティビティに進ませる処理の一例を示すステップである。また、ステップＳ１２１８は、賛成した投票者の割合または反対した投票者の割合が閾値に含まれている場合、当該閾値に対応付けられた遷移先のアクティビティに遷移させる処理の一例を示すステップである。
以上で、図１２の合議遷移処理の説明を終了する。
【００９８】
以上により、合議アクティビティにおける操作に従って、遷移先を柔軟に決定するワークフローシステムを提供することができる。これにより、賛成票・反対票の割合に従って遷移先を変えるといった、柔軟な設定ができないという課題を解決することができるようになる。
【００９９】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１００】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１０１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１０２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０４】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０５】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【０１０６】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１０７】
１００  ワークフローシステム
１０１  情報処理装置
１０２  サーバ
１０３  ネットワーク
【図１】
2017068701.tif 000003
【図２】
2017068701.tif 000004
【図３】
2017068701.tif 000005
【図４】
2017068701.tif 000006
【図５】
2017068701.tif 000007
【図６】
2017068701.tif 000008
【図７】
2017068701.tif 000009
【図８】
2017068701.tif 000010
【図９】
2017068701.tif 000011
【図１０】
2017068701.tif 000012
【図１１】
2017068701.tif 000013
【図１２】
2017068701.tif 000014
【図１３】
2017068701.tif 000015
【図１４】
2017068701.tif 000016