(57)【要約】【課題】約款の内容を正確に反映させることが容易であり、約款に係る業務システムを開発する方法を提供する。【解決手段】約款処理部102は、章や条や項や号といった約款100の構成要素となる単位の要素部品及び約款の階層構造をはじめとする約款内の関係を示した結合部品の情報を格納する約款情報データベース104を参照し、ユーザにこれら部品を指定させることによって約款100と同じ構造をもつ約款情報を定義させる。概念モデル生成部106は、定義された約款情報から概念モデルを生成する。業務処理プログラム生成部110は、生成した概念モデルから業務処理プログラム114を生成する。【選択図】図１
2008191766.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置上の約款情報データベースから約款に関する章、条、項、号など指定された要素部品の情報と該要素部品間の結合関係を示す指定された結合部品の情報とを読み出し、該約款の論理構造を表現する要素部品および結合部品の指定情報をもつテーブルを作成して該約款情報データベースに格納し、
前記の指定情報テーブルを参照して該結合部品を介して要素部品から他の要素部品へとたどることによって、所定の条件に合致する要素部品に関する情報を抽出し、抽出した一連の要素部品に関する情報を概念モデルとして生成して該記憶装置上の概念モデルデータベースに格納し、
該概念モデルデータベースから該概念モデルを読み出し、該概念モデルに含まれる要素部品に関する情報を所定のプログラムのテンプレートに埋め込んで業務処理プログラムを生成し、生成した該業務処理プログラムを該記憶装置に格納することを特徴とする約款に係る業務システム開発方法。
【請求項２】
前記要素部品は、該約款の文言を含むことを特徴とする請求項１に記載の約款に係る業務システム開発方法。
【請求項３】
ユーザによって指定された前記要素部品および前記結合部品を示すシンボルを表示装置に表示することを特徴とする請求項１に記載の約款に係る業務システム開発方法。
【請求項４】
前記概念モデルと他の概念モデルとの関係を表わす概念モデルの体系を表示装置に表示することを特徴とする請求項１に記載の約款に係る業務システム開発方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、契約の定型的な処理を遂行するための契約条項である約款に係る業務システムを開発する方法に関する。
【背景技術】
【０００２】
契約の定型的な処理を遂行するための契約条項である約款に係る業務システムを開発するためには、業務システム開発者が約款を分析して、約款の内容を間違いなく反映させた業務システムを開発する必要がある。しかし、約款は業務システム開発者にとって理解することが難しい文書であり、約款の内容を正しく分析し、約款の内容を正確に反映させた業務システムを開発することは難しい。
【０００３】
特許文献１では、保険約款中の用語と用語に関係するルールを定義しておき、ユーザが定義してある用語を用いて定められた形式で仕様を作成することで、作成した仕様から保険業務プログラムを生成できる方法が開示されている。しかし、特許文献１で開示されている方法では、約款の構造とは違った形式で仕様を作成する必要があり、約款の内容を正確に反映させるようにすることは難しい。
【０００４】
【特許文献１】特開2003-30424号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
約款に係る業務システム例として、保険業務システムがある。保険業務において、新たな保険商品を販売する際には、新たな保険商品契約に係る保険約款を作成し、これに合わせて保険業務システムを保守する必要が生じる。前記したように、約款の内容は業務システム開発者にとって理解することが難しく、保険業務システムの保守を困難にさせる要因となっている。
【０００６】
本発明の目的は、約款の内容を正確に反映させることが容易である約款に係る業務システムを開発する方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、記憶装置上の約款情報データベースから約款に関する章、条、項、号など指定された要素部品の情報と該要素部品間の結合関係を示す指定された結合部品の情報とを読み出し、該約款の論理構造を表現する要素部品および結合部品の指定情報をもつテーブルを作成して約款情報データベースに格納し、前記の指定情報テーブルを参照して結合部品を介して要素部品から他の要素部品へとたどることによって、所定の条件に合致する要素部品に関する情報を抽出し、抽出した一連の要素部品に関する情報を概念モデルとして生成して記憶装置上の概念モデルデータベースに格納し、概念モデルデータベースから概念モデルを読み出し、概念モデルに含まれる要素部品に関する情報を所定のプログラムのテンプレートに埋め込んで業務処理プログラムを生成し、生成した業務処理プログラムを記憶装置に格納する約款に係る業務システム開発技術を特徴とする。
【発明の効果】
【０００８】
本発明によれば、章や条や項や号といった約款の構成要素となる単位の要素部品及び約款の階層構造をはじめとする約款内の関係を示した結合部品を用意しておき、ユーザにこれら部品を指定させることによって約款と同じ構造をもつ約款情報を定義できる。さらに、定義した約款情報を利用して業務処理プログラムを生成するので、約款の内容を正確に反映した業務処理プログラムを作ることができる。また、約款情報から業務処理プログラムを生成する過程で概念モデルの体系を生成することによって、約款の中に現れる概念モデルと概念モデル間の関係をユーザに把握しやすくできる。このようにして、約款の内容を正確に反映させた約款に係る業務システムを開発することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を詳細に説明する．
本発明の実施形態に係る約款によるプログラム生成装置120は、図１に示すように約款処理部102と、約款情報データベース104と、概念モデル生成部106と、概念モデルデータベース108と、業務処理プログラム生成部110と、業務処理プログラム生成ルールデータベース112とを有する。図の矢印は構成要素間のデータの流れを示す。約款によるプログラム生成装置120は、図２に示すようにCPU 201と、主記憶装置（メモリ）202と、入力装置203と、表示装置204と、外部記憶装置205とを有する計算機を用いて実現される。約款情報データベース104、概念モデルデータベース108および業務処理プログラム生成ルールデータベース112は、外部記憶装置205に記憶され、プログラムの実行に伴って主記憶装置202との間でデータの読み書きが行われる。約款処理部102、概念モデル生成部106および業務処理プログラム生成部110は、主記憶装置202に格納され、CPU 201によって実行されるプログラムである。
【００１０】
約款処理部102は、外部記憶装置205などに格納された約款100の文章を入力し、章、条、項、号などの約款文言の要素部品や要素結合部品に分解して約款情報データベース104に格納し、このデータベースからユーザによって指定された情報を読み出して商品情報、部品指定情報および結合部品指定情報を作成して約款情報データベース104に格納する。概念モデル生成部106は、作成された部品指定情報および結合部品指定情報を読み出し、概念モデルを作成して概念モデルデータベース108に格納する。業務処理プログラム生成部110は、作成された概念モデルと業務処理プログラム生成ルールデータベース112に格納される業務処理プログラム生成ルールとを参照して業務処理プログラム114を生成して外部記憶装置205などに格納する。
【００１１】
約款情報データベース104は、図３に示すように、約款要素部品テーブル300と、約款要素結合部品テーブル302と、商品情報テーブル304と、約款要素部品指定情報テーブル306と、約款要素結合部品指定情報テーブル308とを有する。各テーブルの上四角形内（例えば310）に示す名前はテーブル名を表している。各テーブルの下四角形内(例えば312)に示す名前は、各テーブルの属性名である。各テーブルの属性名の中で下線を引いている属性(例えば314)は、テーブルによって定義される属性データを一意に識別する識別子を表している。図３の矢印は、このような識別子間の参照関係を表している。
【００１２】
約款要素部品テーブル300は、章や条や項や号といった約款の構成要素単位の部品を定義するテーブルである。約款要素部品テーブル300は、図４に約款要素部品テーブル300によって定義されるデータの一例を示すように、約款要素部品テーブル300によって定義するデータを一意に識別するための約款要素部品ID 402と約款要素部品名404を有し、さらに章や条や項や号といった約款の構成要素を単位に定義する約款文言406と約款の文言に対応した約款ロジック408を有する。ここで挙げている約款ロジック408の例は、概念モデル作成時に追加（add）される約款文言を示す。
【００１３】
約款要素結合部品テーブル302は、約款の階層構造をはじめとする約款内の関係を示した部品を定義するテーブルである。約款要素結合部品テーブル302は、図５に約款要素構造部品テーブル302によって定義されるデータの一例を示すように、約款要素結合部品テーブル302によって定義するデータを一意に識別するための約款要素結合部品ID 502と、約款要素部品間の関係を表現するための約款要素結合部品名504を有する。約款要素部品間の関係として定義する関係には、例えば、約款の章や条や項や号といった文書階層の上下関係を表す「包括」、ある約款要素部品で定義する内容によって別の約款要素部品で定義する内容を変更する関係を表す「適用」がある。「包括」は、上位階層の要素部品とその要素部品のすぐ下位階層の要素部品とを接続する結合部品である。「適用」「準用」は、各々法律用語の意味に則り、要素部品と要素部品との間の関係を示す結合部品である。
【００１４】
以下、説明する商品情報テーブル304と約款要素部品指定情報テーブル306と約款要素結合部品指定情報テーブル308は、約款処理部102において約款要素部品テーブル300と約款要素結合部品テーブル302のデータを参照して、ユーザが約款と同じ構造で定義される約款情報を定義するために作成されるテーブルである。
【００１５】
商品情報テーブル304は、図６に商品情報テーブル304によって定義されるデータの一例を示すように、商品情報テーブル304によって定義するデータを一意に識別するための商品ID 602と、ユーザが定義する商品名604と、約款要素部品指定情報ID 606とを有する。約款要素部品指定情報ID 606には、商品情報テーブル304のデータから約款全体を表す約款要素部品テーブル300のデータを参照できるようにするために、約款要素部品指定情報テーブル306の約款全体を表すデータの約款要素部品指定情報ID 702がセットされる。
【００１６】
約款要素部品指定情報テーブル306は、図７に約款要素部品指定情報テーブル306によって定義されるデータの一例を示すように、約款要素部品指定情報テーブル306によって定義するデータを一意に識別するための約款要素部品指定情報ID 702と、約款要素部品指定情報テーブル306のデータから商品情報テーブル304のデータを参照できるようにするための商品ID 704と、約款要素部品指定情報テーブル306のデータから約款要素部品テーブル300のデータを参照できるようにするための約款要素部品ID 706を有する。
【００１７】
約款要素結合部品指定情報テーブル308は、図８に約款要素結合部品指定情報テーブル308によって定義されるデータの一例を示すように、約款要素結合部品指定情報テーブル308によって定義するデータを一意に識別するための約款要素結合部品指定情報ID 802と、約款要素結合部品指定情報テーブル308のデータから約款要素結合部品テーブル302のデータを参照できるようにするための約款要素結合部品ID 804と、約款要素結合部品指定情報テーブル308のデータによって約款要素部品指定情報テーブル306のデータを参照できるようにするために、結合元の約款要素部品指定情報テーブル306のデータを示す結合元約款要素部品指定情報ID 806と、結合先の約款要素部品指定情報テーブル306のデータを示す結合先約款要素部品指定情報ID 808とを有する。
【００１８】
概念モデルデータベース108は、以下で説明する約款処理部102で定義される約款情報から概念モデルを生成させるためのルールを定義する概念モデル生成ルールテーブル900と生成する概念モデルを格納する概念モデル定義テーブル110を有する。
【００１９】
概念モデル生成ルールテーブル900は、図９に概念モデル生成ルールテーブル900によって定義されるデータの一例を示すように、概念モデル生成ルールテーブル900によって定義するデータを一意に識別するためのモデル生成ID 902と、モデル生成ロジック906と、モデル生成ロジック906の適用対象となる約款要素部品テーブル300のデータを特定できるようにするための情報を定義した生成元約款要素部品ID 904を有する。モデル生成ロジック906は、以下で言う概念モデルを生成するための処理手続きである。モデル生成ロジック906の処理フローの一例を図１０に示す。その処理手順については後述する。
【００２０】
概念モデルのデータは、図１１に示すような概念モデル定義テーブル1100で定義される。概念モデル定義テーブル1100には、概念モデル定義テーブル1100によって定義するデータを一意に識別するための概念ID 1102と、概念が定義される商品を特定する商品ID1104と、概念が定義される危険担保を定義した約款要素部品テーブル300のデータを指定する約款要素部品指定情報テーブル306のデータを特定する危険担保約款要素部品指定情報ID 1106と、概念の内容を定義する概念内容1108と、概念モデル間の関係を表すために他の概念モデル定義テーブル1100のデータとの関係を示す関係概念ID 1120を有する。なお、概念ID 1102のID中のアルファベットによって、概念モデルの種類を識別できるようにする。関係概念 ID1120には、具体的には他の概念モデル定義テーブル1100のデータの概念ID1102が入る。以下の例では「被保険者」を取り上げて、概念モデルについて説明する。
【００２１】
業務処理プログラム生成ルールデータベース112は、業務処理プログラム生成テーブル1200を有する。業務処理プログラム生成テーブル1200は、図１２に業務処理プログラム生成テーブル1200によって定義されるデータの一例を示すように、業務処理プログラム生成テーブル1200によって定義するデータを一意に識別するためのプログラム生成ID1202と、概念モデルからプログラムを生成するロジックを定義するプログラム生成ロジック1204を有する。プログラム生成ロジック1204の処理フローの一例を図１３に示す。その処理手順については後述する。
【００２２】
約款処理部102について、図１５の処理フローにしたがって説明する。
【００２３】
ステップ1502では、約款処理部102は、図１８に示す約款情報編集画面1800を表示装置204に出力し、ユーザによって入力装置203から商品ID 1804と商品名1806が入力され、入力装置203からユーザによって新規作成ボタン1801が押されたと判定した場合に、入力された商品ID 1804を商品ID602に商品名1806を商品名604にセットした商品情報テーブル304のデータを新たに作成する。商品名は、約款全体を表現する情報である。次に、新たに約款要素部品指定情報テーブル306を作り、作成した約款要素部品指定情報テーブル306の最初のデータとして、約款要素部品指定情報ID702に約款要素部品指定情報IDを新たに生成してセットし、この約款要素部品指定情報テーブル306のデータの商品ID704にユーザによって入力された商品ID1804をセットし、この約款要素部品指定情報テーブル306のデータから約款全体を表す約款要素部品テーブル300のデータを参照できるようにするために約款要素部品ID706に約款全体を表す約款要素部品テーブル300のデータの約款要素部品IDをセットし、このように作成した約款要素部品指定情報テーブル306のデータを約款情報データベース104に書き込む。さらに、新たに作成した商品情報テーブル304のデータの約款要素部品指定情報ID606に新たに生成した約款要素部品指定情報ID702をセットし、新たに作成した約款要素部品指定情報テーブル306のデータから新しい商品情報テーブル304のデータを参照できるようにする。最後に、新しい商品情報テーブル304のデータを約款情報データベース104に書き込む。また画面部位1808に約款全体を表す要素部品名のシンボルを表示する。
【００２４】
なお、画面部位1808に表している1850と1851と1852と1853と1854は、約款要素部品指定情報テーブル306のデータが指す約款要素部品テーブル300の約款要素部品名404を表すシンボルであり、1860と1861と1862と1863は約款要素結合部品指定情報テーブル308のデータが指す約款要素結合部品テーブル302の約款要素結合部品名504を表すシンボルである。例えば1850は約款全体を表す要素部品名、1851,1852は章を表す要素部品名、1853,1854は条を表す要素部品名などである。1850〜1854は、ステップ1522が実行されるとき１つずつ表示され、1860〜1863は、ステップ1516が実行されるとき１つずつ表示される。
【００２５】
ステップ1504では、約款処理部102は、まずユーザ操作を待ち受けて、入力装置203からユーザ操作による指示を受けたら、ステップ1506に処理を移し約款要素部品を追加するという指示であったか否かを判定する。約款要素部品を追加するという指示であった場合にはステップ1518に処理を移し、それ以外の指示であればステップ1508に処理を移す。なお、約款要素部品を追加するという指示は、約款情報編集画面1800において入力装置203を通じて、約款要素結合部品指定情報テーブル308のデータが指す約款要素結合部品テーブル302の約款要素結合部品名504を表すシンボルが押されたと判断した場合に発生する。
【００２６】
ステップ1508では、約款処理部102は、約款要素結合部品を追加するという指示であったか否かを判定する。約款要素結合部品を追加するという指示であった場合にはステップ1512に処理に処理を移し、それ以外の指示であればステップ1510に処理を移す。なお、約款要素結合部品を追加するという指示は、ステップ1504において約款情報編集画面1800に関し入力装置203を通じて、約款要素部品情報テーブル306のデータが指す約款要素部品テーブル300の約款要素部品名404を表すシンボルが押されたと判断した場合に発生する。
【００２７】
ステップ1510では、約款処理部102は、編集終了ボタン1802が押されたという指示であったか否かを判定する。編集終了ボタン1802が、押されていなかった場合はステップ1504に処理が移し、押されていた場合には、約款処理部102の処理を終了し、概念モデル生成部106に処理を移す。なお、概念モデル生成部106に処理を移す際には、約款情報編集画面1800の画面部位1804に表示されている商品IDを概念モデル生成部106に渡す。
【００２８】
以下ステップ1518、ステップ1520、ステップ1522では、約款に合わせて約款情報を作るために約款要素部品指定情報テーブル306のデータを追加する処理手順について説明する。
【００２９】
ステップ1518では、約款処理部102は、まず図１９に示す約款要素部品選択画面1900を表示装置204に出力する。このとき、ステップ1504で押されたシンボルに対応する約款要素結合部品指定情報テーブル308のデータを検出し、検出した約款要素結合部品指定情報テーブル308のデータの約款要素結合部品指定情報ID802を画面部位1901に表示する。次に、ユーザが入力装置203によって約款文言を画面部位1902に入力し検索開始ボタン1908が押されたと判定したら、約款情報データベース104からユーザから入力された約款文言を含む約款要素部品テーブル300のデータを読み込み、検索によって該当した約款要素部品テーブル300のデータの約款要素部品名404の一覧を表示装置204に出力し画面部位1904に表示する。このとき、ユーザは画面部位1904に表示された約款要素部品名の中から一つを入力装置203によって指定し約款要素部品選択ボタン1906が押されたと判定した場合にはステップ1520に処理が移る。
【００３０】
ステップ1520では、約款処理部102は、まず約款要素部品指定情報テーブル306の指定された要素部品に関するデータを作成する。この約款要素部品指定情報テーブル306の新しいデータとして、約款要素部品指定情報ID702に約款要素部品指定情報IDを新たに作成してセットし、約款情報編集画面1800の画面部位1804に表示した商品IDを商品ID704にセットし、ステップ1518においてユーザが指定した約款要素部品名を持つ約款要素部品テーブル300のデータを約款情報データベース104から読み出してこのデータの約款要素部品ID402を約款要素部品ID706にセットする。このようにして作成した約款要素部品指定情報テーブル306のデータを約款情報データベース104に書き込む。さらに、画面部位1901に表示した結合元約款要素結合部品指定情報IDを持つ約款要素結合部品指定情報テーブル308のデータを約款情報データベース104から読み出し、読み出した約款要素結合部品指定情報テーブル308のデータの結合先約款要素部品指定情報ID808に新たに作成した約款要素部品指定情報ID702をセットする。このように更新した約款要素結合部品指定情報テーブル308のデータを約款情報データベース104に書き込む。
【００３１】
ステップ1522では、約款処理部102は、ステップ1520で作成した約款要素部品指定情報テーブル306のデータに対応する要素部品名を表すシンボルを表示装置204に出力し、出力したシンボルとステップ1504で押された約款要素結合部品指定情報テーブル308のデータに対応する要素結合部品名を表すシンボルとを結んだ矢印線を表示装置204に出力し、約款情報編集画面1800の画面部位1808に表示する。最後にステップ1504に処理を移す。
【００３２】
以下ステップ1512、ステップ1514、ステップ1516では、約款に合わせて約款情報を作るために約款要素結合部品指定情報テーブル308のデータを追加する方法について説明する。
【００３３】
ステップ1512では、約款処理部102は、まず図２０に示す約款要素結合部品選択画面2000を表示装置204に出力する。このとき、ステップ1504で押されたシンボルから約款要素部品指定情報テーブル308のデータを検出し、検出した約款要素部品指定情報テーブル308のデータの約款要素部品指定情報IDを画面部位2001に表示する。次に、約款情報データベース104に格納されている約款要素結合部品テーブル302のデータすべてを読み込み、約款要素結合部品名504の一覧を表示装置204に出力し画面部位2002に表示する。画面部位2002に表示された約款要素結合部品名の中から、入力装置203を用いてユーザによって約款に応じて約款要素結合部品が指定される。最後に、約款要素結合部品選択ボタン2004が押されたか否かを判定し、押されたと判定した場合にはステップ1514に処理を移す。押されていないと判定した場合にはステップ1512にとどまる。
【００３４】
ステップ1514では、約款処理部102は、新たな約款要素結合部品指定情報テーブル308の指定された要素結合部品に関するデータを作成する。この約款要素結合部品指定情報テーブル308の新しいデータとして、約款要素結合部品指定情報ID802に新たに作成した約款要素結合部品指定情報IDをセットし、約款要素結合部品ID804にステップ1512でユーザによって指定された約款要素結合部品名を持つ約款要素結合部品テーブル302のデータを約款情報データベース104から読み出してこのデータの約款要素部品ID502をセットする。さらに約款要素結合部品指定情報テーブル308のデータの結合元約款要素部品指定情報ID804に、約款要素結合部品選択画面2000の画面部位2001に表示した結合元約款要素部品指定情報IDをセットする。このようにして作成した約款要素結合部品指定情報テーブル308のデータを約款情報データベース104に書き込む。
【００３５】
ステップ1516では、約款処理部102は、ステップ1514で作成した約款要素結合部品指定情報テーブル308のデータに対応する要素結合部品を表すシンボルを表示装置204に出力し、出力したシンボルとステップ1504で押された約款要素部品指定情報テーブル306のデータに対応する要素部品名を表すシンボルとを結んだ矢印線を表示装置204に出力し、約款情報編集画面1800の画面部位1808に表示する。最後に、ステップ1504に処理を移す。
【００３６】
以上のようにして約款処理部102は、約款要素部品テーブル300と約款要素結合部品テーブル302から約款の論理構造を表現する約款要素部品指定情報テーブル306および約款要素結合部品指定情報テーブル308を作成して約款情報データベース104に格納する。
【００３７】
概念モデル生成部106について、図16の処理フローにしたがって説明する。
【００３８】
ステップ1604では、概念モデル生成部106は、予め登録された概念モデル生成ルールテーブル900のデータを一つ読み込む。例えば、モデル生成ID 902がms0001であり、生成元約款要素部品ID 904がtであり、モデル生成ロジック906が図１０に示す処理フローを実行するモデル生成ロジックである、図９に示す概念モデル生成ルールテーブル900のデータ910を読み込む。
【００３９】
ステップ1606では、概念モデル生成部106は、ステップ1604で読み込んだ概念モデル生成ルールの適用対象となる約款要素部品テーブル300のデータを読み込む。これを実現するために、作成された約款要素部品指定情報テーブル306のデータの中で、約款処理部102のステップ1510から渡された商品IDと同じ商品ID602を持ち、概念モデル生成ルールテーブル900のデータの生成元約款要素部品ID904を約款要素部品ID706に含むデータを約款情報データベース104から読み込む。例えば、生成元約款要素ID 904がtであった場合、約款要素部品指定情報テーブル306のデータの中から、約款要素部品指定情報ID 702がaa0171であり、商品ID704がshn5678であり、約款要素部品ID 706がt01235であるデータ720と、約款要素部品指定情報ID 702がaa0172であり、商品ID704がshn5678であり、約款要素部品ID706がt01236であるデータ721を読み込む。
【００４０】
ステップ1608では、概念モデル生成部106は、ステップ1606で読み込んだ約款要素部品指定情報テーブル306のデータの一つに対して、約款要素部品ID706と同じ約款要素部品ID402を持つ約款要素部品テーブル300のデータを特定することによって、読み込んだ概念モデル生成ルールの適用対象となる約款要素部品テーブル300のデータを特定する。例えば、ステップ1606で読み込んだ約款要素部品指定情報テーブル306の一つのデータの約款要素部品ID 706がt01235であった場合、約款要素部品テーブル300のデータの中から、約款要素部品IDがt01235であり、約款ロジック408が「add(記名被保険者)」であるデータを特定する。次に、特定した約款要素部品指定情報テーブル306のデータと約款要素部品テーブル300のデータから、ステップ1604で特定した概念モデル生成ルールテーブル900のデータの中に含まれるモデル生成ロジック906を利用して、概念モデルを生成する。モデル生成ロジック906を利用して、概念モデルを生成する一例を図１０に処理フローで示す。図１０の処理フローの詳細は後記する。概念モデル生成部106は、作成した概念モデルを概念モデルデータベース108に書き込む。
【００４１】
ステップ1610では、概念モデル生成部106は、ステップ1606で読み込んだ全ての約款要素部品指定情報テーブル306のデータをステップ1608で処理したかを判定し、全て処理していた場合にはステップ1612に処理を移し、全て処理していない場合にはステップ1608に処理を移す。
【００４２】
ステップ1612では、概念モデル生成部106は、ステップ1604で読み込んだ概念モデルデータベース108に格納されている全ての概念モデル生成ルールを処理したかを判定し、全てのモデル生成ルールを処理していた場合は概念モデル生成部106の処理を終了し、業務処理プログラム生成部110に処理を移し、全て処理していない場合はステップ1604に処理を移す。本実施例で示す概念モデルの１つは、約款要素部品ID706にt符号をもつような要素部品の全体が対応し、１つ以上の要素部品が対応する。
【００４３】
以上のようにして概念モデル生成部106は、約款要素部品指定情報テーブル306および約款要素結合部品指定情報テーブル308を参照し、結合部品を介して要素部品から他の要素部品へとたどることによって、概念モデル生成ルールテーブル900のデータが示す条件に合致する要素部品に関する情報を抽出し、抽出した一連の要素部品に関する情報を概念モデルとして概念モデルデータベース108に格納する。
【００４４】
モデル生成ロジックによる概念モデル生成の一例について、図１０の処理フローにしたがって説明する。図１０の処理フローは、保険の被保険者という概念に対応する概念モデルを生成するモデル生成ロジックを処理フローとして表したものである。被保険者とは保険金の受け取り対象者を意味し、保険が担保する危険ごとに被保険者が定義される。したがって、定義する被保険者がどの危険担保の被保険者かを特定する必要がある。図１０の処理フローに示す被保険者概念モデル生成ロジックは、ステップ1606で特定した被保険者を定義する約款要素部品を利用して、ステップ1002、ステップ1004、ステップ1006、ステップ1008、およびステップ1010の処理を繰り返し行い、約款処理部102が作成した約款要素部品指定情報テーブル306のデータを約款要素結合部品指定情報テーブル308のデータ及び約款要素結合部品テーブル302のデータで定義される「包括」関係を介して約款構造の上位へたどっていくことで、約款100において危険担保を示す危険担保条項を定義した約款要素部品テーブル300のデータを指定する約款要素部品指定情報テーブル306のデータを特定し、被保険者に対応する概念モデルを生成する。
【００４５】
ステップ1002では、モデル生成ロジックは、ステップ1606またはステップ1006で特定した約款要素部品指定情報テーブル306のデータの約款要素部品指定情報ID702と同じ結合先約款要素部品指定情報ID808を含む約款要素結合部品指定情報テーブル308のデータを読み込む。例えばステップ1606で特定した約款要素部品指定情報テーブル306のデータの約款要素部品指定情報ID702がaa0171であった場合、約款要素結合部品指定情報テーブル308のデータの中で、約款要素結合部品指定情報ID802がbb0031であり、約款要素結合部品ID 804がka0001、結合元約款要素部品指定情報ID 806がaa0170であり、結合先約款要素部品指定情報ID808がaa0171であるデータ820を読み込む。次に、ステップ1004に処理を移す。
【００４６】
ステップ1004では、モデル生成ロジックは、ステップ1002で読み込んだ約款要素結合部品指定情報テーブル308のデータの約款要素結合部品ID804と同じ約款要素結合部品ID 502を持つ約款要素結合部品テーブル302のデータを読み込む。例えばステップ1002で約款要素結合部品指定情報テーブル308のデータ820を読み込んだ場合、約款要素結合部品テーブル302のデータ510を読み込む。
【００４７】
ステップ1006では、モデル生成ロジックは、ステップ1002で読み込んだ約款要素結合部品指定情報テーブル308のデータの中から、ステップ1004で読み込んだ約款要素結合部品テーブル302のデータの約款要素結合部品名504が「包括」であるものを選び、選んだ約款要素結合部品指定情報テーブル308のデータの結合元約款要素部品指定情報ID806と同じ約款要素部品指定情報ID702を持つ約款要素部品指定情報テーブル306のデータを読み込む。例えば、ステップ1004で約款要素結合部品テーブル302のデータ510の約款要素結合部品名504が「包括」であるので、ステップ1002で読み込んだ約款要素結合部品指定情報テーブル308のデータ820の結合元約款要素部品指定情報ID806と同じ約款要素部品指定情報ID702を持つ約款要素部品指定情報テーブル306のデータ722を読み込む。
【００４８】
ステップ1008では、モデル生成ロジックは、ステップ1006で読み込んだ約款要素部品指定情報テーブル306のデータが指定する約款要素部品テーブル300のデータを読み込み、このデータが危険担保条項を定義するデータかを判定する。データの種類を判定するために、例えば約款要素部品テーブル300のデータの約款要素部品IDに危険担保条項を示す‘d’を付けておき、約款要素部品IDから危険担保条項か否かを判定できるようにしておく。例えば、ステップ1006で約款要素部品指定情報テーブル306のデータとしてデータ722を読み込んだとする。この場合、データ722の約款要素部品ID706には‘d’が含まれないので、データ722が指定する約款要素部品テーブル300のデータが危険担保条項を定義するデータでないことがわかる。また例えば、ステップ1006で約款要素部品指定情報テーブル306のデータとしてデータ723を読み込んだとする。この場合、データ723の約款要素部品ID706には‘d’が含まれるので、データ722が指定する約款要素部品テーブル300のデータが危険担保条項を定義するデータであることがわかる。
【００４９】
ステップ1010では、モデル生成ロジックは、ステップ1008での判定結果を元に、ステップ1006で読み込んだ約款要素部品指定情報テーブル306のデータが指定する約款要素部品テーブル300のデータが、危険担保条項を定義するデータであった場合はステップ1012に処理を移し、危険担保条項を定義するデータでなかった場合はステップ1002に処理を移す。
【００５０】
ステップ1012では、モデル生成ロジックは、ステップ1002からステップ1010までの処理結果に基づいて、図１１に示す概念モデル定義テーブル1100のデータをメモリ上に作成し、概念モデルデータベース108に書き込む。まず、ステップ1006で読み込んだ約款要素部品指定情報テーブル306のデータが指定する約款要素部品テーブル300のデータの約款ロジック408を読み、「add()」の括弧内に示される内容を、作成された概念モデル定義テーブル1100のデータの概念内容1108にセットする。次に、ステップ1606で特定した約款要素部品指定情報テーブル306のデータの商品ID704を、作成された概念モデル定義テーブル1100のデータの商品ID 1104にセットする。さらに、ステップ1006で読み込んだ約款要素部品指定情報テーブル306のデータの約款要素部品指定情報ID 702を、作成された概念モデル定義テーブル1100のデータの危険担保約款要素部品指定情報ID 1106にセットする。さらに、新たな概念IDを生成して、作成された概念モデル定義テーブル1100のデータの概念ID 1102にセットする。最後に、このようにして作成した概念モデル定義テーブル1100のデータを概念モデルデータベース108に書き込む。例えば、まずステップ1006で読み込んだ約款要素部品指定情報テーブル306のデータ723が指定する約款要素部品テーブル300のデータ420の約款ロジックが「add(記名被保険者)」であるので、この概念モデル定義テーブル1100のデータ1110の概念内容1108に「記名被保険者」をセットする。次に、ステップ1606で特定した約款要素部品指定情報テーブル306のデータ720の商品ID 704であるshn5678を、データ1110の商品ID 1104にセットする。さらに、ステップ1006で読み込んだ約款要素部品指定情報テーブル306のデータ723の約款要素部品指定情報ID 702であるd706を、データ1110の危険担保約款要素部品指定情報ID 1104にセットする。さらに、新たな概念IDとしてhh0001を生成して、データ1110の概念ID 1102にセットする。このようにして作成した概念モデル定義テーブル1100のデータ1110を概念モデルデータベース108に書き込む。
【００５１】
業務処理プログラム生成部110について、図１７の処理フローにしたがって説明する。
【００５２】
ステップ1702では、業務処理プログラム生成部110は、概念モデルデータベース102から概念モデル定義テーブル1100のデータを読み込む。このとき、約款情報編集画面1800の部位1804に入力された商品IDを含むデータのみを読み込む。例えば、約款情報編集画面1800の部位1804に入力された商品IDがshn5678であった場合、図１１に示す概念モデル定義テーブル1100のデータ1110とデータ1112を読み込む。
【００５３】
ステップ1704では、業務処理プログラム生成部110は、図２１に示す概念モデル表示画面2100を表示装置204に表示する。部位2102には約款情報編集画面1800の部位1804に入力された商品IDを、部位2104には約款情報編集画面1800の部位1806に入力された商品名を表示する。ステップ1702で読み込んだ概念モデルを定義したテーブルのデータを利用して部位2108に、概念モデルを表示する。概念モデルの表記は、例えば、部位2110や部位2111のようなシンボルで表し、概念モデル間の関係を部位2112のような矢印で表す。部位2110のシンボルは、被保険者の概念モデルを表しており、ステップ1702で読み込んだ図１１に示す概念モデル定義テーブル1100のデータ1110とデータ1112を表示したものである。部位2112の矢印は、概念モデル間の関係を示し、関係概念ID1120を参照して表示される。このようにして、約款情報から生成した概念モデルの体系をユーザに視覚的に確認させることできる。ユーザは表示された概念モデルの体系を確認し妥当と判断した場合に、入力装置203を通じてプログラム生成ボタン2106を押す。プログラム生成ボタン2106が押されたことを判定し、ステップ1706に処理を移す。
【００５４】
ステップ1706では、業務処理プログラム生成部110は、業務処理プログラム生成ルールデータベース112から図１２に示す業務処理プログラム生成テーブル1200のデータを一つ読み込む。
【００５５】
ステップ1708では、業務処理プログラム生成部110は、ステップ1706で読み込んだ図１２に示す業務処理プログラム生成テーブル1200のデータのプログラム生成ロジック1204を実行して、業務処理プログラム114を生成し、生成した業務処理プログラム114を外部記憶装置205に記憶する。例えば、ステップ1706で図１２に示す業務処理プログラム生成テーブル1200のデータ1210を読み込み、データ1210のプログラム生成ロジック1204を実行し図１４bに示すプログラムを生成する。プログラム生成ロジック1204を利用して、概念モデルから業務処理プログラムを生成する一例を図１３に処理フローで示す。図１３の処理フローの詳細は後記する。
【００５６】
ステップ1710では、業務処理プログラム生成部110は、業務処理プログラム生成ルールデータベース112に格納されている全ての図１２に示す業務処理プログラム生成テーブル1200のデータを処理したか否かを判定し、全て処理した場合は終了し、全て処理していない場合はステップ1706に処理を移す。
【００５７】
プログラム生成ロジックを用いて概念モデルから業務処理プログラムを生成する例について、図１３の処理フローにしたがって説明する。図１３に示すプログラム生成ロジックの処理フローは、概念モデル生成部106によって作成した図１１に示す概念モデル定義テーブル1100のデータから、図１４bに示すプログラムの一例を生成するものである。
【００５８】
ステップ1302では、プログラム生成ロジックは、概念モデルデータベース102から図１１に示す概念モデル定義テーブル1100のデータを読み込む。このとき、概念モデル表示画面2100の部位2102に入力された商品IDを含むデータのみを読み込む。 例えば、概念モデル表示画面2100の部位2102に入力された商品IDがshn5678であった場合、図１１に示す概念モデル定義テーブル1100のデータ1110とデータ1112を読み込む。
【００５９】
ステップ1304では、プログラム生成ロジックは、ステップ1302で読み込んだ概念モデル定義テーブル1100のデータの内容を反映した業務処理プログラムを生成するために、予め業務処理プログラム生成テーブル1200のプログラム生成ロジック1204ごとに用意する業務処理プログラム生成テンプレートを用いて業務処理プログラムを生成する。図１４（ａ）は、業務処理プログラム生成テーブルのデータである1210のプログラム生成ロジックに対応する業務処理プログラム生成テンプレートである。この業務処理プログラム生成テンプレートによって例えば図１４（ｂ）に示す引数となる判定対象1402が被保険者であるか否か（trueかfalse）を判定する関数（被保険者判定関数）を含む業務処理プログラムが生成される。図１４（ａ）中の業務処理プログラム生成テンプレートの括弧で括る1410の商品IDや1412の約款要素部品指定情報IDや1414の対象被保険者といった箇所を、それぞれ概念モデル定義テーブル1100で定義する商品ID1104や危険担保約款要素部品指定情報ID1106や概念内容1108の値に置き換えて図１４（ｂ）に示す業務処理プログラムが生成される。すなわち、図１４（ｂ）の業務プログラム中のshn5678,aa0123および「記名被保険者」「記名被保険者の配偶者」は、概念モデル定義テーブル1100から取得され、プログラムのテンプレートに埋め込まれたデータである。「判定対象」1402には、各トランザクションのデータが入力される。
【００６０】
保険業務において新たな保険商品を販売する際には、新たな保険商品契約に係る保険約款を作成する。新しい保険約款は既存の保険約款の内容を一部変更して作られることがある。この場合、本発明によれば、保険約款の変更箇所さえ特定できれば、これに合わせて既存の約款情報を構成する部品の一部を交換するだけで、容易に新しい保険約款に係る保険業務システムを開発することができる。このようにして、保険業務システムの保守を容易にすることができる。
【００６１】
このように、本発明の約款に係る業務システム開発方法によれば、約款の内容を正確に反映させた約款に係る業務システムの開発を可能にする。
【００６２】
上述の実施形態では保険を例にして説明したが、本発明は保険に限らず契約の定型的な処理を遂行するための契約条項である約款に係る業務システムの開発に適用可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明のシステム構成の一例を示すシステム構成図である。
【図２】本発明に係る計算機システム構成の一例を示すシステム構成図である。
【図３】約款情報データベースのテーブル構成の一例を示す図である。
【図４】約款要素部品テーブルの構成及びデータの一例を示す図である。
【図５】約款要素結合部品テーブルの構成及びデータの一例を示す図である。
【図６】商品情報テーブルの構成及びデータの一例を示す図である。
【図７】約款要素部品指定情報テーブルの構成及びデータの一例を示す図である。
【図８】約款要素結合部品指定情報テーブルの構成及びデータの一例を示す図である。
【図９】概念モデル生成ルールテーブルの構成及びデータの一例を示す図である。
【図１０】モデル生成ロジックの処理フローの一例を示す図である。
【図１１】概念モデル定義テーブルの構造及びデータの一例を示す図である。
【図１２】業務処理プログラム生成テーブルの構造及びデータの一例を示す図である。
【図１３】プログラム生成ロジックの処理フローの一例を示す図である。
【図１４】業務処理プログラム生成テンプレートと生成された業務処理プログラムの一例を示す図である。
【図１５】処理手順の一例を示す約款処理部における処理フロー図である。
【図１６】処理手順の一例を示す概念モデル生成部における処理フロー図である。
【図１７】処理手順の一例を示す業務処理プログラム生成部における処理フロー図である。
【図１８】約款情報編集画面の一例である。
【図１９】約款要素部品選択画面の一例である。
【図２０】約款要素結合部品選択画面の一例である。
【図２１】概念モデル表示画面の一例である。
【符号の説明】
【００６４】
100：約款、102：約款によるプログラム生成装置、104：約款情報データベース、106：概念モデル生成部、108：概念モデルデータベース、110：業務処理プログラム生成部、112：業務処理プログラム生成ルールデータベース、114：業務処理プログラム、120：プログラム生成装置、300：約款要素部品テーブル、302：約款要素結合部品テーブル、304：商品情報テーブル、306：約款要素部品指定情報テーブル、308：約款要素結合部品指定情報テーブル
【図１】
2008191766.tif 000003
【図２】
2008191766.tif 000004
【図３】
2008191766.tif 000005
【図４】
2008191766.tif 000006
【図５】
2008191766.tif 000007
【図６】
2008191766.tif 000008
【図７】
2008191766.tif 000009
【図８】
2008191766.tif 000010
【図９】
2008191766.tif 000011
【図１０】
2008191766.tif 000012
【図１１】
2008191766.tif 000013
【図１２】
2008191766.tif 000014
【図１３】
2008191766.tif 000015
【図１４】
2008191766.tif 000016
【図１５】
2008191766.tif 000017
【図１６】
2008191766.tif 000018
【図１７】
2008191766.tif 000019
【図１８】
2008191766.tif 000020
【図１９】
2008191766.tif 000021
【図２０】
2008191766.tif 000022
【図２１】
2008191766.tif 000023