(57)【要約】【課題】ドキュメント整合性検査において正確性を確保しながら、効率的にチェックすることを可能にする。【解決手段】仕様書の文書中からキーワード文字を含む文字列を洗い出し、さらに不要文字の削除を行い、整合性チェックの対象となるチェック対象項目名称を抽出するとともに、チェック対象項目名称は他仕様書と比較して整合性チェックを行う。チェック対象項目名称の抽出は、キーワード（例えば、「テーブル．」や「Ｔ．」）を使用して仕様書を検索し、キーワードを含む文字列を一旦洗い出す。この段階では不要な文字も含まれてしまうので、区切文字を使用して不要文字の削除を行い、チェック対象の文字列であるチェック対象項目名称のみを抽出する。仕様書中の特定座標（例えば、１つの枠の中）に項目名称が複数記載されている場合、分離してチェック対象項目名称のみを抽出する。【選択図】図１
2008186356.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの制御により、仕様書の文書中からキーワード文字を含む文字列を抽出し、他仕様書と比較して整合性チェックを行うドキュメントの整合性検査支援方法において、
該コンピュータは、キーワードを使用して前記仕様書を検索し、該キーワードを含む文字列を一旦洗い出し、抽出対象文字列と不要文字との区切りを判定するための区切文字を用いて不要文字を削除し、チェック対象の文字列であるチェック対象項目名称のみを抽出することを特徴とするドキュメントの整合性検査支援方法。
【請求項２】
請求項１に記載のドキュメントの整合性検査支援方法において、
前記他仕様書と比較して整合性チェックを行う際に、当該仕様書中の例えば１つの枠の中などの特定座標に項目名称が複数記載されている場合には、改行コード、カンマを含む特定文字の前後で、項目名を分離してチェック対象となる項目名称のみを抽出することを特徴とするドキュメントの整合性検査支援方法。
【請求項３】
コンピュータの制御により、フローチャートを含む図形を用いた仕様書を対象に図形に記載されている文字列からチェック対象項目名称のみを抽出することで、他仕様書と比較して整合性チェックを行うドキュメントの整合性検査支援方法において、
該コンピュータは、前記図形からチェック対象項目名称を抽出するため、項目名称の記載パターンに応じて、下記（ａ）〜（ｄ）の処理を項目名称が抽出できるまで順に行い、抽出したチェック対象項目名称が他仕様書に存在し、かつ名称が一致するか否かをチェックすることを特徴とするドキュメントの整合性検査支援方法。
（ａ）該図形に直接文字列が記入されている場合、その文字列を抽出する。
（ｂ）該図形の外接矩形内に文字列が記入された図が存在する場合、その図形に記載された文字列を抽出する。
（ｃ）該図形の外接矩形と接し、かつ文字列が記入されている図が存在する場合、その図形に記載された文字列を抽出する。
（ｄ）該図形の外接矩形の左上、および右下の座標を求め、その座標の範囲内の下地に文字列が記載されている場合、該当の文字列を抽出する。
【請求項４】
コンピュータの制御により、仕様書の文書中からキーワード文字を含む文字列を抽出し、他仕様書と比較して整合性チェックを行うドキュメントの整合性検査支援システムにおいて、
チェック対象ドキュメント１と比較対象となるもう一方の他仕様書であるチェックマスタドキュメント２を入力して、チェック対象ドキュメント１からチェック対象項目名称の抽出を行うチェック前処理部と、
項目名称抽出処理、項目名称分離処理、および図形とテキストの関連付け処理を行うデータ抽出処理部と、
整合性チェック処理のために、主項目の整合性チェック処理、主項目と副項目の整合性チェック処理、および、不良密度の算出処理を行い、抽出した項目名称の整合性を確認し、確認結果をチェック結果データベースに登録するチェック処理部と、
データ抽出処理の処理分類を格納している処理分類データベースと、
項目名称を抽出する際の検索キーとなる情報を格納したキーワードデータベースと、
抽出した文字列中の項目名称を抽出するための情報を格納した区切・分離文字データベースを具備したことを特徴とするドキュメントの整合性検査支援システム。
【請求項５】
コンピュータの制御により、仕様書の文書中からキーワード文字を含む文字列を抽出し、他仕様書と比較して整合性チェックを行うドキュメントの整合性検査支援用プログラムであって、
該コンピュータに、キーワードを使用して前記仕様書を検索し、該キーワードを含む文字列を一旦洗い出す手順、抽出対象文字列と不要文字との区切りを判定するための区切文字を用いて不要文字を削除する手順、チェック対象の文字列であるチェック対象項目名称のみを抽出する手順、前記他仕様書と比較して整合性チェックを行う際に、当該仕様書中の例えば１つの枠の中などの特定座標に項目名称が複数記載されている場合には、改行コード、カンマを含む特定文字の前後で、項目名を分離してチェック対象となる項目名称のみを抽出する手順を、実行するためのドキュメントの整合性検査支援用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア品質を高めるため、ドキュメントの整合性を効率的かつ正確に検査するドキュメントの整合性検査支援システムおよび方法、ならびにそのプログラムに関する。
【背景技術】
【０００２】
仕様書などのドキュメントは、最終的なソフトウェア品質を大きく左右する重要な成果物である。このドキュメントに対して、１）ドキュメントの整合性（仕様書間の記述に不整合が無いか）、２）設計および製造品質は確保できているか、という観点で検査を行っている。従来、１）のドキュメント整合性検査は、手作業により目視確認を行う必要があった。これに対して、例えば、特開平５−１４３３０４号公報（特許文献１参照）に記載の『整合性検査方式』は、検査を高速に行えるようにするとともに、仕様書データの形式の変更時にも検査部分を変更する必要がないようにしたものである。
【０００３】
上記整合性検査方式では、仕様書データ記憶手段が設けられ、この手段は仕様書データの作成時にキーボードやマウスから編集／検査指示入力手段を介して入力された関連データ作成指示に応じて起動され、仕様書データ編集手段が管理するメモリ上の仕様書データから整合性検査に必要な関連データを作成して、関連データ記憶／検索手段により外部記憶装置に記憶する。関連データ作成手段は、メモリ上のデータフロー図の仕様書データのデータ構造をもとに、規則を検査するための関連データを作成する。関連検査手段は、キーボードやマウスから編集／検査指示入力手段を介して入力された関連検査指示に応じて起動され、関連データ記憶／検索手段により外部記憶装置から整合性検査に必要な検索条件で関連データを検索する。検査としては、例えば、上位の処理に対してのデータフローの入出力と詳細化した下位のデータフロー図に対してのデータフローの入出力とが一致していなければならないので、これを検査により確認する。
【０００４】
【特許文献１】特開平５−１４３３０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ドキュメントの整合性検査は、従来、目視確認により実施されており、いわゆる手作業で行われていたため、チェック漏れやチェック誤りなどが発生し、十分な検査ができなかった。また、検査作業に費やす工数が増大していた。特に、大規模開発プロジェクトでは、仕様書の頁数が数万ページになるため、数百時間もの工数を必要としている。
前記公報に記載の『整合性検査方式』は、仕様書を計算機自身で管理するＣＡＳＥシステムにおいて記憶装置に記憶されている複数の仕様書データ間の整合性を検査する方式である。
【０００６】
しかし、以下の１）〜３）の技術は未だ開示されておらず、独自に解決する必要があった。
１）仕様書の中からチェック対象項目のみを抽出し、他仕様書との整合性をチェックする技術。
２）仕様書中の同一枠内に複数のチェック対象項目が記載されている場合、個々の項目名称を正しく抽出した上で、他仕様書との整合性チェックを行う技術。
３）フロー図等の図形からチェック対象項目のみを抽出し、他仕様書との整合性をチェックする技術。
【０００７】
（目的）
本発明の目的は、ドキュメント整合性検査において正確性を確保しながら、上記の各項目１）〜３）を効率的にチェックすることが可能なドキュメントの整合性検査支援システムおよび方法、ならびにそのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明のドキュメントの整合性検査支援システムは、イ）仕様書の文書中からキーワード文字を含む文字列を洗い出し、さらに不要文字の削除を行い、整合性チェックの対象となるチェック対象項目名称を抽出するとともに、チェック対象項目名称は他仕様書と比較して整合性チェックを行う。
チェック対象項目名称の抽出は、キーワード（例えば、「テーブル．」や「Ｔ．」）を使用して仕様書を検索し、キーワードを含む文字列を一旦洗い出す。この段階では不要な文字も含まれてしまうので、区切文字（＊１）を使用して不要文字の削除を行い、チェック対象の文字列であるチェック対象項目名称のみを抽出する。
なお、１：区切文字とは、助詞、接続詞、助動詞、その他記号などの抽出対象文字列と不要文字との区切りを判定するのに使用する語のことである。
【０００９】
また、本発明のドキュメントの整合性検査支援システムは、ロ）仕様書中の特定座標（例えば、１つの枠の中）に項目名称が複数記載されている場合、分離してチェック対象項目名称のみを抽出する。チェック対象項目名称は、他仕様書と比較して整合性チェックを行う。１枠中に複数の項目名称が混在している場合には、改行コード、カンマなどの特定文字の前後で項目名を分離し、チェック対象となる項目名称を抽出する。
【００１０】
また、本発明のドキュメントの整合性検査支援システムは、ハ）フロー図などの図形を用いた仕様書を対象に図形に記載されている文字列からチェック対象項目名称のみを抽出する。チェック対象項目名称は、他仕様書と比較して整合性チェックを行う。図形からチェック対象項目名称を抽出するため、項目名称の記載パターンに応じた処理が必要となる。
以下、（ａ）〜（ｄ）の処理を項目名称が抽出できるまで順に行い、抽出したチェック対象項目名称が他仕様書に存在し、かつ名称が一致するか否かをチェックする。
（ａ）図形に直接文字列が記入されている場合、その文字列を抽出する。
（ｂ）図形の外接矩形と接し、かつ文字列が記入されている図が存在する場合、その図形に記載された文字列を抽出する。
（ｃ）図形の外接矩形の左上、および右下の座標を求め、その座標の範囲内の下地（例えば、表計算ソフトのセル等に該当）に文字列が記載されている場合、該当の文字列を抽出する。
【発明の効果】
【００１１】
本発明によれば、ドキュメント整合性検査において、正確性を確保しつつ効率的にチェックすることが可能となった。
【発明を実施するための最良の形態】
【００１２】
以下、図面に従って本発明の実施形態を説明する。
図１は、本発明の一実施形態に係るドキュメント整合性チェック装置の全体構成図である。
チェック対象項目名称を抽出するため、チェック対象ドキュメント１と比較対象となるもう一方の他仕様書であるチェックマスタドキュメント２を入力する。
ドキュメントの整合性チェック装置は、チェック対象ドキュメント１からチェック対象項目名称の抽出を行うチェック前処理部３、抽出した項目名称の整合性を確認し、確認結果をチェック結果ＤＢ５に登録するチェック処理部４、アウトプットとしてチェック結果を格納するチェック結果ＤＢ５、データ抽出処理の処理分類を格納している処理分類ＤＢ６、項目名称を抽出する際の検索キーとなる情報を格納したキーワードＤＢ７、抽出した文字列中の項目名称を抽出するための情報を格納した区切・分離文字ＤＢ８から構成されている。
【００１３】
さらに、チェック前処理部３は、チェック内容判別処理部３ａとデータ抽出処理部からなり、データ抽出処理部は、項目名称抽出処理部３ｂ、項目名称分離処理部３ｃ、図形とテキストの関連付け処理部３ｄからなる。また、チェック処理部４の整合性チェック処理部は、主項目の整合性チェック処理部４ａ、主＋副項目の整合性チェック処理部４ｂ、不良密度の算出処理部４ｃからなる。
【００１４】
図２は、図１に示すドキュメント整合性チェック装置の動作フローチャートであり、図３は処理分類ＤＢの内部構成を示す図である。
図２のステップ２０１〜２０６がチェック前処理部３の処理に当該し、ステップ２０７〜２１０がチェック処理部４の処理に該当する。
図３の処理分類ＤＢ６の内部構成として、上方に項目説明があり、チェック処理ＩＤ、チェック名称、チェック対象ドキュメント、・・・等の項目名に対する内容説明が記載されている。また、データ例として、チェック名称と、各チェックにおけるドキュメントと処理パターン区分と対象分類や対象カラム３０１〜３０７が記載されている。
図２のステップ２０１にて検査担当者がチェックを行いたい内容に該当するチェック処理ＩＤを指定すると、図３に示す処理分類ＤＢ６を参照して、チェック処理ＩＤをキーとして、図３に示すチェック名称３０１〜３０７を取得する。ここで取得した項目（チェック対象ドキュメント３０１、チェックマスクドキュメント３０２、データ抽出処理パターン区分３０３、チェック処理パターン区分３０４、抽出対象分類３０６、チェック対象カラム３０６、チェックマスクカラム３０７）を各処理部でのパラメタとして使用する。
【００１５】
図１７は、チェック結果ＤＢの構成図である。
図１７のチェック結果ＤＢには、項目説明と、それらのデータ例として、１．出力例（ＩＤ／名称チェック（プログラム仕様書−ＤＢ））、２．出力例（ＩＤ／名称チェック（処理フロー処理））、３．出力例（項目Ｉ／Ｏチェック（帳票））の３つの例が示されている。
ステップ２０２にて、チェック対象ドキュメント３０１に該当する仕様書を入力し、ステップ２０３でチェック対象ドキュメント３０１の頁数をカウントする。また、ステップ２０４では、チェックマスタドキュメント３０２に該当する仕様書（または定義書など）を入力する。
ステップ２０５にて、処理分類ＤＢ６より取得したデータ抽出処理パターン区分３０３の処理を実行し、チェック対象ドキュメント１よりチェック対象の項目名称を抽出して、項目名称とその記載位置情報を図１７に示すチェック結果ＤＢの１７０１および１７０２へ格納する。
【００１６】
データ抽出処理パターンは、図４の項目名称抽出処理、図９の項目名称分離処理、および図１２の図形とテキストの関連付け処理に分類される。これらについて、以下順次、入力例を挙げて説明する。
【００１７】
図２のステップ２０６にて、チェック結果の誤りを防止するために、ステップ２０５で抽出した項目名称の正規化を行う。全角に変換できる文字は全角に変換し、その他、スペースや改行コードなど、項目の名称として不要な記号などを取り除く。
チェック処理部４の処理に移り、ステップ２０７にて処理分類ＤＢ６より取得した「チェック処理パターン区分３０４」の処理を実行し、ステップ２０７で正規化を行った項目名称の整合性チェックを行う。
【００１８】
図１５は、主項目の整合性チェック処理の動作フローチャートであり、図１６は主＋副項目の整合性チェック処理の動作フローチャートである。
ステップ２０７のチェック処理パターンは、図１５の主項目の整合性チェック処理と、図１６の主＋副項目の整合性チェック処理とに分類される（これらについては、以降において入力例を挙げて説明する）。
図２のステップ２０８にて、ステップ２０７の処理でチェック結果が「×」または「一部一致」となった件数をカウントし、件数を図１７に示すチェック結果ＤＢの１７０３へ格納する。
ステップ２０９にて、ステップ２０８でカウントした不良件数と、ステップ２０３にてカウントしたチェック対象のドキュメントの頁数から不良密度を算出し、図１７のチェック結果ＤＢの１７０４に格納する。
【００１９】
〔項目名称抽出処理〕
図４は、項目名称抽出処理部３ｂの動作フローチャートである。
項目名称抽出処理は、主に文章にて記載された仕様書中からチェック対象項目名称を抽出する処理である。まず、キーワードＤＢ７を参照し、抽出対象分類５０１が処理分類ＤＢで取得した抽出対象分類３０５と一致するレコードを取得する（ステップ４０１）。なお、図５に、キーワードＤＢ７のＤＢ構成図が示されている。例えば、ＤＢのチェックを行う場合には、抽出対象分類５０１が「ＤＢ」となっているレコード５０２を取得する。
図５のキーワードＤＢより取得したレコードのキーワード５０３で、チェック対象ドキュメント内のキーワード５０３を含む文字列を行単位に抽出する。
図６は、チェック対象ドキュメント例を示す図である。ここでは、チェック対象ドキュメント内の例えば、６０１などが行単位に抽出される。このとき、一つの行に複数回「キーワード」を含んでいる場合は（６０２など）、その回数分抽出する。ただし、２回目以降はキーワード以降の文字列のみを抽出する（ステップ４０２）。
【００２０】
図７は、区切・分離文字ＤＢのＤＢ構成図である。
図４において、区切・分離文字ＤＢ８を参照して、区切文字区分７０１＝‘１’となるレコードを１件取得する（ステップ４０３）。なお、区切文字とは、助詞、接続詞、助動詞、その他記号など、形態素の区切りを判定するのに使用する語のことであり、以後、このように定義する。
図７の区切・分離文字ＤＢから取得したレコードの区切・分離文字７０２が２チェックマスタドキュメントに記載されている項目名称中に存在するか否かの判定を行う（ステップ４０４）。具体的には、図３の処理分類ＤＢより取得したチェックマスタカラム３０７の範囲に区分・分離文字７０２が存在するか否かというチェックを行う。
【００２１】
図８は、チェックマスタドキュメント例（テーブル定義書）を示す図である。
チェックマスタカラム３０７の範囲に区切・分離文字７０２が存在するかの判定は、例えば、図８では８０１の範囲に区切・分離文字７０２が記載されているか否かを判定する。
区切・分離文字７０２が８０１の範囲に存在しない場合には、区切・分離文字７０２が図６のチェック対象ドキュメントから抽出した文字列に含まれるか否かの判定を行う（ステップ４０５）。含まれる場合には、区切・分離文字７０２が文字列内にあるキーワード５０３より前にあるか後にあるかを判定し（ステップ４０６、４０８）、前にある場合には区切・分離文字７０２から前の文字列を削除する（ステップ４０７）。後方にある場合には区切・分離文字７０２から後にある文字列を削除する（ステップ４０９）。
【００２２】
次に、図７の区切・分離文字ＤＢから取得したレコード全てについてステップ４０３〜４０９の処理を繰り返し行い（ステップ４１０）、チェック対象ドキュメント中のキーワードを含む全ての文字列についてステップ４０２〜４１０の処理を繰り返す（ステップ４１１）。
キーワードの前後にある文字列をそれぞれチェック対象項目名称として抽出し、図１７のチェック結果ＤＢの１７０１へ格納する（ステップ４１２）。例えば、６０３の文字列（図６）に対して、区切・分離文字による一連の処理を行うと、７０２の区切・分離文字にて文字列の削除を行い、図１７のチェック結果ＤＢの１７０５、１７０６、１７０７、１７０８のように抽出される。
【００２３】
〔項目名称分離処理〕
図９は、項目名称分離処理の動作フローチャートであり、図１０はチェック対象ドキユメントの一例を示す図である。
項目名称分離処理は、チェック対象ドキュメント１中の特定の座標（例えば、１つの枠の中）にチェック対象項目名称が複数記載されている場合、それらを個別の名称に分離する処理である。
チェック対象ドキュメントのうち、図３の処理分類ＤＢより取得したチェック対象カラムの範囲に記載された文字列を抽出する（ステップ９０１）。
図７の区切・分離文字ＤＢを参照し、分離文字対象区分７０３＝‘１’となるレコードを取得する（ステップ９０２）。ここで、分離文字とは、改行コード、カンマ等、個々の項目名称の境を判定するために使用する語のことであり、以後、この定義を用いる。
【００２４】
図１１は、チェックマスタドキュメント例（ファイル編集仕様）を示す図である。
図７の区切・分離文字ＤＢから取得したレコードの区切・分離文字７０２が、図１１のチェックマスタドキュメントに記載されている項目名称中に存在するか否かの判定を行う（ステップ９０３）。具体的には、図３の処理分類ＤＢより取得したチェックマスタカラム３０７の範囲に区切・分離文字７０２が存在するか否かのチェックを行う。例えば、図１１では、１１０１の範囲に記載されているか否かを判定する。
１１０１の範囲に区切・分離文字７０２が存在しない場合には、区切・分離文字７０２が図１０のチェック対象ドキュメント例から抽出した文字列に含まれるか否かの判定を行う（ステップ９０４）。含まれる場合には、区切・分離文字７０２が文字列中の何バイト目にあるかを取得する（ステップ９０５）。
【００２５】
文字列中にバイト位置を取得していない区切・分離文字７０２がなくなるまで、ステップ９０４〜９０５の処理を繰り返し行い（ステップ９０６）、図７の区切・分離文字ＤＢから取得したレコード全てについてステップ９０２〜９０６の処理を繰り返す（ステップ９０７）。
取得したバイト数で、図１０のチェック対象ドキュメント例から抽出した文字列を区切り、各々を項目名称として抽出し、図１７のチェック結果ＤＢの１７０１へ格納する（ステップ９０８）。また、抽出した文字列の記載位置情報を１７０２へ格納する。
例えば、１００１の文字列に対して、ステップ９０１〜９０８の一連の処理を行うと、７０２の区切・分離文字にて文字列の分離を行い、１７０９、１７１０のように抽出される（図１７）。
【００２６】
〔図形とテキストの関連付け処理〕
図１２は、図形とテキストの関連付け処理の動作フローチャートであり、図１３はチェック対象ドキュメント例（処理フロー）を示す図である。
図１２の図形とテキストの関連付け処理は、チェック対象の項目が図形を使用して記載されている場合に、その項目名称を特定して抽出する処理である。例えば、図１３のチェック対象ドキュメント中のＤＢをチェックしたい場合に、１３０１などのＤＢの図形をドキュメント中から全て抽出する（ステップ１２０１）。
抽出した図形に文字列が記入されているか否かを判定する（ステップ１２０２）。記入されている場合には、その文字列を項目名称として抽出し、図１７のチェック結果ＤＢの１７０１に格納する（ステップ１２０３）。また、図形に記載された文字列であるため、記載位置情報なしとして１７０２へ「−」を設定する。例えば、図１３の１３０１では図形に「ＫＳＳＮ００２０」と記載されているため、「ＫＳＳＮ００２０」を項目名称、「−」を記載位置情報として抽出する。
【００２７】
記入されていない場合、抽出した図形の外接矩形内に文字列が記入された図が存在しないか否かを判定する（ステップ１２０４）。存在する場合、該当の図形に記入された文字列を項目名称として抽出し、１７０１に格納する（ステップ１２０５）。また、図形に記載された文字列であるため、記載位置情報なしとして１７０２へ「−」を設定する。例えば、図１３の１３０２の場合、図形の外接矩形内に「住民税額算出」と記載された図形が存在するため、「住民税額算出」を項目名称、「−」を記載位置情報として抽出する（１３０２、１３０３の破線は無色の線を意味する）。
【００２８】
該当する図が存在しない場合、抽出した図形の外接矩形と接し、かつ文字列が記入されている図がないか否かを判定する（ステップ１２０６）。存在する場合、該当の図に記入された文字列を項目名称として抽出し、１７０１に格納する（ステップ１２０７）。
また、図形に記載された文字列であるため、記載位置情報なしとして１７０２へ「−」を設定する。例えば、図１３の１３０３の場合、図形の外接矩形に「日次」と記載された図形が接しているため、「日次」を項目名称として抽出する。
【００２９】
該当する図形が存在しない場合、抽出した図形の外接矩形の左上、および右下の座標を求め、その座標の範囲内の下地（例えば、表計算ソフトのセル等に当る）に文字列が記載されていないか否かを判定する（ステップ１２０８）。記載されている場合は、該当の文字列を項目名称として抽出し、１７０１に格納する（ステップ１２０９）。また、抽出した文字列の記載位置情報を１７０２へ格納する。例えば、図１３の１３０４のように図形の外接矩形の覆う範囲の下地に文字列が記載されている１３０５が項目名称の一つとして抽出される。
文字列が記載されていない場合には、項目名称抽出失敗として、「★抽出失敗★」の文字列を項目名称として１７０１に格納する（ステップ１２１０）。また、抽出できた文字列が存在しないので、記載位置情報として１７０２へ「−」を出力する。
【００３０】
〔主項目の整合性チェック処理〕
図１５は、主項目の整合性チェック処理の動作フローチャートである。
主項目の整合性チェック処理は、抽出した主項目がチェックマスタドキュメント２中に存在するか、および、抽出した主項目の組合せがチェックマスタドキュメント２側に存在するか、をチェックする処理である。ここで、主項目とは、例えば、ＤＢ名称やファイルＩＤ等、使用するチェックマスタドキュメント２内でユニークとなる項目のことである。
チェック対象ドキュメント１から抽出した主項目を、１件取得する（ステップ１５０１）。次に、主項目がチェックマスタドキュメント２に存在するか否かの判定を行う（ステップ１５０２）。存在する場合には、チェック結果として、図１７のチェック結果ＤＢの１７１１に「○」を出力する（ステップ１５０４）。
【００３１】
存在しない場合、チェックマスタドキュメント２中に主項目を含む項目がないか否か、または、主項目の名称の一部と一致する項目がチェックマスタドキュメント２中に存在しないか否かの判定を行う（ステップ１５０３）。存在する場合には、チェック結果として、１７１１に「一部一致」を出力する（ステップ１５０５）。存在しない場合、１７１１に「×」を出力する（ステップ１５０６）。
図１７のチェック結果ＤＢのレコード内に主項目が残っている場合には、ステップ１６０４へ戻り、処理を繰り返す（ステップ１５０７）。例えば、１７０５と１７０６とが主項目の場合、１７０５をチェック後に１７０６についてもチェックを実行する。
【００３２】
主項目のチェック結果の全てを確認し（ステップ１５０８）、一つでも「×」，「一部一致」がある場合には、主項目組合せをチェック結果として、１７１１に「−」を出力する（ステップ１５１２）。これは、主項目の組合せがマスタ側にあるか否かと言うチェックは、各々の主項目が正しいことが前提であり、各主項目のチェックでＮＧとなっている状態でチェックを実行しても、妥当な結果を得られないためである。
主項目のチェック結果が全て「○」である場合、図１７のチェック結果ＤＢの１レコード内の主項目１７０５，１７０６について、主項目全体の組合せがチェックマスタドキュメント２側に存在するか否かの判定を行う（ステップ１５０９）。主項目の組合せがチェックマスタドキュメント２側に存在する場合には、チェック結果として１７１１に「○」を（ステップ１５１０）、存在しない場合には「×」を、それぞれ出力する（ステップ１５１１）。
【００３３】
〔主＋副項目の整合性チェック処理〕
図１６は、主＋副項目の整合性チェック処理を示す動作フローチャートである。
図１６の主＋副項目の整合性チェック処理は、チェック処理対象ドキュメント１より抽出した項目名称に副項目が存在する場合に、主項目との組合せがチェックマスタドキュメント２側に存在するか否かをチェックする処理である。なお、副項目とは、例えばＤＢの属性名など、使用するチェックマスタドキュメント２内でユニークにならない可能性のある項目のことである。
【００３４】
図１７のチェック結果ＤＢの１レコードに対して、図１５の主項目の整合チェック処理を実行する（ステップ１６１０）。実行した結果、１７１１のうち主項目のチェック結果に「×」や「一部一致」が存在するか否かを判定し（ステップ１６０２）、存在する場合には、１７１１の中にある副項目のチェック結果全てに対して「−」を出力する（ステップ１６０３）。副項目は、チェックマスタドキュメント２側でユニークではないため、主項目との組合せでチェックする必要があるが、主項目に誤りがあると正しいチェック結果が得られないため、チェックを行わない。
【００３５】
図１７のチェック結果ＤＢのレコード内の副項目を１件取得する（ステップ１６０４）。
主項目と副項目の組合せがチェックマスタドキュメント２に存在するか否かの判定を行う（ステップ１６０５）。存在する場合には、チェック結果として、１７１１に「○」を出力する（ステップ１６０６）。存在しない場合には、１７１１に「×」を出力する（ステップ１６０７）。
図１７のチェック結果ＤＢのレコード内に副項目が残っている場合には、ステップ１６０４に戻り、処理を繰り返す（ステップ１６０８）。
【００３６】
主＋副項目の組合せチェック結果を除く全てのチェック結果を確認し（ステップ１６０９）、一つでも「×」，「一部一致」がある場合、主＋副項目組合せ結果として１７１１に「−」を出力する（ステップ１６１３）。主＋副項目全ての項目名称の組合せがマスタ側にあるか否かというチェックは、全てのチェック対象項目名称が正しいことが前提であり、各々の項目名称のチェックや主項目の組合せチェックでＮＧとなっている状態でチェックしても無意味なためである。
【００３７】
主＋副項目の組合せチェック結果を除く全てのチェック結果が「○」の場合、図１７のチェック結果ＤＢの１レコード内の主項目と副項目全てについて、全体の組合せがチェックマスタドキュメント２側に存在するか否かの判定を行う（ステップ１６１０）。
図１７のチェック結果ＤＢのレコード内全ての組合せがチェックマスタドキュメント２側に存在する場合には、チェック結果として１７１１に「○」を（ステップ１６１１）、存在しない場合には「×」を、それぞれ出力する（ステップ１６１２）。
【００３８】
なお、図２、図４、図９、図１２、図１５、図１６の各フローをプログラム化して、完成したプログラムをＣＤ−ＲＯＭなどの記録媒体に格納し、これをコンピュータに装着して、記録媒体から読み出したプログラムをコンピュータのメモリにインストールし、これを実行することにより、本発明を容易に実現することができる。また、これらのプログラムを、インターネットを介して他のコンピュータにダウンロードすることを常時行うにより、プログラムの汎用化も可能となる。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施例に係るドキュメントの整合性検査支援システムの全体ブロック図である。
【図２】図１のドキュメントの整合性検査支援システムの一連の処理フローチャートである。
【図３】本発明で使用している内部ＤＢである処理分類ＤＢのデータ構成図である。
【図４】本発明で使用する項目名称抽出処理部の動作フローチャートである。
【図５】本発明で使用している内部ＤＢであるキーワードＤＢのデータ構成図である。
【図６】本発明の項目名称抽出処理部でのチェック対象ドキュメント例を示す図である。
【図７】本発明で使用している内部ＤＢである区分・分離文字ＤＢのデータ構成図である。
【図８】本発明の項目名称抽出処理部でのチェックマスタドキュメント例を示す図である。
【図９】本発明の項目名称分離処理部の動作フローチャートである。
【図１０】本発明の項目名称分離処理部でのチェック対象ドキュメント例を示す図である。
【図１１】本発明の項目名称分離処理部でのチェックマスタドキュメント例を示す図である。
【図１２】本発明における図形とテキストの関連付け処理の動作フローチャートである。
【図１３】本発明の図形とテキストの関連付け処理部でのチェック対象ドキュメント例を示す図である。
【図１４】本発明の図形とキテストの関連付け処理部でのチェックマスタドキュメント例を示す図である。
【図１５】本発明の主項目の整合性チェック処理の動作フローチャートである。
【図１６】本発明の主＋副項目の整合性チェック処理の動作フローチャートである。
【図１７】本発明のアウトプットであるチェック結果ＤＢの構成図である。
【符号の説明】
【００４０】
１  チェック対象ドキュメント
２  チェックマスタドキュメント
５  チェック結果ＤＢ
６  処理分類ＤＢ
７  キーワードＤＢ
８  区分・分離文字ＤＢ
３ａ  チェック内容判別処理部
３ｂ  項目名称抽出処理部
３ｃ  項目名称分離処理部
３ｄ  図形とテキストの関連付け処理部
４ａ  主項目の整合性チェック処理部
４ｂ  主＋副項目の整合性チェック処理部
４ｃ  不良密度の算出処理部
３０１  チェック対象ドキュメント
３０２  チェックマスタドキュメント
３０３  データ抽出処理パターン区分
３０４  チェック処理パターン区分
３０５  抽出対象分類
３０６  チェック対象カラム
３０７  チェックマスタカラム
【図１】
2008186356.tif 000003
【図２】
2008186356.tif 000004
【図３】
2008186356.tif 000005
【図４】
2008186356.tif 000006
【図５】
2008186356.tif 000007
【図６】
2008186356.tif 000008
【図７】
2008186356.tif 000009
【図８】
2008186356.tif 000010
【図９】
2008186356.tif 000011
【図１０】
2008186356.tif 000012
【図１１】
2008186356.tif 000013
【図１２】
2008186356.tif 000014
【図１３】
2008186356.tif 000015
【図１４】
2008186356.tif 000016
【図１５】
2008186356.tif 000017
【図１６】
2008186356.tif 000018
【図１７】
2008186356.tif 000019