(57)【要約】【課題】システム開発で利用可能であって、人手で作成するような望ましい要求分析モデルを生成することができる要求分析モデル生成装置を提供する。【解決手段】仕様を構文解析して、仕様を構成する仕様文へと変換するとともにモダリティ情報を抽出する構文解析部と、仕様文を、分割処理によって、単位仕様文に分割するとともに、モダリティ情報を単位仕様文に分配する仕様文分割部と、仕様の言語解析結果から得られる格解析情報を用いて、単位仕様文から要求分析モデルを構成する要求分析モデル要素を作成する格解析情報適用部と、要求分析モデル要素に付随するモダリティ情報を用いて、要求分析モデル要素を変換後要求分析モデル要素に変換するモダリティ情報適用部と、言語解析結果から得られる係り受け情報を用いて、変換後要求分析モデル要素をつなぎ合わせ要求分析モデルを構築する要求分析モデル構築部とを、備える要求分析モデル生成装置。【選択図】図１
2014238697.tif 000002
【特許請求の範囲】
【請求項１】
仕様を構文解析して、前記仕様を構成する仕様文へと変換するとともにモダリティ情報を抽出する構文解析部と、
前記仕様文を、分割処理によって、単位仕様文に分割するとともに、前記モダリティ情報を前記単位仕様文に分配する仕様文分割部と、
前記仕様の言語解析結果から得られる格解析情報を用いて、前記単位仕様文から要求分析モデルを構成する要求分析モデル要素を作成する格解析情報適用部と、
前記要求分析モデル要素に付随する前記モダリティ情報を用いて、前記要求分析モデル要素を変換後要求分析モデル要素に変換するモダリティ情報適用部と、
前記言語解析結果から得られる係り受け情報を用いて、前記変換後要求分析モデル要素をつなぎ合わせ要求分析モデルを構築する要求分析モデル構築部とを、
備える要求分析モデル生成装置。
【請求項２】
前記構文解析部における仕様文の生成では、
前記仕様文の主要述語に対する係り受けに関与する係助詞の情報である格解析情報と、
品詞や接続詞などの機能語及び特殊な意味を持つ用語の情報であるモダリティ情報と、
文節の係り受け関係の情報である係り受け情報とを、併せて生成する請求項１記載の要求分析モデル生成装置。
【請求項３】
前記モダリティ情報は、否定モダリティ、逆接モダリティ、条件モダリティ、原因モダリティのいずれかあるいはそれらの組み合わせである請求項１又は請求項２記載の要求分析モデル生成装置。
【請求項４】
前記単位仕様文への分割では、前記仕様文を構成している要素を要求分析モデルに変換できる粒度であって、所定の分割パターンに一致する場合に前記仕様文を分割する請求項１乃至請求項３のいずれか１項に記載の要求分析モデル生成装置。
【請求項５】
前記分割パターンは、「連用係り＋読点」パターンあるいは「連用係り＋〜たら」パターンである請求項４記載の要求分析モデル生成装置。
【請求項６】
前記仕様文が分割される際に、前記仕様文が持つモダリティ情報を前記単位仕様文に分配するモダリティ分配のルールは、ユーザが設定可能である請求項４又は請求項５記載の要求分析モデル生成装置。
【請求項７】
前記要求分析モデル要素は、前記単位仕様文と一対一で結びついており、前記要求分析モデル要素が持つ前記モダリティ情報も分配されたものである請求項１乃至請求項６のいずれか１項に記載の要求分析モデル生成装置。
【請求項８】
前記要求分析モデル要素は、
前記単位仕様文データの識別子である単位仕様文IDと、
前記単位仕様文に分配されたモダリティ情報と、
前記仕様文間の係り受け情報と、
前記要求分析モデル要素が含む、０個以上の要求分析モデル要素の構成部品に関する情報である部品情報とから成る前記要求分析モデル要素の構成部品を組み合わせて作られる請求項１乃至請求項７のいずれか１項に記載の要求分析モデル生成装置。
【請求項９】
前記要求分析モデル要素は、データストア、プロセス及びデータフローによってデータの流れを示す矢印で繋いだデータフローダイヤグラムの形式で表す請求項８記載の要求分析モデル生成装置。
【請求項１０】
前記要求分析モデル要素の構成部品は、ノードとエッジとから構成され、
前記ノードは、前記構成部品を一意に識別するための文字列である部品名と、プロセスやデータストア等の部品タイプと、当該部品が含まれる仕様文識別子の列である出現箇所データから有し、
前記エッジは、前記部品名、前記部品タイプ、エッジの尾側のノード名の文字列であるソースノード名、エッジの頭側のノード名の文字列であるターゲットノード名を有する請求項８記載の要求分析モデル生成装置。
【請求項１１】
前記格解析情報から要求分析モデル要素を生成する処理は、前記単位仕様文の解析結果の格解析情報に生成パターンとマッチするデータがある場合、前記要求分析モデル要素に変換する請求項１又は請求項２記載の要求分析モデル生成装置。
【請求項１２】
前記要求分析モデル要素は、前記要求分析モデル要素の構成部品が0個以上集まって形成される要素であって、
0個以上のプロセス以外のノード要素である入力ストア部及び出力ストア部と、
0個以上のエッジ要素である入力フロー部及び出力フロー部と、
0個以上のプロセスのノード要素である述部の組み合わせで表現される請求項１０記載の要求分析モデル生成装置。
【請求項１３】
モダリティ情報による前記変換後要求分析モデル要素へのモダリティ変換のルールはユーザが設定可能であり、該モダリティ変換ルールの決定には、前記要求分析モデル要素が持つモダリティ情報を利用し、モダリティを複数適用する場合は適用する順序までルール化する請求項１乃至請求項１２のいずれか１項に記載の要求分析モデル生成装置。
【請求項１４】
前記モダリティ変換ルールは、排他的な出力フローを作成し、作成されたフローに無名のプロセスを接続する「逆接」のモダリティ変換ルール、入力フローを出力フローとして接続し直す「条件」のモダリティ変換ルール、プロセスとそこに結合していた出力フロー、移行の要素を削除する「否定」のモダリティ変換ルールを含む請求項１３記載の要求分析モデル生成装置。
【請求項１５】
前記変換後要求分析モデル要素をつなげる係り受け接続ルールは、ユーザが定義することが可能である請求項１３記載の要求分析モデル生成装置。
【請求項１６】
前記係り受け接続ルールは、前記変換後要求分析モデル要素の双方のノード要素を接続し、接続していないフローが存在する場合、新たなフローを作らずに、そのフローの接続先が内側を相手方に接続させる請求項１５記載の要求分析モデル生成装置。
【請求項１７】
前記係り受け接続ルールは、前記変換後要求分析モデル要素の要素名を解析し接続の親和性が高い要素を接続する請求項１５記載の要求分析モデル生成装置。
【請求項１８】
前記仕様を入力する入力部を備え、入力した仕様は、前記構文解析部に送る請求項１乃至請求項１７のいずれか１項に記載の要求分析モデル生成装置。
【請求項１９】
前記生成した仕様文、前記モダリティ情報、前記分割パターン、前記モダリティ分配ルール、対にした前記単位仕様文と分配された前記モダリティ情報、前記モダリティ情報と係り受け情報を付与した前記要求分析モデル要素、前記変換後要求分析モデル要素のそれぞれを記憶する記憶装置を備える請求項１乃至請求項１８のいずれか１項に記載の要求分析モデル生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、仕様からの要求分析モデル生成装置に関する。
【背景技術】
【０００２】
近時、システムの大規模化、システム間の機能統合などにより開発するシステムの要求が増加している。それに伴い、要求分析で要求分析モデルを作る工数が増大している。
【０００３】
このため、要求仕様の文章から要求分析モデルを自動生成することは要求分析者の作業工数を低減することに役立つ。これにより、要求達成度合いの高いシステムをつくるための作業工数を低減することができる。
【０００４】
従来、自然言語で記述された要求仕様を自然言語解析し、その結果の格解析情報から要求分析モデルを生成していた。
【０００５】
しかし、従来の手法では、複雑な文（単文でない、モダリティを含む）を変換すると、人手で作成する望ましい要求分析モデルとは異なる要求分析モデルが生成されてしまう、という問題があった。
【０００６】
複雑な文に対して、そこに登場する用語の出現パターンを用いた例外的な変換ルールを作成することにより、人手で作成する要求分析モデルに近づける技術が開発されているが、以下のような課題を抱えている。
【０００７】
（１）自然言語の文章に強い制約を課され、この制約に従って要求仕様を作成するためにかかる学習コストが大きい。  
（２）例外パターンの量が爆発してしまい、システム開発で用いる要求仕様に対しては、例外を網羅することが現実的でない。
【０００８】
システム開発で用いる要求仕様は複雑な文で記述される部分が大半であり、上記のような従来技術をシステム開発で利用することが難しかった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平８−３０５７０７号公報
【特許文献２】特開２００９−１８１５５０号公報
【非特許文献】
【００１０】
【非特許文献１】情報処理学会第４２回（平成３年前期）全国大会「用語知識再利用による要求分析支援手法（II）田中誠一郎，他
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明が解決しようとする課題は、システム開発で利用可能であって、人手で作成するような望ましい要求分析モデルを生成することができる要求分析モデル生成装置を提供することである。
【課題を解決するための手段】
【００１２】
実施形態の要求分析モデル生成装置は、仕様を構文解析して、前記仕様を構成する仕様文へと変換するとともにモダリティ情報を抽出する構文解析部と、前記仕様文を、分割処理によって、単位仕様文に分割するとともに、前記モダリティ情報を前記単位仕様文に分配する仕様文分割部と、前記仕様の言語解析結果から得られる格解析情報を用いて、前記単位仕様文から要求分析モデルを構成する要求分析モデル要素を作成する格解析情報適用部と、前記要求分析モデル要素に付随する前記モダリティ情報を用いて、前記要求分析モデル要素を変換後要求分析モデル要素に変換するモダリティ情報適用部と、前記言語解析結果から得られる係り受け情報を用いて、前記変換後要求分析モデル要素をつなぎ合わせ要求分析モデルを構築する要求分析モデル構築部とを、備える。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る要求分析モデル生成装置の概略構成を示すブロック図である。
【図２】実施形態に係る要求分析モデル生成装置１における要求分析モデル生成処理の流れを示すフローチャートである。
【図３】構文解析による仕様から仕様文を生成する処理を説明する図である。
【図４】仕様文の生成処理の流れを示すフローチャートである。
【図５】仕様文の単位仕様文への分割処理を説明する図である。
【図６】単位仕様文を説明する図である。
【図７】「連用係り＋読点」パターンによる分割処理の一例を示す図である。
【図８】モダリティ分配を説明する図である。
【図９】仕様文の分割処理の流れを示すフローチャートである。
【図１０】要求分析モデル要素を説明する図である。
【図１１】生成パターンがマッチした場合の変換処理例を示す図である。
【図１２】格解析情報に基づいて生成した要求分析モデル要素を示す図である。
【図１３】要求分析モデル要素の生成処理の流れを示すフローチャートである。
【図１４】モダリティ変換ルール適用の一例を示す図である。
【図１５】モダリティ変換ルールの記述手法を説明する図である。
【図１６】モダリティ情報によって要求分析モデル要素を変換した変換後要求分析モデル要素を示す図である。
【図１７】変換後要求分析モデル要素の生成処理の流れを示すフローチャートである。
【図１８】係り受け情報を用いた係り受け接続ルールによる接続例を示す図である。
【図１９】変換後要求分析モデル要素の統合を説明する図である。
【図２０】係り受け情報によって構築した要求分析モデルの一例を示す図である。
【図２１】係り受け情報による要求分析モデル構築処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１５】
まず、本実施形態で用いる主要な用語について説明する。
【００１６】
「文」とは、句点から句点の間の文字列をいう。文は、文節という構造で構成されており、文節は句という構造で構成されている。
【００１７】
「用語」とは、文節を構成する単語で、最後尾の単語を正規化した文字列をいう。「用語」は、後述する影響関係モデルを構成するノード要素の要素名にあたる。
【００１８】
「仕様」とは、「文」が１つ以上集まった要素をいう。
【００１９】
「仕様書」とは、「仕様」の集まりをいう。ドキュメントが複数にまたがっていても「仕様書」と呼ぶ。
【００２０】
「仕様文」とは、構文解析にかけられる「文」とその解析結果をまとめあげる構成データをいう。解析結果は「文」、「文節」、「句」のレベルで特定することができる。構成データについては、後述する。
【００２１】
「係り受け解析」とは、語句の間にある、“修飾する”あるいは“修飾される”関係を抽出する手法をいう。解析結果は、文としての解析結果、文節ごとの解析結果、句ごとの解析結果で構成される。「係り受け解析」では、述語項の構造を解析する格解析が必要となる場合がある。
【００２２】
「モダリティ」とは、文や用語に格関係以外の情報を付与するものをいう。言語学的には副詞やなどの品詞による影響、テンス、ヴォイス、ムード、アスペクト、否定や提題といった情報が「モダリティ」にあたる。「モダリティ」情報がかけると、文の意図が抜け落ちる。ここで、モダリティの効果例について、例示する。
【００２３】
（１）係助詞を変化させ、文のモードを変える。  
提題助詞 ：「システムが和を計算する」→「和はシステムが計算する」（「和」について強調）
取り立て助詞：「最初のメールを削除する」→「最初のメールのみ削除する」
（「最初のメール」以外には行わないという情報を付与）
（２）述語に係り、文のモードを変える。  
アスペクト ：「システムが計算する」→「システムが計算している」
（「計算」が続いているという情報を付与）
テンス：「システムが計算する」→「システムが計算した」
（「計算」が終わっているという情報を付与）
（３）名詞に係り、用語のモードを変える。  
副詞：「データを読み込む」→「以前のデータを読み込む」
（今回のデータではないという情報を付与）
（４）述語の活用変化で、文のモードを変える。  
仮定：「データを読み終え、計算をする」→「データを読み終えれば、計算をする」
（読み終えることができない可能性があるという情報を付与）
（５）上記の複合で文のモードを変える。  
禁止表現：「データを書き換えない」→「データを書き換えてはいけない」
（「書き換える」ことが可能だが禁止されているという情報を付与）
本実施形態は、「モダリティ」の種別に制限を受けずに適用することができる。
【００２４】
「要求分析モデル」とは、「仕様書」の内容をグラフ構造の図として表現したものをいう。図は、ノード要素とエッジ要素の組合せで記述される。ノード要素とエッジ要素はそれぞれいくつかの表記形式（図形）を用いることができる。このため、図は各要素の表記形式とそれらの結合関係で「仕様書」の内容をモデル化する。後述するように、本実施形態では、データフロー図を事例として用いているが、「要求分析モデル」の構成要素に対して同様の手法で「用語」を割り当てられるものは全て「要求分析モデル」として取り扱える。
【００２５】
本実施形態においては、仕様書に含まれる全ての仕様を構文解析して要求分析モデル要素を生成し、生成された要求分析モデル要素を仕様書の中に存在するモダリティ情報を用いて変換し、変換した要求分析モデル要素を結び付けて要求分析モデルを構築するものである。
【００２６】
図１は、本発明の実施形態に係る要求分析モデル生成装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ（例えばパーソナルコンピュータ（ＰＣ）等）と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、ＣＡＤ（Computer Aided Design）やＣＡＥ（Computer Aided Engineering）に好適なエンジニアリングワークステーション（ＥＷＳ）等も含む。本実施形態はこのようなコンピュータに、要求分析モデル要素の生成から要求分析モデル構築に係る一連の手続きを実行させるプログラムとして実施することもできる。
【００２７】
図１に示すように、本実施形態に係る要求分析モデル生成装置１は、主として、入力部１１、構文解析部１２、仕様文分割部１３、格解析情報適用部１４、モダリティ情報適用部１５、要求分析モデル構築部１６より構成されている。構文解析部１２、仕様文分割部１３、格解析情報適用部１４は、要求分析モデルの要素生成を担うものである。モダリティ情報適用部１５、要求分析モデル構築部１６は、要求分析モデル構築を担うものである。
【００２８】
入力部１１は、仕様書を入力するものである。例えば、ソフトウェアの仕様書を入力する。入力した仕様書は、構文解析部１２に送られる。
【００２９】
構文解析部１２は、構文解析によって、仕様書中に存在する文の一つ一つから仕様を構成する仕様文へと変換する。仕様文では、解析結果が木構造を形成する。構文解析によって、後述する格解析情報、モダリティ情報及び係り受け情報が抽出される。変換された仕様文のデータは、仕様文分割部１３へと送られる。
【００３０】
仕様文分割部１３は、分割可能な仕様文を分割処理によって、複数の仕様文に分割する。仕様文は、単文で成り立つものに限られず、複文等で表現されている仕様文は要求分析モデルに変換できる粒度、例えば単語レベルにまで分割する。分割された仕様文は、再度分割可能かどうかの判定にかけられ、分割が不可能と判定された時に、その分割された仕様文は単位仕様文となる。仕様文の分割処理の詳細は後述する。単位仕様文のデータは、格解析情報適用部１４へと送られる。
【００３１】
格解析情報適用部１４は、後述する所定の変換パターンを利用して、分割後の単位仕様文から要求分析モデルを構成する要求分析モデル要素を作成する。要求分析モデル要素のデータは、モダリティ情報適用部１５へと送られる。
【００３２】
モダリティ情報適用部１５は、要求分析モデル要素に付随するモダリティ情報を用いて、要求分析モデル要素を変換後要求分析モデル要素に変換する。変換した変換後要求分析モデル要素は、要求分析モデル構築部１６へと送られる。
【００３３】
要求分析モデル構築部１６は、係り受け情報を用いてモダリティ情報適用部１５で変換された要求分析モデル要素をつなぎ合わせて、要求分析モデルを構築する。
【００３４】
次に、以上のように構成された要求分析モデル生成装置１における要求分析モデル生成処理の流れについて説明する。
【００３５】
図２は、実施形態に係る要求分析モデル生成装置１における要求分析モデル生成処理の流れを示すフローチャートである。ここでは、処理の概要を述べ、処理の詳細は後述する。
【００３６】
まず、入力部１１を介して、ソフトウェアの仕様書の情報を入力する（ステップＳ２１）。次いで、仕様を１つずつ構文解析し、仕様を構成する文を仕様文という形式で保存する。また、モダリティ情報の抽出もここで行う（ステップＳ２２）。
【００３７】
次に、仕様文を、各構成要素を要求分析モデルに変換できる粒度である単位仕様文まで分割する。モダリティ情報は単位仕様文に分配される（ステップＳ２３）。
【００３８】
次に、言語解析結果から得られる格解析情報を用いて単位仕様文から要求分析モデル要素を生成する。モダリティ情報は、対応する要求分析モデル要素に付随していく（ステップＳ２４）。
【００３９】
次に、要求分析モデル要素を付随するモダリティ情報を用いて変換し、変換後要求分析モデル要素にする（ステップＳ２５）。
【００４０】
次いで、変換後要求分析モデル要素を言語解析の結果から得られる係り受け情報と変換後要求分析モデル要素の各ノードの名前を用いてつなぎ合わせ、要求分析モデルを構築する（ステップＳ２６）。
【００４１】
上記したステップＳ２２からステップＳ２４は要求分析モデル要素の生成に係る処理であり、ステップＳ２５からステップＳ２６は、要求分析モデル構築に係る処理である。
【００４２】
＜仕様文の生成＞
図３は、構文解析による仕様から仕様文を生成する処理を説明する図である。図３に示す仕様書の例では、
「（仕様１）蓋センサが3sec以上onとなったら、蓋が閉じたと判断する。」
「（仕様２）蓋が閉じられ、水量が適正な場合、沸騰行為をする。」
「（仕様３）蓋が閉じられても、水量が異常な場合、状態はアイドルのままである。」
という仕様を構文解析して、仕様文を生成する。日本語の構文解析は、主に文節間の係り受け構造を発見することである。係り受け解析をはじめとする構文解析により生成された仕様文は、
（仕様文１）
“蓋センサ”、“３sec以上on”、“なる”、“蓋”、“閉じた”、“判断する”の仕様文を構成する要素から成り立っている。構文解析の際に生成されるモダリティ情報は、「受身」，「条件」である。
【００４３】
（仕様文２）
“蓋”、“閉じる”、“水量”、“適正だ”、“沸騰行為”、“する”の仕様文を構成する要素から成り立っている。構文解析の際に生成されるモダリティ情報は、「受身」，「条件」である。
【００４４】
（仕様文３）
“蓋”、“閉じる”、“水量”、“異常だ”、“状態”、“アイドル”、“である”の仕様文を構成する要素から成り立っている。構文解析の際に生成されるモダリティ情報は、「受身」，「逆接」，「条件」，「継続」である。
【００４５】
各々の要素は図３中の実線のように関わりあっている。
【００４６】
＜仕様文の構成データ＞
仕様文の生成に際しては、例えば、“分割判定フラグ”、“仕様識別子”、“仕様文ID”、“解析結果”の構成データが作成される。“分割判定フラグ”は、仕様もしくは仕様文が分割可能か判定されたか否かを示すフラグで、未判定もしくは判定済がある。“仕様識別子”は、仕様を識別するものである。“仕様文ID”は、仕様文を識別するものである。例えば、仕様文の最終文節番号である。“解析結果”は、後述する仕様文の分割処理と変換処理で利用するために必要なデータである。例えば、係り受け解析を行う周知の言語解析器であるKNPの出力データがそれに該当する。以降の説明では、KNPの出力データを例にとって説述する。
【００４７】
格解析情報：仕様文の主要述語に対する係り受けに関与する係助詞の情報である。別言すれば、係り語、係られる語及び係り方を保持する情報であるが、利用する構文解析機に依存する、自由度があるものである。
【００４８】
モダリティ情報：品詞や接続詞といった機能語、および、特殊な意味を持つ用語の情報。変換パターンの内容によって取得するデータは異なる。また複数の要素を同一の情報として取り扱うことや、複数の要素で異なるモダリティ情報として取り扱うことも可能。
【００４９】
係り受け情報：文節の係り受け関係の情報。分割処理でも利用する。
【００５０】
尚、上記したこれらの情報は、日本語等の言語の種別に制約されず、どの自然言語からも取得することができる。
【００５１】
仕様文の生成での構成データは、例えば、分割判定フラグ：未判定、仕様識別子：仕様１、仕様文ID：ａ１、解析結果：＜文頭＞＜サ変＞＜ガ＞＜助詞＞＜体言＞＜係:ガ格＞・・・である。
【００５２】
図４は、仕様文の生成処理の流れを示すフローチャートである。
【００５３】
まず、仕様書の中から仕様を１つ取得する（ステップＳ４１）。
【００５４】
次に、当該仕様に含まれる文を１つ取得する（ステップＳ４２）。
【００５５】
次いで、当該文について係り受け解析による仕様文を生成する（ステップＳ４３）。この段階で、格解析情報、モダリティ情報及び係り受け情報が抽出される。
【００５６】
次に、解析結果のデータの中で、以下のようなデータをモダリティと判断し、モダリティ情報として抽出する（ステップＳ４４）。
【００５７】
（１）言語解析器が判定したモダリティ情報（例：＜可能表現＞、＜否定表現＞、＜態：受動＞など）
（２）言語解析器が抽出した構文情報の組合せでモダリティ情報を含むと判断されるもの（例：＜ID：〜が＞、＜テモ＞、など）
（３）言語解析器が抽出した単語要素の組合せでモダリティ情報を含むと判断されるもの（例：「従来」、「時」、「場合」、など）
（４）上記（１）〜（３）までの組合せ
モダリティ情報の抽出された情報から、次のように、モダリティを判断する。
【００５８】
＜否定表現＞ → ＜否定＞モダリティ
＜ID：〜が＞ → ＜逆接＞モダリティ
「場合」 → ＜条件＞モダリティ
＜ため-せい＞AND＜ID：〜ため＞ → ＜原因＞モダリティ
生成した仕様文及び抽出したモダリティ情報は、記憶装置（図示しない）に保存する。
【００５９】
次に、解析すべき文が残っているか判定する（ステップＳ４５）。解析すべき文が残っていれば（ステップＳ４５でＹｅｓ）、ステップＳ４２に移行する。
【００６０】
解析すべき文が残っていなければ（ステップＳ４５でＮｏ）、解析すべき仕様が残っているか判定する（ステップＳ４６）。解析すべき仕様が残っていれば（ステップＳ４６でＹｅｓ）、ステップＳ４１に移行する。解析すべき仕様が残っていなければ（ステップＳ４６でＮｏ）、仕様文の生成処理を終了する。
【００６１】
＜仕様文の分割処理＞
仕様文を構成している要素を要求分析モデルに変換できる粒度に、仕様文を分割する。図５は、仕様文の単位仕様文への分割処理を説明する図である。図３に示した仕様文１に対して分割処理を施すことによって、２つの単位仕様文が出来ている。単位仕様文１−２では、モダリティ情報は抽出されていない。図３に示した仕様文２に対して分割処理を施すことによって、３つの単位仕様文が出来ている。単位仕様文２−３では、モダリティ情報は抽出されていない。図３に示した仕様文３に対して分割処理を施すことによって、３つの単位仕様文が出来ている。
【００６２】
図６は、単位仕様文を説明する図である。単位仕様文は、仕様文データで分割判定フラグが判定済みの仕様文を意味する。単位仕様文には、述語がひとつしか含まれない。図６に示すように、格関係情報は図６（ａ）のような多階層な構造にはならず、必ず図６（ｂ）のような単階層の構造になる。
【００６３】
仕様文の分割処理は、仕様文の持つ解析結果で分割パターンに一致する場合、当該仕様文を単位仕様文に分割する。分割ルールとなる分割パターンは、ユーザによって設定可能である。例えば、「連用係り＋読点」パターンでは、仕様文の解析結果が「*<係：連用>*<読点>*」あるいは「*<読点>*<係：連用>*」のいずれかにマッチする場合には、仕様文を分割する。同様に、「連用係り＋〜たら」パターンでは、仕様文の解析結果が「*<係：連用>*<ID：〜たら>*」あるいは「*<ID：〜たら>*<係：連用>*」のいずれかにマッチする場合には、仕様文を分割する。図７は、「連用係り＋読点」パターンによる分割処理の一例を示す図である。ここでは、２つの仕様文に分割している。分割パターンは、記憶装置（図示しない）に保存する。
【００６４】
＜モダリティ分配＞
モダリティ情報は言語解析結果の文節ごとに保持されているため、分割された仕様文ごとにモダリティ情報を保持させることができる。仕様文が分割される際に、仕様文が持つモダリティ情報を分配する処理を、モダリティ分配という。図８は、モダリティ分配を説明する図である。図８に示すように、モダリティ情報も分割された仕様文に合わせて分割されている。
【００６５】
自然言語の文では、モダリティ情報が不完全な文が現れる。等位接続文などの述語では起こりやすく、例えば、「年休をとって、のんびりしたかった」は分解した時に「年休をとりたかった」、「のんびりしたかった」と解釈できうる（必ずしも、こうなるとは限らない）。このような場合に対応するため、モダリティの分配時に不完全述語に対してモダリティを分配するかどうかをルールとして持たせる。これについては、特開２０１１−１６４６７８号公報が参考となる。
【００６６】
モダリティ分配ルールは、ユーザが自由に設定可能である。例えば、分割する種別でモダリティを分配するかどうかを決定する。「連用係り＋読点」パターン→モダリティを分配する、「連用係り＋〜たら」パターン → モダリティを分配しない、に設定する。あるいは、分割された文の述語、または各関係の組み合わせに応じて分配するかどうかを決定する。述語の意味や仕様文に登場する用語の関連性でモダリティを分配するかどうか判断する。
【００６７】
年休をとる＋のんびりする→（家ではたいていのんびりできない）→モダリティを分配しない、等である。
【００６８】
上記の複合パターンもありうるし、コンテキスト分析による推論や統計的に分析した結果から、上記の分割を判定する手もある。モダリティ分配ルールは、記憶装置（図示しない）に保存する。
【００６９】
図９は、仕様文の分割処理の流れを示すフローチャートである。
【００７０】
まず、記憶装置（図示しない）から仕様文を１つ取得する（ステップＳ９０１）。
【００７１】
次いで、当該仕様文に対して、分割判定フラグを未判定に設定する（ステップＳ９０２）。フラグ設定済みの仕様文は、記憶装置（図示しない）に記憶させておく。
【００７２】
次に、分割判定フラグが設定されていない仕様文があるかを判定する（ステップＳ９０３）。分割判定フラグが設定されていない仕様文があれば（ステップＳ９０３でＹｅｓ）ステップＳ９０１に移行し、分割判定フラグが設定されていない仕様文がなければ（ステップＳ９０３でＮｏ）、記憶装置（図示しない）から分割可能か未判定のフラグ設定済みの仕様文を１つ取得する（ステップＳ９０４）。
【００７３】
次いで、記憶装置（図示しない）から分割パターンを１つ取得する（ステップＳ９０５）。
【００７４】
次に、当該仕様文が当該分割パターンにマッチしているか判定する（ステップＳ９０６）。
【００７５】
当該分割パターンにマッチしていれば（ステップＳ９０６でＹｅｓ）、仕様文に対して分割パターンに対応する分割処理を実施し（ステップＳ９０７）する。
【００７６】
次いで、記憶装置（図示しない）からモダリティ分配ルールを取得し、モダリティ分配処理を実施する（ステップＳ９０８）。
【００７７】
次に、分割された仕様文全ての判定フラグを未判定に設定する（ステップＳ９０９）。併せて、分割後のフラグ設定済みの仕様文が記憶装置（図示しない）に保存され、分割前の仕様文は記憶装置（図示しない）から削除し、ステップＳ９０４に移行する。
【００７８】
当該仕様文が当該分割パターンにマッチしていなければ（ステップＳ９０６でＮｏ）、分割の判定に利用していない分割パターンがあるかを判定する（ステップＳ９１０）。
【００７９】
利用していない分割パターンがあれば（ステップＳ９１０でＹｅｓ）ステップＳ９０５に移行し、利用していない分割パターンがなければ（ステップＳ９１０でＮｏ）分割判定フラグを判定済に設定し、単位仕様文として登録する（ステップＳ９１１）。単位仕様文と分配されたモダリティ情報は、対にして記憶装置（図示しない）に記憶される。
【００８０】
次いで、分割判定フラグが未判定の仕様文があるかを判定する（ステップＳ９１２）。
【００８１】
分割判定フラグが未判定の仕様文があれば（ステップＳ９１２でＹｅｓ）ステップＳ９０４に移行し、分割判定フラグが未判定の仕様文がなければ（ステップＳ９１２でＮｏ）、仕様文の分割処理を終了する。
【００８２】
＜要求分析モデル要素＞
図１０は、要求分析モデル要素を説明する図である。要求分析モデル要素は、単位仕様文と一対一で結びついている。上述したように、モダリティ情報は単位仕様文に分配されているので、要求分析モデル要素が持つモダリティ情報も分配されたものとなる。
【００８３】
そして、要求分析モデル要素は、以下のデータで構成される。
【００８４】
（ａ）単位仕様文ID：生成元となっている単位仕様文データの識別子
（ｂ）モダリティ情報：単位仕様文に分配されたモダリティ情報
（ｃ）係り受け情報：仕様文間の係り受け情報
（ｄ）部品情報：要求分析モデル要素が含む、０個以上の要求分析モデル要素の構成部品に関する情報
図１０に示すように、要求分析モデル要素の構成部品は、データフローダイヤグラムの形式で表現することができる。データフローダイヤグラムは、「データストア」、「プロセス」及び「データフロー」によって、データの流れを示す矢印で繋いだ図である。
【００８５】
要求分析モデル要素の構成部品は、大別するとノードとエッジがある。
【００８６】
ノード要素は、“部品名”、“部品タイプ”、“出現箇所データ”から構成される。“部品名”は、要求分析モデル要素の構成部品を一意に識別するための文字列である。“部品タイプ”は、特段の制限なく定義可能で、プロセス、データストア等、他の部品が混じっても構わない。“出現箇所データ”は、この部品が含まれる仕様文識別子の列であって、全て保存しておく。
【００８７】
エッジ要素は、“部品名”、“部品タイプ”、“ソースノード名”、“ターゲットノード名”から構成される。“部品名”は、要求分析モデル要素の構成部品を一意に識別するための文字列である。“部品タイプ”は、エッジならば特段の制限なく定義可能で、データフロー等、他の部品が混じっても構わない。“ソースノード名”は、エッジの尾側のノード名の文字列である。“ターゲットノード名”は、エッジの頭側のノード名の文字列である。
【００８８】
＜要求分析モデル要素の生成＞
格解析情報から要求分析モデル要素を生成する処理について説明する。ここでの生成処理は、単位仕様文の解析結果の格解析情報に生成パターンとマッチするデータがある場合、要求分析モデル要素に変換するものである。
【００８９】
まず、生成処理に際して利用する、生成パターンについて説明する。生成パターンそのものは、ユーザが設定可能である。例えば、ガ格パターン、ニ格・ガ格パターン、ニ格・ガ格・ヲ格パターン、述語＋格パターンである。ガ格パターンでは、仕様文の解析結果が「*<係：ガ格>*」という正規表現にマッチするか否かを判定する。ニ格・ガ格パターンでは、仕様文の解析結果が「*<係：ガ格>*<係：ニ格>*」又は「*<係：ニ格>*<係：ガ格>*」という正規表現にマッチするか否かを判定する。ニ格・ガ格・ヲ格パターンでは、仕様文の解析結果が「*<係：ガ格>*<係：ニ格>*<係：ヲ格>*」、「*<係：ニ格>*<係：ガ格>*<係：ヲ格>*」、「*<係：ヲ格>*<係：ガ格>*<係：ニ格>*」、「*<係：ヲ格>*<係：ニ格>*<係：ガ格>*」、「*<係：ガ格>*<係：ヲ格>*<係：ニ格>*」、「*<係：ニ格>*<係：ヲ格>*<係：ガ格>*」という正規表現のいずれかにマッチするか否かを判定する。述語＋格パターンでは、述語の意味まで含めてパターンをとする。例えば、「要求する」＋「*<係：ヲ格>*」のような表現にマッチするか否かを判定する。上述した生成パターンは、表層格のパターンのみを記しているが、深層格のパターンも利用可能である。
【００９０】
次に、生成パターンとのマッチングについて説明する。図１１は、生成パターンがマッチした場合の変換処理例を示す図である。図１１に示す例では、単位仕様文Ａ（蓋センサが 3sec以上 on の場合）がガ格パターンにマッチし、単位仕様文Ｂ（システムが機能する状態になる）がニ格・ガ格パターンにマッチし、単位仕様文Ｃ（DBに演算結果を出力する）がニ格・ヲ格パターンにマッチし、単位仕様文Ｄ（DBに演算結果を要求する）がニ格・ヲ格 パターン＋述語：要求するパターンにマッチするので、それぞれ変換している。
【００９１】
図１２は、格解析情報に基づいて生成した要求分析モデル要素を示す図である。図１２に示すように、図５に例示した各単位仕様文がデータフローダイヤグラム形式の要求分析モデル要素に変換されている。
【００９２】
図１３は、要求分析モデル要素の生成処理の流れを示すフローチャートである。
【００９３】
まず、記憶装置から単位仕様文を１つ取得する（ステップＳ１３０１）。
【００９４】
次に、記憶装置から生成パターンを１つ取得する（ステップＳ１３０２）。
【００９５】
続いて、単位仕様文が生成パターンにマッチするか否かを判断する（ステップＳ１３０３）。
【００９６】
単位仕様文が生成パターンにマッチしていなければ（ステップＳ１３０３でＮｏ）、続いて判定に利用していない生成パターンがあるか否かを判断する（ステップＳ１３０４）。単位仕様文が生成パターンにマッチしていれば（ステップＳ１３０３でＹｅｓ）、単位仕様文から生成パターンに対応する要求分析モデル要素を生成する（ステップＳ１３０５）。続いて、単位仕様文の仕様文IDを要求分析モデル構成要素の単位仕様文IDに代入する（ステップＳ１３０６）。さらに、要求分析モデル要素にモダリティ情報と係り受け情報を付与し、記憶装置に保存（ステップＳ１３０７）した後、ステップＳ１３０８に移行する。
【００９７】
一方、ステップＳ１３０４でＹｅｓであれば（判定に利用していない生成パターンがある）、ステップＳ１３０２に移行する。判定に利用していない生成パターンがなければ（ステップＳ１３０４でＮｏ）、処理すべき単位仕様文が残っているか否かを判断する
（ステップＳ１３０８）。処理すべき単位仕様文が残っていれば（ステップＳ１３０８でＹｅｓ）、ステップＳ１３０１に移行し、処理する単位仕様文が残っていなければ（ステップＳ１３０８でＮｏ）、要求分析モデル要素の生成処理を終了する。
【００９８】
＜モダリティ情報による要求分析モデル要素の変換＞
生成された要求分析モデル要素をモダリティ情報（ここでは、モダリティ変換ルール）によって変換し、変換後要求分析モデル要素とする。変換ルールの決定には、要求分析モデル要素が持つモダリティ情報を利用する。モダリティ変換ルールは、ユーザが独自に設定可能であり、モダリティを複数適用する場合は適用する順序までルール化する。モダリティ変換ルールには、「逆接」、「条件」、「否定」等がある。「逆接」のモダリティ変換ルールは、排他的な出力フローを作成し、作成されたフローに無名のプロセスを接続するものである。「条件」のモダリティ変換ルールは、入力フローを出力フローとして接続し直すものである。「否定」のモダリティ変換ルールは、プロセスとそこに結合していた出力フロー、移行の要素を削除するものである。
【００９９】
図１４は、モダリティ変換ルール適用の一例を示す図である。図１４（ａ）は、単位仕様文：「蓋を閉じても、」に対して、「逆接」のモダリティ変換ルールを適用したものである。図１４（ｂ）は、単位仕様文：「蓋センサが 3 sec 以上 on となった場合、」に対して、「条件」のモダリティ変換ルールを適用したものである。図１４（ｃ）は、単位仕様文：「蓋を閉じないで、」に対して、「否定」のモダリティ変換ルールを適用したものである。
【０１００】
図１５は、モダリティ変換ルールの記述手法を説明する図である。図１５（ａ）に示すように、単位仕様文から要求分析モデル要素を生成する場合、要求分析モデル要素は必ず「入力ストア部」、「入力フロー部」、「述部」、「出力フロー部」、「出力ストア部」の５つの「部」の組み合わせで表現される。ここで、「部」とは、要求分析モデル要素構成部品が0個以上集まって形成される要素である。「入力ストア部」と「出力ストア部」は、0個以上のプロセス以外のノード要素である。「入力フロー部」と「出力フロー部」は、0個以上のエッジ要素である。また、「述部」は、0個 以上のプロセスのノード要素である。
【０１０１】
「部」を変換対象として指定することで，モダリティ変換ルールを記述する。
【０１０２】
ルールの構造は、例えば「入力」、「ルール」、「出力」から成る。「入力」としては、「部」の組合せやモダリティが該当する。「ルール」としては、「部」から「部」への写像、要素名の変更、「部」の削除が該当する。「出力」としては、「部」の組合せが該当する。図１５（ｂ）は、ルールの構造例を説明する図である。図１５（ｂ）に示す例では、要求分析モデル要素A：（出力フロー部，出力ストア部）、モダリティ：条件を「入力」としている。
【０１０３】
（ア）Aの出力フロー部のエッジ要素AeをA’の入力フロー部のエッジ要素A’eに変換、（イ）Aの出力ストア部のノード要素Asをの入力ストア部のノード要素A’sに変換、（ウ）エッジ要素Aeの頭側がノード要素Asと接合していた場合，エッジ要素A’e の尾側をノード要素A’sに接続、を「ルール」としている。さらに、要求分析モデル要素A’（入力ストア部，入力フロー部）を「出力」としている。
【０１０４】
図１６は、モダリティ情報によって要求分析モデル要素を変換した変換後要求分析モデル要素を示す図である。図１６に示すように、単位仕様文ごとに、変換後要求分析モデル要素が生成されている。
【０１０５】
図１７は、変換後要求分析モデル要素の生成処理の流れを示すフローチャートである。
【０１０６】
まず、記憶装置からモダリティ情報が付随した要求分析モデル要素を１つ取得する（ステップＳ１７０１）。
【０１０７】
次に、モダリティ情報に基づいて要求分析モデル要素に適用するモダリティ変換ルール列を、記憶装置から取り出す（ステップＳ１７０２）。
【０１０８】
次いで、変換に利用していないモダリティ変換ルールが存在するか否かを判定する
（ステップＳ１７０３）。モダリティ変換ルールが存在すれば（ステップＳ１７０３でＹｅｓ）、モダリティ変換ルールを一つ取り出し、要求分析モデル要素を変換（ステップＳ１７０４）し、ステップＳ１７０３に移行する。一方、モダリティ変換ルールが存在しなければ（ステップＳ１７０３でＮｏ）、要求分析モデル要素を変換後要求分析モデル要素として記憶装置に保存する（ステップＳ１７０５）。
【０１０９】
次に、処理すべき要求分析モデル要素が残っているか否かを判定する
（ステップＳ１７０６）。処理すべき要求分析モデル要素が残っていれば（ステップＳ１７０６でＹｅｓ）、ステップＳ１７０１に移行し、処理すべき要求分析モデル要素が残っていなければ（ステップＳ１７０６でＮｏ）、変換後要求分析モデル要素の生成処理を終了する。
【０１１０】
＜係り受け情報による要求分析モデル構築＞
上述してきた変換後要求分析モデル要素に付随する係り受け情報を用いて選択した係り受け接続ルールにより、変換後要求分析モデル要素をエッジ要素で接続して要求分析モデルを構築する。
【０１１１】
係り受け接続ルールは、ユーザが自由に定義することが可能である。例えば、
（ルール例１）：双方のノード要素を接続する（優先順位はプロセス、プロセスに入力する側のデータストア、出力する側のデータストア）、ただし、接続していないフローが存在する場合、新たなフローを作らずに、そのフローの接続先が内側を相手方に接続させる。
【０１１２】
（ルール例２）：要素名を解析し接続の親和性が高い要素を接続する。
【０１１３】
である。図１８は、係り受け情報を用いた係り受け接続ルールによる接続例を示す図である。
【０１１４】
変換後要求分析モデルの要素名が同じノード要素を同じものとして扱い、複数の変換後要求分析モデル要素を統合する。図１９は、変換後要求分析モデル要素の統合を説明する図である。図１９に示す例では、データストア“蓋”で変換後要求分析モデル要素を統合している。
【０１１５】
図２０は、係り受け情報によって構築した要求分析モデルの一例を示す図である。図２０に示すように、人手で作成するような望ましい要求分析モデルが生成されている。
【０１１６】
図２１は、係り受け情報による要求分析モデル構築処理の流れを示すフローチャートである。
【０１１７】
まず、記憶装置から、変換後要求分析モデル要素を一つ取得する（ステップＳ２１０１）。
【０１１８】
次に、係り受け接続ルールによる変換後要求分析モデル要素の接続処理する（ステップＳ２１０２）。尚、係り受け接続ルールは、図示しない入力装置から入力するあるいは予め記憶装置に記憶させておいてもよい。
【０１１９】
続いて、接続処理の完了した変換後要求分析モデル要素を要求分析モデルに統合する（ステップＳ２１０３）。
【０１２０】
次いで、処理すべき変換後要求分析モデル要素が残っているか否かを判定する（ステップＳ２１０４）。変換後要求分析モデル要素が残っていれば（ステップＳ２１０４でＹｅｓ）、ステップＳ２１０１に移行する。統合の初期では、要求分析モデル要素が無いが変換後要求分析モデル要素の統合を繰り返すことにより、要求分析モデルが出来上がっていくことになる。構築中の要求分析モデルは、統合の都度、記憶装置に記憶するのが好適である。
【０１２１】
一方、変換後要求分析モデル要素が残っていなければ（ステップＳ２１０４でＮｏ）、要求分析モデル構築処理を終了する。
【０１２２】
本実施形態によれば、システム開発で利用可能であって、人手で作成するような望ましい要求分析モデルを生成することができる。
【０１２３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２４】
１・・・要求分析モデル生成装置
１１・・・入力部
１２・・・構文解析部
１３・・・仕様文分割部
１４・・・格解析情報適用部
１５・・・モダリティ情報適用部
１６・・・要求分析モデル構築部
【図１】
2014238697.tif 000003
【図２】
2014238697.tif 000004
【図３】
2014238697.tif 000005
【図４】
2014238697.tif 000006
【図５】
2014238697.tif 000007
【図６】
2014238697.tif 000008
【図７】
2014238697.tif 000009
【図８】
2014238697.tif 000010
【図９】
2014238697.tif 000011
【図１０】
2014238697.tif 000012
【図１１】
2014238697.tif 000013
【図１２】
2014238697.tif 000014
【図１３】
2014238697.tif 000015
【図１４】
2014238697.tif 000016
【図１５】
2014238697.tif 000017
【図１６】
2014238697.tif 000018
【図１７】
2014238697.tif 000019
【図１８】
2014238697.tif 000020
【図１９】
2014238697.tif 000021
【図２０】
2014238697.tif 000022
【図２１】
2014238697.tif 000023