(57)【要約】【課題】異なる種類のソフトウェアオブジェクト間であっても、修正による影響範囲を特定することを可能にする。【解決手段】キーワード抽出部１０２は、ソフトウェアオブジェクト記憶部１０１に格納されている複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出して、キーワード記憶部１０３に格納する。構成管理テーブル作成部１０４は、キーワード抽出部１０２が抽出した箇所のうち、同一のキーワードを抽出した箇所同士を対応付ける構成管理テーブル１０５を作成する。修正影響範囲特定部１０７は、構成管理テーブル１０５を参照して、ソフトウェアオブジェクトに対してなされた修正によって影響を受ける影響範囲を特定し、修正影響範囲出力部１０９が特定した影響範囲を表示装置に表示させる。【選択図】図１
2013246644.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発時に作成される複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出するキーワード抽出手段と、
前記キーワード抽出手段が抽出した箇所のうち、同一の前記キーワードを抽出した箇所同士を対応付ける構成管理テーブルを作成する構成管理テーブル作成手段と、
前記ソフトウェアオブジェクトに対する修正の内容を示す修正情報から、ソフトウェアオブジェクトの修正箇所を特定する修正箇所特定手段と、
前記構成管理テーブルを参照して、前記特定した修正箇所を修正することにより影響を受けるソフトウェアオブジェクトの影響範囲を特定する修正影響範囲特定手段と、
前記修正影響範囲特定手段が特定した影響範囲を示す情報を出力する修正影響範囲出力手段と、
を備えることを特徴とするソフトウェアオブジェクト修正支援装置。
【請求項２】
相互に関連する異なるキーワード同士を対応付ける辞書手段を備え、
前記構成管理テーブル作成手段は、同一の前記キーワードを抽出した箇所同士を対応付けるだけでなく、前記辞書手段を参照して、関連する前記キーワードを抽出した箇所同士を対応付ける構成管理テーブルを作成する、
ことを特徴とする請求項１に記載のソフトウェアオブジェクト修正支援装置。
【請求項３】
前記辞書手段は複数あり、
前記辞書手段の選択を受け付ける辞書選択手段を備え、
前記構成管理テーブル作成手段は、前記辞書選択手段が受け付けた辞書手段を参照して、前記構成管理テーブルを作成する、
ことを特徴とする請求項２に記載のソフトウェアオブジェクト修正支援装置。
【請求項４】
ソフトウェア開発時に作成される複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出するキーワード抽出手段と、
前記キーワード抽出手段が抽出した前記キーワードが含まれる箇所に、ユーザが削除できない、該キーワード毎に一意のタグ情報を埋め込むタグ埋込手段と、
前記タグ埋込手段がタグ情報を埋め込んだ箇所のうち、同一の前記タグ情報を埋め込んだ箇所同士を対応付ける構成管理テーブルを作成する構成管理テーブル作成手段と、
前記ソフトウェアオブジェクトに対する修正の内容を示す修正情報から、ソフトウェアオブジェクトの修正箇所を特定する修正箇所特定手段と、
前記構成管理テーブルを参照して、前記特定した修正箇所を修正することにより影響を受けるソフトウェアオブジェクトの影響範囲を特定する修正影響範囲特定手段と、
前記修正影響範囲特定手段が特定した影響範囲を示す情報を出力する修正影響範囲出力手段と、
を備えることを特徴とするソフトウェアオブジェクト修正支援装置。
【請求項５】
前記修正影響範囲出力手段は、前記修正影響範囲特定手段が特定した影響範囲を示す情報をその種類に応じて分類して表示する、
ことを特徴とする請求項１乃至４の何れか１項に記載のソフトウェアオブジェクト修正支援装置。
【請求項６】
前記キーワード抽出手段は、前記ソフトウェアオブジェクトの種類に応じた条件で、前記キーワードが含まれる箇所を抽出する、
ことを特徴とする請求項１乃至５の何れか１項に記載のソフトウェアオブジェクト修正支援装置。
【請求項７】
ソフトウェア開発時に作成される複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出するキーワード抽出ステップと、
前記キーワード抽出ステップで抽出した箇所のうち、同一の前記キーワードを抽出した箇所同士を対応付ける構成管理テーブルを作成する構成管理テーブル作成ステップと、
前記ソフトウェアオブジェクトに対する修正の内容を示す修正情報から、ソフトウェアオブジェクトの修正箇所を特定する修正箇所特定ステップと、
前記構成管理テーブルを参照して、前記特定した修正箇所を修正することにより影響を受けるソフトウェアオブジェクトの影響範囲を特定する修正影響範囲特定ステップと、
前記修正影響範囲特定ステップで特定した影響範囲を示す情報を出力する修正影響範囲出力ステップと、
を備えることを特徴とするソフトウェアオブジェクト修正支援方法。
【請求項８】
ソフトウェア開発時に作成される複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出するキーワード抽出ステップと、
前記キーワード抽出ステップで抽出した前記キーワードが含まれる箇所に、ユーザが削除できない、該キーワード毎に一意のタグ情報を埋め込むタグ埋込ステップと、
前記タグ埋込ステップでタグ情報を埋め込んだ箇所のうち、同一の前記タグ情報を埋め込んだ箇所同士を対応付ける構成管理テーブルを作成する構成管理テーブル作成ステップと、
前記ソフトウェアオブジェクトに対する修正の内容を示す修正情報から、ソフトウェアオブジェクトの修正箇所を特定する修正箇所特定ステップと、
前記構成管理テーブルを参照して、前記特定した修正箇所を修正することにより影響を受けるソフトウェアオブジェクトの影響範囲を特定する修正影響範囲特定ステップと、
前記修正影響範囲特定ステップで特定した影響範囲を示す情報を出力する修正影響範囲出力ステップと、
を備えることを特徴とするソフトウェアオブジェクト修正支援方法。
【請求項９】
コンピュータを、
ソフトウェア開発時に作成される複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出するキーワード抽出手段、
前記キーワード抽出手段が抽出した箇所のうち、同一の前記キーワードを抽出した箇所同士を対応付ける構成管理テーブルを作成する構成管理テーブル作成手段、
前記ソフトウェアオブジェクトに対する修正の内容を示す修正情報から、ソフトウェアオブジェクトの修正箇所を特定する修正箇所特定手段、
前記構成管理テーブルを参照して、前記特定した修正箇所を修正することにより影響を受けるソフトウェアオブジェクト内の影響範囲を特定する修正影響範囲特定手段、
前記修正影響範囲特定手段が特定した影響範囲を示す情報を出力する修正影響範囲出力手段、
として機能させるプログラム。
【請求項１０】
コンピュータを、
ソフトウェア開発時に作成される複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出するキーワード抽出手段、
前記キーワード抽出手段が抽出した前記キーワードが含まれる箇所に、ユーザが削除できない、該キーワード毎に一意のタグ情報を埋め込むタグ埋込手段、
前記タグ埋込手段がタグ情報を埋め込んだ箇所のうち、同一の前記タグ情報を埋め込んだ箇所同士を対応付ける構成管理テーブルを作成する構成管理テーブル作成手段、
前記ソフトウェアオブジェクトに対する修正の内容を示す修正情報から、ソフトウェアオブジェクトの修正箇所を特定する修正箇所特定手段、
前記構成管理テーブルを参照して、前記特定した修正箇所を修正することにより影響を受けるソフトウェアオブジェクトの影響範囲を特定する修正影響範囲特定手段、
前記修正影響範囲特定手段が特定した影響範囲を示す情報を出力する修正影響範囲出力手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアオブジェクトの修正作業を支援するソフトウェアオブジェクト修正支援装置、ソフトウェアオブジェクト修正支援方法、および、プログラムに関する。
【背景技術】
【０００２】
ソフトウェアの開発時に作成される仕様書やプログラムソースコード等のソフトウェアオブジェクトを修正した際に、その修正が他のソフトウェアオブジェクトに与える影響範囲を特定することは重要である。例えば、ソフトウェア管理者は、仕様書間の階層構造等が記載されているトレーサビリティマトリックスを参照して、修正による影響範囲を特定する作業を手動で行っている。
【０００３】
また、このような作業をコンピュータを用いて自動化する技術についても知られている。例えば、特許文献１には、利用関係にあるプログラム部品を特定することにより、ユーザがソースコードを参照すること無しに、修正にともなう影響箇所を漏れなく特定するプログラム修正支援システムについて記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０１５４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のシステムでは、ソースコードの修正のみを対象にしている。従って、ソースコードの修正によって仕様書が影響を受ける箇所を特定したり、仕様書を修正することによってソースコードが影響を受ける箇所を特定したりすることはできなかった。
【０００６】
本発明は、上記実情に鑑みてなされたものであり、異なる種類のソフトウェアオブジェクト間であっても、修正による影響範囲を特定することを可能にしたソフトウェアオブジェクト修正支援装置、ソフトウェアオブジェクト修正支援方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のソフトウェアオブジェクト修正支援装置は、
ソフトウェア開発時に作成される複数の異なる種類のソフトウェアオブジェクトから、特定のキーワードが含まれる箇所を抽出するキーワード抽出手段と、
前記キーワード抽出手段が抽出した箇所のうち、同一の前記キーワードを抽出した箇所同士を対応付ける構成管理テーブルを作成する構成管理テーブル作成手段と、
前記ソフトウェアオブジェクトに対する修正の内容を示す修正情報から、ソフトウェアオブジェクトの修正箇所を特定する修正箇所特定手段と、
前記構成管理テーブルを参照して、前記特定した修正箇所を修正することにより影響を受けるソフトウェアオブジェクトの影響範囲を特定する修正影響範囲特定手段と、
前記修正影響範囲特定手段が特定した影響範囲を示す情報を出力する修正影響範囲出力手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、異なる種類のソフトウェアオブジェクト間であっても、修正による影響範囲を特定することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係るソフトウェアオブジェクト修正支援装置の機能構成図である。
【図２】キーワード記憶部に格納されている情報の例を示す図である。
【図３】第１の実施形態における構成管理テーブルの例を示す図である。
【図４】第１の実施形態における構成管理テーブル作成処理の動作を説明するためのフローチャートである。
【図５】第１の実施形態における修正影響範囲出力処理の動作を説明するためのフローチャートである。
【図６】修正影響箇所一覧画面の例を示す図である。
【図７】本発明の第２の実施形態に係るソフトウェアオブジェクト修正支援装置の機能構成図である。
【図８】辞書記憶部に格納されている情報の例を示す図である。
【図９】第２の実施形態における構成管理テーブルの例を示す図である。
【図１０】本発明の第３の実施形態に係るソフトウェアオブジェクト修正支援装置の機能構成図である。
【図１１】本発明の第４の実施形態に係るソフトウェアオブジェクト修正支援装置の機能構成図である。
【図１２】タグ情報が埋め込まれたソフトウェアオブジェクトの例を示す図である。
【図１３】第４の実施形態における構成管理テーブル作成処理の動作を説明するためのフローチャートである。
【図１４】修正影響箇所一覧画面の例を示す図である。
【図１５】ソフトウェアオブジェクトをソフトウェア開発工程毎に分類するテーブルの例を示した図である。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。なお、以下の説明において、ソフトウェアオブジェクトとは、ソフトウェアを開発する際に作成される仕様書や要件定義書やソースコード等のテキストを含むデータを表すものとする。
【００１１】
≪第１の実施形態≫
本発明の第１の実施形態に係るソフトウェアオブジェクト修正支援装置１００について説明する。ソフトウェアオブジェクト修正支援装置１００は、ソフトウェアオブジェクト間の構成を管理する装置である。ソフトウェアオブジェクト修正支援装置１００は、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスクドライブ、キーボード、マウス等を備えたコンピュータである。
【００１２】
ソフトウェアオブジェクト修正支援装置１００は、機能的には、図１に示すように、ソフトウェアオブジェクト記憶部１０１と、キーワード抽出部１０２と、キーワード記憶部１０３と、構成管理テーブル作成部１０４と、構成管理テーブル１０５と、修正情報格納部１０６と、修正影響範囲特定部１０７と、修正影響範囲記憶部１０８と、修正影響範囲出力部１０９とを備える。なお、図１において、実線矢印はデータの流れ、波線の矢印は処理の流れを表すものとする。
【００１３】
ソフトウェアオブジェクト記憶部１０１には、ソフトウェア開発時に作成された仕様書やソースコード等のソフトウェアオブジェクトが複数格納されている。
【００１４】
キーワード抽出部１０２は、ドキュメント用キーワード抽出部１０２Ａと、ソースコード用キーワード抽出部１０２Ｂとを備え、所定の手法により、ソフトウェアオブジェクト記憶部１０１に格納されているソフトウェアオブジェクトから特定のキーワードを抽出する。そして、キーワード抽出部１０２は、抽出したキーワードと、該キーワードが記載されているソフトウェアオブジェクト内の場所を示すロケーション情報とを対応付けてキーワード記憶部１０３に格納する。
【００１５】
なお、ドキュメント用キーワード抽出部１０２Ａは、仕様書等のドキュメントデータを対象にキーワードを抽出する。また、ソースコード用キーワード抽出部１０２Ｂは、ソースコードを対象にキーワードを抽出する。ドキュメント用キーワード抽出部１０２Ａとソースコード用キーワード抽出部１０２Ｂとで同じ条件でキーワードを抽出してもよいし、異なる条件でキーワードを抽出してもよい。例えば、ソースコード用キーワード抽出部１０２Ｂは、ソースコードのコメント文のみを対象にキーワードを抽出してもよい。また、ドキュメント用キーワード抽出部１０２Ａとソースコード用キーワード抽出部１０２Ｂとで別々に抽出用のキーワードを用意して、それぞれが、用意されたキーワードが記載されている箇所を抽出してもよい。また、ソースコード用キーワード抽出部１０２Ｂは、ソースコードからキーワードを抽出する際に、公知のプログラム解析ツールを用いてもよい。なお、キーワード抽出部１０２は、ソフトウェアオブジェクトの種類をさらに細かく分類して、種類に応じた「○○用キーワード抽出部」をより多く備えてもよい。
【００１６】
図２に、キーワード記憶部１０３に格納されている情報の例を示す。例えば、この図の先頭エントリのデータから、キーワード「初期化」が、「仕様書Ａ」の「Ａ１頁Ｂ１行目」に記載されていることがわかる。
【００１７】
図１に戻り、構成管理テーブル作成部１０４は、キーワード記憶部１０３を参照して、共通のキーワードが抽出されたソフトウェアオブジェクトの箇所（ロケーション情報）同士を対応付けた構成管理テーブル１０５を作成する。
【００１８】
図３に、構成管理テーブル１０５の構成例を示す。本実施形態では、構成管理テーブル１０５は、２つのオブジェクト（この例では仕様書ＡとソースコードＸ）の間で共通のキーワードが記載されている箇所（内部ロケーション情報）を対応付けるテーブルである。なお、図３は、図２に示すような情報がキーワード記憶部１０３に格納されている場合の構成管理テーブル１０５に対応する。
【００１９】
図３に示す構成管理テーブル１０５において「○」は、対応する左側の項目と上側の項目のロケーション情報が示す箇所に、共通のキーワードが記載されていることを示す。従って、図３の左側の「○」からは、仕様書ＡのＡ１頁のＢ１行目と、ソースコードＸのファイルＸＸ１のＸＸＸ１行目には、共通のキーワードが記載されていることがわかる。なお、このことは、図２に示すキーワード記憶部１０３の先頭と４番目のエントリに共通のキーワード「初期化」が記録されていることからも同様にわかる。
なお、構成管理テーブル１０５の「○」の印は、説明を容易にするために便宜的に付与したものであり、実際のデータとしては、「×」のような他のマーキング情報でもよいし、○が記入される根拠になったキーワードを直接記入してもよい。つまり、その欄が空であれば関係なし、○やキーワードが記入されていれば関連性がある、とわかればよい。
【００２０】
構成管理テーブル作成部１０４は、上述した構成管理テーブル１０５を、ソフトウェアオブジェクト記憶部１０１に格納されている全てのソフトウェアオブジェクトの組で作成する。また、１つのソフトウェアオブジェクト内で相互に関連し合う箇所がある場合も考えられるため、構成管理テーブル作成部１０４は、同一のソフトウェアオブジェクトの組（例えば、仕様書Ａと仕様書Ａの組）に対しても構成管理テーブル１０５を作成する。従って、ソフトウェアオブジェクト記憶部１０１に格納されているソフトウェアオブジェクトの総数をＮとすると、構成管理テーブル作成部１０４は、（１＋２＋…＋Ｎ）個分の構成管理テーブル１０５を作成する。
【００２１】
図１に戻り、修正情報格納部１０６には、ソフトウェアオブジェクト記憶部１０１に記憶されているソフトウェアオブジェクトに加えられた修正内容を規定する修正情報が格納される。修正情報には、修正が加えられた箇所を特定するための情報が含まれているものとする。また、修正情報を、ソフトウェアオブジェクト記憶部１０１に記憶されているソフトウェアオブジェクトとの差分を示す情報としてもよい。
【００２２】
修正影響範囲特定部１０７は、構成管理テーブル１０５を参照して、修正情報格納部１０６に格納されている修正情報が示す修正が行われた際に、影響を受けるソフトウェアオブジェクトの箇所（修正影響範囲）を特定する。
【００２３】
修正影響範囲記憶部１０８には、修正影響範囲特定部１０７によって特定された結果が格納される。
【００２４】
修正影響範囲出力部１０９は、修正影響範囲記憶部１０８に記憶されている情報に基づいて、修正により影響を受けるソフトウェアオブジェクトの箇所（修正影響範囲）を示す情報を表示装置に出力（表示）する。
【００２５】
続いて、ソフトウェアオブジェクト修正支援装置の動作について説明する。ソフトウェアオブジェクト修正支援装置１００の処理は、構成管理テーブル１０５を作成する構成管理テーブル作成処理と、ソフトウェアオブジェクトに修正がなされた際の影響範囲を出力する修正影響範囲出力処理との２つの処理に大別される。
【００２６】
（構成管理テーブル作成処理）
始めに、構成管理テーブル作成処理について説明する。
ユーザは、キーボードやマウスを操作して、構成管理テーブル１０５の作成処理の開始を指示する。この指示操作に応答して、ソフトウェアオブジェクト修正支援装置１００では、図４に示す構成管理テーブル作成処理が実行される。
【００２７】
まず、キーワード抽出部１０２は、所定の手法により、ソフトウェアオブジェクト記憶部１０１に格納されているソフトウェアオブジェクトから特定のキーワードを抽出する（ステップＳ１０１）。
【００２８】
なお、どのような手法でキーワードを抽出するかは種々の手法（アルゴリズム）が採用可能である。例えば、キーワード抽出部１０２は、予め用意された、構成管理に重要と目されるキーワードでソフトウェアオブジェクト内を検索して、当該キーワードが記載されている箇所を抽出すればよい。
又は、キーワード抽出部１０２は、公知の手法により、ソフトウェアオブジェクト内を形態素解析して単語を抽出し、出現頻度が所定値以上の抽出単語をキーワードとして抽出してもよい。なお、この場合、出現頻度は高いが構成管理における重要度は低いと考えられる助詞や助動詞や予約語、及び、ソースコードのコメント以外の部分からはキーワードを抽出しないようにしてもよい。
【００２９】
続いて、キーワード抽出部１０２は、抽出したキーワードと、このキーワードが記載されているソフトウェアオブジェクト内の場所を示すロケーション情報とを対応付けてキーワード記憶部１０３に格納する（ステップＳ１０２）。
【００３０】
続いて、構成管理テーブル作成部１０４は、キーワード記憶部１０３を参照して、共通のキーワードが検出された箇所同士を対応付けた構成管理テーブル１０５を作成する（ステップＳ１０３）。以上で構成管理テーブル作成処理は終了する。
【００３１】
（修正影響範囲出力処理）
続いて、修正影響範囲出力処理について説明する。
ユーザは、キーボードやマウスを操作して、エディタ画面上からソフトウェアオブジェクト記憶部１０１に格納されているソフトウェアオブジェクトの１つに対して修正を加える。そして、ユーザは、修正を加えたソフトウェアオブジェクトを保存する操作を行う。この操作に応答して、修正情報格納部１０６に当該修正を表す修正情報が格納されるとともに、図５に示す修正影響範囲出力処理が実行される。
【００３２】
まず、修正影響範囲特定部１０７は、修正情報格納部１０６に記憶されている修正情報から、どのソフトウェアオブジェクトのどの箇所（ロケーション情報）が修正されたのかを特定する（ステップＳ２０１）。
【００３３】
続いて、修正影響範囲特定部１０７は、ステップＳ２０１で特定した修正箇所（ロケーション情報）を項目として有する構成管理テーブル１０５を全て抽出する（ステップＳ２０２）。そして、修正影響範囲特定部１０７は、抽出した構成管理テーブル１０５を参照して、ステップＳ２０１で特定した修正箇所（ロケーション情報）に関連付けられているソフトウェアオブジェクトの箇所（ロケーション情報）を特定し、修正影響範囲記憶部１０８に格納する（ステップＳ２０３）。例えば、図３に示すような構成管理テーブル１０５が定義されており、ステップＳ２０１でソースコードＸのファイルＸＸ３のＸＸＸ３行目が修正箇所として特定された場合を考える。この場合、図３に示すこの構成管理テーブル１０５において、この修正箇所に○が点いている仕様書ＡのＡ２頁のＢ２行目が関連する箇所として特定される。
【００３４】
続いて、修正影響範囲出力部１０９は、修正影響範囲記憶部１０８に記憶されている情報に基づいて、図６（Ａ）に示すような修正により影響を受けるソフトウェアオブジェクトの箇所（修正影響範囲）を一覧表示する画面（修正影響箇所一覧画面）を表示装置に表示させる（ステップＳ２０４）。この例では、仕様書ＸのＹ頁のＺ行目が修正された場合に、要件定義書ａのｂ頁のｃ行目、仕様書ｄのｅ頁のｆ行目、および、ソースコードｇのｈファイルのｉ行目等が影響を受けることがわかる。また、図６（Ｂ）に示すように、修正箇所と修正による影響箇所との関係を図形や矢印を用いて表した修正影響箇所一覧画面を作成してもよい。以上で修正影響範囲出力処理は終了する。
【００３５】
このように本実施形態に係るソフトウェアオブジェクト修正支援装置１００は、複数種類のデータからなるソフトウェアオブジェクトからキーワードを抽出し、同じキーワードが抽出される箇所同士を関連付けた構成管理テーブル１０５を作成する。そして、ソフトウェアオブジェクトに修正がなされた際には、作成した構成管理テーブル１０５を参照して、修正がなされた箇所と同じキーワードが記載されている箇所が、修正により影響を受ける箇所（修正影響範囲）として出力される。ここで、構成管理テーブル１０５は、仕様書やソースコードのような異なる種類のソフトウェアオブジェクトの箇所同士であっても、関連付けを行う。従って、本実施形態によれば、異なる種類のソフトウェアオブジェクト間であっても、修正による影響範囲を抽出することが可能となる。
【００３６】
また、本実施形態に係るソフトウェアオブジェクト修正支援装置１００では、ソフトウェアオブジェクトの種類（ドキュメントデータかソースコード）に応じて、異なるキーワード抽出部１０２（ドキュメント用キーワード抽出部１０２Ａ、ソースコード用キーワード抽出部１０２Ｂ）を備える。そして、ドキュメント用キーワード抽出部１０２Ａとソースコード用キーワード抽出部１０２Ｂとのそれぞれで、対応する条件に従って、ソフトウェアオブジェクトからキーワードを抽出する。従って、本実施形態によれば、ソフトウェアオブジェクトの種類に応じた柔軟なキーワードの抽出が可能となり、キーワード抽出の精度をより向上させることが可能となる。
【００３７】
≪第２の実施形態≫
続いて、第２の実施形態に係るソフトウェアオブジェクト修正支援装置２００について説明する。第１の実施形態に係るソフトウェアオブジェクト修正支援装置１００では、ソフトウェアオブジェクト間で同じキーワードが抽出された箇所同士を構成管理テーブル１０５で関連付けた。従って、第１の実施形態では、意味が同じキーワードであっても綴りが異なっているキーワード同士が抽出された箇所同士は関連付けられなかった。本実施形態では、構成管理テーブル１０５で関連付ける範囲を類似するキーワードまで拡張したことを特徴とする。
【００３８】
図７に、本発明の第２の実施形態に係るソフトウェアオブジェクト修正支援装置２００の構成を示す。なお、第１の実施形態に係るソフトウェアオブジェクト修正支援装置１００と同じ構成については、同じ参照符号を付し、その部分の説明は省略する。第２の実施形態に係るソフトウェアオブジェクト修正支援装置２００は、第１の実施形態に係るソフトウェアオブジェクト修正支援装置１００と比べて、新たに辞書記憶部１１０を備える。
【００３９】
辞書記憶部１１０には、図８に示すように、類似するキーワード同士が対応付けられて記憶されている。図８の例では、１つのエントリが、１つの類似するキーワードのグループを示している。例えば、この図の先頭のエントリから、「Initialize」、「イニシャライズ」、「初期化」、「立上げ」、及び「ブート」の各キーワードは互いに類似するキーワードであることがわかる。
【００４０】
第２の実施形態では、構成管理テーブル作成処理において、構成管理テーブル作成部１０４は、共通のキーワードだけでなく、辞書記憶部１１０を参照して、類似するキーワードが検出された箇所同士を対応付けた構成管理テーブル１０５を作成する。
【００４１】
例えば、図２、図８に示すような情報が、それぞれ、キーワード記憶部１０３と辞書記憶部１１０とに格納されている場合の構成管理テーブル１０５の例を図９に示す。この場合、辞書記憶部１１０を参照することで、キーワード記憶部１０３の３番目のエントリのキーワード「BankData」と５番目のエントリのキーワード「貯金」とが互いに類似しているキーワードであることがわかる。従って、これらエントリのロケーション情報を対応付ける「○」が図９に示す構成管理テーブル１０５に付与される。従って、第１の実施形態で辞書記憶部１１０を用いないで作成した図３に示す構成管理テーブル１０５よりも、ロケーション情報を多く対応付けることが可能となる。
【００４２】
このように、第２の施形態では、構成管理テーブル１０５で関連付ける範囲を類似するキーワード間まで拡張させる。従って、より精度の高い構成管理テーブル１０５を作成することが可能となり、修正影響範囲出力処理において、修正による影響箇所をより漏れなく抽出することが可能となる。
【００４３】
≪第３の実施形態≫
続いて、第３の実施形態に係るソフトウェアオブジェクト修正支援装置３００について説明する。図１０に、第３の実施形態に係るソフトウェアオブジェクト修正支援装置３００の構成を示す。なお、第１、第２の実施形態に係るソフトウェアオブジェクト修正支援装置１００、２００と同じ構成については、同じ参照符号を付し、その部分の説明は省略する。
【００４４】
第３の実施形態に係るソフトウェアオブジェクト修正支援装置３００は、第２の実施形態に係るソフトウェアオブジェクト修正支援装置２００と比べて、辞書記憶部１１０を複数有するとともに、辞書選択部１１１を新たに備える。
【００４５】
複数の辞書記憶部１１０は、それぞれ異なる観点に基づいて作成されている。例えば、ソフトウェアオブジェクト修正支援装置３００は、自動車に関連するキーワードの類似関係が多く登録されている辞書記憶部１１０や、化学に関連するキーワードの類似関係が多く登録されている辞書記憶部１１０等を有する。
【００４６】
辞書選択部１１１は、構成管理テーブル作成処理で構成管理テーブル１０５を作成する際に、ユーザや外部のシステムからの辞書記憶部１１０の選択を受け付ける。例えば、ユーザは、カーディーラーの営業用のソフトウェア開発で作成されるソフトウェアオブジェクトを対象とした構成管理テーブル１０５を作成したい場合、自動車に関連するキーワードの類似関係が多く登録されている辞書記憶部１１０を選択すればよい。また、ユーザは、化学実験シミュレーション用のソフトウェア開発で作成されるソフトウェアオブジェクトを対象とした構成管理テーブル１０５を作成したい場合、化学に関連するキーワードの類似関係が多く登録されている辞書記憶部１１０を選択すればよい。なお、辞書選択部１１１は、複数の辞書記憶部１１０の選択を受け付けてもよい。
【００４７】
そして、構成管理テーブル作成処理において、構成管理テーブル作成部１０４は、共通のキーワードだけでなく、辞書選択部が選択を受け付けた辞書記憶部１１０を参照して、類似するキーワードが検出された箇所同士を対応付けた構成管理テーブル１０５を作成する。従って、本実施形態では、ソフトウェアオブジェクトに最適な辞書を選択して構成管理テーブル１０５を作成することができるため、より関連付けの精度の高い構成管理テーブル１０５の作成が可能となり、修正影響範囲出力処理において、修正による影響箇所をより漏れなく抽出することが可能となる。
【００４８】
≪第４の実施形態≫
続いて、第４の実施形態に係るソフトウェアオブジェクト修正支援装置４００について説明する。図１１に、本発明の第４の実施形態に係るソフトウェアオブジェクト修正支援装置４００の構成を示す。なお、第１〜第３の実施形態に係るソフトウェアオブジェクト修正支援装置１００〜３００と同じ構成については、同じ参照符号を付し、その部分の説明は省略する。
【００４９】
第４の実施形態に係るソフトウェアオブジェクト修正支援装置４００は、第１の実施形態に係るソフトウェアオブジェクト修正支援装置１００と比べて、タグ情報埋込部１１２を新たに備える。
【００５０】
タグ情報埋込部１１２は、ソフトウェアオブジェクトにおけるキーワード抽出部１０２が抽出したキーワードが含まれる箇所に、キーワード毎に一意のタグ情報を埋め込む。このタグ情報は、管理者権限の無い一般ユーザが、ソフトウェアオブジェクト内から削除することができない情報である。例えば、ユーザがキーボードやマウス等を操作して、エディタ上からソフトウェアオブジェクト内のタグ情報を削除した後、このソフトウェアオブジェクトを保存しようとした場合に、警告メッセージ等を表示するとともに、保存ができないようにする制御を行えばよい。若しくは、タグ情報を削除できないように開発規約でルール化してもよい。
【００５１】
図１２に、タグ情報埋込部１１２によってタグ情報が埋め込まれたソフトウェアオブジェクトの例を示す。図１２（Ａ）は、仕様書であるソフトウェアオブジェクト内にタグ情報「＄構成管理タグ：４５６７８９＄」が埋め込まれた例である。図１２（Ｂ）は、Ｃ言語で記載されたソースコードであるソフトウェアオブジェクト内にタグ情報「＄構成管理タグ：４５６７８９＄」が埋め込まれた例である。
【００５２】
図１２（Ａ）と図１２（Ｂ）の例では、両方とも、同一のキーワード「初期化中の異常処理」に対応するタグ情報であるため、キーワードの直後に同一のタグ情報「＄構成管理タグ：４５６７８９＄」が埋め込まれている。なお、タグ情報の番号は、抽出されたキーワードの種類毎に固有の番号を示すものであり、例えば自動採番により連番としてもよい。また、前述したように、タグ情報「＄構成管理タグ：４５６７８９＄」を一般ユーザが削除することはできない。
【００５３】
続いて、第４の実施形態に係るソフトウェアオブジェクト修正支援装置４００で実施される構成管理テーブル作成処理の動作について、図１３のフローチャートを参照して説明する。
【００５４】
構成管理テーブル作成処理が開始されると、キーワード抽出部１０２は、ソフトウェアオブジェクト記憶部１０１に格納されているソフトウェアオブジェクトから特定のキーワードを抽出する（ステップＳ３０１）。なお、この処理は、図４のステップＳ１０１と実質的に同じ処理である。
【００５５】
続いて、タグ情報埋込部１１２は、ステップＳ３０１で抽出されたキーワードが含まれる箇所に、キーワードの種類毎に固有のユーザが削除できないタグ情報を埋め込む（ステップＳ３０２）。
【００５６】
続いて、キーワード抽出部１０２は、ステップＳ３０２で埋め込んだタグ情報と、このタグ情報が埋め込まれているソフトウェアオブジェクト内の場所を示すロケーション情報とを対応付けてキーワード記憶部１０３に格納する（ステップＳ３０３）。
【００５７】
続いて、構成管理テーブル作成部１０４は、キーワード記憶部１０３を参照して、共通のタグ情報が埋め込まれている箇所同士を対応付けた構成管理テーブル１０５を作成する（ステップＳ３０４）。以上で構成管理テーブル作成処理は終了する。
【００５８】
このように、本実施形態では、ソフトウェアオブジェクトから抽出されたキーワードにユーザが削除できないタグ情報を埋め込み、同一のタグ情報を有する箇所（ロケーション情報）を対応付けた構成管理テーブル１０５を作成する。
【００５９】
第１の実施形態では、抽出したキーワードが削除や修正された場合、そのキーワードは抽出されなくなるため、そのキーワードを抽出した箇所と他の箇所を関連付けていた構成管理テーブル１０５の「○」で示した情報も消去されてしまう。これに対し、本実施形態では、削除できない同一のタグ情報を有する箇所（ロケーション情報）同士を対応付けた構成管理テーブル１０５を作成するため、後でキーワードが修正されてしまったような場合でも、タグ情報同士の関連付け情報が残っているため、ユーザが間違ってコメント等を改変してしまって関連性が抽出できなくなってしまうことを防止することが可能となる。
【００６０】
なお、本発明は、上記各実施形態に限定されず、本発明の要旨を逸脱しない部分での種々の修正は勿論可能である。
【００６１】
例えば、上記各実施形態では、図３や図９に示すような２つのソフトウェアオブジェクト内の箇所（ロケーション情報）の関連付けを行う構成管理テーブル１０５を複数作成した。しかしながら、ソフトウェアオブジェクト間のロケーション情報の関連付けを行うことが可能であれば、１つにまとめた構成管理テーブル１０５等を作成してもよく、構成管理テーブル１０５のデータ形式は種々のものが採用可能である。
【００６２】
また、例えば、上記各実施形態では、図３や図９に示すように、ロケーション情報を頁数やファイルの行数で表した。しかしながら、仕様書であればＸ章のＹ節のＺ行目、ソースコードであれば関数ＸＸ内のＹＹ行目等とロケーション情報を表してもよい。要するに、ソフトウェアオブジェクト内の位置を特定できる情報であれば、任意の情報をロケーション情報として採用可能である。
【００６３】
また、例えば、上記各実施形態では、ソフトウェアオブジェクトに実際に修正があった場合に修正影響範囲出力処理を実施して、その影響範囲を特定したが、修正を行わない場合にも、修正影響範囲出力処理を実施してもよい。この場合、ユーザ等から、修正したいソフトウェアオブジェクトの箇所の指定だけを受け付け、当該指定された箇所で修正がなされたと仮定した修正影響範囲出力処理を実行して、仮の修正により影響を受ける箇所を出力すればよい。このようにすることで、ユーザは、実際に修正を行う前に、修正に伴う作業がどれだけ発生するのか等をシミュレーションすることが可能となる。また、複数の修正のパターンに対して修正影響範囲出力処理を実行し、どの修正パターンで修正を行えば、最も修正箇所が少ないか等を分析することも可能となる。
【００６４】
また、上記各実施形態では、修正により影響を受けるソフトウェアオブジェクトの箇所（修正影響範囲）を一覧表示する図６に示すような修正影響箇所一覧画面を作成して表示した。しかしながら、一覧表示するソフトウェアオブジェクトの箇所（修正影響範囲）を種類に応じて分類して表示する修正影響箇所一覧画面を作成して表示してもよい。
【００６５】
例えば、図１４に示すように、修正により影響を受けるソフトウェアオブジェクトの箇所を、対応するソフトウェア開発工程（ステップ番号：成果物種類）毎に分類して表示してもよい。なお、このような表示をするためには、予め図１５に示すような、各ソフトウェアオブジェクトをソフトウェア開発工程毎に分類するためのテーブルをソフトウェアオブジェクト修正支援装置１００，２００，３００，４００に格納しておく必要がある。また、このテーブルは、ソフトウェア開発の進行に従ってユーザ等の操作によって随時更新されるテーブルである。
【００６６】
このようにソフトウェアオブジェクトの箇所を種類毎に分類して表示することにより、図６に示す修正影響箇所一覧画面よりもより利便性のよい表示が可能となり、ユーザのソフトウェア開発作業をより支援することが可能となる。なお、ソフトウェアオブジェクトをどのような基準で分類するかは任意の基準が採用可能である。
【００６７】
また、例えば、ユーザからのキーボード等を介した操作を受け付けて、キーワード記憶部１０３に格納されている情報をユーザが編集可能にしてもよい。このようにすることで、不要なキーワードの削除や、ユーザが独自に定義したキーワードの登録が可能となり、キーワード記憶部１０３に格納する情報の精度をより向上させることができる。さらに、キーワード抽出部１０２が抽出する抽出のルールも、ユーザがパラメータを変更すること等によって適宜変更可能としてもよい。
【００６８】
また、例えば、本発明に係るソフトウェアオブジェクト修正支援装置１００，２００，３００，４００の動作を規定する動作プログラムを既存のパーソナルコンピュータや情報端末機器等に適用することで、当該パーソナルコンピュータ等を本発明に係るソフトウェアオブジェクト修正支援装置１００，２００，３００，４００として機能させることも可能である。
【００６９】
また、このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical Disk）、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。
【符号の説明】
【００７０】
１００ ソフトウェアオブジェクト修正支援装置
１０１ ソフトウェアオブジェクト記憶部
１０２ キーワード抽出部
１０２Ａ ドキュメント用キーワード抽出部
１０２Ｂ ソースコード用キーワード抽出部
１０３ キーワード記憶部
１０４ 構成管理テーブル作成部
１０５ 構成管理テーブル
１０６ 修正情報格納部
１０７ 修正影響範囲特定部
１０８ 修正影響範囲記憶部
１０９ 修正影響範囲出力部
【図１】
2013246644.tif 000003
【図２】
2013246644.tif 000004
【図３】
2013246644.tif 000005
【図４】
2013246644.tif 000006
【図５】
2013246644.tif 000007
【図６】
2013246644.tif 000008
【図７】
2013246644.tif 000009
【図８】
2013246644.tif 000010
【図９】
2013246644.tif 000011
【図１０】
2013246644.tif 000012
【図１１】
2013246644.tif 000013
【図１２】
2013246644.tif 000014
【図１３】
2013246644.tif 000015
【図１４】
2013246644.tif 000016
【図１５】
2013246644.tif 000017