(57)【要約】【課題】業務情報システムの設計内容を効率的に検証する。【解決手段】システム設計検証装置に関する。システム設計検証装置は、順序関係にあるジョブの組合せを示すジョブ関係情報と、ジョブファイルデータとその関連ジョブを示すデータ関係情報を保持する。検証対象となるジョブファイルの関連ジョブが第１ジョブと第２ジョブであるとすると、第１ジョブのアクセス種別と第２ジョブのアクセス種別の組み合わせから第１ジョブと第２ジョブの間の順序関係が必要かを判定する。順序関係が必要であれば、ジョブ関係情報において第１ジョブと第２ジョブの間に順序関係が成立しているかを確認する。【選択図】図５
2008257410.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブの間において、前段にあたるジョブの実行終了を条件として後段にあたるジョブが実行される順序関係にあるジョブの組合せを示すジョブ関係情報を取得するジョブ関係情報取得部と、
中間データへの書き込みを実行するジョブおよび前記中間データからの読み出しを実行するジョブを前記中間データの関連ジョブとして、複数種類の中間データそれぞれについての関連ジョブを示すデータ関係情報を取得するデータ関係情報取得部と、
前記データ関係情報を参照して検証対象となる中間データを順次選択し、前記検証対象となる中間データの関連ジョブが第１のジョブと第２のジョブであるとき、前記検証対象となる中間データに対する前記第１のジョブのアクセス種別と前記第２のジョブのアクセス種別の組合せから前記第１のジョブと前記第２のジョブの間の順序関係の要否を判定する順序要否判定部と、
前記第１のジョブと前記第２のジョブの間に順序関係が必要と判定されたとき、前記ジョブ関係情報において前記第１のジョブと前記第２のジョブの間に順序関係が成立しているかを判定することにより、前記ジョブ関係情報と前記データ関係情報の整合性を判定する整合判定部と、
を備えることを特徴とするシステム設計検証装置。
【請求項２】
前記順序要否判定部は、前記第１のジョブが前記検証対象となる中間データに対する書き込みを実行し前記第２のジョブが前記検証対象となる中間データに対する読み出しを実行するとき、前記第１のジョブと前記第２のジョブの間に順序関係が必要と判定することを特徴とする請求項１に記載のシステム設計検証装置。
【請求項３】
前記順序要否判定部は、前記第１のジョブと前記第２のジョブが共に前記検証対象となる中間データに対する書き込みを実行するとき、前記第１のジョブと前記第２のジョブの間に順序関係が必要と判定することを特徴とする請求項１に記載のシステム設計検証装置。
【請求項４】
前記順序要否判定部は、前記第１のジョブと前記第２のジョブが共に前記検証対象となる中間データに対する読み出しを実行するとき、前記第１のジョブと前記第２のジョブの間に順序関係が不要と判定することを特徴とする請求項１に記載のシステム設計検証装置。
【請求項５】
複数のジョブの間において、前段にあたるジョブの実行終了を条件として後段にあたるジョブが実行される順序関係にあるジョブの組合せを示すジョブ関係情報を保持する機能と、
中間データへの書き込みを実行するジョブおよび前記中間データからの読み出しを実行するジョブを前記中間データの関連ジョブとして、複数種類の中間データそれぞれについての関連ジョブを示すデータ関係情報を保持する機能と、
前記データ関係情報を参照して検証対象となる中間データを順次選択する機能と、
前記検証対象となる中間データの関連ジョブが第１のジョブと第２のジョブであるとき、前記検証対象となる中間データに対する前記第１のジョブのアクセス種別と前記第２のジョブのアクセス種別の組合せから前記第１のジョブと前記第２のジョブの間の順序関係の要否を判定する機能と、
前記第１のジョブと前記第２のジョブの間に順序関係が必要と判定されたとき、前記ジョブ関係情報において前記第１のジョブと前記第２のジョブの間に順序関係が成立しているかを判定することにより、前記ジョブ関係情報と前記データ関係情報の整合性を判定する機能と、
をコンピュータに発揮させることを特徴とするシステム設計検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、業務情報システムに関連し、特に、業務情報システムの設計内容を検証するための技術、に関する。
【背景技術】
【０００２】
企業や公共施設などの運用を支える業務情報システム、いわゆるエンタープライズシステム（Enterprise System）は、今や、大小さまざまな組織の基盤となっている。業務情報システムは、ノード端末やデータベースから得られるデータを集計、蓄積、解析、加工した上でより付加価値の高い情報を出力することにより、複雑化する組織マネジメントを支えている。
【０００３】
業務情報システムは、ジョブの集合体としてモデリングされることが多い。ジョブとは、データベースの更新処理や、各ノード端末から得られたデータに対する演算処理など、システムにおいて基本的な実行単位となる処理である。
【０００４】
これらのジョブの間には、前段にあたるジョブの実行が完了してから後段にあたるジョブの実行が開始されるという順序関係がある。たとえば、ジョブ１の実行結果に基づいて、ジョブ２とジョブ３が実行されるとする。このとき、ジョブ１とジョブ２、ジョブ１とジョブ３の間には順序関係が成立する。一方、ジョブ２とジョブ３の間には順序関係が成立しない。
【０００５】
業務情報システムは、概ね
１．システム全体を機能に応じて複数のモジュールに分解
２．モジュールごとに、各モジュールの機能を実現するジョブの処理内容と実行条件を定義
３．ＪＣＬ（Job Control Language）などのプログラミング言語によりジョブを実装
４．モジュールを連結
というプロセスを経て開発されることが多い。
【特許文献１】特開２００２−３５８２２４号公報
【特許文献２】特開２００６−２６８５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ジョブ３がファイルＡにデータを書き込んだあとに、ジョブ４がファイルＡからそのデータを読み出して実行されるという実装の場合、ジョブ３とジョブ４の間には順序関係が成立していなければならない。順序関係が成立していなければ、ジョブ４は、ジョブ３がファイルＡに書き込む前の古いデータに基づいて実行されてしまうかもしれない。ジョブ３の実行完了がジョブ４の実行条件となるように設計されていれば、このような問題の発生を未然に防ぐことができる。しかし、ジョブ４に上記実行条件が設定されていなければ、結果として、業務情報システムの動作が不安定になってしまう。
【０００７】
このように、業務情報システムを安定的に動作させるためには、業務情報システムの設計後に、設計上定義されている順序関係と運用上必要とされる順序関係が整合しているか検証する必要がある。しかし、業務情報システムの複雑・大規模化により、全てのジョブの実行条件を把握するのがますます困難になってきている。
【０００８】
本発明は、上記課題に基づいて完成された発明であり、その主たる目的は、業務情報システムの設計内容を効率的に検証するための技術、を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のある態様は、システム設計検証装置に関する。
この装置は、順序関係にあるジョブの組合せを示すジョブ関係情報と、複数種類の中間データそれぞれについての関連ジョブを示すデータ関係情報とをそれぞれ取得する。
この装置は、データ関係情報を参照して検証対象となる中間データを順次選択し、検証対象となる中間データの関連ジョブが第１のジョブと第２のジョブであるとき、検証対象となる中間データに対する第１のジョブのアクセス種別と第２のジョブのアクセス種別の組み合わせから第１のジョブと第２のジョブの間の順序関係の要否を判定し、順序関係が必要であれば、ジョブ関係情報において第１のジョブと第２のジョブの間に順序関係が成立しているかを確認する。これにより、ジョブ関係情報とデータ関係情報のの整合性を判定する。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明を方法、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、業務情報システムの設計内容の検証に要する作業負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１２】
図１は、業務情報システム２２０のハードウェア構成図である。
業務情報システム２２０は、企業や公共施設のような組織の業務管理のために導入されるシステムである。業務情報システム２２０は、地理的に分散された複数の組織を統合するシステムとして構成されてもよい。
【００１３】
本実施例における業務情報システム２２０は、ジョブ管理装置２３０、ジョブ実行装置群２００および外部記憶装置２１０を含む。
ジョブ管理装置２３０は、各ジョブについて設定されている実行条件に基づいて、複数のジョブをジョブ実行装置群２００に実行させる。ジョブ実行装置群２００は、複数のジョブ実行装置２０２を含む。各ジョブ実行装置２０２は、ジョブ管理装置２３０から割り当てられたジョブを実行する。ジョブ管理装置２３０は、あらかじめ定められた割当ルールに応じて、いずれかのジョブ実行装置２０２にジョブを割り当ててもよい。あるいは、各ジョブ実行装置２０２の処理負荷が分散するように、他のジョブ実行装置２０２よりも処理負荷が軽い状態にあるジョブ実行装置２０２に対して優先的にジョブを割り当ててもよい。
ジョブ実行のためのプログラムデータはあらかじめジョブ実行装置２０２が保持してもよい。あるいは、ジョブ実行指示に際してジョブ管理装置２３０からジョブ実行装置２０２にプログラムデータがダウンロードされてもよい。ジョブ実行装置２０２は、ジョブの実行状態をジョブ管理装置２３０に通知する。
【００１４】
外部記憶装置２１０は、業務のさまざまなデータを保存する。ジョブ実行装置２０２は、ジョブの実行に際して、外部記憶装置２１０とデータを送受する。また、ジョブ実行装置２０２は、外部記憶装置２１０から取得したデータや図示しないデータベースから取得したデータに基づいてジョブを実行する。
【００１５】
まとめると、外部記憶装置２１０のデータを変数として、ジョブ実行装置２０２はさまざまなジョブを実行する。ジョブ管理装置２３０は、各ジョブの実行条件に基づいてジョブの実行タイミングを制御する。このように、外部記憶装置２１０から得られるデータに基づいて、複数のジョブが定期的に実行されることにより、業務情報システム２２０全体の運用がなされている。
なお、ジョブ管理装置２３０、ジョブ実行装置群２００および外部記憶装置２１０は通信ネットワークにより互いに接続されている。
【００１６】
ジョブは、実行に際してさまざまなファイルに対する「書き込み（ＷＲ）」や「読み出し（ＲＤ）」を実行する。以下、ジョブのアクセス対象となるファイルのことを「ジョブファイル」とよぶ。システム設計検証装置１００は、ジョブファイルに対するアクセス種別と各ジョブの実行条件とを比較することにより、運用上必要とされる順序関係と設計上定義されている順序関係が整合しているかを検証するための装置である。
【００１７】
図２は、複数のジョブの実行条件を有向グラフ形式にて示す図である。
ここでは、ジョブ１〜ジョブ７の順序関係を有向グラフ形式にて示している。ジョブ１とジョブ３は、他のジョブの実行状態に依存することなく実行可能である。一方、ジョブ２の実行条件は、ジョブ１の実行完了である（以下、単に「実行完了」というときには「正常な実行完了」を意味するものとする）。ジョブ４の実行条件は、ジョブ１とジョブ３の双方の実行完了である。ジョブ２は、ジョブ１が実行完了しなければ実行できないが、ジョブ３やジョブ４の実行状態には依存しない。すなわち、ジョブ１とジョブ２、ジョブ１とジョブ４、ジョブ３とジョブ４の間には順序関係が成立しているが、ジョブ２とジョブ３、ジョブ２とジョブ４の間には順序関係が成立していない。他のジョブの間でも同様にして順序関係が設定されている。
【００１８】
ジョブは、さまざまなジョブファイルにアクセスする。なお、ジョブのアクセス対象となるデータは必ずしもファイル形式のデータである必要はなく、オブジェクト指向言語においてメモリ上に展開される「オブジェクト」であってもよい。本実施例においては、ジョブのアクセス対象となるデータは、全てジョブファイルとしてファイル化されるものとして説明する。
【００１９】
ジョブ１はあるジョブファイルＡに処理結果を書き込み、ジョブ２はこのジョブファイルＡからジョブ１の処理結果を読み出して自処理を実行するかもしれない。更に、ジョブ２は別のジョブファイルＢに処理結果を書き込むかもしれない。ジョブは、ジョブファイルを介して別のジョブにデータを渡す。ジョブファイルは、外部端末にて画面表示されたり、図示しないデータベースに保存されることもある。
【００２０】
以下、「ジョブ１の実行完了」を実行条件とするジョブ２のことを、ジョブ１の「子ジョブ」とよぶ。また、ジョブ１のことをジョブ２の「親ジョブ」とよぶ。同図の場合、ジョブ４はジョブ１とジョブ３の子ジョブである。ジョブ１はジョブ２とジョブ４の親ジョブである。ジョブ５は、直接的にはジョブ４の子ジョブであり、間接的にはジョブ１やジョブ３の子ジョブである。以下、ジョブ４に対するジョブ５のように、あるジョブに対する直接的な子ジョブのことを「狭義の子ジョブ」とよぶ。また、ジョブ１やジョブ３に対するジョブ５のように、あるジョブに対する間接的な子ジョブまで含めていうときには「広義の子ジョブ」とよぶ。本明細書においては、特に断らないかぎり、単に「子ジョブ」というときには「広義の子ジョブ」を指す。
【００２１】
ジョブ管理装置２３０は、ジョブの実行条件を判定しながら、実行可能なジョブをジョブ実行装置２０２に次々と実行させる。こうして、業務情報システム２２０全体としての処理が実行されることになる。
以下、図２に示した７つのジョブとその順序関係に基づいて説明する。
【００２２】
図３は、システム設計検証装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
ここでは、主として各機能ブロックの発揮すべき機能について述べ、その具体的な作用については、図４以降に関連して説明する。
【００２３】
システム設計検証装置１００は、ユーザインタフェース処理部１１０、データ処理部１２０およびデータ格納部１３０を含む。
ユーザインタフェース処理部１１０は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。
データ処理部１２０は、ユーザインタフェース処理部１１０から取得されたデータをもとにして各種のデータ処理を実行する。データ処理部１２０は、ユーザインタフェース処理部１１０とデータ格納部１３０の間のインタフェースの役割も果たす。
データ格納部１３０は、あらかじめ用意された各種の設定データや、データ処理部１２０から受け取ったデータを格納する。
【００２４】
ユーザインタフェース処理部１１０は、入力部１１２と表示部１１４を含む。入力部１１２は、ユーザからの入力操作を受け付ける。また、設計として定義されているジョブの順序関係を示す「ジョブ関係情報」や、ジョブファイルに対するジョブのアクセス種別を示す「データ関係情報」を取得する。いずれについても後述する。なお、本実施例におけるアクセス種別は、「書き込み」と「読み出し」のいずれかである。ジョブファイルの「生成」も「書き込み」の一種として含めてもよい。表示部１１４は、ユーザに対して各種情報を表示する。
【００２５】
データ格納部１３０は、ジョブ関係情報保持部１３２、データ関係情報保持部１３４および順序規則保持部１３６を含む。
ジョブ関係情報保持部１３２はジョブ関係情報を保持する。ジョブ関連情報は、複数のジョブの実行条件により順序関係を示す。システム開発者は、システム設計段階においてジョブ関係情報を定義する。ジョブ関係情報のデータ構造については図４に関連して詳述する。
データ関係情報保持部１３４はデータ関係情報を保持する。データ関係情報は、ジョブファイルにアクセスするジョブとそのアクセス種別を示す情報である。以下、あるジョブファイルＡにアクセスするジョブのことをそのジョブファイルＡの「関連ジョブ」とよぶ。データ関係情報のデータ構造については図５に関連して詳述する。
順序規則保持部１３６は、順序規則情報を保持する。順序規則情報とは、データ関係情報からジョブの順序関係の要否を判定するための規則を示す。順序規則情報については図６に関連して詳述する。
【００２６】
データ処理部１２０は、順序要否判定部１２２と整合判定部１２４を含む。
順序要否判定部１２２は、データ関係情報と順序規則情報を参照して、あるジョブと別のジョブの間に順序関係が必要か判定する。整合判定部１２４は、順序要否判定部１２２により順序関係が必要として判定された２つのジョブについて、ジョブ関係情報においても順序関係が設定されているかを判定する。
【００２７】
図４は、ジョブ関係情報１４０のデータ構造図である。
図４のジョブ関係情報１４０は、図２に図示したジョブ１〜ジョブ７に対応する。第１ジョブ欄１４２と第２ジョブ欄１４４において対応づけられている第１ジョブと第２ジョブの間には、一方が他方の子ジョブとなる順序関係が成立している。
【００２８】
図２のシステム設計図によると、ジョブ２はジョブ１の子ジョブであるため、ジョブ関係情報１４０において対応づけられている。一方、ジョブ１とジョブ３には順序関係がないため、対応づけられていない。「狭義の子ジョブ←親ジョブ」という表現形式で示すと、図２のシステム設計図は、
ジョブ２←ジョブ１
ジョブ４←ジョブ１、ジョブ３
ジョブ５←ジョブ４
ジョブ６←ジョブ４
ジョブ７←ジョブ６
となる。図４のジョブ関係情報１４０は、この親ジョブと子ジョブの関係を模式的に示している。このように、ジョブ関係情報１４０は設計段階におけるジョブの順序関係を示す情報である。また、ジョブ関係情報１４０をグラフ探索することにより、たとえば、ジョブ７←ジョブ６←ジョブ４となるため、ジョブ７とジョブ４の間には広義の親子関係が成立することがわかる。
【００２９】
図５は、データ関係情報１５０のデータ構造図である。
システム開発者は、図２のシステム設計図から図４のジョブ関係情報１４０を定義し、ジョブ関係情報１４０に基づいて各ジョブの処理内容が記述されたジョブ制御プログラムを実装する。データ関係情報１５０は、ジョブファイルと関連ジョブ、関連ジョブのアクセス種別を示す。データ関係情報１５０は、ジョブ制御プログラムにおける各ジョブの実装内容を解析することにより得られる情報である。
【００３０】
データ関係情報１５０によると、ジョブ１からジョブ７の７つのジョブからアクセスされるジョブファイルは、ジョブファイル１からジョブファイル７までの７種類である。実装上においては、ジョブ１はジョブファイル１への書き込こみ処理を実行している。図中おいては「ＷＲ」と表記されている。ジョブ２とジョブ４はどちらもジョブファイル１からデータの読み出しを実行している。図中においては「ＲＤ」と表記されている。すなわち、実装後のジョブ制御プログラムを解析してみると、ジョブファイル１の関連ジョブは「ジョブ１」、「ジョブ２」、「ジョブ３」の３つであることがわかる。
また、ジョブファイル１に対するアクセス種別は、ジョブ１：書き込み、ジョブ２：読み出し、ジョブ４：読み出し、である。このように、データ関係情報１５０は実装段階におけるジョブとジョブファイルの関係を示す情報である。
【００３１】
図６は、順序規則情報１６０のデータ構造図である。
順序要否判定部１２２は、データ関係情報１５０を参照して、あるジョブと別のジョブの間に順序関係が必要か判定する。順序規則情報１６０はそのための判定基準を示す。詳しくは図７のフローチャートに関連して詳述するが、順序要否判定部１２２は、複数のジョブファイルの中から検証対象となるジョブファイルを順次選択する。次に、データ関係情報１５０を参照して、選択したジョブファイルの関連ジョブを特定する。関連ジョブが２以上あるときには、関連ジョブの中から検証対象となる２つのジョブを選択する。そして、この２つのジョブの間に順序関係が成立する必要があるか否かをアクセス種別と順序規則情報１６０に基づいて判定する。
【００３２】
一例として、検証対象としてジョブファイルＡが選択され、その関連ジョブのうち、検証対象となるジョブを第１ジョブ、第２ジョブとすると、その判定条件は、
Ａ：第１ジョブと第２ジョブのうち、一方がジョブファイルＡに書き込みを実行し、他方がジョブファイルＡに読み出しを実行する関係にあるとき：順序関係が必要
Ｂ：第１ジョブと第２ジョブのうち、一方がジョブファイルＡに書き込みを実行し、他方もジョブファイルＡに書き込みを実行する関係にあるとき：順序関係が必要
Ｃ：第１ジョブと第２ジョブのうち、一方がジョブファイルＡに読み出しを実行し、他方もジョブファイルＡに読み出しを実行する関係にあるとき：順序関係は不要
となる。
【００３３】
上記判定条件の理由は以下の通りである。
Ａ：仮に第１ジョブがジョブファイルＡに書き込みを実行し、第２ジョブがジョブファイルＡから読み出しを実行するとする。この場合、第１ジョブの実行完了タイミングと第２ジョブの実行開始タイミングによって、第２ジョブの処理内容が変化する。第１ジョブの実行完了後に第２ジョブが実行開始されるとき、第２ジョブは第１ジョブの処理結果に基づいて処理を実行する。しかし、第１ジョブの実行完了前に第２ジョブが実行開始されるとき、第２ジョブは第１ジョブの処理結果が書き込まれる前の古いデータ、あるいは、書き込み中のデータに基づいて処理を実行することになる。このため、業務情報システム２２０の動作が安定しなくなる可能性がある。
したがって、ジョブファイルＡについてこのような関係にある第１ジョブと第２ジョブの間には、一方の実行完了を条件として他方の実行が開始されるという実行条件、いいかえれば、順序関係が設計として定義されていなければならない。
【００３４】
Ｂ：仮に第１ジョブがジョブファイルＡに書き込みを実行し、第２ジョブもジョブファイルＡに書き込みを実行するとする。この場合、第１ジョブの実行開始・完了タイミングと第２ジョブの実行開始・完了タイミングによって、ジョブファイルＡの内容が変化する。第１ジョブによる書き込み後に第２ジョブによる書き込みが実行されるとき、ジョブファイルＡには最終的に第２ジョブの処理結果が記録される。実行順序が逆であれば、ジョブファイルＡには最終的には第１ジョブの処理結果が記録されることになる。このため、業務情報システム２２０の出力が安定しなくなる可能性がある。
したがって、ジョブファイルＡについてこのような関係にある第１ジョブと第２ジョブの間には、一方の実行完了を条件として他方の実行が開始されるという実行条件、いいかえれば、順序関係が設計として定義されていなければならない。
【００３５】
Ｃ：仮に第１ジョブがジョブファイルＡに読み出しを実行し、第２ジョブもジョブファイルＡに読み出しを実行するとする。この場合、第２ジョブと第１ジョブのいずれが先にジョブファイルＡへの読み出しを実行しても、ジョブファイルＡの内容は変化しないし、第１ジョブと第２ジョブの処理内容は影響を受けない。
したがって、ジョブファイルＡについてこのような関係にある第１ジョブと第２ジョブの間には、必ずしも順序関係が成立していなくてもよい。
【００３６】
なお、ジョブファイルＡに対して書き込みと読み出しの両方を実行する関連ジョブについては、そのアクセス種別を「書き込み」として取り扱う。上記したように、順序関係が必要とされるのは、いずれかの関連ジョブがジョブファイルに書き込みを実行する場合だからである。
【００３７】
図７は、システム設計検証の処理過程を示すフローチャートである。
上記設例に示したジョブ１〜ジョブ７、ジョブファイル１〜ジョブファイル７に関し、ジョブ関係情報１４０、データ関係情報１５０および順序規則情報１６０に基づいて、設計上定義されている順序関係と運用上必要とされる順序関係との整合性を判定する整合検証の処理過程について示す。
【００３８】
まず、順序要否判定部１２２はデータ関係情報１５０に示されるジョブファイル１〜ジョブファイル７のうちから検証対象となるジョブファイルを一つ選択する（Ｓ１０）。次に、順序要否判定部１２２は、データ関係情報１５０を参照して、関連ジョブを２つ選択する（Ｓ１２）。ただし、関連ジョブが２個以上存在しないときには、Ｓ１０にて別のジョブファイルが選択される。
【００３９】
順序要否判定部１２２は、順序規則情報１６０を参照して、選択された２つの関連ジョブの間に順序関係が必要か判定する（Ｓ１４）。
たとえば、図５のデータ関係情報１５０によると、ジョブファイル１の関連ジョブであるジョブ１とジョブ２の場合、ジョブ１が書き込み、ジョブ２が読み出しの関係（上記Ａの関係）にある。したがって、ジョブ１とジョブ２の間には順序関係が必要と判定される。
一方、ジョブファイル１の関連ジョブであるジョブ２とジョブ３の場合、ジョブ２とジョブ３は共に読み出しの関係（上記Ｃの関係）にある。したがって、ジョブ２とジョブ３の間には順序関係は不要である。
ファイル４の関連ジョブであるジョブ２とジョブ４の場合、共に書き込みの関係（上記Ｂの関係）にある。ジョブ２とジョブ４の間には順序関係が必要である。
【００４０】
順序関係が必要でなければ（Ｓ１４のＮ）、処理はＳ２２に移行する。順序関係が必要であれば（Ｓ１４のＹ）、整合判定部１２４は、ジョブ関係情報１４０を参照して、Ｓ１２にて選択された２つの関連ジョブの間に順序関係が設計上定義されているか判定する（Ｓ１６）。順序関係が定義されていなければ（Ｓ１８のＮ）、これら２つの関連ジョブと対応ジョブファイルの名前をエラーファイルに記録する（Ｓ２０）。
【００４１】
一例として、ジョブファイル４の関連ジョブであるジョブ２とジョブ４は、共に書き込みの関係にあるため順序関係が必要であるが、ジョブ関係情報１４０によるとジョブ２とジョブ４の間には順序関係が定義されていない。このため、ジョブ２とジョブ４は、ジョブファイル４に対するアクセスに関連して動作が不安定となる可能性がある。また、ジョブファイル６の関連ジョブであるジョブ２とジョブ６については、ジョブ２が読み出し、ジョブ６が書き込みの関係にあるため順序関係が必要である。しかし、ジョブ関係情報１４０によるとジョブ２とジョブ６の間には順序関係が定義されていない。
【００４２】
Ｓ１０にて選択されたジョブファイルの関連ジョブ群について、全てのジョブの組合せについて検証が完了していなければ（Ｓ２２のＹ）、処理はＳ１２に戻って、新たに検証対象となるジョブの組合せが選択される（Ｓ１２）。たとえば、ジョブファイル１の関連ジョブは、ジョブ１、ジョブ２、ジョブ４なので、検証されるべきジョブの組合せは（ジョブ１、ジョブ２）、（ジョブ１、ジョブ４）および（ジョブ２、ジョブ４）の３種類である。また、ジョブファイル４の関連ジョブは、ジョブ２、ジョブ４、ジョブ５、ジョブ６なので、検証されるべきジョブの組合せは（ジョブ２、ジョブ４）、（ジョブ２、ジョブ５）、（ジョブ２、ジョブ６）、（ジョブ４、ジョブ５）、（ジョブ４、ジョブ６）、（ジョブ５、ジョブ６）の合計６種類となる。
【００４３】
関連ジョブ全ての組合せが検証されると（Ｓ２２のＮ）、順序要否判定部１２２は、まだ検証されていないジョブファイルが存在するかを判定する（Ｓ２４）。未検証のジョブファイルが存在すれば処理はＳ１０に戻り、順序要否判定部１２２は、新たなジョブファイルが選択される（Ｓ１０）。全てのジョブファイルについての検証が完了すると（Ｓ２４のＮ）、処理は終了する。
【００４４】
以上、システム設計検証装置１００を実施例に基づいて説明した。
システム設計検証装置１００によれば、設計時において定義されているジョブの順序関係と、実装から必要性が認識されるジョブの順序関係との整合性を検証できる。特に、ジョブからジョブにデータを渡すタイミングの制御はシステムエラーの温床となりやすい。業務情報システムに含まれるジョブの数が今後ますます増大しても、システム設計検証装置１００はシステムの脆弱な部分を効率的に検出するための仕組みを提供できる。
【００４５】
以上、本発明を実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４６】
請求項に記載の「中間データ」は、本実施例においては「ジョブファイル」として表現されている。
このほかにも、請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【図面の簡単な説明】
【００４７】
【図１】業務情報システムのハードウェア構成図である。
【図２】複数のジョブの実行条件を有向グラフ形式にて示す図である。
【図３】システム設計検証装置の機能ブロック図である。
【図４】ジョブ関係情報のデータ構造図である。
【図５】データ関係情報のデータ構造図である。
【図６】順序規則情報のデータ構造図である。
【図７】システム設計を検証するための処理過程を示すフローチャートである。
【符号の説明】
【００４８】
１００  システム設計検証装置、  １１０  ユーザインタフェース処理部、  １１２  入力部、  １１４  表示部、  １２０  データ処理部、  １２２  順序要否判定部、  １２４  整合判定部、  １３０  データ格納部、  １３２  ジョブ関係情報保持部、  １３４  データ関係情報保持部、  １３６  順序規則保持部、  １４０  ジョブ関係情報、  １４２  第１ジョブ欄、  １４４  第２ジョブ欄、  １４６  順序関係欄、  １５０  データ関係情報、  １６０  順序規則情報、  ２００  ジョブ実行装置群、  ２０２  ジョブ実行装置、  ２１０  外部記憶装置、  ２２０  業務情報システム、  ２３０  ジョブ管理装置。
【図１】
2008257410.tif 000003
【図２】
2008257410.tif 000004
【図３】
2008257410.tif 000005
【図４】
2008257410.tif 000006
【図５】
2008257410.tif 000007
【図６】
2008257410.tif 000008
【図７】
2008257410.tif 000009