(57)【特許請求の範囲】
【請求項１】
開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部と、
前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部と、
前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部と、
前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部と、を備え、
前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用すること
を特徴とする開発支援装置。
【請求項２】
前記文書解析部は、
前記開発文書に含まれている文章部分を前記記載事項として解析することで、前記機能を特定する文章解析部と、
前記開発文書に含まれている図表部分を前記記載事項として解析することで、前記機能を特定する図表解析部と、を備えること
を特徴とする請求項１に記載の開発支援装置。
【請求項３】
前記文書解析部の解析結果から、前記記載事項に含まれ、類似する意味を有する複数の単語のグループと、前記グループを代表する単語である代表単語とを特定する類語解析部をさらに備え、
前記部品生成部は、前記複数の部品を生成する際に、前記複数の単語の代わりに前記代表単語を用いること
を特徴とする請求項１又は２に記載の開発支援装置。
【請求項４】
前記開発文書の項目を示す項目表を記憶する記憶部をさらに備え、
前記文書解析部は、前記項目表を参照することで、前記記載事項を解析すること
を特徴とする請求項１から３の何れか一項に記載の開発支援装置。
【請求項５】
前記部品生成部は、前記複数の部品の内、前記特定された機能に対応する二以上の部品を、関連性を有する部品として特定し、前記二以上の部品を示す関連性情報を生成し、
前記モデル生成部は、前記関連性情報を参照することで、前記二以上の部品を組み込むことで、前記モデルを生成すること
を特徴とする請求項１から４の何れか一項に記載の開発支援装置。
【請求項６】
複数の開発文書から、前記文書解析部で解析する前記開発文書を選択する文書選択部をさらに備えること
を特徴とする請求項１から５の何れか一項に記載の開発支援装置。
【請求項７】
前記文書解析部の解析結果に応じて、前記項目表を更新するデータ更新処理部をさらに備えること
を特徴とする請求項４に記載の開発支援装置。
【請求項８】
前記複数のグループ間の関係性と、前記複数のグループの各々に含まれている前記複数の単語の前記開発文書における記載箇所とを示す情報を含む上位用語集を生成する上位用語集生成部をさらに備えること
を特徴とする請求項３に記載の開発支援装置。
【請求項９】
コンピュータを、
開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部、
前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部、
前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部、及び、
前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部、として機能させ、
前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用すること
を特徴とするプログラム。
【請求項１０】
開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定し、
前記特定された機能に対応するモデルを特定し、
前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定し、
前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成し、
前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成する開発支援方法であって、
前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品が使用されること
を特徴とする開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、開発支援装置、プログラム及び開発支援方法に関する。
【背景技術】
【０００２】
製品開発工程においては、要求項目又は設計情報を記録し、他の人たちに伝える目的で仕様書又は設計書といった文書が作成されるが、文書作成にあたっては作成者の意思が介在し、読み手によって理解の仕方が異なるという問題がある。
また、設計情報又は開発情報はさまざまな領域にまたがり、その関連性は非常に複雑なものとなっている。このため、文書に表すと可読性が下がり、開発工程において手戻りが発生し開発が非効率になるという問題がある。
これらの問題を解決するために、ＳｙｓＭＬ（Ｓｙｓｔｅｍｓ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）等の記述言語を用いてモデルによって要求項目又は設計情報を表すことが一般的になりつつある。【０００３】
特許文献１には、ユースケース表、クラス定義及びオペレーション表を含む標準化ドキュメントを、構造化データに変換するルールを示す再構築ルール情報が記憶される記憶手段と、標準化ドキュメントを取り込み、再構築ルール情報を参照して、構造化データに変換するデータ再構築手段と、ユースケース表の構造化データを自然言語処理し、ユースケース表で示される処理内容を状態遷移図に変換した構造化データを生成するサブプロセス解析手段と、ユースケース表、クラス定義、オペレーション表及び状態遷移図の各構造化データを用いて、ビジネスプロセス図を生成するプロセス変換手段と、を備えるビジネスプロセス図生成装置が開示されている。これにより、ビジネスプロセス図を自動で生成することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２１８８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の技術は、標準化ドキュメントを取り込むことにより、その標準化ドキュメントに記載された各項目を解析して、ビジネスプロセス図を自動で生成するものであった。しかしながら、作成済みの開発文書は、必ずしも従来技術に記載された標準化ドキュメントの様式に則っているとは限らない。このため、従来の技術では、既存の開発文書からモデルを作成することができない場合がある。【０００６】
そこで、本開示の一又は複数の態様は、既存の開発文書からモデルを容易に生成できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の態様に係る開発支援装置は、開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部と、前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部と、前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部と、前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部と、を備え、前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用することを特徴とする。
【０００９】
本開示の第１の態様に係るプログラムは、コンピュータを、開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部、前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部、前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部、及び、前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部、として機能させ、前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用することを特徴とする。
【００１１】
本開示の第１の態様に係る開発支援方法は、開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定し、前記特定された機能に対応するモデルを特定し、前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成し、前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成する開発支援方法であって、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品が使用されることを特徴とする。
【発明の効果】
【００１３】
本開示の一又は複数の態様によれば、既存の開発文書からモデルを容易に生成することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係る開発支援装置の構成を概略的に示すブロック図である。
【図２】製品開発の各工程において作成される開発文書の例を示す概略図である。
【図３】文書表の一例を示す概略図である。
【図４】項目表の一例を示す概略図である。
【図５】モデル様式集の管理情報の一例を示す概略図である。
【図６】ハードウェア構成例を示すブロック図である。
【図７】文章解析部の解析処理を示すフローチャートである。
【図８】図表解析部の解析処理を示すフローチャートである。
【図９】水平文書比較部の処理を示すフローチャートである。
【図１０】水平文書比較部による機能の比較を説明するための概略図である。
【図１１】垂直文書比較部の処理を示すフローチャートである。
【図１２】垂直文書比較部による機能の比較を説明するための概略図である。
【図１３】部品抽出部の処理を示すフローチャートである。
【図１４】関連性解析部の処理を示すフローチャートである。
【図１５】モデル生成部の処理を示すフローチャートである。
【図１６】実施の形態２に係る開発支援装置の構成を概略的に示すブロック図である。
【図１７】類語解析部の処理を示すフローチャートである。
【図１８】上位用語集生成部の処理を示すフローチャートである。
【図１９】実施の形態３に係る開発支援装置の構成を概略的に示すブロック図である。
【図２０】実施の形態４に係る開発支援装置の構成を概略的に示すブロック図である。
【図２１】実施の形態５に係る開発支援装置の構成を概略的に示すブロック図である。
【図２２】実施の形態６に係る開発支援装置の構成を概略的に示すブロック図である。
【発明を実施するための形態】
【００１５】
実施の形態１．
図１は、実施の形態１に係る開発支援装置１００の構成を概略的に示すブロック図である。
開発支援装置１００は、文書入力部１１０と、記憶部１２０と、文書解析部１３０と、部品解析部１４０と、モデル生成部１５０とを有する。
【００１６】
開発支援装置１００は、既存の製品開発が完了し、関連する他の製品開発が開始される際に使用される。開発支援装置１００は、既存の完了した製品開発の際に作成された開発文書からモデルを生成する機能を有する。
【００１７】
文書入力部１１０は、複数の開発文書の入力を受け付ける。入力された複数の開発文書１０１は、文書解析部１３０に読み込まれる。
【００１８】
開発文書は、製品の開発の各工程で作成される文書である。
図２は、製品開発の各工程において作成される開発文書の例を示す概略図である。
図２では、要求定義、基本設計、詳細設計、コーディング、単体試験、結合試験及びシステム試験という工程の順で開発が進められているものとする。それぞれの工程において、要求定義書１０１ａ、基本設計書１０１ｂ、詳細設計書１０１ｃ、単体試験仕様書１０１ｄ、結合試験仕様書１０１ｅ又はシステム試験仕様書１０１ｆが開発文書として作成される。
なお、以下において開発文書の各々を一般的に示す場合には、開発文書１０１という。
【００１９】
各開発工程間において、設計内容及び試験内容に関連性が存在する。隣接する開発工程、例えば、要求定義と基本設計との間では、要求定義書１０１ａに記載される要求事項に対し、その要求事項を実現する機能が基本設計書１０１ｂに記載されるといった関連性が存在する。このような関連性を以下、垂直の関連性という。
【００２０】
開発工程は、コーディングを境に設計フェーズである上流工程と、試験フェーズである下流工程とに分けられる。上流工程と、下流工程との間においても設計内容と、試験内容とに関連性が存在する。例えば、基本設計書１０１ｂに記載された機能は、結合試験において正しくその機能が実装されているかを試験されるため、結合試験仕様書１０１ｅにその機能を試験する項目が記載されるといった関連性が存在する。このような関連性を以下、水平の関連性という。
【００２１】
本実施の形態に係る開発支援装置１００は、垂直の関連性と、水平の関連性とを利用するため、該当する開発文書１０１を比較する。以下、これらの比較をそれぞれ垂直比較及び水平比較という。
【００２２】
図１に戻り、記憶部１２０は、開発支援装置１００での処理に必要なプログラム及びデータを記憶する。例えば、記憶部１２０は、各種データとして、領域用語集１２１と、文書表１２２と、項目表１２３と、類語集１２４と、モデル用語集１２５と、モデル様式集１２６とを記憶する。
【００２３】
領域用語集１２１は、開発文書１０１に係る開発対象物が属する分野に関する用語集のデータである。例えば、開発対象物が産業用ロボットであれば産業用機器等がその分野にあたり、アクチュエータ、アーム、自由度及びジョイント等の用語の収録が想定される。
【００２４】
文書表１２２は、開発文書１０１の関連性を示すデータである。
図３は、文書表１２２の一例を示す概略図である。
図３に示されているように、文書表１２２は、識別番号列１２２ａと、文書名列１２２ｂと、前文書列１２２ｃと、後文書列１２２ｄと、相対文書列１２２ｅとを有するテーブル形式のデータである。
【００２５】
識別番号列１２２ａは、開発文書１０１を一意に識別するための識別番号である文書番号を格納する。
文書名列１２２ｂは、開発文書１０１を識別するための識別情報である文書名を格納する。なお、開発文書１０１を識別できれば、文書名の代わりに、ファイル名又は文書ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）等の他の情報が使用されてもよい。
【００２６】
前文書列１２２ｃは、識別番号列１２２ａ及び文書名列１２２ｂで識別される開発文書１０１に対して、垂直の関連性において一つ前の工程において作成される開発文書１０１の文書番号を格納する。例えば、文書名が「基本設計書」の開発文書１０１における前文書列１２２ｃには、基本設計書と垂直の関連性のある一つ前の工程において作成される開発文書１０１である文書名「要求定義書」を示す文書番号「１」が入る。
【００２７】
後文書列１２２ｄは、識別番号列１２２ａ及び文書名列１２２ｂで識別される開発文書１０１に対して、垂直の関連性において一つ後の工程において作成される開発文書１０１の文書番号を格納する。例えば、文書名が「基本設計書」の開発文書１０１における後文書列１２２ｄには、基本設計書と垂直の関連性のある一つ後の工程において作成される開発文書１０１である文書名「詳細設計書」を示す文書番号「３」が入る。
【００２８】
相対文書列１２２ｅは、識別番号列１２２ａ及び文書名列１２２ｂで識別される開発文書１０１に対して、水平の関連性を有する開発文書１０１の文書番号を格納する。例えば、文書名が「基本設計書」の開発文書１０１における相対文書列１２２ｅには、基本設計書と水平の関連性のある工程において作成される開発文書１０１である文書名「結合試験仕様書」を示す文書番号「５」が入る。
【００２９】
なお、前文書列１２２ｃ、後文書列１２２ｄ及び相対文書列１２２ｅには、文書番号が格納されているが、開発文書１０１を識別できればどのような情報であってもよい。例えば、文書名、ファイル名又は文書ＩＤであってもよい。
【００３０】
図１に戻り、項目表１２３は、開発文書１０１の項目を示すデータである。
図４は、項目表１２３の一例を示す概略図である。
図４に示されているように、項目表１２３は、行番号列１２３ａと、章番号列１２３ｂと、節番号列１２３ｃと、タイトル列１２３ｄとを有するテーブル形式のデータである。
なお、基本的には、一つの開発文書１０１に、図４に示されているような一つの項目表１２３が存在するものとする。また、開発文書１０１は、一又は複数の章を含み、一つの章は、一又は複数の節を含むものとする。
但し、項目表が存在しない開発文書１０１があっても構わない。
【００３１】
行番号列１２３ａは、項目表１２３に設けられている行を識別するための行番号を格納する。
章番号列１２３ｂは、開発文書１０１の章を識別するため識別番号である章番号を格納する。
【００３２】
節番号列１２３ｃは、開発文書１０１の節を識別するための識別番号である節番号を格納する。
タイトル列１２３ｄは、章又は節のタイトルを格納する。
【００３３】
以上のように、項目表１２３は、章番号、節番号及びタイトルを含むデータであるが、章若しくは節に記載されている内容を示す情報、又は、章若しくは節の始まるページ番号といった付加情報を含んでいてもよい。
【００３４】
図１に戻り、類語集１２４は、類似する意味を示す用語をグルーピングした用語集のデータである。類語集１２４は、一般的な類語辞典を内包してもよいし、独自に構築されてもよい。また、文書解析部１３０は、開発文書１０１を解析する中で、開発文書１０１に合わせて、分析処理中に動的に入力された開発文書１０１で用いられている用語を類語集１２４に追加する更新を行ってもよい。
【００３５】
モデル用語集１２５は、モデルに関する用語を収録したデータである。モデル用語集１２５は、例えば、アーキテクチャ、エンティティ、システム、メタモデル又はライフサイクル等の用語を収録する。これらは、モデルを構成する部品の名称であったり、モデル化における概念を表す用語であったりする。
【００３６】
モデル様式集１２６は、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）又はＳｙｓＭＬ等の標準化ドキュメントに基づいて規定されたそれぞれのモデルを示す図表と、その図表に含まれる部品とを示し、図又は線の表示形式等の関係を示す情報が格納されたデータである。言い換えると、モデル様式集１２６は、モデル毎に、標準化ドキュメントに従って、どのような部品が、どのような位置に配置されるかを示す。
図５は、モデル様式集１２６の管理情報の一例を示す概略図である。
モデル様式集１２６の管理情報は、図表番号列１２６ａと、分類列１２６ｂと、図表名列１２６ｃと、略称列１２６ｄとを有するテーブル形式のデータである。
【００３７】
図表番号列１２６ａは、図表であるモデルを識別するための識別情報である図表番号を格納する。
分類列１２６ｂは、図表であるモデルの分類を格納する。
図表名列１２６ｃは、図表であるモデルを識別するための識別情報である図表名を格納する。
略称列１２６ｄは、図表であるモデルの略称を格納する。
【００３８】
なお、図示されてはいないが、モデル様式集１２６は、各モデルがどのような情報を含み、どのような表示形式（例えば図形、線形またはそれらの組合せ）が用いられ、どのような構成をとるのかを示す情報である構成情報を含んでいる。例えば、標準化ドキュメントにおいてシーケンス図は、シーケンス図における部品であるオブジェクト間のメッセージの流れを時系列的に表現するもので、イベントの発生順序に関連付けて、オブジェクトの生存（ライフライン）、メッセージ、イベントオカレンス、実行オカレンス及び相互作用オカレンスを含み、これらがどのような意味を持ち、どのような位置関係で、どのような図形として表記されるかという情報が構成情報の一例である。
【００３９】
以上のように、記憶部１２０に類語集、用語集といった各種データを格納し、これらを参照することで文書解析部１３０の解析をサポートすることができる。
【００４０】
図１に戻り、文書解析部１３０は、文書入力部１１０から与えられた複数の開発文書１０１の解析を行い、その解析結果を部品解析部１４０に与える。
例えば、文書解析部１３０は、開発工程において作成された開発文書１０１の記載事項を解析して、その開発文書１０１に記載された機能を特定する。
具体的には、文書解析部１３０は、文書表１２２を参照して、又は、それぞれの開発文書１０１に記載された内容を比較して、入力された複数の開発文書１０１のそれぞれが、その入力された複数の開発文書１０１が使われた既存の製品開発において、いずれの工程に関連する開発文書１０１なのかを解析するとともに、それぞれの開発文書１０１の文章部分及び図表部分を記載事項として解析して、それぞれの開発文書１０１に記載された機能を抽出する。なお、文書解析部１３０は、項目表１２３を参照して、開発文書の記載事項を解析すればよい。
文書解析部１３０は、文章解析部１３１と、図表解析部１３２と、水平文書比較部１３３と、垂直文書比較部１３４とを備える。
【００４１】
文章解析部１３１は、開発文書１０１に含まれている文章部分を記載事項として解析することで、機能を特定する。
例えば、文章解析部１３１は、開発文書１０１に含まれている文章部分を解析することで、その文章部分から単語を抽出し、抽出された単語同士の文章における予め定められた関係性である単語関係性を特定する。単語関係性には、例えば、文章内での位置が近い近接関係、主語と動詞の関係又は修飾関係等がある。
そして、文章解析部１３１は、単語関係性を有する単語群の意味又は内容から機能を特定する。例えば、主語に相当する位置に記載された単語と、目的語に相当する位置に記載された単語との間にある動詞を示す単語が「送信」である場合、又は、「送信」に類似する単語である場合、「送信」に対応付けられた機能として通信機能を、この単語群を解析することで特定することができる。
【００４２】
さらに、文章解析部１３１は、単語群と、その単語群の単語関係性と、特定された機能とを示す文章解析結果を生成する。
なお、文章解析部１３１は、項目表１２３を参照することで、文書内の文章部分を抽出して解析する。また、領域用語集１２１、類語集１２４及びモデル用語集１２５も参照することで文章解析のサポートが期待できる。
【００４３】
図表解析部１３２は、開発文書１０１に含まれている図表部分を記載事項として解析することで、機能を特定する。
例えば、図表解析部１３２は、開発文書１０１に含まれている図表部分を抽出して解析することで、記載事項としての図表を構成する構成要素又は図表に含まれている単語を抽出する。このとき、項目表１２３を参照して、図表部分が抽出されてもよい。
例えば、図表解析部１３２は、モデル様式集１２６を参照しながら、図表を構成する構成要素同士の図表における予め定められた関係性である図表関係性を特定する。図表関係性は、図表における位置、役割又は関連といった構成要素間の成り立ちである。例えば、図表解析部１３２は、モデル様式集１２６を参照して、開発文書１０１に含まれている図表部分が、どの図表なのか（例えば、シーケンス図なのか、ユースケース図なのか等）を特定する。図表解析部１３２は、例えば、図表部分がシーケンス図であれば、シーケンス図に使われるオブジェクト名又はクラス名が表示される構成要素が、そのシーケンス図のライフラインとして抽出される。この抽出されたライフラインが、図表関係性となる。
そして、図表解析部１３２は、図表関係性を有する構成要素群の意味又は内容から機能を特定する。
【００４４】
また、図表解析部１３２は、図表に含まれている単語を抽出し、抽出された単語同士の文章における予め定められた関係性である単語関係性を特定する。そして、図表解析部１３２は、単語関係性を有する単語群の意味又は内容から機能を特定する。
【００４５】
そして、図表解析部１３２は、構成要素群と、その構成要素群における図表関係性と、特定された機能とを示す図表解析結果、又は、単語群と、その単語群の単語関係性と、特定された機能とを示す図表解析結果を生成する。
【００４６】
水平文書比較部１３３は、入力された複数の開発文書１０１の内、水平の関連性を有する開発文書１０１の組合せの記載内容を比較解析する。図２の文書表１２２であれば水平の関連性を有する開発文書１０１の組合せは３つ存在する。
また、水平文書比較部１３３は、文章解析部１３１及び図表解析部１３２における解析結果から、一方の開発文書１０１の記載に対応する機能と、その開発文書１０１に対して水平の関連性を有する他の開発文書１０１の記載に対応する機能とを比較することで、お互いの開発文書１０１に記載されている機能に欠落があるか否かを判断する。欠落がある場合には、水平文書比較部１３３は、欠落すると判断された機能を、その開発文書１０１の記載に対応する機能として特定する。
【００４７】
垂直文書比較部１３４は、入力された複数の開発文書１０１の内、垂直の関連性を有する開発文書１０１の組合せの記載内容を比較解析する。図２の文書表１２２であれば垂直の関連性を有する開発文書１０１の組合せは４つ存在する。
また、垂直文書比較部１３４は、文章解析部１３１及び図表解析部１３２における解析結果から、一方の開発文書１０１の記載に対応する機能と、その開発文書１０１に対して垂直の関連性を有する他方の開発文書１０１の記載に対応する機能とを比較することで、お互いの開発文書１０１の記載に対応する機能に欠落があるか否かを判断する。欠落がある場合には、垂直文書比較部１３４は、欠落すると判断された機能を、その開発文書１０１の記載に対応する機能として特定する。
【００４８】
部品解析部１４０は、文書解析部１３０において特定された機能に対応するモデルを特定し、開発文書の記載事項の解析結果を用いて、その特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部である。
例えば、部品解析部１４０は、文書解析部１３０からの文書解析結果を受けて、開発文書１０１に記載された内容から予め決められた様式を用いたモデルを生成する上で、そのモデルを構成する部品を生成し、生成された部品と、その記載先とを示す部品情報と、部品情報間の関連性情報とを生成する。ここで予め決められた様式とは、ＵＭＬ又はＳｙｓＭＬ等の標準化ドキュメントで規定された様式を示す。
具体的には、部品解析部１４０は、機能を特定し、特定された機能に対応するモデルを特定し、特定された機能に対応する単語群又は構成要素群の少なくとも何れか一方を用いて、特定されたモデルにおける部品を生成する。
【００４９】
また、部品解析部１４０は、部品情報で示される部品間の関連性を特定し、特定された関連性を有する部品同士を関連付ける関連性情報を生成する。
例えば、部品解析部１４０は、生成した複数の部品の内、特定された機能に対応する二以上の部品を関連性を有する部品として特定し、その二以上の部品を示す関連性情報を生成する。
部品解析部１４０は、部品抽出部１４１と、関連性解析部１４２とを備える。
【００５０】
部品抽出部１４１は、文書解析部１３０からの文書解析結果で示される機能を特定する。そして、部品抽出部１４１は、特定された機能に対応するモデルを特定する。さらに、部品抽出部１４１は、特定された機能に対応する単語群及び構成要素群の少なくとも何れか一方から、特定されたモデルにおける部品を生成する。そして、部品抽出部１４１は、機能と、生成された部品と、記載先であるモデルとを関連付ける部品情報を生成する。ここで、部品抽出部１４１は、特定された機能に対応して、複数のモデルを特定することもある。
【００５１】
関連性解析部１４２は、部品抽出部１４１で生成された部品情報で示される部品間の関連性を特定し、特定された関連性を有する部品を示す部品情報を関連付ける関連性情報を生成する。ここでの関連性は、複数の部品が同じ機能に対応しているものであることを示す。また、関連性は、複数の部品間の関係、例えば、複数の機能に同じ部品が使用されている関係、部品間の上下関係（包含関係）等も示す。関連性情報により、同じ機能に対応する部品を紐付けることができる。これにより、一つの機能に対応して複数のモデルが生成される場合でも、複数のモデルに含まれる部品を紐付けることができる。
【００５２】
そして、部品解析部１４０は、文書解析部１３０からの文書解析結果と、部品情報と、関連性情報とをモデル生成部１５０に与える。
【００５３】
モデル生成部１５０は、文書解析部１３０からの文書解析結果と、部品解析部１４０からの部品情報及び関連性情報とから、予め定められた様式を用いたモデルを生成する。
例えば、モデル生成部１５０は、その様式に従って、部品解析部１４０で生成された複数の部品から、モデル組み込む部品を選択し、選択された部品を組み込むことで、特定されたモデルを生成する。
【００５４】
具体的には、モデル生成部１５０は、特定されたモデルの種別に応じて、生成された部品を組み込むことで、モデルを生成する。具体的には、生成するモデルの種別がシーケンス図であれば、オブジェクトの生存（ライフライン）、メッセージ、イベントオカレンス、実行オカレンス及び相互作用オカレンスがシーケンス図に含まれることが、モデル様式集１２６に記載されているため、モデル生成部１５０は、文書解析部１３０の解析結果から部品解析部１４０で解析された各部品の振る舞いを特定することで、そのシーケンス図を生成することができる。
モデルは、例えば、ＳｙｓＭＬを用いて表記されるアクティビティ図又はシーケンス図といった図表である。なお、モデル生成部１５０は、複数のモデルを生成してもよい。
【００５５】
以上に記載された開発支援装置１００は、例えば、図６に示されているように、メモリ１０と、メモリ１０に格納されているプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ１１と、入力インタフェース（以下、入力Ｉ／Ｆという）１２と、記憶装置１３とを備えるコンピュータ１４により構成することができる。
【００５６】
例えば、文書解析部１３０、部品解析部１４０及びモデル生成部１５０は、プロセッサ１１がメモリ１０に記憶されているプログラムを実行することで実現することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
【００５７】
文書入力部１１０は、プロセッサ１１が、入力Ｉ／Ｆ１２を利用することで実現することができる。入力Ｉ／Ｆ１２は、データを入力することができる装置であればよく、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を使用した接続インタフェース、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等の通信インタフェースであってもよい。
【００５８】
記憶部１２０は、プロセッサ１１が、記憶装置１３を利用することで実現することができる。記憶装置１３は、不揮発性メモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶を行なう装置である。
【００５９】
以下、開発支援装置１００での処理について説明する。
図７は、文章解析部１３１の解析処理を示すフローチャートである。
文章解析部１３１は、複数の開発文書１０１から一つずつ順に読み込み、例えば、文書表１２２を参照することで、読み込まれた開発文書１０１を識別する（Ｓ１０）。
【００６０】
次に、文章解析部１３１は、項目表１２３を参照しつつ、識別された開発文書１０１から、文章部分を抽出する（Ｓ１１）。例えば、文章解析部１３１は、開発文書１０１のデータを解析し、テキスト部分を抽出することで、開発文書１０１から文章部分を抽出することができる。
【００６１】
次に、文章解析部１３１は、抽出された文章部分を形態素分析等の手法を用いて単語に分割し、単語間の関係性を解析することで、単語関係性を特定する。そして、文章解析部１３１は、特定された単語関係性から、特定された単語群と、単語群に含まれる単語同士の関係性と、その単語群から特定することのできる機能とを示す文書解析結果を生成する（Ｓ１２）。
【００６２】
図８は、図表解析部１３２の解析処理を示すフローチャートである。
図表解析部１３２は、複数の開発文書１０１から一つずつ順に読み込み、例えば、文書表１２２を参照して、読み込まれた開発文書１０１を識別する（Ｓ２０）。
【００６３】
次に、図表解析部１３２は、項目表１２３を参照しつつ、識別された開発文書１０１内から図表部分を抽出する（Ｓ２１）。例えば、図表解析部１３２は、読み込まれた開発文書１０１の内、テキストである文章部分以外の部分を図表部分として抽出すればよい。
【００６４】
次に、図表解析部１３２は、抽出された図表部分について、モデル様式集１２６を参照しつつ、図表名を識別する（Ｓ２２）。例えば、図表解析部１３２は、抽出された図表部分の成り立ちと、モデル様式集１２６に含まれている構成情報で示される成り立ちとを比較することで、抽出された図表部分の図表名を識別する。具体的には、抽出された図表部分が、ＵＭＬのユースケース図であれば、人を模した形状であるアクターと、楕円形状であるユースケースと、アクター及びユースケースとの間をつなぐ線で描かれている。このため、図表解析部１３２は、抽出された図表部分の成り立ちが、人を模した形状と、楕円形状と、実線とから形成されている場合には、構成情報に示されている成り立ちを参照することで、その抽出された図表部分をユースケース図として識別することができる。
【００６５】
次に、図表解析部１３２は、抽出された図表部分の図表名を識別できたか否かを判断する（Ｓ２３）。識別できた場合（Ｓ２３でＹｅｓ）には、処理はステップＳ２４に進み、識別できなかった場合（Ｓ２３でＮｏ）には、処理はステップＳ２５に進む。
【００６６】
ステップＳ２４では、図表解析部１３２は、モデル様式集１２６を参照しつつ、抽出された図表部分を解析して、図表部分に含まれている部分群である構成要素群に含まれている構成要素間の関係性を図表関係性として特定し、特定された図表関係性から、特定された構成要素群と、図表関係性と、その構成要素群から特定される機能とを示す図表解析結果を生成する。
【００６７】
ステップＳ２５では、図表解析部１３２は、抽出された図表部分に含まれている文字列を抽出する。例えば、図表解析部１３２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）を用いることで、抽出された図表に含まれている文字列を抽出することができる。
【００６８】
次に、図表解析部１３２は、抽出された文字列を形態素分析等の手法を用いて単語に分割し、単語間の関係性を解析することで、単語関係性を特定する。そして、図表解析部１３２は、特定された単語関係性から、特定された単語群と、単語関係性と、その単語群から特定される機能とを示す図表解析結果を生成する（Ｓ２６）。加えて、図表に含まれる線分等の図形情報を解析して、単語間の関連性の情報を補足的に関連付けてもよい。
【００６９】
図９は、水平文書比較部１３３の処理を示すフローチャートである。
水平文書比較部１３３は、複数の開発文書１０１から一つずつ順に読み込み、例えば、文書表１２２を参照して、読み込まれた開発文書１０１を識別する（Ｓ３０）。
【００７０】
次に、水平文書比較部１３３は、文書表１２２を参照して、識別された開発文書１０１に対して、水平の関連性を有する開発文書１０１を特定する（Ｓ３１）。ここで、以下では、ステップＳ３０で識別された開発文書１０１を対象開発文書とし、対象開発文書と水平の関連性を有する開発文書１０１を水平開発文書として説明する。
【００７１】
次に、水平文書比較部１３３は、水平開発文書を読み込む（Ｓ３２）。
次に、水平文書比較部１３３は、対象開発文書と、水平開発文書とから機能を特定し、特定された機能を抽出する（Ｓ３３）。機能の特定方法については、文章解析部１３１又は図表解析部１３２と同様に機能を特定すればよい。なお、水平文書比較部１３３は、別の方法で機能を特定してもよい。
【００７２】
次に、水平文書比較部１３３は、対象開発文書の機能と、水平開発文書の機能とを比較する（Ｓ３４）。
そして、水平文書比較部１３３は、対象開発文書の機能と、水平開発文書の機能とが一致するか否かを判断する（Ｓ３５）。対象開発文書の機能と、水平開発文書の機能とが一致しない場合（Ｓ３５でＮｏ）には、処理はステップＳ３６に進む。
【００７３】
ステップＳ３６では、水平文書比較部１３３は、一致しない機能が欠けている側の開発文書１０１に、欠けている機能を示す欠落情報を付与する。
このような欠落情報については、モデル生成部１５０で生成されたモデルを出力する際に、機能が欠落している開発文書１０１を示す識別情報（例えば、文書番号）とともに出力されてもよい。このような情報を提示することで、欠落した機能を特定することができる。
【００７４】
図１０は、水平文書比較部１３３による機能の比較を説明するための概略図である。
ここでは、対象開発文書が基本設計書１０１ｂであり、水平開発文書が結合試験仕様書１０１ｅである場合について説明する。
基本設計書１０１ｂには、要求定義書１０１ａに記載される要件を実現する各機能が記載されている。そして、相対する結合試験仕様書１０１ｅには、基本設計書１０１ｂに記載される全ての機能に対応する機能の試験項目が記載されていることが理想である。
【００７５】
水平文書比較部１３３は、図９にも示されているように、基本設計書１０１ｂ及び結合試験仕様書１０１ｅのそれぞれから機能を抽出する。
このとき、図１０に示されているように、基本設計書１０１ｂには、Ａ機能と、Ｂ機能と、Ｃ機能との三つの機能が実際には記載されているが、水平文書比較部１３３は、Ａ機能及びＢ機能を抽出している。水平文書比較部１３３の性能の限界又は基本設計書１０１ｂの文章の体裁、使用されている文言又は図表の記載方法等に起因し、Ｃ機能は、抽出されていない。
【００７６】
同様に、結合試験仕様書１０１ｅには、Ａ機能の試験と、Ｂ機能の試験と、Ｃ機能の試験とが実際には記載されているが、水平文書比較部１３３は、Ａ機能の試験及びＣ機能の試験を抽出している。水平文書比較部１３３の性能の限界又は結合試験仕様書１０１ｅの文章の体裁、使用されている文言又は図表の記載方法等に起因し、Ｂ機能の試験は抽出されていない。
【００７７】
このような状況で、基本設計書１０１ｂで抽出された機能と、結合試験仕様書１０１ｅで抽出された機能とを比較すると、基本設計書１０１ｂではＣ機能が抽出されていないこと、結合試験仕様書１０１ｅではＢ機能が抽出されていないことが検出される。このため、水平文書比較部１３３は、基本設計書１０１ｂには、Ｃ機能を示す欠落情報を付与し、結合試験仕様書１０１ｅには、Ｂ機能を示す欠落情報を付与する。
なお、欠落が発生する原因は、解析対象の基本設計書１０１ｂ又は結合試験仕様書１０１ｅへの記載漏れの場合もある。
【００７８】
以上のように、開発文書１０１の水平比較を行うことにより、文章解析部１３１又は図表解析部１３２の性能の限界を補完することが可能であり、同時に、読み込まれた開発文書１０１に記載漏れ等の不備があった場合も正確に解析が行えるという効果を奏する。
【００７９】
図１１は、垂直文書比較部１３４の処理を示すフローチャートである。
垂直文書比較部１３４は、複数の開発文書１０１から一つずつ順に読み込み、例えば、文書表１２２を参照して、読み込まれた開発文書１０１を識別する（Ｓ４０）。
【００８０】
次に、垂直文書比較部１３４は、文書表１２２を参照して、識別された開発文書１０１に対して、垂直の関連性を有する開発文書１０１を特定する（Ｓ４１）。ここで、以下では、ステップＳ４０で識別された開発文書１０１を対象開発文書とし、対象開発文書と垂直の関連性を有する開発文書１０１を垂直開発文書として説明する。対象開発文書に応じて、一又は二つの垂直開発文書が特定される。例えば、図２の例では、対象開発文書が要求定義書１０１ａ、詳細設計書１０１ｃ、単体試験仕様書１０１ｄ又はシステム試験仕様書１０１ｆである場合には、一つの垂直開発文書が特定され、対象開発文書が基本設計書１０１ｂ又は結合試験仕様書１０１ｅである場合には、二つの垂直開発文書が特定される。
【００８１】
次に、垂直文書比較部１３４は、一又は二つの垂直開発文書を読み込む（Ｓ４２）。
次に、垂直文書比較部１３４は、対象開発文書と、一又は二つの垂直開発文書とから機能を特定し、特定された機能を抽出する（Ｓ４３）。機能の特定方法については、水平文書比較部１３３と同様でよい。
【００８２】
次に、垂直文書比較部１３４は、対象開発文書の機能と、一又は二つの垂直開発文書の機能とを比較する（Ｓ４４）。
そして、垂直文書比較部１３４は、対象開発文書の機能と、垂直開発文書の機能とが一致するか否かを判断する（Ｓ４５）。対象開発文書の機能と、垂直開発文書の機能とが一致しない場合（Ｓ４５でＮｏ）には、処理はステップＳ４６に進む。
【００８３】
ステップＳ４６では、垂直文書比較部１３４は、一致しない機能が欠けている側の開発文書１０１に、欠けている機能を示す欠落情報を付与する。
このような欠落情報については、モデル生成部１５０で生成されたモデルを出力する際に、機能が欠落している開発文書１０１を示す識別情報（例えば、文書番号）とともに出力されてもよい。このような情報を提示することで、欠落した機能を特定することができる。
【００８４】
図１２は、垂直文書比較部１３４による機能の比較を説明するための概略図である。
ここでは簡単のため、二つの開発文書１０１を比較する場合について説明する。三つの開発文書１０１の比較は、二つの開発文書１０１の比較を二回又は三回行い、その結果を統合することで実現できる。
【００８５】
ここでは、対象開発文書が基本設計書１０１ｂであり、垂直開発文書が詳細設計書１０１ｃである場合を説明する。
基本設計書１０１ｂには要求定義書１０１ａに記載される要件を実現する各機能が記載されている。そして、詳細設計書１０１ｃには、基本設計書１０１ｂに記載される全ての機能を実現する詳細化された機能が記載されていることが理想である。
【００８６】
垂直文書比較部１３４は、図１２に示されているように、基本設計書１０１ｂ及び詳細設計書１０１ｃのそれぞれから機能を抽出する。
このとき、図１２に示されているように、基本設計書１０１ｂには、実際には、Ａ機能と、Ｂ機能と、Ｃ機能との三つの機能が記載されているが、垂直文書比較部１３４は、Ａ機能及びＣ機能を抽出している。垂直文書比較部１３４の性能の限界、基本設計書１０１ｂの文章の体裁、使用されている文言又は図表の記載方法等に起因して、Ｂ機能は抽出されていない。
【００８７】
同様に、詳細設計書１０１ｃには、実際には、Ａ−１機能と、Ａ−２機能と、Ａ−３機能と、Ｂ−１機能と、Ｂ−２機能と、Ｃ−１機能と、Ｃ−２機能とが記載されているが、垂直文書比較部１３４は、Ａ−１機能、Ａ−３機能、Ｂ−１機能、Ｂ−２機能、Ｃ−１機能及びＣ−２機能のみを抽出している。垂直文書比較部１３４の性能の限界、詳細設計書１０１ｃの文章の体裁、使用されている文言又は図表の記載方法等に起因し、Ａ−２機能は抽出されていない。
【００８８】
このような状況で、抽出された機能を比較すると、垂直文書比較部１３４は、Ｂ−１機能及びＢ−２機能に対応するＢ機能が抽出されていないことがわかる。このため、垂直文書比較部１３４は、基本設計書１０１ｂに、Ｂ機能を示す欠落情報を付与する。
【００８９】
但し、Ａ−２機能の抽出漏れについては、垂直文書比較部１３４においては検出することはできない。これは、Ａ機能に対応するＡ−１機能及びＡ−３機能が抽出できているからである。言い換えると、Ａ−２機能が抽出されていないが、基本設計書１０１ｂに記載されているＡ機能から、詳細設計書１０１ｃに記載される対応する機能（Ａ-１機能、Ａ−２機能及びＡ−３機能）を推測することはできない、即ち、Ａ機能を実現する詳細な機能分割の内容を推測することはできないからである。仮に、Ａ機能に対応する全ての機能（ここでは、Ａ−１機能、Ａ−２機能及びＡ−３機能）が抽出できていない場合には、抽出漏れがあることを検出することができる。
なお、垂直文書比較部１３４には、以上のような抽出漏れを検出するために、開発文書１０１内に記載されている情報を読み取る。
【００９０】
このように、抽出漏れを検出できない場合も想定されるが、その場合は、水平文書比較部１３３の結果と合わせることにより、文書解析部１３０の分析結果としては抽出漏れを回避することができる場合がある。
【００９１】
なお、欠落が発生する原因は、解析対象の基本設計書１０１ｂ及び詳細設計書１０１ｃへの記載漏れの場合もある。
【００９２】
以上のように、開発文書１０１の垂直比較を行うことにより、文章解析部１３１及び図表解析部１３２の性能の限界を補完することが可能である。また、読み込まれた開発文書１０１に記載漏れ等の不備があった場合にも、正確に解析が行えるという効果を奏する。
【００９３】
図１３は、部品抽出部１４１の処理を示すフローチャートである。
部品抽出部１４１は、複数の開発文書１０１の各々について、文書解析部１３０における解析結果に含まれている少なくとも一つの機能を用いて、以下の処理を行う。
【００９４】
まず、部品抽出部１４１は、解析結果に含まれる一つの機能を選択する（Ｓ５０）。
次に、部品抽出部１４１は、モデル様式集１２６を参照し、選択された機能を記載すべきモデルを決定する（Ｓ５１）。例えば、機能には、予めモデルである図表の分類が対応付けられており、その分類からモデルが選択される。具体的には、詳細設計書１０１ｃからロボット−コントローラ間通信機能が抽出されていた場合、通信機能は、「振る舞い」の分類に対応付けられているため、その分類に基づいて、シーケンス図がモデルとして決定される。
【００９５】
次に、部品抽出部１４１は、機能と、その機能に対応付けられている単語群又は構成要素群とから、モデルに記載する部品を生成する（Ｓ５２）。モデル毎に、そのモデルを構成する部品が定義されているため、部品抽出部１４１は、その定義に対応する単語又は構成要素を部品として特定する。例えば、ロボット−コントローラ間通信機能であれば、シーケンス図の構成要素（オブジェクト又はクラス）となりうる部品として、ロボットを示す図形と、コントローラを示す図形とが生成される。
【００９６】
次に、部品抽出部１４１は、機能と、生成された部品と、記載先であるモデルの種別とを関連付ける部品情報を生成する（Ｓ５３）。
そして、部品抽出部１４１は、一つの開発文書１０１における最後の機能まで既に選択したか否かを判断する（Ｓ５４）。最後の機能まで選択されていない場合（Ｓ５４でＮｏ）には、処理はステップＳ５０に戻り、次の機能が選択される。
【００９７】
なお、一つの機能が複数のモデルである図表に記載される場合は、部品抽出部１４１は、前述の処理を記載先のモデルの数だけ繰り返す。そして、複数のモデルの各々に対応する部品情報が生成される。
【００９８】
なお、文書解析部１３０における図表解析結果に含まれている構成部分がモデルに流用可能である場合、例えば、開発文書１０１に含まれる図表と、モデルとしての図表とが同じ場合には、その構成部分は部品としてそのまま使用することができる。このような場合には、例えば、図１３に示されているようなフローチャートを経ることなく、モデルの種別と、そのモデルを構成する部品とを示す部品情報を生成することができる。
【００９９】
図１４は、関連性解析部１４２の処理を示すフローチャートである。
まず、関連性解析部１４２は、部品抽出部１４１が生成した複数の部品情報から、未選択の一つの部品情報を選択する（Ｓ６０）。
【０１００】
次に、関連性解析部１４２は、選択された部品情報で示される部品に対応する機能と同じ機能から生成された部品を示す部品情報の検索を実行する（Ｓ６１）。
【０１０１】
次に、関連性解析部１４２は、ステップＳ６１の検索で見つかった部品情報を関連付ける関連性情報を生成する（Ｓ６２）関連性解析部１４２は、この検索により見つかった部品情報を選択済みとする。
【０１０２】
次に、関連性解析部１４２は、全ての部品情報を選択したか否かを判断する（Ｓ６３）。未だ選択していない部品情報がある場合（Ｓ６２でＮｏ）には、処理はステップＳ６０に戻る。
【０１０３】
図１５は、モデル生成部１５０の処理を示すフローチャートである。
まず、モデル生成部１５０は、モデル様式集１２６を参照しつつ生成するモデルを特定する（Ｓ７０）。
【０１０４】
次に、モデル生成部１５０は、特定されたモデルを記載先としている一つの部品情報を特定する（Ｓ７１）。
【０１０５】
次に、モデル生成部１５０は、モデル様式集１２６を参照することで、特定された部品情報で示される部品を、特定されたモデルに応じて配置する（Ｓ７２）。この時、モデル生成部１５０は、モデル様式集１２６に含まれるモデル毎にどのような情報を含み、どのような構成をとるのかを示す構成情報を参照する。
【０１０６】
次に、モデル生成部１５０は、関連性情報を参照することで、特定された部品情報と同じ機能に関連付けられ、かつ、別のモデルの種別に関連付けられている部品情報を、ステップＳ７２で組み込まれた部品に紐付ける（Ｓ７３）。
【０１０７】
次に、モデル生成部１５０は、モデル様式集１２６に示されている全てのモデルの種別を特定したか判断する（Ｓ７４）。未だ特定していない種別がある場合（Ｓ７４でＮｏ）には、処理はステップＳ７０に戻る。
【０１０８】
以上のように、部品解析部１４０によってモデルを構成する部品を事前に解析しておくことにより、後段のモデル生成処理における生成精度を向上するという効果を奏する。
【０１０９】
実施の形態２．
続いて、実施の形態２について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
【０１１０】
図１６は、実施の形態２に係る開発支援装置２００の構成を概略的に示すブロック図である。
開発支援装置２００は、文書入力部１１０と、記憶部１２０と、文書解析部１３０と、部品解析部２４０と、モデル生成部１５０と、類語解析部２６０と、上位用語集生成部２６１とを有する。
【０１１１】
実施の形態２に係る開発支援装置２００の文書入力部１１０、記憶部１２０、文書解析部１３０及びモデル生成部１５０は、実施の形態１に係る開発支援装置１００の文書入力部１１０、記憶部１２０、文書解析部１３０及びモデル生成部１５０と同様である。
【０１１２】
類語解析部２６０は、文書解析部１３０の解析結果から、開発文書１０１の記載事項に含まれ、類似する意味を有する複数の単語のグループと、そのグループを代表する単語を特定する。ここで、そのグループを代表する単語を代表単語ともいう。
【０１１３】
上位用語集生成部２６１は、類語解析部２６０が生成したグループについて、グループ間の関係性と、グループに含まれている単語の開発文書１０１の記載箇所と、そのグループを代表する単語とを示す情報を含む上位用語集を生成する。
【０１１４】
部品解析部２４０は、文書解析部１３０の解析結果に加え、上位用語集生成部２６１が生成した上位用語集を用いて部品の解析を行う。
部品解析部２４０は、部品抽出部２４１と、関連性解析部２４２とを備える。
【０１１５】
実施の形態２における部品抽出部２４１は、文書解析部１３０からの文書解析結果で示される機能を特定する。そして、部品抽出部２４１は、特定された機能に対応するモデルを特定する。さらに、部品抽出部２４１は、特定された機能に対応する単語群及び構成要素群の少なくとも何れか一方から、特定されたモデルにおける部品を生成する。実施の形態２においては、部品抽出部２４１は、上位用語集を用いて、単語群に含まれている単語が上位用語集で示されているグループに属する場合には、その単語をそのグループを代表する単語で置き換えて、部品を生成する。言い換えると、部品抽出部２４１は、部品を生成する際に、グループに含まれている類似の単語の代わりに、そのグループを代表する単語を用いる。
【０１１６】
上位用語集は、類語をまとめたグループを代表する単語を特定しているため、異なる単語で同じ機能を指し示す単語を紐付ける機能を果たす。即ち、同一の部品を生成すべきところを、異なる単語であったために異なる部品が生成されていたケースでも、実施の形態２では、それらの単語から同一の部品を生成することができる。また、複数の単語から同一の部品を生成できた場合でも、複数の単語から抽出される部品の名称をどの単語とするか一意に決められないケースでも、上位用語集を参照することで、代表する単語に統一して部品を生成することができる。
そして、部品抽出部２４１は、機能と、生成された部品と、記載先であるモデルとを関連付ける部品情報を生成する。ここで、部品抽出部２４１は、特定された機能に対応して、複数のモデルを特定することもある。
【０１１７】
実施の形態２における関連性解析部２４２は、実施の形態１における関連性解析部１４２と同様の処理を行うほか、以下の処理を行う。
関連性解析部２４２は、部品抽出部２４１で生成された部品情報で示される部品間の関連性を特定し、部品情報を関連付ける関連性情報を生成する。実施の形態２では、関連性解析部２４２は、上位用語集生成部２６１で生成された上位用語集において予め定められた関係性があるグループに含まれている単語から生成された部品の部品情報も関連付ける。
【０１１８】
図１７は、類語解析部２６０の処理を示すフローチャートである。
まず、類語解析部２６０は、文書解析部１３０の解析結果を読み込み、そこに含まれる単語を抽出する（Ｓ８０）。
【０１１９】
次に、類語解析部２６０は、類語集１２４を参照しつつ、類似する意味を有する単語をグルーピングする（Ｓ８１）。
続けて、類語解析部２６０は、グループに分類された単語を分析し、グループを代表する単語を決定する（Ｓ８２）。なお、グループを代表する単語は、グループの中から選んでもよいし、グループ内に存在しない新規の単語が生成されてもよい。例えば、類語解析部２６０は、グループ内の各単語の概念を表す類語を類語集１２４から特定してもよく、グループ内の各単語をさらにサブグループに分類し、最も多い単語が分類されたサブグループ内の何れかの単語を代表する単語に指定してもよい。また、類語解析部２６０は、過去において、人手で特定された代表する単語と、それに対応するグループ内の単語との関係性の傾向を分析して、代表する単語を特定してもよい。
【０１２０】
類語解析部２６０は、以上の処理により、複数のグループと、代表する複数の単語とを特定する。
【０１２１】
図１８は、上位用語集生成部２６１の処理を示すフローチャートである。
まず、上位用語集生成部２６１は、類語解析部２６０が特定した複数のグループから一つのグループを特定する（Ｓ９０）。
【０１２２】
次に、上位用語集生成部２６１は、文書解析部１３０の解析結果を参照しつつ、各グループに分類される単語それぞれが開発文書１０１のいずれの文書のいずれの箇所に記載されているかを特定し、グループ毎にまとめる（Ｓ９１）。なお、このとき、一つの単語が複数の開発文書１０１に記載箇所を持ってもよい。
【０１２３】
次に、上位用語集生成部２６１は、単語の記載箇所を手掛かりに、文書解析部１３０での解析結果から、各グループの単語が表す機能を特定し、グループ間の関係性を機能間の予め定められた関係性から特定する（Ｓ９２）。例えば、機能には、上位の機能、下位の機能といった関係性が予め定められており、この予め定められた機能を、グループ間の関係性として特定する。
【０１２４】
次に、上位用語集生成部２６１は、類語解析部２６０が生成したグループについて、グループ間の関係性と、開発文書１０１の記載箇所と、そのグループを代表する単語とを示す情報を含む上位用語集を生成する（Ｓ９３）。
【０１２５】
次に、上位用語集生成部２６１は、以上の処理を全てのグループについて行ったかを確認する（Ｓ９４）。未だ処理を行ってないグループがある場合（Ｓ９４でＮｏ）には、処理はステップＳ９０に戻る。
【０１２６】
これにより、複数の開発文書１０１に分散する同一の意味又は機能を持つ単語をまとめることができ、後段の部品解析、モデル生成が容易になるという効果を奏する。また、用語の表現の揺れを吸収するという効果を奏する。
【０１２７】
実施の形態３．
続いて、実施の形態３について、上述の実施の形態２との相違点を中心に説明する。なお、上記実施の形態２と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
【０１２８】
図１９は、実施の形態３に係る開発支援装置３００の構成を概略的に示すブロック図である。
開発支援装置３００は、文書入力部１１０と、記憶部１２０と、文書解析部１３０と、類語解析部２６０と、上位用語集生成部３６１とを有する。
【０１２９】
実施の形態３に係る開発支援装置３００の文書入力部１１０、記憶部１２０及び文書解析部１３０は、実施の形態１に係る開発支援装置１００の文書入力部１１０、記憶部１２０及び文書解析部１３０と同様である。
また、実施の形態３に係る開発支援装置３００の類語解析部２６０は、実施の形態２に係る開発支援装置２００の類語解析部２６０と同様である。
【０１３０】
上位用語集生成部３６１は、実施の形態２と同様に、上位用語集を生成する。
また、上位用語集生成部３６１は、上位用語集と、上位用語集に含まれている単語とを示す情報を出力情報とする。
【０１３１】
実施の形態３は、実施の形態１及び２において、部品解析部１４０及びモデル生成部１５０が実施していた処理をユーザ自身が行うものである。すなわち、ユーザは、上位用語集生成部３６１で生成された出力情報を利用して、モデルの作成を行う。
【０１３２】
これにより、開発文書１０１が不完全な状態、例えば、開発途上又は一部喪失文書があるような状態であっても、開発支援装置３００を駆動することができ、開発文書１０１に記載されない要求又は仕様については後段のユーザ作業によって補完することでモデルの生成が可能となるという効果を奏する。
【０１３３】
実施の形態４．
続いて、実施の形態4について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
図２０は、実施の形態４に係る開発支援装置４００の構成を概略的に示すブロック図である。
開発支援装置４００は、文書入力部１１０と、記憶部１２０と、文書解析部１３０と、部品解析部１４０と、モデル生成部１５０と、文書整理部４６２とを有する。
【０１３４】
実施の形態４に係る開発支援装置４００の文書入力部１１０、記憶部１２０、文書解析部１３０、部品解析部１４０及びモデル生成部１５０は、実施の形態１に係る開発支援装置１００の文書入力部１１０、記憶部１２０、文書解析部１３０、部品解析部１４０及びモデル生成部１５０と同様である。
【０１３５】
文書整理部４６２は、文書入力部１１０から複数の開発文書１０１の入力を受け、複数の開発文書１０１の中から適切な開発文書１０１のみを選択して、記憶部１２０に記憶させる文書選択部である。これは、開発文書１０１に、モデルの生成に不必要な開発文書１０１が含まれていることを想定したものである。言い換えると、文書整理部４６２は、複数の開発文書１０１から文書解析部１３０で解析する開発文書１０１を選択する。
【０１３６】
例えば、第１の製品の開発文書１０１からモデルを生成する際に、関連する第２の製品の開発文書１０１も混在して開発支援装置４００に入力されるような場合がある。このような場合には、文書整理部４６２は、第２の製品の開発文書１０１を取り除く。
【０１３７】
文書整理部４６２における開発文書１０１の選別においては、文書表１２２を参照し、文書表１２２に記載のない開発文書１０１を取り除くことが可能である。なお、文書整理部４６２は、文書表１２２を用いずに、文書間の関連性を解析して選別を行ってもよい。例えば、垂直比較によって、Ａ−１機能と、Ａ−２機能とを、上位の開発文書１０１の機能Ａによってまとめられることは判断することができる。このため、垂直の関連性を有しない開発文書１０１を取り除くことができる。また、垂直の関連性を有する開発文書１０１の複数のグループが検出されても、文書数の少ないグループの開発文書１０１を取り除くことができる。さらに、垂直の関連性を有する開発文書１０１の複数のグループが検出されても、最上位の開発文書１０１が存在しないグループの開発文書１０１を取り除くことができる。
また、機能を用いて選別を行う際に、文書整理部４６２は、文書解析部１３０を利用して、解析結果をフィードバックして再度文書選別を行い、その結果をもって文書解析部１３０が処理をやり直してもよい。
【０１３８】
このように、開発文書１０１を事前に選別することにより、入力される開発文書１０１を特定のものに限定することなくモデル生成を実現することが可能となるという効果を奏する。
【０１３９】
実施の形態５．
続いて、実施の形態５について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
【０１４０】
図２１は、実施の形態５に係る開発支援装置５００の構成を概略的に示すブロック図である。
開発支援装置５００は、文書入力部１１０と、記憶部１２０と、文書解析部１３０と、部品解析部５４０と、モデル生成部１５０と、モデル入力部５６３とを有する。
【０１４１】
実施の形態５に係る開発支援装置５００の文書入力部１１０、記憶部１２０、文書解析部１３０及びモデル生成部１５０は、実施の形態１に係る開発支援装置１００の文書入力部１１０、記憶部１２０、文書解析部１３０及びモデル生成部１５０と同様である。
【０１４２】
モデル入力部５６３は、モデルの入力を受け、モデルを部品に分解して、その部品を、その部品が関連する機能に対応付けて部品解析部５４０に与える。これは、開発支援装置５００への入力が開発文書１０１にとどまらず、一部の開発文書１０１はすでにモデルとして作成済みであるケースに対応するものである。なお、モデル入力部５６３に入力されるモデルを入力モデルともいい、その入力モデルを構成する部品を入力部品ともいい、その入力部品に対応する機能を入力機能ともいう。
【０１４３】
入力されるモデルは、開発支援装置５００で生成されるモデルにそのまま含めることも可能な場合も存在するが、入力されるモデルが不完全なケース、又は、入力されるモデルを構成する各部品と、他のモデル、すなわち、開発文書１０１を解析し、モデル生成部１５０が新たに生成するモデルに含まれる各部品との関連性を部品解析部５４０が解析するケースが想定されるため、入力されるモデルは、一旦部品に分解され、部品解析部５４０に入力される。
【０１４４】
部品解析部１４０は、開発文書１０１から特定された機能が入力機能と一致する場合に、モデルを構成する複数の部品の少なくとも一部として、入力部品を使用する。
モデル入力部５６３から入力されるモデルは完成しているモデルであるため、そのまま利用することができる。例えば、開発文書１０１とは別にアーキテクチャ図が入力されている場合は、アーキテクチャ図は、そのまま利用し、その他の図は、モデル生成部１５０で生成することができる。しかしながら、入力されるモデル及び開発文書１０１の少なくとも何れか一方に誤りがある場合、又は、開発文書１０１の解析にミスがある場合等では、入力されるモデルと開発文書１０１とが一致しないため、開発文書１０１を用いて生成されたモデルと、入力されるモデルとを突き合わせることで誤りを訂正することが可能となる。このよう場合には、入力されるモデルは、一旦部品に分解されて、部品解析部５４０に入力される。
【０１４５】
また、例えば、ユースケース図とシーケンス図との両方に「ロボット」の文字列を示す部分が出てくる場合等のように、同じの部品が複数のモデルに組み込まれる場合がある。このような場合、モデル入力部５６３からシーケンス図が入力されれば、ユースケース図を生成する際に、そのシーケンス図から分解された部品を利用することができる。
【０１４６】
なお、開発支援装置５００は、モデル入力部５６３からモデルを取得する図示しないモデル選択部を備えていてもよい。モデル選択部は、モデル入力部５６３から取得されたモデルと、モデル生成部１５０が生成するモデルとを比較の上、何れか一方を出力するモデルとして選択する。
【０１４７】
部品解析部５４０は、文書解析部１３０からの文書解析結果を受けて、モデルを構成する部品を生成し、生成された部品と、その記載先とを示す部品情報と、部品情報間の関連性情報とを生成する。
部品解析部５４０は、部品抽出部５４１と、関連性解析部１４２とを備える。
実施の形態５における部品解析部５４０の関連性解析部１４２は、実施の形態１における部品解析部１４０の関連性解析部１４２と同様である。
【０１４８】
部品抽出部５４１は、文書解析部１３０からの文書解析結果で示される機能から、その機能に対応する部品を生成するか、又は、モデル入力部５６３から入力される部品を選択して、その部品と、その部品を記載するモデルとを特定する。そして、部品抽出部５４１は、機能と、生成された部品と、記載先であるモデルとを関連付ける部品情報を生成する。部品抽出部５４１は、機能に対応する部品がモデル入力部５６３から入力されている場合には、部品を生成する代わりに、その部品を用いればよい。
例えば、部品抽出部５４１は、特定された機能が入力機能と一致する場合に、モデルの部品として、入力部品を使用することができる。
【０１４９】
関連性解析部５４２は、部品抽出部５４１で生成された部品情報で示される部品間の関連性を特定し、部品情報を関連付ける関連性情報を生成する。
【０１５０】
このように、開発支援装置１００への入力が開発文書１０１に限定されず、一部モデルを含んだ場合に対応することで、より正確な部品解析が可能になるという効果を奏する。
【０１５１】
実施の形態６．
続いて、実施の形態６について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
【０１５２】
図２２は、実施の形態６に係る開発支援装置６００の構成を概略的に示すブロック図である。
開発支援装置６００は、文書入力部１１０と、記憶部１２０と、文書解析部１３０と、部品解析部１４０と、モデル生成部１５０と、データ更新処理部６６４とを有する。
【０１５３】
実施の形態６に係る開発支援装置６００の文書入力部１１０、記憶部１２０、文書解析部１３０、部品解析部１４０及びモデル生成部１５０は、実施の形態１に係る開発支援装置１００の文書入力部１１０、記憶部１２０、文書解析部１３０、部品解析部１４０及びモデル生成部１５０と同様である。
【０１５４】
データ更新処理部６６４は、文書解析部１３０が出力する解析結果を基に、記憶部１２０に格納されるデータを更新する。例えば、項目表１２３に基づき文書解析部１３０は開発文書１０１を解析するが、その解析結果の内容が項目表１２３に合致しない場合、その差異を埋めるようにデータ更新処理部６６４が項目表１２３を上書きする。具体的には、項目表１２３には記載のない節を文書解析部１３０の解析結果から検出した場合には、データ更新処理部６６４は、その節を項目表１２３に追加する。また、項目表１２３に記載のある節が開発文書１０１には見当たらなかった場合には、データ更新処理部６６４は、その節を項目表１２３から削除する。
【０１５５】
なお、データ更新処理部６６４は、文書解析部１３０の解析結果において、同じ機能を表しているのに違う単語である等のように、明らかに類似する単語が見つかった場合に、類語集１２４を更新してもよい。
【０１５６】
開発支援装置１００は、データ更新処理部６６４による記憶部１２０の上書きに応じて、文書解析部１３０を駆動し、開発文書１０１の解析を繰り返し行うことが可能である。なお、繰り返し回数は任意であり、１回でもよいし、それ以上であってもよい。
【０１５７】
このように、データ更新処理部６６４が記憶部１２０を更新することにより、記憶部１２０に含まれる情報の欠落、誤りに影響されることなく、高い精度で文書を解析することが可能となるという効果を奏する。
【０１５８】
実施の形態１〜６は、その広義の精神と範囲とを逸脱することなく、様々な変形が可能である。
【符号の説明】
【０１５９】
１００，２００，３００，４００，５００，６００  開発支援装置、  １１０  文書入力部、  １２０  記憶部、  １３０  文書解析部、  １３１  文章解析部、  １３２  図表解析部、  １３３  水平文書比較部、  １３４  垂直文書比較部、  １４０，２４０，５４０  部品解析部、  １４１，２４１，５４１  部品抽出部、  １４２，２４２，５４２  関連性解析部、  １５０  モデル生成部、  ２６０  類語解析部、  ２６１，３６１  上位用語集生成部、  ４６２  文書整理部、  ５６３  モデル入力部、  ６６４  データ更新処理部。
【要約】
開発工程において作成された開発文書の記載事項を解析して、開発文書に記載された機能を特定する文書解析部（１３０）と、特定された機能に対応するモデルを特定し、記載事項の解析結果を用いて、特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品解析部（１４０）と、その標準化された様式に従って、複数の部品から選択された部品を組み込むことで、特定されたモデルを生成するモデル生成部（１５０）と、を備えることを特徴とする。【図１】
0006827610.tif 000002
【図２】
0006827610.tif 000003
【図３】
0006827610.tif 000004
【図４】
0006827610.tif 000005
【図５】
0006827610.tif 000006
【図６】
0006827610.tif 000007
【図７】
0006827610.tif 000008
【図８】
0006827610.tif 000009
【図９】
0006827610.tif 000010
【図１０】
0006827610.tif 000011
【図１１】
0006827610.tif 000012
【図１２】
0006827610.tif 000013
【図１３】
0006827610.tif 000014
【図１４】
0006827610.tif 000015
【図１５】
0006827610.tif 000016
【図１６】
0006827610.tif 000017
【図１７】
0006827610.tif 000018
【図１８】
0006827610.tif 000019
【図１９】
0006827610.tif 000020
【図２０】
0006827610.tif 000021
【図２１】
0006827610.tif 000022
【図２２】
0006827610.tif 000023