(57)【要約】      （修正有）【課題】ビジネスルールの処理時間や修正時間を短縮するための処理順序を決定する。【解決手段】ビジネスルールをビジネスルールテーブル３００に格納するビジネスルール登録部１０１と、ビジネスルールと項目の関連テーブル４００を作成するビジネスルールと項目の関連テーブル作成部１０２と、ビジネスルールをグループ化し、分類するビジネスルール分類部１０３と、ビジネスルールのグループに対して、グループごとにルール実行処理の優先順位を決定するグループ間処理順序決定部１０４と、ビジネスルール毎の関連ルール数を算出するビジネスルール毎の関連ルール数算出部１０５と、関連ルール数の大きい順に、同一グループ内のルール処理順序を決定するグループ内ビジネスルール処理順序決定部１０６で構成する。【選択図】図１
2010271883.tif 000002
【特許請求の範囲】
【請求項１】
特定のデータ項目に対するチェック規則を記述したルールを用いてシステム設計を支援するルール設計支援装置におけるルール設計支援方法であって、
前記ルール設計支援装置は、データを記憶する記憶部と、データに対して演算処理を行う演算部と、を備え、
前記ルール設計支援装置の演算部が、
特定のデータ項目に対するチェック規則を定義した複数のルールを前記記憶部に記憶するステップと、
前記記憶部に記憶された前記ルールと前記ルールが使用するデータ項目との関係を示す、ルールおよびデータ項目の関連テーブルを生成するステップと、
前記関連テーブルを用いて前記複数のルールを複数のグループに分類するステップと、
前記分類した複数のグループの処理の実行順序を、前記グループに含まれるルールの数に基づいて設定するステップと、
前記複数のグループのうちのそれぞれのグループに含まれるルールの実行順序を、前記グループに含まれる複数のルールが使用するデータ項目の参照数に基づいて設定するステップと、
を実行することを特徴とするルール設計支援方法。
【請求項２】
請求項１記載のルール設計支援方法であって、
前記それぞれグループに含まれるルールの数が多い順に、前記複数のグループの処理の実行順序を設定することを特徴とするルール設計支援方法。
【請求項３】
請求項１または２記載のルール設計支援方法であって、
前記それぞれのグループに含まれる複数のルールが使用するデータ項目の使用数が多い順に、前記グループに含まれるルールの実行順序を設定することを特徴とするルール設計支援方法。
【請求項４】
請求項３記載のルール設計支援方法であって、
前記ルールが使用するデータ項目を使用する、他のルールの数の合計を関連ルール数として算出し、前記関連ルール数が多い順に、前記グループに含まれるルールの実行順序を設定することを特徴とするルール設計支援方法。
【請求項５】
請求項４記載のルール設計支援方法であって、
前記関連ルール数が同数である場合には、前記ルールで使用されるデータ項目の数が多い順に、前記グループに含まれるルールの実行順序を設定することを特徴とするルール設計支援方法。
【請求項６】
請求項１から５のいずれか記載のルール設計支援方法であって、
それぞれのルールが使用するデータ項目を他のルールが使用している場合には、当該ルールと当該他のルールを同じグループとして分類することを特徴とするルール設計支援方法。
【請求項７】
請求項１から６のいずれか記載のルール設計支援方法であって、
前記それぞれのルールが使用するデータ項目を他のルールが使用している場合に当該ルールと当該他のルールを同じグループとして分類することを繰り返し、複数のルールで共通して使用されるデータ項目を備える当該複数のルールを同じグループとして分類することを特徴とするルール設計支援方法。
【請求項８】
請求項１から７のいずれか記載のルール設計支援方法であって、
前記設定されたグループの実行順序および前記設定されたルールの実行順序に従って、前記それぞれのルールの処理を実行することを特徴とするルール設計支援方法。
【請求項９】
特定のデータ項目に対するチェック規則を記述したルールを用いてシステム設計を支援するルール設計支援装置であって、
データを記憶する記憶部と、前記データに対して演算処理を行う演算部と、を備え、
前記演算部が、
特定のデータ項目に対するチェック規則を定義した複数のルールを前記記憶部に記憶し、
前記記憶部に記憶された前記ルールと前記ルールが使用するデータ項目との関係を示す、ルールおよびデータ項目の関連テーブルを生成し、
前記関連テーブルを用いて前記複数のルールを複数のグループに分類し、
前記分類した複数のグループの処理の実行順序を、前記グループに含まれるルールの数に基づいて設定し、
前記複数のグループのうちのそれぞれのグループに含まれるルールの実行順序を、前記グループに含まれる複数のルールが使用するデータ項目の参照数に基づいて設定することを特徴とするルール設計支援装置。
【請求項１０】
請求項９記載のルール設計支援装置であって、
前記演算部は、前記それぞれグループに含まれるルールの数が多い順に、前記複数のグループの処理の実行順序を設定することを特徴とするルール設計支援装置。
【請求項１１】
請求項９または１０記載のルール設計支援装置であって、
前記演算部は、前記それぞれのグループに含まれる複数のルールが使用するデータ項目の使用数が多い順に、前記グループに含まれるルールの実行順序を設定することを特徴とするルール設計支援装置。
【請求項１２】
請求項１１記載のルール設計支援装置であって、
前記演算部は、前記ルールが使用するデータ項目を使用する、他のルールの数の合計を関連ルール数として算出し、前記関連ルール数が多い順に、前記グループに含まれるルールの実行順序を設定することを特徴とするルール設計支援装置。
【請求項１３】
請求項１２記載のルール設計支援装置であって、
前記演算部は、前記関連ルール数が同数である場合には、前記ルールで使用されるデータ項目の数が多い順に、前記グループに含まれるルールの実行順序を設定することを特徴とするルール設計支援装置。
【請求項１４】
請求項９から１３のいずれか記載のルール設計支援装置であって、
前記演算部は、それぞれのルールが使用するデータ項目を他のルールが使用している場合には、当該ルールと当該他のルールを同じグループとして分類することを特徴とするルール設計支援装置。
【請求項１５】
請求項９から１４のいずれか記載のルール設計支援装置であって、
前記演算部は、前記それぞれのルールが使用するデータ項目を他のルールが使用している場合に当該ルールと当該他のルールを同じグループとして分類することを繰り返し、複数のルールで共通して使用されるデータ項目を備える当該複数のルールを同じグループとして分類することを特徴とするルール設計支援装置。
【請求項１６】
請求項９から１５のいずれか記載のルール設計支援装置であって、
前記演算部は、前記設定されたグループの実行順序および前記設定されたルールの実行順序に従って、前記それぞれのルールの処理を実行することを特徴とするルール設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルール設計支援方法およびルール設計支援装置に関する。
【背景技術】
【０００２】
企業における業務の生産性や品質向上を図るために、業務規則や基準をIF＿THEN形式でルール化し、ルールに基づいてシステム処理する方法が知られている。近年当該ルールをシステムのプログラムコードとは独立して管理する、ビジネスルール管理ソフトがある。ルールを独立して管理し、実行することで、ルール変更時の、業務とシステムの柔軟性を高めようとするものである。
【０００３】
例えば、ビジネスルールを管理し、ビジネスルールの登録、保存、検索を行うためのビジネスルール管理装置の構成が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−５６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来技術に記載のビジネスルール管理装置では、ビジネスルールを効率良く、登録、検索することはできる。
【０００６】
しかしながら、ルールの処理を効率化することはできない。とりわけ、企業では、今後、業務の高度化やコンプライアンス確保の要請が高まり、企業が管理しなければならないビジネスルールはその数が増えていくことが予想され、そのような場合にルールの処理を効率化することがこれまで以上に求められると考えられる。
【０００７】
ビジネスルールの中には、業務処理対象のデータが基準や規則に適合しているか、コンプライアンス基準に合致しているかをチェックするチェックルールも数多くある。チェックルールが多い場合には、登録された全てのルールを順次処理することに時間がかかる。また、ルールチェックにひっかかってエラーが出る可能性も多くなり、エラーに対応したデータの修正が増える。さらに修正後に、すでにチェック済みであっても、データを修正したことにより、対応するチェックルールを再度処理し、そこでまたチェックに引っかかって再修正する可能性が増える。
【０００８】
本発明は、上記課題を鑑みてなされたものであり、ルールの処理を効率化する技術を提供することを主たる目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は以下の構成を備える。即ち、特定のデータ項目に対するチェック規則を記述したルールを用いてシステム設計を支援するルール設計支援装置におけるルール設計支援方法であって、ルール設計支援装置は、データを記憶する記憶部と、データに対して演算処理を行う演算部と、を備える。ルール設計支援装置の演算部は、特定のデータ項目に対するチェック規則を定義した複数のルールを記憶部に記憶するステップと、記憶部に記憶されたルールとルールが使用するデータ項目との関係を示す、ルールおよびデータ項目の関連テーブルを生成するステップと、関連テーブルを用いて複数のルールを複数のグループに分類するステップと、分類した複数のグループの処理の実行順序を、グループに含まれるルールの数に基づいて設定するステップと、複数のグループのうちのそれぞれのグループに含まれるルールの実行順序を、グループに含まれる複数のルールが使用するデータ項目の参照数に基づいて設定するステップと、を実行する。
【発明の効果】
【００１０】
本発明によれば、ルールの処理を効率化することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係るビジネスルール設計支援システムの構成を示すブロック図である。
【図２】本実施の形態に係るビジネスルール設計支援方法の処理フロー図である。
【図３】本実施の形態に係るビジネスルールテーブルの例を示す図である。
【図４】本実施の形態に係るビジネスルールと項目との関連テーブルの例を示す図である。
【図５】本実施の形態に係るビジネスルール分類テーブルの例を示す図である。
【図６】本実施の形態に係るビジネスルール処理順序テーブルの例を示す図である。
【図７】本実施の形態に係る関連ルール数算出テーブルの例を示す図である。
【図８】本実施の形態に係るビジネスルール処理順序テーブルの例を示す図である。
【図９】本実施の形態に係るビジネスルール実行支援システムの構成を示すブロック図である。
【図１０】本実施の形態に係るビジネスルール実行支援方法の処理フロー図である。
【図１１】本実施の形態に係る業務データ入力画面の例を示す図である。
【図１２】本実施の形態に係るビジネスルール処理状況管理テーブルの例を示す図である。
【図１３】本実施の形態に係る業務データ入力画面におけるメッセージ出力例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１３】
＜ビジネスルール設計支援システム構成例＞
本発明のビジネスルール設計支援方法を実施するためのハードウェア構成である、ビジネスルール設計支援システム１００の構成例を、図１に示す。
【００１４】
ビジネスルール設計支援システム１００は、ＣＰＵ１１０、メモリ１２０、通信ポート１３０、入力装置１４０、出力装置１５０、記憶装置１６０を備える。
【００１５】
ＣＰＵ１１０は、ビジネスルール設計支援システム１００の全体制御を司るもので、記憶装置１６０に記憶されたビジネスルール処理順序決定プログラム１７０をメモリ１２０に読み出して実行することにより、上述したビジネスルール設計支援システム１００としての各種機能が実現される。
【００１６】
例えば、ビジネスルール登録部１０１と、ビジネスルールと項目の関連テーブル作成部１０２、ビジネスルール分類部１０３、グループ間処理順序決定部１０４、ビジネスルール毎の関連ルール数算出部１０５、グループ内ビジネスルール処理順序決定部１０６が実現される。
【００１７】
メモリ１２０は、例えば半導体記憶装置により構成することができる。通信ポート１３０は、通信を行うための装置である。例えばネットワークを介して、ビジネスルール処理順序決定プログラム１７０を、通信ポート１３０を通じて他の情報処理装置から受信して、メモリ１２０や記憶装置１６０に記憶するようにすることもできる。
【００１８】
また、ビジネスルールテーブル３００などの各種テーブルを別の情報処理装置に格納しておき、通信ポート１３０を通じて受信して、ビジネスルール処理順序決定プログラム１７０の処理に利用することもできる。
【００１９】
入力装置１４０は、オペレータなどによるビジネスルール設計支援システム１００へのデータ入力などのために用いられる装置でありユーザインターフェースとして機能する。入力装置１４０としては例えば、キーボードやマウスなどを用いることができる。
【００２０】
出力装置１５０は、情報を外部へ出力するための装置であり、ユーザインターフェースとして機能する。出力装置１５０としては、例えばディスプレイやプリンタなどを用いることができる。
【００２１】
記憶装置１６０は、例えばハードディスク装置や半導体記憶装置などとすることができる。記憶装置１６０には、ビジネスルール処理順序決定プログラム１７０、ビジネスルールテーブル３００などのテーブル類が記憶される。なお、ビジネスルール処理順序決定プログラム１７０は、複数のプログラムにより構成することもできる。
【００２２】
ビジネスルール設計支援システム１００は、いわゆるサーバやワークステーションから構成されるものであってもよい。
【００２３】
＜処理の流れ＞
次に、本実施の形態に係るビジネスルール設計支援方法において、その特徴となる処理手順、すなわちビジネスルール処理順序決定プログラム１７０の処理フローについて、図２の処理フローに従い、図３から図８を用いながら説明する。
【００２４】
なお、ここでは業務の例として、保険商品販売において、顧客からの保険申込を受け付ける業務および、そのための申込受付システムを対象とする。当該業務において、顧客からの保険申込内容に、誤りが無いかや保険会社の業務規則に一致しているかなどを申込受付システムでチェックするためのビジネスルールの実行処理順序を設計する例で述べる。
【００２５】
＜ステップ１０１＞ビジネスルール登録
入力装置１４０より、ビジネスルールを登録する。登録されたビジネスルールは、ビジネスルールテーブル３００に格納される。
【００２６】
図３に、ビジネスルールテーブル３００のテーブル構成例を示す。ビジネスルールテーブル３００は、ルールを識別するためのルール番号フィールド３１０、ルールの条件部分に相当しデータ項目に対するチェック内容を表したルール条件部フィールド３２０、ルールの条件部に合致した場合のアクションを記述したルール結論ＴＨＥＮ部フィールド３３０、ルール条件部に合致しない場合のアクションを記述したルール結論ＥＬＳＥ部フィールド３４０とからなる。
【００２７】
本実施の形態で例としているビジネスルールは、保険の申込内容をチェックするためのものである。例えば、図３のルール番号１のルールの条件部は、「保険終期」−「保険始期」≠「保険期間」であり、結論ＴＨＥＮ部はチェックＮＧでエラーを出力し、結論ＥＬＳＥ部はチェックＯＫである。これは、申込情報の中にある、保険契約の終了日にあたる「保険終期」のデータ項目の値と、開始日にあたる「保険始期」のデータ項目の値の差が、「保険期間」のデータ項目の値と、異なっているかどうかをチェックし、異なっていればエラーを出力することをあらわしている。
【００２８】
ビジネスルールの登録は、入力装置１４０を用いるほかに、ネットワークを介して、通信ポート１３０を通じて他の情報処理装置から受信して、記憶装置１６０に記憶するようにすることもできる。
【００２９】
＜ステップ１０２＞ビジネスルールと項目の関連テーブル作成
ステップ１０１で登録された申込受付業務のためのビジネスルールテーブル３００を用いて、ビジネスルールと項目の関連テーブル４００を作成する。
【００３０】
各ビジネスルールの条件部で定義されているデータ項目から、どのデータ項目がどのビジネスルールで利用されているかの関連を明らかにしたテーブルを作成する。
【００３１】
図４に、ビジネスルールと項目の関連テーブル４００の構成例を示す。登録ルールで利用されているルール利用項目フィールド４１０、登録ルールの番号からなるルール番号フィールド群４２０とからなる。
【００３２】
まず、ルール利用項目フィールド４１０には、ビジネスルールテーブル３００の、ルール条件部フィールド３２０の、各ルールの条件部で定義されているデータ項目を抽出し、その項目を入力する。ルール番号フィールド群４２０は、ビジネスルールテーブル３００のルール番号フィールド３１０にある番号に対応したフィールドを作成する。ルール利用項目の行とルール番号の列が交差したセルには、当該ルール番号で、当該項目が利用されていれば、そのことを表す値、図４の例では○を入力する。
【００３３】
例えば、図４ではルール番号１は、条件部の項目として「保険始期」「保険終期」「保険期間」を利用しているので、「保険始期」「保険終期」「保険期間」の列と、「ルール番号１」の行が交差するセルに○が入力されている。また、「保険始期」は、ルール番号１と２と４で利用されているため、「ルール番号１」「ルール番号２」「ルール番号４」の各フィールドと交差するセルに○が入力されている。項目が利用されていることを示す値は、○でなくても、他の値であってもよい。
【００３４】
＜ステップ１０３＞ビジネスルールの分類
ステップ１０２で作成した、ビジネスルールと項目の関連テーブル４００を用いて、ビジネスルールをグループ化し、分類する。
【００３５】
ビジネスルールのグループとは、直接あるいは間接的に同じデータ項目を条件部で利用しているビジネスルール同士を分類したものである。
【００３６】
具体的には、ビジネスルールの分類は、２つのビジネスルールに対して、利用しているデータ項目に同じものが一つでもあれば、同じグループとすることで、分類していく。
【００３７】
図４のビジネスルールと項目の関連テーブル４００の例では、ルール番号１とルール番号２は、「保険始期」の項目を双方のルールで利用しているので、同じグループとする。また、ルール番号３は、ルール番号１とルール番号２のうちルール番号１の「保険期間」の項目を利用しているので、ルール番号１，２と同じグループとする。これをルール毎に繰り返していくと、ルール番号１〜７までは、同じグループとして分類される。
【００３８】
ルール番号８については、利用項目の「契約者名」「口座振替契約者名」は、他のどのルールでも利用されていないため、ルール番号８のみのグループとなる。ルール番号９も他のルールと同じ利用項目がないため、一つのグループとなる。図５に以上のグループ分類の状況を示す。図５では、ルール番号１〜７はグループ１、ルール番号８はグループ２、ルール番号９はグループ３として示されている。
【００３９】
このようにして、ルール番号１〜７までのグループ１と、ルール番号８のグループ２と、ルール番号９のグループ３とに分類でき、各ルールのグループ番号をビジネスルールと項目の関連テーブル４００の、グループ番号レコード５１０に入力する。
【００４０】
＜ステップ１０４＞グループ間処理順序の決定
ステップ１０３で作成したビジネスルールのグループに対して、グループごとにルール実行処理の優先順位を決定する。
【００４１】
グループごとの実行処理順序を、ここでは、グループに含まれるルール数の多い順から優先順位を高く決定する。例えば、ルールグループ１は７個のルール、ルールグループ２と３は、１個のルールがそれぞれ含まれる。よって、ルールグループ１のルール番号１〜７には優先順位１を、ルールグループ２と３は同じルール数であるので、どちらが優先順位が高くてもよいが、ルールグループ２のルール番号８に優先順位２を、ルールグループ３のルール番号９に優先順位３を設定する。
【００４２】
グループに含まれるルール数の多い順としたが、逆にルール数の少ない順であってもよい。また予め設定した順序に従い、優先順位を決定してもよい。
【００４３】
図６に、決定した処理順序を格納する、ビジネスルール処理順序テーブル６００のテーブル構成例を示す。ビジネスルール処理順序テーブル６００は、ルール番号フィールド６１０と、グループ間優先順序フィールド６２０、グループ内処理順序フィールド６３０と、最終処理順序フィールド６４０とからなる。グループ内処理順序フィールド６３０と、最終処理順序フィールド６４０については、ステップ１０６で述べる。
【００４４】
＜ステップ１０５＞ビジネスルール毎の関連ルール数算出
ステップ１０２で作成した、ビジネスルールと項目の関連テーブル４００を用いて、ビジネスルール毎の関連ルール数を算出する。
【００４５】
関連ルール数は、当該ビジネスルールで利用している項目と同じ項目を利用している他のビジネスルール（以下、関連ルールと呼ぶ）の合計数である。
【００４６】
図７に、関連ルール数算出テーブル７００のテーブル構成例を示す。関連ルール数算出テーブル７００は、ビジネスルールと項目の関連テーブル４００に、算出した関連ルール数をルールごとに格納するための、関連ルール数レコード７１０を付加したものである。
【００４７】
例えば、ルール番号１のルールは、関連テーブルをみると、「保険始期」「保険終期」「保険期間」の３項目を利用している。まず「保険始期」については、同じレコードをみると関連の値が入っているルール番号２と４でも、利用されていることがわかる。つまり、関連するルールは２つである。また、次の項目「保険終期」は、他のルールでは利用されていない。「保険期間」は、ルール番号３、５、７の３つで利用されている。よって、ルール番号１の関連ルール数は、５となる。これを同じようにルール毎に算出していく。算出した各ルールの関連ルール数を、関連ルール数レコード７１０の対応するルール番号フィールドに格納する。
【００４８】
＜ステップ１０６＞グループ内ビジネスルール処理順序決定
ステップ１０５で算出した関連ルール数の大きい順に、同一グループ内のルール処理順序を決定する。図７の例では、関連ルール数が５ともっとも大きい、ルール番号１のルールを最初の処理として処理順序１とする。
【００４９】
以下順に、関連ルール数の多い順に、各ルールの処理順序を設定する。
【００５０】
これは、関連ルール数が多いものを後に処理すると、当該ルールでチェック後にエラーが出た場合に、項目を修正して再チェックするが、同じ項目を利用している関連ルールがチェック済みであっても、再度チェックしなければならいためである。この再チェックにより、関連ルールでもエラーが発生する可能性が高まり、チェックとその修正の負荷が多くなる。そこで、関連ルール数が多いルールを先にチェックする処理順序とすることで、チェックと修正の負荷を少なくするものである。
【００５１】
図８は、ビジネス処理順序テーブル６００に、グループ内処理順序フィールド６３０と、最終処理順序フィールド６４０の値を格納したものである。
【００５２】
グループ内処理順序フィールド６３０には、関連ルール数の多い順に設定したグループ内の処理順序を設定する。最終処理順序フィールド６４０は、グループ間処理順序フィールド６２０とグループ内処理順序フィールド６３０の、それぞれ順序値からルール全体での処理順序を決定したものである。
【００５３】
つまり、グループ間処理順序を優先し、次にグループ内処理順序を優先してルール順を決める。図８の例では、グループ間処理順序が１で、グループ内処理順序が１であるルール番号１が処理順序１となり、最後は、グループ間処理順序３で、グループ内処理順序１のルール番号９が、最後の処理順序９となる。
【００５４】
ステップ１０１から１０６の処理を行うことで、ビジネスルールの処理順序を決定することができる。
【００５５】
以上、本発明の実施形態によれば、ビジネスルールの処理時間や修正時間を短縮するための、ビジネスルールの処理順序を決定することができるようになる。
【００５６】
次に、上述した手順で処理順序を決定したビジネスルールを、業務において実行する場合のビジネスルール実行処理について説明する。
【００５７】
＜ビジネスルール実行処理＞
ビジネスルールを実行するためのハードウェア構成である、ビジネスルール実行支援システム９００の構成例を、図９に示す。
【００５８】
ビジネスルール実行支援システム９００は、ＣＰＵ９１０、メモリ９２０、通信ポート９３０、入力装置９４０、出力装置９５０、記憶装置９６０を備える。ＣＰＵ９１０は、ビジネスルール実行支援システム９００の全体制御を司るもので、記憶装置９６０に記憶されたビジネスルール実行プログラム９７０、をメモリ９２０に読み出して実行することにより、上述したビジネスルール実行支援システム９００としての各種機能が実現される。
【００５９】
以下、メモリ９２０、通信ポート９３０、入力装置９４０、出力装置９５０、記憶装置９６０の各装置は、ビジネスルール設計支援システム１００の各装置と同等であるため、説明を省略する。そのため、ビジネスルール実行支援システム９００は、ビジネスルール設計支援システム１００と物理的に同一のシステムとして、記憶装置にそれぞれに対応したプログラムとテーブルを格納したものであってもよい。
【００６０】
記憶装置９６０には、ビジネスルール実行プログラム９７０、ビジネスルールテーブル３００、ビジネスルール処理順序テーブル６００、ルール処理状況管理テーブル１２００が記憶される。
【００６１】
ビジネスルールテーブル３００と、ビジネスルール処理順序テーブル６００は、上述したビジネスルール設計支援システム１００で登録、作成したものである。
【００６２】
ビジネスルールテーブル３００と、ビジネスルール処理順序テーブル６００を読み込むために、例えばネットワークを介して、ビジネスルールテーブル３００と、ビジネスルール処理順序テーブル６００を、通信ポート９３０を通じてビジネスルール設計支援システム１００から受信して、記憶装置９６０に記憶しておく。あるいは、記憶媒体を用いて記憶装置９６０に格納してもよい。
【００６３】
次に、処理順序を決定したビジネスルールを、業務において実行する場合の処理手順、すなわち、ビジネスルール実行プログラム９７０の処理フローについて、図１０の処理フローに従い、図１１から図１３を用いながら説明する。
【００６４】
なお、ここでは業務の例として、ビジネスルール処理順序決定と同様に、保険商品販売において、顧客からの保険申込を受け付ける業務および、そのための申込受付システムを対象とする。当該業務において、顧客からの保険申込内容に、誤りが無いかや保険会社の業務規則に一致しているかなどを申込受付システムでチェックする例で述べる。
【００６５】
＜ステップ１００１＞業務データ入力
業務データを入力する。図１１に、業務データ入力画面１１００の例を示す。
【００６６】
本実施例での業務データは、保険申込データである。保険を申込む顧客、もしくは、申込を受けた保険販売代理店の営業員がデータを業務データ入力画面１１００により、入力装置９４０を用いて入力する。ここでは、同一システムで入力する例としているが、例えばネットワークを介して、入力データを、通信ポート９３０を通じて他の情報処理装置から受信してもよい。
【００６７】
業務データ入力画面１１００は、業務データ入力エリア１１０１、業務データ登録ボタン１１０２、メッセージエリア１１０３とからなる。
【００６８】
業務データ入力エリア１１０１は、申込に必要ないくつかの入力項目からなる。図１１の例では、保険申込人の住所、氏名、契約の申込日、保険始期、保険終期、保険期間、保険料支払い方法や支払回数などの情報がある。
【００６９】
入力装置９４０を用いて、業務データを入力し、業務データ登録ボタン１１０２を押下する。メッセージエリア１１０３は、ルールに基づくチェック結果のメッセージを出力するエリアであり、ステップ１１０６で述べる。
【００７０】
＜ステップ１００２＞ルール処理順序読込
ビジネスルール処理順序テーブル６００を記憶装置９６０から読み込み、ビジネスルール処理順序を読み込む。
【００７１】
＜ステップ１００３＞個別ルール呼出
ステップ１００２で読み込んだビジネス処理順序に従い、順番に個別ルールをビジネスルールテーブル３００から呼び出す。例えば、最初は、図８のビジネスルール処理順序テーブル６００の例では、１番目のルールはルール番号１である。よって、図３のビジネスルールテーブル３００の例では、ルール番号１の「保険終期」−「保険始期」≠「保険期間」のチェックルールを呼び出す。
【００７２】
ここで、ルールを呼び出す際に、ビジネスルール処理状況管理テーブル１２００を参照し、すでに、「処理済みＯＫ」であれば、次の順序のルールを呼び出す。
【００７３】
ビジネスルール処理状況管理テーブル１２００の構成例を図１２示す。ビジネスルール処理状況管理テーブル１２００は、ルール番号フィールド１２０１と、ルール処理順序フィールド１２０２、ルール処理状況フィールド１２０３とからなる。
【００７４】
ルール番号フィールド１２０１、ルール処理順序フィールド１２０２は、ステップ１００２で読み込んだビジネスルール処理順序テーブル６００のルール番号と処理順序である。ルール処理状況フィールド１２０３は、当該ルールの処理状況を格納する。未だルールを処理していなければ「未処理」、ルールを処理しＯＫであれば「処理済みＯＫ」、ルールを処理しエラーが出ていれば「処理済みＮＧ」の値を格納する。
【００７５】
本ステップを最初に行う場合には、全て「未処理」である。もし、処理順序であるが既に「処理済み」ＯＫであれば、当該ルールの順序は飛ばして、次の「未処理」もしくは「処理済みＮＧ」のルールを処理する。これにより、すでにルールを処理済みであり、ＯＫが出ているルールを再チェックする処理を減らすことができる。ルール処理状況の値の更新については、ステップ１００４で述べる。
【００７６】
＜ステップ１００４＞個別ルール処理実行
ステップ１００３で呼び出したルールを、ステップ１００１で入力された業務データに対して、実行する。例えば、ルール番号１のＩＦ部は、「保険終期」−「保険始期」≠「保険期間」のチェックルールであるため、入力された業務データの「保険終期」と、「保険始期」、「保険期間」の値を上記ルールに当てはめ、ＩＦ部を満たすかどうかチェックする。
【００７７】
ビジネスルールのチェック結果により、ＯＫであれば、ルール処理状況管理テーブル１２００の、ルール番号に対応するルール処理状況フィールド１２０３の値を「処理済みＯＫ」に更新する。そして、次のチェックへ進むため、ステップ１００５へ遷移する。
【００７８】
チェック結果がＮＧであれば、ルール処理状況管理テーブル１２００の、ルール番号に対応するルール処理状況フィールド１２０３の値を「処理済みＮＧ」に更新する。そしてエラーを出力するため、ステップ１００６へ遷移する。
【００７９】
＜ステップ１００５＞ルール処理順序確認
ステップ１００４のビジネスルールのチェック結果により、ＯＫであれば、ステップ１００２で読み込んだルール処理順序を参照し、次の順序のルールがあれば、そのルール番号を確認する。そして、ステップ１００３へ遷移し、当該ルール番号のルールを呼び出し、ルール処理を実行する１００４の流れを繰り返す。
【００８０】
ステップ１００３からステップ１００５の処理を繰り返し、ビジネスルール処理順序テーブル６００にある最後の順序のルールを処理し、次のルールが無い場合、エラーが無いこととなり業務データの登録を完了し、終了へ遷移する。
【００８１】
＜ステップ１００６＞エラー出力
ステップ１００４のビジネスルールのチェック結果により、ＮＧであれば、エラーメッセージを出力する。
【００８２】
例えば、図１１の例の業務データに対し、ルール番号１のＩＦ部は、「保険終期」−「保険始期」≠「保険期間」を適用した場合、「保険終期」は2011/1/31、「保険始期」は2009/2/1、「保険期間」は１年であるため、上記チェックルールによるとＮＧとなる。
【００８３】
そのため、図１３に示すように業務データ入力画面１１００のエラーメッセージエリアにエラーメッセージを出力する。図１３の例では、「「保険始期」と「保険終期」の期間とが、「保険期間」とが一致していません。修正してください。」というメッセージが出力されている。この結果、ステップ１００１へ遷移し、システムの利用者である顧客、もしくは営業員が、「保険始期」「保険終期」「保険期間」を見直し、修正入力することとなる。
【００８４】
ここで、ルール番号１の「保険始期」「保険終期」「保険期間」の各項目は、他のチェックルール２，３，４，５，７でも利用されている。ルール番号１は処理順序が１番目であるため、各項目に修正があっても、ルール番号１のみ再チェックを行えばよく、他のルール２，３，４，５，７は、そのチェックがＯＫとなった後、チェックすればよい。
【００８５】
以上、業務データの入力から、ルールのチェック処理実行処理を繰り返すが、例えば、ルール番号６は７番目の処理順序である。ここで、ルール番号６でエラーが生じても、関連するルールは、ルール番号７のみであり、まずはルール番号７のみを再チェックすればよく、再チェックを減らすことができる。
【００８６】
もし、逆に、ルールの処理順序が、ルール番号１が最初でなく、最後であった場合には、チェックルール２，３，４，５，７がチェック済みではあるが、ルール番号１のエラーにより項目の修正があると、再度チェックを行う必要があり、またそのことにより再度エラーが出て修正する可能性が高まる。
【００８７】
ビジネスルールの処理順序が、ステップ１０１からステップ１０６で設計された順序で処理することで、他のチェックルールを再度チェックする箇所を減らすことが可能となる。ひいては利用者がエラーの修正を行う負担を削減できる。
【００８８】
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。
【符号の説明】
【００８９】
１０１  ビジネスルール登録部
１０２  ビジネスルールと項目の関連テーブル作成部
１０３  ビジネスルール分類部
１０４  グループ間処理順序決定部
１０５  ビジネスルール毎の関連ルール数算出部
１０６  グループ内ビジネスルール処理順序決定部
【図１】
2010271883.tif 000003
【図２】
2010271883.tif 000004
【図３】
2010271883.tif 000005
【図４】
2010271883.tif 000006
【図５】
2010271883.tif 000007
【図６】
2010271883.tif 000008
【図７】
2010271883.tif 000009
【図８】
2010271883.tif 000010
【図９】
2010271883.tif 000011
【図１０】
2010271883.tif 000012
【図１１】
2010271883.tif 000013
【図１２】
2010271883.tif 000014
【図１３】
2010271883.tif 000015