(57)【要約】【課題】内部統制における評価にあたって、統制の実行順序が設計した通りに実行されているかどうかを判断するようにした情報処理装置を提供する。【解決手段】情報処理装置の経路抽出手段は、業務のフローから該フローにおける経路を抽出し、統制抽出手段は、前記経路抽出手段によって抽出された経路における統制を抽出し、証跡特定手段は、前記統制抽出手段によって抽出された統制に基づいて、評価すべき証跡を特定し、証跡日時受付手段は、前記証跡特定手段によって特定された証跡に記載された日時を受け付け、順序判断手段は、前記証跡日時受付手段によって受け付けられた日時間の関係は、前記統制抽出手段によって抽出された統制の順序と適合するか否かを判断する。【選択図】図１
2009169641.tif 000002
【特許請求の範囲】
【請求項１】
業務のフローから該フローにおける経路を抽出する経路抽出手段と、
前記経路抽出手段によって抽出された経路における統制を抽出する統制抽出手段と、
前記統制抽出手段によって抽出された統制に基づいて、評価すべき証跡を特定する証跡特定手段と、
前記証跡特定手段によって特定された証跡に記載された日時を受け付ける証跡日時受付手段と、
前記証跡日時受付手段によって受け付けられた日時間の関係は、前記統制抽出手段によって抽出された統制の順序と適合するか否かを判断する順序判断手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記業務のフローを構成するノードとして、１つの行き先の経路と接続している第１のノード又は複数の行き先の経路と接続している第２のノードがあり、
前記経路抽出手段は、前記業務のフローを構成する第２のノードに応じて、複数の経路を抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記順序判断手段は、対象とする統制に基づく証跡に記載された日時は、前記統制抽出手段によって抽出された統制の順序を用いて、該証跡の統制よりも経路として前にある統制に基づく証跡に記載された日時との比較によって、統制の順序を判断する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
コンピュータを、
業務のフローから該フローにおける経路を抽出する経路抽出手段と、
前記経路抽出手段によって抽出された経路における統制を抽出する統制抽出手段と、
前記統制抽出手段によって抽出された統制に基づいて、評価すべき証跡を特定する証跡特定手段と、
前記証跡特定手段によって特定された証跡に記載された日時を受け付ける証跡日時受付手段と、
前記証跡日時受付手段によって受け付けられた日時間の関係は、前記統制抽出手段によって抽出された統制の順序と適合するか否かを判断する順序判断手段
として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
近年、財務内部統制が求められている。その財務内部統制とは、１９９２年にＣＯＳＯ（トレッドウェイ委員会組織委員会）が発表した「内部統制−統合的枠組み」が、事実上の標準となっており、「（１）業務の有効性・効率性、（２）財務諸表の信頼性、（３）関連法規の遵守の３つの目的を達成するために、合理的な保証を提供することを意図した、取締役会、経営者及びその他の職員によって遂行される１つのプロセス」と定義されている。
財務内部統制において、その財務内部統制の文書（業務記述書、業務フロー図、ＲＣＭ（リスク・コントロール・マトリックス）、職務分離表の４文書）通りに運用されているかを証跡を用いてテストする評価を実施する必要がある。
【０００３】
これに関連する技術として、例えば、特許文献１には、従来の業務プロセスと証憑（エビデンス）文書記録管理の統合を図り、証跡へのアクセスを容易にできるようにした監査支援システムを提供することを課題とし、監査支援システムは、業務を複数の活動要素と該活動要素間の連携情報とで構成する業務フローを保持し、前記活動要素に対する監査項目である監査要素と前記活動要素とを対応付けた第１の対応情報を保持し、前記活動要素における文書情報と前記活動要素とを対応付けた第２の対応情報を保持し、前記監査項目に対応する文書情報特定の指示を受け、前記文書情報特定の指示を受けた場合、前記第１の対応情報と前記第２の対応情報とを用いて前記監査項目に対応する活動要素の文書情報を特定し、前記文書情報特定の指示を受けた場合、前記連携情報と前記第１の対応情報と前記第２の対応情報とを用いて前記監査項目に対応する活動要素から連携される活動要素の文書情報を特定することが開示されている。
【特許文献１】特開２００７−２００２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、内部統制における評価にあたって、統制の実行順序が設計した通りに実行されているかどうかを判断するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
［１］  業務のフローから該フローにおける経路を抽出する経路抽出手段と、
前記経路抽出手段によって抽出された経路における統制を抽出する統制抽出手段と、
前記統制抽出手段によって抽出された統制に基づいて、評価すべき証跡を特定する証跡特定手段と、
前記証跡特定手段によって特定された証跡に記載された日時を受け付ける証跡日時受付手段と、
前記証跡日時受付手段によって受け付けられた日時間の関係は、前記統制抽出手段によって抽出された統制の順序と適合するか否かを判断する順序判断手段
を具備することを特徴とする情報処理装置。
【０００６】
［２］  前記業務のフローを構成するノードとして、１つの行き先の経路と接続している第１のノード又は複数の行き先の経路と接続している第２のノードがあり、
前記経路抽出手段は、前記業務のフローを構成する第２のノードに応じて、複数の経路を抽出する
ことを特徴とする［１］に記載の情報処理装置。
【０００７】
［３］  前記順序判断手段は、対象とする統制に基づく証跡に記載された日時は、前記統制抽出手段によって抽出された統制の順序を用いて、該証跡の統制よりも経路として前にある統制に基づく証跡に記載された日時との比較によって、統制の順序を判断する
ことを特徴とする［１］に記載の情報処理装置。
【０００８】
［４］  コンピュータを、
業務のフローから該フローにおける経路を抽出する経路抽出手段と、
前記経路抽出手段によって抽出された経路における統制を抽出する統制抽出手段と、
前記統制抽出手段によって抽出された統制に基づいて、評価すべき証跡を特定する証跡特定手段と、
前記証跡特定手段によって特定された証跡に記載された日時を受け付ける証跡日時受付手段と、
前記証跡日時受付手段によって受け付けられた日時間の関係は、前記統制抽出手段によって抽出された統制の順序と適合するか否かを判断する順序判断手段
として機能させることを特徴とする情報処理プログラム。
【発明の効果】
【０００９】
請求項１記載の情報処理装置によれば、内部統制における評価にあたって、統制の実行順序が設計した通りに実行されているかどうかを判断することができる。
【００１０】
請求項２記載の情報処理装置によれば、業務のフローから複数の経路を対象とし、その複数の経路における統制の実行順序を判断することができる。
【００１１】
請求項３記載の情報処理装置によれば、内部統制における評価にあたって、実際の統制の実行順序を証跡に記載された日時に基づいて判断することができる。
【００１２】
請求項４記載の情報処理プログラムによれば、内部統制における評価にあたって、統制の実行順序が設計した通りに実行されているかどうかを判断することができる。
【発明を実施するための最良の形態】
【００１３】
財務内部統制を行うために、活動／システム／資源／知識情報などの関係を整理して業務プロセスを文書化し、その文書を活用、評価等するためのシステムを構築している。
まず、文書化対象の内部統制の「基本４文書」について説明する。
基本４文書とは、財務内部統制の対象となる業務プロセス毎に作成される基本文書のことをいい、具体的には、前述の通り業務記述書、業務フロー図、ＲＣＭ、職務分離表がある。
業務記述書は、ナラティブとも呼ばれる。取引の開始から最終的な総勘定元帳への記帳、報告へ至るまでの一連の業務の流れを文書化したものである。人事規定、経理業務規定などの規定書類は、業務記述書の上位文書であり、その改訂は、業務記述書に影響を与える。また、業務マニュアルは、業務記述書の下位文書であり、その改訂により影響を受ける。
業務フロー図とは、取引の開始から最終的な総勘定元帳への記帳、報告へ至るまでの一連の業務の流れを視覚的にフローチャート化したものである。リスクとコントロールもこのフロー上に配置される。
ＲＣＭとは、業務プロセスに関連する内部統制活動について、達成されるべき統制上の要点（アサーション）、想定されるリスク、対応する内部統制活動を一覧表としてまとめたものである。
職務分離表とは、業務プロセスの流れのなかで、財務統制上問題となるような、同一の担当者による処理の重複が発生していないかをチェックするためのものである。
なお、アサーションとは、財務情報が信頼性のある情報といえるための前提条件となるものであり、具体的には、実在性、網羅性、評価、権利と義務、期間／配分、表示の６項目が一般的には使用される。しかし、各社又は監査法人により一部変更つまりカスタマイズされる場合もあり、前述の６項目に限られる必要はない。
リスクとは、業務プロセス上で想定されるアサーションに対する阻害要因のことをいう。
コントロール（統制）とは、リスクに対する内部統制活動のことをいい、統制のタイプとして、防止的、発見的等がある。
【００１４】
本実施の形態では、前記基本４文書に基づいて、実際の業務プロセスが行われているか否かについての評価を行うものであり、特にコントロールの実行順序に関するものである。
既存の内部統制の評価で用いられている手法は、個々のコントロールについて、文書内容の通りに実行されているか、統制が有効かどうか、リスクがコントロールによって軽減されているか、についての評価を実施している。
コントロールのなかには、複数のコントロールが定められた順序通りに実行されて、初めてその効果が発揮されるものもある。
このように、コントロールの効果が複数のコントロールの実行順序に依存する場合の評価は、コントロール単位での評価では適切にその効果を判断することができない。
したがって、個々のコントロール単位で評価を行っていたのでは、コントロールの実行順序の確認はすべて手作業で実施しなければならないこととなる。多くのコントロールを持つプロセスについて、その実行順序の確認は煩雑であり、さらに手作業となるので確認漏れの可能性もあり、網羅的に確認することは容易ではない。
【００１５】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、各構成部は、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態における構成部はコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、各構成部は機能にほぼ一対一に対応しているが、実装においては、１構成部を１プログラムで構成してもよいし、複数構成部を１プログラムで構成してもよく、逆に１構成部を複数プログラムで構成してもよい。また、複数構成部は１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１構成部が複数コンピュータで実行されてもよい。なお、１つの構成部に他の構成部が含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。例えば、データとデータが接続されているとは、データの一部が同一のデータであること、ポインタ又はリンク等で一方が他方を指していること等を表す。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
なお、操作者をその文脈に応じて、作成者、検証者、ユーザ等ともいう。
入力という用語は、クライアント１２１０又は内部統制処理サーバー１２２０に対する操作者の操作によってデータを受け付けること、各構成部が他の構成部からデータを受け付けること等に用いる。
【００１６】
本実施の形態は、図１に示すように、フロー受付部１０２、パス抽出部１０４、コントロール抽出部１０６、証跡特定部１０８、証跡日時受付部１１０、実行コントロール順序判定部１１２、判断結果提示部１１４を有している。
フロー受付部１０２は、パス抽出部１０４と接続されており、業務フロー図又は業務記述書のデータをもとにして、評価の対象とする業務フローを受け付け、その業務フローをパス抽出部１０４へ渡す。
パス抽出部１０４は、フロー受付部１０２、コントロール抽出部１０６と接続されており、フロー受付部１０２によって受け付けられた業務フローからその業務フローにおける経路であるパスを抽出する。その抽出したパスをコントロール抽出部１０６へ渡す。なお、ここで、業務フローは、その業務フローを構成するノードとして、１つの行き先のパスと接続している第１のノード（例えば、ノードの属性として活動を有しているもの）又は複数の行き先のパスと接続している第２のノード（例えば、ノードの属性として判断を有しているものであり、判断の結果、２つのパスのいずれかへ進むための岐路としてのノード）がある。パス抽出部１０４は、業務フローを構成する第２のノードに応じて、複数のパスを抽出するようにしてもよい。
【００１７】
コントロール抽出部１０６は、パス抽出部１０４、証跡特定部１０８と接続されており、パス抽出部１０４によって抽出されたパスにおけるコントロールを抽出する。その抽出したコントロールを証跡特定部１０８へ渡す。
証跡特定部１０８は、コントロール抽出部１０６、証跡日時受付部１１０と接続されており、コントロール抽出部１０６によって抽出されたコントロールに基づいて、評価すべき証跡を特定する。その特定した証跡を証跡日時受付部１１０へ渡す。
【００１８】
証跡日時受付部１１０は、証跡特定部１０８、実行コントロール順序判定部１１２と接続されており、証跡特定部１０８によって特定された証跡に記載された日時を受け付ける。ここで、証跡に記載された日時を受け付けるのに、電子文書である場合はそのタイムスタンプの日時を取り出してもよいし、証跡に記載された日時を文字認識してもよいし、操作者の操作によってその日時を入力等するようにしてもよい。また、日時には、年、月、日、時、分、秒等を含み、それらの任意の組み合わせであってもよい。その受け付けた日時を実行コントロール順序判定部１１２へ渡す。
【００１９】
実行コントロール順序判定部１１２は、証跡日時受付部１１０、判断結果提示部１１４と接続されており、証跡日時受付部１１０によって受け付けられた日時間の関係は、コントロール抽出部１０６によって抽出されたコントロールの順序と適合するか否かを判断する。その判断結果を判断結果提示部１１４へ渡す。より具体的には、例えば、対象とするコントロールに基づく証跡に記載された日時は、コントロール抽出部１０６によって抽出されたコントロールの順序を用いて、その証跡のコントロールよりもパスとして前にあるコントロールに基づく証跡に記載された日時との比較によって、コントロールの順序を判断するようにしてもよい。つまり、コントロールの実行順序が、業務フロー図等に定められている通りに行われているか否かを判断する。
【００２０】
判断結果提示部１１４は、実行コントロール順序判定部１１２と接続されており、実行コントロール順序判定部１１２による判断結果を受け取り、操作者に提示する。ここでの提示は、視覚的な表示の他、スピーカーを用いた音声による出力等であってもよく、これらの組み合わせであってもよい。以下、視覚的な表示の場合について説明する。
【００２１】
主に図２に示すフローチャートを用いて、本実施の形態による処理例を説明する。
図２のステップＳ２０２では、フロー受付部１０２が、対象とするプロセスの業務フローを受け付ける。例えば、業務フロー図又は業務記述書のデータから対象とするプロセスの業務フローに関するデータを取り出す。
ここで、図３を用いて、プロセスのデータ構造例について説明する。
プロセス３０２は、３つの要素から構成されている。つまり、（１）活動の集合３０４（Ａｃｔｉｖｉｔｙ  Ｃｏｌｌｅｃｔｉｏｎ）、（２）リスクの集合３０６（Ｒｉｓｋ  Ｃｏｌｌｅｃｔｉｏｎ）、（３）コントロールの集合３０８（Ｃｔｒｌ  Ｃｏｌｌｅｃｔｉｏｎ）である。
そして、活動の集合３０４は１つ以上の活動３１０、リスクの集合３０６は１つ以上のリスク３１２、コントロールの集合３０８は１つ以上のコントロール３１４から構成されている。
また、活動３１０（Ａｃｔｉｖｉｔｙ）には、その活動に関連する、リスク３１２（Ｒｉｓｋ）とコントロール３１４（Ｃｔｒｌ）が必要に応じてリンクされる。関連するリスク／コントロールがない場合はリンクされない。
【００２２】
フロー受付部１０２が受け付けた業務フローの例を、図４を用いて説明する。
業務フローを構成する各ノードは活動３１０である。図４に示す業務フロー例は、ノードＡ０１  ４０２〜Ａ１３  ４２６までで構成されている。また、ノードである活動３１０の属性として、タイプ、コンテント、リンク、リスク、コントロールがある。そして、タイプがとり得る値として「活動」又は「判断」があり、コンテントがとり得る値として「活動（判断）の内容」があり、リンクがとり得る値として「次の活動ノードへのリンク（判断の場合は、Ｙｅｓのリンク（ＬｉｎｋＹ）とＮｏのリンク（ＬｉｎｋＮ）がある。最後尾のノードの場合は、Ｎｕｌｌである）」があり、リスクがとり得る値として「関連リスクへのリンク（関連リスクがない場合はＮｕｌｌでもよい）」があり、コントロールがとり得る値として「関連コントロールのリンク（関連コントロールがない場合はＮｕｌｌでもよい）」がある。図４の例では、属性が活動のノードは長方形の形状で表しており（Ａ０１  ４０２、Ａ０２  ４０４等）、属性が判断のノードは菱形の形状で表している（Ａ０４  ４０８、Ａ０５  ４１０）。
【００２３】
また、業務フローの活動（属性が活動、判断の両方を含む）には順序が存在する。先頭の活動（Ａ０１  ４０２）からリンクをたどることで、その実行順序が表現される。判断に対しては、判断結果の真（Ｙｅｓ）／偽（Ｎｏ）それぞれについてリンクを持つ。
【００２４】
図２のステップＳ２０４では、パス抽出部１０４が、ステップＳ２０２で受け付けた業務フロー上のパスを抽出する。先頭の活動からリンクをたどることで、そのプロセスが持つ活動シーケンス（パス）を抽出することができる。
図４に示した業務フロー例では、３つのパスが抽出される。つまり、図５に示したパス５０２、パス５０４、パス５０６である。パス５０２はＡ０１  ４０２、Ａ０２  ４０４、Ａ０３  ４０６、Ａ０４  ４０８、Ａ０５  ４１０、Ａ０６  ４１２、Ａ０７  ４１４を通過するパスであり、パス５０４はＡ０１  ４０２、Ａ０２  ４０４、Ａ０３  ４０６、Ａ０４  ４０８、Ａ０５  ４１０、Ａ１１  ４２２、Ａ１２  ４２４、Ａ１３  ４２６を通過するパスであり、パス５０６はＡ０１  ４０２、Ａ０２  ４０４、Ａ０３  ４０６、Ａ０４  ４０８、Ａ０８  ４１６、Ａ０９  ４１８、Ａ１０  ４２０を通過するパスである。
【００２５】
図６は、パス抽出部１０４が業務フローにおけるパスを抽出する処理例を示すフローチャートである。
ここで、パスを抽出する関数をＦ（ｎｏｄｅ，ｎｏｄｅＬｉｓｔ）とする（ステップＳ６００）。第１引数（パラメータ）のｎｏｄｅは、業務フロー内の対象とするノード（つまり、関数の呼び出しの際には業務フローの先頭ノードを指定することになる）であり、第２引数のｎｏｄｅＬｉｓｔは、抽出したパス上にあるノードのリストである。最初は、ｎｏｄｅＬｉｓｔに空リストが指定される。この関数では、業務フロー内のｎｏｄｅを再帰的にたどりながら、ｎｏｄｅＬｉｓｔを生成する。
【００２６】
ステップＳ６０２では、ｎｏｄｅはＮｕｌｌであるか否かを判断する。つまり、業務フローをたどりつくしたか否かを判断している。かかる判断でＮｕｌｌである場合（Ｙの場合）はステップＳ６１２へ進み、それ以外の場合（Ｎの場合）はステップＳ６０４へ進む。
ステップＳ６１２では、パスの抽出が完了したので、パス抽出処理の結果としてｎｏｄｅＬｉｓｔを返す。
ステップＳ６０４では、ｎｏｄｅＬｉｓｔの末尾にｎｏｄｅを追加する。
ステップＳ６０６では、現在の対象としているｎｏｄｅの属性のタイプは「活動」か否かを判断する。かかる判断で活動である場合（Ｙの場合）はステップＳ６０８へ進み、それ以外の場合（Ｎの場合、つまりｎｏｄｅの属性のタイプが「判断」の場合）はステップＳ６１４へ進む。
【００２７】
ステップＳ６０８では、属性のリンクの値（リンク先のノード）を取得する。つまり、業務フローをたどり、１つ先のノードを対象とする。
ステップＳ６１０では、新しい引数でパス抽出処理（関数Ｆ（ｎｏｄｅ，ｎｏｄｅＬｉｓｔ））を再帰的に実行する。
【００２８】
ステップＳ６１４では、判断が真のときのリンク先のｎｏｄｅを取得する。つまり、業務フロー内の判断でＹのパスをたどり、１つ先のノードを対象とする。
ステップＳ６１６では、判断が真のときのリンク先のパス抽出処理（関数Ｆ（ｎｏｄｅ，ｎｏｄｅＬｉｓｔ））を再帰的に実行する。
ステップＳ６１８では、判断が偽のときのリンク先のｎｏｄｅを取得する。つまり、業務フロー内の判断でＮのパスをたどり、１つ先のノードを対象とする。
ステップＳ６２０では、判断が偽のときのリンク先のパス抽出処理（関数Ｆ（ｎｏｄｅ，ｎｏｄｅＬｉｓｔ））を再帰的に実行する。
【００２９】
図７は、具体的な業務フローにおける経路を抽出する例を示す説明図である。つまり、図４に示した業務フローに対して、図６で示したパス抽出処理を適用したものであり、その経過及び結果を示している。
Ｆ関数７００は、関数Ｆ（ｎｏｄｅ，ｎｏｄｅＬｉｓｔ）の第１引数を、図４で示した業務フロー例の先頭ノードであるＡ０１  ４０２とし、第２引数を空のｎｏｄｅＬｉｓｔとしてパス抽出処理を開始したことを示している。
処理７０１は、ステップＳ６０４に対応し、ｎｏｄｅＬｉｓｔの先頭にＡ０１  ４０２を入れる処理である。
処理７０２は、ステップＳ６０８に対応し、次のノード（Ａ０２  ４０４）へたどる処理である。
Ｆ関数７０３は、ステップＳ６１０に対応し、対象ノードをＡ０２  ４０４として（第１引数）、パスの要素にＡ０１  ４０２を含むｎｏｄｅＬｉｓｔ（第２引数）に基づいて、パス抽出処理を再帰的に行う。
【００３０】
以後、同様の処理を繰り返して、Ｆ関数７０４、Ｆ関数７０５へ進む。ここで、対象ノードは、Ａ０４  ４０８つまり判断ノードであるので、Ａ０４  ４０８による分岐で２つのパスを抽出することになる。Ｆ関数７０６とＦ関数７１６に処理が分かれる。
Ｆ関数７０６はステップＳ６１６に、Ｆ関数７１６はステップＳ６２０にそれぞれ対応する。つまり、Ｆ関数７０６は第１引数としてＡ０４  ４０８のＹの場合の次のノードであるＡ０５  ４１０、第２引数として、それまでのパスにあるノードのリストである［Ａ０１，Ａ０２，Ａ０３，Ａ０４］に基づいて、パス抽出処理を再帰的に行う。Ｆ関数７１６は第１引数としてＡ０４  ４０８のＮの場合の次のノードであるＡ０８  ４１６、第２引数として、それまでのパスにあるノードのリストである［Ａ０１，Ａ０２，Ａ０３，Ａ０４］に基づいて、パス抽出処理を再帰的に行う。
【００３１】
その後、Ｆ関数７０６では、対象ノードは、Ａ０５  ４１０つまり判断ノードであるので、Ａ０５  ４１０による分岐で２つのパスを抽出することになる。Ｆ関数７０７とＦ関数７１１に処理が分かれる。
同様の処理を繰り返して、Ｆ関数７０７、Ｆ関数７０８へ進む。Ｆ関数７０８では、対象ノードが最後尾のノードであるＡ０７  ４１４なので、次のパス抽出処理（Ｆ関数７０９）では、Ｎｕｌｌを第１引数とする。すると、ステップＳ６０２でＹとなるので、処理結果７１０となる。つまり、図５に示したパス５０２を戻り値として結果を返すこととなる（処理結果７１０）。
以後、Ｆ関数７１１、Ｆ関数７１２（Ｆ（Ａ１２，［Ａ０１，Ａ０２，Ａ０３，Ａ０４，Ａ０５，Ａ１１］））、Ｆ関数７１３（Ｆ（Ａ１２，［Ａ０１，Ａ０２，Ａ０３，Ａ０４，Ａ０５，Ａ１１，Ａ１２］））、Ｆ関数７１４と、同様の処理を繰り返して、図５に示したパス５０４を戻り値として結果を返すこととなる（処理結果７１５）。
また、Ｆ関数７１６、Ｆ関数７１７（Ｆ（Ａ１２，［Ａ０１，Ａ０２，Ａ０３，Ａ０４，Ａ０８］））、Ｆ関数７１８（Ｆ（Ａ１２，［Ａ０１，Ａ０２，Ａ０３，Ａ０４，Ａ０８，Ａ０９］））、Ｆ関数７１９と、同様の処理を繰り返して、図５に示したパス５０６を戻り値として結果を返すこととなる（処理結果７２０）。
【００３２】
図２のステップＳ２０６では、コントロール抽出部１０６が、ステップＳ２０４で抽出したパス上で実行されるコントロールを抽出する。
図８に示すフローチャートを用いて、パス上のコントロールを取得する処理例を説明する。
ここで、パス上のコントロールを抽出する関数をＧ（ａｃｔＬｉｓｔ，ｃｔｒｌＬｉｓｔ）とする（ステップＳ８００）。第１引数のａｃｔＬｉｓｔは、前述のパス抽出処理（図６に示したフローチャート）で抽出したパス上にあるノードである活動のリスト（図６のｎｏｄｅＬｉｓｔ）であり、第２引数のｃｔｒｌＬｉｓｔは、そのパス上にあるコントロールのリストである。最初は、ｃｔｒｌＬｉｓｔに空リストが指定される。この関数では、パスを順番にたどりながら、ｃｔｒｌＬｉｓｔを生成する。
【００３３】
ステップＳ８０２では、ａｃｔＬｉｓｔはＮｕｌｌであるか否かを判断する。つまり、パスをたどりつくしたか否かを判断している。かかる判断でＮｕｌｌである場合（Ｙの場合）はステップＳ８１２へ進み、それ以外の場合（Ｎの場合）はステップＳ８０４へ進む。
ステップＳ８１２では、パス上にあるコントロールの抽出が完了したので、コントロール抽出処理の結果としてｃｔｒｌＬｉｓｔを返す。
【００３４】
ステップＳ８０４では、ａｃｔＬｉｓｔの先頭要素を取得して、ａｃｔに代入する。
ステップＳ８０６では、ステップＳ８０４で取得したａｃｔの関連コントロールを取得して、ｃｔｒｌに代入する。
ステップＳ８０８では、ステップＳ８０６で取得したｃｔｒｌはＮｕｌｌでないか否かを判断する。かかる判断でＮｕｌｌでない場合（Ｙの場合）はステップＳ８１４へ進み、それ以外の場合（Ｎの場合）はステップＳ８１０へ進む。
ステップＳ８１４では、ｃｔｒｌをｃｔｒｌＬｉｓｔの末尾に追加する。そして、ステップＳ８１０へ進む。
ステップＳ８１０では、ａｃｔＬｉｓｔの先頭要素を除いた内容でａｃｔＬｉｓｔを更新する。
【００３５】
図２のステップＳ２０８では、証跡特定部１０８が、ステップＳ２０６で抽出した各コントロールの実行日時が確認できる証跡を特定する。コントロールのデータ構造として、実行日時が確認できる証跡を含んでおり、そのデータを用いることによって特定できる。なお、対象とするコントロールのリストは、図８でのｃｔｒｌＬｉｓｔである。
【００３６】
図２のステップＳ２１０では、証跡日時受付部１１０が、ステップＳ２０８で特定した証跡について、操作者の操作によってその証跡にある日時を受け付ける。
ここで、実行日時を受け付ける例として、操作者の操作による入力例を図１０、図１１に示す。
図１０は、実行日時の入力、実行順序の判断結果を表示する画面例を示す説明図である。
コントロール実行順序確認テスト画面１０００は、プロセス名欄１０１０、シーケンステストテーブル１０１１、追加ボタン１０１４、削除ボタン１０１５、編集ボタン１０１６、シーケンステスト名欄１０２０、テスト結果テーブル１０２１を有している。
プロセス名欄１０１０は、評価の対象とする業務プロセスを、操作者の操作によって指定する欄である。
シーケンステストテーブル１０１１は、ｎｏ欄１０１２、シーケンステスト名欄１０１３を有しており、プロセス名欄１０１０に指定された業務プロセスに対するテスト（特に、コントロールの順序を考慮した評価）を列挙する。追加ボタン１０１４が操作者の操作によって選択されるとシーケンステストテーブル１０１１にテストが追加され、削除ボタン１０１５が選択されるとシーケンステストテーブル１０１１内の選択されたテストを削除し、編集ボタン１０１６が選択されるとシーケンステストテーブル１０１１内の選択されたテスト内容を編集できるようにする。
【００３７】
シーケンステスト名欄１０２０は、シーケンステストテーブル１０１１内で選択されたテスト名を表示する欄である。
テスト結果テーブル１０２１は、Ｓｅｑ欄１０２２、Ｃ−ｎｏ欄１０２３、証憑欄１０２４、サンプル欄１０２５、実行日時の証跡欄１０２６、実行日時欄１０２７、実行者欄１０２８、結果欄１０２９を有している。
Ｓｅｑ欄１０２２、Ｃ−ｎｏ欄１０２３、証憑欄１０２４、実行日時の証跡欄１０２６、実行者欄１０２８は、ステップＳ２０６で抽出されたコントロールのリスト又はステップＳ２０８で特定された証跡を用いて、その欄の内容を生成する。サンプル欄１０２５、実行日時欄１０２７は、操作者の操作によって入力されるものである。Ｓｅｑ欄１０２２は、コントロールの実行順序を評価すべき場合であって、その評価をするための証跡の順序番号を表示する。Ｃ−ｎｏ欄１０２３はコントロールを特定できるコントロール番号を表示する。証憑欄１０２４は証憑となる書類名を表示する。サンプル欄１０２５は、操作者の操作によって具体的な書類名を入力するものである。実行日時の証跡欄１０２６は実行日時を証明する証跡を表示する。実行日時欄１０２７は、操作者の操作によって対象となっている書類の証跡（例えば、押印されている日付印の日付等）を入力するものである。実行者欄１０２８は対象となっているコントロールを実行した者を表示する。結果欄１０２９はステップＳ２１２の処理結果を表示する。
【００３８】
図１１は、実行日時の入力、実行順序の判断結果を表示する他の画面例を示す説明図である。
コントロール実行順序確認テスト画面１１００は、プロセス名欄１１１０、テスト結果テーブル１１２０を有している。プロセス名欄１１１０は図１０に示したコントロール実行順序確認テスト画面１０００のプロセス名欄１０１０に対応する。
テスト結果テーブル１１２０は、Ｎｏ欄１１２１、先行Ｃｔｒｌ欄１１２２、後続Ｃｔｒｌ欄１１２３、先行Ｃｔｒｌ欄１１２４、後続Ｃｔｒｌ欄１１２８、サンプル欄１１３２、結果欄１１３３を有している。テスト結果テーブル１１２０は、図１０に示したテスト結果テーブル１０２１と同様のものであるが、実行順序の評価の表示方法が異なるものである。
【００３９】
Ｎｏ欄１１２１は実行順序評価の番号を表示する。
先行Ｃｔｒｌ欄１１２２、後続Ｃｔｒｌ欄１１２３は、図１０に示したＣ−ｎｏ欄１０２３と同様である。ただし、順序関係を評価するものであるので、２つのコントロールを対象とするため、先行となるべきコントロールの番号、そのコントロールの後続となるべきコントロールの番号を表示する。
先行Ｃｔｒｌ欄１１２４は、証憑欄１１２５、実行日時の証跡欄１１２６、実行日時欄１１２７を有しており、先行のコントロールについてのものである。
後続Ｃｔｒｌ欄１１２８は、証憑欄１１２９、実行日時の証跡欄１１３０、実行日時欄１１３１を有しており、後続のコントロールについてのものである。
証憑欄１１２５、証憑欄１１２９は、図１０に示した証憑欄１０２４と同様である。
実行日時の証跡欄１１２６、実行日時の証跡欄１１３０は、図１０に示した実行日時の証跡欄１０２６と同様である。
実行日時欄１１２７、実行日時欄１１３１は、図１０に示した実行日時欄１０２７と同様である。
サンプル欄１１３２は、図１０に示したサンプル欄１０２５と同様である。
結果欄１１３３は、図１０に示した結果欄１０２９と同様である。
【００４０】
図２のステップＳ２１２では、実行コントロール順序判定部１１２が、ステップＳ２０６で抽出したパス上のコントロールの順序関係とステップＳ２１０で受け付けた日時を用いて、コントロールの実行順序を判断する。
ここで図９に示すフローチャートを用いて、コントロールの実行順序を判断する処理例を説明する。
ここで、コントロールの実行順序を判断する関数をＨ（ｃｔｒｌＬｉｓｔ）とする（ステップＳ９００）。引数のｃｔｒｌＬｉｓｔは、前述のパス上のコントロール抽出処理（図８に示したフローチャート）で抽出したコントロールのリストである。この関数の戻り値として、ＯＫ（実行順序は設計通りである）又はＮＧ（実行順序が設計とは異なっている）を返す。
つまり、ステップＳ２１０で、コントロールのリストをもとに生成したＧＵＩ（具体的には、コントロール実行順序確認テスト画面１０００、コントロール実行順序確認テスト画面１１００）に、操作者（評価実行者）が各コントロールの実行日時を入力する。そして、ステップＳ２１２で、その入力された各コントロールの実行日時が、コントロールリストの順序の前後関係と矛盾しないかどうかを確認する。つまり、各コントロール（ｃｕｒｒｅｎｔＣｔｒｌ）の実行日時が、その前のコントロール（ｐｒｅｖＣｔｒｌ）の実行日時よりも後であることを確認し、ｃｕｒｒｅｎｔＣｔｒｌが後であればＯＫ、それ以外であればＮＧを結果として返し、ステップＳ２１４でその結果を出力する。
【００４１】
ステップＳ９０２では、コントロールのリスト（ｃｔｒｌＬｉｓｔ）から先頭のコントロールを取り出し、ｐｒｅｖＣｔｒｌに代入する。
ステップＳ９０４では、ｃｔｒｌＬｉｓｔの先頭要素を除いた内容でｃｔｒｌＬｉｓｔを更新する。
ステップＳ９０６では、ステップＳ９０４で更新されたｃｔｒｌＬｉｓｔはＮｕｌｌであるか否かを判断する。かかる判断でＮｕｌｌである場合（Ｙの場合、つまりパス上にある全てのコントロールの評価を終了した場合）は終了（ステップＳ９２０）する。ステップＳ９１６、ステップＳ９２２でのＲｅｓｕｌｔを戻り値として返す。Ｎｕｌｌ以外の場合（Ｎの場合）はステップＳ９０８へ進む。
【００４２】
ステップＳ９０８では、ｃｔｒｌＬｉｓｔの先頭のコントロールを取得して、ｃｕｒｒｅｎｔＣｔｒｌに代入する。
ステップＳ９１０では、ステップＳ９０８で取得したｃｔｒｌＣｔｒｌの実行日時を取得して、ｃｕｒｒｅｎｔＤａｔｅに代入する。例えば、コントロール実行順序確認テスト画面１０００の実行日時欄１０２７、コントロール実行順序確認テスト画面１１００の実行日時欄１１３１から実行日時を取得する。
ステップＳ９１２では、ステップＳ９０２（又はステップＳ９１８）で取得したｐｒｅｖＣｔｒｌの実行日時を取得して、ｐｒｅｖＤａｔｅに代入する。例えば、コントロール実行順序確認テスト画面１０００の実行日時欄１０２７、コントロール実行順序確認テスト画面１１００の実行日時欄１１２７から実行日時を取得する。
【００４３】
ステップＳ９１４では、２つのコントロールの実行日時を比較する。つまり、ステップＳ９１２で取得したｐｒｅｖＤａｔｅはステップＳ９１０で取得したｃｕｒｒｅｎｔＤａｔｅよりも前（日時としての前）であるか否かを判断する。かかる判断でｐｒｅｖＤａｔｅが前であるならば（Ｙの場合）ステップＳ９１６へ進み、それ以外であるならば（Ｎの場合）ステップＳ９２２へ進む。
ステップＳ９１６では、ｐｒｅｖＤａｔｅの方が前なのでＯＫをＲｅｓｕｌｔに代入する。
ステップＳ９２２では、ｐｒｅｖＤａｔｅの方が前ではないのでＮＧをＲｅｓｕｌｔに代入する。
ステップＳ９１８では、対象のＣｔｒｌをずらす。つまり、ｃｕｒｒｅｎｔＣｔｒｌをｐｒｅｖＣｔｒｌに代入する。その後、ステップＳ９０４へ戻る。
【００４４】
図２のステップＳ２１４では、判断結果提示部１１４が、ステップＳ２１２での判断結果を提示する。
ここで、判断結果を提示する例を図１０、図１１に示す。図１０に示すテスト結果テーブル１０２１の結果欄１０２９、図１１に示すテスト結果テーブル１１２０の結果欄１１３３が判断結果を表示している。
図１０に示すテスト結果テーブル１０２１は、１つのコントロールに１行を対応させている。図１１に示すテスト結果テーブル１１２０は、１つの評価に１行を対応させている違いがある。
したがって、結果欄１０２９は、その行と１つ上の行で示された実行日時との比較結果を表示する。一方、テスト結果テーブル１１２０は、その行に示された２つの実行日時の比較結果を表示する。これによって、図１０に示すテスト結果テーブル１０２１では、先行のコントロールと後続のコントロールは連続している必要がある。図１１に示すテスト結果テーブル１１２０では、その行内に対象とする２つのコントロールを表示するので、先行のコントロールと後続のコントロールとの間が離れているような場合であっても対応できる。
【００４５】
図１２を用いて、本実施の形態を実現するための財務内部統制の評価のためのシステム全体の構成例を説明する。
システム全体は、クライアント１２１０、内部統制処理サーバー１２２０から構成されている。なお、それぞれの構成は複数であってもよい。クライアント１２１０と内部統制処理サーバー１２２０の間は、通信回線１２３０を介して接続されている。そして、クライアント１２１０と内部統制処理サーバー１２２０との間は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等を用いてデータを記述し、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルを用いて接続されている。
クライアント１２１０は、操作者が、内部統制処理サーバー１２２０を用いるためのユーザインタフェースの機能を有している。
内部統制における評価をするために、内部統制処理サーバー１２２０では実行順序の判断結果等を表示、証跡に記載された日時等を入力するための画面（コントロール実行順序確認テスト画面１０００、１１００等）をクライアント１２１０に表示する。
なお、このシステムは、会社単位で構築してもよいし、関連会社（子会社、親会社等を含む）の間で１つのシステムを構築するようにしてもよい。
【００４６】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１３に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。パス抽出部１０４、コントロール抽出部１０６、証跡特定部１０８、証跡日時受付部１１０、実行コントロール順序判定部１１２等のプログラムを実行するＣＰＵ１３０１と、そのプログラムやデータを記憶するＲＡＭ１３０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１３０３と、補助記憶装置であるＨＤ１３０４（例えばハードディスクを用いることができる）と、キーボード、マウス等のデータを入力する入力装置１３０６と、ＣＲＴや液晶ディスプレイ等の出力装置１３０５と、通信ネットワークと接続するための通信回線インタフェース１３０７（例えばネットワークインタフェースカードを用いることができる）、そして、それらをつないでデータのやりとりをするためのバス１３０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００４７】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１３に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１３に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１３に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００４８】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【００４９】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による処理例を示すフローチャートである。
【図３】プロセスのデータ構造例を示す説明図である。
【図４】業務フローの例を示す説明図である。
【図５】業務フローにおける経路の例を示す説明図である。
【図６】業務フローにおける経路を抽出する処理例を示すフローチャートである。
【図７】具体的な業務フローにおける経路を抽出する例を示す説明図である。
【図８】パス上のコントロールを取得する処理例を示すフローチャートである。
【図９】コントロールの実行順序を判断する処理例を示すフローチャートである。
【図１０】実行日時の入力、実行順序の判断結果を表示する画面例を示す説明図である。
【図１１】実行日時の入力、実行順序の判断結果を表示する他の画面例を示す説明図である。
【図１２】システム全体の構成例を示すブロック図である。
【図１３】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００５０】
１０２…フロー受付部
１０４…パス抽出部
１０６…コントロール抽出部
１０８…証跡特定部
１１０…証跡日時受付部
１１２…実行コントロール順序判定部
１１４…判断結果提示部
【図１】
2009169641.tif 000003
【図２】
2009169641.tif 000004
【図３】
2009169641.tif 000005
【図４】
2009169641.tif 000006
【図５】
2009169641.tif 000007
【図６】
2009169641.tif 000008
【図７】
2009169641.tif 000009
【図８】
2009169641.tif 000010
【図９】
2009169641.tif 000011
【図１０】
2009169641.tif 000012
【図１１】
2009169641.tif 000013
【図１２】
2009169641.tif 000014
【図１３】
2009169641.tif 000015