(57)【要約】【課題】ソフトウェアの一部に引数やデータ項目といった新たな要素を追加する場合に、どの処理部とどの処理部の間の入出力箇所（経路）に引数の変更・追加が必要になるかを特定する。【解決手段】本発明は、入力された生成可能箇所から幹経路始点を抽出し、入力された必要箇所から幹経路終点を求め、幹経路始点と幹経路終点による影響経路を抽出することにより、影響する各処理部・経路を抽出して出力する。【選択図】      図１
2004259041.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡装置であって、
枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブルと、
幹経路部分の処理部間の接続関係を登録した幹経路テーブルと、
前記ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目追加を行う場合に、該引数、あるいは、該データ項目を必要とする箇所である必要箇所と生成可能な箇所である生成可能箇所を入力する入力手段と、
前記生成可能箇所をキーとして前記枝経路テーブルを検索して、該生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第１の枝経路追跡手段と、
前記必要箇所をキーとして前記枝経路テーブルを検索して、前記幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第２の枝経路追跡手段と、
前記第１の枝経路追跡手段で得られた前記生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数と、前記第２の枝経路追跡手段で得られた前記幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を用いて前記幹経路テーブルを検索して、幹経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する幹経路追跡手段と、
前記第１の枝経路追跡手段、前記第２の枝経路追跡手段、前記幹経路追跡手段で抽出された各引数の移動経路と該引数を出力する出力手段と、を有することを特徴とする仕様変動用影響範囲追跡装置。
【請求項２】
ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡装置であって、
前記ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目を必要とする箇所である必要箇所または、生成可能な箇所である生成可能箇所から検索可能な枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブルと、
幹経路部分の処理部間の接続関係を登録した幹経路テーブルと、
ソフトウェア対象仕様の各要素の要素種別、識別子、要素名からなる要素名・識別子対応テーブルと、
必要箇所の処理部名、生成可能箇所の処理部名を入力する入力手段と、
前記入力手段から入力された前記必要箇所名及び前記生成可能箇所名をキーにして、前記要素名・識別子対応テーブルを検索して、必要箇所識別子及び生成可能箇所識別子に変換する必要箇所・生成可能箇所識別子取得手段と、
前記生成可能識別子に基づいて、前記枝経路テーブルを検索して、主処理部に至る各呼出処理部、テーブル、経路、及び最初に到達する主処理部である幹経路始点を抽出する第１の枝経路追跡手段と、
前記必要箇所識別子に基づいて、前記枝経路テーブルを検索して、主処理部に至る各処理部、テーブル、経路、最初に到達する主処理部である幹経路終点を抽出する第２の枝経路追跡手段と、
前記第１の枝経路追跡手段で抽出された前記幹経路始点から、前記第２の枝経路追跡手段で抽出された前記幹経路終点までの各処理部・経路を、前記幹経路テーブルを参照することにより抽出する幹経路追跡手段と、
前記第１の枝経路追跡手段、前記第２の枝経路追跡手段、前記幹経路追跡手段で抽出された処理部、テーブル、経路の識別子をキーにして、前記要素名・識別子対応テーブルを検索して、対応する要素名を取得する実要素名変換手段と、
前記実要素名変換手段で取得した前記要素名を記憶手段に出力する追跡結果出力手段と、を有することを特徴とする仕様変動用影響範囲追跡装置。
【請求項３】
ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡プログラムであって、
前記ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目追加を行う場合に、該引数、あるいは、該データ項目を必要とする箇所である必要箇所と生成可能な箇所である生成可能箇所を入力させる入力ステップと、
前記生成可能箇所をキーとして、枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブルを検索して、該生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第１の枝経路追跡ステップと、
前記必要箇所をキーとして前記枝経路テーブルを検索して、前記幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第２の枝経路追跡ステップと、
前記第１の枝経路追跡ステップで得られた前記生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数と、前記第２の枝経路追跡ステップで得られた前記幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を用いて、幹経路部分の処理部間の接続関係を登録した幹経路テーブルを検索して、幹経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する幹経路追跡ステップと、
前記第１の枝経路追跡ステップ、前記第２の枝経路追跡ステップ、前記幹経路追跡ステップで抽出された各引数の移動経路と該引数を出力させる出力ステップと、からなり、コンピュータに実行させることを特徴とする仕様変動用影響範囲追跡プログラム。
【請求項４】
ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡プログラムであって、
前記ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目を必要とする箇所である必要箇所の処理部名、生成可能な箇所である生成可能箇所の処理部名を入力する入力ステップと、
前記入力ステップで入力された前記必要箇所名及び前記生成可能箇所名をキーにして、ソフトウェア対象仕様の各要素の要素種別、識別子、要素名からなる要素名・識別子対応テーブルを検索して、必要箇所識別子及び生成可能箇所識別子に変換する必要箇所・生成可能箇所識別子取得ステップと、
前記生成可能識別子に基づいて、必要箇所または、生成可能箇所から検索可能な枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブルを検索して、主処理部に至る各呼出処理部、テーブル、経路、及び最初に到達する主処理部である幹経路始点を抽出する第１の枝経路追跡ステップと、
前記必要箇所識別子に基づいて、前記枝経路テーブルを検索して、主処理部に至る各処理部、テーブル、経路、最初に到達する主処理部である幹経路終点を抽出する第２の枝経路追跡ステップと、
前記第１の枝経路追跡ステップで抽出された前記幹経路始点から、前記第２の枝経路追跡ステップで抽出された前記幹経路終点までの各処理部・経路を、幹経路部分の処理部間の接続関係を登録した幹経路テーブルを参照することにより抽出する幹経路追跡ステップと、
前記第１の枝経路追跡ステップ、前記第２の枝経路追跡ステップ、前記幹経路追跡手段で抽出された処理部、テーブル、経路の識別子をキーにして、前記要素名・識別子対応テーブルを検索して、対応する要素名を取得する実要素名変換ステップと、
前記実要素名変換ステップで取得した前記要素名を記憶手段に出力する追跡結果出力ステップと、からなり、コンピュータに実行させることを特徴とする仕様変動用影響範囲追跡プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仕様変動用影響範囲追跡装置及び仕様変動用影響範囲追跡プログラムに係り、特に、ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定（仕様変更影響追跡）するための仕様変動用影響範囲追跡装置及び仕様変動用影響範囲追跡プログラムに関する。
【０００２】
詳しくは、引数に新たなデータ項目を加えたり、新たな引数の入出力を追加する等の、新たなデータを追加する場合に、どの処理部とどの処理部の間の入出力箇所（経路）に引数の変更・追加が必要になるかを特定するための仕様変動用影響範囲追跡装置及び仕様変動用影響範囲追跡プログラムに関する。
【０００３】
【従来の技術】
ソフトウェアの開発では、既存の引数にデータ項目を追加する、新たな引数の入出力を追加する等、新たなデータの追加を伴う仕様変動が行われることが多い。この場合、追加引数あるいは、追加データ項目を生成可能な箇所（以下、生成可能箇所）から、必要な箇所（以下、必要箇所）まで移動させる必要がある。そのため、生成可能箇所と必要箇所の途中経路において、既存の引数に新たなデータ項目を追加する、追加するデータ項目を含む新たな引数の入出力を追加する等、何らかの仕様変更が必要となる。
【０００４】
ところが、ソフトウェアの分野では、これまで、このような仕様変更の影響の追跡は開発者が開発資料を見ながら、人力で行うため、手間がかかるという問題がある。
【０００５】
此れに対し、組立構成品について、部品寸法の変更という既存の要素の変更に対応する仕様変更の影響範囲を特定する技術が提案されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】
特開平８−１６１３８６「組立構成品の仕様変更システム」
【０００７】
【発明が解決しようとする課題】
しかしながら、上記の組立構成品について影響範囲を特定する方法では、部品寸法の変更という既存の要素の変更にしか対応しないため、新たな要素の追加に対応できる形ではない。このため、この方法をそのまま引数やデータ項目追加における影響範囲の特定に流用することは困難である。これは、要素の追加において、追加要素が生成可能な箇所から必要な箇所に移動する経路上に影響が及ぶ点を考慮していないためである。
【０００８】
本発明は、上記の点に鑑みなされたもので、ソフトウェアの一部に引数やデータ項目といった新たな要素を追加する場合に、どの処理部とどの処理部の間の入出力箇所（経路）に引数の変更・追加が必要になるかを特定することが可能な仕様変更用影響範囲追跡装置及び仕様変更用影響範囲追跡プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
図１は、本発明の原理構成図である。
【００１０】
本発明は、ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡装置であって、
枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブル１０９と、
幹経路部分の処理部間の接続関係を登録した幹経路テーブル１１０と、
ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目追加を行う場合に、該引数、あるいは、該データ項目を必要とする箇所である必要箇所と生成可能な箇所である生成可能箇所を入力する入力手段１０１と、
生成可能箇所をキーとして枝経路テーブルを検索して、該生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第１の枝経路追跡手段１０３と、
必要箇所をキーとして枝経路テーブル１０９を検索して、幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第２の枝経路追跡手段１０４と、
第１の枝経路追跡手段１０３で得られた生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数と、第２の枝経路追跡手段１０４で得られた幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を用いて幹経路テーブル１１０を検索して、幹経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する幹経路追跡手段１０５と、第１の枝経路追跡手段１０３、第２の枝経路追跡手段１０４、幹経路追跡手段１０５で抽出された各引数の移動経路と該引数を出力する出力手段１０７と、を有する。
【００１１】
本発明は、ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡装置であって、
ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目を必要とする箇所である必要箇所または、生成可能な箇所である生成可能箇所から検索可能な枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブルと、
幹経路部分の処理部間の接続関係を登録した幹経路テーブルと、
ソフトウェア対象仕様の各要素の要素種別、識別子、要素名からなる要素名・識別子対応テーブルと、
必要箇所の処理部名、生成可能箇所の処理部名を入力する入力手段と、
入力手段から入力された必要箇所名及び生成可能箇所名をキーにして、要素名・識別子対応テーブルを検索して、必要箇所識別子及び生成可能箇所識別子に変換する必要箇所・生成可能箇所識別子取得手段と、
生成可能識別子に基づいて、枝経路テーブルを検索して、主処理部に至る各呼出処理部、テーブル、経路、及び最初に到達する主処理部である幹経路始点を抽出する第１の枝経路追跡手段と、
必要箇所識別子に基づいて、枝経路テーブルを検索して、主処理部に至る各処理部、テーブル、経路、最初に到達する主処理部である幹経路終点を抽出する第２の枝経路追跡手段と、
第１の枝経路追跡手段で抽出された幹経路始点から、第２の枝経路追跡手段で抽出された幹経路終点までの各処理部・経路を、幹経路テーブルを参照することにより抽出する幹経路追跡手段と、
第１の枝経路追跡手段、第２の枝経路追跡手段、幹経路追跡手段で抽出された処理部、テーブル、経路の識別子をキーにして、要素名・識別子対応テーブルを検索して、対応する要素名を取得する実要素名変換手段と、
実要素名変換手段で取得した要素名を記憶手段に出力する追跡結果出力手段と、を有する。
【００１２】
本発明は、ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡プログラムであって、
ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目追加を行う場合に、該引数、あるいは、該データ項目を必要とする箇所である必要箇所と生成可能な箇所である生成可能箇所を入力させる入力ステップと、
生成可能箇所をキーとして、枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブルを検索して、該生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第１の枝経路追跡ステップと、
必要箇所をキーとして枝経路テーブルを検索して、幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する第２の枝経路追跡ステップと、
第１の枝経路追跡ステップで得られた生成可能箇所から幹経路に至る枝経路上の引数の移動経路及び該移動経路上の現在の引数と、第２の枝経路追跡ステップで得られた幹経路から必要箇所までの枝経路上の引数の移動経路及び該移動経路上の現在の引数を用いて、幹経路部分の処理部間の接続関係を登録した幹経路テーブルを検索して、幹経路上の引数の移動経路及び該移動経路上の現在の引数を抽出する幹経路追跡ステップと、
第１の枝経路追跡ステップ、第２の枝経路追跡ステップ、幹経路追跡ステップで抽出された各引数の移動経路と該引数を出力させる出力ステップと、からなり、コンピュータに実行させる。
【００１３】
本発明は、ソフトウェアの一部の仕様変更が他の部分に及ぼす影響範囲の特定を行うための仕様変動用影響範囲追跡プログラムであって、
ソフトウェアへの引数追加、あるいは、既存の引数へのデータ項目を必要とする箇所である必要箇所の処理部名、生成可能な箇所である生成可能箇所の処理部名を入力する入力ステップと、
入力ステップで入力された必要箇所名及び生成可能箇所名をキーにして、ソフトウェア対象仕様の各要素の要素種別、識別子、要素名からなる要素名・識別子対応テーブルを検索して、必要箇所識別子及び生成可能箇所識別子に変換する必要箇所・生成可能箇所識別子取得ステップと、
生成可能識別子に基づいて、必要箇所または、生成可能箇所から検索可能な枝経路部分の各処理部もしくはテーブルの接続関係を登録した枝経路テーブルを検索して、主処理部に至る各呼出処理部、テーブル、経路、及び最初に到達する主処理部である幹経路始点を抽出する第１の枝経路追跡ステップと、
必要箇所識別子に基づいて、枝経路テーブルを検索して、主処理部に至る各処理部、テーブル、経路、最初に到達する主処理部である幹経路終点を抽出する第２の枝経路追跡ステップと、
第１の枝経路追跡ステップで抽出された幹経路始点から、第２の枝経路追跡ステップで抽出された幹経路終点までの各処理部・経路を、幹経路部分の処理部間の接続関係を登録した幹経路テーブルを参照することにより抽出する幹経路追跡ステップと、
第１の枝経路追跡ステップ、第２の枝経路追跡ステップ、幹経路追跡手段で抽出された処理部、テーブル、経路の識別子をキーにして、要素名・識別子対応テーブルを検索して、対応する要素名を取得する実要素名変換ステップと、
実要素名変換ステップで取得した要素名を記憶手段に出力する追跡結果出力ステップと、からなり、コンピュータに実行させる。
【００１４】
上記のように、本発明の構成により、出力される経路及び引数を以て、引数の追加や既存引数へのデータ項目の追加に伴い、引数の追加が必要になる可能性のある経路あるいは仕様変更が必要となる可能性のある引数とすることが可能となる。
【００１５】
【発明の実施の形態】
以下、図面と共に本発明の実施の形態を説明する。
【００１６】
構成の説明を行う前に、本発明の前提について説明する。
【００１７】
主要な処理を行う部分であり、プログラムのメイン部分に相当する処理部を「主処理部」と呼び、他の処理部から呼び出されて処理を行い、その結果を返却するプログラムのサブルーチンに相当する処理部を「呼び出し処理部」と呼ぶ。また、前述の「主処理部」と末端の「呼び出し処理部」もしくは、テーブル間の各経路を「枝経路」と呼び、「主処理部」間の各経路を「幹経路」と呼ぶ。
【００１８】
なお、本実施の形態では、上記の各処理部、テーブル、経路に一意に識別できる識別子を付与する。これは、処理を簡便にするためと、要素名の変更に対応しやすくするためである。
【００１９】
以下に、識別子付与ルールを示す。
【００２０】
まず、識別子を付与する対象を要素と呼ぶ。要素は次の種類からなる。
【００２１】
（ａ）主処理部
（ｂ）呼び出し処理部
（ｃ）行き部：呼出側の処理部から被呼出側の処理部もしくはテーブルに向かう経路である。
【００２２】
（ｄ）戻り部：被呼出型の処理部もしくはテーブルから呼出側に向かう経路である。
【００２３】
（ｅ）下り部：主処理部において処理部から次の処理部に向かう経路である。
次に、本実施の形態における識別子付与ルールを示す。
【００２４】
・処理部もしくはテーブルをＢ＋番号で表す。
【００２５】
・主処理部の場合、入力部から順に、１，…と増やす。
【００２６】
・呼出処理部もしくはテーブルについては、主処理部ＢＩ（Ｉは自然数）から呼び出される処理部もしくはテーブルをＢＩ−１とし、ＢＩ−１から呼び出される処理部・テーブルをＢＩ−２、以降、呼び出しが深くなるに従い、番号を増やす。
【００２７】
・主処理部ＢＩと呼び出し処理部・テーブルＢＩ−１間の経路は、行き部分をＬＩ−ＩＸ、戻り部分をＬＩ−１Ｙとする。
【００２８】
・ＢＩ−（Ｊ−１）とＢＩ−Ｊ間の経路は、行きをＬＩ−ＪＸ、戻りをＬＩ−ＪＹとする。
【００２９】
図２は、本発明の一実施の形態における装置構成を示す。
【００３０】
同図に示す装置は、入力部１０１、必要箇所・生成可能箇所識別子取得部１０２、第１の枝経路追跡部１０３、第２の枝経路追跡部１０４、幹経路追跡部１０５、実要素名変換部１０６、追跡結果書き込み部１０７、要素名・識別子対応テーブル１０８、枝経路テーブル１０９、幹経路テーブル１１０、影響経路テーブル１１１から構成される。
【００３１】
以下、各構成部分の仕組みについて説明する。
【００３２】
まず、人手により、プログラムにおける各処理部や処理部間でやり取りされる引数などが定義された、例えば、当該プログラムの開発資料などから、枝経路部分の各処理部もしくはテーブルの接続関係を登録したテーブル（枝経路テーブル１０９）と、幹経路部分の処理部間の接続関係を登録したテーブル（幹経路テーブル１１０）が作成される。
【００３３】
要素名・識別子対応テーブル１０８は、図３に示すように、対象仕様の各要素に対して（１）要素種別、（２）要素の識別子、（３）識別子に対応する要素名を、それぞれ（１）要素種別、（２）要素識別子、（３）要素名という項目名で記載したテーブルである。要素種別が「行き部」あるいは「戻り部」の場合は、「要素名」欄にはその経路上に現在ある引数を  ＠  で区切って記載する。
【００３４】
枝経路テーブル１０９には、図４に示すように、枝経路中の各処理部・経路間の接続関係を記載する。具体的には、（１）呼出側処理部、（２）被呼出処理部、（３）行き部、（４）戻り部それぞれの識別子、及び（５）呼出側処理部の種類（主処理部を“Ｆ”、呼出処理部を“Ｓ”とする）を記載する。項目名は、それぞれ（１）呼出側、（２）被呼出側、（３）行き部、（４）戻り部、（５）呼出側種別とする。
【００３５】
幹経路テーブル１１０には、図５に示すように、幹経路中の各処理部・経路間の接続関係を記載する。具体的には、（１）先行処理部、（２）後続処理部、（３）下り部の識別子を記載する。項目名は、それぞれ、（１）先行側、（２）後続側、（３）下り部とする。
【００３６】
次に、各構成要素を説明する。
【００３７】
入力部１０１は、必要箇所の処理部名、生成可能箇所の処理部名を入力する。必要箇所・生成可能箇所識別子取得部１０２は、入力された必要箇所名及び生成可能箇所名を要素名・識別子対応テーブル１０８を使って必要箇所識別子及び生成可能箇所識別子に変換する。変換は、必要箇所・生成可能箇所それぞれの要素名をキーとして、要素名・識別子対応テーブル１０８を検索し、対応する識別子を読み出す方法で行う。
【００３８】
第１の枝経路追跡部１０３は、枝経路テーブル１０９を用いて、生成可能箇所から主処理部に至る各呼出処理部・テーブル・経路・最初に到達する主処理部（幹経路始点）を抽出する。これにより、生成可能箇所から主処理部に至るまでの影響経路を抽出することを可能にする。
【００３９】
第２の枝経路追跡部１０４は、枝経路テーブル１０９を用いて必要箇所から主処理部に至る各処理部・テーブル・経路・最初に到達する主処理部（幹経路終点）を抽出する。これにより、主処理部から必要箇所に至るまでの影響経路を出力することを可能にする。
【００４０】
幹経路追跡部１０５は、第１の枝経路追跡部１０３で抽出された主処理部（幹経路始点）から、第２の枝経路追跡１０４で抽出された主処理部（幹経路終点）までの各処理部・経路を幹経路テーブル１１０を用いて抽出する。これにより、幹経路始点から終点までの影響経路を抽出することを可能にする。
【００４１】
実要素名変換部１０６は、第１の枝経路追跡部１０３、第２の枝経路追跡部１０４、幹経路追跡部１０５で抽出した処理部・テーブル・経路の識別子を実要素名に変換する。変換は、これらの識別子をキーとして、要素名・識別子対応テーブル１０８を検索し、対応する要素名を読み出す方法で行う。
【００４２】
追跡結果書き込み部１０７は、実要素名に変換した、影響経路の処理部・引数名を影響経路テーブル１１１に書き込む部分である。
【００４３】
影響経路テーブル１１１は、図６に示すように、影響経路、具体的には（１）その経路の出力側処理部、（２）入力側処理部、（３）その経路上に現在ある引数を、それぞれ（１）出力側、（２）入力側、（３）現在の引数という項目名で記載するためのテーブルである。
【００４４】
次に、第１の枝経路追跡部１０３の動作を図７に基づいて説明する。
【００４５】
手順１：生成可能箇所識別子をキーというバッファに入れると共に、変数Ｉに初期値０を設定する。
【００４６】
手順２：枝経路テーブル１０９からキーと被呼出側が一致する経路データを検索する。
【００４７】
手順３：上記データの呼出側、被呼出側、戻り部をそれぞれ、配列、枝１入力側（Ｉ）、枝１出力側（Ｉ）、枝１（経路Ｉ）に入れる。
【００４８】
手順４：呼出側種別をチェックし、“Ｆ”なら、キー＝枝１入力側（Ｉ）、Ｉ＝Ｉ＋１として、手順２に戻る。“Ｓ”なら変数「枝１終点」＝１として、処理を終了する。
【００４９】
次に、第２の枝経路追跡部１０４の動作を図８に基づいて説明する。基本的には、前述の第１の枝経路追跡部１０３と同じだが、配列・変数名が次のように変わる。
【００５０】
・枝１出力側，枝１入力側，枝１経路→枝２入力側，枝２出力側，枝２経路
・枝１終点→枝２始点
次に、幹経路追跡部１０５の動作を図９に基づいて説明する。
【００５１】
手順１：枝１入力側（枝１終点）の値をキーというバッファに入れると共に、変数Ｉに初期値０を設定する。
【００５２】
手順２：幹経路テーブル１１０から、キーと先行側が一致する経路データを検索する。
【００５３】
手順３：上記データの先行側、後続側、下り部をそれぞれ配列［幹出力側（Ｉ）、幹入力側（Ｉ）、幹経路（Ｉ）］に入れる。
【００５４】
手順４：下り部をチェックし、枝２出力側（枝２終点）以外の場合、キー＝幹入力側（Ｉ）、Ｉ＝Ｉ＋１として手順２へ戻る。それ以外の場合、変数「幹終点」＝Ｉ１として、処理を終了する。
【００５５】
次に、実要素名変換部１０６の動作を説明する。
【００５６】
次の順序で、上記追跡部１０３、１０４で得られた配列の内容を要素名・識別子対応テーブル１０８を用いて要素名に変換し、それぞれ、出力側、入力側、引数という配列に格納する。
【００５７】
手順１：まず、配列・枝１出力側（０）〜枝１出力側（枝１終点）の内容を要素名に変換し、出力側（０）〜出力側（枝１終点）に格納する。配列・枝１入力側（０）〜枝１入力側（枝１終点）及び、枝１経路（０）〜枝１経路（枝１終点）についても同様に実要素名に変換し、それぞれ入力側、引数という配列に格納する。
【００５８】
手順２：次に、配列・幹出力側、幹入力側、幹経路の内容を要素名に変換し、それぞれ出力側（枝終点１＋１）〜出力側（枝終点１＋幹終点＋１）、入力側（枝終点１＋１）〜入力側（枝終点１＋幹終点＋１）、引数（枝終点１＋１）〜引数（枝終点１＋幹終点＋１）に格納する。
【００５９】
手順３：次に、配列・枝２出力側、枝２入力側、枝２経路の内容を要素名に変換し、それぞれ出力側（枝終点１＋幹終点＋２）〜出力側（枝終点１＋幹終点＋枝２終点＋２）、入力側（枝終点１＋幹終点＋２）〜入力側（枝終点１＋幹終点＋枝２終点＋２）、引数（枝終点１＋幹終点＋２）〜引数（枝終点１＋幹終点＋枝２終点＋２）に格納する。
【００６０】
以上の処理により、上記追跡部１０３、１０４、１０５で得られた配列の内容に対応する要素名が出力側（Ｋ）、入力側（Ｋ）、引数（Ｋ）（Ｋ＝０〜（枝終点１＋幹終点＋枝２終点＋２）という配列に格納される。
【００６１】
次に、追跡結果書き込み部１０７の動作を説明する。
【００６２】
上記配列（１）出力側、（２）入力側、（３）引数の内容をそれぞれ、影響経路テーブル１１１の（１）出力側、（２）入力側、（３）現在の引数に記載する。
【００６３】
【実施例】
以下、図面と共に本発明の実施例を説明する。
【００６４】
以下では、上記の実施の形態を実際の仕様変更例に適用した例を説明する。
【００６５】
以下の説明では、図１０に示すような構造のシステムを想定する。即ち、入力部Ｂ１から引数を入力し、４つの主処理部（Ｂ２，Ｂ３，Ｂ４，Ｂ５）で必要な処理を行い、結果を入力部Ｂ１に返却する。各主処理部はそれぞれ１つの呼出部（ＢＩ−１）を持ち、各呼出部はさらに呼出部（ＢＩ−２）を持つ。
【００６６】
前述の図４に示す枝経路テーブル１０９、及び図５に示す幹経路テーブル１１０は、図１０に対応するものとする。
【００６７】
次に、図１１を参照して、図１０の各部に対応する仕様・実要素を説明する。仕様例として、図１１の「●仕様の概略」にあるようなものを想定する。即ち、「社員名と社員コードを元に、当該社員の社内情報（部署、電話番号等）、個人情報（住所、自宅電話番号等）、営業成績（商品毎の過去１月の売上げ額）を取得する」仕様である。
【００６８】
仕様の各要素には、図１１「●主処理部」〜「●経路上を移動する引数」に示すように識別子が割り当てられる。そして、その対応関係は、図３の形で要素名・識別子対応テーブル１０８に登録される。
【００６９】
図１２に、仕様変更と必要箇所・生成可能箇所の例を示す。例１、例２では、生成可能箇所につき、２つの候補が存在するので、各候補毎に追跡を行う。
【００７０】
以下では、例１の「候補１」について動作の概要を説明する。
【００７１】
本例における入力データは、必要箇所名＝“営業成績検索プログラム”、生成可能箇所名＝“社内情報テーブル”である。
【００７２】
上記の入力データは、必要箇所・生成可能箇所識別子取得部１０２において、必要箇所識別子＝Ｂ５−１、生成可能箇所識別子＝Ｂ３−２に置き換えられる。
次に、図１３を参照して、本例（例１）における第１の枝経路追跡部１０３の動作の概略を説明する。
【００７３】
手順１：キーに生成可能箇所識別子であるＢ３−２を、Ｉに０を割り当てる。
次に、Ｉ＝０の状態で次の各手順を行う。
【００７４】
手順２：枝経路テーブル１０９から被呼出側がキー＝Ｂ３−２と一致する行を検索する。
【００７５】
手順３：枝１入力側（０）、枝１出力側（０）、枝１経路（０）にそれぞれ、上記の行の呼出側、被呼出側、戻り部の各値Ｂ３−１，Ｂ３−２，Ｌ３−２Ｙを格納する。
【００７６】
手順４：上記の行の呼出側種別の値がＦであることから、キーの内容を枝１入力側（０）＝Ｂ３−１で置き換え、Ｉを１つ増やして手順２に戻る。
【００７７】
次に、Ｉ＝１の状態で、キー＝Ｂ３−１として上記と同様の手順を行う。即ち、被呼出側がＢ３−１である行を検索し、枝１入力側（１）〜枝１経路（１）にそれぞれＢ３，Ｂ３−１，Ｌ３−１Ｙの値を格納する。但し、手順４では、Ｉ＝０の場合と異なり、呼出側種別がＳになっているので、枝１終点＝Ｉ＝１として処理を終了する。
【００７８】
次に、図１４、１５を参照して本例（例１）における第２の枝経路追跡部１０４、幹経路追跡部１０５の動作の概略を説明する。
【００７９】
第２の枝経路追跡部１０４では、図１４に示すように、
（ア）：キーへの必要箇所識別子＝Ｂ５−１，Ｉへの０を割り当て（手順１）；
（イ）：枝経路テーブル１０９上の行のうち、キー・Ｂ５−１と被呼出側が一致する行の呼出側、被呼出側、行き部の各値（手順２）、Ｂ５，Ｂ５−１，Ｌ５−１Ｘの配列・枝２出力側（０）・・枝２経路（０）への割り当て（手順３）；
（ウ）：呼出側種別の判定、枝２終点へのＩ＝０を割り当て、処理の終了（手順）；
と続く。
【００８０】
次に、幹経路追跡部１０５では、図１５に示すように、
（ア）キーへの枝１入力側（枝１終点）＝Ｂ３，Ｉへの０を割り当て（手順１）；
（イ）幹経路テーブル１１０上の行のうち、キー・Ｂ３と先行側が一致する行の先行側、後続側、下り部の各値、Ｂ３，Ｂ４，Ｌ３の配列・幹出力側（０）・・幹経路（０）への割り当て（手順２、手順３）；
（ウ）後続側と枝２出力側（０）＝Ｂ５と一致有無判定、キーへの幹入力側（０割り当て、Ｉの増加（手順４）；
（エ）Ｉ＝１についての幹経路テーブル検索、配列・幹出力側（１）・・への値Ｂ４，Ｂ５，Ｌ４割り当て（手順３）、後続側と枝３出力側（０）＝Ｂ５の一致有無判定、幹終点へのＩ＝１割り当て、処理終了（手順４）；
と続く。
【００８１】
次に本例（例１）における実要素名変換部１０６の動作の概要を説明する。
【００８２】
上記の処理で得られた配列・枝１出力側（Ｋ）、枝１入力側（Ｋ）、枝１経路（Ｋ）（＝０，１）の内容を対応する要素名に変換し、出力側（Ｋ）、入力側（Ｋ）、引数（Ｋ）（Ｋ＝０，１）に格納する。
【００８３】
続いて、幹出力側（Ｋ）、幹入力側（Ｋ）、幹経路（Ｋ）（Ｋ＝０，１）に対応する要素名を出力側（Ｋ＋２）、入力側（Ｋ＋２）、引数（Ｋ＋２）（Ｋ＝０，１）へ、続いて配列・枝２出力側（０）、・・に対応する要素名等に変換し、出力側（４）、入力側（４）、引数（４）に格納する。
【００８４】
次に、上記配列・入力側、出力側、引数の各内容をそれぞれ影響経路テーブル１１１の出力側、入力側、現在の引数の欄に上から順に格納する。その結果を図６に示す。
【００８５】
このテーブルから次のことを読みとることができる。
【００８６】
・「社内情報検索プログラム」が「社内情報テーブル」から引数を取得する経路に、現在ある「社内情報」という引数に変更を加えるか、新たな引数を追加するかという形で仕様変更が必要になる。
【００８７】
・同様に、「社内情報取得部」が「社内情報検索プログラム」から引数を取得する経路、「社内情報取得部」が「個人情報取得部」に引数を渡す経路、「営業検索プログラム」が「営業成績テーブル」に引数を渡す経路にそれぞれ現在の引数の変更、新たな引数の追加が必要になる。
【００８８】
これにより、図１２の例１の「候補１」に対応する影響範囲の特定が行われたことになる。
【００８９】
このように、本実施例では、引数の追加や既存引数へのデータ項目の追加が必要となる仕様変更に付き、必要箇所と生成可能箇所名から、どの処理部とどの処理部の間の経路部分に仕様変更、即ち新たな引数の追加、あるいは現在の引数のデータ項目の変更が必要かが判明すると、いう効果が得られることになる。
【００９０】
なお、前述の図２に示す必要箇所・生成可能箇所識別子取得部１０２、第１の枝経路追跡部１０３、第２の枝経路追跡部１０４、幹経路追跡部１０５、実要素名変換部１０６、追跡結果書き込み部１０７をプログラムとして構築し、コンピュータのＣＰＵ等の制御手段により実行することも可能である。
【００９１】
また、構築されたプログラムを通信回線、または、記憶媒体からコンピュータにインストールして実行することも可能である。
【００９２】
さらに、構築されたプログラムを仕様変更用影響範囲追跡装置として利用されるコンピュータに接続されるディスク装置や、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納しておき、本発明を実施する際に、コンピュータにインストールすることも可能である。
【００９３】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【００９４】
【発明の効果】
上述のように、本発明によれば、ソフトウェアにおける、引数の追加や既存引数へのデータ項目の追加が必要となる仕様変更につき、必要箇所と生成可能箇所名から、どの処理部とどの処理部の間の経路部分に仕様変更、即ち新たな経路の追加、あるいは現在の引数のデータ項目の変更が必要かを知ることができる。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】本発明の一実施の形態における装置構成図である。
【図３】本発明の一実施の形態における要素名・識別子対応テーブルの例である。
【図４】本発明の一実施の形態における枝経路テーブルの例である。
【図５】本発明の一実施の形態における幹経路テーブルの例である。
【図６】本発明の一実施の形態における影響経路テーブルの例である。
【図７】本発明の一実施の形態における第１の枝経路追跡部の処理手順を説明するための図である。
【図８】本発明の一実施の形態における第２の枝経路追跡部の処理手順を説明するための図である。
【図９】本発明の一実施の形態における幹経路追跡部の処理手順を説明するための図である。
【図１０】本発明の一実施例の適用仕様の各部識別子を示す図である。
【図１１】本発明の一実施例の図１０に対応する仕様及び各識別子に対応する実要素を示す図である。
【図１２】本発明の一実施例の仕様変更と必要箇所・生成可能箇所例である。
【図１３】本発明の一実施例の例１・候補に対応する第１の枝経路追跡部の動作概略である。
【図１４】本発明の一実施例の例１・候補１における第２の枝経路追跡部の動作概略である。
【図１５】本発明の一実施例の例１・候補１における幹経路追跡部の動作概略である。
【符号の説明】
１０１  入力手段、入力部
１０２  必要箇所・生成可能箇所識別子取得部
１０３  第１の枝経路追跡手段、第１の枝経路追跡部
１０４  第２の枝経路追跡手段、第２の枝経路追跡部
１０５  幹経路追跡手段、幹経路追跡部
１０６  実要素名変換部
１０７  出力手段、追跡結果書き込み部
１０８  要素名・識別子対応テーブル
１０９  枝経路テーブル
１１０  幹経路テーブル
１１１  影響経路テーブル
【図１】
2004259041.tif 000003
【図２】
2004259041.tif 000004
【図３】
2004259041.tif 000005
【図４】
2004259041.tif 000006
【図５】
2004259041.tif 000007
【図６】
2004259041.tif 000008
【図７】
2004259041.tif 000009
【図８】
2004259041.tif 000010
【図９】
2004259041.tif 000011
【図１０】
2004259041.tif 000012
【図１１】
2004259041.tif 000013
【図１２】
2004259041.tif 000014
【図１３】
2004259041.tif 000015
【図１４】
2004259041.tif 000016
【図１５】
2004259041.tif 000017