(57)【特許請求の範囲】
【請求項１】
ソフトウェア開発において作成されたソフトウェア成果物に含まれるタスクの変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システムであって、
前記コンピュータは、
情報入力手段と、
タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、既に作成されたソフトウェア成果物のタスクと関連付けられ且つ主体語彙、動作語彙及びパラメータ語彙から構成されたタスクを含む複数のソフトウェア成果物と、各概念のうちソフトウェア成果物の変更に基づく他のソフトウェア成果物の影響箇所を特定するための概念を表す特定情報とを記憶する記憶手段と、
記憶手段に記憶されたソフトウェア成果物のタスクの内容が情報入力手段によって変更されると、該タスクと関連付けられるとともに、特定情報の概念に応じた概念体系において該タスクの語彙に対応する概念との間で同一、上位または下位の関係を有する概念の語彙によって構成された他のソフトウェア成果物のタスクを記憶手段から抽出する特定手段とを備える
ことを特徴とするソフトウェア成果物管理システム。
【請求項２】
前記記憶手段は、
前記各概念体系においてソフトウェア成果物のタスクを構成可能な概念の階層をソフトウェア成果物の種類毎に表す成果物制約情報を記憶するとともに、
前記各ソフトウェア成果物を、成果物制約情報に基づき抽出された主体語彙、動作語彙及びパラメータ語彙から構成されたタスクを含む状態で記憶する
ことを特徴とする請求項１記載のソフトウェア成果物管理システム。
【請求項３】
前記特定手段によって抽出されたタスクを含む他のソフトウェア成果物を表示する表示手段を備えた
ことを特徴とする請求項１または２記載のソフトウェア成果物管理システム。
【請求項４】
前記表示手段は、
他のソフトウェア成果物を表示するときに、抽出されたタスクに対応する箇所を他のタスクに対応する箇所よりも際立たせて表示させる
ことを特徴とする請求項３記載のソフトウェア成果物管理システム。
【請求項５】
ソフトウェア開発において作成されたソフトウェア成果物に含まれるタスクの変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理方法であって、
前記コンピュータは、
タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、既に作成されたソフトウェア成果物のタスクと関連付けられ且つ主体語彙、動作語彙及びパラメータ語彙から構成されたタスクを含む複数のソフトウェア成果物と、各概念のうちソフトウェア成果物の変更に基づく他のソフトウェア成果物の影響箇所を特定するための概念を表す特定情報とを所定の記憶部に記憶し、
記憶部に記憶されたソフトウェア成果物のタスクの内容が所定の情報入力部によって変更されると、該タスクと関連付けられるとともに、特定情報の概念に応じた概念体系において該タスクの語彙に対応する概念との間で同一、上位または下位の関係を有する概念の語彙によって構成された他のソフトウェア成果物のタスクを記憶部から抽出する
ことを特徴とするソフトウェア成果物管理方法。
【請求項６】
前記コンピュータは、
前記各概念体系においてソフトウェア成果物のタスクを構成可能な概念の階層をソフトウェア成果物の種類毎に表す成果物制約情報を前記記憶部に記憶するとともに、
前記各ソフトウェア成果物を、成果物制約情報に基づき抽出された主体語彙、動作語彙及びパラメータ語彙から構成されたタスクを含む状態で前記記憶部に記憶する
ことを特徴とする請求項５記載のソフトウェア成果物管理方法。
【請求項７】
前記コンピュータは、
抽出されたタスクを含む他のソフトウェア成果物を所定の表示部に表示させる
ことを特徴とする請求項５または６記載のソフトウェア成果物管理方法。
【請求項８】
前記コンピュータは、
他のソフトウェア成果物を表示するときに抽出されたタスクに対応する箇所を他のタスクに対応する箇所よりも際立たせて表示させる
ことを特徴とする請求項７記載のソフトウェア成果物管理方法。
【請求項９】
請求項５乃至８何れか１項記載の方法をコンピュータに実行させるためのソフトウェア成果物管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発において作成されたソフトウェア成果物に含まれるタスクの変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システム、方法及びそのプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発においては、ソースコードだけでなく、ユーザ要求や簡略化したソフトウェア動作のフロー、ソースコードを作成するための設計書等のドキュメント（以下、上流成果物と称する。）がソフトウェア成果物として作成される。これらの上流成果物は、ソフトウェア開発時に開発者の理解を助け、ユーザ要求を満たすソフトウェアを開発するために重要なものである。しかし、ソフトウェア開発時や運用時において機能変更が発生したために、既に作成されたソフトウェア成果物を変更した場合には、ソフトウェアの保有する機能を正確に反映しなければならず、変更されたソフトウェア成果物に関連する他のソフトウェア成果物も変更する必要が生じる。この場合、ソフトウェア成果物の数が多くなるに従って、関連するソフトウェア成果物の特定及びそのソフトウェア成果物における変更箇所の特定が困難になるという問題点があった。そのため、これまで種々の特定方法が検討されている。
【０００３】
例えば、非特許文献１に記載されたＵＭＬ（Unified Modeling Language）ツールでは、作成された各ソフトウェア成果物を機能毎に電子フォルダに保存することが可能であるため、関連する他のソフトウェア成果物を把握することが可能である。しかし、これによって特定できるのは、変更の影響を受けるソフトウェア成果物のみであり、その成果物の記載内容のうちどの箇所が影響を受けるかについては特定することが困難である。
【０００４】
また、非特許文献２では、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、作成された全てのソフトウェア成果物に対して、各ソフトウェア成果物間の関連情報を予め付与する必要がある。この場合、関連情報は、ソフトウェア成果物の作成作業とは独立して開発者によって付与されることから、開発者の作業が煩雑になる。
【０００５】
さらに、非特許文献３では、非特許文献２と同様に、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、特定の対象となるソフトウェア成果物がソースコードのみであり、ユーザ要求や設計書等の上流成果物については特定することが困難である。また、非特許文献２と同様に、作成された全てのソフトウェア成果物に対して、開発者が各ソフトウェア成果物間の関連情報を予め付与する必要があることから、開発者の作業が煩雑になる。
【０００６】
さらにまた、非特許文献４では、ユーザ要求や設計書等の上流成果物と、ソースコード等の下流成果物とを特定対象とした、ソフトウェア成果物及びその影響箇所の特定方法を提案しているが、どのように各ソフトウェア成果物間を関連付けるかについては、具体的に述べられていない。
【０００７】
また、非特許文献５では、成果物に記載される処理をタスクで形式化し、複数の成果物を、それぞれの成果物内のタスクを互いに関連付けることによって関係を保持した後に、タスク間の関係を用いて変更成果物・箇所の特定を行っている。しかし、このタスク間の関係は、タスク間の抽象・詳細関係を表しており、成果物変更時に影響を及ぼす成果物・箇所間の関係のみを表しているのではない。従って、特定された箇所が必ずしも変更を要する箇所であるとは限らず、変更箇所の特定精度が低いという問題点がある。
【非特許文献１】“ENTERPRIZE ARCHITECT”、[online]、スパークシステムズジャパン株式会社、[平成１９年２月２１日検索]、インターネット＜URL：http://www.sparxsystems.jp/ea.htm＞
【非特許文献２】大平他「Strutsフレームワークにおけるメタモデルを用いた追跡可能性実現手法の提案」、社団法人情報処理学会  研究報告、２００５年１１月、３３〜４０頁
【非特許文献３】山田他「機能モデルに基づくソフトウェアの変更支援」、電子情報通信学会論文誌Ｄ−２、ｖｏｌ．Ｊ７３−Ｄ−２、Ｎｏ．１０、１９９０年１０月、１７７０〜１７７８頁
【非特許文献４】表他「ＵＭＬモデル間リンクによるシステムevolutionのサポート（２）」、信学技報、ＫＢＳＥ２００４−１、２００４年５月
【非特許文献５】井上他「成果物変更における伝播箇所特定方法の提案」、電子情報通信学会総合大会論文集、２００７年３月、５４９頁
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のように、従来例では、変更による影響を受けるソフトウェア成果物及びその影響箇所を特定するのに煩雑な処理が必要であることから、効率的なソフトウェア開発の妨げになっている。
【０００９】
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物管理システム、方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明のソフトウェア成果物管理システムは、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物に含まれるタスクの変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システムであって、前記コンピュータは、情報入力手段と、タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、既に作成されたソフトウェア成果物のタスクと関連付けられ且つ主体語彙、動作語彙及びパラメータ語彙から構成されたタスクを含む複数のソフトウェア成果物と、各概念のうちソフトウェア成果物の変更に基づく他のソフトウェア成果物の影響箇所を特定するための概念を表す特定情報とを記憶する記憶手段と、記憶手段に記憶されたソフトウェア成果物のタスクの内容が情報入力手段によって変更されると、該タスクと関連付けられるとともに、特定情報の概念に応じた概念体系において該タスクの語彙に対応する概念との間で同一、上位または下位の関係を有する概念の語彙によって構成された他のソフトウェア成果物のタスクを記憶手段から抽出する特定手段とを備えている。
【００１１】
また、本発明のソフトウェア成果物管理方法は、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物に含まれるタスクの変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理方法であって、前記コンピュータは、タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、既に作成されたソフトウェア成果物のタスクと関連付けられ且つ主体語彙、動作語彙及びパラメータ語彙から構成されたタスクを含む複数のソフトウェア成果物と、各概念のうちソフトウェア成果物の変更に基づく他のソフトウェア成果物の影響箇所を特定するための概念を表す特定情報とを所定の記憶部に記憶し、記憶部に記憶されたソフトウェア成果物のタスクの内容が所定の情報入力部によって変更されると、該タスクと関連付けられるとともに、特定情報の概念に応じた概念体系において該タスクの語彙に対応する概念との間で同一、上位または下位の関係を有する概念の語彙によって構成された他のソフトウェア成果物のタスクを記憶部から抽出している。
【００１２】
さらに、本発明のソフトウェア生成物管理プログラムは、前記目的を達成するために、前記ソフトウェア成果物管理方法をコンピュータ装置に実行させる。
【００１３】
これにより、ソフトウェア成果物のタスクの内容が所定の情報入力部によって変更されると、該タスクと関連付けられるとともに、特定情報の概念の種類に応じた概念体系において該タスクの語彙に対応する概念との間で同一、上位または下位の関係を有する概念の語彙によって構成された他のソフトウェア成果物のタスクが抽出されることから、ソフトウェア成果物のタスクの内容が変更されたときには、変更されたタスクと単に関連付けられただけの他のソフトウェア成果物のタスクが抽出されることを防ぐことが可能となる。
【発明の効果】
【００１４】
本発明のソフトウェア成果物管理システム、方法及びそのプログラムによれば、ソフトウェア成果物のタスクの内容が変更されたときには、変更されたタスクと単に関連付けられただけの他のソフトウェア成果物のタスクが抽出されることを防ぐことができるので、ソフトウェア成果物の変更に基づく他のソフトウェア成果物の影響箇所を容易に且つ高い精度で特定することができる。従って、ソフトウェア成果物の変更作業の効率化を図ることができるとともにソフトウェア成果物の品質を向上させることができることから、ソフトウェア開発の効率を大幅に向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下に図面を参照して本発明の一実施形態を説明する。
【００１６】
＜構成＞
ソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報を表現した動的成果物と、開発するソフトウェアがその振舞を実行するために必要なデータ情報を規定する静的成果物とが存在する。本実施形態では、上流成果物の動的成果物の一部の変更に基づく他の動的成果物の影響箇所を特定する成果物管理システムについて説明する。
【００１７】
本発明の成果物管理システム10は、周知のＣＰＵを主体として構成されたコンピュータからなり、図１に示すとおり、表示部11、情報入力部12、成果物リポジトリ13、語彙リポジトリ14、概念体系リポジトリ15及び制御部16から構成されている。
【００１８】
表示部11は、液晶ディスプレイ等のように情報を表示するためのモジュールであり、制御部16の制御により図２に示すような成果物描画画面20を表示する。
【００１９】
情報入力部12は、キーボードやマウス等のように情報を入力するためのモジュールであり、入力情報を制御部16に送信する。
【００２０】
成果物リポジトリ13は、ソフトウェア開発において作成された動的成果物を保存するモジュールである。
【００２１】
語彙リポジトリ14は、後述のタスクの主体語彙及びパラメータ語彙を保存するモジュールである。
【００２２】
概念体系リポジトリ15は、後述のタスク達成構造を保存するモジュールである。
【００２３】
制御部16は、上記各モジュール11〜15と接続され、各モジュール11〜15間の情報、または各モジュール11〜15間の情報を組合わせた情報を、受け渡すモジュールである。また、制御部16は、ＲＯＭ等の記憶装置に記憶されたプログラムを実行することにより各モジュール11〜15の制御を行う。
【００２４】
また、成果物描画画面20は、作成または変更対象の動的成果物を選択するための成果物選択部21と、動的成果物に含まれるタスクの内容を表示するためのタスク表示部22と、作成及び変更された動的成果物を描画するための描画部23とから構成されており、情報入力部12を用いて動的成果物の選択及び入力ができるようになっている。また、描画部23には、作成された動的成果物を成果物リポジトリ13に記憶するための登録指示部（図示省略）が設けられており、情報入力部12を用いて登録を指示することができるようになっている。
【００２５】
＜動的成果物タスクの形式化＞
動的成果物には、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている。この一つのタスク30は、図３に示すように、入力主体31、出力主体32、動作33、パラメータ34の４つの要素からなるものとして表現される。タスクを自然言語にした場合、入力主体31、出力主体32、動作33、パラメータ34は、主語、間接目的語、述語、目的語にそれぞれ該当するものである。ここで、「オペレータがＯＬＴ（Optical Line Terminal）情報を端末に入力する」というタスクの入力主体31は「オペレータ」、出力主体32は「端末」、動作33は「入力する」、パラメータ34は「ＯＬＴ情報」である。また、ＵＭＬにおけるシーケンス図のメッセージからタスクを表現する場合には、タスク30は図４のように示される。
【００２６】
動的成果物は、表現する機能が同じものであっても、動的成果物に含まれるタスクの詳細度（粒度）がソフトウェア開発工程毎に異なっている。即ち、図５に示すように、上流工程の動的成果物に含まれるタスク30aの粒度は、下流工程の動的成果物に含まれる複数のタスク30b,30c,30dに記載されるタスクの粒度よりも粗くなっている。また、上流工程の動的成果物の一つのタスク30aが下流工程の動的成果物の各タスク30b,30c,30dに分解されている場合、タスク30aと各タスク30b,30c,30dとの間には、タスク30aが各タスク30b,30c,30dの基となったタスクであり、各タスク30b,30c,30dがタスク30aに基づいて作成されたという関係を有している。本実施例では、このような関係を表す情報を「達成関係」40として表現することとし、タスク30aと各タスク30b,30c,30dは、達成関係40で結び付けられる。この場合、作成された動的成果物のタスク及び工程毎のタスク間の関係は図５に示すような構造で表現される。なお、この構造をタスク達成構造と呼び、タスク達成構造は概念体系リポジトリ15に記憶される。
【００２７】
また、タスクを表現する主体、動作、パラメータについて、開発するソフトウェアの範囲において共通的に利用される概念を、それぞれ図６、図７及び図８のように予め体系化しておく。図６は主体概念体系を表す図、図７はパラメータ概念体系を表す図、図８は動作概念体系を表す図である。これらの概念体系は、抽象的な概念から具体的な概念へ展開される木構造を有するものであり、概念が展開される毎に階層レベルが増加するようになっている。また、動的成果物のタスクを表現するために使用可能な主体概念、動作概念及びパラメータ概念の階層レベルが動的成果物の種類毎に予め対応付けられており、この対応付けを表す成果物制約情報（以下、成果物ルールと呼ぶ）は図９のように定められる。なお、各概念体系及び成果物ルールは概念体系リポジトリ15に登録されている。
【００２８】
さらに、主体概念体系の少なくとも一つの概念は、開発するソフトウェアの成果物内で利用する主体語彙と結び付けられ、この結び付け情報は図１０のように定められる。例えば、「概念６」という主体概念を用いてタスクを表現する場合には、ソフトウェア成果物内のタスクは「語彙Ａａ」という主体語彙を用いて表現される。また、パラメータ概念体系の少なくとも一つの概念は、上記と同様にパラメータ語彙と結び付けられ、この結び付け情報は図１１のように定められる。さらに、動作概念体系の少なくとも一つの概念についても上記と同様に動作語彙と結び付けられ、この結び付け情報は図１２のように定められる。このとき、語彙が概念体系の概念と同じ名前であっても構わない。また、この語彙及び概念との結び付けは、成果物作成前に予め作成しておいても構わないし、成果物作成と合わせて作成しても構わない。さらに、主体語彙と主体概念との結び付け情報、パラメータ語彙とパラメータ概念との結び付け情報及び動作語彙と動作概念との結び付け情報は、それぞれ語彙リポジトリ14に登録されている。
【００２９】
さらにまた、概念体系リポジトリ15には、図１３に示すようにソフトウェア成果物の変更に基づく他のソフトウェア成果物の影響箇所を特定するための概念を表す特定情報が登録されている。特定情報には、各成果物間において影響箇所を特定するために考慮する概念が予め対応付けられている。例えば、「動的成果物１」と「動的成果物２」の間では、一方の成果物のタスクに対応する動作概念、主体概念及びパラメータ概念の全てが、他方の成果物のタスクに対応する動作概念、主体概念及びパラメータ概念と同一、上位または下位の関係にあるか否かに基づき影響箇所の有無が判別される。また、「動的成果物２」と「動的成果物３」との間では、一方の成果物のタスクに対応する主体概念が、他方の成果物のタスクに対応する主体概念と同一、上位または下位の関係にあるか否かに基づき影響箇所の有無が判別される。
【００３０】
＜成果物作成＞
開発者は、成果物描画画面20の成果物選択部21において、作成しようとする動的成果物を選択する。このとき、制御部16は、主体語彙と主体概念との結び付け情報、パラメータ語彙とパラメータ概念との結び付け情報及び成果物ルールに基づいて、使用可能な主体及びパラメータの語彙を、それぞれ語彙リポジトリ14から取得するとともに、使用可能な動作の語彙を概念体系リポジトリ15から取得して、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26に表示させる。開発者は、各表示部24〜26に表示された主体語彙、動作語彙及びパラメータ語彙の中から入力主体、出力主体、動作、パラメータに該当するものを選択することにより、作成しようとするソフトウェア機能を実現するために必要なタスクを作成する。このとき描画部23に描画される動的成果物の形式は、自然言語及びアクティビティ図やシーケンス図等のＵＭＬに基づく図であっても構わない。開発者は、全てのタスクを同様に作成することにより、動的成果物を作成する。
【００３１】
次に、開発者は、上流（または下流）工程の動的成果物を成果物選択部21にて選択する。上記と同様に、各表示部24〜26には、使用可能な主体、動作及びパラメータの語彙がそれぞれ表示される。開発者は、それらの中から入力主体、出力主体、動作、パラメータに該当するものを選択し、上流（または下流）工程の動的成果物を作成する。このとき、先に作成した動的成果物のタスク（以下、既存タスクと呼ぶ）及び現在作成中のタスク（以下、作成中タスクと呼ぶ）が、タスク表示部22に表示される。開発者は、タスク表示部22にて作成中タスクがどの既存タスクを簡略化（または詳細化）したものであるかを表すタスク間関連情報を入力する。
【００３２】
以上の操作を繰り返すことにより、必要とする動的成果物を作成する。
【００３３】
＜成果物登録＞
動的成果物作成後、開発者は、成果物描画画面20の登録指示部において動的成果物の登録を指示する。このとき、制御部16は、各タスクの要素情報及びタスク間関連情報に基づいて、作成した動的成果物をタスク達成構造表現に変換し、成果物リポジトリ13に登録する。この場合、タスク間関連情報は、タスク達成構造表現における達成関係40に変換される。
【００３４】
また、上記と同様に他の成果物を成果物描画画面20にて作成し、登録を行う。なお、動的成果物の登録は全ての動的成果物を作成してから行っても構わないし、一つの動的成果物を作成する毎に行っても構わない。
＜変更成果物・変更箇所の特定＞
上記の成果物登録が行われたことを前提として、登録された動的成果物の一部の変更に基づいて変更を要する他の動的成果物及びその影響箇所を特定する方法について図１４のフロー図を参照して説明する。
【００３５】
まず、開発者が指定した動的成果物を取得し、成果物描画画面20に表示する（ステップS1）。具体的には、開発者が、成果物描画画面20の成果物選択部21において変更しようとする動的成果物を指定すると、制御部16は、指定された動的成果物を成果物リポジトリ13から取得するとともに、タスク達成構造を概念体系リポジトリ15から取得する。さらに、制御部16は、成果物リポジトリ13から取得した動的成果物を成果物描画画面20の描画部23に表示する。そして、開発者は、描画部23において動的成果物の修正を行う。
【００３６】
次に、開発者によって修正された動的成果物の修正箇所に対応するタスクを概念体系リポジトリ15に記憶されたタスク達成構造を用いて特定する（ステップS2）。具体的には、開発者が、成果物描画画面20の描画部23において動的成果物のタスク（またはメッセージ）を修正すると、制御部16は、タスクを修正する際に入力された情報（例えば、タスク番号やメッセージ番号）を取得する。また、制御部16は、前記入力情報に基づき、修正されたタスクをタスク達成構造から特定する。
【００３７】
次いで、特定されたタスクに関連するタスクをタスク達成構造に記述された達成関係40に基づいて特定する（ステップS3）。具体的には、制御部16は、特定されたタスクとの間で達成関係40によって関連付けられたタスク（以下、関連タスクと称する。）をタスク達成構造から抽出する。この場合、制御部16は、抽出された関連タスクのうち、特定情報の概念の種類に応じた概念体系において、特定されたタスクの語彙に対応する概念との間で同一、上位または下位の関係を有する概念の語彙によって構成されたタスクを影響箇所として抽出する。
【００３８】
そして、影響箇所となる関連タスクを含む動的成果物を成果物リポジトリ13から取得して成果物描画画面20に表示するとともに、動的成果物の変更箇所をハイライト表示する（ステップS4）。具体的には、制御部16は、ステップS3において抽出された関連タスクを含む動的成果物を成果物リポジトリ13から取得して、該動的成果物を描画部23に表示する。このとき、制御部16は、描画部23に表示された動的成果物において関連タスクに対応する箇所をハイライト表示させることにより、他のタスクに対応する箇所よりも際立たせて表示する。
【００３９】
なお、上記の実施形態は本発明の具体例に過ぎず、本発明が上記実施形態のみに限定されることはない。例えば、本発明は、周知のコンピュータに記録媒体もしくは通信回線を介して、図１４のフローに示された手順を備えるプログラムをインストールすることによっても実現可能である。
【実施例１】
【００４０】
以下、一例として、通信装置の制御・管理を行うソフトウェアを適用する。
【００４１】
ソフトウェア開発において作成する動的成果物として、ＵＣ(ユースケース)、中間生成物、ＵＣ記述、概念シーケンス１、概念シーケンス２、設計シーケンス図を想定する。ＵＣ、中間生成物及びＵＣ記述は自然言語で記述され、概念シーケンス１、概念シーケンス２及び設計シーケンス図はＵＭＬのシーケンス図で記述されるものである。作成手順としては、ＵＣ、中間生成物、ＵＣ記述、概念シーケンス１、概念シーケンス２、設計シーケンス図の順で作成される。ＵＣはソフトウェア機能を最も抽象化した動的成果物であり、一つのタスクで構成される。中間生成物は、最終的な成果物として残す必要は無いが、ＵＣとＵＣ記述との関連情報を保持するために必要な動的成果物である。ＵＣ記述は、ＵＣを詳細化した動的成果物であり、複数のタスクから構成されている。概念シーケンス１は、ＵＣ記述を更に詳細化した動的成果物であり、ＵＣ記述と同様に複数のタスクから構成されている。概念シーケンス２は、概念シーケンス１のパラメータを詳細化した動的成果物である。設計シーケンス図は、実装を意識したクラス抽出等を概念シーケンス２を用いて行うことにより、更に詳細化した動的成果物である。
【００４２】
また、図１５に示す動作概念体系、図１６に示す主体概念体系、図１７に示すパラメータ概念体系、図１８に示す成果物ルールが予め構築されているものとする。
【００４３】
即ち、図１５に示す動作概念体系では、動作概念101が第１階層（レベル１）の「登録する」という概念111と、「削除する」という概念112と、「変更する」という概念113と、「検索する」という概念114と、第２階層（レベル２）の「送信する」という概念121と、第３階層（レベル３）の「確認する」という概念136に分岐されている。
【００４４】
また、「登録する」という概念111は、レベル２の「登録する」という概念122に展開され、「削除する」という概念112は、レベル２の「削除する」という概念123に展開され、「検索する」という概念114は、レベル２の「検索する」という概念124に展開されている。
【００４５】
さらに、レベル２の「送信する」という概念121は、レベル３の「送信する」という概念131に展開され、レベル２の「登録する」という概念122は、レベル３の「登録する」という概念132と、「設定する」という概念133に分岐されている。また、レベル２の「削除する」という概念123は、レベル３の「削除する」という概念134に展開され、レベル２の「検索する」という概念124は、レベル３の「検索する」という概念135に展開されている。
【００４６】
さらにまた、レベル３の「送信する」という概念131は、第４階層（レベル４）の「送信する」という概念141と、「表示する」という概念142とに分岐され、レベル３の「登録する」という概念132は、レベル４の「仮登録する」という概念143と、「一括登録する」という概念144とに分岐されている。また、レベル３の「削除する」という概念134は、レベル４の「仮削除する」という概念145に展開され、レベル３の「検索する」という概念135は、レベル４の「検索する」という概念146に展開されている。さらに、レベル３の「確認する」という概念136は、レベル４の「存在確認する」という概念147と、「非存在確認する」という概念148に分岐されている。
【００４７】
また、レベル４の「送信する」という概念141は、第５階層（レベル５）の「return」という概念151に展開されており、レベル４の「一括登録する」という概念144は、レベル５の「doRegister」という概念152と、「doBundleRegisterCommand」という概念153と、「doBundleRegister」という概念154とに分岐されている。また、レベル４の「検索する」という概念146は、レベル５の「doRetrieve」という概念155と、「doRetrieveCommand」という概念156とに分岐されており、レベル４の「非存在確認する」という概念148は、レベル５の「doConfirm」という概念157と、「doNonexistingConfirm」という概念158とに分岐されている。
【００４８】
図１６に示す主体概念体系では、主体概念201が第１階層（レベル１）の「オペレータ」という概念211と、「システム」という概念212とに分岐されている。
【００４９】
また、「オペレータ」という概念211は、第２階層（レベル２）の「オペレータ」という概念221に展開され、「システム」という概念212は、レベル２の「ＭＥ」という概念222と、「管理システム」という概念223に分岐されている。
【００５０】
さらに、レベル２の「オペレータ」という概念221は、第３階層（レベル３）の「オペレータ」という概念231に展開され、レベル２の「ＭＥ」という概念222は、レベル３の「ＮＥ」という概念232に展開されている。また、「管理システム」という概念223は、レベル３の「端末」という概念233と、「サーバ」という概念234と、「ＤＢ」という概念235に分岐されている。
【００５１】
さらにまた、レベル３の「ＮＥ」という概念232は、第４階層（レベル４）の「NEAccessClass」という概念241に展開され、レベル３の「端末」という概念233は、「Client」という概念242に展開されている。また、レベル３の「サーバ」という概念234は、「UCClass」という概念243と「UCDClass」という概念244とに分岐され、レベル３の「ＤＢ」という概念235は、「DBAccessClass」という概念245に展開されている。
【００５２】
図１７に示すパラメータ概念体系では、パラメータ概念301が第１階層（レベル１）の「エリア」という概念311と、「ビル」という概念312と、「収容装置」という概念313と、「ＮＷカード」という概念314とに分岐されている。
【００５３】
また、「エリア」という概念311は第２階層（レベル２）の「エリア属性」という概念321に、「ビル」という概念312はレベル２の「ビル属性」という概念322に、「収容装置」という概念313はレベル２の「収容装置属性」という概念323に、「ＮＷカード」という概念314はレベル２の「ＮＷカード属性」という概念324に、それぞれ展開されている。
【００５４】
＜成果物作成＞
開発対象のソフトウェアの一例として、通信装置Ａに関する業務を支援する業務サポートシステムＡを取り上げる。
【００５５】
まず、業務サポートシステムＡのソフトウェア成果物における主体語彙と主体概念との結び付け情報として図１９に示すものを、パラメータ語彙とパラメータ概念との結び付け情報として図２０に示すものを、語彙リポジトリ14に事前に登録しておく。
【００５６】
以下に、業務サポートシステムＡの開発におけるソフトウェア成果物の一例として、通信装置Ａに関する装置情報を、業務サポートシステムＡに設けられたデータベースに登録する機能についての動的成果物を登録・変更する場合について説明する。
【００５７】
最初にＵＣを作成する場合について説明する。開発者が成果物描画画面20の成果物選択部21においてＵＣを選択すると、制御部16は、ＵＣ作成時においてタスクを構成可能な主体概念、動作概念及びパラメータ概念のレベルを概念体系リポジトリ15に登録された成果物ルールから特定する。この場合、図１８の成果物ルールを参照すると、ＵＣ作成時に利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル１、レベル１及びレベル１である。制御部16は、図１８の成果物ルール、図１９及び図２０の結び付け情報に基づいて、動作語彙、主体語彙及びパラメータ語彙を語彙リポジトリ14から取得する。そして、取得された主体語彙、動作語彙及びパラメータ語彙は、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26にそれぞれ表示される。開発者は、各表示部24〜26に表示された語彙を選択することにより、ＵＣを作成する。なお、本例では、図２１に示すようなＵＣが描画部23に作成されている。
【００５８】
次に、ＵＣとＵＣ記述との間の中間生成物を作成する場合について説明する。開発者が、成果物描画画面20の成果物選択部21において中間生成物を選択すると、
制御部16は、中間生成物作成時においてタスクを構成可能な主体概念、動作概念及びパラメータ概念のレベルを概念体系リポジトリ15に登録された成果物ルールから特定する。この場合、図１８の成果物ルールより中間成果物で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル１、レベル２及びレベル１である。そして、開発者はＵＣ作成時と同様にタスクを作成する。本例では、図２２に示すように、３つのタスクの並びで表現された中間生成物が描画部23に作成されている。また、この３つのタスクは、ＵＣのタスク１を詳細化したものであり、ＵＣのタスク１との達成関係が一意になることから、３つのタスクとＵＣのタスク１とが自動的に達成関係として結び付けられる。
【００５９】
次にＵＣ記述を作成する場合について説明する。開発者が、成果物描画画面20の成果物選択部21においてＵＣ記述を選択すると、制御部16は、ＵＣ記述作成時においてタスクを構成可能な主体概念、動作概念及びパラメータ概念のレベルを概念体系リポジトリ15に登録された成果物ルールから特定する。この場合、図１８の成果物ルールよりＵＣ記述で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル２、レベル３及びレベル１である。そして、開発者はＵＣ作成時と同様にタスクを作成する。本例では、図２３に示すように、４つのタスクの並びで表現されたＵＣ記述が描画部23に作成されている。このとき、開発者は、タスク表示部22において中間生成物の各タスクとＵＣ記述の各タスクとの間にタスク間関係情報を入力することにより、中間生成物の各タスクとＵＣ記述の各タスクを関連付ける。この関連付けは、作成されたＵＣ記述の各タスクが中間生成物のどのタスクを実現するために作成されたものであるかを開発者が考慮することによって行われる。また、関連付けと同等の作業はＵＣ記述作成時に開発者が必ず行うものであるため、関連付けは容易に行われる。本例では、ＵＣ記述のタスク１は、中間生成物のタスク１に基づいて作成されたものであり、ＵＣ記述のタスク２及び３は、中間生成物のタスク２に基づいて作成されたものであり、ＵＣ記述のタスク４は、中間生成物のタスク３に基づいて作成されたものである。
【００６０】
なお、中間生成物とＵＣ記述の生成ルールを予め規定することにより、中間生成物の各タスクとＵＣ記述の各タスクとの関連付けを自動化することも可能である。例えば、中間生成物については、最初のタスク（例えば、図２２のタスク１）と最後のタスク（例えば、図２２のタスク３）とをＵＣを実行するために必要な入出力タスクとして作成し、中間のタスク（例えば、図２２のタスク２）を１つのみ作成するという生成ルールを規定する。また、ＵＣ記述については、最初のタスク（例えば、図２３のタスク１）と最後のタスク（例えば、図２３のタスク４）をそれぞれ中間生成物の最初と最後のタスクを詳細化したタスクとして作成し、中間のタスク（例えば、図２３のタスク２及び３）を中間生成物の中間タスクを詳細化したタスクとして作成するという生成ルールを規定する。そして、これらの生成ルールに基づいてタスクを作成することにより、中間生成物の最初、中間及び最後のタスクと、ＵＣ記述の最初、中間及び最後のタスクとを自動的に関連付けることが可能となる。
【００６１】
次に概念シーケンス１を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21において概念シーケンス１を選択する。この場合、図１８の成果物ルールより概念シーケンス１で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル３、レベル４及びレベル１である。そして、開発者は、描画部23においてメッセージを作成する。本例では、図２４に示すように、概念シーケンス１がＵＭＬにおけるシーケンス図の形式で表現される。ここで、図２４における１番目、２番目のメッセージ401,402はＵＣ記述タスク１を詳細化したものであり、３番目、４番目、５番目及び６番目のメッセージ403,404,405,406はＵＣ記述タスク２を詳細化したものであり、７番目及び８番目のメッセージ407,408はＵＣ記述タスク３を詳細化したものであり、９番目及び１０番目のメッセージ409,410はＵＣ記述タスク４を詳細化したものである。開発者は、ＵＣ記述作成時と同様に、タスク表示部22に表示されたＵＣ記述タスクと概念シーケンス１の各メッセージとを、ＧＵＩ操作によりタスク間関係情報として関連付ける。
【００６２】
次に概念シーケンス２を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21において概念シーケンス２を選択する。この場合、図１８の成果物ルールより概念シーケンス２で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル３、レベル４及びレベル２である。そして、開発者は、描画部23においてメッセージを作成する。本例では、図２５に示すように、概念シーケンス２がＵＭＬにおけるシーケンス図の形式で表現される。ここで、図２５における１〜１０番目のメッセージ501〜510は、それぞれ概念シーケンス１の１〜１０番目のメッセージ401〜410のパラメータを詳細化したものである。開発者は、概念シーケンス１作成時と同様に、タスク表示部22に表示された概念シーケンス１の各メッセージと概念シーケンス２の各メッセージとを、ＧＵＩ操作によりタスク間関係情報として結び付ける。
【００６３】
なお、本例のように、概念シーケンス２の各メッセージ501〜510を、概念シーケンス１の各メッセージ401〜410のパラメータを詳細化したものとして作成するように規定することにより、各メッセージ間のタスク間関係情報を自動的に結び付けることが可能となる。
【００６４】
最後に設計シーケンス図を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21において設計シーケンス図を選択する。この場合、図１８の成果物ルールより設計シーケンス図で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル４、レベル５及びレベル２である。そして、開発者は、概念シーケンス１作成時と同様にメッセージを作成する。本例では、図２６に示すように、設計シーケンス図がＵＭＬにおけるシーケンス図の形式で表現される。ここで、図２６における１番目のメッセージ601は、概念シーケンス２の２番目のメッセージ502に基づいて作成されたものであり、２番目及び３番目のメッセージ602,603は、概念シーケンス２の３番目のメッセージ503に基づいて作成されたものである。また、４番目のメッセージ604は、概念シーケンス２の４番目のメッセージ504に基づいて作成されたものであり、５番目のメッセージ605は、概念シーケンス２の５番目のメッセージに基づいて作成されたものである。さらに、６番目及び７番目のメッセージ606,607は、概念シーケンス２の６番目のメッセージ506に基づいて作成されたものであり、８番目及び９番目のメッセージ608,609は、概念シーケンス２の７番目のメッセージ507に基づいて作成されたものである。さらにまた、１０番目のメッセージ610は、概念シーケンス２の８番目のメッセージ508に基づいて作成されたものであり、１１番目のメッセージ611は、概念シーケンス２の９番目のメッセージ509に基づいて作成されたものである。開発者は、タスク表示部22に表示された概念シーケンス２の各メッセージと設計シーケンス図の各メッセージとを、ＧＵＩ操作によりタスク間関係情報として結び付ける。
【００６５】
なお、出願人が提案した特願２００６−２９８２２０号に記載の技術を用いた場合には、設計シーケンス図の各メッセージが、当該明細書の実施形態に記載された生成ルールと概念シーケンス２の各メッセージとに基づいて自動的に作成されることから、メッセージ間の関連付けを自動化することが可能となる。
【００６６】
＜成果物登録＞
描画部23の登録指示部において開発者が登録を指示することにより、成果物リポジトリ13には、ＵＣから設計シーケンス図までの動的成果物が登録されるとともに、概念体系リポジトリ15には、図２７、図２８及び図２９に示すような、ＵＣから設計シーケンス図までのタスク達成構造が登録される。ここで、タスク達成構造の１階層目(Lv1)にはＵＣ51が、２階層目(Lv2)には中間生成物52が、３階層目(Lv3)にはＵＣ記述53が、４階層目(Lv4)には概念シーケンス１-54が、５階層目(Lv5)には概念シーケンス２-55が、６階層目(Lv6)には設計シーケンス図-56が表現されている。なお、ＵＣ51のタスク51aは図２１のタスク１に対応しており、中間生成物52の各タスク52a〜52cは、それぞれ図２２のタスク１〜３に対応している。また、ＵＣ記述53の各タスク53a〜53dは、それぞれ図２３のタスク１〜４に対応しており、概念シーケンス１-54の各タスク54a〜54jは、それぞれ図２４の各メッセージ401〜410に対応している。さらに、概念シーケンス２-55の各タスク55a〜55jは、それぞれ図２５の各メッセージ501〜510に対応しており、設計シーケンス図-56の各タスク56a〜56kは、それぞれ図２６の各メッセージ601〜611に対応している。
【００６７】
＜変更成果物・変更箇所の抽出＞
上記の成果物登録が行われたことを前提として、登録された動的成果物の一部の変更に基づいて変更を要する他の動的成果物及びその影響箇所を特定する。本例では、開発者が描画部23において概念シーケンス２の３番目のメッセージ503を修正した場合について説明する。
【００６８】
[手順１]
開発者が、成果物描画画面20の成果物選択部21において概念シーケンス２を指定すると、制御部16は、概念シーケンス２を成果物リポジトリ13から取得して成果物描画画面20の描画部23に表示する。この場合、描画部23には、図２５の概念シーケンス２が表示される。そして、開発者は、描画部23において概念シーケンス２の３番目のメッセージ503を修正する。
【００６９】
[手順２]
開発者が、成果物描画画面20の描画部23において概念シーケンス２の３番目のメッセージ503を修正すると、制御部16は、修正されたメッセージ503のメッセージ番号「３」を取得する。また、制御部16は、取得したメッセージ番号に基づき、修正されたタスクをタスク達成構造から特定する。この場合、概念シーケンス２はタスク達成構造の５階層目(Lv5)に表現され、３番目のメッセージ503は３番目のタスク55cに対応していることから、３番目のタスク55cが特定される。
【００７０】
[手順３]
制御部16は、概念シーケンス２-55の３番目のタスク55cに関連するタスクを、タスク達成構造の達成関係40に基づいて特定する。本例では、図２７、図２８及び図２９に示すように、概念シーケンス２-55より上位の階層に存在する概念シーケンス１-54の３番目のタスク54cと、ＵＣ記述53の２番目のタスク53bと、中間生成物52の２番目のタスク52cと、ＵＣ51のタスク51aと、概念シーケンス２-55より下位の階層に存在する設計シーケンス図-56の２番目と３番目のタスク56b,56cとが関連タスクとして特定される。
【００７１】
次に、制御部16は、関連タスクのうち概念シーケンス２-55の３番目のタスク55cの変更に基づき変更を要するタスク、即ち影響箇所となるタスクを特定する。ここで、タスクを特定する際に用いられる特定情報は図３０のように示される。
【００７２】
まず、概念シーケンス１-54の３番目のタスク54cが影響箇所となるか否かを判別する。この場合、制御部16は、図３０の特定情報に基づき、動作、主体及びパラメータ概念の全てについて各タスク54c,55c間の関係の有無を判別する。まず、動作概念についてみてみると、概念シーケンス１-54の３番目のタスク54cの動作は、図１５の動作概念体系の「送信する」という概念141に対応しており、概念シーケンス２-55の３番目のタスク55cの動作も動作概念体系の「送信する」という概念141に対応している。即ち、各タスク54c,55cの動作には、同一の概念が用いられているという関係を有している。
【００７３】
次に、主体概念についてみてみると、概念シーケンス１-54の３番目のタスク54cの入力主体「Server」は、図１６の主体概念体系の「サーバ」という概念234に対応しており、概念シーケンス２-55の３番目のタスク55cの入力主体「Server」も主体概念体系の「サーバ」という概念234に対応している。即ち、各タスク54c,55cの主体には、同一の概念が用いられているという関係を有している。
【００７４】
さらに、パラメータ概念についてみてみると、概念シーケンス１-54の３番目のタスク54cのパラメータ「保守エリア情報」は、図１７のパラメータ概念体系の「エリア」という概念311に対応しており、パラメータ「収容ビル情報」は、「ビル」という概念312に対応している。また、概念シーケンス２-55の３番目のタスク55cのパラメータ「エリア名」は、図１７のパラメータ概念体系の「エリア属性」という概念321に対応しており、パラメータ「ビル名」は、「ビル属性」という概念322に対応している。即ち、概念シーケンス１のタスク54cの各パラメータには概念シーケンス２のタスク55cの各パラメータの上位概念の語彙が用いられていることから、各タスク54c,55cのパラメータには、上位・下位の概念が用いられているという関係を有している。
【００７５】
以上のように、各タスク54c,55cが、動作、主体及びパラメータの各概念において関係を有していることから、概念シーケンス１-54の３番目のタスク54cは影響箇所として特定される。
【００７６】
次に、ＵＣ記述53の２番目のタスク53bが影響箇所となるか否かを判別する。この場合、制御部16は、図３０の特定情報に基づき、動作、主体及びパラメータ概念の全てについて各タスク53b,54c間の関係の有無を判別する。まず、動作概念についてみてみると、ＵＣ記述53の２番目のタスク53bの動作は、図１５の動作概念体系の「確認する」という概念136に対応しており、概念シーケンス１-54の３番目のタスク54cの動作は、「送信する」という概念141に対応している。ここで、各概念136,141には、同一、上位または下位の関係がないことから、各タスク53b,54cの動作には概念間の関係がない。
【００７７】
また、主体概念についてみてみると、ＵＣ記述53の２番目のタスク53bの入力主体「サポートシステムＡ」は、図１６の主体概念体系の「管理システム」という概念223に対応しており、概念シーケンス２-55の３番目のタスク55cの入力主体「Server」は、主体概念体系の「サーバ」という概念234に対応している。ここで、「管理システム」という概念223は、「サーバ」という概念234の上位概念であることから、各タスク54c,55cの主体には、上位・下位の概念が用いられているという関係を有している。
【００７８】
さらに、パラメータ概念についてみてみると、ＵＣ記述53の２番目のタスク53bのパラメータ「装置情報」は、図１７のパラメータ概念体系の「収容装置」という概念313に対応している。また、概念シーケンス１-54の３番目のタスク54cのパラメータ「保守エリア情報」は、図１７のパラメータ概念体系の「エリア」という概念311に対応しており、パラメータ「収容ビル情報」は、「ビル」という概念312に対応している。ここで、各概念313,311及び各概念313,312には、同一、上位または下位の関係がないことから、各タスク53b,54cのパラメータには概念間の関係がない。
【００７９】
以上のように、各タスク53b,54cは、動作及びパラメータの各概念において関係を有していないことから、ＵＣ記述53の２番目のタスク53bは影響箇所として特定されない。
【００８０】
なお、ＵＣ記述53の２番目のタスク53bが影響箇所として特定されないことから、その上位に関連付けられた各タスク52b,51aも影響箇所として特定されない。
【００８１】
また、制御部16は、設計シーケンス図-56の２番目と３番目のタスク56b,56cについても影響箇所となるか否かを判別する。この場合、図３０の特定情報には、概念シーケンス２と設計シーケンス図間について概念間の関係の有無を判別しないように設定されているので、各タスク56b,56cがそのまま影響箇所として特定される。
【００８２】
[手順４]
制御部16は、特定された関連タスクを含む動的成果物を成果物リポジトリ13から取得して描画部23に表示する。このとき、制御部16は、描画部23に表示された動的成果物において関連タスクに対応する箇所をハイライト表示させることにより、他のタスクに対応する箇所よりも際立たせて表示する。本例では、概念シーケンス１-54、設計シーケンス図-56が描画部23に表示される。この場合、概念シーケンス１が表示される際には、図３１に示すように、３番目のメッセージ403に対応する箇所（一点鎖線で囲まれた部分）がハイライト表示される。また、設計シーケンス図が表示される際には、図３２に示すように、２番目及び３番目のメッセージ602,603に対応する箇所（一点鎖線で囲まれた部分）がハイライト表示される。
【００８３】
このようにして、概念シーケンス２-55の３番目のタスク55cの変更に基づき影響を受ける他のソフトウェア成果物の該当箇所を開発者に提示することが可能となる。この場合、変更されたタスク55cとの間で達成関係40により関連付けられたタスクを影響箇所として単に抽出するのではなく、該タスク55cを構成する概念との間で同一、上位または下位の関係を有する概念によって構成されたタスクを影響箇所として抽出しているので、修正を必要とするタスクのみを容易且つ高い精度で抽出することができる。
【００８４】
前述したように上記実施形態では、ソフトウェア成果物のタスクの内容が変更されたときには、変更されたタスクと単に関連付けられただけの他のソフトウェア成果物のタスクが抽出されることを防ぐことができるので、ソフトウェア成果物の変更に基づく他のソフトウェア成果物の影響箇所を容易に且つ高い精度で特定することができる。従って、ソフトウェア成果物の変更作業の効率化を図ることができるとともにソフトウェア成果物の品質を向上させることができることから、ソフトウェア開発の効率を大幅に向上させることができる。
【００８５】
また、各概念体系においてソフトウェア成果物のタスクを構成可能な概念の階層をソフトウェア成果物の種類毎に表す成果物ルールを記憶するとともに、各ソフトウェア成果物を、成果物ルールに基づき抽出された主体語彙、動作語彙及びパラメータ語彙から構成されたタスクを含む状態で記憶するので、成果物ルールで対応付けられていない語彙から構成されたタスクが作成されることを防止することができ、ソフトウェア成果物の開発者の属人性を排除することができる。
【００８６】
さらに、影響箇所として特定されたタスクを含む他のソフトウェア成果物を表示部11に表示させるので、ソフトウェア成果物の変更により影響を受ける他のソフトウェア成果物を開発者に知らせることができる。
【００８７】
さらにまた、他のソフトウェア成果物を表示するときに、影響箇所として特定されたタスクをハイライト表示させるので、ソフトウェア成果物の変更により影響を受ける箇所を確実に開発者に知らせることができる。
【図面の簡単な説明】
【００８８】
【図１】本発明の一実施形態におけるソフトウェア成果物管理システムの構成を示す図
【図２】成果物描画画面を示す図
【図３】タスクの構成を示す図
【図４】タスクの構成を示す図
【図５】タスク達成構造表現を示す図
【図６】主体概念体系の概略を示す図
【図７】パラメータ概念体系の概略を示す図
【図８】動作概念体系の概略を示す図
【図９】成果物ルールの概略を示す図
【図１０】主体概念と主体語彙との結び付け情報の概略を示す図
【図１１】パラメータ概念とパラメータ語彙との結び付け情報の概略を示す図
【図１２】動作概念と動作語彙との結び付け情報の概略を示す図
【図１３】特定情報の概略を示す図
【図１４】変更による影響箇所を特定するときの動作を示すフロー図
【図１５】動作概念体系を示す図
【図１６】主体概念体系を示す図
【図１７】パラメータ概念体系を示す図
【図１８】成果物ルールを示す図
【図１９】業務サポートシステムＡの動的成果物における主体概念と主体語彙との結び付け情報を示す図
【図２０】業務サポートシステムＡの動的成果物におけるパラメータ概念とパラメータ語彙との結び付け情報を示す図
【図２１】業務サポートシステムＡの装置情報登録機能に関するユースケースを示す図
【図２２】業務サポートシステムＡの装置情報登録機能に関する中間生成物を示す図
【図２３】業務サポートシステムＡの装置情報登録機能に関するＵＣ記述を示す図
【図２４】業務サポートシステムＡの装置情報登録機能に関する概念シーケンス１を示す図
【図２５】業務サポートシステムＡの装置情報登録機能に関する概念シーケンス２を示す図
【図２６】業務サポートシステムＡの装置情報登録機能に関する設計シーケンス図を示す図
【図２７】業務サポートシステムＡの装置情報登録機能に関するタスク達成構造表現を示す図
【図２８】業務サポートシステムＡの装置情報登録機能に関するタスク達成構造表現を示す図
【図２９】業務サポートシステムＡの装置情報登録機能に関するタスク達成構造表現を示す図
【図３０】特定情報を示す図
【図３１】ソフトウェア成果物変更後の概念シーケンス１の表示態様を示す図
【図３２】ソフトウェア成果物変更後の設計シーケンス図の表示態様を示す図
【符号の説明】
【００８９】
10…ソフトウェア成果物管理システム、11…表示部、12…情報入力部、13…成果物リポジトリ、14…語彙リポジトリ、15…概念体系リポジトリ、16…制御部、51…ＵＣ（ユースケース）、52…中間生成物、53…ＵＣ記述、54…概念シーケンス１、55…概念シーケンス２、56…設計シーケンス図。
【図１】
0004886626.tif 000002
【図２】
0004886626.tif 000003
【図３】
0004886626.tif 000004
【図４】
0004886626.tif 000005
【図５】
0004886626.tif 000006
【図６】
0004886626.tif 000007
【図７】
0004886626.tif 000008
【図８】
0004886626.tif 000009
【図９】
0004886626.tif 000010
【図１０】
0004886626.tif 000011
【図１１】
0004886626.tif 000012
【図１２】
0004886626.tif 000013
【図１３】
0004886626.tif 000014
【図１４】
0004886626.tif 000015
【図１５】
0004886626.tif 000016
【図１６】
0004886626.tif 000017
【図１７】
0004886626.tif 000018
【図１８】
0004886626.tif 000019
【図１９】
0004886626.tif 000020
【図２０】
0004886626.tif 000021
【図２１】
0004886626.tif 000022
【図２２】
0004886626.tif 000023
【図２３】
0004886626.tif 000024
【図２４】
0004886626.tif 000025
【図２５】
0004886626.tif 000026
【図２６】
0004886626.tif 000027
【図２７】
0004886626.tif 000028
【図２８】
0004886626.tif 000029
【図２９】
0004886626.tif 000030
【図３０】
0004886626.tif 000031
【図３１】
0004886626.tif 000032
【図３２】
0004886626.tif 000033