(57)【要約】      （修正有）【課題】大規模ソフトウェア開発において、複数要求仕様書間の要求仕様記述の統一性を確保する。【解決手段】記述間相違抽出部であって、要求仕様記述を要求仕様ごとに加工して同一要求仕様についての記述を抽出する同一要求仕様記述抽出部と、前述した同一要求仕様についての記述に対して相違するキーワードを抽出する相違キーワード抽出部と、前述した相違キーワード抽出部で抽出した相違するキーワードによって既存の辞書定義を更新する辞書定義更新部を有する。【選択図】図１
2013105288.tif 000002
【特許請求の範囲】
【請求項１】
辞書と複数の要求仕様記述データとを格納する記憶装置を含む要求仕様記述支援装置における要求仕様記述支援方法において、
前期記憶装置に格納された要求仕様記述データから同一の要求仕様記述データを抽出し、
前記抽出した同一要求仕様記述データから相違するキーワードを抽出し、
前記抽出した相違するキーワードを表示し、
前記抽出した相違するキーワードについて、ユーザの指示により同一概念を示すキーワードか否かを受け付けし、
同一概念を示す場合は、前記記憶装置に格納された辞書を更新することを特徴とする要求仕様記述支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の要求仕様書データによって構成される要求仕様書データにおいて、要求仕様書データ間の記述相違を見つける技術に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許文献１に開示されているような技術がある。この技術はユーザが想定したユースケースを要求仕様として記述するものである。実行されたユースケースと想定した要求仕様記述データと比較することで要求仕様記述の漏れを確認できるようにする技術である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００-３５３０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のソフトウェア開発における上流工程の支援方法として、要求仕様書の要求仕様記述の網羅性を確保することが挙げられる。特許文献１に開示されているような技術においても、所定の基準に従ってユースケースで記述された要求仕様に基づいて、要求仕様の中に含まれる各ユースケースを実行することで、ユースケースの記述漏れが無いかを確認している。
【０００５】
しかし、大規模のソフトウェア開発において、要求仕様書は複数で構成されることが多く、各要求仕様書において要求仕様記述の網羅性が確保できていても、複数の要求仕様書間の要求仕様記述の統一性を確保するのは困難である。
【０００６】
本発明の目的は、複数の要求仕様書データ間における同一要求仕様記述に対して、要求仕様記述データの相違を見つけることにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本実施例は上記課題を解決する手段として、同一要求仕様記述データを抽出する手段と、抽出した同一要求仕様記述データから相違するキーワードを抽出する手段と、抽出した相違するキーワードの内容によって既存辞書を更新する手段を有する。
【発明の効果】
【０００８】
複数の要求仕様書データ間の同一要求仕様記述に対して、要求仕様記述の相違を見つけることができるため、要求仕様記述データの統一性を向上させることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】システム構成図である。
【図２Ａ】ソフトウェア開発のフローチャート図である。
【図２Ｂ】本実施例のソフトウェア開発のフローチャート図である。
【図３】同一要求仕様記述を抽出するフローチャート図である。
【図４Ａ】サーバ装置１００１にある要求仕様書の要求仕様記述データの一例である。
【図４Ｂ】サーバ装置１００１にある要求仕様書の要求仕様記述データの一例である。
【図５Ａ】サーバ装置１００１にて要求仕様記述を要求仕様記述出力フォーマットへ加工した場合の一例である。
【図５Ｂ】サーバ装置１０１０にて要求仕様記述を要求仕様記述出力フォーマットへ加工した場合の一例である。
【図６】同一要求仕様記述データを抽出した場合の一例である。
【図７】相違するキーワードを抽出するフローチャート図である。
【図８Ａ】サーバ装置１００１にて同一要求仕様記述をキーワード出力フォーマットへ加工した場合の一例である。
【図８Ｂ】サーバ装置１０１０にて同一要求仕様記述をキーワード出力フォーマットへ加工した場合の一例である。
【図９】辞書の一例である。
【図１０Ａ】サーバ装置１００１にてキーワードと辞書と比較する場合の一例である。
【図１０Ｂ】サーバ装置１０１０にてキーワードと辞書と比較する場合の一例である。
【図１１】辞書定義外のキーワードを使用している通知メッセージの一例である。
【図１２】相違するキーワードを抽出する一例である。
【図１３】相違するキーワードを通知するメッセージの一例である。
【図１４】辞書定義を更新するフローチャート図である。
【図１５】時間の経過により、要求仕様書記述データを変更する一例である。
【図１６】相違するキーワードによって辞書データを更新する場合の一例である。
【図１７】辞書データが更新されたイベントを通知するメッセージの一例である。
【発明を実施するための形態】
【００１０】
以下、実施例を図面を用いて説明する。
【実施例】
【００１１】
図１は本実施例の一形態におけるシステム構成図である。本実施例はメモリ１００２、ＨＤＤ１００３、ＣＰＵ１００４、入力装置１００５、出力装置１００６、システムバス１００７を有するサーバ装置１００１、ストレージ１００９、前述したサーバ装置１００１と同様なサーバ装置１０１０によって構成されたシステム上で実現される。なお、サーバ装置１００１、サーバ装置１０１０、ストレージ１００９はネットワーク１００８によって接続されている。サーバ装置１００１とサーバ装置１０１０は一般的な計算機であってもよい。メモリ１００２は、本実施形態である要求仕様書の記述間相違抽出部１００を処理するために必要なプログラム及び一時データを記憶する。これらのプログラムをＣＰＵ１００４が実行し、これらの処理部の機能は実現される。ＨＤＤ１００３に記述間相違抽出処理１００の入力データである単体の要求仕様書６１０、要求仕様記述出力フォーマット６２０、キーワード出力フォーマット６３０が保存される。本実施例の処理の一形態は、メモリ１００２において、記述間相違抽出部１００が、単体の要求仕様書６１０に対して同一要求仕様記述抽出処理２０１を実行して、複数の要求仕様書間に同一要求仕様に対する記述を抽出する。同様に、サーバ装置１０１０でも同一要求仕様記述抽出処理２０１が実施される。サーバ装置１００１で前述した同一要求仕様記述抽出処理２０１の結果に対して相違キーワード抽出処理３０１を行う。同様に、サーバ装置１０１０でも同一要求仕様記述抽出処理２０１の結果に対して相違キーワード抽出処理３０１を行う。キーワード抽出処理３０１は辞書に定義済みのキーワードを使用したキーワード同士を比較する。比較した結果、複数の要求仕様記述間の相違するキーワードを抽出することができる。前述した同一要求仕様記述抽出処理２０１とキーワード抽出処理３０１によって、記述間相違抽出処理１００は複数の要求仕様記述間の相違する箇所を見つけることが可能にする。また要求仕様書の記述は時間につれて変更されること多い。前述した相違するキーワードの内容によって辞書定義を更新する必要があるため、本実施例では辞書定義を更新する辞書定義更新部４０１を提供する。各処理部および各フォーマットの詳細については後述する。なお、前述したＨＤＤ１００３はメモリ１００２によって実現することも可能である。さらに前述したシステム構成は一台のサーバ装置１００１とサーバ装置１０１０は分散した環境で実現してもよい。またサーバ装置１００１とサーバ装置１０１０の処理は一台のサーバ装置で行うことも可能である。ストレージ１００９は各サーバ装置のＨＤＤ装置で代替することが可能である。ＣＰＵ１００４、入力装置１００５、出力装置１００６、システムバス１００７においても、前述した本実施例を実現するための最低限の構成であり、実施形態の一例である。処理性能やシステム環境などの状況に応じて変更することが可能である。
【００１２】
図２Ａは、本実施例を適用する前の従来のソフトウェア開発プロセス処理の流れの一例である。従来のソフトウェア開発プロセスは顧客要求仕様書１１１によって、要求仕様書を作成する１０１ステップと、単体の要求仕様書を作成する１０２ステップと、単体の詳細仕様書を作成する１０３ステップと、単体コーディングする１０４ステップと、単体テストする１０５ステップと、システムテストする１０６ステップによって構成されている。まずソフトウェア開発担当は顧客が求める製品仕様が記載されている顧客要求仕様書１１１を受付する。顧客要求仕様書１１１をもとに要求仕様書を作成する１０１。要求仕様書の要求仕様をもとに複数の単体の要求仕様書に分割して単体の要求仕様書を作成する１０２。さらに単体の要求仕様書の記述をもとに詳細の処理プロセスを記述した単体の詳細仕様書を作成する１０３。単体コーディングする１０４ステップは単体の詳細仕様書を作成する１０３ステップで作成した単体の詳細仕様書に従ってコーティングする。そして単体コーディングする１０４ステップで単体コーティングしたプログラムに対して各単体の要求仕様を確認する単体テストする１０５ステップと単体の要求仕様間の動作の統一性を確認するシステムテストする１０５ステップを行う。システムテストする１０５ステップを行った結果、単体の要求仕様間に相違がある場合、単体の要求仕様間の相違がなくなるまで単体テストする１０５ステップと、システムテストする１０６ステップと、単体の要求仕様書を修正する１０７ステップと、単体の詳細仕様書を修正する１０８ステップと、単体コーティングを修正する１０９ステップを繰り返す。前述したプロセスはプログラムのテスト工程で単体の要求仕様間つまり要求仕様記述間の相違を発見するため、工程は大きな手戻りになってプログラムを作成するコストを浪費することが明白である。
【００１３】
図２Ｂは、本実施例を適用したソフトウェア開発プロセス処理の流れの一例である。本実施例は従来のソフトウェア開発プロセスと比較して単体の要求仕様書を作成する１０２ステップを実施した後、本実施例である記述間相違抽出処理１００を行うことで単体詳細仕様書を作成する１０３ステップを実施する前に単体の要求仕様書間相違するかどうかを判断して相違箇所は見つけることが可能なため、システムテストする１０５ステップを実施した後に工程の手戻りが発生しない。本実施例である記述間相違抽出処理１００の詳細は後述する。
【００１４】
図３は、同一要求仕様記述を抽出処理２０１を説明するフローチャート図である。同一要求仕様記述抽出処理２０１は複数の要求仕様記述にある同一要求仕様に対する記述を抽出する処理である。まず、サーバ装置１００１で単体の要求仕様書を読み込む２０２ステップはサーバ装置１００１のＨＤＤ１００３からメモリ１００２へ各単体の要求仕様書を読み込む。サーバ装置１０１０でも同様に前述した単体の要求仕様書を読み込む２０２ステップを行う。そして、サーバ装置１００１では、要求仕様記述出力フォーマットへ加工する２０３ステップは前述した単体の要求仕様書を読み込む２０２ステップで読み込んだ要求仕様記述に対して要求仕様ごとに文字列に切り出す。サーバ装置１０１０でも同様に、要求仕様記述出力フォーマットへ加工する２０３ステップを行う。要求仕様記述出力フォーマットへ加工する２０３ステップの詳細は後述する。最後にサーバ装置１００１では、同一要求仕様記述を抽出する２０４ステップは前述した要求仕様記述出力フォーマットへ加工する２０３ステップで切り出した文字列に対して、サーバ装置１０１０で前述したで切り出した文字列と比較することで同一要求仕様に対する記述を抽出する。同一要求仕様記述を抽出する２０４ステップの詳細は後述する。
【００１５】
図４Ａは本実施例である記述間相違抽出処理１００を適用する前にサーバ装置１００１にある単体の要求仕様書に記載される要求仕様記述の一例である。要求仕様書の記述は要求仕様ごとに記述される。また要求仕様記述のタイトルもしくは先頭行の文字列で仕様名称を記述される。サーバ装置１００１のＨＤＤ１００３に保存される要求仕様書６１０の要求仕様記述２０５の「A」は機能仕様Aの仕様名称で、「AAABAC」は要求仕様Aの要求仕様記述の一例であり、要求仕様書６１０の要求仕様記述２０５の「B」は機能仕様Bの仕様名称で、「BABBBC」は機能仕様Bの機能仕様記述の一例である。サーバ装置１００１では、単体の要求仕様書を読み込む処理２０２は前述した要求仕様記述２０５をサーバ装置１００１のメモリ１００２へ読み込む。
【００１６】
図４Ｂは本実施例である記述間相違抽出処理１００を適用する前にサーバ装置１０１０にある単体の要求仕様書に記載される要求仕様記述の一例である。前述したサーバ装置１００１と同様に、サーバ装置１０１０のＨＤＤに保存される要求仕様書の要求仕様記述２０６の「A」は機能仕様Aの仕様名称であり、「AAABAD」は機能仕様Aの機能仕様記述の一例、「C」は機能仕様Cの仕様名称であり、「CACBCC」は機能仕様Cの機能仕様記述の一例である。サーバ装置１０１０では、単体の要求仕様書を読み込む処理２０２は前述した要求仕様記述２０６をサーバ装置１０１０のメモリへ読み込む。前述した単体の要求仕様書を読み込む処理２０２で読み込んだ要求仕様記述２０５および要求仕様記述２０６は要求仕様記述を加工する処理２０３の入力となる。要求仕様記述を加工する処理２０３の詳細は後述する。
【００１７】
図５Ａはサーバ装置１００１で要求仕様書記述を加工する処理２０３の一例である。サーバ装置１００１で、要求仕様書記述を加工する処理２０３は要求仕様記述２０５に対して要求仕様記述出力フォーマット６２０に従って要求仕様を行ごとに文字列を切り出す。サーバ装置１００１で前述した要求仕様書記述を加工する処理２０３は要求仕様記述２０５の要求仕様「A」および「AAABAC」、要求仕様「B」および「BABBBC」を要求仕様記述２０５から切り出して加工後要求仕様記述２０７を得る。加工後要求仕様記述２０７はサーバ装置１００１のメモリ１００２へ保存する。
【００１８】
図５Ｂはサーバ装置１０１０で要求仕様書記述を加工する処理２０３の一例である。サーバ装置１００１と同様に、サーバ装置１０１０で要求仕様書記述を加工する処理２０３は要求仕様記述２０６に対して要求仕様記述出力フォーマット６２０に従って要求仕様を行ごとに文字列を切り出す。サーバ装置１０１０で前述した要求仕様書記述を加工する処理２０３は要求仕様記述２０６の要求仕様「A」および「AAABAC」、要求仕様「C」および「CACBCC」を要求仕様記述２０６から切り出して加工後要求仕様記述２０８を得る。加工後要求仕様記述２０８はサーバ装置１０１０のメモリへ保存する。加工後要求仕様記述２０７、加工後要求仕様記述２０８は同一要求仕様記述を抽出する処理２０４の入力となる。同一要求仕様記述を抽出する処理２０４の詳細は後述する。
【００１９】
図６は同一要求仕様記述を抽出する処理２０４の例である。サーバ装置１００１で、同一要求仕様に対する記述を抽出するために同一要求仕様記述を抽出する処理２０４は前述した要求仕様書記述を加工する処理２０３の実行結果である要求仕様記述２０７、要求仕様記述２０８に対して、要求仕様記述のタイトルまた先頭行の文字列を比較する。要求仕様記述２０７の「A」および「B」はサーバ装置１０１０にある要求仕様書記述を加工する処理２０３の実行結果である要求仕様記述２０８の「A」および「C」と比較する。比較した結果、同一要求仕様に対する記述は「A」である。前述した同一要求仕様記述を抽出する処理２０４の実行結果である記述「A」の文字列「A」および「AAABAC」を同一要求仕様記述２０９としてサーバ装置１００１のメモリ１００２へ保存する。同様に、サーバ装置１０１０で、同一要求仕様に対する記述を抽出するために同一要求仕様記述を抽出する処理２０４は前述した要求仕様書記述を加工する処理２０３の実行結果である要求仕様記述２０７、要求仕様記述２０８に対して、要求仕様記述のタイトルまた先頭行の文字列を比較する。要求仕様記述２０８の「A」および「C」はサーバ装置１００１にある要求仕様書記述を加工する処理２０３の実行結果である要求仕様記述２０７の「A」および「B」と比較する。比較した結果、同一要求仕様に対する記述は「A」である。前述した同一要求仕様記述を抽出する処理２０４の実行結果である記述「A」の文字列「A」および「AAABAD」を同一要求仕様記述２１０としてサーバ装置１０１０のメモリへ保存する。前述した同一要求仕様記述を抽出する処理２０４の実行結果である同一要求仕様記述２０９および２１０は相違キーワード抽出処理３０１の入力となる。
【００２０】
図７は相違キーワード抽出処理３０１の流れの一例である。サーバ装置１００１で、まず、同一要求仕様記述を読み込む３０２ステップは前述した同一要求仕様記述を抽出する処理２０１で得た実行結果である同一要求仕様記述２０９をキーワード抽出処理３０１の入力としてサーバ装置１００１のメモリ１００２へ読み込む。そして、キーワード出力フォーマットに加工する３０３ステップは前述した同一要求仕様記述を読み込む３０２ステップで読み込んだ同一要求仕様記述に対してキーワード出力フォーマット６３０に従ってキーワードごとに加工する。そして、前述したキーワード出力フォーマットに加工する３０３ステップで加工されたキーワードに対して、キーワードを比較する３０４ステップおよびキーワードを比較終了３０７ステップを行う。
【００２１】
キーワードを比較する３０４ステップとキーワードを比較終了３０７ステップの間では、同一要求仕様記述間に比較する対象であるキーワードを抽出するために比較対象キーワードを抽出する３０５ステップと比較する対象キーワードに対して相違するキーワードを抽出する３０６ステップが繰り返して実行される。同様にサーバ装置１０１０で、まず、同一要求仕様記述を読み込む３０２ステップは前述した同一要求仕様記述を抽出する同一要求仕様記述を読み込む処理２０１で得た実行結果である同一要求仕様記述２１０をキーワード抽出処理３０１の入力としてサーバ装置１０１０のメモリへ読み込む。
【００２２】
そして、キーワード出力フォーマットに加工する３０３ステップは前述した同一要求仕様記述を読み込む３０２ステップで読み込んだ同一要求仕様記述に対してキーワード出力フォーマットに従ってキーワードごとに加工する。そして、前述したキーワード出力フォーマットに加工する３０３ステップで加工されたキーワードに対して、キーワードを比較する３０４ステップおよびキーワードを比較終了３０７ステップを行う。キーワードを比較する３０４ステップとキーワードを比較終了３０７ステップの間では、同一要求仕様記述間に比較する対象であるキーワードを抽出するために比較対象キーワードを抽出する３０５ステップと比較する対象キーワードに対して相違するキーワードを抽出する３０６ステップが繰り返して実行される。サーバ装置１００１で、前述した同一要求仕様記述を読み込む３０２ステップ、キーワード出力フォーマットに加工する３０３ステップ、キーワードを比較する３０４ステップを実行した結果はサーバ装置１０１０で実行された同一要求仕様記述を読み込む３０２ステップ、キーワード出力フォーマットに加工する３０３ステップ、キーワードを比較する３０４ステップの実行結果と比較することによって、サーバ装置１００１にある要求仕様書６１０の記述はサーバ装置１０１０にある要求仕様書の同一要求仕様に対する記述の相違を見つける。最後に相違内容を出力する３０７ステップは前述した比較した結果のキーワードの相違する内容をサーバ装置１００１の出力装置１００６とメモリ１００２へ出力する。メモリ１００２へ出力した実行結果は辞書定義更新処理４０１の入力となる。
【００２３】
図８Ａはサーバ装置１００１で実行される同一要求仕様記述をキーワード出力フォーマットへ加工する処理３０３の一例である。サーバ装置１００１で、前述した同一要求仕様記述を抽出処理２０１で抽出した同一要求仕様記述２０９の文字列「AAABAC」はキーワード「AA」「AB」「AC」によって構成されている。キーワード出力フォーマットに加工する処理３０３は前述した同一要求仕様記述２０９に対して文字列「AAABAC」をキーワード出力フォーマット６３０に従ってキーワード「AA」「AB」「AC」へ加工する。前述したキーワード出力フォーマットに加工する処理３０３の実行結果である加工後記述キーワード２１１はサーバ装置１００１のメモリ１００２へ保存する。また前述した加工後記述キーワード２１１はキーワードを比較する処理３０４および比較対象キーワードを抽出する処理３０５の入力となる。
【００２４】
図８Ｂはサーバ装置１０１０で実行される同一要求仕様記述をキーワード出力フォーマットへ加工する処理３０３の一例である。前述したサーバ装置１００１で実行されるキーワード出力フォーマットへ加工する処理３０３と同様に、サーバ装置１０１０で、前述した同一要求仕様記述を抽出処理２０１で抽出した同一要求仕様記述２１０の文字列「AAABAD」はキーワード「AA」「AB」「AD」によって構成されている。キーワード出力フォーマットに加工する処理３０３は前述した同一要求仕様記述２１０に対して文字列「AAABAD」をキーワード出力フォーマットに従ってキーワード「AA」「AB」「AD」へ加工する。前述したキーワード出力フォーマットへ加工する処理３０３の実行結果である加工後記述キーワード２１２はサーバ装置１０１０のメモリへ保存する。また前述した加工後記述キーワード２１２はキーワードを比較する処理３０４および比較対象キーワードを抽出する処理３０５の入力となる。
【００２５】
図９は辞書の一例である。辞書は要求仕様記述に使用されることが認可されるキーワードの集合である。サーバ装置１００１のＨＤＤ１００３の辞書６４０にキーワード「AA」「AB」「AC」「AD」の定義が存在する。キーワード「AA」に対して定義１「AA」、定義２「AA1」がある。同様に、キーワード「AB」に対して定義１「AB」および定義２「AB1」、キーワード「AC」に対して定義１「AC」および定義２「AC1」、キーワード「AD」に対して定義１「AD」および定義２「AD1」がある。辞書６４０はあらかじめにストレージ装置１００９に保存される。
【００２６】
図１０Ａはサーバ装置１００１で実行する比較対象キーワードを抽出する処理３０５を説明する一例である。サーバ装置１００１で、まず、比較対象キーワードを抽出する処理３０５は前述したストレージ装置１００９にある辞書６４０をメモリ１００２へ読み込む。そして、前述したキーワード出力フォーマットへ加工する処理３０３で同一要求仕様記述に対してキーワードへ加工した抽出前キーワード２１１をメモリ１００２へ読み込む。読み込んだ抽出前キーワード２１１とストレージ装置１００９の辞書６４０と照合する。前述した照合を実施した結果、抽出前キーワード２１１と辞書６４０両者に存在するキーワードを抽出する。前述した比較対象キーワードを抽出する処理３０５は要求仕様書６１０の要求仕様記述は辞書６４０が認可されたキーワードを使用して記述されていることを保証する。最後に、前述した比較対象キーワードを抽出する処理３０５の実行結果である抽出後キーワード２１３をサーバ装置１００１のメモリ１００２へ保存する。前述した比較対象キーワードを抽出する処理３０５は前述した照合を実施した結果、抽出前キーワード２１１に存在するが、辞書６４０に存在しないキーワードの場合、辞書定義外のキーワードを使用している通知メッセージ５０１をサーバ装置１００１の出力装置１００６へ出力する。メッセージ５０１の詳細は後述する。
【００２７】
図１０Ｂはサーバ装置１０１０で実行する比較対象キーワードを抽出する処理３０５を説明する一例である。サーバ装置１０１０で、まず、比較対象キーワードを抽出する処理３０５は前述したストレージ装置１００９にある辞書６４０をサーバ装置１０１０のメモリへ読み込む。そして、前述したキーワード出力フォーマットへ加工する処理３０３で同一要求仕様記述に対してキーワードへ加工した抽出前キーワード２１２をサーバ装置１０１０のメモリへ読み込む。読み込んだ抽出前キーワード２１２とストレージ装置１００９の辞書６４０と照合する。前述した照合を実施した結果、抽出前キーワード２１２と辞書６４０両者に存在するキーワードを抽出する。前述した比較対象キーワードを抽出する処理３０５はサーバ装置１０１０に保存する要求仕様書の要求仕様記述は辞書６４０が認可されたキーワードを使用して記述されていることを保証する。最後に、前述した比較対象キーワードを抽出する処理３０５の実行結果である抽出後キーワード２１４をサーバ装置１０１０のメモリへ保存する。前述した比較対象キーワードを抽出する処理３０５は前述した照合を実施した結果、抽出前キーワード２１２に存在するが、辞書６４０に存在しないキーワードの場合、辞書定義外のキーワードを使用している通知メッセージ５０１をサーバ装置１０１０の出力装置１００６へ出力する。メッセージ５０１の詳細は後述する。
【００２８】
図１１は辞書定義外のキーワードを使用している通知メッセージ５０１の一例である。サーバ装置１００１で、前述した比較対象キーワードを抽出する処理３０５で抽出前キーワード２１１と辞書６４０間に抽出前キーワード２１１に使用されている要求仕様記述「A」のキーワード「AE」が存在するとする。前述した辞書６４０に要求仕様記述「A」のキーワード「AE」は辞書６４０の定義に存在しないため、メッセージ５０１は辞書定義外のキーワードを使用している要求仕様記述を示す「要求仕様記述：A」、辞書定義外のキーワードを示す「定義外キーワード：AE」を出力する。ボタン「OK」を押すと比較対象キーワードを抽出する処理３０５が終了する。ボタン「辞書を更新する」を押すと辞書定義更新処理４０１を実行する。辞書定義更新する処理４０１の詳細は後述する。
【００２９】
図１２は相違するキーワードを抽出する処理３０６の一例である。サーバ装置１００１で、相違するキーワードを抽出する処理３０６は前述した比較対象キーワードを抽出する処理３０５の実行結果である比較前キーワード２１３を前述したサーバ装置１００１で前述した比較対象キーワードを抽出する処理３０５を実行した結果である比較前キーワード２１４と比較する。サーバ装置１００１の比較前キーワード「AA」「AB」「AC」はサーバ装置１０１０の比較前キーワード「AA」「AB」「AD」と比較する。前述した相違するキーワードを抽出する処理３０６の比較した結果、サーバ装置１００１にある要求仕様記述の比較前キーワードはサーバ装置１０１０にある要求仕様記述の比較前キーワードと相違するキーワードである比較後キーワード２１５の「AC」を抽出する。サーバ装置１００１で、相違するキーワードである比較後キーワード２１５はサーバ装置１００１のメモリ１００２へ保存する。またサーバ装置１００１の出力装置１００６へ相違するキーワード「AC」および「AC」が存在する要求仕様記述「A」を通知するメッセージ５０２を出力する処理３０７をする。メッセージ５０２の詳細は後述する。
【００３０】
図１３は相違するキーワードを通知するメッセージ５０２の一例である。サーバ装置１００１で、前述した相違する対象キーワードを抽出する処理３０６は実行結果に相違するキーワードが存在する場合、要求仕様記述と相違するキーワードをサーバ装置１００１の出力装置１００６へ相違するキーワードを通知するメッセージ５０２を出力する処理３０７をする。前述したメッセージ５０２は要求仕様記述「A」およびサーバ装置１００１にある要求仕様書６１０の要求仕様記述はサーバ装置１０１０にある要求仕様書の要求仕様記述と相違するキーワード「AC」をサーバ装置１００１の出力装置１００６へ出力する。ボタン「OK」をクリックした場合、相違するキーワード抽出処理３０１が終了する。
【００３１】
図１４は辞書定義更新処理４０１の流れの一例である。ソフトウェア開発特に大規模なソフトウェア開発では、要求仕様書の記述および記述に使用されるキーワードも一定の時間間隔で変更される。前述した比較対象キーワードを抽出する処理３０５で要求仕様記述のキーワードは辞書の記述と比較するが、要求仕様記述のキーワードの変更に伴って辞書のキーワードの定義を更新しなければならない。前述した比較対象キーワードを抽出する処理３０５の辞書と照合する処理で要求仕様記述および要求仕様記述のキーワードが変化するため、要求仕様記述にあるが辞書に存在しないキーワードが存在する。その場合、前述した比較対象キーワードを抽出する処理３０５のようにメッセージ５０１がサーバ装置１００１の出力装置１００６へ出力される。このメッセージ５０１のボタン「辞書を更新する」を押すと、既存辞書の辞書定義更新処理４０１を実行する。サーバ装置１００１で、辞書定義更新処理４０１はまず、既存の辞書をメモリ１００２へ読み込む４０２ステップを実行する。そして、辞書を更新する４０３ステップと辞書を更新終了４０６ステップの間では既存辞書と比較する４０４ステップと既存辞書を更新する４０５ステップを繰り返して実行される。
【００３２】
既存辞書と比較する４０４ステップは前述した相違キーワード抽出処理３０１の実行結果である要求仕様記述間の相違するキーワードを既存辞書と比較する。既存辞書を更新する４０５ステップは、前述した既存辞書と比較する４０４ステップの実行結果に要求仕様記述に相違するキーワードが存在する場合、相違するキーワードで既存辞書の辞書定義を更新する。前述した既存辞書と比較する４０４ステップの実行結果に要求仕様記述に相違するキーワードが存在しない場合、前述した既存辞書を更新する４０５ステップおよび辞書を更新する４０３ステップが終了する。辞書更新内容を出力する４０６ステップは前述した既存辞書を更新する４０５ステップで更新した内容をサーバ装置１００１の出力装置１００６へ辞書が更新されたイベントを通知するメッセージを出力する。辞書を更新する４０３ステップの詳細は後述する。
【００３３】
図１５は時間の経過によって要求仕様書記述が変更される場合を説明する一例である。サーバ装置１００１に保存される要求仕様書６１０の記述は時刻t1の要求仕様「A」および要求仕様記述のキーワード「AA」「AB」が存在するとする。一定の時間を経過後、時刻t2に要求仕様書６１０の記述は要求仕様「A」に対して要求仕様記述のキーワード「AA」「AB」「AC」となることが多い。この場合、前述した比較対象キーワードを抽出する処理３０５の辞書と照合する処理で要求仕様記述および要求仕様記述のキーワードの変化に対応可能にするために既存辞書を更新する必要がある。
【００３４】
図１６は相違するキーワードによって辞書を更新する処理４０３を説明する一例である。サーバ装置１００１で、まず辞書を更新する処理４０３の既存辞書と比較する処理４０４は前述した相違キーワード「AE」を抽出する相違するキーワードを抽出する処理３０６の実行結果である相違するキーワード２１１を既存のストレージ装置１００９に保存される更新前辞書６４０と比較する。そして既存の更新前辞書６４０のキーワード定義ではキーワード「AE」の定義が存在しないため、既存の更新前辞書６４０を更新する既存辞書を更新する処理４０５は更新前辞書６４０の辞書定義にキーワード「AE」の定義を辞書６４０へ追加して更新後辞書６５０を得る。ユーザの判断によってサーバ装置１００１の入力装置１００５からキーワード「AE」を使用する際に認可するキーワード「AE」の定義を追加や編集することも可能である。前述した辞書を更新する処理４０３を実行した後、辞書更新内容を出力する処理４０６はサーバ装置１００１の出力装置１００６へ辞書が更新されたイベントを通知するメッセージ５０３を出力する。メッセージ５０３の詳細は後述する。
【００３５】
図１７は辞書が更新されたイベントを通知するメッセージの一例である。サーバ装置１００１で、前述した辞書を更新する処理４０３は既存辞書を更新した場合、更新した要求仕様記述「A」、更新した要求仕様記述のキーワードAC、更新の動作「追加」を通知するメッセージ５０３を出力する。ボタン「OK」をクリックした場合、辞書を更新する処理４０３および辞書定義を更新処理４０１を終了する。
【符号の説明】
【００３６】
１００１  サーバ装置
１００２  メモリ
１００３  ＨＤＤ
１００６  出力装置
１００８  ネットワーク
１００９  ストレージ装置
１０１０  サーバ装置
１００    記述間相違抽出部
２０１    同一要求仕様記述抽出部
３０１    相違キーワード抽出部
４０１    辞書定義更新部
６１０    単体の要求仕様書
６２０    要求仕様記述出力フォーマット
６３０    キーワード出力フォーマット
【図１】
2013105288.tif 000003
【図２Ａ】
2013105288.tif 000004
【図２Ｂ】
2013105288.tif 000005
【図３】
2013105288.tif 000006
【図４Ａ】
2013105288.tif 000007
【図４Ｂ】
2013105288.tif 000008
【図５Ａ】
2013105288.tif 000009
【図５Ｂ】
2013105288.tif 000010
【図６】
2013105288.tif 000011
【図７】
2013105288.tif 000012
【図８Ａ】
2013105288.tif 000013
【図８Ｂ】
2013105288.tif 000014
【図９】
2013105288.tif 000015
【図１０Ａ】
2013105288.tif 000016
【図１０Ｂ】
2013105288.tif 000017
【図１１】
2013105288.tif 000018
【図１２】
2013105288.tif 000019
【図１３】
2013105288.tif 000020
【図１４】
2013105288.tif 000021
【図１５】
2013105288.tif 000022
【図１６】
2013105288.tif 000023
【図１７】
2013105288.tif 000024