説明

要求仕様記述支援方法

【課題】大規模ソフトウェア開発において、複数要求仕様書間の要求仕様記述の統一性を確保する。
【解決手段】記述間相違抽出部であって、要求仕様記述を要求仕様ごとに加工して同一要求仕様についての記述を抽出する同一要求仕様記述抽出部と、前述した同一要求仕様についての記述に対して相違するキーワードを抽出する相違キーワード抽出部と、前述した相違キーワード抽出部で抽出した相違するキーワードによって既存の辞書定義を更新する辞書定義更新部を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の要求仕様書データによって構成される要求仕様書データにおいて、要求仕様書データ間の記述相違を見つける技術に関する。
【背景技術】
【0002】
本技術分野の背景技術として、特許文献1に開示されているような技術がある。この技術はユーザが想定したユースケースを要求仕様として記述するものである。実行されたユースケースと想定した要求仕様記述データと比較することで要求仕様記述の漏れを確認できるようにする技術である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000-353082号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のソフトウェア開発における上流工程の支援方法として、要求仕様書の要求仕様記述の網羅性を確保することが挙げられる。特許文献1に開示されているような技術においても、所定の基準に従ってユースケースで記述された要求仕様に基づいて、要求仕様の中に含まれる各ユースケースを実行することで、ユースケースの記述漏れが無いかを確認している。
【0005】
しかし、大規模のソフトウェア開発において、要求仕様書は複数で構成されることが多く、各要求仕様書において要求仕様記述の網羅性が確保できていても、複数の要求仕様書間の要求仕様記述の統一性を確保するのは困難である。
【0006】
本発明の目的は、複数の要求仕様書データ間における同一要求仕様記述に対して、要求仕様記述データの相違を見つけることにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本実施例は上記課題を解決する手段として、同一要求仕様記述データを抽出する手段と、抽出した同一要求仕様記述データから相違するキーワードを抽出する手段と、抽出した相違するキーワードの内容によって既存辞書を更新する手段を有する。
【発明の効果】
【0008】
複数の要求仕様書データ間の同一要求仕様記述に対して、要求仕様記述の相違を見つけることができるため、要求仕様記述データの統一性を向上させることが可能となる。
【図面の簡単な説明】
【0009】
【図1】システム構成図である。
【図2A】ソフトウェア開発のフローチャート図である。
【図2B】本実施例のソフトウェア開発のフローチャート図である。
【図3】同一要求仕様記述を抽出するフローチャート図である。
【図4A】サーバ装置1001にある要求仕様書の要求仕様記述データの一例である。
【図4B】サーバ装置1001にある要求仕様書の要求仕様記述データの一例である。
【図5A】サーバ装置1001にて要求仕様記述を要求仕様記述出力フォーマットへ加工した場合の一例である。
【図5B】サーバ装置1010にて要求仕様記述を要求仕様記述出力フォーマットへ加工した場合の一例である。
【図6】同一要求仕様記述データを抽出した場合の一例である。
【図7】相違するキーワードを抽出するフローチャート図である。
【図8A】サーバ装置1001にて同一要求仕様記述をキーワード出力フォーマットへ加工した場合の一例である。
【図8B】サーバ装置1010にて同一要求仕様記述をキーワード出力フォーマットへ加工した場合の一例である。
【図9】辞書の一例である。
【図10A】サーバ装置1001にてキーワードと辞書と比較する場合の一例である。
【図10B】サーバ装置1010にてキーワードと辞書と比較する場合の一例である。
【図11】辞書定義外のキーワードを使用している通知メッセージの一例である。
【図12】相違するキーワードを抽出する一例である。
【図13】相違するキーワードを通知するメッセージの一例である。
【図14】辞書定義を更新するフローチャート図である。
【図15】時間の経過により、要求仕様書記述データを変更する一例である。
【図16】相違するキーワードによって辞書データを更新する場合の一例である。
【図17】辞書データが更新されたイベントを通知するメッセージの一例である。
【発明を実施するための形態】
【0010】
以下、実施例を図面を用いて説明する。
【実施例】
【0011】
図1は本実施例の一形態におけるシステム構成図である。本実施例はメモリ1002、HDD1003、CPU1004、入力装置1005、出力装置1006、システムバス1007を有するサーバ装置1001、ストレージ1009、前述したサーバ装置1001と同様なサーバ装置1010によって構成されたシステム上で実現される。なお、サーバ装置1001、サーバ装置1010、ストレージ1009はネットワーク1008によって接続されている。サーバ装置1001とサーバ装置1010は一般的な計算機であってもよい。メモリ1002は、本実施形態である要求仕様書の記述間相違抽出部100を処理するために必要なプログラム及び一時データを記憶する。これらのプログラムをCPU1004が実行し、これらの処理部の機能は実現される。HDD1003に記述間相違抽出処理100の入力データである単体の要求仕様書610、要求仕様記述出力フォーマット620、キーワード出力フォーマット630が保存される。本実施例の処理の一形態は、メモリ1002において、記述間相違抽出部100が、単体の要求仕様書610に対して同一要求仕様記述抽出処理201を実行して、複数の要求仕様書間に同一要求仕様に対する記述を抽出する。同様に、サーバ装置1010でも同一要求仕様記述抽出処理201が実施される。サーバ装置1001で前述した同一要求仕様記述抽出処理201の結果に対して相違キーワード抽出処理301を行う。同様に、サーバ装置1010でも同一要求仕様記述抽出処理201の結果に対して相違キーワード抽出処理301を行う。キーワード抽出処理301は辞書に定義済みのキーワードを使用したキーワード同士を比較する。比較した結果、複数の要求仕様記述間の相違するキーワードを抽出することができる。前述した同一要求仕様記述抽出処理201とキーワード抽出処理301によって、記述間相違抽出処理100は複数の要求仕様記述間の相違する箇所を見つけることが可能にする。また要求仕様書の記述は時間につれて変更されること多い。前述した相違するキーワードの内容によって辞書定義を更新する必要があるため、本実施例では辞書定義を更新する辞書定義更新部401を提供する。各処理部および各フォーマットの詳細については後述する。なお、前述したHDD1003はメモリ1002によって実現することも可能である。さらに前述したシステム構成は一台のサーバ装置1001とサーバ装置1010は分散した環境で実現してもよい。またサーバ装置1001とサーバ装置1010の処理は一台のサーバ装置で行うことも可能である。ストレージ1009は各サーバ装置のHDD装置で代替することが可能である。CPU1004、入力装置1005、出力装置1006、システムバス1007においても、前述した本実施例を実現するための最低限の構成であり、実施形態の一例である。処理性能やシステム環境などの状況に応じて変更することが可能である。
【0012】
図2Aは、本実施例を適用する前の従来のソフトウェア開発プロセス処理の流れの一例である。従来のソフトウェア開発プロセスは顧客要求仕様書111によって、要求仕様書を作成する101ステップと、単体の要求仕様書を作成する102ステップと、単体の詳細仕様書を作成する103ステップと、単体コーディングする104ステップと、単体テストする105ステップと、システムテストする106ステップによって構成されている。まずソフトウェア開発担当は顧客が求める製品仕様が記載されている顧客要求仕様書111を受付する。顧客要求仕様書111をもとに要求仕様書を作成する101。要求仕様書の要求仕様をもとに複数の単体の要求仕様書に分割して単体の要求仕様書を作成する102。さらに単体の要求仕様書の記述をもとに詳細の処理プロセスを記述した単体の詳細仕様書を作成する103。単体コーディングする104ステップは単体の詳細仕様書を作成する103ステップで作成した単体の詳細仕様書に従ってコーティングする。そして単体コーディングする104ステップで単体コーティングしたプログラムに対して各単体の要求仕様を確認する単体テストする105ステップと単体の要求仕様間の動作の統一性を確認するシステムテストする105ステップを行う。システムテストする105ステップを行った結果、単体の要求仕様間に相違がある場合、単体の要求仕様間の相違がなくなるまで単体テストする105ステップと、システムテストする106ステップと、単体の要求仕様書を修正する107ステップと、単体の詳細仕様書を修正する108ステップと、単体コーティングを修正する109ステップを繰り返す。前述したプロセスはプログラムのテスト工程で単体の要求仕様間つまり要求仕様記述間の相違を発見するため、工程は大きな手戻りになってプログラムを作成するコストを浪費することが明白である。
【0013】
図2Bは、本実施例を適用したソフトウェア開発プロセス処理の流れの一例である。本実施例は従来のソフトウェア開発プロセスと比較して単体の要求仕様書を作成する102ステップを実施した後、本実施例である記述間相違抽出処理100を行うことで単体詳細仕様書を作成する103ステップを実施する前に単体の要求仕様書間相違するかどうかを判断して相違箇所は見つけることが可能なため、システムテストする105ステップを実施した後に工程の手戻りが発生しない。本実施例である記述間相違抽出処理100の詳細は後述する。
【0014】
図3は、同一要求仕様記述を抽出処理201を説明するフローチャート図である。同一要求仕様記述抽出処理201は複数の要求仕様記述にある同一要求仕様に対する記述を抽出する処理である。まず、サーバ装置1001で単体の要求仕様書を読み込む202ステップはサーバ装置1001のHDD1003からメモリ1002へ各単体の要求仕様書を読み込む。サーバ装置1010でも同様に前述した単体の要求仕様書を読み込む202ステップを行う。そして、サーバ装置1001では、要求仕様記述出力フォーマットへ加工する203ステップは前述した単体の要求仕様書を読み込む202ステップで読み込んだ要求仕様記述に対して要求仕様ごとに文字列に切り出す。サーバ装置1010でも同様に、要求仕様記述出力フォーマットへ加工する203ステップを行う。要求仕様記述出力フォーマットへ加工する203ステップの詳細は後述する。最後にサーバ装置1001では、同一要求仕様記述を抽出する204ステップは前述した要求仕様記述出力フォーマットへ加工する203ステップで切り出した文字列に対して、サーバ装置1010で前述したで切り出した文字列と比較することで同一要求仕様に対する記述を抽出する。同一要求仕様記述を抽出する204ステップの詳細は後述する。
【0015】
図4Aは本実施例である記述間相違抽出処理100を適用する前にサーバ装置1001にある単体の要求仕様書に記載される要求仕様記述の一例である。要求仕様書の記述は要求仕様ごとに記述される。また要求仕様記述のタイトルもしくは先頭行の文字列で仕様名称を記述される。サーバ装置1001のHDD1003に保存される要求仕様書610の要求仕様記述205の「A」は機能仕様Aの仕様名称で、「AAABAC」は要求仕様Aの要求仕様記述の一例であり、要求仕様書610の要求仕様記述205の「B」は機能仕様Bの仕様名称で、「BABBBC」は機能仕様Bの機能仕様記述の一例である。サーバ装置1001では、単体の要求仕様書を読み込む処理202は前述した要求仕様記述205をサーバ装置1001のメモリ1002へ読み込む。
【0016】
図4Bは本実施例である記述間相違抽出処理100を適用する前にサーバ装置1010にある単体の要求仕様書に記載される要求仕様記述の一例である。前述したサーバ装置1001と同様に、サーバ装置1010のHDDに保存される要求仕様書の要求仕様記述206の「A」は機能仕様Aの仕様名称であり、「AAABAD」は機能仕様Aの機能仕様記述の一例、「C」は機能仕様Cの仕様名称であり、「CACBCC」は機能仕様Cの機能仕様記述の一例である。サーバ装置1010では、単体の要求仕様書を読み込む処理202は前述した要求仕様記述206をサーバ装置1010のメモリへ読み込む。前述した単体の要求仕様書を読み込む処理202で読み込んだ要求仕様記述205および要求仕様記述206は要求仕様記述を加工する処理203の入力となる。要求仕様記述を加工する処理203の詳細は後述する。
【0017】
図5Aはサーバ装置1001で要求仕様書記述を加工する処理203の一例である。サーバ装置1001で、要求仕様書記述を加工する処理203は要求仕様記述205に対して要求仕様記述出力フォーマット620に従って要求仕様を行ごとに文字列を切り出す。サーバ装置1001で前述した要求仕様書記述を加工する処理203は要求仕様記述205の要求仕様「A」および「AAABAC」、要求仕様「B」および「BABBBC」を要求仕様記述205から切り出して加工後要求仕様記述207を得る。加工後要求仕様記述207はサーバ装置1001のメモリ1002へ保存する。
【0018】
図5Bはサーバ装置1010で要求仕様書記述を加工する処理203の一例である。サーバ装置1001と同様に、サーバ装置1010で要求仕様書記述を加工する処理203は要求仕様記述206に対して要求仕様記述出力フォーマット620に従って要求仕様を行ごとに文字列を切り出す。サーバ装置1010で前述した要求仕様書記述を加工する処理203は要求仕様記述206の要求仕様「A」および「AAABAC」、要求仕様「C」および「CACBCC」を要求仕様記述206から切り出して加工後要求仕様記述208を得る。加工後要求仕様記述208はサーバ装置1010のメモリへ保存する。加工後要求仕様記述207、加工後要求仕様記述208は同一要求仕様記述を抽出する処理204の入力となる。同一要求仕様記述を抽出する処理204の詳細は後述する。
【0019】
図6は同一要求仕様記述を抽出する処理204の例である。サーバ装置1001で、同一要求仕様に対する記述を抽出するために同一要求仕様記述を抽出する処理204は前述した要求仕様書記述を加工する処理203の実行結果である要求仕様記述207、要求仕様記述208に対して、要求仕様記述のタイトルまた先頭行の文字列を比較する。要求仕様記述207の「A」および「B」はサーバ装置1010にある要求仕様書記述を加工する処理203の実行結果である要求仕様記述208の「A」および「C」と比較する。比較した結果、同一要求仕様に対する記述は「A」である。前述した同一要求仕様記述を抽出する処理204の実行結果である記述「A」の文字列「A」および「AAABAC」を同一要求仕様記述209としてサーバ装置1001のメモリ1002へ保存する。同様に、サーバ装置1010で、同一要求仕様に対する記述を抽出するために同一要求仕様記述を抽出する処理204は前述した要求仕様書記述を加工する処理203の実行結果である要求仕様記述207、要求仕様記述208に対して、要求仕様記述のタイトルまた先頭行の文字列を比較する。要求仕様記述208の「A」および「C」はサーバ装置1001にある要求仕様書記述を加工する処理203の実行結果である要求仕様記述207の「A」および「B」と比較する。比較した結果、同一要求仕様に対する記述は「A」である。前述した同一要求仕様記述を抽出する処理204の実行結果である記述「A」の文字列「A」および「AAABAD」を同一要求仕様記述210としてサーバ装置1010のメモリへ保存する。前述した同一要求仕様記述を抽出する処理204の実行結果である同一要求仕様記述209および210は相違キーワード抽出処理301の入力となる。
【0020】
図7は相違キーワード抽出処理301の流れの一例である。サーバ装置1001で、まず、同一要求仕様記述を読み込む302ステップは前述した同一要求仕様記述を抽出する処理201で得た実行結果である同一要求仕様記述209をキーワード抽出処理301の入力としてサーバ装置1001のメモリ1002へ読み込む。そして、キーワード出力フォーマットに加工する303ステップは前述した同一要求仕様記述を読み込む302ステップで読み込んだ同一要求仕様記述に対してキーワード出力フォーマット630に従ってキーワードごとに加工する。そして、前述したキーワード出力フォーマットに加工する303ステップで加工されたキーワードに対して、キーワードを比較する304ステップおよびキーワードを比較終了307ステップを行う。
【0021】
キーワードを比較する304ステップとキーワードを比較終了307ステップの間では、同一要求仕様記述間に比較する対象であるキーワードを抽出するために比較対象キーワードを抽出する305ステップと比較する対象キーワードに対して相違するキーワードを抽出する306ステップが繰り返して実行される。同様にサーバ装置1010で、まず、同一要求仕様記述を読み込む302ステップは前述した同一要求仕様記述を抽出する同一要求仕様記述を読み込む処理201で得た実行結果である同一要求仕様記述210をキーワード抽出処理301の入力としてサーバ装置1010のメモリへ読み込む。
【0022】
そして、キーワード出力フォーマットに加工する303ステップは前述した同一要求仕様記述を読み込む302ステップで読み込んだ同一要求仕様記述に対してキーワード出力フォーマットに従ってキーワードごとに加工する。そして、前述したキーワード出力フォーマットに加工する303ステップで加工されたキーワードに対して、キーワードを比較する304ステップおよびキーワードを比較終了307ステップを行う。キーワードを比較する304ステップとキーワードを比較終了307ステップの間では、同一要求仕様記述間に比較する対象であるキーワードを抽出するために比較対象キーワードを抽出する305ステップと比較する対象キーワードに対して相違するキーワードを抽出する306ステップが繰り返して実行される。サーバ装置1001で、前述した同一要求仕様記述を読み込む302ステップ、キーワード出力フォーマットに加工する303ステップ、キーワードを比較する304ステップを実行した結果はサーバ装置1010で実行された同一要求仕様記述を読み込む302ステップ、キーワード出力フォーマットに加工する303ステップ、キーワードを比較する304ステップの実行結果と比較することによって、サーバ装置1001にある要求仕様書610の記述はサーバ装置1010にある要求仕様書の同一要求仕様に対する記述の相違を見つける。最後に相違内容を出力する307ステップは前述した比較した結果のキーワードの相違する内容をサーバ装置1001の出力装置1006とメモリ1002へ出力する。メモリ1002へ出力した実行結果は辞書定義更新処理401の入力となる。
【0023】
図8Aはサーバ装置1001で実行される同一要求仕様記述をキーワード出力フォーマットへ加工する処理303の一例である。サーバ装置1001で、前述した同一要求仕様記述を抽出処理201で抽出した同一要求仕様記述209の文字列「AAABAC」はキーワード「AA」「AB」「AC」によって構成されている。キーワード出力フォーマットに加工する処理303は前述した同一要求仕様記述209に対して文字列「AAABAC」をキーワード出力フォーマット630に従ってキーワード「AA」「AB」「AC」へ加工する。前述したキーワード出力フォーマットに加工する処理303の実行結果である加工後記述キーワード211はサーバ装置1001のメモリ1002へ保存する。また前述した加工後記述キーワード211はキーワードを比較する処理304および比較対象キーワードを抽出する処理305の入力となる。
【0024】
図8Bはサーバ装置1010で実行される同一要求仕様記述をキーワード出力フォーマットへ加工する処理303の一例である。前述したサーバ装置1001で実行されるキーワード出力フォーマットへ加工する処理303と同様に、サーバ装置1010で、前述した同一要求仕様記述を抽出処理201で抽出した同一要求仕様記述210の文字列「AAABAD」はキーワード「AA」「AB」「AD」によって構成されている。キーワード出力フォーマットに加工する処理303は前述した同一要求仕様記述210に対して文字列「AAABAD」をキーワード出力フォーマットに従ってキーワード「AA」「AB」「AD」へ加工する。前述したキーワード出力フォーマットへ加工する処理303の実行結果である加工後記述キーワード212はサーバ装置1010のメモリへ保存する。また前述した加工後記述キーワード212はキーワードを比較する処理304および比較対象キーワードを抽出する処理305の入力となる。
【0025】
図9は辞書の一例である。辞書は要求仕様記述に使用されることが認可されるキーワードの集合である。サーバ装置1001のHDD1003の辞書640にキーワード「AA」「AB」「AC」「AD」の定義が存在する。キーワード「AA」に対して定義1「AA」、定義2「AA1」がある。同様に、キーワード「AB」に対して定義1「AB」および定義2「AB1」、キーワード「AC」に対して定義1「AC」および定義2「AC1」、キーワード「AD」に対して定義1「AD」および定義2「AD1」がある。辞書640はあらかじめにストレージ装置1009に保存される。
【0026】
図10Aはサーバ装置1001で実行する比較対象キーワードを抽出する処理305を説明する一例である。サーバ装置1001で、まず、比較対象キーワードを抽出する処理305は前述したストレージ装置1009にある辞書640をメモリ1002へ読み込む。そして、前述したキーワード出力フォーマットへ加工する処理303で同一要求仕様記述に対してキーワードへ加工した抽出前キーワード211をメモリ1002へ読み込む。読み込んだ抽出前キーワード211とストレージ装置1009の辞書640と照合する。前述した照合を実施した結果、抽出前キーワード211と辞書640両者に存在するキーワードを抽出する。前述した比較対象キーワードを抽出する処理305は要求仕様書610の要求仕様記述は辞書640が認可されたキーワードを使用して記述されていることを保証する。最後に、前述した比較対象キーワードを抽出する処理305の実行結果である抽出後キーワード213をサーバ装置1001のメモリ1002へ保存する。前述した比較対象キーワードを抽出する処理305は前述した照合を実施した結果、抽出前キーワード211に存在するが、辞書640に存在しないキーワードの場合、辞書定義外のキーワードを使用している通知メッセージ501をサーバ装置1001の出力装置1006へ出力する。メッセージ501の詳細は後述する。
【0027】
図10Bはサーバ装置1010で実行する比較対象キーワードを抽出する処理305を説明する一例である。サーバ装置1010で、まず、比較対象キーワードを抽出する処理305は前述したストレージ装置1009にある辞書640をサーバ装置1010のメモリへ読み込む。そして、前述したキーワード出力フォーマットへ加工する処理303で同一要求仕様記述に対してキーワードへ加工した抽出前キーワード212をサーバ装置1010のメモリへ読み込む。読み込んだ抽出前キーワード212とストレージ装置1009の辞書640と照合する。前述した照合を実施した結果、抽出前キーワード212と辞書640両者に存在するキーワードを抽出する。前述した比較対象キーワードを抽出する処理305はサーバ装置1010に保存する要求仕様書の要求仕様記述は辞書640が認可されたキーワードを使用して記述されていることを保証する。最後に、前述した比較対象キーワードを抽出する処理305の実行結果である抽出後キーワード214をサーバ装置1010のメモリへ保存する。前述した比較対象キーワードを抽出する処理305は前述した照合を実施した結果、抽出前キーワード212に存在するが、辞書640に存在しないキーワードの場合、辞書定義外のキーワードを使用している通知メッセージ501をサーバ装置1010の出力装置1006へ出力する。メッセージ501の詳細は後述する。
【0028】
図11は辞書定義外のキーワードを使用している通知メッセージ501の一例である。サーバ装置1001で、前述した比較対象キーワードを抽出する処理305で抽出前キーワード211と辞書640間に抽出前キーワード211に使用されている要求仕様記述「A」のキーワード「AE」が存在するとする。前述した辞書640に要求仕様記述「A」のキーワード「AE」は辞書640の定義に存在しないため、メッセージ501は辞書定義外のキーワードを使用している要求仕様記述を示す「要求仕様記述:A」、辞書定義外のキーワードを示す「定義外キーワード:AE」を出力する。ボタン「OK」を押すと比較対象キーワードを抽出する処理305が終了する。ボタン「辞書を更新する」を押すと辞書定義更新処理401を実行する。辞書定義更新する処理401の詳細は後述する。
【0029】
図12は相違するキーワードを抽出する処理306の一例である。サーバ装置1001で、相違するキーワードを抽出する処理306は前述した比較対象キーワードを抽出する処理305の実行結果である比較前キーワード213を前述したサーバ装置1001で前述した比較対象キーワードを抽出する処理305を実行した結果である比較前キーワード214と比較する。サーバ装置1001の比較前キーワード「AA」「AB」「AC」はサーバ装置1010の比較前キーワード「AA」「AB」「AD」と比較する。前述した相違するキーワードを抽出する処理306の比較した結果、サーバ装置1001にある要求仕様記述の比較前キーワードはサーバ装置1010にある要求仕様記述の比較前キーワードと相違するキーワードである比較後キーワード215の「AC」を抽出する。サーバ装置1001で、相違するキーワードである比較後キーワード215はサーバ装置1001のメモリ1002へ保存する。またサーバ装置1001の出力装置1006へ相違するキーワード「AC」および「AC」が存在する要求仕様記述「A」を通知するメッセージ502を出力する処理307をする。メッセージ502の詳細は後述する。
【0030】
図13は相違するキーワードを通知するメッセージ502の一例である。サーバ装置1001で、前述した相違する対象キーワードを抽出する処理306は実行結果に相違するキーワードが存在する場合、要求仕様記述と相違するキーワードをサーバ装置1001の出力装置1006へ相違するキーワードを通知するメッセージ502を出力する処理307をする。前述したメッセージ502は要求仕様記述「A」およびサーバ装置1001にある要求仕様書610の要求仕様記述はサーバ装置1010にある要求仕様書の要求仕様記述と相違するキーワード「AC」をサーバ装置1001の出力装置1006へ出力する。ボタン「OK」をクリックした場合、相違するキーワード抽出処理301が終了する。
【0031】
図14は辞書定義更新処理401の流れの一例である。ソフトウェア開発特に大規模なソフトウェア開発では、要求仕様書の記述および記述に使用されるキーワードも一定の時間間隔で変更される。前述した比較対象キーワードを抽出する処理305で要求仕様記述のキーワードは辞書の記述と比較するが、要求仕様記述のキーワードの変更に伴って辞書のキーワードの定義を更新しなければならない。前述した比較対象キーワードを抽出する処理305の辞書と照合する処理で要求仕様記述および要求仕様記述のキーワードが変化するため、要求仕様記述にあるが辞書に存在しないキーワードが存在する。その場合、前述した比較対象キーワードを抽出する処理305のようにメッセージ501がサーバ装置1001の出力装置1006へ出力される。このメッセージ501のボタン「辞書を更新する」を押すと、既存辞書の辞書定義更新処理401を実行する。サーバ装置1001で、辞書定義更新処理401はまず、既存の辞書をメモリ1002へ読み込む402ステップを実行する。そして、辞書を更新する403ステップと辞書を更新終了406ステップの間では既存辞書と比較する404ステップと既存辞書を更新する405ステップを繰り返して実行される。
【0032】
既存辞書と比較する404ステップは前述した相違キーワード抽出処理301の実行結果である要求仕様記述間の相違するキーワードを既存辞書と比較する。既存辞書を更新する405ステップは、前述した既存辞書と比較する404ステップの実行結果に要求仕様記述に相違するキーワードが存在する場合、相違するキーワードで既存辞書の辞書定義を更新する。前述した既存辞書と比較する404ステップの実行結果に要求仕様記述に相違するキーワードが存在しない場合、前述した既存辞書を更新する405ステップおよび辞書を更新する403ステップが終了する。辞書更新内容を出力する406ステップは前述した既存辞書を更新する405ステップで更新した内容をサーバ装置1001の出力装置1006へ辞書が更新されたイベントを通知するメッセージを出力する。辞書を更新する403ステップの詳細は後述する。
【0033】
図15は時間の経過によって要求仕様書記述が変更される場合を説明する一例である。サーバ装置1001に保存される要求仕様書610の記述は時刻t1の要求仕様「A」および要求仕様記述のキーワード「AA」「AB」が存在するとする。一定の時間を経過後、時刻t2に要求仕様書610の記述は要求仕様「A」に対して要求仕様記述のキーワード「AA」「AB」「AC」となることが多い。この場合、前述した比較対象キーワードを抽出する処理305の辞書と照合する処理で要求仕様記述および要求仕様記述のキーワードの変化に対応可能にするために既存辞書を更新する必要がある。
【0034】
図16は相違するキーワードによって辞書を更新する処理403を説明する一例である。サーバ装置1001で、まず辞書を更新する処理403の既存辞書と比較する処理404は前述した相違キーワード「AE」を抽出する相違するキーワードを抽出する処理306の実行結果である相違するキーワード211を既存のストレージ装置1009に保存される更新前辞書640と比較する。そして既存の更新前辞書640のキーワード定義ではキーワード「AE」の定義が存在しないため、既存の更新前辞書640を更新する既存辞書を更新する処理405は更新前辞書640の辞書定義にキーワード「AE」の定義を辞書640へ追加して更新後辞書650を得る。ユーザの判断によってサーバ装置1001の入力装置1005からキーワード「AE」を使用する際に認可するキーワード「AE」の定義を追加や編集することも可能である。前述した辞書を更新する処理403を実行した後、辞書更新内容を出力する処理406はサーバ装置1001の出力装置1006へ辞書が更新されたイベントを通知するメッセージ503を出力する。メッセージ503の詳細は後述する。
【0035】
図17は辞書が更新されたイベントを通知するメッセージの一例である。サーバ装置1001で、前述した辞書を更新する処理403は既存辞書を更新した場合、更新した要求仕様記述「A」、更新した要求仕様記述のキーワードAC、更新の動作「追加」を通知するメッセージ503を出力する。ボタン「OK」をクリックした場合、辞書を更新する処理403および辞書定義を更新処理401を終了する。
【符号の説明】
【0036】
1001 サーバ装置
1002 メモリ
1003 HDD
1006 出力装置
1008 ネットワーク
1009 ストレージ装置
1010 サーバ装置
100 記述間相違抽出部
201 同一要求仕様記述抽出部
301 相違キーワード抽出部
401 辞書定義更新部
610 単体の要求仕様書
620 要求仕様記述出力フォーマット
630 キーワード出力フォーマット

【特許請求の範囲】
【請求項1】
辞書と複数の要求仕様記述データとを格納する記憶装置を含む要求仕様記述支援装置における要求仕様記述支援方法において、
前期記憶装置に格納された要求仕様記述データから同一の要求仕様記述データを抽出し、
前記抽出した同一要求仕様記述データから相違するキーワードを抽出し、
前記抽出した相違するキーワードを表示し、
前記抽出した相違するキーワードについて、ユーザの指示により同一概念を示すキーワードか否かを受け付けし、
同一概念を示す場合は、前記記憶装置に格納された辞書を更新することを特徴とする要求仕様記述支援方法。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2013−105288(P2013−105288A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−248189(P2011−248189)
【出願日】平成23年11月14日(2011.11.14)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】