JP6827610B1 - 開発支援装置、プログラム及び開発支援方法 - Google Patents

開発支援装置、プログラム及び開発支援方法 Download PDF

Info

Publication number
JP6827610B1
JP6827610B1 JP2020564768A JP2020564768A JP6827610B1 JP 6827610 B1 JP6827610 B1 JP 6827610B1 JP 2020564768 A JP2020564768 A JP 2020564768A JP 2020564768 A JP2020564768 A JP 2020564768A JP 6827610 B1 JP6827610 B1 JP 6827610B1
Authority
JP
Japan
Prior art keywords
document
model
development
function
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020564768A
Other languages
English (en)
Other versions
JPWO2021255910A1 (ja
Inventor
督 那須
督 那須
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6827610B1 publication Critical patent/JP6827610B1/ja
Publication of JPWO2021255910A1 publication Critical patent/JPWO2021255910A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

開発工程において作成された開発文書の記載事項を解析して、開発文書に記載された機能を特定する文書解析部(130)と、特定された機能に対応するモデルを特定し、記載事項の解析結果を用いて、特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品解析部(140)と、その標準化された様式に従って、複数の部品から選択された部品を組み込むことで、特定されたモデルを生成するモデル生成部(150)と、を備えることを特徴とする。

Description

本開示は、開発支援装置、プログラム及び開発支援方法に関する。
製品開発工程においては、要求項目又は設計情報を記録し、他の人たちに伝える目的で仕様書又は設計書といった文書が作成されるが、文書作成にあたっては作成者の意思が介在し、読み手によって理解の仕方が異なるという問題がある。
また、設計情報又は開発情報はさまざまな領域にまたがり、その関連性は非常に複雑なものとなっている。このため、文書に表すと可読性が下がり、開発工程において手戻りが発生し開発が非効率になるという問題がある。
これらの問題を解決するために、SysML(Systems Modeling Language)等の記述言語を用いてモデルによって要求項目又は設計情報を表すことが一般的になりつつある。
特許文献1には、ユースケース表、クラス定義及びオペレーション表を含む標準化ドキュメントを、構造化データに変換するルールを示す再構築ルール情報が記憶される記憶手段と、標準化ドキュメントを取り込み、再構築ルール情報を参照して、構造化データに変換するデータ再構築手段と、ユースケース表の構造化データを自然言語処理し、ユースケース表で示される処理内容を状態遷移図に変換した構造化データを生成するサブプロセス解析手段と、ユースケース表、クラス定義、オペレーション表及び状態遷移図の各構造化データを用いて、ビジネスプロセス図を生成するプロセス変換手段と、を備えるビジネスプロセス図生成装置が開示されている。これにより、ビジネスプロセス図を自動で生成することができる。
特開2016−218851号公報
従来の技術は、標準化ドキュメントを取り込むことにより、その標準化ドキュメントに記載された各項目を解析して、ビジネスプロセス図を自動で生成するものであった。しかしながら、作成済みの開発文書は、必ずしも従来技術に記載された標準化ドキュメントの様式に則っているとは限らない。このため、従来の技術では、既存の開発文書からモデルを作成することができない場合がある。
そこで、本開示の一又は複数の態様は、既存の開発文書からモデルを容易に生成できるようにすることを目的とする。
本開示の第1の態様に係る開発支援装置は、開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部と、前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部と、前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部と、前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部と、を備え、前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用することを特徴とする。
本開示の第1の態様に係るプログラムは、コンピュータを、開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部、前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部、及び、前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部、として機能させ、前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用することを特徴とする。
本開示の第1の態様に係る開発支援方法は、開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定し、前記特定された機能に対応するモデルを特定し、前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成し、前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成する開発支援方法であって、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品が使用されることを特徴とする。
本開示の一又は複数の態様によれば、既存の開発文書からモデルを容易に生成することができる。
実施の形態1に係る開発支援装置の構成を概略的に示すブロック図である。 製品開発の各工程において作成される開発文書の例を示す概略図である。 文書表の一例を示す概略図である。 項目表の一例を示す概略図である。 モデル様式集の管理情報の一例を示す概略図である。 ハードウェア構成例を示すブロック図である。 文章解析部の解析処理を示すフローチャートである。 図表解析部の解析処理を示すフローチャートである。 水平文書比較部の処理を示すフローチャートである。 水平文書比較部による機能の比較を説明するための概略図である。 垂直文書比較部の処理を示すフローチャートである。 垂直文書比較部による機能の比較を説明するための概略図である。 部品抽出部の処理を示すフローチャートである。 関連性解析部の処理を示すフローチャートである。 モデル生成部の処理を示すフローチャートである。 実施の形態2に係る開発支援装置の構成を概略的に示すブロック図である。 類語解析部の処理を示すフローチャートである。 上位用語集生成部の処理を示すフローチャートである。 実施の形態3に係る開発支援装置の構成を概略的に示すブロック図である。 実施の形態4に係る開発支援装置の構成を概略的に示すブロック図である。 実施の形態5に係る開発支援装置の構成を概略的に示すブロック図である。 実施の形態6に係る開発支援装置の構成を概略的に示すブロック図である。
実施の形態1.
図1は、実施の形態1に係る開発支援装置100の構成を概略的に示すブロック図である。
開発支援装置100は、文書入力部110と、記憶部120と、文書解析部130と、部品解析部140と、モデル生成部150とを有する。
開発支援装置100は、既存の製品開発が完了し、関連する他の製品開発が開始される際に使用される。開発支援装置100は、既存の完了した製品開発の際に作成された開発文書からモデルを生成する機能を有する。
文書入力部110は、複数の開発文書の入力を受け付ける。入力された複数の開発文書101は、文書解析部130に読み込まれる。
開発文書は、製品の開発の各工程で作成される文書である。
図2は、製品開発の各工程において作成される開発文書の例を示す概略図である。
図2では、要求定義、基本設計、詳細設計、コーディング、単体試験、結合試験及びシステム試験という工程の順で開発が進められているものとする。それぞれの工程において、要求定義書101a、基本設計書101b、詳細設計書101c、単体試験仕様書101d、結合試験仕様書101e又はシステム試験仕様書101fが開発文書として作成される。
なお、以下において開発文書の各々を一般的に示す場合には、開発文書101という。
各開発工程間において、設計内容及び試験内容に関連性が存在する。隣接する開発工程、例えば、要求定義と基本設計との間では、要求定義書101aに記載される要求事項に対し、その要求事項を実現する機能が基本設計書101bに記載されるといった関連性が存在する。このような関連性を以下、垂直の関連性という。
開発工程は、コーディングを境に設計フェーズである上流工程と、試験フェーズである下流工程とに分けられる。上流工程と、下流工程との間においても設計内容と、試験内容とに関連性が存在する。例えば、基本設計書101bに記載された機能は、結合試験において正しくその機能が実装されているかを試験されるため、結合試験仕様書101eにその機能を試験する項目が記載されるといった関連性が存在する。このような関連性を以下、水平の関連性という。
本実施の形態に係る開発支援装置100は、垂直の関連性と、水平の関連性とを利用するため、該当する開発文書101を比較する。以下、これらの比較をそれぞれ垂直比較及び水平比較という。
図1に戻り、記憶部120は、開発支援装置100での処理に必要なプログラム及びデータを記憶する。例えば、記憶部120は、各種データとして、領域用語集121と、文書表122と、項目表123と、類語集124と、モデル用語集125と、モデル様式集126とを記憶する。
領域用語集121は、開発文書101に係る開発対象物が属する分野に関する用語集のデータである。例えば、開発対象物が産業用ロボットであれば産業用機器等がその分野にあたり、アクチュエータ、アーム、自由度及びジョイント等の用語の収録が想定される。
文書表122は、開発文書101の関連性を示すデータである。
図3は、文書表122の一例を示す概略図である。
図3に示されているように、文書表122は、識別番号列122aと、文書名列122bと、前文書列122cと、後文書列122dと、相対文書列122eとを有するテーブル形式のデータである。
識別番号列122aは、開発文書101を一意に識別するための識別番号である文書番号を格納する。
文書名列122bは、開発文書101を識別するための識別情報である文書名を格納する。なお、開発文書101を識別できれば、文書名の代わりに、ファイル名又は文書ID(Identification)等の他の情報が使用されてもよい。
前文書列122cは、識別番号列122a及び文書名列122bで識別される開発文書101に対して、垂直の関連性において一つ前の工程において作成される開発文書101の文書番号を格納する。例えば、文書名が「基本設計書」の開発文書101における前文書列122cには、基本設計書と垂直の関連性のある一つ前の工程において作成される開発文書101である文書名「要求定義書」を示す文書番号「1」が入る。
後文書列122dは、識別番号列122a及び文書名列122bで識別される開発文書101に対して、垂直の関連性において一つ後の工程において作成される開発文書101の文書番号を格納する。例えば、文書名が「基本設計書」の開発文書101における後文書列122dには、基本設計書と垂直の関連性のある一つ後の工程において作成される開発文書101である文書名「詳細設計書」を示す文書番号「3」が入る。
相対文書列122eは、識別番号列122a及び文書名列122bで識別される開発文書101に対して、水平の関連性を有する開発文書101の文書番号を格納する。例えば、文書名が「基本設計書」の開発文書101における相対文書列122eには、基本設計書と水平の関連性のある工程において作成される開発文書101である文書名「結合試験仕様書」を示す文書番号「5」が入る。
なお、前文書列122c、後文書列122d及び相対文書列122eには、文書番号が格納されているが、開発文書101を識別できればどのような情報であってもよい。例えば、文書名、ファイル名又は文書IDであってもよい。
図1に戻り、項目表123は、開発文書101の項目を示すデータである。
図4は、項目表123の一例を示す概略図である。
図4に示されているように、項目表123は、行番号列123aと、章番号列123bと、節番号列123cと、タイトル列123dとを有するテーブル形式のデータである。
なお、基本的には、一つの開発文書101に、図4に示されているような一つの項目表123が存在するものとする。また、開発文書101は、一又は複数の章を含み、一つの章は、一又は複数の節を含むものとする。
但し、項目表が存在しない開発文書101があっても構わない。
行番号列123aは、項目表123に設けられている行を識別するための行番号を格納する。
章番号列123bは、開発文書101の章を識別するため識別番号である章番号を格納する。
節番号列123cは、開発文書101の節を識別するための識別番号である節番号を格納する。
タイトル列123dは、章又は節のタイトルを格納する。
以上のように、項目表123は、章番号、節番号及びタイトルを含むデータであるが、章若しくは節に記載されている内容を示す情報、又は、章若しくは節の始まるページ番号といった付加情報を含んでいてもよい。
図1に戻り、類語集124は、類似する意味を示す用語をグルーピングした用語集のデータである。類語集124は、一般的な類語辞典を内包してもよいし、独自に構築されてもよい。また、文書解析部130は、開発文書101を解析する中で、開発文書101に合わせて、分析処理中に動的に入力された開発文書101で用いられている用語を類語集124に追加する更新を行ってもよい。
モデル用語集125は、モデルに関する用語を収録したデータである。モデル用語集125は、例えば、アーキテクチャ、エンティティ、システム、メタモデル又はライフサイクル等の用語を収録する。これらは、モデルを構成する部品の名称であったり、モデル化における概念を表す用語であったりする。
モデル様式集126は、UML(Unified Modeling Language)又はSysML等の標準化ドキュメントに基づいて規定されたそれぞれのモデルを示す図表と、その図表に含まれる部品とを示し、図又は線の表示形式等の関係を示す情報が格納されたデータである。言い換えると、モデル様式集126は、モデル毎に、標準化ドキュメントに従って、どのような部品が、どのような位置に配置されるかを示す。
図5は、モデル様式集126の管理情報の一例を示す概略図である。
モデル様式集126の管理情報は、図表番号列126aと、分類列126bと、図表名列126cと、略称列126dとを有するテーブル形式のデータである。
図表番号列126aは、図表であるモデルを識別するための識別情報である図表番号を格納する。
分類列126bは、図表であるモデルの分類を格納する。
図表名列126cは、図表であるモデルを識別するための識別情報である図表名を格納する。
略称列126dは、図表であるモデルの略称を格納する。
なお、図示されてはいないが、モデル様式集126は、各モデルがどのような情報を含み、どのような表示形式(例えば図形、線形またはそれらの組合せ)が用いられ、どのような構成をとるのかを示す情報である構成情報を含んでいる。例えば、標準化ドキュメントにおいてシーケンス図は、シーケンス図における部品であるオブジェクト間のメッセージの流れを時系列的に表現するもので、イベントの発生順序に関連付けて、オブジェクトの生存(ライフライン)、メッセージ、イベントオカレンス、実行オカレンス及び相互作用オカレンスを含み、これらがどのような意味を持ち、どのような位置関係で、どのような図形として表記されるかという情報が構成情報の一例である。
以上のように、記憶部120に類語集、用語集といった各種データを格納し、これらを参照することで文書解析部130の解析をサポートすることができる。
図1に戻り、文書解析部130は、文書入力部110から与えられた複数の開発文書101の解析を行い、その解析結果を部品解析部140に与える。
例えば、文書解析部130は、開発工程において作成された開発文書101の記載事項を解析して、その開発文書101に記載された機能を特定する。
具体的には、文書解析部130は、文書表122を参照して、又は、それぞれの開発文書101に記載された内容を比較して、入力された複数の開発文書101のそれぞれが、その入力された複数の開発文書101が使われた既存の製品開発において、いずれの工程に関連する開発文書101なのかを解析するとともに、それぞれの開発文書101の文章部分及び図表部分を記載事項として解析して、それぞれの開発文書101に記載された機能を抽出する。なお、文書解析部130は、項目表123を参照して、開発文書の記載事項を解析すればよい。
文書解析部130は、文章解析部131と、図表解析部132と、水平文書比較部133と、垂直文書比較部134とを備える。
文章解析部131は、開発文書101に含まれている文章部分を記載事項として解析することで、機能を特定する。
例えば、文章解析部131は、開発文書101に含まれている文章部分を解析することで、その文章部分から単語を抽出し、抽出された単語同士の文章における予め定められた関係性である単語関係性を特定する。単語関係性には、例えば、文章内での位置が近い近接関係、主語と動詞の関係又は修飾関係等がある。
そして、文章解析部131は、単語関係性を有する単語群の意味又は内容から機能を特定する。例えば、主語に相当する位置に記載された単語と、目的語に相当する位置に記載された単語との間にある動詞を示す単語が「送信」である場合、又は、「送信」に類似する単語である場合、「送信」に対応付けられた機能として通信機能を、この単語群を解析することで特定することができる。
さらに、文章解析部131は、単語群と、その単語群の単語関係性と、特定された機能とを示す文章解析結果を生成する。
なお、文章解析部131は、項目表123を参照することで、文書内の文章部分を抽出して解析する。また、領域用語集121、類語集124及びモデル用語集125も参照することで文章解析のサポートが期待できる。
図表解析部132は、開発文書101に含まれている図表部分を記載事項として解析することで、機能を特定する。
例えば、図表解析部132は、開発文書101に含まれている図表部分を抽出して解析することで、記載事項としての図表を構成する構成要素又は図表に含まれている単語を抽出する。このとき、項目表123を参照して、図表部分が抽出されてもよい。
例えば、図表解析部132は、モデル様式集126を参照しながら、図表を構成する構成要素同士の図表における予め定められた関係性である図表関係性を特定する。図表関係性は、図表における位置、役割又は関連といった構成要素間の成り立ちである。例えば、図表解析部132は、モデル様式集126を参照して、開発文書101に含まれている図表部分が、どの図表なのか(例えば、シーケンス図なのか、ユースケース図なのか等)を特定する。図表解析部132は、例えば、図表部分がシーケンス図であれば、シーケンス図に使われるオブジェクト名又はクラス名が表示される構成要素が、そのシーケンス図のライフラインとして抽出される。この抽出されたライフラインが、図表関係性となる。
そして、図表解析部132は、図表関係性を有する構成要素群の意味又は内容から機能を特定する。
また、図表解析部132は、図表に含まれている単語を抽出し、抽出された単語同士の文章における予め定められた関係性である単語関係性を特定する。そして、図表解析部132は、単語関係性を有する単語群の意味又は内容から機能を特定する。
そして、図表解析部132は、構成要素群と、その構成要素群における図表関係性と、特定された機能とを示す図表解析結果、又は、単語群と、その単語群の単語関係性と、特定された機能とを示す図表解析結果を生成する。
水平文書比較部133は、入力された複数の開発文書101の内、水平の関連性を有する開発文書101の組合せの記載内容を比較解析する。図2の文書表122であれば水平の関連性を有する開発文書101の組合せは3つ存在する。
また、水平文書比較部133は、文章解析部131及び図表解析部132における解析結果から、一方の開発文書101の記載に対応する機能と、その開発文書101に対して水平の関連性を有する他の開発文書101の記載に対応する機能とを比較することで、お互いの開発文書101に記載されている機能に欠落があるか否かを判断する。欠落がある場合には、水平文書比較部133は、欠落すると判断された機能を、その開発文書101の記載に対応する機能として特定する。
垂直文書比較部134は、入力された複数の開発文書101の内、垂直の関連性を有する開発文書101の組合せの記載内容を比較解析する。図2の文書表122であれば垂直の関連性を有する開発文書101の組合せは4つ存在する。
また、垂直文書比較部134は、文章解析部131及び図表解析部132における解析結果から、一方の開発文書101の記載に対応する機能と、その開発文書101に対して垂直の関連性を有する他方の開発文書101の記載に対応する機能とを比較することで、お互いの開発文書101の記載に対応する機能に欠落があるか否かを判断する。欠落がある場合には、垂直文書比較部134は、欠落すると判断された機能を、その開発文書101の記載に対応する機能として特定する。
部品解析部140は、文書解析部130において特定された機能に対応するモデルを特定し、開発文書の記載事項の解析結果を用いて、その特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部である。
例えば、部品解析部140は、文書解析部130からの文書解析結果を受けて、開発文書101に記載された内容から予め決められた様式を用いたモデルを生成する上で、そのモデルを構成する部品を生成し、生成された部品と、その記載先とを示す部品情報と、部品情報間の関連性情報とを生成する。ここで予め決められた様式とは、UML又はSysML等の標準化ドキュメントで規定された様式を示す。
具体的には、部品解析部140は、機能を特定し、特定された機能に対応するモデルを特定し、特定された機能に対応する単語群又は構成要素群の少なくとも何れか一方を用いて、特定されたモデルにおける部品を生成する。
また、部品解析部140は、部品情報で示される部品間の関連性を特定し、特定された関連性を有する部品同士を関連付ける関連性情報を生成する。
例えば、部品解析部140は、生成した複数の部品の内、特定された機能に対応する二以上の部品を関連性を有する部品として特定し、その二以上の部品を示す関連性情報を生成する。
部品解析部140は、部品抽出部141と、関連性解析部142とを備える。
部品抽出部141は、文書解析部130からの文書解析結果で示される機能を特定する。そして、部品抽出部141は、特定された機能に対応するモデルを特定する。さらに、部品抽出部141は、特定された機能に対応する単語群及び構成要素群の少なくとも何れか一方から、特定されたモデルにおける部品を生成する。そして、部品抽出部141は、機能と、生成された部品と、記載先であるモデルとを関連付ける部品情報を生成する。ここで、部品抽出部141は、特定された機能に対応して、複数のモデルを特定することもある。
関連性解析部142は、部品抽出部141で生成された部品情報で示される部品間の関連性を特定し、特定された関連性を有する部品を示す部品情報を関連付ける関連性情報を生成する。ここでの関連性は、複数の部品が同じ機能に対応しているものであることを示す。また、関連性は、複数の部品間の関係、例えば、複数の機能に同じ部品が使用されている関係、部品間の上下関係(包含関係)等も示す。関連性情報により、同じ機能に対応する部品を紐付けることができる。これにより、一つの機能に対応して複数のモデルが生成される場合でも、複数のモデルに含まれる部品を紐付けることができる。
そして、部品解析部140は、文書解析部130からの文書解析結果と、部品情報と、関連性情報とをモデル生成部150に与える。
モデル生成部150は、文書解析部130からの文書解析結果と、部品解析部140からの部品情報及び関連性情報とから、予め定められた様式を用いたモデルを生成する。
例えば、モデル生成部150は、その様式に従って、部品解析部140で生成された複数の部品から、モデル組み込む部品を選択し、選択された部品を組み込むことで、特定されたモデルを生成する。
具体的には、モデル生成部150は、特定されたモデルの種別に応じて、生成された部品を組み込むことで、モデルを生成する。具体的には、生成するモデルの種別がシーケンス図であれば、オブジェクトの生存(ライフライン)、メッセージ、イベントオカレンス、実行オカレンス及び相互作用オカレンスがシーケンス図に含まれることが、モデル様式集126に記載されているため、モデル生成部150は、文書解析部130の解析結果から部品解析部140で解析された各部品の振る舞いを特定することで、そのシーケンス図を生成することができる。
モデルは、例えば、SysMLを用いて表記されるアクティビティ図又はシーケンス図といった図表である。なお、モデル生成部150は、複数のモデルを生成してもよい。
以上に記載された開発支援装置100は、例えば、図6に示されているように、メモリ10と、メモリ10に格納されているプログラムを実行するCPU(Central Processing Unit)等のプロセッサ11と、入力インタフェース(以下、入力I/Fという)12と、記憶装置13とを備えるコンピュータ14により構成することができる。
例えば、文書解析部130、部品解析部140及びモデル生成部150は、プロセッサ11がメモリ10に記憶されているプログラムを実行することで実現することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
文書入力部110は、プロセッサ11が、入力I/F12を利用することで実現することができる。入力I/F12は、データを入力することができる装置であればよく、USB(Universal Serial Bus)を使用した接続インタフェース、NIC(Network Interface Card)等の通信インタフェースであってもよい。
記憶部120は、プロセッサ11が、記憶装置13を利用することで実現することができる。記憶装置13は、不揮発性メモリ、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶を行なう装置である。
以下、開発支援装置100での処理について説明する。
図7は、文章解析部131の解析処理を示すフローチャートである。
文章解析部131は、複数の開発文書101から一つずつ順に読み込み、例えば、文書表122を参照することで、読み込まれた開発文書101を識別する(S10)。
次に、文章解析部131は、項目表123を参照しつつ、識別された開発文書101から、文章部分を抽出する(S11)。例えば、文章解析部131は、開発文書101のデータを解析し、テキスト部分を抽出することで、開発文書101から文章部分を抽出することができる。
次に、文章解析部131は、抽出された文章部分を形態素分析等の手法を用いて単語に分割し、単語間の関係性を解析することで、単語関係性を特定する。そして、文章解析部131は、特定された単語関係性から、特定された単語群と、単語群に含まれる単語同士の関係性と、その単語群から特定することのできる機能とを示す文書解析結果を生成する(S12)。
図8は、図表解析部132の解析処理を示すフローチャートである。
図表解析部132は、複数の開発文書101から一つずつ順に読み込み、例えば、文書表122を参照して、読み込まれた開発文書101を識別する(S20)。
次に、図表解析部132は、項目表123を参照しつつ、識別された開発文書101内から図表部分を抽出する(S21)。例えば、図表解析部132は、読み込まれた開発文書101の内、テキストである文章部分以外の部分を図表部分として抽出すればよい。
次に、図表解析部132は、抽出された図表部分について、モデル様式集126を参照しつつ、図表名を識別する(S22)。例えば、図表解析部132は、抽出された図表部分の成り立ちと、モデル様式集126に含まれている構成情報で示される成り立ちとを比較することで、抽出された図表部分の図表名を識別する。具体的には、抽出された図表部分が、UMLのユースケース図であれば、人を模した形状であるアクターと、楕円形状であるユースケースと、アクター及びユースケースとの間をつなぐ線で描かれている。このため、図表解析部132は、抽出された図表部分の成り立ちが、人を模した形状と、楕円形状と、実線とから形成されている場合には、構成情報に示されている成り立ちを参照することで、その抽出された図表部分をユースケース図として識別することができる。
次に、図表解析部132は、抽出された図表部分の図表名を識別できたか否かを判断する(S23)。識別できた場合(S23でYes)には、処理はステップS24に進み、識別できなかった場合(S23でNo)には、処理はステップS25に進む。
ステップS24では、図表解析部132は、モデル様式集126を参照しつつ、抽出された図表部分を解析して、図表部分に含まれている部分群である構成要素群に含まれている構成要素間の関係性を図表関係性として特定し、特定された図表関係性から、特定された構成要素群と、図表関係性と、その構成要素群から特定される機能とを示す図表解析結果を生成する。
ステップS25では、図表解析部132は、抽出された図表部分に含まれている文字列を抽出する。例えば、図表解析部132は、OCR(Optical Character Recognition)を用いることで、抽出された図表に含まれている文字列を抽出することができる。
次に、図表解析部132は、抽出された文字列を形態素分析等の手法を用いて単語に分割し、単語間の関係性を解析することで、単語関係性を特定する。そして、図表解析部132は、特定された単語関係性から、特定された単語群と、単語関係性と、その単語群から特定される機能とを示す図表解析結果を生成する(S26)。加えて、図表に含まれる線分等の図形情報を解析して、単語間の関連性の情報を補足的に関連付けてもよい。
図9は、水平文書比較部133の処理を示すフローチャートである。
水平文書比較部133は、複数の開発文書101から一つずつ順に読み込み、例えば、文書表122を参照して、読み込まれた開発文書101を識別する(S30)。
次に、水平文書比較部133は、文書表122を参照して、識別された開発文書101に対して、水平の関連性を有する開発文書101を特定する(S31)。ここで、以下では、ステップS30で識別された開発文書101を対象開発文書とし、対象開発文書と水平の関連性を有する開発文書101を水平開発文書として説明する。
次に、水平文書比較部133は、水平開発文書を読み込む(S32)。
次に、水平文書比較部133は、対象開発文書と、水平開発文書とから機能を特定し、特定された機能を抽出する(S33)。機能の特定方法については、文章解析部131又は図表解析部132と同様に機能を特定すればよい。なお、水平文書比較部133は、別の方法で機能を特定してもよい。
次に、水平文書比較部133は、対象開発文書の機能と、水平開発文書の機能とを比較する(S34)。
そして、水平文書比較部133は、対象開発文書の機能と、水平開発文書の機能とが一致するか否かを判断する(S35)。対象開発文書の機能と、水平開発文書の機能とが一致しない場合(S35でNo)には、処理はステップS36に進む。
ステップS36では、水平文書比較部133は、一致しない機能が欠けている側の開発文書101に、欠けている機能を示す欠落情報を付与する。
このような欠落情報については、モデル生成部150で生成されたモデルを出力する際に、機能が欠落している開発文書101を示す識別情報(例えば、文書番号)とともに出力されてもよい。このような情報を提示することで、欠落した機能を特定することができる。
図10は、水平文書比較部133による機能の比較を説明するための概略図である。
ここでは、対象開発文書が基本設計書101bであり、水平開発文書が結合試験仕様書101eである場合について説明する。
基本設計書101bには、要求定義書101aに記載される要件を実現する各機能が記載されている。そして、相対する結合試験仕様書101eには、基本設計書101bに記載される全ての機能に対応する機能の試験項目が記載されていることが理想である。
水平文書比較部133は、図9にも示されているように、基本設計書101b及び結合試験仕様書101eのそれぞれから機能を抽出する。
このとき、図10に示されているように、基本設計書101bには、A機能と、B機能と、C機能との三つの機能が実際には記載されているが、水平文書比較部133は、A機能及びB機能を抽出している。水平文書比較部133の性能の限界又は基本設計書101bの文章の体裁、使用されている文言又は図表の記載方法等に起因し、C機能は、抽出されていない。
同様に、結合試験仕様書101eには、A機能の試験と、B機能の試験と、C機能の試験とが実際には記載されているが、水平文書比較部133は、A機能の試験及びC機能の試験を抽出している。水平文書比較部133の性能の限界又は結合試験仕様書101eの文章の体裁、使用されている文言又は図表の記載方法等に起因し、B機能の試験は抽出されていない。
このような状況で、基本設計書101bで抽出された機能と、結合試験仕様書101eで抽出された機能とを比較すると、基本設計書101bではC機能が抽出されていないこと、結合試験仕様書101eではB機能が抽出されていないことが検出される。このため、水平文書比較部133は、基本設計書101bには、C機能を示す欠落情報を付与し、結合試験仕様書101eには、B機能を示す欠落情報を付与する。
なお、欠落が発生する原因は、解析対象の基本設計書101b又は結合試験仕様書101eへの記載漏れの場合もある。
以上のように、開発文書101の水平比較を行うことにより、文章解析部131又は図表解析部132の性能の限界を補完することが可能であり、同時に、読み込まれた開発文書101に記載漏れ等の不備があった場合も正確に解析が行えるという効果を奏する。
図11は、垂直文書比較部134の処理を示すフローチャートである。
垂直文書比較部134は、複数の開発文書101から一つずつ順に読み込み、例えば、文書表122を参照して、読み込まれた開発文書101を識別する(S40)。
次に、垂直文書比較部134は、文書表122を参照して、識別された開発文書101に対して、垂直の関連性を有する開発文書101を特定する(S41)。ここで、以下では、ステップS40で識別された開発文書101を対象開発文書とし、対象開発文書と垂直の関連性を有する開発文書101を垂直開発文書として説明する。対象開発文書に応じて、一又は二つの垂直開発文書が特定される。例えば、図2の例では、対象開発文書が要求定義書101a、詳細設計書101c、単体試験仕様書101d又はシステム試験仕様書101fである場合には、一つの垂直開発文書が特定され、対象開発文書が基本設計書101b又は結合試験仕様書101eである場合には、二つの垂直開発文書が特定される。
次に、垂直文書比較部134は、一又は二つの垂直開発文書を読み込む(S42)。
次に、垂直文書比較部134は、対象開発文書と、一又は二つの垂直開発文書とから機能を特定し、特定された機能を抽出する(S43)。機能の特定方法については、水平文書比較部133と同様でよい。
次に、垂直文書比較部134は、対象開発文書の機能と、一又は二つの垂直開発文書の機能とを比較する(S44)。
そして、垂直文書比較部134は、対象開発文書の機能と、垂直開発文書の機能とが一致するか否かを判断する(S45)。対象開発文書の機能と、垂直開発文書の機能とが一致しない場合(S45でNo)には、処理はステップS46に進む。
ステップS46では、垂直文書比較部134は、一致しない機能が欠けている側の開発文書101に、欠けている機能を示す欠落情報を付与する。
このような欠落情報については、モデル生成部150で生成されたモデルを出力する際に、機能が欠落している開発文書101を示す識別情報(例えば、文書番号)とともに出力されてもよい。このような情報を提示することで、欠落した機能を特定することができる。
図12は、垂直文書比較部134による機能の比較を説明するための概略図である。
ここでは簡単のため、二つの開発文書101を比較する場合について説明する。三つの開発文書101の比較は、二つの開発文書101の比較を二回又は三回行い、その結果を統合することで実現できる。
ここでは、対象開発文書が基本設計書101bであり、垂直開発文書が詳細設計書101cである場合を説明する。
基本設計書101bには要求定義書101aに記載される要件を実現する各機能が記載されている。そして、詳細設計書101cには、基本設計書101bに記載される全ての機能を実現する詳細化された機能が記載されていることが理想である。
垂直文書比較部134は、図12に示されているように、基本設計書101b及び詳細設計書101cのそれぞれから機能を抽出する。
このとき、図12に示されているように、基本設計書101bには、実際には、A機能と、B機能と、C機能との三つの機能が記載されているが、垂直文書比較部134は、A機能及びC機能を抽出している。垂直文書比較部134の性能の限界、基本設計書101bの文章の体裁、使用されている文言又は図表の記載方法等に起因して、B機能は抽出されていない。
同様に、詳細設計書101cには、実際には、A−1機能と、A−2機能と、A−3機能と、B−1機能と、B−2機能と、C−1機能と、C−2機能とが記載されているが、垂直文書比較部134は、A−1機能、A−3機能、B−1機能、B−2機能、C−1機能及びC−2機能のみを抽出している。垂直文書比較部134の性能の限界、詳細設計書101cの文章の体裁、使用されている文言又は図表の記載方法等に起因し、A−2機能は抽出されていない。
このような状況で、抽出された機能を比較すると、垂直文書比較部134は、B−1機能及びB−2機能に対応するB機能が抽出されていないことがわかる。このため、垂直文書比較部134は、基本設計書101bに、B機能を示す欠落情報を付与する。
但し、A−2機能の抽出漏れについては、垂直文書比較部134においては検出することはできない。これは、A機能に対応するA−1機能及びA−3機能が抽出できているからである。言い換えると、A−2機能が抽出されていないが、基本設計書101bに記載されているA機能から、詳細設計書101cに記載される対応する機能(A-1機能、A−2機能及びA−3機能)を推測することはできない、即ち、A機能を実現する詳細な機能分割の内容を推測することはできないからである。仮に、A機能に対応する全ての機能(ここでは、A−1機能、A−2機能及びA−3機能)が抽出できていない場合には、抽出漏れがあることを検出することができる。
なお、垂直文書比較部134には、以上のような抽出漏れを検出するために、開発文書101内に記載されている情報を読み取る。
このように、抽出漏れを検出できない場合も想定されるが、その場合は、水平文書比較部133の結果と合わせることにより、文書解析部130の分析結果としては抽出漏れを回避することができる場合がある。
なお、欠落が発生する原因は、解析対象の基本設計書101b及び詳細設計書101cへの記載漏れの場合もある。
以上のように、開発文書101の垂直比較を行うことにより、文章解析部131及び図表解析部132の性能の限界を補完することが可能である。また、読み込まれた開発文書101に記載漏れ等の不備があった場合にも、正確に解析が行えるという効果を奏する。
図13は、部品抽出部141の処理を示すフローチャートである。
部品抽出部141は、複数の開発文書101の各々について、文書解析部130における解析結果に含まれている少なくとも一つの機能を用いて、以下の処理を行う。
まず、部品抽出部141は、解析結果に含まれる一つの機能を選択する(S50)。
次に、部品抽出部141は、モデル様式集126を参照し、選択された機能を記載すべきモデルを決定する(S51)。例えば、機能には、予めモデルである図表の分類が対応付けられており、その分類からモデルが選択される。具体的には、詳細設計書101cからロボット−コントローラ間通信機能が抽出されていた場合、通信機能は、「振る舞い」の分類に対応付けられているため、その分類に基づいて、シーケンス図がモデルとして決定される。
次に、部品抽出部141は、機能と、その機能に対応付けられている単語群又は構成要素群とから、モデルに記載する部品を生成する(S52)。モデル毎に、そのモデルを構成する部品が定義されているため、部品抽出部141は、その定義に対応する単語又は構成要素を部品として特定する。例えば、ロボット−コントローラ間通信機能であれば、シーケンス図の構成要素(オブジェクト又はクラス)となりうる部品として、ロボットを示す図形と、コントローラを示す図形とが生成される。
次に、部品抽出部141は、機能と、生成された部品と、記載先であるモデルの種別とを関連付ける部品情報を生成する(S53)。
そして、部品抽出部141は、一つの開発文書101における最後の機能まで既に選択したか否かを判断する(S54)。最後の機能まで選択されていない場合(S54でNo)には、処理はステップS50に戻り、次の機能が選択される。
なお、一つの機能が複数のモデルである図表に記載される場合は、部品抽出部141は、前述の処理を記載先のモデルの数だけ繰り返す。そして、複数のモデルの各々に対応する部品情報が生成される。
なお、文書解析部130における図表解析結果に含まれている構成部分がモデルに流用可能である場合、例えば、開発文書101に含まれる図表と、モデルとしての図表とが同じ場合には、その構成部分は部品としてそのまま使用することができる。このような場合には、例えば、図13に示されているようなフローチャートを経ることなく、モデルの種別と、そのモデルを構成する部品とを示す部品情報を生成することができる。
図14は、関連性解析部142の処理を示すフローチャートである。
まず、関連性解析部142は、部品抽出部141が生成した複数の部品情報から、未選択の一つの部品情報を選択する(S60)。
次に、関連性解析部142は、選択された部品情報で示される部品に対応する機能と同じ機能から生成された部品を示す部品情報の検索を実行する(S61)。
次に、関連性解析部142は、ステップS61の検索で見つかった部品情報を関連付ける関連性情報を生成する(S62)関連性解析部142は、この検索により見つかった部品情報を選択済みとする。
次に、関連性解析部142は、全ての部品情報を選択したか否かを判断する(S63)。未だ選択していない部品情報がある場合(S62でNo)には、処理はステップS60に戻る。
図15は、モデル生成部150の処理を示すフローチャートである。
まず、モデル生成部150は、モデル様式集126を参照しつつ生成するモデルを特定する(S70)。
次に、モデル生成部150は、特定されたモデルを記載先としている一つの部品情報を特定する(S71)。
次に、モデル生成部150は、モデル様式集126を参照することで、特定された部品情報で示される部品を、特定されたモデルに応じて配置する(S72)。この時、モデル生成部150は、モデル様式集126に含まれるモデル毎にどのような情報を含み、どのような構成をとるのかを示す構成情報を参照する。
次に、モデル生成部150は、関連性情報を参照することで、特定された部品情報と同じ機能に関連付けられ、かつ、別のモデルの種別に関連付けられている部品情報を、ステップS72で組み込まれた部品に紐付ける(S73)。
次に、モデル生成部150は、モデル様式集126に示されている全てのモデルの種別を特定したか判断する(S74)。未だ特定していない種別がある場合(S74でNo)には、処理はステップS70に戻る。
以上のように、部品解析部140によってモデルを構成する部品を事前に解析しておくことにより、後段のモデル生成処理における生成精度を向上するという効果を奏する。
実施の形態2.
続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
図16は、実施の形態2に係る開発支援装置200の構成を概略的に示すブロック図である。
開発支援装置200は、文書入力部110と、記憶部120と、文書解析部130と、部品解析部240と、モデル生成部150と、類語解析部260と、上位用語集生成部261とを有する。
実施の形態2に係る開発支援装置200の文書入力部110、記憶部120、文書解析部130及びモデル生成部150は、実施の形態1に係る開発支援装置100の文書入力部110、記憶部120、文書解析部130及びモデル生成部150と同様である。
類語解析部260は、文書解析部130の解析結果から、開発文書101の記載事項に含まれ、類似する意味を有する複数の単語のグループと、そのグループを代表する単語を特定する。ここで、そのグループを代表する単語を代表単語ともいう。
上位用語集生成部261は、類語解析部260が生成したグループについて、グループ間の関係性と、グループに含まれている単語の開発文書101の記載箇所と、そのグループを代表する単語とを示す情報を含む上位用語集を生成する。
部品解析部240は、文書解析部130の解析結果に加え、上位用語集生成部261が生成した上位用語集を用いて部品の解析を行う。
部品解析部240は、部品抽出部241と、関連性解析部242とを備える。
実施の形態2における部品抽出部241は、文書解析部130からの文書解析結果で示される機能を特定する。そして、部品抽出部241は、特定された機能に対応するモデルを特定する。さらに、部品抽出部241は、特定された機能に対応する単語群及び構成要素群の少なくとも何れか一方から、特定されたモデルにおける部品を生成する。実施の形態2においては、部品抽出部241は、上位用語集を用いて、単語群に含まれている単語が上位用語集で示されているグループに属する場合には、その単語をそのグループを代表する単語で置き換えて、部品を生成する。言い換えると、部品抽出部241は、部品を生成する際に、グループに含まれている類似の単語の代わりに、そのグループを代表する単語を用いる。
上位用語集は、類語をまとめたグループを代表する単語を特定しているため、異なる単語で同じ機能を指し示す単語を紐付ける機能を果たす。即ち、同一の部品を生成すべきところを、異なる単語であったために異なる部品が生成されていたケースでも、実施の形態2では、それらの単語から同一の部品を生成することができる。また、複数の単語から同一の部品を生成できた場合でも、複数の単語から抽出される部品の名称をどの単語とするか一意に決められないケースでも、上位用語集を参照することで、代表する単語に統一して部品を生成することができる。
そして、部品抽出部241は、機能と、生成された部品と、記載先であるモデルとを関連付ける部品情報を生成する。ここで、部品抽出部241は、特定された機能に対応して、複数のモデルを特定することもある。
実施の形態2における関連性解析部242は、実施の形態1における関連性解析部142と同様の処理を行うほか、以下の処理を行う。
関連性解析部242は、部品抽出部241で生成された部品情報で示される部品間の関連性を特定し、部品情報を関連付ける関連性情報を生成する。実施の形態2では、関連性解析部242は、上位用語集生成部261で生成された上位用語集において予め定められた関係性があるグループに含まれている単語から生成された部品の部品情報も関連付ける。
図17は、類語解析部260の処理を示すフローチャートである。
まず、類語解析部260は、文書解析部130の解析結果を読み込み、そこに含まれる単語を抽出する(S80)。
次に、類語解析部260は、類語集124を参照しつつ、類似する意味を有する単語をグルーピングする(S81)。
続けて、類語解析部260は、グループに分類された単語を分析し、グループを代表する単語を決定する(S82)。なお、グループを代表する単語は、グループの中から選んでもよいし、グループ内に存在しない新規の単語が生成されてもよい。例えば、類語解析部260は、グループ内の各単語の概念を表す類語を類語集124から特定してもよく、グループ内の各単語をさらにサブグループに分類し、最も多い単語が分類されたサブグループ内の何れかの単語を代表する単語に指定してもよい。また、類語解析部260は、過去において、人手で特定された代表する単語と、それに対応するグループ内の単語との関係性の傾向を分析して、代表する単語を特定してもよい。
類語解析部260は、以上の処理により、複数のグループと、代表する複数の単語とを特定する。
図18は、上位用語集生成部261の処理を示すフローチャートである。
まず、上位用語集生成部261は、類語解析部260が特定した複数のグループから一つのグループを特定する(S90)。
次に、上位用語集生成部261は、文書解析部130の解析結果を参照しつつ、各グループに分類される単語それぞれが開発文書101のいずれの文書のいずれの箇所に記載されているかを特定し、グループ毎にまとめる(S91)。なお、このとき、一つの単語が複数の開発文書101に記載箇所を持ってもよい。
次に、上位用語集生成部261は、単語の記載箇所を手掛かりに、文書解析部130での解析結果から、各グループの単語が表す機能を特定し、グループ間の関係性を機能間の予め定められた関係性から特定する(S92)。例えば、機能には、上位の機能、下位の機能といった関係性が予め定められており、この予め定められた機能を、グループ間の関係性として特定する。
次に、上位用語集生成部261は、類語解析部260が生成したグループについて、グループ間の関係性と、開発文書101の記載箇所と、そのグループを代表する単語とを示す情報を含む上位用語集を生成する(S93)。
次に、上位用語集生成部261は、以上の処理を全てのグループについて行ったかを確認する(S94)。未だ処理を行ってないグループがある場合(S94でNo)には、処理はステップS90に戻る。
これにより、複数の開発文書101に分散する同一の意味又は機能を持つ単語をまとめることができ、後段の部品解析、モデル生成が容易になるという効果を奏する。また、用語の表現の揺れを吸収するという効果を奏する。
実施の形態3.
続いて、実施の形態3について、上述の実施の形態2との相違点を中心に説明する。なお、上記実施の形態2と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
図19は、実施の形態3に係る開発支援装置300の構成を概略的に示すブロック図である。
開発支援装置300は、文書入力部110と、記憶部120と、文書解析部130と、類語解析部260と、上位用語集生成部361とを有する。
実施の形態3に係る開発支援装置300の文書入力部110、記憶部120及び文書解析部130は、実施の形態1に係る開発支援装置100の文書入力部110、記憶部120及び文書解析部130と同様である。
また、実施の形態3に係る開発支援装置300の類語解析部260は、実施の形態2に係る開発支援装置200の類語解析部260と同様である。
上位用語集生成部361は、実施の形態2と同様に、上位用語集を生成する。
また、上位用語集生成部361は、上位用語集と、上位用語集に含まれている単語とを示す情報を出力情報とする。
実施の形態3は、実施の形態1及び2において、部品解析部140及びモデル生成部150が実施していた処理をユーザ自身が行うものである。すなわち、ユーザは、上位用語集生成部361で生成された出力情報を利用して、モデルの作成を行う。
これにより、開発文書101が不完全な状態、例えば、開発途上又は一部喪失文書があるような状態であっても、開発支援装置300を駆動することができ、開発文書101に記載されない要求又は仕様については後段のユーザ作業によって補完することでモデルの生成が可能となるという効果を奏する。
実施の形態4.
続いて、実施の形態4について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
図20は、実施の形態4に係る開発支援装置400の構成を概略的に示すブロック図である。
開発支援装置400は、文書入力部110と、記憶部120と、文書解析部130と、部品解析部140と、モデル生成部150と、文書整理部462とを有する。
実施の形態4に係る開発支援装置400の文書入力部110、記憶部120、文書解析部130、部品解析部140及びモデル生成部150は、実施の形態1に係る開発支援装置100の文書入力部110、記憶部120、文書解析部130、部品解析部140及びモデル生成部150と同様である。
文書整理部462は、文書入力部110から複数の開発文書101の入力を受け、複数の開発文書101の中から適切な開発文書101のみを選択して、記憶部120に記憶させる文書選択部である。これは、開発文書101に、モデルの生成に不必要な開発文書101が含まれていることを想定したものである。言い換えると、文書整理部462は、複数の開発文書101から文書解析部130で解析する開発文書101を選択する。
例えば、第1の製品の開発文書101からモデルを生成する際に、関連する第2の製品の開発文書101も混在して開発支援装置400に入力されるような場合がある。このような場合には、文書整理部462は、第2の製品の開発文書101を取り除く。
文書整理部462における開発文書101の選別においては、文書表122を参照し、文書表122に記載のない開発文書101を取り除くことが可能である。なお、文書整理部462は、文書表122を用いずに、文書間の関連性を解析して選別を行ってもよい。例えば、垂直比較によって、A−1機能と、A−2機能とを、上位の開発文書101の機能Aによってまとめられることは判断することができる。このため、垂直の関連性を有しない開発文書101を取り除くことができる。また、垂直の関連性を有する開発文書101の複数のグループが検出されても、文書数の少ないグループの開発文書101を取り除くことができる。さらに、垂直の関連性を有する開発文書101の複数のグループが検出されても、最上位の開発文書101が存在しないグループの開発文書101を取り除くことができる。
また、機能を用いて選別を行う際に、文書整理部462は、文書解析部130を利用して、解析結果をフィードバックして再度文書選別を行い、その結果をもって文書解析部130が処理をやり直してもよい。
このように、開発文書101を事前に選別することにより、入力される開発文書101を特定のものに限定することなくモデル生成を実現することが可能となるという効果を奏する。
実施の形態5.
続いて、実施の形態5について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
図21は、実施の形態5に係る開発支援装置500の構成を概略的に示すブロック図である。
開発支援装置500は、文書入力部110と、記憶部120と、文書解析部130と、部品解析部540と、モデル生成部150と、モデル入力部563とを有する。
実施の形態5に係る開発支援装置500の文書入力部110、記憶部120、文書解析部130及びモデル生成部150は、実施の形態1に係る開発支援装置100の文書入力部110、記憶部120、文書解析部130及びモデル生成部150と同様である。
モデル入力部563は、モデルの入力を受け、モデルを部品に分解して、その部品を、その部品が関連する機能に対応付けて部品解析部540に与える。これは、開発支援装置500への入力が開発文書101にとどまらず、一部の開発文書101はすでにモデルとして作成済みであるケースに対応するものである。なお、モデル入力部563に入力されるモデルを入力モデルともいい、その入力モデルを構成する部品を入力部品ともいい、その入力部品に対応する機能を入力機能ともいう。
入力されるモデルは、開発支援装置500で生成されるモデルにそのまま含めることも可能な場合も存在するが、入力されるモデルが不完全なケース、又は、入力されるモデルを構成する各部品と、他のモデル、すなわち、開発文書101を解析し、モデル生成部150が新たに生成するモデルに含まれる各部品との関連性を部品解析部540が解析するケースが想定されるため、入力されるモデルは、一旦部品に分解され、部品解析部540に入力される。
部品解析部140は、開発文書101から特定された機能が入力機能と一致する場合に、モデルを構成する複数の部品の少なくとも一部として、入力部品を使用する。
モデル入力部563から入力されるモデルは完成しているモデルであるため、そのまま利用することができる。例えば、開発文書101とは別にアーキテクチャ図が入力されている場合は、アーキテクチャ図は、そのまま利用し、その他の図は、モデル生成部150で生成することができる。しかしながら、入力されるモデル及び開発文書101の少なくとも何れか一方に誤りがある場合、又は、開発文書101の解析にミスがある場合等では、入力されるモデルと開発文書101とが一致しないため、開発文書101を用いて生成されたモデルと、入力されるモデルとを突き合わせることで誤りを訂正することが可能となる。このよう場合には、入力されるモデルは、一旦部品に分解されて、部品解析部540に入力される。
また、例えば、ユースケース図とシーケンス図との両方に「ロボット」の文字列を示す部分が出てくる場合等のように、同じの部品が複数のモデルに組み込まれる場合がある。このような場合、モデル入力部563からシーケンス図が入力されれば、ユースケース図を生成する際に、そのシーケンス図から分解された部品を利用することができる。
なお、開発支援装置500は、モデル入力部563からモデルを取得する図示しないモデル選択部を備えていてもよい。モデル選択部は、モデル入力部563から取得されたモデルと、モデル生成部150が生成するモデルとを比較の上、何れか一方を出力するモデルとして選択する。
部品解析部540は、文書解析部130からの文書解析結果を受けて、モデルを構成する部品を生成し、生成された部品と、その記載先とを示す部品情報と、部品情報間の関連性情報とを生成する。
部品解析部540は、部品抽出部541と、関連性解析部142とを備える。
実施の形態5における部品解析部540の関連性解析部142は、実施の形態1における部品解析部140の関連性解析部142と同様である。
部品抽出部541は、文書解析部130からの文書解析結果で示される機能から、その機能に対応する部品を生成するか、又は、モデル入力部563から入力される部品を選択して、その部品と、その部品を記載するモデルとを特定する。そして、部品抽出部541は、機能と、生成された部品と、記載先であるモデルとを関連付ける部品情報を生成する。部品抽出部541は、機能に対応する部品がモデル入力部563から入力されている場合には、部品を生成する代わりに、その部品を用いればよい。
例えば、部品抽出部541は、特定された機能が入力機能と一致する場合に、モデルの部品として、入力部品を使用することができる。
関連性解析部542は、部品抽出部541で生成された部品情報で示される部品間の関連性を特定し、部品情報を関連付ける関連性情報を生成する。
このように、開発支援装置100への入力が開発文書101に限定されず、一部モデルを含んだ場合に対応することで、より正確な部品解析が可能になるという効果を奏する。
実施の形態6.
続いて、実施の形態6について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同一の符号を用いるとともに、その説明を省略又は簡略する。
図22は、実施の形態6に係る開発支援装置600の構成を概略的に示すブロック図である。
開発支援装置600は、文書入力部110と、記憶部120と、文書解析部130と、部品解析部140と、モデル生成部150と、データ更新処理部664とを有する。
実施の形態6に係る開発支援装置600の文書入力部110、記憶部120、文書解析部130、部品解析部140及びモデル生成部150は、実施の形態1に係る開発支援装置100の文書入力部110、記憶部120、文書解析部130、部品解析部140及びモデル生成部150と同様である。
データ更新処理部664は、文書解析部130が出力する解析結果を基に、記憶部120に格納されるデータを更新する。例えば、項目表123に基づき文書解析部130は開発文書101を解析するが、その解析結果の内容が項目表123に合致しない場合、その差異を埋めるようにデータ更新処理部664が項目表123を上書きする。具体的には、項目表123には記載のない節を文書解析部130の解析結果から検出した場合には、データ更新処理部664は、その節を項目表123に追加する。また、項目表123に記載のある節が開発文書101には見当たらなかった場合には、データ更新処理部664は、その節を項目表123から削除する。
なお、データ更新処理部664は、文書解析部130の解析結果において、同じ機能を表しているのに違う単語である等のように、明らかに類似する単語が見つかった場合に、類語集124を更新してもよい。
開発支援装置100は、データ更新処理部664による記憶部120の上書きに応じて、文書解析部130を駆動し、開発文書101の解析を繰り返し行うことが可能である。なお、繰り返し回数は任意であり、1回でもよいし、それ以上であってもよい。
このように、データ更新処理部664が記憶部120を更新することにより、記憶部120に含まれる情報の欠落、誤りに影響されることなく、高い精度で文書を解析することが可能となるという効果を奏する。
実施の形態1〜6は、その広義の精神と範囲とを逸脱することなく、様々な変形が可能である。
100,200,300,400,500,600 開発支援装置、 110 文書入力部、 120 記憶部、 130 文書解析部、 131 文章解析部、 132 図表解析部、 133 水平文書比較部、 134 垂直文書比較部、 140,240,540 部品解析部、 141,241,541 部品抽出部、 142,242,542 関連性解析部、 150 モデル生成部、 260 類語解析部、 261,361 上位用語集生成部、 462 文書整理部、 563 モデル入力部、 664 データ更新処理部。

Claims (10)

  1. 開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部と、
    前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部と、
    前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部と、
    前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部と、を備え、
    前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用すること
    を特徴とする開発支援装置。
  2. 前記文書解析部は、
    前記開発文書に含まれている文章部分を前記記載事項として解析することで、前記機能を特定する文章解析部と、
    前記開発文書に含まれている図表部分を前記記載事項として解析することで、前記機能を特定する図表解析部と、を備えること
    を特徴とする請求項1に記載の開発支援装置。
  3. 前記文書解析部の解析結果から、前記記載事項に含まれ、類似する意味を有する複数の単語のグループと、前記グループを代表する単語である代表単語とを特定する類語解析部をさらに備え、
    前記部品生成部は、前記複数の部品を生成する際に、前記複数の単語の代わりに前記代表単語を用いること
    を特徴とする請求項1又は2に記載の開発支援装置。
  4. 前記開発文書の項目を示す項目表を記憶する記憶部をさらに備え、
    前記文書解析部は、前記項目表を参照することで、前記記載事項を解析すること
    を特徴とする請求項1から3の何れか一項に記載の開発支援装置。
  5. 前記部品生成部は、前記複数の部品の内、前記特定された機能に対応する二以上の部品を、関連性を有する部品として特定し、前記二以上の部品を示す関連性情報を生成し、
    前記モデル生成部は、前記関連性情報を参照することで、前記二以上の部品を組み込むことで、前記モデルを生成すること
    を特徴とする請求項1から4の何れか一項に記載の開発支援装置。
  6. 複数の開発文書から、前記文書解析部で解析する前記開発文書を選択する文書選択部をさらに備えること
    を特徴とする請求項1から5の何れか一項に記載の開発支援装置。
  7. 前記文書解析部の解析結果に応じて、前記項目表を更新するデータ更新処理部をさらに備えること
    を特徴とする請求項4に記載の開発支援装置。
  8. 記複数のグループ間の関係性と、前記複数のグループの各々に含まれている前記複数の単語の前記開発文書における記載箇所とを示す情報を含む上位用語集を生成する上位用語集生成部をさらに備えること
    を特徴とする請求項3に記載の開発支援装置。
  9. コンピュータを、
    開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定する文書解析部、
    前記特定された機能に対応するモデルを特定し、前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成する部品生成部
    前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成するモデル生成部、及び、
    前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定するモデル入力部、として機能させ、
    前記部品生成部は、前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品を使用すること
    を特徴とするプログラム。
  10. 開発工程において作成された開発文書の記載事項を解析して、前記開発文書に記載された機能を特定し、
    前記特定された機能に対応するモデルを特定し、
    前記モデルとは別のモデルである入力モデルから、前記入力モデルを構成する部品である入力部品と、前記入力部品に対応する機能である入力機能とを特定し、
    前記記載事項の解析結果を用いて、前記特定されたモデルに関して標準化された様式に則った複数の部品を生成し、
    前記様式に従って、前記複数の部品から選択された部品を組み込むことで、前記特定されたモデルを生成する開発支援方法であって、
    前記特定された機能が前記入力機能と一致する場合に、前記モデルの前記複数の部品の少なくとも一部として、前記入力部品が使用されること
    を特徴とする開発支援方法。
JP2020564768A 2020-06-19 2020-06-19 開発支援装置、プログラム及び開発支援方法 Active JP6827610B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/024064 WO2021255910A1 (ja) 2020-06-19 2020-06-19 開発支援装置、プログラム及び開発支援方法

Publications (2)

Publication Number Publication Date
JP6827610B1 true JP6827610B1 (ja) 2021-02-10
JPWO2021255910A1 JPWO2021255910A1 (ja) 2021-12-23

Family

ID=74529590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020564768A Active JP6827610B1 (ja) 2020-06-19 2020-06-19 開発支援装置、プログラム及び開発支援方法

Country Status (5)

Country Link
US (1) US20230251857A1 (ja)
EP (1) EP4170481A4 (ja)
JP (1) JP6827610B1 (ja)
CN (1) CN115867886A (ja)
WO (1) WO2021255910A1 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH031230A (ja) * 1989-05-29 1991-01-07 Toshiba Corp 類似機能モジュール検出装置
JP2001188673A (ja) * 1999-12-28 2001-07-10 Mitsubishi Electric Corp ソフトウェア再利用支援装置
US7844942B2 (en) * 2006-06-12 2010-11-30 International Business Machines Corporation System and method for model driven transformation filtering
US9405513B2 (en) * 2008-04-18 2016-08-02 Software Ag Systems and methods for graphically developing rules for transforming models between description notations
JP5536518B2 (ja) * 2009-04-23 2014-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション システムの自然言語仕様から当該システム用のシステム・モデル化メタモデル言語モデルを自動的に抽出するための方法、装置及びコンピュータ・
US20130097583A1 (en) * 2011-09-27 2013-04-18 The University Of Texas System Systems and Methods For Automating the Application of a Software Methodology
US9152394B2 (en) * 2012-09-13 2015-10-06 International Business Machines Corporation Generating application model build artifacts
WO2014145084A1 (en) * 2013-03-15 2014-09-18 Ptc Inc. Methods for managing applications using semantic modeling and tagging and devices thereof
US10303441B2 (en) * 2015-04-28 2019-05-28 Nadia Analía Huebra Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
JP6291454B2 (ja) 2015-05-22 2018-03-14 日本電信電話株式会社 ビジネスプロセス図生成装置、ビジネスプロセス図生成プログラム、および、ビジネスプロセス図生成方法
JP2017102745A (ja) * 2015-12-02 2017-06-08 三菱電機株式会社 ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラム

Also Published As

Publication number Publication date
US20230251857A1 (en) 2023-08-10
CN115867886A (zh) 2023-03-28
WO2021255910A1 (ja) 2021-12-23
EP4170481A4 (en) 2023-08-02
EP4170481A1 (en) 2023-04-26
JPWO2021255910A1 (ja) 2021-12-23

Similar Documents

Publication Publication Date Title
CN101996131A (zh) 基于xml封装关键字的gui自动测试方法及自动测试平台
JP2006318448A (ja) インタフェース画面設計中心のソフトウェア生産工程の自動化方法及び、この方法をプログラム化して収録したコンピュータで読出し可能な記録媒体{Methodforautomationofsoftwaremanufacturingprocessbasedongraphicuserinterfacedesign,andComputerreadablemediumhavingthereoncomputerexecutableinstructionforperformingthesame}
US20120266131A1 (en) Automatic program generation device, method, and computer program
JP2006195529A (ja) ユースケース図作成支援装置及び方法、並びに方法を実行させるためのプログラム
CN111061475A (zh) 软件代码生成方法、装置、计算机设备和存储介质
WO2005098663A1 (ja) 情報管理装置
CN110502735B (zh) 一种电子设备通用工艺文件快速制作方法及系统
Su Capturing exploration to improve software architecture documentation
JP6827610B1 (ja) 開発支援装置、プログラム及び開発支援方法
JP2009134378A (ja) 文書群提示装置および文書群提示プログラム
Chikh et al. Towards a dynamic software requirements specification
CN113687827A (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
Georgiades et al. A novel software tool for supporting and automating the requirements engineering process with the use of natural language
KR100846203B1 (ko) 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
Hoang et al. Data integration for military systems engineering
US8839097B2 (en) System and method for information encapsulation for providing multiple deliverable formats from one information source
Liu Integrating process mining with discrete-event simulation modeling
Bourbakis et al. Deep understanding of technical documents: Part II. Automatic extraction of pseudocode
KR100656559B1 (ko) Bibd 방법론을 이용하는 프로그램 자동 개발 장치
JP5683209B2 (ja) ドキュメント類自動生成機能付クライアントコンピュータ
WO2024116688A1 (ja) 発想支援システム及び方法
JP2003108405A (ja) 試験仕様の作成支援装置及びプログラム
JP2005202612A (ja) データベース生成プログラム作成装置
CN106257413A (zh) 将多个信息源的信息及工具统一化的方法以及产品与装置
JP2001154837A (ja) オブジェクト指向開発支援装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201118

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201118

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210119

R150 Certificate of patent or registration of utility model

Ref document number: 6827610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250