まず、本実施例に係る業務フローチャート比較方法の概要について説明する。図1は、本実施例に係る業務フローチャート比較方法において比較対象となる業務フローチャートの一例を示す図である。同図に示すように、業務フローチャート11は、開始31、業務プロセス331〜334、サブフロー341および終了32を業務の流れを示す矢印で接続して構成されている。
開始31は、業務の流れの始点を表し、終了32は、業務の流れの終点を表す。業務プロセス331〜334は、業務を構成する各工程を表し、その工程の名前を付して表示される。サブフロー341は、その部分に、他の業務フローチャートによって表現された業務の流れがあることを表す。このように、サブフローをもちいて業務フローチャートを階層的に構成することにより、複雑な業務の流れを簡潔に表現することが可能になっている。
また、業務フローチャート11は、営業部門を表すパーティション211と、情報処理部門を表すパーティション212とに領域分割され、業務プロセス331、333および334は、パーティション211内に配置され、業務プロセス332は、パーティション212内に配置されている。これは、業務プロセス331、333および334は、営業部門において実行され、業務プロセス332は、情報処理部門において実行されることを示している。
また、業務プロセス331には、「R1」という名のリスク361が関連付けられ、リスク361には「C1」という名の統制が実行されることを示す関連371が付加されている。そして、「C1」という名の統制381は、業務プロセス332に関連付けられている。これは、業務プロセス331において、「R1」という名のリスクが発生する可能性があり、そのリスクに対処するために、業務プロセス332において「C1」という名の統制が実行されることを示している。
また、業務プロセス332には、「データb」という名の業務データ351が関連付けられている。これは、業務プロセス332において、「データb」という名の業務データをもちいて作業が行われることを示している。このように、本実施例に係る業務フローチャート比較方法において比較対象となる業務フローチャートには、業務の流れだけでなく、各工程が実行される組織、各工程に対するリスク統制、各工程にて使用される業務データといった多様な情報が含まれているものとする。
図2は、図1に示した業務フローチャートを変更して作成された業務フローチャートの例を示す図である。同図に示すように、業務フローチャート11と業務フローチャート12を比較すると、業務フローチャート12では、業務プロセス334が削除され、業務プロセス335が追加され、業務プロセス333がパーティション211からパーティション212へ移動されている。また、同図からは明らかではないが、サブフロー341が示す下位の業務フローチャートにも変更が加えられているものとする。
本実施例に係る業務フローチャート比較方法をもちいて業務フローチャート11と業務フローチャート12を比較した結果の表示例を図3および4に示す。なお、ここでは、業務フローチャート11を変更前の業務フローチャートとし、業務フローチャート12を変更後の業務フローチャートとして比較をおこなった場合の表示例を示す。
図3は、業務フローチャート12との比較結果を反映させた業務フローチャート11の表示例を示す図である。同図に示すように、業務フローチャート11に比較結果を反映させた業務フローチャートである業務フローチャート13においては、パーティションを移動する業務プロセス333には、変更がある旨を示す変更記号411が付され、削除される業務プロセス334には、削除される旨を示す削除記号421が付されている。また、下位の業務フローチャートが変更されるサブフロー341には、変更がある旨を示す変更記号412が付されている。
図4は、業務フローチャート11との比較結果を反映させた業務フローチャート12の表示例を示す図である。同図に示すように、業務フローチャート12に比較結果を反映させた業務フローチャートである業務フローチャート14においては、追加された業務プロセス335には、追加された旨を示す追加記号431が付され、パーティションを移動した業務プロセス333には、変更があった旨を示す変更記号411が付されている。また、下位の業務フローチャートが変更されたサブフロー341には、変更があった旨を示す変更記号412が付されている。
なお、上記の例では全ての相違点に対して相違内容を示す記号を付しているが、本実施例に係る業務フローチャート比較方法では、特定の種別の相違のみを表示することも可能である。例えば、単にパーティションを移動しただけの相違を無視したければ、その旨を指定することにより、単にパーティションを移動しただけの業務プロセスには変更を示す記号が付されなくなる。
このように、本実施例に係る業務フローチャート比較方法では、変更前後の業務フローチャートに相違内容を表す記号を付して表示することにより、両者の相違を分かりやすく表示することができる。また、本実施例に係る業務フローチャート比較方法は、業務フローチャートに含まれる多様な情報のうち、何を基準として比較をおこなうかを指定することができるので、表示される相違を絞り込み、本質的な相違を把握することを容易にする。
次に、本実施例に係る業務フローチャート比較方法を実行する業務フローチャート比較装置の構成について説明する。図5は、業務フローチャート比較装置100の構成を示す機能ブロック図である。同図に示すように、業務フローチャート比較装置100は、制御部110と、記憶部120と、表示部130と、入力部140とを有する。表示部130は、液晶ディスプレイ等の表示装置であり、入力部140は、キーボードやマウス等の入力装置である。
制御部110は、業務フローチャート比較装置100を全体制御する制御部であり、比較条件取得部111と、業務フローチャート比較部112と、業務フローチャート合成部113と、業務フローチャート表示部114とを有する。
比較条件取得部111は、業務フローチャートを比較するための各種条件を取得する処理部である。具体的には、比較条件取得部111は、図6に示すような比較条件取得画面を表示部130に表示させ、利用者が入力部140を操作して指定した比較条件を取得する。なお、比較条件取得画面から比較条件を取得する代わりに、設定ファイルを読み込んだり、他の装置と通信をおこなったりすることによって比較条件を取得するように構成してもよい。
図6は、比較条件取得画面の一例を示す図である。同図に示すように、比較条件取得画面は、上部に、比較する2つの業務フローチャートを選択する領域をもっている。「新しい業務フローチャート」という見出しをもつ選択項目は、変更後の業務フローチャートを選択する項目であり、「元の業務フローチャート」という見出しをもつ選択項目は、変更前の業務フローチャートを選択する項目である。
また、比較条件取得画面は、その下に、各種比較条件を指定する領域をもっている。これらの比較条件は、初期状態では全て指定された状態になっているが、利用者が任意の比較条件の指定を解除することができる。例えば、下位の業務フローチャートでの変更を無視したい場合には、「追加/変更/削除されたサブフローをみつける」という比較条件の指定を解除することにより、目的を達成することができる。
「追加/変更/削除された業務プロセスをみつける」という比較条件は、変更前後の業務フローチャートにおいて、追加、変更もしくは削除された業務プロセスと遷移を抽出して表示することを指定する条件である。遷移は、業務フローチャートにおいて業務プロセス間を結ぶ矢印に相当する。
「パーティション割当てが変更された業務プロセスをみつける」という比較条件は、変更前後の業務フローチャートにおいて、属するパーティションが変更された業務プロセスを抽出して表示することを指定する条件である。
「パーティション割当て以外のプロパティが変更された業務プロセスをみつける」という比較条件は、変更前後の業務フローチャートにおいて、パーティションに関するもの以外のプロパティが変更された業務プロセスを抽出して表示することを指定する条件である。なお、この比較条件は、業務フローチャートの編集時に業務プロセスのプロパティとして、その業務プロセスにおける処理の説明文等が入力され、業務プロセスを表すデータ中に記憶されていることを前提としている。
「追加/変更/削除された業務データをみつける」という比較条件は、変更前後の業務フローチャートにおいて、追加、変更もしくは削除された業務データを抽出して表示することを指定する条件である。「追加/変更/削除されたリスク/統制をみつける」という比較条件は、変更前後の業務フローチャートにおいて、追加、変更もしくは削除されたリスクと統制を抽出して表示することを指定する条件である。
「追加/変更/削除されたサブフローをみつける」という比較条件は、変更前後の業務フローチャートにおいて、追加、変更もしくは削除されたサブフローを抽出して表示することを指定する条件である。この比較条件を指定した場合、サブフローが示す下位の業務フローチャートにおいて何らかの変動があった場合、サブフローに変化があった旨が表示される。
「上位と下位の業務フローチャート間での移動を無視する」という比較条件は、上位の業務フローチャートと、サブフローが示す下位の業務フローチャートを一体の業務フローチャートとみなし、その間での業務プロセス等の要素の移動を無視することを指定する条件である。この条件を指定することにより、上位と下位の業務フローチャート間を移動しただけでプロパティ等が変更されていない要素に相違内容を示す記号が付されるのを防止することができる。
「改善点をみつける」という条件は、業務フローチャートの各要素に相違内容を示す記号を付すのに併せて、改善内容に関する記述がプロパティに設定されている業務フローチャートおよび業務プロセスに改善点がある旨の表示をおこなうことを指定する条件である。この条件は、改善のための変更を明確化するために有効である。
図5の説明に戻って、業務フローチャート比較部112は、比較条件取得部111によって取得された比較条件にしたがって、業務フローチャートを比較し、比較結果を比較結果データ122として記憶部120に記憶させる処理部である。
業務フローチャート合成部113は、上位の業務フローチャートと下位のフローチャートを一体の業務フローチャートとして合成する処理部であり、比較条件取得部111において、上位と下位の業務フローチャート間での移動を無視すべき旨の比較条件が指定された場合に、業務フローチャート比較部112によって呼び出される。
業務フローチャート表示部114は、業務フローチャート比較部112による比較結果を反映させて、変更前後の業務フローチャートに相違内容を表す記号を付加して表示する処理部である。
記憶部120は、各種情報を記憶する記憶部であり、業務モデルデータ121と、比較結果データ122とを記憶する。業務モデルデータ121は、業務フローチャートを表現するデータであり、図7に示すようなデータ構造を複数含むことができる。
図7は、業務フローチャートのデータ構造を示すモデル図である。同図に示した各オブジェクトは、いずれも、図8に示したElement61をスーパークラスとしてもち、識別子と名称というプロパティを有する。
業務フローチャート50は、1つの業務フローチャートに相当するオブジェクトであり、改善内容というプロパティをもち、パーティション51と、ノード52と、エッジ53を複数含むことができる。パーティション51は、業務フローチャートにおいて組織を表す領域に相当するオブジェクトである。
ノード52は、業務フローチャート中に配置される各種要素のスーパークラスであり、サブフロー521と、業務プロセス522と、業務データ523と、リスク524と、統制525と、制御ノード526とをサブクラスとしてもつ。サブフロー521は、業務フローチャートのその部分を詳細化した下位の業務フローが存在することを示すオブジェクトである。
業務プロセス522は、業務フローチャートにおける各工程を表すオブジェクトである。業務プロセス522は、処理内容と改善内容というプロパティをもち、その工程が実行される組織を示すため、パーティション51と関連付けられる。業務データ523は、業務フローチャートにおける各工程において使用されるデータを表すオブジェクトであり、どの工程で使用されるかを示すため、業務プロセス522と関連付けられる。
リスク524は、業務フローチャートにおける各工程において発生する可能性のあるリスクを表すオブジェクトであり、統制525は、リスクに対して実行される統制を表すオブジェクトである。リスク524は、どの工程で発生するかを示すため、業務プロセス522と関連付けられ、統制525は、どのリスクに対して実行されるかを示すため、リスク524と関連付けられる。統制525は、どの工程において実行されるかを示すため、業務プロセス522とも関連付けられる。
制御ノード526は、業務フローチャートにおいて業務の流れを制御するための各種要素のスーパークラスであり、開始527と、終了528と、並列分岐529と、判断5210とをサブクラスとしてもつ。
エッジ53は、業務フローチャート中に配置される各種要素を結ぶ線に相当するオブジェクトであり、遷移531とフロー532のスーパークラスである。遷移531は、業務の流れを示す矢印に相当するオブジェクトであり、制御ノード526と、業務プロセス522と、サブフロー521を接続する。フロー532は、業務プロセス522に業務データ523と、リスク524と、統制525を接続させるオブジェクトである。
図9は、業務フローチャートのデータ構造の具体例を示す図である。同図に示したデータ構造は、図1に示した業務フローチャートのデータ構造を示している。なお、図1と図9では、同一の要素には同一の符号を付している。
図5の説明に戻って、比較結果データ122は、業務フローチャートの比較結果を保持するデータであり、図10に示すようなデータ構造を複数含むことができる。
図10は、業務フローチャートの比較結果のデータ構造を示すモデル図である。変更リスト70は、業務フローチャートを比較した結果を示すオブジェクトであり、比較された2つの業務フローチャートの識別子をプロパティにもち、変更71を複数含むことができる。
変更71は、業務フローチャートを比較した結果、相違が認められた要素を示すためのオブジェクトであり、その要素が追加されたのか、削除されたのか、あるいは、変更されたのかを示す種別をプロパティにもち、どの要素に相違が認められたかを示すために、業務プロセス522、遷移531、パーティション51、リスク524、統制525等のスーパークラスであるElement61と関連付けられる。
なお、変更71は、要素変更711とプロパティ変更712のスーパークラスであり、実際のデータにおいては、要素変更711もしくはプロパティ変更712として現れる。要素変更711は、要素単位で相違が認められた要素を示すためのオブジェクトであり、プロパティ変更712は、プロパティに相違が認められた要素を示すためのオブジェクトである。プロパティ変更712は、どのプロパティに相違が認められたかを示すために、相違が認められたプロパティの名前と変更前後の値をプロパティとしてもつ。
図11は、業務フローチャートの比較結果のデータ構造の具体例を示す図である。同図に示したデータ構造は、図1に示した業務フローチャートと図2に示した業務フローチャートの比較結果のデータ構造を示している。同図に示した変更リスト80は、要素変更811と、要素変更812と、要素変更813と、プロパティ変更82とを含んでいる。
要素変更811は、業務プロセス335が追加されたことを示し、要素変更812は、業務プロセス334が削除されたことを示し、要素変更813は、サブフロー341に変更があったことを示している。そして、プロパティ変更82は、業務プロセス333が営業部門を表すパーティションから情報処理部門を示すパーティションへ移動されたことを示している。
次に、図5に示した業務フローチャート比較装置100の処理手順について説明する。図12は、業務フローチャート比較装置100の処理手順を示すフローチャートである。同図に示すように、業務フローチャート比較装置100が、業務フローチャートの比較をおこなう場合、まず、比較条件取得部111が、比較条件を取得する(ステップS101)。
そして、業務フローチャート比較部112が、比較対象の業務フローチャートの組み合わせに対応した変更リスト70を初期化し(ステップS102)、業務フローチャート比較処理を実行する(ステップS103)。そして、業務フローチャート表示部114が、旧業務フローチャート表示処理を実行して、比較結果を反映した変更前の業務フローチャートを表示し(ステップS104)、新業務フローチャート表示処理を実行して、比較結果を反映した変更後の業務フローチャートを表示する(ステップS105)。
業務フローチャート比較処理は、ステップS101において取得された比較条件の指示に応じて以下の処理手順の組み合わせとして実行される。図13は、追加、変更もしくは削除された業務プロセスと遷移を抽出すべき旨が指示に含まれていた場合の処理手順を示すフローチャートである。なお、以下の処理手順の説明においては、変更前の業務フローチャートとして指定された業務フローチャートを旧業務フローチャートと称し、変更後の業務フローチャートとして指定された業務フローチャートを新業務フローチャートと称する。
同図に示すように、業務フローチャート比較部112は、追加、変更もしくは削除された業務プロセスと遷移を抽出すべき旨が指示に含まれていると、まず、新旧業務フローチャートのいずれにも存在する業務プロセス522のリストを作成する(ステップS201)。なお、業務プロセス522の同一性は、識別子が同一であるか否かで判断してもよいし、名前が同一である否かで判断してもよい(以下、他の要素の同一性の判断をする場合を含めて同様)。
そして、作成したリストから業務プロセス522を1つ取得する(ステップS202)。ここで、全ての業務プロセス522を取得済みであれば(ステップS203肯定)、新旧業務フローチャートのいずれにも存在する業務プロセス522の処理を完了したことになるので、ステップS207へ遷移して、旧業務フローチャートのみに存在する業務プロセス522の処理に移る。
リストから業務プロセス522を取得できた場合は(ステップS203否定)、旧業務フローチャートにおいてその業務プロセス522と関連付けられている遷移531と、新業務フローチャートにおいてその業務プロセス522と関連付けられている遷移531を比較する。この比較においては、遷移531に関連付けられている他の要素の同一性も確認する(ステップS204)。
そして、相違が認められれば(ステップS205肯定)、相違内容に対応した要素変更711またはプロパティ変更712を作成し、相違が認められた遷移531と関連付けた後(ステップS206)、ステップS202に戻って、リストから次の業務プロセス522の取得を試みる。相違が認められなければ(ステップS205否定)、要素変更711を作成することなくステップS202に戻って、リストから次の業務プロセス522の取得を試みる。
こうして、新旧業務フローチャートのいずれにも存在する業務プロセス522を全て処理した後、業務フローチャート比較部112は、旧業務フローチャートのみに存在する業務プロセス522のリストを作成する(ステップS207)。
そして、作成したリストから業務プロセス522を1つ取得する(ステップS208)。ここで、全ての業務プロセス522を取得済みであれば(ステップS209肯定)、旧業務フローチャートのみに存在する業務プロセス522の処理を完了したことになるので、ステップS211へ遷移して、新業務フローチャートのみに存在する業務プロセス522の処理に移る。
リストから業務プロセス522を取得できた場合は(ステップS209否定)、種別のプロパティの値を「削除」とした要素変更711を作成し、リストから取得した業務プロセス522と関連付けた後(ステップS210)、ステップS208に戻って、リストから次の業務プロセス522の取得を試みる。
こうして、旧業務フローチャートのみに存在する業務プロセス522を全て処理した後、業務フローチャート比較部112は、新業務フローチャートのみに存在する業務プロセス522のリストを作成する(ステップS211)。
そして、作成したリストから業務プロセス522を1つ取得する(ステップS212)。ここで、全ての業務プロセス522を取得済みであれば(ステップS213肯定)、処理を終了させる。
リストから業務プロセス522を取得できた場合は(ステップS213否定)、種別のプロパティの値を「追加」とした要素変更711を作成し、リストから取得した業務プロセス522と関連付けた後(ステップS214)、ステップS212に戻って、リストから次の業務プロセス522の取得を試みる。
図14−1に示した業務フローチャートを図14−2に示した業務フローチャートのように変更した後に図13に示した処理手順が実行されると、遷移391が削除されているため、種別のプロパティの値を「削除」とした要素変更711が作成され、遷移391と関連付けられる。また、業務プロセス336が追加され、遷移392の接続先が変わっているため、種別のプロパティの値を「追加」とした要素変更711が作成され、業務プロセス336と関連付けられるとともに、種別のプロパティの値を「変更」としたプロパティ変更712が作成され、遷移392と関連付けられる。
図15は、属するパーティションが変更された業務プロセスを抽出すべき旨が指示に含まれていた場合の処理手順を示すフローチャートである。同図に示すように、業務フローチャート比較部112は、属するパーティションが変更された業務プロセスを抽出すべき旨が指示に含まれていると、まず、新旧業務フローチャートのいずれにも存在する業務プロセス522のリストを作成する(ステップS301)。
そして、作成したリストから業務プロセス522を1つ取得する(ステップS302)。ここで、全ての業務プロセス522を取得済みであれば(ステップS303肯定)、新旧業務フローチャートのいずれにも存在する業務プロセス522の処理を完了したことになるので、ステップS307へ遷移して、旧業務フローチャートのみに存在するパーティション51の処理に移る。
リストから業務プロセス522を取得できた場合は(ステップS303否定)、旧業務フローチャートにおいてその業務プロセス522と関連付けられているパーティション51と、新業務フローチャートにおいてその業務プロセス522と関連付けられているパーティション51を比較する(ステップS304)。
そして、両者が同一でなければ(ステップS305否定)、プロパティ変更712を作成し、相違が認められた業務プロセス522と関連付けた後(ステップS306)、ステップS302に戻って、リストから次の業務プロセス522の取得を試みる。両者が同一であれば(ステップS305肯定)、プロパティ変更712を作成することなくステップS302に戻って、リストから次の業務プロセス522の取得を試みる。
こうして、新旧業務フローチャートのいずれにも存在する業務プロセス522を全て処理した後、業務フローチャート比較部112は、旧業務フローチャートのみに存在するパーティション51のリストを作成する(ステップS307)。
そして、作成したリストからパーティション51を1つ取得する(ステップS308)。ここで、全てのパーティション51を取得済みであれば(ステップS309肯定)、旧業務フローチャートのみに存在するパーティション51の処理を完了したことになるので、ステップS311へ遷移して、新業務フローチャートのみに存在するパーティション51の処理に移る。
リストからパーティション51を取得できた場合は(ステップS309否定)、種別のプロパティの値を「削除」とした要素変更711を作成し、リストから取得したパーティション51と関連付けた後(ステップS310)、ステップS308に戻って、リストから次のパーティション51の取得を試みる。
こうして、旧業務フローチャートのみに存在するパーティション51を全て処理した後、業務フローチャート比較部112は、新業務フローチャートのみに存在するパーティション51のリストを作成する(ステップS311)。
そして、作成したリストからパーティション51を1つ取得する(ステップS312)。ここで、全てのパーティション51を取得済みであれば(ステップS313肯定)、処理を終了させる。
リストからパーティション51を取得できた場合は(ステップS313否定)、種別のプロパティの値を「追加」とした要素変更711を作成し、リストから取得したパーティション51と関連付けた後(ステップS314)、ステップS312に戻って、リストから次のパーティション51の取得を試みる。
図16−1に示した業務フローチャートを図16−2に示した業務フローチャートのように変更した後に図15に示した処理手順が実行されると、業務プロセス337がパーティション214からパーティション215へ移動されているため、プロパティ変更712が作成され、業務プロセス337と関連付けられる。また、パーティション215が追加されているため、種別のプロパティの値を「追加」とした要素変更711が作成され、パーティション215と関連付けられる。
図17は、パーティションに関するもの以外のプロパティが変更された業務プロセスを抽出すべき旨が指示に含まれていた場合の処理手順を示すフローチャートである。同図に示すように、業務フローチャート比較部112は、パーティションに関するもの以外のプロパティが変更された業務プロセスを抽出すべき旨が指示に含まれていると、まず、新旧業務フローチャートのいずれにも存在する業務プロセス522のリストを作成する(ステップS401)。
そして、作成したリストから業務プロセス522を1つ取得する(ステップS402)。ここで、全ての業務プロセス522を取得済みであれば(ステップS403肯定)、新旧業務フローチャートのいずれにも存在する業務プロセス522の処理を完了したことになるので、処理を終了する。
リストから業務プロセス522を取得できた場合は(ステップS403否定)、旧業務フローチャートにおいてその業務プロセス522に設定されているパーティション割当て以外のプロパティと、新業務フローチャートにおいてその業務プロセス522に設定されているパーティション割当て以外のプロパティを比較する(ステップS404)。
そして、両者が同一でなければ(ステップS405否定)、プロパティ変更712を作成し、相違が認められた業務プロセス522と関連付けた後(ステップS406)、ステップS402に戻って、リストから次の業務プロセス522の取得を試みる。両者が同一であれば(ステップS405肯定)、プロパティ変更712を作成することなくステップS402に戻って、リストから次の業務プロセス522の取得を試みる。
図18は、追加、変更もしくは削除された業務データを抽出すべき旨が指示に含まれていた場合の処理手順を示すフローチャートである。同図に示すように、業務フローチャート比較部112は、追加、変更もしくは削除された業務データを抽出すべき旨が指示に含まれていると、まず、新旧業務フローチャートのいずれにも存在する業務プロセス522のリストを作成する(ステップS501)。
そして、作成したリストから業務プロセス522を1つ取得する(ステップS502)。ここで、全ての業務プロセス522を取得済みであれば(ステップS503肯定)、新旧業務フローチャートのいずれにも存在する業務プロセス522の処理を完了したことになるので、ステップS507へ遷移して、旧業務フローチャートのみに存在する業務プロセス522に関連付けられている業務データ523の処理に移る。
リストから業務プロセス522を取得できた場合は(ステップS503否定)、旧業務フローチャートにおいてその業務プロセス522と関連付けられている業務データ523と、新業務フローチャートにおいてその業務プロセス522と関連付けられている業務データ523を比較する(ステップS504)。
そして、相違が認められれば(ステップS505肯定)、相違内容に対応した要素変更711を作成し、相違が認められた業務データ523と関連付けた後(ステップS506)、ステップS502に戻って、リストから次の業務プロセス522の取得を試みる。相違が認められなければ(ステップS505否定)、要素変更711を作成することなくステップS502に戻って、リストから次の業務プロセス522の取得を試みる。
こうして、新旧業務フローチャートのいずれにも存在する業務プロセス522を全て処理した後、業務フローチャート比較部112は、旧業務フローチャートのみに存在する業務プロセス522に関連付けられている業務データ523のリストを作成する(ステップS507)。
そして、作成したリストから業務データ523を1つ取得する(ステップS508)。ここで、全ての業務データ523を取得済みであれば(ステップS509肯定)、旧業務フローチャートのみに存在する業務プロセス522に関連付けられている業務データ523の処理を完了したことになるので、ステップS511へ遷移して、新業務フローチャートのみに存在する業務プロセス522に関連付けられている業務データ523の処理に移る。
リストから業務データ523を取得できた場合は(ステップS509否定)、種別のプロパティの値を「削除」とした要素変更711を作成し、リストから取得した業務データ523と関連付けた後(ステップS510)、ステップS508に戻って、リストから次の業務データ523の取得を試みる。
こうして、旧業務フローチャートのみに存在する業務プロセス522に関連付けられている業務データ523を全て処理した後、業務フローチャート比較部112は、新業務フローチャートのみに存在する業務プロセス522に関連付けられている業務データ523のリストを作成する(ステップS511)。
そして、作成したリストから業務データ523を1つ取得する(ステップS512)。ここで、全ての業務データ523を取得済みであれば(ステップS513肯定)、処理を終了させる。
リストから業務データ523を取得できた場合は(ステップS513否定)、種別のプロパティの値を「追加」とした要素変更711を作成し、リストから取得した業務データ523と関連付けた後(ステップS514)、ステップS512に戻って、リストから次の業務データ523の取得を試みる。
図19−1に示した業務フローチャートを図19−2に示した業務フローチャートのように変更した後に図18に示した処理手順が実行されると、業務データ352と業務データ353が削除されているため、種別のプロパティの値を「削除」とした要素変更711が2つ作成され、一方は業務データ352と関連付けられ、他方は業務データ353と関連付けられる。また、業務データ354が追加されているため、種別のプロパティの値を「追加」とした要素変更711が作成され、業務データ354と関連付けられる。
図20は、追加、変更もしくは削除されたリスクと統制を抽出すべき旨が指示に含まれていた場合の処理手順を示すフローチャートである。同図に示すように、業務フローチャート比較部112は、追加、変更もしくは削除されたリスクと統制を抽出すべき旨が指示に含まれていると、まず、新旧業務フローチャートのいずれにも存在する業務プロセス522のリストを作成する(ステップS601)。
そして、作成したリストから業務プロセス522を1つ取得する(ステップS602)。ここで、全ての業務プロセス522を取得済みであれば(ステップS603肯定)、新旧業務フローチャートのいずれにも存在する業務プロセス522の処理を完了したことになるので、ステップS607へ遷移して、旧業務フローチャートのみに存在する業務プロセス522に関連付けられているリスク524および統制525の処理に移る。
リストから業務プロセス522を取得できた場合は(ステップS603否定)、旧業務フローチャートにおいてその業務プロセス522と関連付けられているリスク524および統制525と、新業務フローチャートにおいてその業務プロセス522と関連付けられているリスク524および統制525を比較する。この比較においては、フロー532が関連付けているリスク524と統制525の組み合わせが同一であるか否かも確認する(ステップS604)。
そして、相違が認められれば(ステップS605肯定)、相違内容に対応した要素変更711を作成し、相違が認められたリスク524、統制525またはフロー532と関連付けた後(ステップS606)、ステップS602に戻って、リストから次の業務プロセス522の取得を試みる。相違が認められなければ(ステップS605否定)、要素変更711を作成することなくステップS602に戻って、リストから次の業務プロセス522の取得を試みる。
こうして、新旧業務フローチャートのいずれにも存在する業務プロセス522を全て処理した後、業務フローチャート比較部112は、旧業務フローチャートのみに存在する業務プロセス522に関連付けられているリスク524および統制525のリストを作成する(ステップS607)。
そして、作成したリストからリスク524または統制525を1つ取得する(ステップS608)。ここで、全てのリスク524および統制525を取得済みであれば(ステップS609肯定)、旧業務フローチャートのみに存在する業務プロセス522に関連付けられているリスク524および統制525の処理を完了したことになるので、ステップS611へ遷移して、新業務フローチャートのみに存在する業務プロセス522に関連付けられているリスク524および統制525の処理に移る。
リストからリスク524または統制525を取得できた場合は(ステップS609否定)、種別のプロパティの値を「削除」とした要素変更711を作成し、リストから取得したリスク524または統制525と関連付けた後(ステップS610)、ステップS608に戻って、リストから次のリスク524または統制525の取得を試みる。
こうして、旧業務フローチャートのみに存在する業務プロセス522に関連付けられているリスク524および統制525を全て処理した後、業務フローチャート比較部112は、新業務フローチャートのみに存在する業務プロセス522に関連付けられているリスク524および統制525のリストを作成する(ステップS611)。
そして、作成したリストからリスク524または統制525を1つ取得する(ステップS612)。ここで、全てのリスク524および統制525を取得済みであれば(ステップS613肯定)、処理を終了させる。
リストからリスク524または統制525を取得できた場合は(ステップS613否定)、種別のプロパティの値を「追加」とした要素変更711を作成し、リストから取得したリスク524または統制525と関連付けた後(ステップS614)、ステップS612に戻って、リストから次のリスク524または統制525の取得を試みる。
図21−1に示した業務フローチャートを図21−2に示した業務フローチャートのように変更した後に図20に示した処理手順が実行されると、「C1」という名の統制525と関連付けられていたリスク362が削除されているため、種別のプロパティの値を「削除」とした要素変更711が2つ作成され、一方はリスク362と関連付けられ、他方は、リスク362と統制を関連付けていたフロー393と関連付けられる。また、フロー395を介してリスク363に「C2」という名の統制525が新たに関連付けられているため、種別のプロパティの値を「追加」とした要素変更711が作成され、フロー395と関連付けられる。
図22は、追加、変更もしくは削除されたサブフローを抽出すべき旨が指示に含まれていた場合の処理手順を示すフローチャートである。同図に示すように、業務フローチャート比較部112は、追加、変更もしくは削除されたサブフローを抽出すべき旨が指示に含まれていると、まず、新旧業務フローチャートのいずれにも存在するサブフロー521のリストを作成する(ステップS701)。
そして、作成したリストからサブフロー521を1つ取得する(ステップS702)。ここで、全てのサブフロー521を取得済みであれば(ステップS703肯定)、新旧業務フローチャートのいずれにも存在するサブフロー521の処理を完了したことになるので、ステップS707へ遷移して、旧業務フローチャートのみに存在するサブフロー521の処理に移る。
リストからサブフロー521を取得できた場合は(ステップS703否定)、旧業務フローチャートにおいてそのサブフロー521によって代替されている業務フローチャートの内容と、新業務フローチャートにおいてそのサブフロー521によって代替されている業務フローチャートの内容を比較する(ステップS704)。
そして、相違が認められれば(ステップS705肯定)、種別のプロパティの値を「変更」とした要素変更711を作成し、リストから取得したサブフロー521と関連付けた後(ステップS706)、ステップS702に戻って、リストから次のサブフロー521の取得を試みる。相違が認められなければ(ステップS705否定)、要素変更711を作成することなくステップS702に戻って、リストから次のサブフロー521の取得を試みる。
こうして、新旧業務フローチャートのいずれにも存在するサブフロー521を全て処理した後、業務フローチャート比較部112は、旧業務フローチャートのみに存在するサブフロー521のリストを作成する(ステップS707)。
そして、作成したリストからサブフロー521を1つ取得する(ステップS708)。ここで、全てのサブフロー521を取得済みであれば(ステップS709肯定)、旧業務フローチャートのみに存在するサブフロー521の処理を完了したことになるので、ステップS711へ遷移して、新業務フローチャートのみに存在するサブフロー521の処理に移る。
リストからサブフロー521を取得できた場合は(ステップS709否定)、種別のプロパティの値を「削除」とした要素変更711を作成し、リストから取得したサブフロー521と関連付けた後(ステップS710)、ステップS708に戻って、リストから次のサブフロー521の取得を試みる。
こうして、旧業務フローチャートのみに存在するサブフロー521を全て処理した後、業務フローチャート比較部112は、新業務フローチャートのみに存在するサブフロー521のリストを作成する(ステップS711)。
そして、作成したリストからサブフロー521を1つ取得する(ステップS712)。ここで、サブフロー521を取得済みであれば(ステップS713肯定)、処理を終了させる。
リストからサブフロー521を取得できた場合は(ステップS713否定)、種別のプロパティの値を「追加」とした要素変更711を作成し、リストから取得したサブフロー521と関連付けた後(ステップS714)、ステップS712に戻って、リストから次のサブフロー521の取得を試みる。
図23は、上位の業務フローチャートと、サブフローが示す下位の業務フローチャートを一体の業務フローチャートとみなし、その間での業務プロセス等の要素の移動を無視すべき旨が指示に含まれていた場合の処理手順を示すフローチャートである。
業務フローチャート比較部112は、サブフローが示す下位の業務フローチャートを一体の業務フローチャートとみなし、その間での業務プロセス等の要素の移動を無視すべき旨が指示に含まれていると、上記の各処理手順を実行する前に、旧業務フローチャートのコピーを作成し(ステップS801)、業務フローチャート合成部113に指示して、コピーした業務フローチャートにおいてサブフロー521が代替している業務フローチャートを読み込ませ、サブフロー521と置き換えさせる(ステップS802)。
そして、新業務フローチャートのコピーを作成し(ステップS803)、業務フローチャート合成部113に指示して、コピーした業務フローチャートにおいてサブフロー521が代替している業務フローチャートを読み込ませ、サブフロー521と置き換えさせる(ステップS804)。
こうして、下位の業務フローチャートが一体化された新旧業務フローチャートのコピーを作成した後、業務フローチャート比較部112は、新旧業務フローチャートのコピーを比較対象として、与えられた指示にしたがって上記の各処理手順を実行して業務フローチャートを比較する(ステップS805)。
そして、作成された要素変更711とプロパティ変更712を参照し、サブフロー521によって代替されていた部分に相違があれば、種別のプロパティの値を「変更」とした要素変更711を作成し、その部分を代替していたサブフロー521と関連付ける(ステップS806)。そして、作成した業務フローチャートのコピーを削除して処理を終了する(ステップS807)。
図24は、旧業務フローチャート表示処理の処理手順を示すフローチャートである。同図に示すように、業務フローチャート表示部114は、旧業務フローチャートの表示を求められると、まず、旧業務フローチャートに含まれる各種Element61(業務プロセス522等)を表示する(ステップS901)。
そして、新旧業務フローチャートの比較結果に相当する変更リスト70からプロパティ変更712を1つ取得する(ステップS902)。プロパティ変更712を取得できた場合は(ステップS903否定)、取得したプロパティ変更712に関連付けられているElement61の表示に相違内容を示す記号を付加した後(ステップS904)、ステップS902に戻って次のプロパティ変更712の取得を試みる。全てのプロパティ変更712を取得済みであった場合は(ステップS903肯定)、ステップS905に遷移する。
こうして、全てのプロパティ変更712を表示に反映させた後、業務フローチャート表示部114は、新旧業務フローチャートの比較結果に相当する変更リスト70から種別のプロパティの値が「削除」または「変更」である要素変更711を1つ取得する(ステップS905)。
要素変更711を取得できた場合は(ステップS906否定)、取得した要素変更711に関連付けられているElement61の表示に相違内容を示す記号を付加した後(ステップS907)、ステップS905に戻って次の要素変更711の取得を試みる。全ての要素変更711を取得済みであった場合は(ステップS906肯定)、改善点を表示すべき旨が指示に含まれていれば(ステップS908肯定)、改善点表示処理を実行し(ステップS909)、含まれていなければ(ステップS908否定)、そのまま処理を終了させる。
図25は、新業務フローチャート表示処理の処理手順を示すフローチャートである。同図に示すように、業務フローチャート表示部114は、新業務フローチャートの表示を求められると、まず、新業務フローチャートに含まれる各種Element61(業務プロセス522等)を表示する(ステップS1001)。
そして、新旧業務フローチャートの比較結果に相当する変更リスト70からプロパティ変更712を1つ取得する(ステップS1002)。プロパティ変更712を取得できた場合は(ステップS1003否定)、取得したプロパティ変更712に関連付けられているElement61の表示に相違内容を示す記号を付加した後(ステップS1004)、ステップS1002に戻って次のプロパティ変更712の取得を試みる。全てのプロパティ変更712を取得済みであった場合は(ステップS1003肯定)、ステップS1005に遷移する。
こうして、全てのプロパティ変更712を表示に反映させた後、業務フローチャート表示部114は、新旧業務フローチャートの比較結果に相当する変更リスト70から種別のプロパティの値が「追加」または「変更」である要素変更711を1つ取得する(ステップS1005)。
要素変更711を取得できた場合は(ステップS1006否定)、取得した要素変更711に関連付けられているElement61の表示に相違内容を示す記号を付加した後(ステップS1007)、ステップS1005に戻って次の要素変更711の取得を試みる。全ての要素変更711を取得済みであった場合は(ステップS1006肯定)、改善点を表示すべき旨が指示に含まれていれば(ステップS1008肯定)、改善点表示処理を実行し(ステップS1009)、含まれていなければ(ステップS1008否定)、そのまま処理を終了させる。
図26は、改善点表示処理の処理手順を示すフローチャートである。同図に示すように、業務フローチャート表示部114は、改善点を表示すべき旨が指示に含まれていると、まず、業務フローチャート50がもつ改善内容のプロパティを確認し(ステップS1101)、何らかの記述があれば(ステップS1102肯定)、業務フローチャートに改善点がある旨を表示する(ステップS1103)。
続いて、業務フローチャート表示部114は、業務フローチャートから業務プロセス522を1つ取得する(ステップS1104)。そして、取得できた場合は(ステップS1105否定)、業務プロセス522がもつ改善内容のプロパティを確認し(ステップS1106)、何らかの記述があれば(ステップS1107肯定)、業務プロセス522に改善点がある旨を表示した後(ステップS1108)、ステップS1104に戻って次の業務プロセス522の取得を試みる。何の記述もなかった場合は(ステップS1107否定)、そのままステップS1104に戻って次の業務プロセス522の取得を試みる。ステップS1104において全ての業務プロセス522を取得済みであれば(ステップS1105肯定)、処理を終了させる。
なお、上記の実施例では、業務フローチャートの比較から、比較結果を反映させた業務フローチャートの表示までを一連の処理として実行しているが、業務フローチャートの比較と、比較結果を反映させた業務フローチャートの表示を独立して実行できるように構成してもよい。
また、上記の実施例では、業務フローチャートの相違点を明らかにするために、相違箇所に相違内容を示す記号を付しているが、相違箇所の色を変更する等の他の手法をもちいて、あるいは、組み合わせて、業務フローチャートの相違点を明らかにするように構成してもよい。
また、図5に示した本実施例に係る業務フローチャート比較装置100の構成は、本発明の要旨を逸脱しない範囲で種々に変更することができる。例えば、業務フローチャート比較装置100の制御部110の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、業務フローチャート比較装置100と同等の機能を実現することもできる。以下に、制御部110の機能をソフトウェアとして実装した業務フローチャート比較プログラム1071を実行するコンピュータの一例を示す。
図27は、業務フローチャート比較プログラム1071を実行するコンピュータ1000を示す機能ブロック図である。このコンピュータ1000は、各種演算処理を実行するCPU(Central Processing Unit)1010と、ユーザからのデータの入力を受け付ける入力装置1020と、各種情報を表示するモニタ1030と、記録媒体からプログラム等を読み取る媒体読取り装置1040と、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース装置1050と、各種情報を一時記憶するRAM(Random Access Memory)1060と、ハードディスク装置1070とをバス1080で接続して構成される。
そして、ハードディスク装置1070には、図5に示した制御部110と同様の機能を有する業務フローチャート比較プログラム1071と、図5に示した記憶部120に記憶される各種データに対応する業務フローチャート比較用データ1072とが記憶される。なお、業務フローチャート比較用データ1072を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
そして、CPU1010が業務フローチャート比較プログラム1071をハードディスク装置1070から読み出してRAM1060に展開することにより、業務フローチャート比較プログラム1071は、業務フローチャート比較プロセス1061として機能するようになる。そして、業務フローチャート比較プロセス1061は、業務フローチャート比較用データ1072から読み出した情報等を適宜RAM1060上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
なお、上記の業務フローチャート比較プログラム1071は、必ずしもハードディスク装置1070に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておき、コンピュータ1000がこれらからプログラムを読み出して実行するようにしてもよい。