(57)【要約】【課題】  ソフトウェアの開発途中において要件変更や設計変更が生じた場合に、その変更が波及する部分を短時間に検索して確認できるようにしたソフトウェア開発支援装置を提供する。【解決手段】  ソフウエェア開発における設計書作成を支援する装置であって、設計書は開発フェーズの１つに帰属し設計書を構成する少なくとも１つの設計要素を有し、設計要素は各要素を実現する実現要素と各要素に依存する依存要素を含み、それら実現要素及び依存要素の情報を含む設計要素情報を記憶手段に記録し、設計変更時に記憶装置に記録された実現要素と依存要素の情報を検索し、変更の要求を実現する実現要素とその変更が波及する依存要素とを抽出し、抽出した実現要素と依存要素を基に、変更が必要な設計要素を取得して表示する。【選択図】    図１
2007018334.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発における設計書作成を支援するソフトウェア開発支援装置であって、
前記設計書は開発フェーズの１つに帰属し前記設計書を構成する少なくとも１つの設計要素を有し、設計要素は各要素を実現する実現要素と各要素に依存する依存要素を含み、
前記実現要素及び依存要素の情報を含む設計要素情報が記録された記憶手段と、
設計変更時に前記記憶装置に記録された前記実現要素と前記依存要素の情報を検索し、設計変更が生じたときに変更の要求を実現する実現要素と、その変更が波及する依存要素とを抽出する検索手段と、
前記検索手段によって検索した実現要素と依存要素を基に、変更が必要な設計要素を取得して表示する可視化装置とを具備したことを特徴とするソフトウェア開発支援装置。
【請求項２】
前記記憶手段には、前記設計書と前記設計要素の帰属関係を表す帰属情報と、前記設計要素間の関係を表す要素間関連情報が記録されたことを特徴とする請求項１記載のソフトウェア開発支援装置。
【請求項３】
前記開発フェーズは上流フェーズと下流フェーズで構成され、前記検索手段は、上流から下流のフェーズに属する設計書情報の中から順次に帰属する設計要素を取得して前記実現要素と前記依存要素を検索することを特徴とする請求項１記載のソフトウェア開発支援装置。
【請求項４】
ソフトウェア開発における設計書作成を支援するソフトウェア開発支援装置であって、
前記設計書は開発フェーズの１つに帰属し前記設計書を構成する少なくとも１つの設計要素を有し、設計要素は各要素を実現する実現要素と各要素に依存する依存要素を含み、
設計書作成用のワードプロセッサ部と、
前記実現要素及び依存要素の情報を含む設計要素情報を記憶手段に登録するための登録手段と、
設計変更時に前記記憶手段に記録された前記実現要素と前記依存要素の情報を検索し、設計変更が生じたときに変更の要求を実現する実現要素と、その変更が波及する依存要素とを抽出する検索手段と、
前記検索手段によって検索した実現要素と依存要素を基に、変更が必要な設計要素を取得して表示する可視化装置とを具備したことを特徴とするソフトウェア開発支援装置。
【請求項５】
前記記憶手段には、前記登録手段により前記設計書と前記設計要素の帰属関係を表す帰属情報と、前記設計要素間の関係を表す要素間関連情報が登録されることを特徴とする請求項４記載のソフトウェア開発支援装置。
【請求項６】
前記開発フェーズは上流フェーズと下流フェーズで構成され、前記検索手段は、上流から下流のフェーズに属する設計書情報の中から順次に帰属する設計要素を取得して前記実現要素と前記依存要素を検索することを特徴とする請求項４記載のソフトウェア開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発における設計書の作成を支援する装置に関し、ソフトウェアの開発途中において要件変更や設計変更が生じた場合に、その変更が波及する部分を短時間に検索して確認できるようにしたソフトウェア開発支援装置に関するものである。
【背景技術】
【０００２】
従来、ソフトウェアの開発においては、複数のプロジェクトにより開発を進行させ、顧客からの要求内容を詳細に分析し、基本設計、詳細設計、プログラム設計等を行い、プログラミング言語で記述されたプログラム(ソースコード)を作成し、総合試験等の各フェーズを経て最終的に製品として出荷するようにしている。
【０００３】
ところで、ソフトウェア開発では、要件変更や設計変更がしばしば発生する。しかし設計変更等が生じた場合に、影響を受けるソフトウェア設計要素間の関連把握や、影響が及ぶ範囲を特定する作業には困難が伴い、例えば開発フェーズの上流工程で変更が生じた場合に、その変更がどこまで波及するかを把握するのに時間がかかったり、変更への対応漏れが発生し、結果として設計の一貫性が崩れてしまうという状況が起こりやすい。
【０００４】
特許文献１には、顧客要求の変更がソースプログラムに及ぼす影響範囲を把握するため仕様書間のクロスリファレンス表を作成し、ソフトウェア開発作業において作成される各仕様書間およびソースプログラムとの関連性をクロスリファレンス表で確認できるようにした例が記載されている。 しかしながら、特許文献1の例ではクロスリファレンス表の作成において、各種の仕様書識別番号を入力したり、マトリクス欄への記入など、多くの手作業入力を必要とする。
【特許文献１】特開平１０−１０５３９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のソフトウェア開発においては、要件変更や設計変更が生じた場合に、影響を受けるソフトウェア設計要素間の関連把握や影響範囲の特定作業に時間がかかり、その変更がどこまで波及するかを十分に把握できなかったり変更への対応漏れが発生し、結果として設計の一貫性が崩れてしまうという不具合があった。また、特許文献１の例ではクロスリファレンス表の作成において多くの手作業入力を必要としていた。
【０００６】
本発明はソフトウェア開発における上記課題に対処したもので、ソフトウェアの開発途中において要件変更や設計変更が生じた場合に、その変更が波及する部分を短時間に検索して確認できるようにしたソフトウェア開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ソフトウェア開発における設計書作成を支援するソフトウェア開発支援装置であって、前記設計書は開発フェーズの１つに帰属し前記設計書を構成する少なくとも１つの設計要素を有し、設計要素は各要素を実現する実現要素と各要素に依存する依存要素を含み；前記実現要素及び依存要素の情報を含む設計要素情報が記録された記憶手段と；設計変更時に前記記憶装置に記録された前記実現要素と前記依存要素の情報を検索し、設計変更が生じたときに変更の要求を実現する実現要素と、その変更が波及する依存要素とを抽出する検索手段と；前記検索手段によって検索した実現要素と依存要素を基に、変更が必要な設計要素を取得して表示する可視化装置とを具備したことを特徴とする。
【０００８】
また本発明は、ソフトウェア開発における設計書作成を支援するソフトウェア開発支援装置であって、前記設計書は開発フェーズの１つに帰属し前記設計書を構成する少なくとも１つの設計要素を有し、設計要素は各要素を実現する実現要素と各要素に依存する依存要素を含み；設計書作成用のワードプロセッサ部と；前記実現要素及び依存要素の情報を含む設計要素情報を記憶手段に登録するための登録手段と；設計変更時に前記記憶手段に記録された前記実現要素と前記依存要素の情報を検索し、設計変更が生じたときに変更の要求を実現する実現要素と、その変更が波及する依存要素とを抽出する検索手段と；前記検索手段によって検索した実現要素と依存要素を基に、変更が必要な設計要素を取得して表示する可視化装置とを具備したことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、設計変更や要素変更が生じた場合に、その変更がどこまで波及するかを短時間で把握することができ、変更への対応漏れを低減したソフトウェア開発支援装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の一実施の形態について図面を参照して詳細に説明する。
【実施例】
【００１１】
図１は本発明のソフトウェア開発支援システムの構成を示す構成図であり、大別すると、端末装置１０と、記憶手段である設計情報リポジトリ２０と、設計書リポジトリ３０から構成される。
【００１２】
端末装置１０は、設計文書の作成や設計文書情報の入力、及び各種検索を実施するものであり、ワードプロセッサ部１０１、設計要素抽出部１０２、開発フェーズ登録部１０３、設計書情報・設計要素情報登録部１０４、帰属情報・要素間関連登録部１０５、実現関係検索部１０６、依存関係検索部１０７、及び可視化
部１０８と、を有している。
【００１３】
ワードプロセッサ部１０１は、自然言語からなる設計文書を作成し、作成した設計書を設計書リポジトリ３０に記録する。また、設計要素抽出部１０２は、ワードプロセッサ１０１が備える機能から設計文書を構成する章、節などのアウトライン情報を抽出するものである。ワードプロセッサ１０１がこの機能を備えない場合は、人間系による手作業によるか、文書のメタ情報から機械的に抽出する(ＸＭＬ形式で出力される場合等)。
【００１４】
開発フェーズ登録部１０３は、ソフトウェアの開発組織が実践している開発フェーズと、開発フェーズ間の上流下流関連情報とを設計情報リポジトリ２０に登録するものである。設計書情報・設計要素情報登録部１０４は、作成した設計書の情報、設計要素の情報を設計情報リポジトリ２０に登録するものである。
【００１５】
帰属情報・要素間関連登録部１０５は、設計書の帰属情報及び設計要素間の関連情報(実現要素, 依存要素)を登録するものである。帰属関係及び要素間関連の判断は人間系による
実現関係検索部１０６は、設計要素の実現要素を検索するもので、依存関係検索部１０７は、設計要素の依存要素を検索するものである。さらに、可視化部１０８は、設計要素間の実現要素、依存要素の関係を可視化するものである。
【００１６】
また、設計情報リポジトリ２０は、開発フェーズ情報、フェーズ間関係情報、設計書情報、設計要素情報を記録する記憶領域２０１〜２０４と、設計要素間関連情報、設計要素帰属情報を記録する記憶領域２０５，２０６を有している。さらに、設計書リポジトリ３０は、設計文書ファイルを記録するものである。
【００１７】
ここで、開発フェーズ情報、設計書情報、設計要素情報の関連を図２を参照して説明する。図２はＵＭＬ手法による図表であり、開発フェーズは上流の開発フェーズと下流の開発フェーズを有し、１つの開発フェーズに対して０〜ｎ個の設計書がある。設計書に付記した「０．．＊」は０個からｎ個の設計書があることを示している。また、設計書１つに対して１〜ｎ個の設計要素がある。設計要素に付記した「１．．＊」は、１個からｎ個の設計要素があることを示している。さらに設計要素には０個からｎ個の実現要素と、０個からｎ個の依存要素がある。設計要素に付記した「０．．＊」は０個からｎ個の実現要素と依存要素があることを示している。
【００１８】
開発フェーズ、設計書、設計要素の３データと、データ間の関係情報により、設計情報を管理する。データ間の関連は、設計要素の帰属関係を表わす設計要素帰属情報と、設計要素間の関係を表わす設計要素間関連情報からなる。
【００１９】
次に、上述した各種のデータについて説明する。設計情報リポジトリ２０の記憶領域２０１に記録される開発フェーズ情報のインスタンスとしては、「要件分析」や「基本設計」「詳細設計」といったソフトウェアの開発組織が決定する開発プロセス名が与えられる。その他適宜開発フェーズに付随する情報を格納する。
【００２０】
記憶領域２０２に記録される開発フェーズ間関係情報は、上流及び下流の関係を示す情報である。開発フェーズ間の関連を図３に示す。図３で示すように、ある開発フェーズは、上流フェーズを保持し、ある開発フェーズは、下流フェーズを保持する。
【００２１】
ソフトウェア開発における開発フェーズとしては、要因分析、基本設計、システム設計、詳細設計、プログラミング、最終テスト等のフェーズがある。
【００２２】
また、記憶領域２０３に記録される設計書情報のインスタンスには、「××システム 基本設計書」や「××システム システム設計書」などの設計文書名のほか、設計文書の保存情報(ファイル名等)が与えられる。
【００２３】
さらに、記憶領域２０４に記録される設計要素インスタンスには、「３．２．１ ユーザ登録処理」のような設計書中のアウトライン名、アウトラインの位置情報などが与えられる。
【００２４】
また、記憶領域２０５に記録される設計要素帰属情報の１つは、開発フェーズと設計書の関係、つまり設計書が帰属する開発フェーズを把握する情報であり、開発フェーズと設計書との関係は双方向に維持し、ある開発フェーズは０以上複数の設計書を保持する（図２参照）。
【００２５】
また、記憶領域２０５に記録される設計要素帰属情報のもう１つは、設計書と設計要素の関係、つまり設計要素が帰属する設計書を把握する情報であり、開発フェーズと設計書と同様に管理する。設計書と設計要素との関係も双方向に維持し、設計書は１以上複数の設計要素を保持する。
【００２６】
さらに、記憶領域２０６に記録される設計要素間関連情報は、設計要素と依存要素、設計要素と実現要素を関連付けるための情報で、関係は原則として一方向で維持する。例えばある設計要素は、実現要素を０以上複数保持する(できれば１以上)。また、ある設計要素は、依存要素を０以上複数保持する。
【００２７】
ここで、実現要素とは、設計変更があったときに変更の要求を実現する要素を示すもので、依存要素とは、設計変更があったときに見直しが必要となる要素であり変更が波及する要素を指す。
【００２８】
開発フェーズと設計書との関連、設計書と設計要素との関連、及び設計要素間の関連を図４に示す。図４において、開発フェーズは開発フェーズφ１〜φｎからなり、１つの開発フェーズφ１には、設計書１〜設計書ｎが含まれ、１つの設計書には設計要素１〜設計要素ｎが含まれている。また、１つの設計要素には実現要素１〜実現要素ｎが含まれ、さらに依存要素１〜依存要素ｎが含まれている。
【００２９】
次に、本発明のソフトウェア開発システムの動作について説明する。先ず、設計書の文書作成は、端末装置１０のワードプロセッサ部１０１を用いて行う。設計書は自然言語を用いて作成し、設計書リポジトリ３０に記録する。次に開発フェーズ登録部１０３により、設計情報リポジトリ２０の記憶領域２０１に開発フェーズの登録を行う。ここでは、組織が決定する開発プロセスで定義する開発フェーズ情報を登録する。また、開発フェーズ間の上流・下流関係を記憶領域２０２に記録する。
【００３０】
また、設計書情報・設計要素情報登録部１０４では、設計書情報、設計要素情報の登録を行う。ここでは、設計書を構成する章や節などのアウトライン情報を抽出し、設計書の名称、ファイル名等の設計書情報を記憶領域２０３に記録する。さらに章や節の名称、設計書中の位置情報などの設計要素情報を記憶領域２０４に記録する。
【００３１】
帰属情報・設計要素間関連情報登録部１０５では、設計書が帰属する開発フェーズの判断を操作者に促し記憶領域２０５に記録する。また設計書と設計書に帰属する設計要素との関係情報を記憶領域２０５に記録する。さらに各設計要素毎にこれまでに登録した設計要素のどの要素を実現しているのかの判断を操作者に促し記憶領域２０６に記録する。また各設計要素毎に、これまでに登録した設計要素のどの要素に依存しているかの判断を操作者に促し記憶領域２０６に記録する。こうして、必要な情報が設計情報リポジトリ２０に記録される。
【００３２】
次に実現関係検索部１０６によって実現要素の検索を行う。実現要素は図４で示すように、設計要素に関連づけられ、設計変更があったときにそれに対処する実現方法であり、実現関係検索部１０６によって検索が行われると、図５のフローチャートに従って検索を行う。
【００３３】
図５のステップＳ１では、ある開発フェーズに属す設計書の設計要素を変更する場合、設計書が属すフェーズを取り出し、ステップＳ２では次フェーズを取り出す。さらにステップＳ３では次フェーズに含まれる設計書（群）を取得し、ステップＳ４では取得した設計書に含まれる設計要素（群）を取得する。そしてステップＳ５では、変更した設計要素に対処する実現要素を取得し検索する。
【００３４】
検索結果が０の場合、実現要素が存在しないことを意味し、設計の網羅性を確認することが出来る。また、設計変更や要件を変更した場合、直接、変更が必要となる設計要素を知ることが出来る。
【００３５】
次に依存関係検索部１０７によって依存要素の検索を行う。依存要素は図４で示すように、設計要素に関連づけられ、設計変更があったときに設計の見直しが必要となる要素であり、依存関係検索部１０７によって検索が行われると、図６のフローチャートに従って検索を行う。
【００３６】
図６のステップＳ６からＳ９は、図５のフローチャートと同様に、ある開発フェーズに属す設計書の設計要素を変更する場合、設計書が属すフェーズ、及び次フェーズを取り出し（ステップＳ６，Ｓ７）、次フェーズに含まれる設計書（群）を取得して（ステップＳ８）、それに含まれる設計要素（群）を取得する（ステップＳ９）。そしてステップＳ１０では、設計変更したときに見直しが必要となる要素（依存要素）を取得する。これにより、設計変更をする場合に、その変更が波及する部分を短時間で特定することができる。
【００３７】
また、可視化部１０８では、実現要素検索と依存要素検索の検索結果を組合せ再帰的に表示することにより、設計変更時にはある設計要素の実現要素及び依存要素を取得して表示することができる。
【００３８】
このように、本発明のソフトウェア開発支援システムでは、設計変更や要素変更が生じた場合に、その変更がどこまで波及するかを短時間で把握することができ、変更への対応漏れを防ぎ、結果として設計の一貫性を維持することができる。
【００３９】
尚、以上の説明に限定されることなく、特許請求の範囲を逸脱しない範囲で種々の変形が可能である。
【図面の簡単な説明】
【００４０】
【図１】本発明のソフトウェア開発支援装置の構成を説明する構成図。
【図２】同実施形態における開発フェーズ情報、設計書情報、設計要素情報の関連を示す説明図。
【図３】同実施形態における開発フェーズを説明する説明図。
【図４】同実施形態における開発フェーズ、設計書、設計要素の関連を示す説明図。
【図５】同実施形態の動作を説明するフローチャート。
【図６】同実施形態の他の動作を説明するフローチャート。
【符号の説明】
【００４１】
１０…端末装置
２０…設計情報リポジトリ
３０…設計書リポジトリ
１０１…ワードプロセッサ部
１０２…設計要素抽出部
１０３…開発フェーズ登録部
１０４…設計書情報・設計要素情報登録部
１０５…帰属情報・要素間関連登録部
１０６…実現関係検索部
１０７…依存関係検索部
１０８…可視化部
【図１】
2007018334.tif 000003
【図２】
2007018334.tif 000004
【図３】
2007018334.tif 000005
【図４】
2007018334.tif 000006
【図５】
2007018334.tif 000007
【図６】
2007018334.tif 000008