(57)【要約】【課題】ソフトウェア開発の効率を向上させることができるソフトウェア成果物管理システム、方法及びそのプログラムを提供する。【解決手段】コンピュータは、既に作成されたソフトウェア成果物に含まれる、ソフトウェアの振舞を実現するためのデータに基づいて他のソフトウェア成果物に含まれる前記データを作成することにより生成された複数のソフトウェア成果物を成果物リポジトリ13に記憶するとともに、各ソフトウェア成果物のデータを、該データに基づいて作成された他のソフトウェア成果物のデータと関連付けた状態で概念体系リポジトリ14に記憶し、概念体系リポジトリ14に記憶されたソフトウェア成果物のデータの内容が情報入力部12によって変更されると、変更されたデータに関連付けられた他のソフトウェア成果物のデータを概念体系リポジトリ14から抽出する。【選択図】図１
2009104291.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システムであって、
前記コンピュータは、
情報入力手段と、
既に作成されたソフトウェア成果物に含まれる、ソフトウェアの振舞を実現するためのデータに基づいて他のソフトウェア成果物に含まれる前記データを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のデータと、該データに基づいて作成された他のソフトウェア成果物のデータとを関連付けた状態で記憶する記憶手段と、
記憶手段に記憶されたソフトウェア成果物のデータの内容が情報入力手段によって変更されると、変更されたデータに関連付けられた他のソフトウェア成果物のデータを記憶手段から抽出する特定手段とを備える
ことを特徴とするソフトウェア成果物管理システム。
【請求項２】
前記コンピュータは、
前記特定手段によって抽出されたデータを含むソフトウェア成果物を表示する表示手段を備える
ことを特徴とする請求項１記載のソフトウェア成果物管理システム。
【請求項３】
前記表示手段は、
ソフトウェア成果物を表示するときに、抽出されたデータに対応する箇所を他のデータに対応する箇所よりも際立たせて表示させる
ことを特徴とする請求項２記載のソフトウェア成果物管理システム。
【請求項４】
ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理方法であって、
前記コンピュータは、
既に作成されたソフトウェア成果物に含まれる、ソフトウェアの振舞を実現するためのデータに基づいて他のソフトウェア成果物に含まれる前記データを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のデータと、該データに基づいて作成された他のソフトウェア成果物のデータとを関連付けた状態で所定の記憶部に記憶し、
記憶部に記憶されたソフトウェア成果物のデータの内容が所定の情報入力部によって変更されると、変更されたデータに関連付けられた他のソフトウェア成果物のデータを記憶部から抽出する
ことを特徴とするソフトウェア成果物管理方法。
【請求項５】
前記コンピュータは、
抽出されたデータを含むソフトウェア成果物を所定の表示部に表示させる
ことを特徴とする請求項４記載のソフトウェア成果物管理方法。
【請求項６】
前記コンピュータは、
ソフトウェア成果物を表示するときに抽出されたデータに対応する箇所を他のデータに対応する箇所よりも際立たせて表示させる
ことを特徴とする請求項５記載のソフトウェア成果物管理方法。
【請求項７】
請求項４乃至６何れか１項記載の方法をコンピュータに実行させるためのソフトウェア成果物作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システム、方法及びそのプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発においては、ソースコードだけでなく、ユーザ要求や簡略化したソフトウェア動作のフロー、ソースコードを作成するための設計書等のドキュメント（以下、上流成果物と称する。）がソフトウェア成果物として作成される。これらの上流成果物は、ソフトウェア開発時に開発者の理解を助け、ユーザ要求を満たすソフトウェアを開発するために重要なものである。しかし、ソフトウェア開発時や運用時において機能変更が発生したために、既に作成されたソフトウェア成果物を変更した場合には、ソフトウェアの保有する機能を正確に反映しなければならず、変更されたソフトウェア成果物に関連する他のソフトウェア成果物も変更する必要が生じる。この場合、ソフトウェア成果物の数が多くなるに従って、関連するソフトウェア成果物の特定及びそのソフトウェア成果物における変更箇所の特定が困難になるという問題点があった。そのため、これまで種々の特定方法が検討されている。
【０００３】
ところで、ソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報（タスク）が表現された動的成果物と、ソフトウェアがその振舞を実行するために必要なデータ情報が規定された静的成果物とが存在する。しかし、従来技術では、静的成果物を変更した場合において、変更の影響を受ける他の静的成果物及びその影響箇所を特定することが困難である。
【０００４】
例えば、非特許文献１に記載されたＵＭＬ（Unified Modeling Language）ツールでは、作成した各ソフトウェア成果物を機能毎に電子フォルダに保存することが可能であるため、関連する他のソフトウェア成果物を把握することが可能である。しかし、これによって特定できるのは、変更の影響を受けるソフトウェア成果物のみであり、その成果物の記載内容のうちどの箇所が影響を受けるかについては特定することが困難である。
【０００５】
また、非特許文献２では、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、対象とするソフトウェア成果物が画面遷移図とstruts-config.xmlのみに限定されており、ソフトウェア開発時に作成される多種のソフトウェア成果物に対応することが困難である。
【０００６】
さらに、非特許文献３では、非特許文献２と同様に、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、特定の対象となるソフトウェア成果物がソースコードのみであり、ユーザ要求や設計書等の上流成果物については特定することが困難である。
【０００７】
さらにまた、非特許文献４では、ユーザ要求や設計書等の上流成果物と、ソースコード等の下流成果物とを特定対象とした、ソフトウェア成果物及びその影響箇所の特定方法を提案しているが、どのように各ソフトウェア成果物間を関連付けるかについては、具体的に述べられていない。
【０００８】
また、非特許文献５では、ＵＣ記述やシーケンス図等のように、ソフトウェアの機能動作を表す動的成果物間の変更箇所の特定が可能であるが、用語集やクラス図等のように、ソフトウェアの機能が取り扱うデータを表す静的成果物が変更された場合には、この変更の影響を受ける静的成果物及びその影響箇所を特定することが困難である。
【非特許文献１】“ENTERPRIZE ARCHITECT”、[online]、スパークシステムズジャパン株式会社、[平成１９年２月２１日検索]、インターネット＜URL：http://www.sparxsystems.jp/ea.htm＞
【非特許文献２】大平他「Strutsフレームワークにおけるメタモデルを用いた追跡可能性実現手法の提案」、社団法人情報処理学会  研究報告、２００５年１１月、３３〜４０頁
【非特許文献３】山田他「機能モデルに基づくソフトウェアの変更支援」、電子情報通信学会論文誌Ｄ−２、ｖｏｌ．Ｊ７３−Ｄ−２、Ｎｏ．１０、１９９０年１０月、１７７０〜１７７８頁
【非特許文献４】表他「ＵＭＬモデル間リンクによるシステムevolutionのサポート（２）」、信学技報、ＫＢＳＥ２００４−１、２００４年５月
【非特許文献５】井上他「成果物変更における伝播箇所特定方法の提案」、電子情報通信学会総合大会論文集、２００７年３月、５４９頁
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記のように、従来例では、静的成果物の変更により影響を受ける他の静的成果物及びその影響箇所を特定することが困難であることから、効率的なソフトウェア開発の妨げになっている。
【００１０】
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物管理システム、方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明のソフトウェア成果物作成システムは、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システムであって、前記コンピュータは、情報入力手段と、既に作成されたソフトウェア成果物に含まれる、ソフトウェアの振舞を実現するためのデータに基づいて他のソフトウェア成果物に含まれる前記データを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のデータと、該データに基づいて作成された他のソフトウェア成果物のデータとを関連付けた状態で記憶する記憶手段と、記憶手段に記憶されたソフトウェア成果物のデータの内容が情報入力手段によって変更されると、変更されたデータに関連付けられた他のソフトウェア成果物のデータを記憶手段から抽出する特定手段とを備えている。
【００１２】
また、本発明のソフトウェア成果物作成方法は、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理方法であって、前記コンピュータは、既に作成されたソフトウェア成果物に含まれる、ソフトウェアの振舞を実現するためのデータに基づいて他のソフトウェア成果物に含まれる前記データを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のデータと、該データに基づいて作成された他のソフトウェア成果物のデータとを関連付けた状態で所定の記憶部に記憶し、記憶部に記憶されたソフトウェア成果物のデータの内容が所定の情報入力部によって変更されると、変更されたデータに関連付けられた他のソフトウェア成果物のデータを記憶部から抽出している。
【００１３】
さらに、本発明のソフトウェア成果物管理プログラムは、前記目的を達成するために、前記ソフトウェア成果物作成方法をコンピュータに実行させる。
【００１４】
これにより、各ソフトウェア成果物に含まれる、ソフトウェアの振舞を実現するためのデータが、該データに基づいて作成された他のソフトウェア成果物のデータと関連付けられた状態で記憶されていることから、該データの内容が変更されたときには、変更されたデータに関連付けられた他のソフトウェア成果物のデータを抽出することが可能となる。
【発明の効果】
【００１５】
本発明のソフトウェア成果物作成システム、方法及びそのプログラムによれば、ソフトウェアの振舞を実現するためのデータの内容が変更されたときに、変更されたデータに関連付けられた他のソフトウェア成果物のデータを抽出することができるので、該データを含む静的成果物の変更により影響を受ける他の静的成果物及びその影響箇所を容易に特定することができる。従って、ソフトウェア成果物の品質を向上させることができるとともに、ソフトウェア開発の効率を大幅に向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下に図面を参照して本発明の一実施形態を説明する。
【００１７】
＜前提＞
ソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報（タスク）を表現した動的なソフトウェア成果物（以下、動的成果物と称する。）と、開発するソフトウェアがその振舞を実現するために必要なデータ情報を規定する静的なソフトウェア成果物（以下、静的成果物と称する。）とが存在し、本実施形態では、静的成果物の内容が変更されたときに影響を受ける他の静的成果物及びその影響箇所を特定するソフトウェア成果物管理システムについて説明する。
【００１８】
本発明のソフトウェア成果物管理システム10は、周知のＣＰＵを主体として構成されたコンピュータからなり、図１に示すとおり、表示部11、情報入力部12、成果物リポジトリ13、概念体系リポジトリ14及び制御部15から構成されている。
【００１９】
表示部11は、液晶ディスプレイ等のように情報を表示するためのモジュールであり、制御部15の制御により図２に示すような成果物描画画面20を表示する。
【００２０】
情報入力部12は、キーボードやマウス等のように情報を入力するためのモジュールであり、入力情報を制御部15に送信する。
【００２１】
成果物リポジトリ13は、ソフトウェア開発工程において作成された動的成果物及び静的成果物を保存するモジュールである。
【００２２】
概念体系リポジトリ14は、後述のパラメータ依存構造を保存するモジュールである。
【００２３】
制御部15は、上記各モジュール11〜14と接続され、各モジュール11〜14間の情報、または各モジュール11〜14間の情報を組合わせた情報を、受け渡すモジュールである。また、制御部15には、ＲＯＭ等の記憶装置が設けられており、制御部15は、記憶装置に記憶されたプログラムを実行することにより各モジュール11〜14の制御を行う。
【００２４】
また、成果物描画画面20は、作成または変更対象の静的成果物を選択するための成果物選択部21と、作成対象の静的成果物の基となる静的成果物を表示するための参照部22と、作成または変更対象の静的成果物を表示するための描画部23とから構成されており、静的成果物の作成や、静的成果物にて定義されたデータの選択及び変更を、情報入力部12を用いて行うことができるようになっている。また、描画部23には、作成された静的成果物を成果物リポジトリ13に登録するための登録指示部（図示省略）が設けられており、情報入力部12を用いて登録を指示することができるようになっている。
【００２５】
＜静的成果物の形式化＞
静的成果物には、ソフトウェアの振舞を実現するためのデータ情報（パラメータ）が記述されている。本実施形態では、図３に示すように、該パラメータ30を、セット31、エレメント32、リレーション33の３つの要素からなるものとして表現している。例えば、静的成果物の一例としてクラス図を表現する場合には、図４に示すようにクラス名がパラメータ40a,40b,40cのセット41a,41b,41cに、クラスの属性がエレメント42a〜42eに、クラス間の関連がリレーション43a,43bにそれぞれ対応する。
【００２６】
「Class-A」というセット41aには、Class-Aの属性即ち「attr-a1」というエレメント42a及び「attr-a2」というエレメント42bが接続されており、「Class-B」というセット41bには、Class-Bの属性即ち「attr-b1」というエレメント42cが接続されている。さらに、「Class-C」というセット41cには、Class-Cの属性即ち「attr-c1」というエレメント42d及び「attr-c2」というエレメント42eが接続されている。
【００２７】
また、「Class-A」というセット41aと「Class-B」というセット41bは、互いに「relation」というリレーション43aで接続されており、「Class-A」というセット41aと「Class-C」というセット41cは、互いに「relation」というリレーション43bで接続されている。
【００２８】
このように表現された構造をパラメータ構造と称し、静的成果物に含まれる各パラメータは、パラメータ構造に変換された状態で概念体系リポジトリ14に記憶される。この場合、静的成果物に含まれる全てのパラメータを形式化して記憶しておくことにより、例えば自然言語、ＵＭＬ、独自図形等のように様々な形態で表された静的成果物を共通に取り扱うことが可能となる。
【００２９】
なお、リレーション43a,43bは、クラス図作成時において開発者がクラス間の関連線を作成した時点で生成されるようにしてもよいし、クラス図作成後に成果物リポジトリ13に記憶されるときに生成されるようにしてもよい。これにより、リレーション43a,43bが生成されるか否かは、開発者が任意に設定することにより決められる。
【００３０】
静的成果物は、表現するパラメータが同じものであっても、表現される観点がソフトウェア開発工程毎に異なっている。例えば、上流工程の静的成果物に記載されるパラメータは、人間にとって理解し易いという観点に基づき作成されているが、下流工程の静的成果物に記載されるパラメータは、ソフトウェアとして実装する場合の実装の容易さや、ソフトウェア実行時の動作速度といった観点に基づき作成される。但し、表現される観点が異なるとしても、下流工程の静的成果物のパラメータは、上流工程の静的成果物のパラメータを利用する等のように、上流工程の静的成果物のパラメータに基づき作成される。本実施形態では、上流工程の静的成果物のパラメータと、それに基づき作成された下流工程の静的成果物のパラメータとを関連付けた情報を、依存関係として表す。
【００３１】
この依存関係について図５を参照して説明する。まず、上流工程において作成される静的成果物としての用語集と、用語集作成後の工程において作成される静的成果物としてのデータ分析モデルと、データ分析モデル作成後の工程において作成される静的成果物としてのテーブル設計図とが存在する場合に、用語集、データ分析モデル及びテーブル設計図のそれぞれに対応するパラメータ構造50,60,70が概念体系リポジトリ14に記憶されている。ここで、データ分析モデルに対応するパラメータ構造60の一つのパラメータが、用語集に対応するパラメータ構造50の一つのパラメータに基づき作成された場合には、それぞれのパラメータを構成するセット、エレメント及びリレーションが依存関係80によって関連付けられる。また、テーブル設計図に対応するパラメータ構造70の一つのパラメータが、データ分析モデルに対応するパラメータ構造60の一つのパラメータに基づき作成された場合も上記と同様である。このように、各静的成果物のパラメータ間の関係を表したものをパラメータ依存構造と呼ぶこととし、パラメータ依存構造は概念体系リポジトリ14に記憶される。
【００３２】
＜成果物作成＞
開発者は、作成しようとする静的成果物を成果物描画画面20の成果物選択部21にて選択した後に、描画部23にて静的成果物を作成する。この場合、作成される静的成果物の形式は、自然言語や、クラス図、テーブル設計図及びオブジェクト図等のＵＭＬに基づく図であっても構わない。このとき、制御部15は、作成される静的成果物をパラメータ構造に変換する。また、制御部15は、成果物選択部21で選択された静的成果物よりも上流の工程で作成された静的成果物を参照部22に表示させる。
【００３３】
次に開発者は、参照部22に表示された静的成果物のパラメータの要素と、描画部23に表示された静的成果物のパラメータの要素との関連付けを行う。この関連付けは、開発者が、参照部22に表示された静的成果物のパラメータの要素を選択した後に描画部23に表示された静的成果物のパラメータの要素を選択することにより行われる。本実施形態では、既存のＧＵＩ機能を用いて、参照部22に表示されたパラメータの要素にポインタを移動させてマウスをクリックした後に、描画部23に表示された静的成果物のパラメータの要素をクリックすることにより、それぞれのパラメータの要素を関連付けることが可能である。
【００３４】
このとき、制御部15は、参照部22にて選択されたパラメータの要素、即ちセット、エレメントまたはリレーションと、描画部23にて選択されたパラメータの要素、即ちセット、エレメントまたはリレーションとの間に依存関係80を生成する。
【００３５】
以上の操作を繰り返すことにより、必要とする静的成果物を作成する。
【００３６】
＜成果物登録＞
静的成果物作成後、開発者は、成果物描画画面20の登録指示部において静的成果物の登録を指示する。このとき、制御部15は、作成した静的成果物を成果物リポジトリ13に記憶する。また、制御部15は、作成した静的成果物に対応するパラメータ構造と、参照部22に表示された静的成果物に対応するパラメータ構造と、それぞれのパラメータ構造間に生成された依存関係80に基づき作成されたパラメータ依存構造を概念体系リポジトリ14に記憶する。このようにして、各静的成果物のパラメータ構造に含まれる要素と、該要素に基づいて作成された他の静的成果物のパラメータ構造に含まれる要素とが、互いに関連付けられた状態で概念体系リポジトリ14に記憶される。
【００３７】
また、上記と同様に他の静的成果物を成果物描画画面20にて作成し、登録を行う。なお、静的成果物の登録は、全ての静的成果物を作成してから行っても構わないし、一つの静的成果物を作成する毎に行っても構わない。
【００３８】
＜変更成果物・変更箇所の特定＞
上記の成果物登録が行われたことを前提として、既に作成され、且つ登録された静的成果物の一部の変更に基づいて変更を要する他の静的成果物及びその影響箇所を特定する方法について図６及び図７を参照して説明する。
【００３９】
まず、開発者が指定した成果物を取得し、成果物描画画面20に表示する（ステップS1）。具体的には、開発者が、成果物描画画面20の成果物選択部21において変更しようとする静的成果物を指定すると、制御部15は、指定された静的成果物を成果物リポジトリ13から取得するとともに、該静的成果物に対応するパラメータ構造を概念体系リポジトリ14から取得する。さらに、制御部15は、成果物リポジトリ13から取得した静的成果物を成果物描画画面20の描画部23に表示する。そして、開発者は、描画部23において静的成果物の修正を行う。例えば、図６に示された静的成果物のうちテーブル設計図が選択された場合には、テーブル設計図が描画部23に表示され、テーブル設計図に対応するパラメータ構造70が概念体系リポジトリ14から取得される。
【００４０】
次に、開発者によって修正された静的成果物の修正箇所に対応する要素を概念体系リポジトリ14に記憶されたパラメータ構造を用いて特定する（ステップS2）。具体的には、開発者が、成果物描画画面20の描画部23において静的成果物のパラメータを構成する要素を修正すると、制御部15は、修正された要素を、既存のＧＵＩ機能を用いて特定する。例えば、開発者が、図６のテーブル設計図の「attr-b1」という部分（図中一点鎖線で囲まれた部分）を修正した場合には、テーブル設計図に対応するパラメータ構造70のうち「attr-b1」に対応するエレメント（太線で囲まれたもの）が特定される。
【００４１】
次いで、特定された要素に関連する要素を依存関係80に基づき特定する（ステップS3）。具体的には、制御部15は、特定された要素との間で依存関係80によって関連付けられた要素（以下、関連要素と称する。）を概念体系リポジトリ14から抽出する。この場合、制御部15は、抽出された要素を、影響箇所として特定する。例えば、図６のデータ分析モデルに対応するパラメータ構造60の各パラメータのうち、ステップS2において特定されたエレメントとの間で依存関係80によって結ばれたエレメント（太線で囲まれたもの）が関連要素として抽出される。また、用語集に対応するパラメータ構造50の各パラメータのうち、上記関連要素として抽出されたエレメントとの間で依存関係80によって結ばれたエレメント（太線で囲まれたもの）も関連要素として抽出される。
【００４２】
そして、関連要素を含む静的成果物を成果物リポジトリ13から取得して成果物描画画面20に表示するとともに、関連要素に対応する箇所をハイライト表示する（ステップS4）。具体的には、制御部15は、ステップS3において抽出された関連要素を含む静的成果物を成果物リポジトリ13から取得して、該静的成果物を参照部22に表示する。このとき、制御部15は、参照部22に表示された静的成果物において関連要素に対応する箇所をハイライト表示させることにより、他の要素に対応する箇所よりも際立たせて表示する。例えば、図６のデータ分析モデルが参照部22に表示されたときには、ステップS3において抽出された関連要素に対応する箇所（図中二点鎖線で囲まれた部分）がハイライト表示される。また、用語集が参照部22に表示されたときには、上記と同様に関連要素に対応する箇所（図中破線で囲まれた部分）がハイライト表示される。
【実施例１】
【００４３】
ここでは、静的成果物を作成するときの動作について説明した後に、静的成果物の変更により影響を受ける静的成果物及びその影響箇所を特定するときの動作を説明する。なお、静的成果物として、用語集、データ分析モデル及びテーブル設計図が、図８に示すように作成されることとする。以下に、用語集に基づきデータ分析モデルを作成する場合の動作を説明する。
【００４４】
開発者は、成果物描画画面20の成果物選択部21にて、データ分析モデルを選択する。このとき制御部15は、成果物選択部21で選択された静的成果物よりも上流の工程で作成された静的成果物、即ち用語集を成果物リポジトリ13から抽出し、用語集を参照部22に表示させる。この場合、制御部15は、用語集に対応するパラメータ構造を概念体系リポジトリ14から取得する。
【００４５】
次に開発者は、情報入力部12を用いて描画部23にてデータ分析モデルを作成する。この場合、成果物描画画面20の態様は、図９のように示される。そして、開発者は、参照部22に表示された用語集のパラメータの要素と、描画部23に表示されたデータ分析モデルのパラメータの要素との関連付けを行う。例えば、開発者が、参照部22に表示された「装置名」という小項目にポインタを移動させてマウスをクリックした後に、描画部23に表示されたデータ分析モデルの「装置名」というカラムをクリックすると、制御部15は、参照部22にて選択されたパラメータの要素、即ち「装置名」というエレメントと、描画部23にて選択されたパラメータの要素、即ち「装置名」というエレメントとの間に依存関係を生成する。
【００４６】
上記の操作を繰り返すことにより、データ分析モデルを作成する。なお、データ分析モデルに基づきテーブル設計図を作成する場合の動作も上記と同様である。
【００４７】
そして、開発者が成果物の登録を登録指示部にて指示すると、制御部15は、図８の用語集、データ分析モデル及びテーブル設計図を成果物リポジトリ13に記憶するとともに、図１０のパラメータ依存構造を概念体系リポジトリ14に登録する。
【００４８】
ここで、図１０のパラメータ依存構造について説明すると、用語集に対応するパラメータ構造100は、「装置情報」というセット101と、「回線情報」というセット102を有している。また、「装置情報」というセット101には、「装置名」というエレメント101aと「ベンダ名」というエレメント101bが接続されており、「回線情報」というセット102には、「回線ＩＤ」というエレメント102aが接続されている。なお、「装置情報」というセット101と、「回線情報」というセット102との間にはリレーションが設定されていない。
【００４９】
また、データ分析モデルに対応するパラメータ構造110は、「装置情報」というセット111と、「ＩＦ情報」というセット112と、「回線情報」というセット113とを有している。「装置情報」というセット111には、「装置名」というエレメント111aと「ベンダ名」というエレメント111bが接続されており、「装置情報」というセット111は、用語集に対応するパラメータ構造100の「装置情報」というセット101と依存関係80によって結ばれている。また、「装置名」というエレメント111aは「装置名」というエレメント101aと、「ベンダ名」というエレメント111bは「ベンダ名」というエレメント101bとの間でそれぞれ依存関係80によって結ばれている。
【００５０】
「ＩＦ情報」というセット112には、「ＩＦ種別」というエレメント112aと「帯域」というエレメント112bが接続されている。
【００５１】
「回線情報」というセット113には、「回線ＩＤ」というエレメント113aが接続されており、「回線情報」というセット113は、用語集に対応するパラメータ構造100の「回線情報」というセット102と依存関係80によって結ばれている。また、「回線ＩＤ」というエレメント113aは、「回線ＩＤ」というエレメント102aと依存関係80によって結ばれている。なお、「装置情報」というセット111と「ＩＦ情報」というセット112との間は「リレーション」というリレーション114によって接続されており、「ＩＦ情報」というセット112と「回線情報」というセット113との間は「リレーション」というリレーション115によって接続されている。
【００５２】
さらに、テーブル設計図に対応するパラメータ構造120は、「NE-Table」というセット121と、「IF-Table」というセット122と、「Link-Table」というセット123とを有している。「NE-Table」というセット121には、「neId」というエレメント121aと、「neName」というエレメント121bと、「venderName」というエレメント121cとが接続されており、「NE-Table」というセット121は、データ分析モデルに対応するパラメータ構造110の「装置情報」というセット111と依存関係80によって結ばれている。また、「neName」というエレメント121bは「装置名」というエレメント111aと、「venderName」というエレメント121cは「ベンダ名」というエレメント111bとの間でそれぞれ依存関係80によって結ばれている。
【００５３】
「IF-Table」というセット122には、「ifId」というエレメント122aと、「ifType」というエレメント122bと、「bw」というエレメント122cとが接続されており、「IF-Table」というセット122は、データ分析モデルに対応するパラメータ構造110の「ＩＦ情報」というセット112と依存関係80によって結ばれている。また、「ifType」というエレメント122bは「ＩＦ種別」というエレメント112aと、「bw」というエレメント122cは「帯域」というエレメント112bとの間でそれぞれ依存関係80によって結ばれている。
【００５４】
「Link-Table」というセット123には、「linkId」というエレメント123aが接続されており、「Link-Table」というセット123は、データ分析モデルに対応するパラメータ構造110の「回線情報」というセット113と依存関係80によって結ばれている。また、「linkId」というエレメント123aは、「回線ＩＤ」というエレメント113aと依存関係80によって結ばれている。なお、「NE-Table」というセット121と「IF-Table」というセット122との間は「リレーション」というリレーション124によって接続されており、「IF-Table」というセット122と「Link-Table」というセット123との間は「リレーション」というリレーション125によって接続されている。
【００５５】
上記の成果物登録が行われたことを前提として、既に作成され、且つ登録された静的成果物に含まれるデータの変更により影響を受ける静的成果物及びその影響箇所を特定する場合の動作について図１１を参照して説明する。
【００５６】
[手順１]
開発者が、成果物描画画面20の成果物選択部21においてテーブル設計図を指定すると、制御部15は、テーブル設計図を成果物リポジトリ13から取得するとともに、テーブル設計図に対応するパラメータ構造120を概念体系リポジトリ14から取得する。さらに、制御部15は、成果物リポジトリ13から取得したテーブル設計図を成果物描画画面20の描画部23に表示する。そして、開発者は、情報入力部12を用いてテーブル設計図の修正を行う。本例では、図１１のテーブル設計図において、「venderName」というカラム（図中一点鎖線で囲まれた部分）を変更する。
【００５７】
[手順２]
開発者が、成果物描画画面20の描画部23において「venderName」というカラムを変更すると、制御部15は、テーブル設計図の修正箇所に対応するパラメータの要素を、概念体系リポジトリ14から取得したパラメータ構造120を用いて特定する。この場合、制御部15は、テーブル設計図の修正箇所をＧＵＩ機能を用いて特定し、その箇所に対応するパラメータの要素をパラメータ構造120から特定する。本例では、図１１のパラメータ構造120において、「venderName」というエレメント121cが特定される。
【００５８】
[手順３]
制御部15は、「venderName」というエレメント121cに関連するパラメータの要素を依存関係80に基づき特定する。具体的には、制御部15は、「venderName」というエレメント121cとの間で依存関係80によって関連付けられた関連要素を概念体系リポジトリ14から抽出する。本例では、図１１のデータ分析モデルに対応するパラメータ構造110において、「ベンダ名」というエレメント111bが関連要素として抽出される。また、図１１の用語集に対応するパラメータ構造100において、「ベンダ名」というエレメント101bも関連要素として抽出される。
【００５９】
[手順４]
制御部15は、関連要素を含む静的成果物を成果物リポジトリ13から取得して成果物描画画面20に表示するとともに、関連要素に対応する箇所をハイライト表示する。具体的には、制御部15は、手順３において抽出された関連要素を含むデータ分析モデル及び用語集を成果物リポジトリ13から取得して、それぞれを参照部22に表示する。このとき、制御部15は、参照部22に表示されたデータ分析モデル及び用語集において関連要素に対応する箇所をハイライト表示させることにより、他の要素に対応する箇所よりも際立たせて表示する。本例では、図１１のデータ分析モデルにおいて、抽出された関連要素に対応する部分（図中二点鎖線で囲まれた部分）がハイライト表示される。また、図１１の用語集において、抽出された関連要素に対応する部分（図中破線で囲まれた部分）もハイライト表示される。
【００６０】
このようにして、ソフトウェアの振舞を実現するためのデータ、即ちテーブル設計図のカラムの内容が情報入力部12によって変更されると、該カラムに関連付けられたデータ分析モデル及び用語集のデータを抽出することが可能となる。
【００６１】
前述したように上記実施形態では、ソフトウェアの振舞を実現するためのデータの内容が変更されたときに、変更されたデータに関連付けられた他のソフトウェア成果物のデータを抽出することができるので、該データを含む静的成果物の変更により影響を受ける他の静的成果物及びその影響箇所を容易に特定することができる。従って、ソフトウェア成果物の品質を向上させることができるとともに、ソフトウェア開発の効率を大幅に向上させることができる。
【００６２】
また、影響箇所として特定された要素を含む静的成果物を表示部11に表示させるので、静的成果物の変更により影響を受ける他の静的成果物を開発者に知らせることができる。
【００６３】
さらに、他の静的成果物を表示するときに、影響箇所として特定された要素に対応する箇所をハイライト表示させるので、静的成果物の変更により影響を受ける箇所を確実に開発者に知らせることができる。
【００６４】
なお、上記の実施形態は本発明の具体例に過ぎず、本発明が上記実施形態のみに限定されることはない。例えば、本発明は、周知のコンピュータに記録媒体もしくは通信回線を介して、前述した作成手順を備えるプログラムをインストールすることによっても実現可能である。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態におけるソフトウェア成果物管理システムの構成を示す図
【図２】成果物描画画面を示す図
【図３】パラメータ構造を示す図
【図４】静的成果物とパラメータ構造の関係を示す図
【図５】パラメータ依存構造を示す図
【図６】パラメータ依存構造を用いた影響箇所の特定方法の概略をを示す図
【図７】変更による影響箇所を特定するときの動作を示すフロー図
【図８】用語集、データ分析モデル及びテーブル設計図の一例を示す図
【図９】静的成果物作成時の成果物描画画面を示す図
【図１０】パラメータ依存構造を示す図
【図１１】パラメータ依存構造を用いた影響箇所の特定方法の概略をを示す図
【符号の説明】
【００６６】
10…ソフトウェア成果物管理システム、11…表示部、12…情報入力部、13…成果物リポジトリ、14…概念体系リポジトリ、15…制御部、30,40a〜40c…パラメータ、31,41a〜41c…セット、32,42a〜42e…エレメント、33,43a,43b…リレーション、80…依存関係。
【図１】
2009104291.tif 000003
【図２】
2009104291.tif 000004
【図３】
2009104291.tif 000005
【図４】
2009104291.tif 000006
【図５】
2009104291.tif 000007
【図６】
2009104291.tif 000008
【図７】
2009104291.tif 000009
【図８】
2009104291.tif 000010
【図９】
2009104291.tif 000011
【図１０】
2009104291.tif 000012
【図１１】
2009104291.tif 000013