JPWO2017199443A1 - テンプレート生成装置、テンプレート生成プログラム及びテンプレート生成方法 - Google Patents
テンプレート生成装置、テンプレート生成プログラム及びテンプレート生成方法 Download PDFInfo
- Publication number
- JPWO2017199443A1 JPWO2017199443A1 JP2018500822A JP2018500822A JPWO2017199443A1 JP WO2017199443 A1 JPWO2017199443 A1 JP WO2017199443A1 JP 2018500822 A JP2018500822 A JP 2018500822A JP 2018500822 A JP2018500822 A JP 2018500822A JP WO2017199443 A1 JPWO2017199443 A1 JP WO2017199443A1
- Authority
- JP
- Japan
- Prior art keywords
- area
- source code
- specifications
- external
- internal
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
いずれも電子データである一つの製品の要求仕様書、外部仕様書、内部仕様書を複数の領域に分割し、各領域からキーワードを抽出する第1抽出部と、
複数の記述領域である複数の領域からなる前記製品の電子データであるソースコードからオブジェクトごとにファンクションリストを生成し、前記ファンクションリストからキーワードを抽出する第2抽出部と、
抽出されたキーワードを用いて、前記ソースコードの領域と、前記内部仕様書の領域と、前記外部仕様書の領域と、前記要求仕様書の領域との4領域の対応付けを示す対応付け情報を製品ごとに生成する生成部と、
複数の製品の中に、前記対応付け情報で対応付けが示される4領域からなる領域グループであって、製品を異にして互いに類似する領域グループである複数の類似領域グループが存在するか判定し、存在する場合に、いずれかの前記類似領域グループの4領域を、要求仕様書、外部仕様書、内部仕様書、ソースコードの各テンプレートに採用するかどうか決定する決定部と
を備える。
図1から図30を参照して、実施の形態1のテンプレート生成装置1を説明する。実施の形態1のテンプレート生成装置1の特徴は、ソースコードを解析して、各オブジェクトやファンクションに対応する設計書の文章領域を抽出する点にある。テンプレート生成装置1は、内部仕様書から外部仕様書、要求仕様書へと設計の上流へ、対応する文章領域への展開を図る。
(1)内部仕様書は、内部設計書、詳細設計書などと呼ばれる場合もあるが、本実施の形態では、内部仕様書と記す。
(2)外部仕様書は、外部設計書、概略設計書などと呼ばれる場合もあるが、本実施の形態では、外部仕様書と記す。
図1は、テンプレート生成装置1の構成を示す。テンプレート生成装置1は、コンピュータである。テンプレート生成装置1は、プロセッサ901、記憶装置902、入力インタフェース903、出力インタフェース904等のハードウェアを備える。入力インタフェース903は入力IF903と記し、出力インタフェース904は出力IF904と記す。テンプレート生成装置1は、構成機能として、第1抽出部910、第2抽出部920、生成部930、決定部940を有する。
(2)次に、Q製品の要求仕様書51、外部仕様書52、内部仕様書53、ソースコード54が入力され、テンプレート生成装置1は、Q製品の前段処理1Aを実施する。
(3)以下同様に、R製品、S製品等の要求仕様書51、外部仕様書52、内部仕様書53、ソースコード54が入力され、テンプレート生成装置1は、Q製品、S製品等の前段処理1Aを実施する。前段処理1Aの具体的な内容は図3、図4で後述する。なお前段処理1Aに入力されるのは2以上の製品の、要求仕様書51、外部仕様書52、内部仕様書53、ソースコード54を想定している。
(1)第1抽出部910は、分割部11、第1のキーワード抽出部12を備える。
(2)第2抽出部920は、ソースコード解析部21、ファンクションリスト生成部22、第2のキーワード抽出部23を備える。
(3)生成部930は、第1の対応抽出部31a、第2の対応抽出部31b、第3の対応抽出部31c、対応付け情報生成部32を備える。
図1、図6を参照して、テンプレート生成装置1の動作の概要を説明する。
図6は、テンプレート生成装置1の動作の概要を説明するための図である。
第2抽出部920は、複数の記述領域である複数の領域からなるソースコード54からオブジェクトごとにファンクションリストを生成し、ファンクションリストからキーワードを抽出する。図6ではファンクションリスト(後述する)は示していない。図6は、ファンクションリストからモータ、ジャイロセンサ、トルクセンサがキーワードとして抽出され、これらのキーワードは、ソースコード54における1段目の領域、2段目の領域、3段目の領域に存在することを示している。
同じように、生成部930は、抽出されたキーワードのジャイロセンサを用いて、ソースコード54の2段目の領域と、内部仕様書53の2段目の領域と、外部仕様書52の領域の2段目と、要求仕様書51の2段目の領域との4領域の対応付けを示す「対応付け情報61−2」を生成する。同じように、生成部930は、抽出されたキーワードのトルクセンサを用いて、ソースコード54の3段目の領域と、内部仕様書53の3段目の領域と、外部仕様書52の3段目の領域と、要求仕様書51の3段目の領域との4領域の対応付けを示す「対応付け情報61−3」を生成する。
なお、製品Qからはトルクセンサがキーワードとして抽出されず、製品Rからはジャイロセンサがキーワードとして抽出されなかったとする。
決定部940は製品を異にする領域グループである領域グループ61G−1と領域グループ62G−1とが類似するか判定する。類似の判定方式は後述する。決定部940は、類似領域グループが存在する場合に、いずれかの類似領域グループの4領域を、要求仕様書51、外部仕様書52、内部仕様書53、ソースコード54の各テンプレートに採用するかどうか決定する。この決定方式は後述する。
次に、抽出されたキーワードを用いて、生成部930は、ソースコード54の領域に対応付けられた内部仕様書53の領域と、外部仕様書52の領域とを対応付ける。
次に、抽出されたキーワードを用いて、生成部930は、内部仕様書53の領域を介してソースコード54の領域に対応付けられた外部仕様書52の領域と、要求仕様書51の領域とを対応付ける。
次に、「モータ」を用いて、生成部930は、ソースコード54の1段目の領域に対応付けられた内部仕様書53の1段目の領域と、外部仕様書52の領域とを対応付ける。
次に、「モータ」を用いて、生成部930は、内部仕様書53の1段目の領域を介してソースコード54の1段目の領域に対応付けられた外部仕様書52の1段目の領域と、要求仕様書51の領域とを対応付ける。
以上により、生成部930は、ソースコード54、内部仕様書53、外部仕様書52、要求仕様書51の各1段目の領域を対応付けで対応付け情報61−1を生成する。
具体的には以下のようである。図6では領域グループ61G−1、62G−1において、要求仕様書51等の各1段目からは「モータ」がキーワードとして抽出されるが、各1段目から「モータ、ジャイロセンサ」が抽出されたとする。
図7は、図6において、類似領域グループが存在する製品の個数を説明する図である。図6において、キーワードの「モータ」が同じである領域グループ61G−1、領域グループ62G−1、領域グループ63G−1が、「モータ」を特徴点として互いに類似する類似領域グループであるとする。また、キーワードの「ジャイロセンサ」が同じである領域グループ61G−2、領域グループ62G−2が、「ジャイロセンサ」を特徴点として互いに類似する類似領域グループであるとする。また、キーワードの「トルクセンサ」が同じである領域グループ61G−3、領域グループ63G−2が、「トルクセンサ」を特徴点として互いに類似する類似領域グループであるとする。
図9は、後段処理1Bの動作を示すフローチャートである。
図8、図9を参照して、前段処理1A、後段処理1Bの処理内容を、具体例に沿って、以下に説明する。前段処理1Aは、図4に示す前段処理1Aによって実行され、後段処理1Bは、図5に示す後処理1Bによって実行されるものとする。つまり前段処理1Aは、分割部11等によって実行され、後段処理1Bは対応判定部41等によって実行される。
図10は、OpenEL 2.0における仕様書の目次である。図10は、外部仕様書52に相当する、OpenEL 2.0の仕様書である、OpenEL 2.0に関する各仕様書は、図10のような、目次構成を持つ。
図8、図11、図12を参照して、前段処理1Aの動作を説明する。
図8は、図4のブロック図に対応する形式の処理フローである。
図11も前段処理1Aの処理フローであり、図8に対応する処理には図8のステップ番号を付している。
ステップS11において、図6で説明したように、分割部11は、要求仕様書51等の文章領域を章、節の構造に合わせて、文章データとして分割する。要求仕様書51を例にとれば、分割部11は、要求仕様書51の各章、各節等の、番号で識別される文章領域を要求仕様書51から切り出し、切り出した各文章領域を章、節番号と対応付ける。要するに前段処理1Aでは、「7.1」のような章、節等の番号を指定すると、分割部11が該当する文章領域の文章データを取り出す。この機能は、マイクロソフト社のワード等の一般的な構造化エディタのソフトウェアが備えている。
次に、ステップS12において、図6で説明したように、切り出された文章領域ごとに、第1のキーワード抽出部12は、文書データから主要キーワードをランク付けして抽出し、主要キーワードを選び出す。この機能を備えるソフトウェアは、代表的なものとして要約作成ソフトウェアである。例としては、フリーウェアのEKWords(http://www.djsoft.co.jp/products/ekwords.html)がある。
ステップS21において、ソースコード解析部21は、ソースコード54を解析し、ソースコード54のそれぞれの記述領域からAPI(Application Interface)仕様の情報を抽出する。ソースコード解析部21がそれぞれの記述領域から抽出するAPI仕様の情報は、関数名、入力引数、出力引数、機能、使用するデータ型などである。ソースコード解析部21の機能を備えるソフトウェアは、Doxygen(http://www.doxygen.jp/)が有名であるが、他にも同様の複数のプログラム構造解析ソフトウェアがある。
次に、ステップS22において、ファンクションリスト生成部22は、ソースコード解析部21によって抽出されたAPI仕様の情報から、オブジェクトごとのファンクションのリストを生成する。つまり、ファンクションリスト生成部22は、抽出されたAPI仕様の情報における「関数名、引数名、機能」から、オブジェクトに相当するキーワードを抽出する。ファンクションリスト生成部22による処理も、第1のキーワード抽出部12と同様に、キーワードを抽出することになるが、抽出の元データが関数一覧であるため、より効率的な抽出が可能である。また、関数名は複数の単語を連結した記述となっていることが多いため、ファンクションリスト生成部22は、関数名を分解し、複数の単語の状態でキーワード抽出を行う。なお、図13は、抽出されたAPI仕様の情報の一部を掲載しているが、オブジェクトとして「モータ」に関する関数一覧である。図13は、オブジェクトが「モータ」であるファンクションリストとみることができる。
次に、ステップS23において、第2のキーワード抽出部23は、ファンクションリスト生成部22が生成したファンクションリスト(図13)から、主要キーワードをランク付けして抽出する。第2のキーワード抽出部23は、オブジェクトごとのファンクションリストから、主要キーワードを選び出す。図13の場合であれば、オブジェクトが「モータ」のファンクションリストとみることができるので、第2のキーワード抽出部23は、図13のリストから主要キーワードをランク付けして抽出する。
図14は、外部仕様書52に相当する「OpenEL 2.0の仕様書」において、複数の文章領域と、文章領域のキーワードとを示す。
図15は、仮の簡略な要求仕様書51における、複数の文章領域と、文章領域のキーワードとを示す。
図16は、内部仕様書53における、複数の文章領域と、文章領域のキーワードとを示す。ソースコード54から内部仕様書53を自動生成するDoxygenツールがあるが、内部仕様書53にも、ソースコード54にもAPI名称が記載されている。ソースコード54の領域と内部仕様書53の領域との対応付けのキーワードとしては、API名称を採用するのが適している。対応付け処理の基本的なアルゴリズムは、各仕様書の領域、ソースコードの領域に対して、他方の領域のキーワードで検索を行い、大量に見つかるものを最も対応付けがとれると判断することができる。最近では、単純なキーワードの一致だけではなく、より対応付け処理の精度を向上できる手段があるので、これらの手段も利用できる。
図17は、ソースコード54の構成例を示す。ソースコード54の主要キーワードとして、API名称を取り上げることができる。
図18は、内部仕様書53に含まれるAPI名称を示す。図18の「HalInit,HalExit」等がソースコード54のキーワードと共通するキーワードである。
以上の、図17の形式のソースコード54、図16、図18の形式の内部仕様書53、図14の形式の外部仕様書52、図15の形式の要求仕様書51に対して、第1の対応抽出部31a、第2の対応抽出部31b、第3の対応抽出部31cは、各仕様書及びソースコードの領域ごとに、主要キーワードを比較して、対応する文章領域同士を結び付けて、領域対応情報を生成する。「領域対応情報」とは、ソースコード54の領域と内部仕様書53の領域、内部仕様書53の領域と外部仕様書52の領域、外部仕様書52の領域と要求仕様書51の領域との領域というように2つの領域同士を対応付ける情報である。図6で述べたように、第1の対応抽出部31aは、ソースコード54の領域と内部仕様書53の領域とを対応付ける。第2の対応抽出部31bは、内部仕様書53の領域と外部仕様書52の領域とを対応付ける。第3の対応抽出部31cは、外部仕様書52の領域と要求仕様書51の領域とを対応付ける。なお一つの領域に対して複数の領域が対応付けられてもよい。図6の製品Pでは、ソースコード54の1段目の領域、内部仕様書53の1段目、4段目の領域は、いずれもキーワードが「モータ」である。この場合、第1の対応抽出部31aは、ソースコード54の1段目の領域を、内部仕様書53の1段目、4段目の各領域と対応付ける。この場合、対応付け情報生成部32は、キーワードのモータに関しては、対応付け情報として、要求仕様書51〜ソースコード54の4つの1段目から成る対応付け情報と、要求仕様書51、外部仕様書52、ソースコード54の3つの1段目、内部仕様書53の4段目からなる対応付け情報を生成する。
第1の対応抽出部31aは、キーワード比較により、ソースコード54と内部仕様書53との各領域の対応関係を抽出する。第1の対応抽出部31aは、主要キーワードがAPI名称の場合は、比較的容易に、ソースコード54の各記述領域と、内部仕様書53の各文章領域とを対応付けできる。なお、ここで「対応付ける」とは、仕様書どうしにおいて、あるいはソースコード54と内部仕様書53とにおいて、一方の領域が他方のどの領域に対応づけられるかを照合し、対応付ける処理である。例を示せば、一方の1つの領域をクリックすると、ハイパーリンクが張られており、他方の1つの領域が示される場合である。ただし、「対応」は1対1対応とは限らず、一つの領域が、他方の複数の領域に対応付けられる場合も有る。第1の対応抽出部31a,第2の対応抽出部31b,第3の対応抽出部31cによる対応付けの結果である領域対応情報は、対応付け情報生成部32が対応付け情報の生成に使用する。対応付け情報は、後段処理1Bの対応判定部41によって使用される。
図19は、第1の対応抽出部31aが、図13のキーワードを持つソースコード54と、図16のキーワードを持つ内部仕様書53とから、ソースコード54と内部仕様書53との領域同士の対応付けを行った例を示す。
第2の対応抽出部31bは、キーワード比較により、内部仕様書53と外部仕様書52との各文書領域の対応関係を抽出する。第2の対応抽出部31bでは、主要キーワードは、出現頻度に応じて選定された語彙を採用することができる。第2の対応抽出部31bによる処理において、有効な判断基準としては、章、節の名称の類似性を考慮できる。上述の例からも明らかである。こうして、内部仕様書53と外部仕様書52との各文章領域とを効率よく対応付けることができる。
図20は、図16、図18の内部仕様書53と、図14の外部仕様書52との領域の対応付けの例を示す。
第3の対応抽出部31cは、キーワード比較により、外部仕様書52と要求仕様書51との対応関係を抽出する。第3の対応抽出部31cでも、同様に、主要キーワードは、出現頻度に応じて選定された語彙を採用することができる。ただし、元来、要求仕様書51は、プログラムの構成は考慮されていないため、要求機能が羅列されている場合が多い。このため要求仕様書51は、プログラムの構成的な目次構成から、はずれた目次構成になっている場合が多い。よって、要求仕様書51は、外部仕様書52の目次構成と1対1には対応しない可能性が高い。しかし、機能を記述する際に使用するキーワードの出現頻度で対応付け可能であると想定でき、キーワードによる分類解析は有効である。
図21は、図14の外部仕様書52と、図15の要求仕様書51とから得られた領域の対応を示す。
ステップS33において、第1の対応抽出部31aはソースコード54の領域と、内部仕様書53の領域とを対応付けた領域対応情報を生成する。同様に、第2の対応抽出部31b、第3の対応抽出部31cは、2つの仕様書間の領域どうしを対応付けた領域対応情報を生成する。対応付け情報生成部32は、第1の対応抽出部31a等が生成する領域対応情報を用いて、対応付け情報を生成する。図6を参照して説明する。製品Pを想定する。第1の対応抽出部31aは、キーワードのモータによって、ソースコード54の1段目の領域と内部仕様書53の1段目の領域とを対応付ける領域対応情報を生成し、対応付け情報生成部32に送信する。第2の対応抽出部31bは、キーワードのモータによって、内部仕様書53の1段目の領域と、外部仕様書52の1段目の領域とを対応付ける領域対応情報を生成し、対応付け情報生成部32に送信する。第3の対応抽出部31cは、キーワードのモータによって、外部仕様書52の1段目の領域と要求仕様書51の1段目の領域とを対応付ける領域対応情報を生成し、対応付け情報生成部32に送信する。対応付け情報生成部32は、キーワードのモータについて、対応付け情報61−1を生成する。製品Q、Rについても、対応付け情報生成部32は同様に、キーワードのモータについて、対応付け情報を生成する。なお、内部仕様書53の4段目の「モータ」について、対応付け情報生成部32は、要求仕様書51、外部仕様書52の1段目、内部仕様書53の4段目、ソースコード54の1段目の4領域を対応付けた対応付け情報も生成する。対応付け情報生成部32は、対応付け情報62−1等を対応判定部41へ送信する。
文章領域の対応付けについては、既存の各仕様書にトレーサビリティ情報が記載している場合があり、トレーサビリティ情報を活用することができる。図4において、トレーサビリティ情報取得部33a、33b、33cは、それぞれトレーサビリティ情報33d,33e,33fにより、第1の対応抽出部31a〜第3の対応抽出部31cによる対応付けを限定する、オプション的な構成要素である。トレーサビリティ情報33fは要求仕様書51のものであり、トレーサビリティ情報33eは外部仕様書52のものであり、トレーサビリティ情報33dは内部仕様書53のものである。トレーサビリティ情報33d、33e、33fは補助記憶装置902aに記憶されており、トレーサビリティ情報取得部33a、33b、33cは、補助記憶装置902aから読み出す。
また、図4では、相互関係判定部34によるステップS34を付加している。相互関係判定部34は、複数キーワードの出現場所の近傍レベルからキーワード間の相関関係を判定する。これは、単純に文書領域に特定のキーワードが含まれる、含まれないということで、文章領域どうしの類似性を判断するものではない。相互関係判定部34は、複数のキーワードが比較的近くの場所に現れるということで、関連の強いキーワード群として扱うものであり、必ずしも、キーワード群の全てが現れなくても、そのうちのいくつかのキーワードが含まれていれば、類似箇所として判定することが可能になる。つまり、相互関係判定部34は、一方の文章領域に存在するキーワード群と、他方の文章領域に存在するキーワード群との類似性から、一方の文章領域と他方の文書領域との類似性を判定することが可能である。これも、上述した文書間の類似性を調べる手法の1つとなる。相互関係判定部34は前段処理1Aにはオプション的な機能であるが、相互関係判定部34によって、文書領域どうしの類似性を効果的に調べることができる。
次に、図9、図22を参照して後段処理1Bの動作を説明する。
図9は、図5のブロック図に対応する形式の処理フローである。
図22は、後段処理1Bの処理フローであり、図9に対応する処理には図9のステップ番号を付している。
ステップS41において、対応判定部41は以下の処理を行う。
図23は、図6の要求仕様書51〜ソースコード54の1段目の領域を「モータ」で対応付ける対応付け情報61−1を示す。図6、図9に示すように、対応判定部41には、製品P、Q、Rの対応付け情報が入力データとして入力される。ここで製品P、Q、Rの対応付け情報は、図6で説明したものである。対応判定部41は、P,Q,Rの製品の中に、類似領域グループが存在するか判定する。対応判定部41には、図6の製品Pについての対応付け情報61−1、製品Qについての対応付け情報62−1、製品Rについての対応付け情報63−1等が入力されている。対応付け情報61−1は、製品Pの要求仕様書51〜ソースコード54の1段目の領域を対応付ける情報である。同様に、対応付け情報62−1は製品Qの要求仕様書51〜ソースコード54の1段目の領域を、対応付け情報63−1は製品Rの要求仕様書51〜ソースコード54の1段目の領域を対応付ける情報である。対応判定部41は、対応付け情報61−1によって対応付けが示される領域グループ61G−1を、メモリ902bから取得する。領域グループ61G−1は、製品Pの要求仕様書51〜ソースコード54の1段目の領域からなる。同様に、対応判定部41は、領域グループ62G−1、63G−1を、メモリ902bから取得する。領域グループ62G−1、63G−1は、それぞれ、製品Q、製品Rの要求仕様書51〜ソースコード54の1段目の領域からなる。
次に、ステップS42において、重要度判定部42は、対応判定部41の作成した図7を参照する。重要度判定部42は、図7において、「モータ」に関する類似領域グループが製品P,Q,R全てに存在していると確認し、「モータ」を特徴点とする類似領域グループの重要度は高いと判定する。また、重要度判定部42は、図7の「ジャイロセンサ」、「トルクセンサ」に関する類似領域グループが、製品P,Q、製品P,Rに存在すると確認する。「ジャイロセンサ」を特徴点とする類似領域グループ、「トルクセンサ」を特徴点とする類似領域グループの重要度は、中程度と判定する。
ステップS43において、テンプレート出力部43は、製品P,Q,Rの3つに存在する確認された、モータを特徴点とする類似領域グループについて、製品Pの類似領域グループを出力する。なお、「モータ」を特徴点とする類似領域グループであれば、製品Qあるいは製品Rの類似領域グループを出力しても良い。
図25は、外部仕様書52のテンプレートの例を説明する図である。
図26は、内部仕様書53のテンプレートの例を説明する図である。
図27は、ソースコードのテンプレートの例を説明する図である。
最後に、ステップS44において、空欄作成部44は、テンプレート出力部43によって出力された各テンプレート中に、製品機種名称、モータ等のデバイスの型番、製品名など、製品P,Q,Rに独自な記載箇所があるか確認する。有る場合は、その箇所を空欄に修正し、テンプレートの利用の際に、新たに入力可能にする。
(1)実施の形態1のテンプレート生成装置1は、前段処理1Aと後段処理1Bとを実行することにより、ソースコードから内部仕様書、外部仕様書、要求仕様書へと設計の上流へ遡って文章領域の対応付けを行うので、類似製品の、要求仕様書、外部仕様書、内部仕様書、ソースコードのテンプレートを作成できる。
(2)テンプレート生成装置1によれば、サンプル文書のように、ベースとなる仕様書、ソースコードが自動生成できる。よって、開発プロジェクトの参加設計者が開発製品の設計技術に熟達していない場合であっても、ベースとなる共通的なサンプル文書を用意することができる。よって、効率的に仕様書作成ができる。
(3)実施の形態1に示したように、既存の複数製品の要求仕様書51、外部仕様書52、内部仕様書53及びソースコード54をベースに、共通的な文章領域を中心として類似製品の、ソースコード、内部仕様書、外部仕様書、要求仕様書の各テンプレートを生成する。よって、生成された各テンプレートを使用することで、開発者は、新製品の要求仕様書、外部仕様書、内部仕様書、ソースコードについて、比較的重要な設計記述を中心に記載ができる。
(4)また、あまり重要でないオプション的な処理の記述が取り除かれたテンプレートが生成されるので、開発は、効率良い編集作業ができる。
図30は、処理回路99を示す図である。本実施の形態ではテンプレート生成装置1の「部」の機能はソフトウェアで実現されるが、変形例として、テンプレート生成装置1の「部」の機能がハードウェアで実現されてもよい。つまり、処理回路99によって、前述したプロセッサ901として示すテンプレート生成装置1の「部」の機能、及び「記憶装置」の機能を実現する。処理回路99は信号線99aに接続している。処理回路99は、テンプレート生成装置1の「部」の機能及び「記憶装置」の機能を実現する専用の電子回路である。処理回路99は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、又は、FPGA(Field−Programmable・Gate・Array)である。
<要求仕様書51と外部仕様書52との対応関係の異なる抽出例>
以下に実施の形態2を説明する。なお、以下の実施の形態2、3では、実施の形態1のテンプレート生成装置1を使用する。実施の形態2、3では、実施の形態1に対して、前段処理1Aに入力されるデータが実施の形態1と異なる。
本実施の形態の個々の機能では、
要求仕様書51−2の「5.機能要求」から、
5.1 起動処理、
5.2 移動速度表示機能、
5.3 バッテリ残量表示機能、
5.4 走行可能距離表示機能、
5.5 システム状態表示機能、
5.6 G値超過通報機能、
5.7 警報ボタン押下時通報機能、
5.8 電圧低下時終了機能
のそれぞれについて、関数が用意されると想定される。
ここでは、「4.関数API」の章において、4.1から4.8までの節番号を、これらの各機能について順に付加する。
また、上述したメインループ内から、
5.2 移動速度表示機能、
5.3 バッテリ残量表示機能、
5.4 走行可能距離表示機能、
5.5 システム状態表示機能、
5.6 G値超過通報機能、
5.7 警報ボタン押下時通報機能
に相当する関数が呼び出される。
要求仕様書51−2については、上述した機能関連の章節に限定して、図34に示す。
図34は、要求仕様書51−2から抽出された主要キーワードである。
<要求仕様書51と外部仕様書52との対応関係の別の抽出例>
次に、日本医師会総合政策研究機構により策定、開発、公開されているオープンソースプロジェクトであるORCA PROJECTにおける日医標準レセプトソフト(https://www.orca.med.or.jp/receipt/)を取り上げて説明する。本プロジェクトでは、仕様書類、ソースコードの公開が充実化されている。システム全体は、データベースシステムを含む大規模なものであるが、クライアント端末装置からレセプト関連業務の処理を行うためのWeb APIのソフトウェア実装部分を、実施の形態1で述べたテンプレート生成装置1の適用の対象とする。
図38は、基本仕様書の主要目次項目を示す。
Claims (8)
- いずれも電子データである一つの製品の要求仕様書、外部仕様書、内部仕様書を複数の領域に分割し、各領域からキーワードを抽出する第1抽出部と、
複数の記述領域である複数の領域からなる前記製品の電子データであるソースコードからオブジェクトごとにファンクションリストを生成し、前記ファンクションリストからキーワードを抽出する第2抽出部と、
抽出されたキーワードを用いて、前記ソースコードの領域と、前記内部仕様書の領域と、前記外部仕様書の領域と、前記要求仕様書の領域との4領域の対応付けを示す対応付け情報を製品ごとに生成する生成部と、
複数の製品の中に、前記対応付け情報で対応付けが示される4領域からなる領域グループであって、製品を異にして互いに類似する領域グループである複数の類似領域グループが存在するか判定し、存在する場合に、いずれかの前記類似領域グループの4領域を、要求仕様書、外部仕様書、内部仕様書、ソースコードの各テンプレートに採用するかどうか決定する決定部と
を備えるテンプレート生成装置。 - 前記生成部は、
抽出されたキーワードを用いて、
前記ソースコードの領域と前記内部仕様書の領域とを対応付け、前記ソースコードの領域に対応付けられた前記内部仕様書の領域と前記外部仕様書の領域とを対応付け、前記内部仕様書の領域を介して前記ソースコードの領域に対応付けられた前記外部仕様書の領域と前記要求仕様書の領域とを対応付けることにより、前記ソースコードの領域と、前記内部仕様書の領域と、前記外部仕様書の領域と、前記要求仕様書の領域との4領域を対応付ける請求項1に記載のテンプレート生成装置。 - 前記決定部は、
各製品の前記領域グループに含まれるキーワードであって、前記第1抽出部と前記第2抽出部とが抽出したキーワードである抽出キーワードを用いて、前記類似領域グループが存在するか判定する請求項1または請求項2に記載のテンプレート生成装置。 - 前記決定部は、
同一の前記抽出キーワードの出現頻度を用いて、前記類似領域グループが存在するか判定する請求項3に記載のテンプレート生成装置。 - 前記決定部は、
前記領域グループにおける前記内部仕様書の領域と、前記外部仕様書の領域と、前記要求仕様書の領域とのうちの少なくともいずれかの領域の要約を生成し、要約を比較することによって、前記類似領域グループが存在するか判定する請求項1または請求項2に記載のテンプレート生成装置。 - 前記決定部は、
互いに類似する前記類似領域グループが存在する製品の個数に基づいて、いずれかの前記類似領域グループの4領域を、要求仕様書、外部仕様書、内部仕様書、ソースコードの各テンプレートに採用することを決定する請求項1から請求項5のいずれか一項に記載のテンプレート生成装置。 - コンピュータに、
いずれも電子データである一つの製品の要求仕様書、外部仕様書、内部仕様書を複数の領域に分割し、各領域からキーワードを抽出する処理、
複数の記述領域である複数の領域からなる前記製品の電子データであるソースコードからオブジェクトごとにファンクションリストを生成し、前記ファンクションリストからキーワードを抽出する処理、
抽出されたキーワードを用いて、前記ソースコードの領域と、前記内部仕様書の領域と、前記外部仕様書の領域と、前記要求仕様書の領域との4領域の対応付けを示す対応付け情報を製品ごとに生成する処理、
複数の製品の中に、前記対応付け情報で対応付けが示される4領域からなる領域グループであって、製品を異にして互いに類似する領域グループである複数の類似領域グループが存在するか判定し、存在する場合に、いずれかの前記類似領域グループの4領域を、要求仕様書、外部仕様書、内部仕様書、ソースコードの各テンプレートに採用するかどうか決定する処理、
を実行させるためのテンプレート生成プログラム。 - コンピュータが、
いずれも電子データである一つの製品の要求仕様書、外部仕様書、内部仕様書を複数の領域に分割し、各領域からキーワードを抽出し、
複数の記述領域である複数の領域からなる前記製品の電子データであるソースコードからオブジェクトごとにファンクションリストを生成し、前記ファンクションリストからキーワードを抽出し、
抽出されたキーワードを用いて、前記ソースコードの領域と、前記内部仕様書の領域と、前記外部仕様書の領域と、前記要求仕様書の領域との4領域の対応付けを示す対応付け情報を製品ごとに生成し、
複数の製品の中に、前記対応付け情報で対応付けが示される4領域からなる領域グループであって、製品を異にして互いに類似する領域グループである複数の類似領域グループが存在するか判定し、存在する場合に、いずれかの前記類似領域グループの4領域を、要求仕様書、外部仕様書、内部仕様書、ソースコードの各テンプレートに採用するかどうか決定する
テンプレート生成方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/065093 WO2017199443A1 (ja) | 2016-05-20 | 2016-05-20 | テンプレート生成装置、テンプレート生成プログラム及びテンプレート生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6305671B1 JP6305671B1 (ja) | 2018-04-04 |
JPWO2017199443A1 true JPWO2017199443A1 (ja) | 2018-05-31 |
Family
ID=60325526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018500822A Expired - Fee Related JP6305671B1 (ja) | 2016-05-20 | 2016-05-20 | テンプレート生成装置、テンプレート生成プログラム及びテンプレート生成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200293290A1 (ja) |
EP (1) | EP3447638A4 (ja) |
JP (1) | JP6305671B1 (ja) |
WO (1) | WO2017199443A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102671676B1 (ko) * | 2021-12-16 | 2024-06-03 | (주)제이앤피메디 | 키워드 데이터 연동 시스템 및 그 방법 |
JP2024033123A (ja) * | 2022-08-30 | 2024-03-13 | 日立Astemo株式会社 | 文書分析装置、及び文書分析用プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129381A (ja) | 1993-11-02 | 1995-05-19 | Nippon Steel Corp | プログラムドキュメント作成装置 |
US8677310B2 (en) * | 2008-06-30 | 2014-03-18 | Rockwell Automation Technologies, Inc. | Industry template abstracting and creation for use in industrial automation and information solutions |
JP2010204910A (ja) * | 2009-03-03 | 2010-09-16 | Nec Corp | 相互リンク表示システム、相互リンク表示方法及び相互リンク表示プログラム |
JP2013003715A (ja) * | 2011-06-14 | 2013-01-07 | Fuji Electric Co Ltd | トレース情報管理装置、管理方法およびプログラム |
JP2013246644A (ja) * | 2012-05-25 | 2013-12-09 | Mitsubishi Electric Corp | ソフトウェアオブジェクト修正支援装置、ソフトウェアオブジェクト修正支援方法、および、プログラム |
-
2016
- 2016-05-20 EP EP16902462.7A patent/EP3447638A4/en not_active Withdrawn
- 2016-05-20 JP JP2018500822A patent/JP6305671B1/ja not_active Expired - Fee Related
- 2016-05-20 WO PCT/JP2016/065093 patent/WO2017199443A1/ja active Application Filing
- 2016-05-20 US US16/084,197 patent/US20200293290A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP3447638A1 (en) | 2019-02-27 |
JP6305671B1 (ja) | 2018-04-04 |
WO2017199443A1 (ja) | 2017-11-23 |
US20200293290A1 (en) | 2020-09-17 |
EP3447638A4 (en) | 2019-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489439B2 (en) | System and method for entity extraction from semi-structured text documents | |
US9715531B2 (en) | Weighting search criteria based on similarities to an ingested corpus in a question and answer (QA) system | |
Van Dam et al. | Software language identification with natural language classifiers | |
US10430713B2 (en) | Predicting and enhancing document ingestion time | |
Shokripour et al. | Automatic bug assignment using information extraction methods | |
US9251245B2 (en) | Generating mappings between a plurality of taxonomies | |
US10832049B2 (en) | Electronic document classification system optimized for combining a plurality of contemporaneously scanned documents | |
US20150356456A1 (en) | Real-Time or Frequent Ingestion by Running Pipeline in Order of Effectiveness | |
US20160188569A1 (en) | Generating a Table of Contents for Unformatted Text | |
US12001951B2 (en) | Automated contextual processing of unstructured data | |
US9990268B2 (en) | System and method for detection of duplicate bug reports | |
WO2023278052A1 (en) | Automated troubleshooter | |
Zhou et al. | Augmenting bug localization with part-of-speech and invocation | |
JP6305671B1 (ja) | テンプレート生成装置、テンプレート生成プログラム及びテンプレート生成方法 | |
US12014140B2 (en) | Utilizing machine learning and natural language processing to determine mappings between work items of various tools | |
JP2006323517A (ja) | テキスト分類装置およびプログラム | |
US20170140010A1 (en) | Automatically Determining a Recommended Set of Actions from Operational Data | |
EP4258107A1 (en) | Method and system for automated discovery of artificial intelligence and machine learning assets in an enterprise | |
US10628632B2 (en) | Generating a structured document based on a machine readable document and artificial intelligence-generated annotations | |
WO2023091209A1 (en) | Classifying parts of a markup language document, and applications thereof | |
US11783116B2 (en) | Resembling transition identifying apparatus, resembling transition identifying method and program | |
KR102449580B1 (ko) | 컴포넌트 네트워크 기반의 분석 시스템을 이용한 비정형 데이터 분석 방법 | |
Yıldız et al. | Bilingual software requirements tracing using vector space model | |
Shi et al. | A strategy to determine when to stop using automatic bug localization | |
JP2024089449A (ja) | 検索装置、及び検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180110 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180110 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180124 |
|
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: 20180206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180306 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6305671 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |