(57)【要約】【課題】各々の開発システムの記述すべき項目への選択的記述が、正しくなされているかどうかを確認することができるソフトウェア要求仕様書作成支援システムおよび方法を提供する。【解決手段】サーバ７内に、要求仕様書のテンプレートを格納する要求仕様書テンプレートテーブル１と、既存の製品システムを雛型として使用するか否かを示すデータを格納する製品システムテーブル２と、要求仕様書のデータを格納する要求仕様書データテーブル３と、未記入の項目を抽出する処理を行う未記入項目抽出処理部４と、要求仕様書に記述すべき内容を入力及び表示する処理を行う要求仕様書入力／表示処理部５と、開発システムの機能要求の入力により、当該機能要求に対して記述及び検討すべき非機能要求項目を抽出し、要求仕様書に記述すべき項目として設定する処理を行う機能／非機能対応付け処理部６が設けられ、クライアント９からサーバにアクセスして要求項目の入力を行う。【選択図】図１
2007305051.tif 000002
【特許請求の範囲】
【請求項１】
要求仕様書の各入力項目をテンプレートとして格納する第１の記憶手段と、
要求仕様書の入力内容を格納する第２の記憶手段と、
開発システムの機能要求の入力により、当該機能要求に対して記述及び検討すべき非機能要求項目を抽出し、要求仕様書に記述すべき入力項目として設定し、前記第１の記憶手段に格納されていたテンプレートを開発システムに適合するよう処理する機能／非機能対応付け処理手段と、
要求項目を入力する際に既存データや参照データを使用しない場合には、適合化された前記テンプレートにしたがって要求項目を入力する要求項目入力手段と、
入力項目の各々において入力の進捗度を前記第２の記憶手段に設定する進捗度設定手段と、
前記第２の記憶手段を検索して入力が未記入の項目を抽出する未記入項目抽出処理手段と、
を備えることを特徴とするソフトウェア要求仕様書作成支援システム。
【請求項２】
前記未記入項目抽出処理手段は、入力が未記入の項目を抽出しリスト化して出力することを特徴とする請求項１記載のソフトウェア要求仕様書作成支援システム。
【請求項３】
前記未記入項目抽出処理手段は、入力が完了した項目と入力が未記入の項目から入力の完了度を示す充足率を算出し表示することを特徴とする請求項１記載のソフトウェア要求仕様書作成支援システム。
【請求項４】
要求項目を入力する際に既存データや参照データを使用する場合には、前記第２の記憶手段に格納された既存の要求仕様書データを使用することを特徴とする請求項１記載のソフトウェア要求仕様書作成支援システム。
【請求項５】
前記第２の記憶手段に設定される入力の進捗度は、フラグによって設定されることを特徴とする請求項１記載のソフトウェア要求仕様書作成支援システム。
【請求項６】
要求仕様書の各入力項目をテンプレートとして第１の記憶手段に格納する過程と、
開発システムの機能要求の入力により、当該機能要求に対して記述及び検討すべき非機能要求項目を抽出し、要求仕様書に記述すべき入力項目として設定し、前記第１の記憶手段に格納されていたテンプレートを開発システムに適合するよう処理する過程と、
要求項目を入力する際に既存データや参照データを使用しない場合には、適合化された前記テンプレートにしたがって要求項目を入力する過程と、
入力項目の各々において入力の進捗度を第２の記憶手段に設定する過程と、
前記入力が未記入になっている項目を前記第２の記憶手段を検索して抽出する過程と、
を含むことを特徴とするソフトウェア要求仕様書作成支援方法。
【請求項７】
入力が未記入の項目を抽出しリスト化して出力する過程を含むことを特徴とする請求項６記載のソフトウェア要求仕様書作成支援方法。
【請求項８】
入力が完了した項目と入力が未記入の項目から入力の完了度を示す充足率を算出し表示する過程を含むことを特徴とする請求項６記載のソフトウェア要求仕様書作成支援方法。
【請求項９】
要求項目を入力する際に既存データや参照データを使用する場合には、前記第２の記憶手段に格納された既存の要求仕様書データを使用する過程を含むことを特徴とする請求項６記載のソフトウェア要求仕様書作成支援方法。
【請求項１０】
品質特性に基づく詳細項目を品質特性表に設定する手段と、
要求仕様書の各入力項目を第１のテンプレートとして格納する第１の記憶手段と、
要求仕様書の入力内容を格納する第２の記憶手段と、
設定した前記品質特性表を読み出す品質特性表読出し手段と、
前記第１の記憶手段に格納された前記第１のテンプレートを複製し、複製した前記テンプレートを用いて開発システムの機能要求を入力する機能要求入力手段と、
読み出した前記品質特性表の前記詳細項目に対して入力された前記機能要求毎に検討の必要性の要否を評価し、検討の必要性があれば対応する項目に検討事項を入力する検討事項入力手段と、
入力された前記検討事項を前記機能要求と関連付けて記憶する第３の記憶手段と、
前記第３の記憶手段に記憶された前記検討事項をもとに要求仕様書に記述すべき入力項目として提示する第２のテンプレートを作成し、該第２のテンプレートに基づいて入力項目を要求仕様書に設定する入力項目設定手段と、
入力項目の各々において入力の進捗度を前記第２の記憶手段に設定する進捗度設定手段と、
前記第２の記憶手段を検索して入力が未記入の項目を抽出する未記入項目抽出処理手段と、
を備えることを特徴とするソフトウェア要求仕様書作成支援システム。
【請求項１１】
品質特性に基づく詳細項目を品質特性表に設定する過程と、
要求仕様書の各入力項目を第１のテンプレートとして第１の記憶手段に格納する過程と、
設定された前記品質特性表を読み出す過程と、
前記第１の記憶手段に格納された前記第１のテンプレートを複製し、複製した前記テンプレートを用いて開発システムの機能要求を入力する過程と、
読み出した前記品質特性表の前記詳細項目に対して入力された前記機能要求毎に検討の必要性の要否を評価し、検討の必要性があれば対応する項目に検討事項を入力する過程と、
入力された前記検討事項をもとに要求仕様書に記述すべき入力項目として提示する第２のテンプレートを作成し、該第２のテンプレートに基づいて入力項目を要求仕様書に設定する過程と、
入力項目の各々において入力の進捗度を前記第２の記憶手段に設定する過程と、
前記入力が未記入の項目を前記第２の記憶手段を検索して抽出する過程と、
を含むことを特徴とするソフトウェア要求仕様書作成支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア要求仕様書等の上位プロセスにおけるドキュメント作成において、機能要求及び非機能要求に係る入力項目について要求仕様書の記述における漏れや抜けを大幅に低減することを可能とするソフトウェア要求仕様書の作成支援技術に関する。
【背景技術】
【０００２】
従来、IEEE830-1998では、ソフトウェア要求仕様書への推奨すべき記述項目や、構成方法が標準として示されており、これまでにも広く用いられている。また、ソフトウェアの信頼性や性能などの非機能特性にかかる要件及び要求項目を抽出し、ソフトウェア要求仕様書の作成支援に用いる手法としては、例えば下記特許文献１に示されるように、機能要求及び非機能要求を抽出してソフトウェア要求仕様書の作成を支援する場合、多様な非機能要求をソフトウェア設計の根拠としてソフトウェア設計に反映し、かつ抽出したソフトウェア設計の非機能特性にかかる要件を分類整理して採用すべきソフトウェア設計の非機能特性にかかる要件を効率的に決定することが提案されている。
【０００３】
また機能要求項目と非機能要求項目を対応付けて要求仕様書に記述すべき項目を抽出し、入力必須項目として設定する技術が下記特許文献２に示唆されているが、その具体的な方法までは開示されていない。
【特許文献１】特開２００３−２５６２０５号公報
【特許文献２】特開２００２−２３０３７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来の方法を用いて記述項目を選定し、一定のフォーマットでの記述をユーザに促す際に、開発システムにより要求項目に記述すべき内容がない場合がある。このため、上述の手法だけでは、各々の開発システムの記述すべき項目への選択的記述が、正しくなされているかどうかを確認することができない。つまり、検討漏れや、記述漏れにより記述がなされていないのか、該当する記述内容がない（記述の必要がない）のかを区別することができないため、要求仕様書の完成度を簡便に測ることができないという課題があった。
【０００５】
そこで本発明は、各々の開発システムの記述すべき項目への選択的記述が、正しくなされているかどうかを確認することができるソフトウェア要求仕様書作成支援システムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この課題を解決するために本発明は、要求仕様書の各入力項目をテンプレートとして格納する第１の記憶手段と、要求仕様書の入力内容を格納する第２の記憶手段と、開発システムの機能要求の入力により、当該機能要求に対して記述及び検討すべき非機能要求項目を抽出し、要求仕様書に記述すべき入力項目として設定し、前記第１の記憶手段に格納されていたテンプレートを開発システムに適合するよう処理する機能／非機能対応付け処理手段と、要求項目を入力する際に既存データや参照データを使用しない場合には、適合化された前記テンプレートにしたがって要求項目を入力する要求項目入力手段と、入力項目の各々において入力の進捗度を前記第２の記憶手段に設定する進捗度設定手段と、前記第２の記憶手段を検索して入力が未記入の項目を抽出する未記入項目抽出処理手段と、を備えることを特徴とする。
【０００７】
また本発明は、品質特性に基づく詳細項目を品質特性表に設定する手段と、要求仕様書の各入力項目を第１のテンプレートとして格納する第１の記憶手段と、要求仕様書の入力内容を格納する第２の記憶手段と、設定された前記品質特性表を読み出す品質特性表読出し手段と、前記第１の記憶手段に格納された前記第１のテンプレートを複製し、複製した前記テンプレートを用いて開発システムの機能要求を入力する機能要求入力手段と、読み出した前記品質特性表の前記詳細項目に対して入力された前記機能要求毎に検討の必要性の要否を評価し、検討の必要性があれば対応する項目に検討事項を入力する検討事項入力手段と、入力された前記検討事項を前記機能要求と関連付けて記憶する第３の記憶手段と、前記第３の記憶手段に記憶された前記検討事項をもとに要求仕様書に記述すべき入力項目として提示する第２のテンプレートを作成し、該第２のテンプレートに基づいて入力項目を要求仕様書に設定する入力項目設定手段と、入力項目の各々において入力の進捗度を前記第２の記憶手段に設定する進捗度設定手段と、前記第２の記憶手段を検索して入力が未記入の項目を抽出する未記入項目抽出処理手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明により、開発システム毎に要求仕様書に記述すべき適切な非機能要求項目の抽出を可能とするだけでなく、システム毎に入力すべき項目が異なるような状況においても、未記入項目を簡単に抽出することで、要求仕様書の記述における抜けや漏れを大幅に低減することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を、図面を参照しながら説明する。
［第１の実施の形態］
図１は、本発明の第１の実施形態に係る要求仕様書作成支援システムの構成概要を示すブロック図である。図１において本発明の第１の実施形態に係る要求仕様書作成支援システムは、要求仕様書のテンプレートを格納する要求仕様書テンプレートテーブル１と、既存の製品システムを雛型として使用するか否かを示すデータを格納する製品システムテーブル２と、要求仕様書のデータを格納する要求仕様書データテーブル３と、要求仕様書データテーブル３を検索して入力が未記入の項目を抽出する処理を行う未記入項目抽出処理部４と、要求仕様書に記述すべき内容を入力及び表示する処理を行う要求仕様書入力／表示処理部５と、開発システムの機能要求の入力により当該機能要求に対して検討すべき非機能要求項目を抽出し要求仕様書に記述すべき項目として設定する処理を行う機能／非機能対応付け処理部６と、機能特性を階層化して詳細機能について各種の属性項目を格納する機能特性テーブル１１と、非機能特性を階層化して品質属性（ISO/IEC9126の品質特性をデフォルトで設定）毎に品質特性をブレイクダウンして詳細データ（シナリオデータ及び属性項目）を格納する非機能特性テーブル１２と、機能特性と非機能特性の関連を定義する関連テーブル１３と、機能特性と非機能特性との関連設定並びに属性データの設定および論理チェックを行う関連設定・チェック処理部１４と、機能特性と非機能特性の関連を表示するマッピング情報表示処理部１５と、プログラム(図示せず)を格納し上記各処理部の処理動作を行うサーバ７と、サーバ７とクライアント９を連携するネットワーク８と、ネットワーク８経由でサーバ７に繋がれ、データの入力や処理の起動、データの表示を行うクライアント９から構成されている。
【００１０】
開発システムの要求仕様書作成支援に先立ち、すなわち事前に、機能特性テーブル１１に機能特性を階層化した上で、詳細機能について各種の属性項目を登録しておく。また非機能特性テーブル１２に非機能特性を階層化して品質属性毎に品質特性をブレイクダウンして詳細データを登録しておく。さらにマッピング情報表示処理部１５で機能特性と非機能特性をマットリックス化して表示し、表示されたマトリクスに関連設定・チェック処理部１４で関連テーブル１３に設定された内容にしたがって機能特性と非機能特性の関連付けを行って機能/非機能対応付けテーブル６２（図２参照）に登録し（図４参照）、また関連設定・チェック処理部１４を用いて関連付けた内容の確認や変更を行えるようにする（図５参照）。なお本発明は、機能特性と非機能特性を対応付けながら機能特性および非機能特性の設計詳細化を行うことを目指すものではないので、機能特性テーブル１１、非機能特性テーブル１２及び関連テーブル１３の構造、並びに関連設定・チェック処理部１４及びマッピング情報表示処理部１５の処理動作の詳細には触れないが、必要であれば本件出願人により先に出願された特願２００５−２４６４７５（２００５年８月２６日出願）を参照されたい。また、非機能特性テーブル１２の展開項目例、関連テーブル１３の展開項目例については図５を参照されたい。
【００１１】
図２は、本発明の第１の実施形態に係る要求仕様書作成支援システムに用いる各種テーブルの構造を示す図である。図２において要求仕様書テンプレートテーブル１は、要求仕様書のテンプレートの内容を格納するテーブルで、格納すべきデータ項目としては、ＩＤコード別に、章、項、記述すべき項目の各入力項目が設けられている。要求仕様書テンプレートテーブル１に展開されている要求仕様書のテンプレートについて具体的に説明すると、要求仕様書のテンプレートには、「１章  はじめに」と、「２章  機能概要」、その下位項目「２章１項  開発の背景と目的」、「２章２項  製品の機能と対象ユーザ」などの項目が設けられ、それらの項目内に記述を行う。
【００１２】
製品システムテーブル２は、システムＮＯ（ナンバー）、システム名のほか、既存の製品システムを雛型として使用するか否かを示すデータを格納するテーブルで、雛型としての使用を示すデータの入力、すなわち雛形フラグの設定により、要求仕様書データテーブル３から必要なデータを抽出して雛型として使用し、新たな開発システムの要求仕様の入力支援を可能としている。図内の製品システムテーブルの例では、システムＮＯ「３」、システム名「CCCC」という既存の製品システムを雛型として利用する場合について例示している。
【００１３】
要求仕様書データテーブル３は、要求仕様書のデータを格納するテーブルで、各開発システムの要求仕様として入力されたデータは、システムＮＯ、システム名のほか、要求仕様書の章、項、記述内容、入力の必要性の有無を示すフラグ（‘１’なら要、‘０’なら無）、及び記述内容の入力を終了したか否かを示す進捗フラグ（‘１’なら完了、‘０’なら未完了）の項目が展開されている。図内の要求仕様書データテーブルの例では、ID:1のAAAAシステムの１章については入力が必要で、当該項目への入力が完了していることを示している。一方、ID:2のAAAAシステムの２章については入力が必要だが、当該項目への入力が完了していないことを示している。さらに、ID:m-1のEEEEシステムの４章２項については入力が不要であることを示している。
【００１４】
機能/非機能対応付けテーブル６２は、機能特性と非機能特性との対応付けを示すテーブルで、図１に示されるサーバ７内のマッピング情報表示処理部１５で機能特性と非機能特性の具体項目名を図４左欄のように画面表示し、さらに図４右欄のように画面表示された機能特性と非機能特性の下位１レベルについてマトリクス表示する。その上で図１に示されるサーバ７内の関連設定・チェック処理部１４で両機能の対応付け（対応関係を黒丸‘●’で表示する）を行い、対応付けられた内容をテーブルに格納したものである。図内の機能/非機能対応付けテーブル例では、機能特性の「操作」という機能要求に対し、非機能特性の品質特性として非機能要求項目「操作モードを容易に設定できること」、「少ない操作でできること」、「払い出しが高速にできること」が対応付けられていることを示している。
【００１５】
図３は、本発明の第１の実施形態に係る要求仕様書作成支援システムの処理動作を説明するためのフローチャートである。図３の説明においては図１の構成および図２の各種テーブルを適宜参照する。図３の説明に入る前に、まず開発システムの要求仕様書作成支援に先立ち、図１に示すクライアント９が、事前に、要求仕様書のテンプレートを作成してサーバ７内の要求仕様書テンプレートテーブル１に登録しておく。また要求仕様書テンプレート内の各要求項目の記述内容についても要求仕様書テンプレートテーブル１に登録しておく。なお要求仕様書テンプレートとしては、例えばIEEE830-1998等で規定されている標準フォーマット、自社内で規定した標準フォーマットに相当するもの等を使用することができる。
【００１６】
ここから図３の説明に入る。なお図ではステップをＳと略記する（以下の図においても同様である）。要求仕様書の作成を行うユーザは、図１のクライアント９からネットワーク８を介してサーバ７にログインすることで、クライアント９には入力画面（図示せず）が表示される。サーバ７はクライアント９からログインがあったことで事前に要求仕様書テンプレートテーブル１に登録しておいた要求仕様書のテンプレートを読み込む。次いで要求仕様書の作成を行うユーザは、開発システムの名称を入力する（ステップ１）。
【００１７】
次に、開発システムの入力項目の設定を行うために要求仕様書の作成を行うユーザは開発システムが有する機能(機能要求)を入力する（ステップ２）。そして開発システムの機能要求項目と非機能要求項目の対応付け処理により、要求仕様書テンプレートテーブル１に登録されていたテンプレートの入力項目を開発システムに適合するように入力項目の設定を行う（ステップ３）。つまり図１に示した機能／非機能対応付け処理部６が、機能／非機能対応付けテーブル６２を参照して、入力された開発システムの機能要求項目についてマトリクスから一致もしくは類似する機能特性に関連付けられた非機能特性を抽出し、抽出した非機能要求の内容を要求仕様書の入力項目として設定し、要求仕様書テンプレートテーブル１に登録されていたテンプレートを開発システムに適合させるようにする。
【００１８】
つぎに要求仕様書の作成を行うユーザは、要求仕様書へのデータ入力に際して、ステップ４で既存データを参照しないかを判断する。既存データ、すなわち要求仕様書データテーブル３に登録されている過去に作成したデータを参照する場合は（ステップ５）、過去データの同類の項目を選択的に抽出して入力画面に表示しユーザに使用するか否かの判断を行わせる（ステップ６）。ステップ６でユーザが参照データを使用しない場合には、ステップ８に進み、またユーザが参照データを使用する場合には、ステップ７に進み、ステップ７において選択的に抽出した過去データの同類の項目に係る参照データを入力する。その際、ユーザは同じデータを使用することもできる（ステップ７）。なお同じデータの中には製品システムテーブル２の雛型フラグが設定されているシステムであれば要求仕様書データテーブル３に登録されている既存の製品システムの要求仕様書データを雛型として使用することも含まれる。一方、ステップ４の判断で既存データ、すなわち過去のデータを参照しない場合、および、ステップ６の判断でユーザが参照データを使用しない場合は、ステップ８においてユーザは適合化されたテンプレートに従い要求項目、すなわち要求仕様として必要な内容、を入力する。したがってステップ３において設定された入力項目に対する詳細、もしくは検討結果が要求仕様書に記述されることになる。この場合、要求仕様書に記述すべき内容を入力する処理は図１に示した要求仕様書入力／表示処理部５で実行される。この際の入力画面例を図１２に示す。
【００１９】
そしてステップ９では、要求仕様書に記述すべき各項目への入力が完了する毎に、項目毎の入力進捗欄（図１２参照）に入力が完了したことを登録する。この際、入力した各種データは要求仕様書データテーブル３（図２も参照）に記憶される。つまり、要求仕様書に記述すべき各項目への入力が完了する毎に、要求仕様書データテーブル３におけるＩＤコード毎に進捗フラグを立てて入力完了を登録する。すなわち進捗フラグに‘１’を立てて入力完了を登録する。この処理を経て、ステップ１０では、未記入項目の抽出を行う。未記入項目の抽出は、図１に示したサーバ７内の未記入項目抽出処理部４で行われる。すなわち要求仕様書データテーブル３における入力の必要な項目であって進捗フラグに‘１’が立っていない、すなわち入力の完了していない項目を抽出する。この場合、入力の完了していない項目のみを選択的に抽出し、入力の完了していない項目をリスト化して出力することができる。また入力の必要な項目であって進捗フラグに‘１’が立っている項目数と、入力の必要な項目であって進捗フラグに‘１’が立っていない項目数とから入力の完了度合い、すなわち充足率を算出してその充足率を表示させることができる。
【００２０】
ステップ１１では、全ての項目の入力完了かを判定する。そして、全ての項目への入力が完了している場合には、開発システムの要求仕様書作成の完了となるので処理を終了する。しかし、全ての項目への入力が完了していない場合には、ステップ４に戻り、ステップ４〜ステップ１１を繰り返し、全ての項目の入力が完了するまで行う。全ての項目への入力が完了すれば、要求仕様書作成の完成となるため、要求仕様書の記述における抜けや漏れを大幅に低減することが可能となる。
【００２１】
図４は、図１のサーバ７内に設けられたマッピング情報表示処理部１５および関連設定・チェック処理部１４による関連設定を行う設定画面例を示す図である。図４の設定画面の左側には、機能特性および非機能特性の項目具体例が示されており、機能特性および非機能特性の関連を定義する関連テーブル１３を参照することで、機能特性側においては、「テンキー」という特性名の下位１段目に設定されている「操作」、「放置タイマー」、「ＩＣボタン初期化」の下位１レベルを用いて、また非機能特性側においては、「使用性」、「信頼性」という品質属性名の下位１段目に設定されている「操作モードを容易に設定できること」、「少ない操作でできること」、「払い出しが高速にできること」、「初期化が１操作でできること」、「放置しても自動的に復旧すること」の下位１レベルを用いてマッピング情報表示処理部１５でマトリックスを構成した場合を示している。そして関連設定・チェック処理部１４により当該マトリックスに関連入力（黒丸‘●’で関連を示す）を行い、機能特性と非機能特性の関連付けが行われる。なお、図４の右下の入力エリアには非機能特性の「放置しても自動的に復旧する」項目を指定した場合が示され、条件記述に「タイマー割り込みがあること」が示されているが、これらは本件発明とは直ちには関係しないので説明を省く。
【００２２】
図５は、図１のサーバ７内に設けられた関連設定・チェック処理部１４の処理動作を説明するためのフローチャートである。本処理動作は図４に示す関連設定画面におけるマトリックスの設定完了（黒丸‘●’付け）時に関連設定画面を識別する画面ＩＤ情報の入力により起動される。図５中には図４で示した関連設定画面による入力例が示されている。
【００２３】
図５のフローチャートにおいてステップ１１では、画面ＩＤ情報および入力データの読込みを行い、入力されたデータが関連する画面を識別し、入力されたデータを獲得する。ステップ１２では、必要な入力項目が入力されているかをチェックし、画面に指定された入力項目で必須のものと必須以外のものの情報、データタイプなどを処理内または処理外に保持し、入力されたデータ項目と比較チェックする。次いでステップ１３では、チェックＯＫか否かを判定し、ステップ１２での結果を評価する。ステップ１３でチェックＯＫの場合、ステップ１４では、画面のマトリックスでの入力情報（黒丸‘●’が有る位置情報）により、機能特性と非機能特性の関連を判断し、図中の関連テーブル６０のＩＤを新規に設定し、新規レコードを生成する。関連テーブル６０の当該機能特性がすでに登録されている場合は変更要否のメッセージにより確認しＯＫなら変更する。
【００２４】
ステップ１５では、機能特性テーブル（図示せず）及び非機能特性テーブル５０の属性項目５５の関連テーブルＩＤに当該関連テーブルＩＤを設定する。次いでステップ１６では、機能特性テーブル（図示せず）及び非機能特性テーブル５０に属性項目５５の変更が入力されていたら当該データを当該テーブルの当該項目に設定する。一方、ステップ１７では、ステップ１３におけるチェックがＮＧの場合、処理内または処理外に保持しているエラーメッセージを当該画面ＩＤの画面に表示する。このように関連設定・チェック処理動作においては、両特性の関連を確認し変更があれば新たに両特性を対応付けられるようにしているので、入力項目の誤りや漏れを防止できる。
［第２の実施の形態］
図６は、本発明の第２の実施形態に係る要求仕様書作成支援システムの構成概要を示すブロック図である。図６において本発明の第２の実施形態に係る要求仕様書作成支援システムは、要求仕様書のテンプレートを格納する要求仕様書テンプレートテーブル１と、既存の製品システムを雛型として使用するか否かを示すデータを格納する製品システムテーブル２と、要求仕様書のデータを格納する要求仕様書データテーブル３と、要求仕様書データテーブル３を検索して入力が未記入の項目を抽出する処理を行う未記入項目抽出処理部４と、要求仕様書に記述すべき内容を入力及び表示する処理を行う要求仕様書入力／表示処理部５と、機能特性を階層化して詳細機能について各種の属性項目を格納する機能特性テーブル１１と、非機能特性を階層化して品質属性（ISO/IEC9126の品質特性をデフォルトで設定）ごとに品質特性をブレイクダウンして詳細項目データを格納する品質特性データテーブル３２と、品質特性の詳細項目に対する機能要求毎の検討内容（要求仕様書の記述項目）データを格納する機能・品質特性関連テーブル３３と、品質特性表（図１１(網掛け部を除く)参照）を作成する品質特性表作成部３４と、プログラム(図示せず)を格納し上記各処理部の処理動作を行うサーバ７’と、サーバ７’とクライアント９を連携するネットワーク８と、ネットワーク８経由でサーバ７’に繋がれ、データの入力や処理の起動、データの表示を行うクライアント９から構成されている。
【００２５】
開発システムの要求仕様書作成支援に先立ち、すなわち事前に、機能特性テーブル１１に機能特性を階層化した上で、詳細機能について各種の属性項目を登録しておく。また品質特性データテーブル３２には、品質特性表作成部３４を用いて品質属性ごとに品質特性をブレイクダウンして詳細項目データを記述する品質特性表（図１１(網掛け部を除く)参照）をあらかじめ作成し、作成した品質特性表を登録しておく。
【００２６】
図７は、本発明の第２の実施形態に係る要求仕様書作成支援システムに用いる各種テーブルの構造を示す図である。図７において要求仕様書テンプレートテーブル１は、要求仕様書のテンプレートの内容を格納するテーブルで、格納すべきデータ項目としては、ＩＤコード別に、章、項、記述すべき項目の各入力項目が設けられている。要求仕様書テンプレートテーブル１に展開されている要求仕様書のテンプレートの具体例については上記第１の実施形態で説明したのでここでは再説しない。
【００２７】
製品システムテーブル２は、システムＮＯ（ナンバー）、システム名のほか、既存の製品システムを雛型として使用するか否かを示すデータを格納するテーブルで、雛型としての使用を示すデータの入力、すなわち雛形フラグの設定により、要求仕様書データテーブル３から必要なデータを抽出して雛型として使用し、新たな開発システムの要求仕様の入力支援を可能としている。図内の製品システムテーブルの例では、システムＮＯ「３」、システム名「CCCC」という既存の製品システムを雛型として利用する場合について例示している。
【００２８】
要求仕様書データテーブル３は、要求仕様書のデータを格納するテーブルで、各開発システムの要求仕様として入力されたデータは、システムＮＯ、システム名のほか、要求仕様書の章、項、記述内容、入力の必要性の有無を示すフラグ（‘１’なら要、‘０’なら無）、及び記述内容の入力を終了したか否かを示す進捗フラグ（‘１’なら完了、‘０’なら未完了）の項目が展開されている。
【００２９】
品質特性データテーブル３２は、品質特性毎に詳細項目データを格納するテーブルで、格納するデータ項目としては、非機能特性を階層化した品質属性、品質特性、詳細項目に加え、要求仕様書テンプレートとの対応をとるための要求仕様ＩＤが設けられ、それらにデータが格納される。
【００３０】
機能・品質特性関連テーブル３３は、品質特性の詳細項目に対する機能要求毎の検討内容（要求仕様書の記述項目）データを格納するテーブルで、格納するデータ項目としては、行方向に機能要求を、列方向に品質特性に関わる詳細項目を記述する項目が設けられ、それらにデータが格納される。具体的には、図１１に示される品質特性表において関連する機能特性と品質特性の詳細項目とが交差するマトリクスに検討項目（図中では網掛け部参照）を記述する。
【００３１】
図８は、本発明の第２の実施形態に係る要求仕様書作成支援システムの処理動作を説明するためのフローチャートである。図８の説明においては図６の構成および図７の各種テーブルを適宜参照する。図８の説明に入る前に、まず開発システムの要求仕様書作成支援に先立ち、図６に示すクライアント９が、事前に、品質特性表作成部３４を用いて図１１に示す品質特性表（ただし、網掛け部を除く）を作成し、作成した品質特性表を品質特性データテーブル３２に登録し、かつ、要求仕様書のテンプレートを作成してサーバ７’内の要求仕様書テンプレートテーブル１に登録しておく。また要求仕様書テンプレート内の各要求項目の記述内容についても要求仕様書テンプレートテーブル１に登録しておく。なお要求仕様書テンプレートとしては、例えばIEEE830-1998等で規定されている標準フォーマット、自社内で規定した標準フォーマットに相当するもの等を使用することができる。
【００３２】
ここから図８の説明に入る。要求仕様書の作成を行うユーザは、図６のクライアント９からネットワーク８を介してサーバ７’にログインすることで、クライアント９には入力画面（図示せず）が表示される。サーバ７’はクライアント９からログインがあったことで事前に品質特性データテーブル３２に登録しておいた品質特性表を読み込み、かつ、要求仕様書テンプレートテーブル１に登録されている要求仕様書テンプレートを複製し、複製したデータを要求仕様書データテーブル３（図７参照）に記憶する（ステップ２１）。次いで要求仕様書の作成を行うユーザは、開発システムの名称を入力する（ステップ２２）。
【００３３】
次に要求仕様書の作成を行うユーザは、複製した要求仕様書テンプレートに開発システムが有する機能要求を入力する（ステップ２３）。そして、入力完了後、入力した機能要求に関するデータは、要求仕様書データテーブル３（図７も参照）と機能・品質特性関連テーブル３３（図７も参照）に記憶する。
【００３４】
次いで要求仕様書の作成を行うユーザは、入力された機能要求をもとに、品質特性表（図１１(ただし、網掛け部を除く)参照）を用いて、非機能要求項目を抽出し、開発すべき製品システム毎に入力項目を設定した製品システム用テンプレートを作成する（ステップ２４）。
【００３５】
図９は、図８のステップ２４における製品システム用テンプレート作成に係る詳細処理フローを示す図である。図９において、まず品質特性表（図１１(ただし、網掛け部を除く)参照）を用いて非機能要求を抽出するために、機能要求毎に対応する詳細項目との関連性を評価し、関連の強い詳細項目について具体的な検討事項（図１１における網掛け部参照）を入力する（ステップ３１）。つぎに、全詳細項目が終了したかを判定して、この作業が機能要求毎に全詳細項目について行われたかを判定する（ステップ３２）。全て終了した場合には、ステップ３３に進み、ここで全ての機能要求についての処理が終了したかを判定する（ステップ３３）。全ての機能要求についての処理が終了した場合には、機能要求毎に相反する品質特性について矛盾を発生させないように一旦入力した検討事項を調整する（ステップ３４）。
【００３６】
ここで一旦入力した検討事項を調整する必要性について説明する。一般に、ソフトウェア設計に係る品質特性では、ソフトウェア設計に関係する各種の品質特性について言及しておかなければならない。しかし、言及した全ての品質特性を同時に満足させることができないことがある。例えば、品質特性「時間効率性」と品質特性「資源効率性」を指標とする上位階層の品質属性「効率性」があるが、これらの両指標を共に最大化して「効率性」を極めることは不可能である。つまり、「時間効率性」を追及する際は、「資源効率性」はある程度犠牲にする必要があり、その逆も同様である。そのため、開発すべき製品の特長を勘案した上で、いずれの品質特性を高めるべきかについて一旦入力した検討事項を調整する必要が出てくる。
【００３７】
図９に戻ってステップ３４までのステップが終了したら、最後に、検討事項を非機能要求の入力項目としてテンプレートに登録する（ステップ３５）。こうして製品システム用テンプレートが作成される。
【００３８】
図１０は、本発明の第２の実施形態に係る製品システム用テンプレートが作成されるまでの処理の流れを示す図である。図１０に示すように、まず要求仕様書テンプレートテーブル１から複製した要求仕様書テンプレート４１をあらかじめ用意し、そのテンプレート４１に対して要求仕様書の作成を行うユーザは、機能要求（機能Ｆｎ）を入力し（図８のステップ２３参照）、次いで、要求仕様書の作成を行うユーザは、入力した機能要求（例えば機能Ｆn3）に対して図１１に示される品質特性表４２を用いて非機能要求項目（図中では品質属性「信頼性」）を抽出し、機能要求毎に対応する詳細項目との関連性を評価し、関連の強い詳細項目（図中では「詳細項目3」）について具体的な検討事項（図中では、「xxxを確認すること」）を入力し、開発すべき製品システム毎に入力項目（図中では「１章 はじめに」・・「Ｋ章 信頼性 Fn3:xxxを確認すること」）を設定した製品システム用テンプレート４３を作成する（図９のステップ２４参照）。つまり、機能要求毎に抽出した検討事項を非機能要求項目として適用することで、当該開発システムの入力項目を記す当該開発システムに係る製品システム用テンプレート４３とする。この際に、入力の有無の情報と共に作成した当該開発システムに係る製品システム用テンプレートの内容を要求仕様書データテーブル３（図７も参照）と機能・品質特性関連テーブル３３（図７も参照）に記憶する。
【００３９】
要求仕様書の作成を行うユーザは、以上のようにして作成された製品システム用テンプレート（図１０のテンプレート４３参照）に従い、要求項目（要求仕様書データ）を入力する（ステップ２５）。この際の入力画面例を図１２に示す。要求仕様書に記述すべき各項目への入力が完了する毎に、項目毎の入力進捗欄（図１２参照）に入力が完了したことを登録する（ステップ２６）。この際、入力した各種データは要求仕様書データテーブル３（図７も参照）に記憶される。つまり、要求仕様書に記述すべき各項目への入力が完了する毎に、要求仕様書データテーブル３におけるＩＤコード毎に進捗フラグを立てて入力完了を登録する。この処理を経て、ステップ２７では、入力の必要な項目の中で、入力の完了していない項目のみを選択的に抽出することができる。なお、要求仕様書に記述すべき内容を入力する処理は図６に示した要求仕様書入力／表示処理部５で実行される。
【００４０】
ステップ２８において全ての項目への入力が完了している場合は、開発システムの要求仕様書の完成を意味し、未入力の項目がある場合は、ステップ２５〜２８を繰返すことで、要求仕様書を完成させる。全ての項目への入力が完了すれば、要求仕様書作成の完成となるため、要求仕様書の記述における抜けや漏れを大幅に低減することが可能となる。
【００４１】
図１１は、本発明の第２の実施形態に係る品質特性表サンプル例を示す図である。ただし、図中の網掛け部は、処理の過程で後から入力される項目であることを示している。図１１においては、品質属性（ISO/IEC9126の品質特性をデフォルトで設定）のもとに品質特性が展開され、さらに品質特性のもとに詳細項目が列方向に展開されている。例えば、図１１において品質属性「信頼性」における品質特性「回復性」には、詳細項目として、「機能がダウンした際の機能の停止時間を短くすること」、「機能の稼働中に発生した故障箇所を特定できるようにする（しやすくする）こと」、「障害が発生した際にデータを容易に復旧できるよう工夫すること」が列方向にそれぞれ展開され、記述されている。このように本発明の第２の実施形態における品質特性表では、他の品質特性についても同様に詳細項目をあらかじめ列方向に展開して記述しておく。
なお、品質特性表（図１１(ただし、網掛け部を除く)参照）の詳細項目の内容は、システムの管理者、及びユーザによって変更可能なものとしても良い。
【００４２】
図１２は、本発明の各実施形態に係る入力画面サンプル例を示す。この入力画面サンプル例は、要求仕様書入力／表示処理部５の表示処理に基づいてクライアント９に表示されるものである。画面中央上端の記述項目／内容欄には、「１章  はじめに」と、「２章  全般的な説明」、並びにその下位項目「２．１  製品の背景」、「２．２  製品の機能」、「２．３  ユーザ特性」、「２．４  制約条件」等の項目が展開され、それらについて記述欄が設けられている。また、画面右上端の進捗欄には、要求仕様書に記述すべき各項目への入力が完了する毎に、入力完了を登録できるようになっている。そして画面左上端に要求仕様書の作成を行うユーザにより入力された開発システム名「AAAAシステム」が示され、作業内容が「ソフトウェア要求仕様書」であることが併せて示されている。なお、画面表示された項目以外の入力項目についてはスクロールにより画面表示させることができる。また画面表示された時点における入力完了度合いとして画面左下端に「充足率：5.0％」であることが示されている。
【図面の簡単な説明】
【００４３】
【図１】本発明の第１の実施形態に係る要求仕様書作成支援システムの構成概要を示すブロック図である。
【図２】本発明の第１の実施形態に係る要求仕様書作成支援システムで使用する各種テーブルの構造を示す図である。
【図３】本発明の第１の実施形態に係る要求仕様書作成支援システムの処理動作を説明するためのフローチャートである。
【図４】図１のサーバ内に設けられたマッピング情報表示処理部および関連設定・チェック処理部による関連設定を行う設定画面例を示す図である。
【図５】図１のサーバ内に設けられた関連設定・チェック処理部の処理動作を説明するためのフローチャートである。
【図６】本発明の第２の実施形態に係る要求仕様書作成支援システムの構成概要を示すブロック図である。
【図７】本発明の第２の実施形態に係る要求仕様書作成支援システムで使用する各種テーブルの構造を示す図である。
【図８】本発明の第２の実施形態に係る要求仕様書作成支援システムの処理動作を説明するためのフローチャートである。
【図９】本発明の第２の実施形態に係る製品システム用テンプレート作成に係る詳細処理フローを示す図である。
【図１０】本発明の第２の実施形態に係る製品システム用テンプレートが作成されるまでの処理の流れを示す図である。
【図１１】本発明の第２の実施形態に係る品質特性表サンプル例である。
【図１２】本発明の実施形態に係る入力画面サンプル例を示す図である。
【符号の説明】
【００４４】
１  要求仕様書テンプレートテーブル
２  製品システムテーブル
３  要求仕様書データテーブル
４  未記入項目抽出処理部
５  要求仕様書入力/表示処理部
６  機能/非機能対応付け処理部
７、７’  サーバ
８  ネットワーク
９  クライアント
１１  機能特性テーブル
１２  非機能特性テーブル
１３  関連テーブル
１４  関連設定・チェック処理部
１５  マッピング情報表示処理部
３２  品質特性データテーブル
３３  機能・品質特性関連テーブル
３４  品質特性作成部
４１  要求仕様書テンプレート
４２  品質特性表
４３  製品システム用テンプレート
５０  非機能特性テーブル例
５５  属性項目例
６０  関連テーブル例
６２  機能/非機能対応付けテーブル
【図１】
2007305051.tif 000003
【図２】
2007305051.tif 000004
【図３】
2007305051.tif 000005
【図６】
2007305051.tif 000006
【図７】
2007305051.tif 000007
【図８】
2007305051.tif 000008
【図９】
2007305051.tif 000009
【図４】
2007305051.tif 000010
【図５】
2007305051.tif 000011
【図１０】
2007305051.tif 000012
【図１１】
2007305051.tif 000013
【図１２】
2007305051.tif 000014