(57)【要約】【課題】設計書全体に散在する非機能要件を、簡易に抽出し、出力する。【解決手段】設計書読込手段１１０が外部から設計書２１０を読み込み、関連情報検出手段１２０が、設計書読込手段１１０が読み込んだ設計書２１０から、非機能要件キーワードＤＢ１４０に非機能要件として記憶されているキーワードを検出し、出力手段１３０が、関連情報検出手段１２０が検出した結果を出力する。【選択図】図１
2011145808.tif 000002
【特許請求の範囲】
【請求項１】
システム・ソフトウェア開発で作成される設計書の作成を支援する設計書作成支援装置であって、
前記設計書を外部から読み込む設計書読込手段と、
非機能要件として定義されるキーワードをあらかじめ記憶するデータベースと、
前記設計書読込手段が読み込んだ設計書から、前記データベースに記憶されている前記キーワードを検出する関連情報検出手段と、
前記関連情報検出手段が検出した結果を出力する出力手段とを有する設計書作成支援装置。
【請求項２】
請求項１に記載の設計書作成支援装置において、
前記出力手段は、前記関連情報検出手段が検出したキーワードが含まれる設計書と、該設計書の中の該キーワードの記述内容と、該設計書の中の該キーワードが記載されている箇所を示す情報とを前記結果として出力することを特徴とする設計書作成支援装置。
【請求項３】
請求項１に記載の設計書作成支援装置において、
前記データベースは、前記キーワードと、該キーワードと関連する類似語とをあらかじめ対応付けてキーワード群として記憶し、
前記関連情報検出手段は、前記設計書読込手段が読み込んだ設計書から、前記データベースに記憶されている前記キーワードまたは前記類似語を検出することを特徴とする設計書作成支援装置。
【請求項４】
請求項３に記載の設計書作成支援装置において、
前記出力手段は、前記関連情報検出手段が検出したキーワードまたは類似語が含まれる設計書と、該設計書の中の該キーワードまたは該類似語の記述内容と、該設計書の中の該キーワードまたは該類似語が記載されている箇所を示す情報とを前記結果として出力することを特徴とする設計書作成支援装置。
【請求項５】
請求項１に記載の設計書作成支援装置において、
前記関連情報検出手段は、前記設計書の各段落について、前記キーワードが複数あるかどうかを検出し、
前記出力手段は、前記関連情報検出手段が、前記設計書の各段落について、前記キーワードが複数あることを検出した場合、該検出の結果を出力することを特徴とする設計書作成支援装置。
【請求項６】
請求項３に記載の設計書作成支援装置において、
前記関連情報検出手段は、前記キーワードまたは類似語を検出するためにあらかじめ設定された検出条件に基づいて、前記キーワードまたは類似語を検出することを特徴とする設計書作成支援装置。
【請求項７】
請求項１に記載の設計書作成支援装置において、
前記出力手段は、前記結果を表示することにより出力することを特徴とする設計書作成支援装置。
【請求項８】
システム・ソフトウェア開発で作成される設計書の作成を支援する設計書作成支援方法であって、
前記設計書を外部から読み込む処理と、
前記読み込んだ設計書から、あらかじめ登録された非機能要件として定義されるキーワードを検出する処理と、
前記検出した結果を出力する処理とを有する設計書作成支援方法。
【請求項９】
システム・ソフトウェア開発で作成される設計書の作成を支援する設計書作成支援装置に、
前記設計書を外部から読み込む手順と、
前記読み込んだ設計書から、あらかじめ登録された非機能要件として定義されるキーワードを検出する手順と、
前記検出した結果を出力する手順とを実行させるためのプログラム。
【請求項１０】
請求項１に記載の設計書作成支援装置と、
あらかじめ前記設計書が複数格納されたリポジトリとを有し、
前記設計書作成支援装置は、前記リポジトリから前記設計書を読み込むことを特徴とする設計書作成支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計書の記述内容を管理することにより設計書の作成を支援する設計書作成支援装置、設計書作成支援方法、プログラムおよび設計書作成支援システムに関し、特にシステム・ソフトウェア開発で作成される設計書の記述内容を管理することにより設計書の作成を支援する設計書作成支援装置、設計書作成支援方法、プログラムおよび設計書作成支援システムに関する。
【背景技術】
【０００２】
一般的に、システム・ソフトウェア開発で作成される設計書の記述内容の確認を行う代表的な手段として、一部の設計書の変更に伴う関連設計書の修正を短時間で検索する技術が考えられている（例えば、特許文献１参照。）。
【０００３】
この技術は、設計書間のクロスリファレンスをあらかじめ定義して変更範囲の特定を容易にする手段、または設計書の章とその部分が変更されると修正を必要とする部分とがあらかじめ記載されているＤＢ（データベース：ＤａｔａＢａｓｅ）を用いて検索を行う手段がある。
【０００４】
また、一般的な統合開発環境ツールには設計書間の関係が可視化されている製品も数多く存在する。
【０００５】
また、設計書を１行単位で読み込み、その中の単語をキーワードとして登録し、他の設計書内にそのキーワードがどの程度含まれているかを数値で表すことにより、元の設計書と他の設計書との関係を自動的に導き出すことにより、設計書の作成を支援する技術が考えられている（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−１０５３９０号公報
【特許文献２】特開２００８−１９２０５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
システム・ソフトウェア開発において作成される設計書には、通常、そのシステムやソフトウェアが満たさなければならない機能（機能要件）が中心に記載されている。このため、機能全体に関係する性能や信頼性、拡張性、セキュリティなど、機能要件以外の非機能要件に関しては、横断的に散在して記載されるのが通常である。そのため、非機能要件については、
・設計書に過不足なく網羅的に記載されているのか
・どの設計書のどの部分に該当する非機能要件が記載されているのか
・設計が進むに従い、適切に反映されているのか
を全ての設計書から目視で確認することは煩雑な作業となり、困難である。
【０００８】
そこで、非機能要件に関して、
・過不足なく設計書に記載されていること
・上流の設計書に記載された記述が、下流の設計書に反映されていること
を簡易に確認するための手段が必要となる。
【０００９】
しかしながら、一般的な統合開発環境ツールなどでは機能要件を中心に設計書を管理しているため、設計書全体に散在する非機能要件の内容を簡易に抜き出し、出力することができないという問題点がある。
【００１０】
また、特許文献２に記載された技術においては、キーワードを設計書から抽出し、抽出したキーワードに関する情報を出力するまでに時間がかかってしまうという問題点がある。
【００１１】
本発明の目的は、上述した課題を解決する設計書作成支援装置、設計書作成支援方法、プログラムおよび設計書作成支援システムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の設計書作成支援装置は、
システム・ソフトウェア開発で作成される設計書の作成を支援する設計書作成支援装置であって、
前記設計書を外部から読み込む設計書読込手段と、
非機能要件として定義されるキーワードをあらかじめ記憶するデータベースと、
前記設計書読込手段が読み込んだ設計書から、前記データベースに記憶されている前記キーワードを検出する関連情報検出手段と、
前記関連情報検出手段が検出した結果を出力する出力手段とを有する。
【００１３】
また、本発明の設計書作成支援方法は、
システム・ソフトウェア開発で作成される設計書の作成を支援する設計書作成支援方法であって、
前記設計書を外部から読み込む処理と、
前記読み込んだ設計書から、あらかじめ登録された非機能要件として定義されるキーワードを検出する処理と、
前記検出した結果を出力する処理とを有する。
【００１４】
また、本発明のプログラムは、
システム・ソフトウェア開発で作成される設計書の作成を支援する設計書作成支援装置に実行させるためのプログラムであって、
前記設計書を外部から読み込む手順と、
前記読み込んだ設計書から、あらかじめ登録された非機能要件として定義されるキーワードを検出する手順と、
前記検出した結果を出力する手順とを実行させる。
【００１５】
また、本発明の設計書作成支援システムは、
設計書作成支援装置と、
あらかじめ前記設計書が複数格納されたリポジトリとを有し、
前記設計書作成支援装置は、前記リポジトリから前記設計書を読み込むことを特徴とする。
【発明の効果】
【００１６】
以上説明したように、本発明においては、設計書全体に散在する非機能要件を、簡易に抽出し、出力することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の設計書作成支援装置を用いた設計書作成支援システムの一形態を示す図である。
【図２】図１に示した非機能要件キーワードＤＢの内部構造の一例を示す図である。
【図３】本形態における設計書作成支援方法を説明するためのフローチャートである。
【図４】図３に示したフローチャートを用いて説明したステップＳ３０の詳細な処理の一例を説明するためのフローチャートである。
【図５】図１に示した関連情報検出手段に設定された検出条件の一例を示す図である。
【図６】重み付けを用いた場合の図３に示したフローチャートを用いて説明したステップＳ３０の詳細な処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１９】
図１は、本発明の設計書作成支援装置を用いた設計書作成支援システムの一形態を示す図である。
【００２０】
本形態は図１に示すように、支援装置１０と、リポジトリである開発物件リポジトリ２０とから構成されている。
【００２１】
開発物件リポジトリ２０には、複数の設計書２１０があらかじめ格納されている。
【００２２】
支援装置１０は、システム・ソフトウェア開発で作成される設計書の作成を支援する設計書作成支援装置であり、開発物件リポジトリ２０等の外部から設計書を読み込み、読み込んだ設計書から非機能要件の記述内容を出力する。
【００２３】
ここで、非機能要件とは、機能全体に関係する性能や信頼性、拡張性、セキュリティなど、機能要件以外のもの全般のことであり、ソフトウェア開発では一般的に用いられているものである。
【００２４】
また、支援装置１０には、設計書読込手段１１０と、関連情報検出手段１２０と、出力手段１３０と、非機能要件キーワードＤＢ１４０とが設けられている。
【００２５】
設計書読込手段１１０は、開発物件リポジトリ２０等の外部から設計書２１０を読み込む。また、設計書読込手段１１０は、読み込んだ設計書２１０を関連情報検出手段１２０へ出力する。
【００２６】
関連情報検出手段１２０は、非機能要件キーワードＤＢ１４０に格納（記憶）されている非機能要件キーワードを読み込む。そして、関連情報検出手段１２０は、設計書読込手段１１０から出力されてきた設計書２１０から、非機能要件キーワードＤＢ１４０から読み込んだ非機能要件キーワードを検出する。
【００２７】
また、関連情報検出手段１２０は、非機能要件キーワードＤＢ１４０に格納（記憶）されている非機能要件キーワードおよび類似語を読み込む。そして、関連情報検出手段１２０は、設計書読込手段１１０から出力されてきた設計書２１０から、非機能要件キーワードＤＢ１４０から読み込んだ非機能要件キーワードまたは類似語を検出する。
【００２８】
また、関連情報検出手段１２０は、設計書読込手段１１０から出力されてきた設計書２１０の各段落について、非機能要件キーワードＤＢ１４０から読み込んだ非機能要件キーワードが複数あるかどうかを検出する。
【００２９】
また、関連情報検出手段１２０は、非機能要件キーワードまたは類似語を検出するためにあらかじめ設定された検出条件に基づいて、設計書読込手段１１０から出力されてきた設計書２１０から、非機能要件キーワードまたは類似語を検出する。
【００３０】
また、関連情報検出手段１２０は、検出した結果を出力手段１３０へ出力する。このとき、関連情報検出手段１２０は、検出した非機能要件キーワードまたは類似語が含まれる設計書２１０と、設計書２１０の中の非機能要件キーワードまたは類似語の記述内容と、設計書２１０の中の非機能要件キーワードまたは類似語が記載されている箇所を示す情報とを結果として出力手段１３０へ出力する。また、関連情報検出手段１２０は、非機能要件キーワードまたは類似語を設計書２１０から検出できなかった場合、その旨を結果として出力手段１３０へ出力する。
【００３１】
出力手段１３０は、関連情報検出手段１２０から出力されてきた検出結果を出力する。また、出力手段１３０は、関連情報検出手段１２０が、設計書２１０の各段落について、非機能要件キーワードが複数あることを検出した場合、その検出の結果を出力する。なお、これらの出力手段１３０における結果の出力方法は、結果をディスプレイ等の画面に表示するものである。
【００３２】
非機能要件キーワードＤＢ１４０は、非機能要件として一般的に定義される非機能要件キーワードであるキーワードと、その周辺用語（キーワードと関連する類似語）とを対応付けてキーワード群として格納（記憶）するデータベースである。なお、これらのキーワードや類似語は、あらかじめ登録されているものである。
【００３３】
図２は、図１に示した非機能要件キーワードＤＢ１４０の内部構造の一例を示す図である。
【００３４】
図１に示した非機能要件キーワードＤＢ１４０には図２に示すように、非機能要件カテゴリと、キーワードと、類似語１〜３とがあらかじめ対応付けられてそれぞれキーワード群として格納されている。なお、非機能要件キーワードＤＢ１４０は、非機能要件キーワードとなるキーワードのみが格納されているものであっても良い。
【００３５】
非機能要件カテゴリは、非機能要件の種別を示すものであり、例えば、セキュリティ、性能、可用性のように分類される。
【００３６】
キーワード（非機能要件キーワード）は、非機能要件を定義する上で、頻繁に使用される用語である。
【００３７】
類似語１〜３は、キーワードと関連して用いられる周辺用語である。
【００３８】
例えば、図２に示すように、非機能要件カテゴリ「セキュリティ」と、キーワード「認証」と、類似語１「ＩＤ」と、類似語２「ログイン名」と、類似語３「ユーザ識別子」とが対応付けられてキーワード群として格納されている。これは、セキュリティの非機能要件カテゴリに分類されたキーワード「認証」と関連する類似語が、「ＩＤ」、「ログイン名」および「ユーザ識別子」であることを示している。これらが関連情報検出手段１２０によって読み込まれることにより、関連情報検出手段１２０にて設計書読込手段１１０から出力されてきた設計書２１０の中に、「認証」または「ＩＤ」または「ログイン名」または「ユーザ識別子」が検出された場合、その検出結果が関連情報検出手段１２０から出力手段１３０へ出力される。また、非機能要件カテゴリ「セキュリティ」と、キーワード「暗号化」と、類似語１「秘匿」と、類似語２「ＳＳＬ」と、類似語３「ＶＰＮ」とが対応付けられてキーワード群として格納されている。これは、セキュリティの非機能要件カテゴリに分類されたキーワード「暗号化」と関連する類似語が、「秘匿」、「ＳＳＬ」および「ＶＰＮ」であることを示している。これらが関連情報検出手段１２０によって読み込まれることにより、関連情報検出手段１２０にて設計書読込手段１１０から出力されてきた設計書２１０の中に、「暗号化」または「秘匿」または「ＳＳＬ」または「ＶＰＮ」が検出された場合、その検出結果が関連情報検出手段１２０から出力手段１３０へ出力される。また、非機能要件カテゴリ「性能」と、キーワード「処理時間」と、類似語１「割り当て時間」と、類似語２「占有時間」と、類似語３「μｓｅｃ」とが対応付けられてキーワード群として格納されている。これは、性能の非機能要件カテゴリに分類されたキーワード「処理時間」と関連する類似語が、「割り当て時間」、「占有時間」および「μｓｅｃ」であることを示している。これらが関連情報検出手段１２０によって読み込まれることにより、関連情報検出手段１２０にて設計書読込手段１１０から出力されてきた設計書２１０の中に、「処理時間」または「割り当て時間」または「占有時間」または「μｓｅｃ」が検出された場合、その検出結果が関連情報検出手段１２０から出力手段１３０へ出力される。
【００３９】
以下に、本形態における設計書作成支援方法について説明する。
【００４０】
図３は、本形態における設計書作成支援方法を説明するためのフローチャートである。
【００４１】
まず、設計書読込手段１１０によって、開発物件リポジトリ２０等の外部から設計書２１０が読み込まれる（ステップＳ１０）。ここで、設計書読込手段１１０によって読み込みが行われるのは複数の設計書２１０が格納された開発物件リポジトリ２０だけでなく、１つの設計書であっても、また作成途中の設計書であっても構わない。設計書読込手段１１０によって読み込まれた設計書２１０は、設計書読込手段１１０から関連情報検出手段１２０へ出力される。
【００４２】
また、関連情報検出手段１２０によって、非機能要件キーワードＤＢ１４０から非機能要件キーワードが読み込まれる（ステップＳ２０）。具体的には、図２に示したキーワードだけではなく、当該キーワードと対応付けられた類似語１〜３も共にキーワード群として読み込まれる。なお、非機能要件キーワードＤＢ１４０に、非機能要件キーワードのみが格納されている場合は、キーワードである非機能要件キーワードのみが読み込まれるものであっても良い。
【００４３】
続いて、関連情報検出手段１２０によって、設計書読込手段１１０から出力されてきた設計書２１０から、非機能要件キーワードＤＢ１４０から読み込まれた非機能要件キーワードまたは類似語が関連情報として検出される（ステップＳ３０）。これらが検出されると、検出された非機能要件キーワードまたは類似語を含む設計書と、設計書の中の非機能要件キーワードまたは類似語の記述内容と、設計書の中の非機能要件キーワードまたは類似語が記載されている箇所を示す情報とが結果として関連情報検出手段１２０から出力手段１３０へ出力される。
【００４４】
すると、関連情報検出手段１２０から出力されてきた結果が、出力手段１３０によって出力（表示）される（ステップＳ４０）。
【００４５】
図４は、図３に示したフローチャートを用いて説明したステップＳ３０の詳細な処理の一例を説明するためのフローチャートである。
【００４６】
ステップＳ２０の処理の後、関連情報検出手段１２０にて、設計書読込手段１１０から出力されてきた設計書２１０の中に、非機能要件キーワードＤＢ１４０から読み込まれたキーワードと周辺用語（類似語）とを合わせたキーワード群があるかどうかが判断される（ステップＳ３０１）。
【００４７】
関連情報検出手段１２０にて、設計書読込手段１１０から出力されてきた設計書２１０の中に、非機能要件キーワードＤＢ１４０から読み込まれたキーワードと周辺用語（類似語）とを合わせたキーワード群があると判断された場合、そのキーワード群が設計書２１０から検出される（ステップＳ３０２）。このとき、設計書２１０の同一段落の中に、該当するキーワード群が複数存在する場合（ステップＳ３０２のＹｅｓ）、関連情報検出手段１２０によって、その段落は非機能要件の要素が強いと判断され、検出された設計書名と該当部分とが結果出力用に保持される（ステップＳ３０３）。
【００４８】
また、設計書２１０の同一段落の中に、該当するキーワード群が複数存在しない場合（ステップＳ３０２のＮｏ）、ステップＳ３０１の処理が行われる。
【００４９】
また、設計書読込手段１１０から出力されてきた設計書２１０の中に、非機能要件キーワードＤＢ１４０から読み込まれたキーワードと周辺用語（類似語）とを合わせたキーワード群がなくなった場合（ステップＳ３０１のＮｏ）、処理が終了する。つまり、これまで保持されていた結果が関連情報検出手段１２０から出力手段１３０へ出力され、ステップＳ４０の処理が行われる。
【００５０】
このように、非機能要件として扱われるキーワードやその周辺用語を設計書から検出し、出力（表示）するため、設計書全体に散在する非機能要件の内容を目視確認に頼ることなく、簡易に抜き出し、表示することが可能となる。
【００５１】
また、検出の際、関連情報検出手段１２０にてキーワードや類似語に所定の重み付けを付与し、その重み付けに応じた検出条件（ルール）を用いるものであっても良い。
【００５２】
図５は、図１に示した関連情報検出手段１２０に設定された検出条件の一例を示す図である。
【００５３】
図５に示すように、図１に示した関連情報検出手段１２０には、複数の検出条件と、それに対応するレベルとが対応付けられて設定されている。これらは、あらかじめ定義され、設定されているものである。
【００５４】
レベルとは、設計書から非機能要件に関する記述を抜き出すためのレベルを示す。
【００５５】
検出条件とは、それぞれのレベルに応じた検出条件を示す。
【００５６】
例えば、レベル「該当箇所」と、検出条件「キーワード検出箇所」とが対応付けられて設定されている。これは、関連情報検出手段１２０によって設計書からキーワード（非機能要件キーワード）が検出された場合、そのレベルは「該当箇所」であることを示している。また、レベル「関連箇所」と、検出条件「類似語１検出箇所」とが対応付けられて設定されている。これは、関連情報検出手段１２０によって設計書から類似語１が検出された場合、そのレベルは「関連箇所」であることを示している。また、レベル「参考箇所」と、検出条件「類似語１〜３のうち２つ以上検出」とが対応付けられて設定されている。これは、関連情報検出手段１２０によって設計書から類似語１〜３のうち２つ以上が検出された場合、そのレベルは「参考箇所」であることを示している。
【００５７】
図６は、上述した重み付けを用いた場合の図３に示したフローチャートを用いて説明したステップＳ３０の詳細な処理の一例を説明するためのフローチャートである。
【００５８】
図６に示したフローチャートにおける処理は、図４に示したフローチャートにおける処理のうち、キーワードの検出方法（ステップＳ３０２の処理がステップＳ３０４の処理）と、結果の保持方法（ステップＳ３０３の処理がステップＳ３０５の処理）とが変更になったものである。
【００５９】
ステップＳ３０１の処理にて、キーワード群がある場合、そのキーワードについて重み付けが設定されているかどうかが、関連情報検出手段１２０によって判断される（ステップＳ３０４）。
【００６０】
重み付けが設定されていると判断された（重み付けが検出された）場合（ステップＳ３０４のＹｅｓ）、幾つかのレベルの結果が複数保持される（ステップＳ３０５）。
【００６１】
このように、検出条件を定義したルールを用いてキーワードを検出するため、用語が統一されていないような場合であっても、設計書の該当部分を広く検出することが可能となる。
【００６２】
なお、上述した支援装置１０の処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したプログラムを支援装置１０にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを支援装置１０に読み込ませ、それぞれ実行するものであっても良い。支援装置１０にて読取可能な記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、支援装置１０に内蔵されたＲＯＭ、ＲＡＭ等のメモリやＨＤＤ等を指す。この記録媒体に記録されたプログラムは、支援装置１０内のＣＰＵ（不図示）にて読み込まれ、ＣＰＵの制御によって、上述したものと同様の処理が行われる。ここで、ＣＰＵは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【００６３】
以上説明したように本発明においては、設計書全体に散在する非機能要件の内容を目視確認に頼ることなく、簡易抜き出し、表示できる。その理由は、非機能要件として扱われるキーワードやその周辺用語を設計書から検索し、出力する手段があるためである。
【符号の説明】
【００６４】
１０    支援装置
２０    開発物件リポジトリ
１１０    設計書読込手段
１２０    関連情報検出手段
１３０    出力手段
１４０    非機能要件キーワードＤＢ
２１０    設計書
【図１】
2011145808.tif 000003
【図２】
2011145808.tif 000004
【図３】
2011145808.tif 000005
【図４】
2011145808.tif 000006
【図５】
2011145808.tif 000007
【図６】
2011145808.tif 000008