(57)【要約】      （修正有）【課題】ソフトウェア開発において仕様変更が発生した際に仕様変更がもたらすチェックリスト及びプログラムソースコードへの影響範囲を抽出する。【解決手段】成果物である仕様書１０２とデータ項目辞書１０１から仕様書情報を抽出し、システム開発の成果物であるチェックリスト１０７と仕様書情報から仕様書１０２とチェックリスト１０７の関連情報および成果物のプログラムソースコード１０９と仕様書情報から仕様書１０２とソースコード１０９の関連情報を抽出する。仕様変更発生時に、仕様変更前と仕様変更後の仕様書情報と比較し、仕様変更部分の情報を抽出する。仕様変更部分の情報と仕様書１０２とチェックリスト１０７の間の関連情報から、仕様変更に伴うチェックリスト１０７への影響範囲の情報を抽出する。仕様変更部分の情報と仕様書１０２とソースコード１０９の間の関連情報から、仕様変更に伴うソースコード１０９への影響範囲を抽出する。【選択図】図１
2007128123.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発において仕様変更が発生した場合に、仕様書の変更がプログラムチェックリストのどの部分に影響を与えるかの情報を抽出するシステムにおいて、
前記ソフトウェア作業の成果物である仕様書を予め定められた統一フォーマットに変換して仕様書情報を生成する手段と、
前記仕様書情報とプログラムチェックリストとデータ項目辞書から仕様書とプログラムチェックリストの関連情報である仕様書-チェックリスト関連情報ファイルを生成する手段と、
前記仕様書情報から仕様変更箇所情報である仕様書変更箇所情報ファイルを生成する手段と、
仕様変更が発生した際には、前記仕様書-チェックリスト関連情報ファイルと前記仕様書変更箇所情報ファイルによってプログラムチェックリストへの影響範囲を抽出する手段とを備えたことを特徴とする仕様変更に伴う影響範囲抽出システム。
【請求項２】
請求項１に記載の影響範囲抽出システムにおいて、
前記仕様書変更箇所情報ファイルを生成する手段は、さらに前記仕様書情報を生成する際に用いた仕様書を示す変更前仕様書情報をさらに用いて、前記仕様書変更箇所情報ファイルを生成することを特徴とする仕様変更に伴う影響範囲抽出システム。
【請求項３】
ソフトウェア開発において仕様変更が発生した場合に、仕様書の変更がプログラムチェックリストのどの部分に影響を与えるかの情報を抽出するシステムで読取可能な記憶媒体に格納されたプログラムであって、当該システムを、
前記ソフトウェア作業の成果物である仕様書を予め定められた統一フォーマットに変換して仕様書情報を生成する手段と、
前記仕様書情報とプログラムチェックリストとデータ項目辞書から仕様書とプログラムチェックリストの関連情報である仕様書-チェックリスト関連情報ファイルを生成する手段と、
前記仕様書情報から仕様変更箇所情報である仕様書変更箇所情報ファイルを生成する手段と、
仕様変更が発生した際には、前記仕様書-チェックリスト関連情報ファイルと前記仕様書変更箇所情報ファイルによってプログラムチェックリストへの影響範囲を抽出する手段として機能させることを特徴とするプログラム。
【請求項４】
請求項３に記載のプログラムにおいて、
前記仕様書変更箇所情報ファイルを生成する手段を、さらに前記仕様書情報を生成する際に用いた仕様書を示す変更前仕様書情報をさらに用いて、前記仕様書変更箇所情報ファイルを生成するよう機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発において仕様変更が発生した際に、開発の中で作成されたプログラムの処理結果の確認テストに用いるチェックリストおよびソフトウェアプログラムのソースコードに対して、発生した仕様変更が与える影響範囲を抽出する技術に関するものである。
【背景技術】
【０００２】
開発作業において、作業の流れの途中で仕様などに変更が生じたとき、その影響範囲を抽出するシステムとしては特許文献１の方法が提案されている。これは、作業の流れで発生するドキュメントなどの成果物の構成を構造形態を用いて管理している際、作業途中に成果物の一部に仕様変更が生じたとき、影響を受ける成果物を抽出するシステムである。このことは、例えば、特許文献１に記載されている。
【０００３】
【特許文献１】特開平９−２２３００８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の影響範囲抽出法では、影響範囲の抽出をドキュメント等の成果物単位で行うシステムであるため、各種成果物に対して影響の有無の情報のみしか取得することができず、成果物中のどの部分に影響があるのかという詳細情報までは抽出することができなかった。
【０００５】
本発明は上記課題を解決し、ソフトウェア開発において仕様変更が生じた際に、プログラムのチェックリストおよびソフトウェアのプログラムソースコードへの影響範囲を抽出する方法を提供することを目的とする。また本発明の他の目的は、仕様変更が生じた際に、その変更に伴いチェックリストおよびプログラムソースコードの修正が完了しているかどうかの情報を抽出することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１および請求項２に記載した発明では、データ項目と対応した各プログラム言語用の項目名が登録されているデータ項目辞書と、システム開発における成果物の１つである仕様書とデータ項目辞書から仕様書情報を抽出する手段と、システム開発における成果物であるチェックリストと仕様書情報から仕様書とチェックリストの関連情報を抽出する手段と、プログラムソースコードと仕様書情報から仕様書とソースコードの関連情報を抽出する手段と、仕様変更時に仕様変更前の仕様書情報と比較して変更されている部分を抽出する手段と、仕様変更情報と仕様書とチェックリストの間の関連情報から仕様変更に伴うチェックリストへの影響範囲情報を抽出する手段と、仕様変更情報と仕様書とソースコードの間の関連情報から仕様変更に伴うプログラムソースコードへの影響範囲情報を抽出する手段とを設ける。
【０００７】
本発明の仕様変更に伴う影響範囲の抽出は次のような手順で行う。まずデータ項目辞書にあらかじめソフトウェア開発において使用されるデータ項目と各プログラム言語用の項目名を登録しておく。データ項目辞書は複数の言語用の項目名を登録可能であるため、ソフトウェアを開発したときに用いたプログラム言語の種類によらない言語非依存のシステムである。
【０００８】
影響範囲の抽出処理を行うにあたり、まずソフトウェア開発における成果物である仕様書、チェックリスト、プログラムソースコードおよびデータ項目辞書から仕様書とチェックリストの関連情報、仕様書とソースコードの関連情報を抽出し、それぞれ仕様書-チェックリスト関連情報ファイル、仕様書-ソースコード関連情報ファイルに格納する処理を以下の手順で実施する。
【０００９】
まず、システム開発時の成果物である仕様書を読み込み、データ項目辞書に登録されているデータ項目を抽出し、一文単位に分割して各分割単位ごとに仕様書IDを付加し、これらの情報を仕様書情報ファイルに格納する。仕様書情報ファイルのレコード形式は仕様書IDと分割済仕様書情報と関連データ項目から構成される。
【００１０】
次に、仕様書情報ファイルとチェックリストから仕様書とチェックリストの間の関連情報を取得する。仕様書情報ファイルの各レコードの関連データ項目名をキーとしてチェックリストの内容を検索し、キーに該当するデータ項目を含むチェックリスト項目を抽出する。ここで仕様書情報ファイルレコードのデータ項目が複数存在する場合は、チェックリスト項目の中に１つでも該当するデータ項目が存在する場合は仕様書-チェックリスト関連情報ファイルに格納する。仕様書-チェックリスト関連情報ファイルのレコード形式は、仕様書ID、チェックリストIDから構成される。
【００１１】
次に、仕様書情報ファイルとプログラムソースコードから仕様書とソースコードの間の関連情報を抽出する。仕様書情報ファイルの各レコードの関連データ項目名をキーとしてデータ項目辞書を参照し、対象プログラム言語の項目名を取得する。取得した項目名をキーとして各言語仕様に沿った言語解析を行い、キーである項目と関連する部分をプログラムソース中から抽出し、仕様書-ソースコード関連情報ファイルに格納する。仕様書-ソースコード関連情報ファイルのレコード形式は、データ項目名以外の項目については各プログラム言語に依存することとなる。例えばCOBOL言語である場合は、データ項目名の他に、プログラムID、シーケンス番号、メインプログラム・呼び出し先プログラムフラグから構成される。オブジェクト指向プログラム言語の場合にはデータ項目名、クラス名、メソッド名、行番号から構成される。
【００１２】
上記までの処理により、ソフトウェア開発時の成果物である仕様書とチェックリスト、ソースコードとの間の関連情報が抽出される。仕様変更が発生した場合は、これらの関連情報を利用して影響範囲を抽出することとなる。
次に、仕様変更が発生した場合に仕様変更に伴う影響範囲情報を抽出する処理は以下の手順で実施する。
【００１３】
まず、仕様変更前の仕様書情報ファイルの分割済仕様書情報をキーとして仕様変更後の仕様書から作成された仕様書情報ファイルを検索して、仕様書情報が変更されている仕様書IDを抽出する。検索方法は仕様変更前の仕様書情報ファイルレコードの分割済仕様書情報と完全に一致するものが仕様変更後の仕様書情報ファイルに含まれているかどうかで行う。仕様変更が発生した部分は仕様書に反映されるので完全一致の検索方法を採用することで仕様変更箇所を抽出することが可能になる。検索した結果、完全に一致する仕様書情報が仕様変更後の仕様書情報ファイルに含まれていない場合は、仕様変更が行われた部分と考えられるため、仕様書変更箇所情報ファイルに格納する。仕様書変更箇所情報ファイルのレコード形式は、仕様書IDと関連データ項目名で構成される。検索した結果が、完全に一致する仕様書情報が仕様変更後の仕様書情報ファイルに含まれていた場合は、その部分は仕様変更が行われていないと考えられるため、仕様変更箇所情報ファイルに格納しない。
【００１４】
次に、仕様書-チェックリスト情報ファイルと仕様変更箇所情報ファイルから仕様変更に伴うチェックリストへ影響部分の情報および仕様書-ソースコード情報ファイルと仕様変更箇所情報ファイルから仕様変更に伴うソースコードへ影響の影響部分の情報を抽出する。
【００１５】
まず、仕様変更に伴うチェックリストへの影響を受ける情報の抽出は以下の手順で行う。仕様変更箇所情報ファイルを読み込み、仕様変更による影響がある仕様書IDを取得する。取得した仕様書IDをキーとして仕様書-チェックリスト関連情報ファイルから影響するチェックリストIDを取得する。仕様書-チェックリスト関連情報ファイルは仕様書IDごとに影響するチェックリストIDが格納されているため、仕様書IDをキーとして仕様変更に伴うチェックリストへの影響範囲情報を取得することが可能である。取得したチェックリストIDをチェックリスト影響範囲情報ファイルとして生成する。このチェックリスト影響範囲情報ファイルを参照することによりユーザは仕様変更に伴い、再確認が必要なチェックリスト項目情報を得ることが可能となる。
【００１６】
続いて、ソースコードへの影響情報の抽出は以下の手順で行う。仕様変更箇所情報ファイルを読み込み、仕様変更により影響を受ける関連データ項目を取得する。取得した関連データ項目名をキーとして仕様書-ソースコード関連情報ファイルから影響するソースコード部分を取得する。仕様書-ソースコード関連情報ファイルはデータ項目ごとに影響するソースコードの情報が格納されているため、データ項目名のみをキーとして影響範囲情報を取得することが可能である。取得した影響範囲情報をソースコード影響範囲情報ファイルとして生成することでユーザは仕様変更に伴い、再確認が必要なソースコード部分を得ることが可能となる。上記のようにしてユーザは仕様変更に伴うチェックリストおよびソースコードへの影響範囲情報を取得すること可能となり、効率的にチェックリストおよびソースコードの再確認、修正作業を行うことが可能となる。
【発明の効果】
【００１７】
以上本発明の仕様変更に伴う影響範囲抽出方法の実施によれば、ソフトウェア開発の中で仕様変更が発生した際に、仕様書を修正する作業を行うだけで、仕様変更によるチェックリストへの影響範囲情報およびソースコードへの影響範囲情報を抽出することが可能となる。影響範囲情報を参照することにより再確認が必要なチェックリスト項目が洗い出されるため、品質確保のために再テストが必要なチェックリスト項目を漏れなく確認できるため、品質向上が期待できる。さらに仕様変更による影響を受けないチェックリスト項目に対する無駄な再テストを行うことを防ぐことができるため、工数削減も期待できる。また、ソースコードへの影響範囲情報を参照することで、修正範囲をあらかじめ抽出できるため、ソースコードを初めから解読して影響範囲を探す工数が削減することが可能であるため工数削減の効果があると考えられる。また、プログラムの修正漏れを防ぐことができるため品質向上が期待できる。
【発明を実施するための最良の形態】
【００１８】
以下本発明の実施の一形態を図面を使用して説明する。図１は本発明の仕様変更に伴う影響範囲抽出システムの実施例の機能ブロック図である。
【００１９】
図１において、仕様変更に伴う影響範囲抽出システム１００は本システムの全体を示しており、データ項目辞書１０１、仕様書情報取得処理部１０３、仕様書-チェックリスト関連情報取得処理部１０５、仕様書-ソースコード関連情報取得処理部１０６、仕様変更情報取得処理部１１３、チェックリスト影響範囲抽出処理部１１５、ソースコード影響範囲抽出処理部１１６から構成される。データ項目辞書１０１はデータ項目の名称と各プログラム言語の名称を登録してある。１０２は外部入力として与えるシステム開発における仕様書である。１０３は仕様書情報取得処理部であり、データ項目１０１と仕様書１０２から既定のフォーマットに変換した仕様書情報ファイル１０４を作成する。１００は仕様書関連情報取得部であり、仕様書-チェックリスト関連情報取得処理部１０５と仕様書-ソースコード関連情報取得処理部１０６を備える。１０７と１０８は外部入力として与えるシステム開発の成果物であるチェックリスト１０７とプログラムソースコード１０８である。仕様書関連情報取得部１００の仕様書-チェックリスト関連情報取得処理部１０５ではデータ項目辞書１０１と仕様書情報ファイル１０４とチェックリスト１０７から仕様書-チェックリスト関連情報ファイル１０９を生成する。仕様書-ソースコード関連情報取得処理部１０６ではデータ項目辞書１０１と仕様書情報ファイル１０４とプログラムソースコード１０８から仕様書-ソースコード関連情報ファイル１１０を生成する。なお、仕様書関連情報取得部１００には仕様書-チェックリスト関連情報取得処理部１０５と仕様書-ソースコード関連情報取得処理部１０６の２つの処理部を備えているため、チェックリスト１０７とソースコード１０８の両方を入力する必要性はない。上記までの過程でシステム開発時における成果物である仕様書１０２とチェックリスト１０７との間の関連情報である仕様書-チェックリスト関連情報ファイル１０９と仕様書１０２とプログラムソースコード１０８との間の関連情報である仕様書-ソースコード関連情報ファイル１１０を抽出する。
【００２０】
続いて仕様変更発生時の影響範囲を抽出する処理を説明する。発生した仕様変更を反映した仕様書１１１から仕様書情報取得処理部１０３で変更後の仕様書情報ファイル１１２を生成する。仕様書変更情報取得処理部１１３では仕様変更前に生成した仕様書情報ファイル１０４と変更後に生成した仕様書情報ファイル１１２を入力として仕様書変更箇所情報ファイル１１４を生成する。チェックリスト影響範囲抽出処理部１１５では仕様書-チェックリスト関連情報ファイル１０９と仕様変更箇所情報ファイル１１４からチェックリスト影響範囲情報ファイル１１７を生成する。ソースコード影響範囲抽出処理部１１６では仕様書-ソースコード関連情報ファイル１１０と仕様変更箇所情報ファイル１１４からソースコード影響範囲情報ファイル１１８を生成する。上記の過程で生成されたチェックリスト影響範囲情報ファイル１１７を参照することにより、開発者は仕様変更によってチェックリストの確認項目を修正しなければならないチェックリスト項目および再テストの必要性があるチェックリスト項目の情報を得ることが可能となる。ソースコード影響範囲情報ファイル１１８を参照することにより、開発者は仕様変更によって影響を受ける可能性を含むソースコードの部分の情報を得ることが可能となる。
【実施例１】
【００２１】
以下、本実施例の動作について説明する。例として、図２が示す仕様書の一部を利用して動作の説明を行う。
【００２２】
図３は、データ項目辞書１００の構成例である。データ項目辞書１００の各レコードはデータ項目名と各プログラム言語の項目名から構成される。システム開発において利用されたプログラム言語の項目名を登録する。図３では例としてCOBOLとJava（登録商標）の情報をレコード情報に含めている。データ項目辞書１００は言語に依存しないため、多言語に対応可能である。
【００２３】
図４と図５はそれぞれ図２の仕様書に基づいてソフトウェア開発が行われた際の成果物であるチェックリスト１０７とプログラムソースコード１０８の一部を示している。図４に示すようにチェックリストはチェックリストIDとチェックリスト確認項目からなる。チェックリスト１０７のチェックリストIDは一意であり、確認項目にはプログラムを確認する際の入力情報や出力情報を記述する。図５に示すプログラムソース１０８のように今回の例ではCOBOLでソフトウェア開発を行った場合の例で説明する。本発明では図１が示すように仕様書情報処理部１０２で仕様書１０１から仕様書情報ファイル１０３を作成する。図６に仕様書情報取得処理部１０２のフローチャートを示す。まず仕様書情報取得処理部１０２では仕様書１０１から一文を読み込む（ステップ６０１）。次にデータ項目辞書１００を参照してステップ６０１で読み込んだ仕様書の文中に含まれるデータ項目名を抽出する（ステップ６０２）。読み込んだ仕様書の情報に仕様書IDを付加し(ステップ６０３)、仕様書ID、読み込んだ仕様書情報の内容、仕様書情報に含まれるデータ項目名を１レコードとして仕様書情報ファイルに書き出す（ステップ６０４）、ステップ６０１からステップ６０４までの処理を仕様書１０１の情報を全て読み込むまで行い、全て読み込んだら処理を終了する（ステップ６０５）。
図７に図２が示す仕様書を入力とした場合に仕様書情報処理部１０２によって生成される仕様書情報ファイル１０３を示す。
【００２４】
続いて本発明のシステムでは仕様書情報ファイル１０３とチェックリスト１０７から仕様書-チェックリスト関連情報取得処理部１０５によって仕様書-チェックリスト関連情報ファイル１０９を作成する。図８に仕様書-チェックリスト関連情報取得処理部１０５のフローチャートを示す。
仕様書-チェックリスト関連情報取得処理部１０５では、まず仕様書情報ファイル１０３から１レコード読み込み、検索対象のデータ項目名を格納する（ステップ８０１、８０２）。次にチェックリスト１０７の情報を１レコード読み込む（ステップ８０３）。ステップ８０３で読み込んだレコードのチェックリスト確認項目からデータ項目辞書１００に登録されているデータ項目名を抽出する（ステップ８０４）。ステップ８０４で抽出したデータ項目の中にステップ８０２で抽出したデータ項目が含まれるかどうかを検索して（ステップ８０５）、含まれない場合は次のチェックリストレコードを読み込む。１つでもデータ項目が含まれる場合は、仕様書-チェックリスト情報ファイル１０９に仕様書IDとチェックリストIDからなるレコードを書き出す（ステップ８０６）。ステップ８０１からステップ８０６までの処理を仕様書情報ファイル１０３が終了するまで繰り返し行う（ステップ８０７）。
【００２５】
図９に、図７が示す仕様書情報ファイル１０３と図４が示すチェックリスト１０７から仕様書-チェックリスト関連情報取得処理部１０５によって生成される仕様書-チェックリスト関連情報ファイル１０９を示す。
【００２６】
続いて、本発明のシステムでは仕様書情報ファイル１０３とプログラムソースコード１０８から仕様書-ソースコード関連情報取得処理部１０６によって仕様書-ソースコード関連情報ファイル１１０を作成する。図１０に仕様書-ソースコード関連情報取得処理部１０６のフローチャートを示す。
【００２７】
仕様書-ソースコード関連情報取得処理部１０６では、まず仕様書情報ファイル１０３から１レコード読み込み、検索対象のデータ項目名を格納する（ステップ１００１、１００２）。データ項目辞書１００を参照してステップ１００２で格納したデータ項目名のプログラム言語名を取得する（ステップ１００３）。ステップ１００３で取得したプログラム言語名をキーとして、プログラムソースコード１０９の解析処理を行い、影響範囲情報を抽出し、仕様書-ソースコード関連情報ファイル１１０に書き出す（ステップ１００４、１００５）。ステップ１００１からステップ１００５までの処理を仕様書情報ファイル１０３が終了するまで繰り返し行う（ステップ１００６）。仕様書-ソースコード関連情報ファイル１１０のレコード形式はプログラム言語に依存して変更する。図１１に対象言語がCOBOLである場合に図７が示す仕様書情報ファイル１０３と図５が示すプログラムソースコード１０８から仕様書-ソースコード関連情報取得処理部１０６によって生成される仕様書-ソースコード関連情報ファイル１１０を示す。図１１が示すように、仕様書-ソースコード関連情報ファイル１１０のレコードはデータ項目名、メインプログラム・呼び出し先プログラム情報フラグ、プログラムID、シーケンス番号からなる。メインプログラム・呼び出し先プログラム情報フラグはプログラムの全体を示すか一部を示すかの情報、プログラムIDは影響するプログラムのプログラムID、シーケンス番号はプログラムソースコードの何ステップ目に影響するかという情報を保持する。
【００２８】
続いて、仕様変更発生時の影響範囲を抽出する処理を、部署コードを英数字5桁から英数字10桁に拡張する、という仕様変更例を用いて説明する。
仕様変更に伴い、仕様書１１１が図１２に示すように変更されている。仕様書情報取得処理部１０２で生成される仕様書情報ファイル１１２は図１３のようになる。次に本発明のシステムでは仕様書変更情報取得処理部１１３によって仕様変更箇所情報ファイル１１４を作成する。図１４に仕様書変更情報取得処理部１１３のフローチャートを示す。
【００２９】
仕様書変更情報取得処理部１１３では、まず仕様変更前の仕様書情報ファイル１０３を読み込み、続いて仕様変更後の仕様書情報ファイル１１２を読み込み、仕様変更前の仕様書情報ファイル１０３と一致する仕様書情報が仕様変更後の仕様書情報ファイル１１２に含まれているかを検索する（ステップ１４０１〜１４０４）、ここで仕様変更前の仕様書情報ファイル１０３に含まれていて仕様変更後の仕様書情報ファイル１１２に含まれていない仕様書情報を仕様書変更箇所情報ファイル１１４へ書き出す（ステップ１４０５）。ステップ１４０１から１４０５までの処理を仕様変更前の仕様書情報ファイル１０３が終了するまで繰り返す。図１５に図７が示す仕様変更前の仕様書情報ファイル１０３と図１３が示す仕様変更後の仕様書情報ファイル１１２から仕様書変更情報取得処理部１１３によって生成される仕様書変更箇所情報ファイル１１４を示す。図１５が示すように、仕様変更箇所情報ファイル１１４のレコードは仕様書情報ID、関連データ項目からなる。この例では、図２に示す仕様変更前の仕様書情報ファイル１０３に記載されている、部署コードは英数字5桁とする、が図１３に示す仕様変更後の仕様書情報ファイル１１２に記載されていないため、仕様変更箇所情報ファイル１１４として抽出されている。
【００３０】
続いて、チェックリスト影響範囲抽出処理部１１６で仕様書-チェックリスト関連情報ファイル１０９と仕様書変更箇所情報ファイル１１４からチェックリスト影響範囲情報ファイル１１８を生成する。図１６にチェックリスト影響範囲抽出処理部１１６のフローチャートを示す。
【００３１】
チェックリスト影響範囲抽出処理部１１６では、まず仕様書変更箇所情報ファイル１１４と仕様書-チェックリスト関連情報ファイル１０９を読み込んで、両レコードの仕様書IDが一致するかどうかを判定する。仕様書IDが一致した場合はチェックリスト影響範囲情報ファイル１１８へ書き出し、一致しない場合は次の仕様書-チェックリスト関連情報ファイル１０９のレコードを読み込む。この処理を仕様書-チェックリスト関連情報ファイル１０９が終了するまで繰り返す（ステップ１６０１〜１６０５）。ステップ１６０１から１６０５までの処理を仕様書変更箇所情報ファイル１１４が終了するまで繰り返す。図１７に図９が示す仕様書-チェックリスト関連情報ファイル１０９と図１５が示す仕様書変更箇所情報ファイル１１４からチェックリスト影響範囲抽出処理部１１６によって生成されるチェックリスト影響範囲情報ファイル１１８の構成例を示す。図１７に示すように、図２から図１２にように仕様変更が発生した場合に、チェック内容を再度確認する必要性があるチェックリスト項目はC-001とC-002とC-003という情報を得ることができる。本例の場合では、部署コードが英数字10桁に拡張されたため、社員検索画面で英数字10桁の部署コードを入力した際に正しく社員IDと社員名が表示されることを確認する必要性があるためチェックリスト項目C-001およびC-002は再度テストを行う必要性がある。C-001とC-002のチェックリスト項目の確認項目の文言は変更されない。チェックリスト項目C-003は入力部署コードの桁数の限界値チェックであり、英数字5桁から英数字10桁に拡張されたことに伴い、確認項目は、検索画面で部署コードが英数字11桁以上で入力された場合にはエラーメッセージ“部署コードを確認してください”を表示すること、に修正する必要性がある。チェックリスト項目C-004については部署コードに関連する確認項目ではないので今回の仕様変更の例ではチェックリスト項目を再度確認する必要性はない。上記のように仕様変更に伴い、再度テストを行う必要性があるチェックリスト項目およびチェックリスト項目の確認内容を修正する必要性があるチェックリスト項目の情報のみを抽出することができる。
【００３２】
続いて、ソースコード影響範囲抽出処理部１１７で仕様書-ソースコード関連情報ファイル１１０と仕様書変更箇所情報ファイル１１４からソースコード影響範囲情報ファイル１１９を生成する。図１８にソースコード影響範囲抽出処理部１１７のフローチャートを示す。ソースコード影響範囲抽出処理部１１７では、まず仕様書変更箇所情報ファイル１１４と仕様書-ソースコード関連情報ファイル１１０を読み込んで、仕様書変更箇所情報ファイル１１４の関連データ項目をキーとして仕様書-ソースコード関連情報ファイル１１０を検索し、一致するデータ項目が存在した場合に仕様書-ソースコード関連情報ファイル１１０のレコード情報をソースコード影響範囲情報ファイル１１９へ書き出し、一致するデータ項目がない場合は、次の仕様書-ソースコード関連情報ファイル１１０のレコードを読み込む。この処理を仕様書-ソースコード関連情報ファイル１１０が終了するまで繰り返す（ステップ１８０１〜１８０５）。ステップ１８０１から１８０５までの処理を仕様書変更箇所情報ファイル１１４が終了するまで繰り返す。
【００３３】
図１９に図１１に示す仕様書-ソースコード関連情報ファイル１１０と図１５に示す仕様書変更箇所情報ファイル１１４からソースコード影響範囲抽出処理部１１７によって生成されるソースコード影響範囲情報ファイル１１９の構成例を示す。図１９のソースコード影響範囲情報ファイル１１９が示すように、本例の仕様変更の例では影響を受けるデータ項目は“部署コード”であり、データ項目辞書１００を参照して取得した“部署コード”のCOBOL名である“BUSHO-CODE”と関連する部分をソースコード１０８から抽出する。
【００３４】
図１９に示すソースコード影響範囲情報ファイル１１９は、ソースコード１０８において、プログラム“PROG01”のシーケンス番号“008300”、“008400”、“009800”、“010100”、“010300”の部分とプログラム“PROG02”全体に影響を与える可能性があることを示している。図５に示すソースコードと比較してみると、データ項目辞書１００に登録されている“部署コード”に対応したCOBOL名の“BUSHO-CODE”が含まれる部分、“BUSHO-CODE“の転記先のデータ項目”I-BUSHO-CODE”が含まれる部分、”I-BUSHO-CODE”の親項目である“PROG02-IN“が関連する部分が正しく抽出されている。また、関連する項目が関数呼び出しの引数になっている場合には、呼び出し先の関数全体に影響を与える可能性があることも考慮されており、プログラム”PROG02“全体に影響があるという情報も抽出することができる。上記のように仕様変更に伴い、再確認および修正が必要なソースコードの部分を抽出することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明に係る一実施形態の仕様変更に伴う影響範囲抽出システムの構成を示す図である。
【図２】図１の仕様書の構成例を示す。
【図３】図１のデータ項目辞書の構成例を示す。
【図４】図１のチェックリストの構成例を示す
【図５】図１のソースコードの構成例の一部を示す。
【図６】図１の仕様書情報取得処理部のフローチャートを示す。
【図７】図６によって生成された仕様書情報ファイルの構成例を示す。
【図８】図１の仕様書-チェックリスト関連情報取得処理部のフローチャートを示す。
【図９】仕様書-チェックリスト関連情報ファイルの構成例を示す。
【図１０】図１の仕様書-ソースコード関連情報取得処理部のフローチャートを示す。
【図１１】仕様書-ソースコード関連情報ファイルの構成例を示す。
【図１２】図１の仕様変更後の仕様書の構成例を示す。
【図１３】仕様変更後の仕様書情報ファイルの構成例を示す。
【図１４】図１の仕様書変更情報取得処理部のフローチャートを示す。
【図１５】仕様書変更箇所情報ファイルの構成例を示す。
【図１６】図１のチェックリスト影響範囲抽出処理部のフローチャートを示す。
【図１７】チェックリスト影響範囲情報ファイルの構成例を示す。
【図１８】図１のソースコード影響範囲抽出処理部のフローを示す。
【図１９】ソースコード影響範囲情報ファイルを示す。
【符号の説明】
【００３６】
１００  仕様変更に伴う影響範囲抽出システム
１０１  データ項目辞書
１０２  仕様書
１０３  仕様書情報取得部
１０４  仕様書情報ファイル
１０５  仕様書-チェックリスト関連情報取得処理部
１０６  仕様書-ソースコード関連情報取得処理部
１０７  チェックリスト
１０８  プログラムソースコード
１０９  仕様書-チェックリスト関連情報ファイル
１１０  仕様書-ソースコード関連情報ファイル
１１１  仕様変更後の仕様書
１１２  仕様変更後の仕様書情報ファイル
１１３  仕様書変更情報取得処理部
１１４  仕様書変更箇所情報ファイル
１１５  チェックリスト影響範囲抽出部
１１６  ソースコード影響範囲抽出部
１１７  チェックリスト影響範囲情報ファイル
１１８  ソースコード影響範囲情報ファイル
１２０  修正後のチェックリスト
１２１  修正後のプログラムソースコード
【図１】
2007128123.tif 000003
【図２】
2007128123.tif 000004
【図３】
2007128123.tif 000005
【図４】
2007128123.tif 000006
【図５】
2007128123.tif 000007
【図６】
2007128123.tif 000008
【図７】
2007128123.tif 000009
【図８】
2007128123.tif 000010
【図９】
2007128123.tif 000011
【図１０】
2007128123.tif 000012
【図１１】
2007128123.tif 000013
【図１２】
2007128123.tif 000014
【図１３】
2007128123.tif 000015
【図１４】
2007128123.tif 000016
【図１５】
2007128123.tif 000017
【図１６】
2007128123.tif 000018
【図１７】
2007128123.tif 000019
【図１８】
2007128123.tif 000020
【図１９】
2007128123.tif 000021