(57)【要約】      （修正有）【課題】ワークフローシステム上で動作するワークフロープログラムにおいて全業務のクロスリファレンスを出力する際に項目をまとめて出力することにより、業務アプリケーションの解析を可能にする。【解決手段】電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム情報取得手段４１５と、取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段４１０と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段４１１とを有する。【選択図】図３
2011150487.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、
前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、
前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、
前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段と、
を有することを特徴とするワークフロープログラム解析装置
【請求項２】
前記処理毎クロスリファレンス情報出力手段は、ユーザにより選択される業務毎に関数のクロスリファレンス情報を出力することを特徴とする請求項１記載のワークフロープログラム解析装置
【請求項３】
前記業務毎クロスリファレンス情報出力手段と前記処理毎クロスリファレンス情報出力手段の何れかを選択させる出力条件選択手段を有する請求項１または２記載のワークフロープログラム解析装置
【請求項４】
前記出力条件選択手段により選択される出力手段により関数のクロスリファレンス情報を表示するクロスリファレンス情報表示手段を有することを特徴とする請求項３記載のワークフロープログラム解析装置
【請求項５】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能なワークフロープログラム解析方法であって、
前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得工程と、
前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力工程と、
前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力工程と、
を有することを特徴とするワークフロープログラム解析方法
【請求項６】
請求項９に記載されたワークフローの制御方法をコンピュータが実行するためのプログラム。
【請求項７】
請求項９に記載されたワークフローの制御方法をコンピュータが実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローシステムにおけるプログラムを解析する機能に関する。
【背景技術】
【０００２】
従来の業務アプリケーションには、ワークフローシステムやデータベース管理システムなどとの連携したシステムがあるが、ワークフローシステムやデータベース管理システムを変更する場合、業務アプリケーションの作り直しが必要となる。上記を改善するためにワークフローシステムやデータベース管理システム特有の処理を関数に吸収させ、開発された業務アプリケーションの流用性や移植性を高めるシステムが特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開１１−６６１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の開発の際には、業務アプリケーションの構造理解に要する時間を短縮し、メンテナンス作業効率の向上や業務アプリケーションの変更作業の効率化のために、業務アプリケーションの関数のクロスリファレンス情報を取得する技術が利用されているが、業務アプリケーションの全業務のクロスリファレンスを出力すると、その情報量の多さから、関数の解析に余計な労力を必要とすることがある。
【０００５】
本発明は、上記課題を解決するためになされたもので、本発明の目的は、全業務のクロスリファレンスを出力する際に項目をまとめて出力することにより、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を可能にするワークフロープログラム解析装置およびワークフロープログラム解析方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【０００６】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段と、前記業務毎クロスリファレンス情報出力手段と前記処理毎クロスリファレンス情報出力手段の何れかを選択させる出力条件選択手段と、前記出力条件選択手段により選択される出力手段により関数のクロスリファレンス情報を表示するクロスリファレンス情報表示手段とを有することによって、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を容易に実施することを可能にする。
【図面の簡単な説明】
【０００８】
【図１】本発明が適用されるワークフローシステムの概略構成を示す図である。
【図２】図１に示したワークフローサーバ，ワークフロー操作用端末，ワークフロー及び伝票設計用端末に適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【図３】図１に示したワークフロー及び伝票設計用端末４００のソフトウェア構成を示す模式図である。
【図４】本発明のワークフローシステムにおける処理プログラムの一例である。
【図５】本発明のワークフローシステムにおけるプログラムで使用される関数リストの一例である。
【図６】本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【図７】本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【図８】本発明のワークフロープログラム解析システムにおける第１の制御処理手順の一例を示すフローチャートである。
【図９】本発明のワークフローシステムにおける伝票の起票画面の一例である。
【図１０】本発明のワークフローシステムにおける伝票の流れの一例を示す図である。
【図１１】本発明のワークフローシステムにおける伝票の承認画面の一例である。
【図１２】本発明のワークフロープログラム解析システムにおける第２の制御処理手順の一例を示すフローチャートである。
【図１３】本発明のワークフロープログラム解析システムにおける第３の制御処理手順の一例を示すフローチャートである。
【図１４】本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【図１５】本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【図１６】本発明のワークフロープログラム解析システムを構成する各情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【発明を実施するための形態】
【０００９】
〔第１実施形態〕
以下、図面を参照して、本発明の詳細を説明する。
図１は、本実施形態が適用されるワークフローシステムの概略構成を示す図である。
【００１０】
実施形態におけるワークフローシステムは、ワークフロー及び伝票設計用コンピュータ端末（ワークフロー及び伝票設計用端末）４００、業務を遂行する処理者（担当者）に対応して設けられたワークフロー操作用コンピュータ端末（ワークフロー操作用端末）３００、ワークフローを実行するための各種テーブル、各種プログラムを格納するワークフローサーバ２００を備えている。
【００１１】
これらワークフロー及び伝票設計用端末４００，ワークフロー操作用端末３００，ワークフローサーバ２００は、それぞれネットワーク５００に接続され運用されている。
【００１２】
ワークフロー及び伝票設計用端末４００は、伝票デザイナプログラム４０１及びシステム管理プログラム４０２を有し、ワークフローシステムにて使用する伝票の定義体の作成及びワークフローシステムで利用する各種定義情報の作成を行う。例えば、ワークフロー及び伝票設計用端末４００は、ワークフローサーバ２００に組織テーブル，役割テーブル，ユーザテーブル，ユーザ役割テーブル，配送定義情報，各種伝票情報等を登録することができる。このワークフロー及び伝票設計用端末４００は、これらの作業を行うために、自己の識別情報を入力することによりワークフローサーバ２００に接続することが可能になる。
また、システム管理プログラム４０２は図３にあるようなワークフロープログラム解析システムの構成も有する。詳細は後述する。
【００１３】
ワークフロー操作用端末３００は、ワークフロー操作用端末３００上で実行されるＷｅｂブラウザ３０１を用いて、伝票に関するアクセス情報をワークフローサーバ２００に対してＨＴＴＰで送信し、その結果を受信するものであり、その際に、発生する表示・計算処理は、Ｊａｖａ（登録商標）アプレット３０２等を利用することにより実行する。なお、このワークフロー操作用端末３００は、予め指定された所定の業務を行う担当者（例えば、起票者、課長、部長等）に配置されている。
【００１４】
ワークフローサーバ２００は、ワークフローシステムに関する情報（組織テーブル，役割テーブル，ユーザテーブル，ユーザ役割テーブル，配送定義情報，配送情報テーブル，各種伝票情報を格納するＲＤＢＭＳ（Ｒｅｌａｔｉｏｎａｌ  ＤａｔａＢａＳｅ  Ｍａｎａｇｅｍｅｎｔ  ＳｙＳｔｅｍ）２０５、ワークフロー操作用端末３００よりの要求を受け付けて要求を実行するためのＨＴＴＰサーバ２０１，サーブレットエンジン２０２，ワークフロープログラム２０３、ワークフロー通知機能を実現するＳＭＴＰサーバ２０４にて構成されている。
【００１５】
以下、図２を参照して、図１に示したワークフローサーバ２００，ワークフロー操作用端末３００，ワークフロー及び伝票設計用端末４００に適用可能なコンピュータのハードウェア構成について説明する。
【００１６】
図２は、図１に示したワークフローサーバ２００，ワークフロー操作用端末３００，ワークフロー及び伝票設計用端末４００に適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【００１７】
図２において、１０１はＣＰＵで、ＲＯＭ１０３又はハードディスク（ＨＤ）（その他の記憶装置、例えば、フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ等どのような記憶装置であってもよい）１０４に格納されたプログラムをＲＡＭ１０２上にロードして実行することにより、コンピュータ全体を制御する。ＲＡＭ１０２は、ＣＰＵ１０１の作業領域として使用される。
【００１８】
１０８は通信インタフェースで、通信ネットワーク５００への接続を可能とする。１０６は入力装置で、キーボードやマウス等のポインティングデバイス等に相当する。１０７は表示装置で、ＣＲＴ，ＬＣＤ等で構成される。
【００１９】
なお、図１に示したワークフローサーバ２００のＲＤＢＭＳ２０５は、ワークフローサーバ２００のＨＤ１０４内に構築されている。また、ワークフローサーバ２００のＨＴＴＰサーバ２０１，サーブレットエンジン２０２，ワークフロープログラム２０３，ＳＭＴＰサーバ２０４は、ワークフローサーバ２００のＣＰＵ１０１が、ＨＤ１０４に格納されるプログラムをＲＡＭ１０２上にロードして実行することにより、実現される。
【００２０】
また、図１に示したワークフロー操作用端末３００のＷｅｂブラウザ３０１は、ワークフロー操作用端末３００のＣＰＵ１０１が、ＨＤ１０４に格納されるプログラムをＲＡＭ１０２上にロードして実行することにより、実現される。
【００２１】
さらに、図１に示したワークフロー操作用端末３００のＪａｖａ（登録商標）アプレット３０２は、ワークフロー操作用端末３００のＣＰＵ１０１が、ワークフローサーバ２００よりダウンロードされたプログラムをＷｅｂブラウザ３０１上で実行することにより、実現される。
【００２２】
また、図１に示したワークフロー及び伝票設計用端末４００の伝票デザイナプログラム４０１，システム管理プログラム４０２は、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１が、ＨＤ１０４に格納されるプログラムをＲＡＭ１０２上にロードして実行することにより、実現される。
図９〜図１１で本発明のワークフローシステムで実行される伝票と承認ルートの例を説明する。
図９は、本発明のワークフローシステムにおける伝票の起票画面の一例である。
【００２３】
ユーザはワークフロー操作用端末３００により、ワークフローサーバ２００から、図９のような「購入申請書」を取得する。取得した「購入申請書」の入力項目に入力後、終了ボタン９０２を押下し、購入申請書を申請する。なお、「購入申請書」等の伝票のレイアウトや設計項目はワークフロー及び伝票設計用端末４００の伝票デザイナプログラム４０１により作成され、ワークフローサーバ２００の各種伝票情報２０５内に記憶している。
【００２４】
図１０は、本発明のワークフローシステムにおける伝票の流れの一例を示す図である。図１０の経路はワークフローサーバ２００の配送定義情報に記憶されている。
【００２５】
図１０では、伝票「購入申請書ＴＲ」（１００１）は、起案者１００２から承認者１（課長）１００３⇒承認者２（部長）１００４⇒承認者３（経理部経理課担当者）１００５⇒承認者４（経理部経理課課長）１００６という流れで承認される。
【００２６】
ワークフローサーバ２００に記憶されている配送定義情報から、組織テーブルや役割テーブル、ユーザテーブル、ユーザ役割テーブルを参照して、それぞれの承認者にＳＭＴＰサーバによるメール送信などで承認要求を通知する。
図１１は、本発明のワークフローシステムにおける伝票の承認画面の一例である。
【００２７】
図１１では、図９で申請された伝票が承認者（図１０の１００３）に移行した場合の承認者（図１０の１００３）で使用されるワークフロー操作用端末３００で表示される例を示す。図１１で起票者の組織の課長がマウスなどのポインティングデバイスにより承認ボタン１１０１を押下すると申請は承認され、否認ボタン１１０２を押下すると申請は否認される。承認された申請書は続く図１０の承認ルートに沿って承認される。
次に、図３及び図８で本発明の実施形態の一例を説明する。
図３は、図１に示したワークフロー及び伝票設計用端末４００のソフトウェア構成を示す模式図である。
【００２８】
また、図８は、本発明のワークフロープログラム解析システムにおける第１の制御処理手順の一例を示すフローチャートであり、図１に示したワークフロー及び伝票設計用端末４００のシステム管理プログラム４０２によるプログラム解析に対応する。なお、図中、Ｓ４０１〜Ｓ４０６は各ステップを示す。
【００２９】
本発明のワークフロープログラム解析システムは、図３に示すワークフロー及び伝票設計用端末４００で実現する場合で考えるが、システム管理プログラム４０２がワークフローサーバ２００にあっても良いし、ワークフロー操作用端末３００にあっても良い。
図３の各構成部はワークフロー及び伝票設計用端末４００内のＣＰＵ１０１が実行する。
【００３０】
まず、ユーザからワークフロープログラムの関数のクロスリファレンスを表示するプログラムが実行されると、図８のフローチャートがワークフロー及び伝票設計用端末４００内で実施される。
【００３１】
次にワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、、ステップＳ４０１において、ワークフローサーバ２００からワークフロープログラム情報を取得する（図３の４１５）。ワークフロープログラムの例として、図４に一例を示す。
図４は、本発明のワークフローシステムにおける処理プログラムの一例である。
【００３２】
図４の伝票名６０２が「購入申請書」という業務であることを示しており、オブジェクト名６０３が「９９入力チェック」という入力項目のチェックをする処理を示す。
【００３３】
図４は、条件式６０４の欄に記載されている条件式を満たす場合に計算式６０５のプログラムに記載される関数または計算を実行することを示している。図４に記載される関数の一例として、図５の関数リストを示す。
図５は、本発明のワークフローシステムにおけるプログラムで使用される関数リストの一例であり、図３のデータベース４１４に記憶されている。
【００３４】
図５の８０１の「ｎ￥Ｅｘｉｔ￥」はその処理を終了させる関数であり、８０２の「ｎ￥ＳｅｔＦｏｃｕｓ￥」は後に続く引数の項目にカーソルをフォーカスする関数である。また、図４の６０６の行にある「ｃ￥Ｍｅｓｓａｇｅ￥」は後に続く引数の文字をメッセージとして画面に出力する関数である。
図９の購入申請書が起票された場合の入力チェック処理（図４のプログラム）について考える。
【００３５】
ワークフローの購入申請書が起票された場合の入力チェック処理は、例えば、図４の６０１欄の条件式６０４欄の（“取引先社名”＝ｃ‘’）の記載は、“取引先社名”の入力欄が空欄の場合の条件分岐を意味し、“取引先社名”の入力欄が空欄の場合、計算式６０５欄のプログラムを実行する。具体的には、“取引先社名”の入力欄が空欄の場合、「エラー  グループ社名を入力してください」というメッセージを表示して、取引先社名の入力欄にフォーカスを当て取引先社名を入力させて、入力チェック処理を終了するというプログラムを実行する。なお、ＭＥＭ１への戻り値の代入はダミーである。
【００３６】
上記のような「Ｅｘｉｔ」や「ＳｅｔＦｏｃｕｓ」の関数をワークフローの業務毎（業務毎とは、「購入申請書」や「発注書」などの一つのビジネスプロセスを指す。）にクロスリファレンスを出力するのか、もしくは、ワークフローの業務内の処理毎（処理毎とは、「購入申請書」であれば、例えば図４の６０３の「９９入力チェック」項目等の処理を指す。）にクロスリファレンスを出力するのかを選ばせることで、プログラムのメンテナンス等の際に関数の解析を短時間に実施可能となる。図３及び図８の説明に戻る。
【００３７】
図３のプログラム情報取得部４１５からプログラム情報を取得すると、次にワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、、ステップＳ４０２へ進み、出力条件選択部４１３において、業務毎にクロスリファレンスを出力するか、処理毎にクロスリファレンスを出力するかをユーザに選択させる画面を表示する。ユーザに選択させる画面例として、図６を用いて説明する。
図６は、本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【００３８】
図６の５１０のラジオボタン選択欄は関数のクロスリファレンス情報を出力する単位を指定する項目で、システム帳票５１１の詳細、概略、なしのラジオボタンは、システム全体の関数のクロスリファレンス情報の出力をどのように出力するかを指定する。伝票帳票５１２の詳細、概略、なしのラジオボタンは、図７の７０１のチェックボックスで指定された伝票（業務）で使用される関数のクロスリファレンス情報の出力をどのように出力するかを指定する。
図７は、本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【００３９】
図７は、関数のクロスリファレンス情報の出力を選択させると同時に、システム情報やＲＤＢ情報、伝票のフォーム情報や項目オブジェクト情報、経路情報、ボタン情報などの出力も選択させるための選択画面である。
【００４０】
図６や図７で出力条件が選択され（図８のＳ４０２）、図６のラジオボタン５１１や５１２が詳細や概略になっている場合は、関数のクロスリファレンスを出力するために出力条件選択部４１３が詳細出力か概略出力かを判断する（Ｓ４０４）。具体的には、詳細出力の場合は処理毎クロスリファレンス情報出力部４１１に処理を依頼し（Ｓ４０６）、概略出力の場合は業務毎クロスリファレンス情報出力部４１０に処理を依頼する（Ｓ４０５）。
処理毎クロスリファレンス情報出力部４１０に処理依頼が来た場合、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、図１２のフローを実行する。
【００４１】
図１２は、本発明のワークフロープログラム解析システムにおける第２の制御処理手順の一例を示すフローチャートであり、図３に示したワークフロー及び伝票設計用端末４００の処理毎クロスリファレンス情報出力部４１１によるプログラム解析に対応する。なお、図中、Ｓ１２０１〜Ｓ１２１０は各ステップを示す。
図１２のステップＳ１２０１では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、まず関数一覧情報４１４（図５）から対象関数を一つ決定する。
【００４２】
次に、ステップＳ１２０２では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、業務定義情報４１４から対象にする業務を一つ選択する。業務定義情報とは、図７の７０１に記載した業務毎の定義情報であり、フォームや項目、オブジェクト、経路、標準関数、ボタン等からなる。
【００４３】
次に、ステップＳ１２０３では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、選択した業務定義情報の中の一つの処理を選び、その処理に対して以下のステップＳ１２０４〜Ｓ１２０８のフローを実行する。処理の例として計算オブジェクトの例を図４に示す。
【００４４】
ステップＳ１２０４では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、対象関数が上記処理（計算オブジェクト）で使用されているかどうかの判断を行う。この判断は、対象関数が図４の計算オブジェクトの中に含まれているかによって判断する。この判断を受けて、ステップＳ１２０５では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、対象関数が上記処理（計算オブジェクト）で使用されていると判断された場合、ステップＳ１２０６へ移行する。一方、対象関数が上記処理（計算オブジェクト）で使用されていないと判断された場合は、ステップＳ１２０７へ移行する。
【００４５】
具体的には、図４の計算オブジェクト上で、対象関数が図５の８０１の「Ｅｘｉｔ」の場合は、図４の計算式内で「Ｅｘｉｔ」関数が使われている行（６０７）を検索する。検索の結果、その行に対象関数の情報がなければ、ステップＳ１２０７へ移行し、上記処理中の全ての位置について確認したか判断する。一方、検索の結果、その行に対象関数の情報があれば、ステップＳ１２０６では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、対象関数が使われている位置をワークフロー及び伝票設計用端末４００にデータとして出力する。データの出力例を図１４に示す。
図１４は、本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【００４６】
図４の「購入申請書」業務における「９９入力チェック」処理において、「Ｅｘｉｔ」関数は２行目に使われているので、出力結果としては、図１４の１４０２のようなデータを出力する。図１４の１４０２欄の表示を以下に記載する。
「伝票：購入申請書：計算／９９入力チェック（計算：２）」
【００４７】
この記載は、「購入申請書」という伝票（業務）において、計算オブジェクトの「９９入力チェック」処理の計算式の２行目に「Ｅｘｉｔ」関数が存在することを意味している。同様に「Ｅｘｉｔ」関数が存在する３行目から１０行目についても同様に確認すると、図１４の１４０１のような記載が得られる。
上記のように、「９９入力チェック」処理の確認が全て終わると、次の処理の確認に移行する（ステップＳ１２０８）。
ステップＳ１２０８で、全ての処理の確認が終わっていない場合は、ステップＳ１２０３に戻り、次の処理に対して対象関数が無いかの確認を行う。
一方、ステップＳ１２０８で全ての処理の確認が終わった場合は、ステップＳ１２０９に移行する。
【００４８】
ステップＳ１２０９では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、確認する対象の業務（伝票）を全て確認したかどうかの判断をする。具体的には、図７の７０２にチェックがついており、かつ図６のラジオボタン５１１が詳細であれば、システム全体の業務（伝票）の詳細な関数の解析を行う。一方、図７の７０３にチェックがついており、７０１のチェック欄のどれかにチェックがついていて、かつ、図６のラジオボタン５１２が詳細であれば、図７の７０１にチェックがついている業務（伝票）のみの詳細な関数の解析を行う。ステップＳ１２０９で確認する業務（伝票）は図７及び図６により指定される。
【００４９】
ステップＳ１２０９において、図７及び図６で指定される業務について、全て確認していれば、ステップＳ１２１０の処理に移行する。一方、図７及び図６で指定される業務について、全ての業務を確認していなければ、ステップＳ１２０２に戻る。
【００５０】
全ての業務についての実施を確認し、ステップＳ１２１０に移行する場合、残った関数の確認のため、ステップＳ１２０１に戻り、関数一覧から残った関数を選択する。
【００５１】
残った関数が、例えば「ＳｅｔＦｏｃｕｓ」関数である場合は、「Ｅｘｉｔ」関数の場合と同様に、各処理内に存在する「ＳｅｔＦｏｃｕｓ」関数を検索してデータとして出力する。「ＳｅｔＦｏｃｕｓ」の出力例を１４０３に示す。
全ての関数について、確認が終わった場合はこの処理を終了する。
これらのように、プログラム上での関数の記載位置まで確認したい場合の関数の解析には、詳細な関数の解析が有用である。図８の説明に戻る。
図８のステップＳ４０４において、「概略出力」が選ばれた場合は、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、図１３のフローを実行する。
【００５２】
図１３は、本発明のワークフロープログラム解析システムにおける第３の制御処理手順の一例を示すフローチャートであり、図３に示したワークフロー及び伝票設計用端末４００の業務毎クロスリファレンス情報出力部４１０によるプログラム解析に対応する。なお、図中、Ｓ１３０１〜Ｓ１３１０は各ステップを示す。
図１３のステップＳ１３０１では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、まず関数一覧情報４１４（図５）から対象関数を一つ決定する。
【００５３】
次に、ステップＳ１３０２では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、業務定義情報４１４から対象にする業務を一つ選択する。業務定義情報とは、図７の７０１に記載した業務毎の定義情報であり、フォームや項目、オブジェクト、経路、標準関数、ボタン等からなる。
【００５４】
次に、ステップＳ１３０３では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、選択した業務定義情報の中の一つの処理を選び、その処理に対して以下のステップＳ１３０４〜Ｓ１３０８のフローを実行する。処理の例として計算オブジェクトの例を図４に示す。
【００５５】
ステップＳ１３０４では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、対象関数が上記処理（計算オブジェクト）で使用されているかどうかの判断を行う。この判断は、対象関数が図４の計算オブジェクトの中に含まれているかによって判断する。この判断を受けて、ステップＳ１３０５では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、対象関数が上記処理（計算オブジェクト）で使用されていると判断された場合、ステップＳ１３０６へ移行する。一方、対象関数が上記処理（計算オブジェクト）で使用されていないと判断された場合は、ステップＳ１３０７へ移行する。
【００５６】
具体的には、図４の計算オブジェクト上で、対象関数が図５の８０１の「Ｅｘｉｔ」の場合は、図４の計算式内で「Ｅｘｉｔ」関数が使われている行（６０７）を検索する。検索の結果、その行に対象関数の情報がなければ、ステップＳ１３０７へ移行し、上記処理中の全ての位置について確認したか判断する。一方、検索の結果、その行に対象関数の情報があれば、ステップＳ１３０６では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、対象関数が使われている位置をワークフロー及び伝票設計用端末４００にデータとして出力する。データの出力例を図１５に示す。
図１５は、本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【００５７】
図４の「購入申請書」業務における「９９入力チェック」処理において、「Ｅｘｉｔ」関数が使われているので、出力結果としては、図１５の１５０１のようなデータを出力する。図１５の１５０３欄の表示を以下に記載する。
「伝票：購入申請書」
この記載は、「購入申請書」という伝票（業務）において、「Ｅｘｉｔ」関数が存在することを意味している。
上記のように、「購入申請書」伝票（業務）の確認が終わると、ステップＳ１３０９に処理を移行する。
【００５８】
一方、ステップＳ１３０５とＳ１３０７で、当該処理内で対象関数が使われていないと判断した場合、ステップＳ１３０８の処理に移行し、ステップＳ１３０８では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、全ての処理の確認が終わっていない場合は、ステップＳ１３０３に戻り、次の処理に対して対象関数が無いかの確認を行う。
一方、ステップＳ１３０８で全ての処理の確認が終わった場合は、ステップＳ１３０９に移行する。
【００５９】
ステップＳ１３０９では、ワークフロー及び伝票設計用端末４００のＣＰＵ１０１は、確認する対象の業務（伝票）を全て確認したかどうかの判断をする。具体的には、図７の７０２にチェックがついており、かつ図６のラジオボタン５１１が概略であれば、システム全体の業務（伝票）の概略の関数の解析を行う。一方、図７の７０３にチェックがついており、７０１のチェック欄のどれかにチェックがついていて、かつ、図６のラジオボタン５１２が概略であれば、図７の７０１にチェックがついている業務（伝票）のみ概略の関数の解析を行う。ステップＳ１３０９で確認する業務（伝票）は図７及び図６により指定される。
【００６０】
ステップＳ１３０９において、図７及び図６で指定される業務について、全て確認していれば、ステップＳ１３１０の処理に移行する。一方、図７及び図６で指定される業務について、全ての業務を確認していなければ、ステップＳ１３０２に戻る。
【００６１】
全ての業務についての実施を確認し、ステップＳ１３１０に移行する場合、残った関数の確認のため、ステップＳ１３０１に戻り、関数一覧から残った関数を選択する。
【００６２】
残った関数が、例えば「ＳｅｔＦｏｃｕｓ」関数である場合は、「Ｅｘｉｔ」関数の場合と同様に、各処理内に存在する「ＳｅｔＦｏｃｕｓ」関数を検索してデータとして出力する。「ＳｅｔＦｏｃｕｓ」の出力例を１５０２に示す。
全ての関数について、確認が終わった場合はこの処理を終了する。
以上の処理により、プログラム上での関数の記載してある業務まで分かれば良い場合の関数の解析には、概略の関数の解析が有用である。
【００６３】
以上説明したように、本発明によれば、ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段とを有することにより、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を容易に実施することを可能にする。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００６４】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、上記した実施形態の各変形例を組み合わせた構成も全て本発明に含まれるものである。
以下、図１６に示すメモリマップを参照して本発明に係るワークフローサーバで読み取り可能なデータ処理プログラムの構成について説明する。
【００６５】
図１６は、本発明に係るワークフローサーバで読み取り（読み出し）可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【００６６】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【００６７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【００６８】
本実施形態における図８，図１２，図１３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【００６９】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００７０】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００７１】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【００７２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００７５】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【００７６】
４００  ワークフロー及び伝票設計用端末（ワークフロープログラム解析装置）
４１０  業務毎クロスリファレンス情報出力部
４１１  処理毎クロスリファレンス情報出力部
４１２  クロスリファレンス情報表示部
４１３  出力条件選択部
４１４  データベース
４１５  ワークフロープログラム情報取得部
【図１】
2011150487.tif 000003
【図２】
2011150487.tif 000004
【図３】
2011150487.tif 000005
【図４】
2011150487.tif 000006
【図５】
2011150487.tif 000007
【図６】
2011150487.tif 000008
【図７】
2011150487.tif 000009
【図８】
2011150487.tif 000010
【図９】
2011150487.tif 000011
【図１０】
2011150487.tif 000012
【図１１】
2011150487.tif 000013
【図１２】
2011150487.tif 000014
【図１３】
2011150487.tif 000015
【図１４】
2011150487.tif 000016
【図１５】
2011150487.tif 000017
【図１６】
2011150487.tif 000018