Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6364332B2 - Specification generation method, specification generation device, and program - Google Patents
[go: Go Back, main page]

JP6364332B2 - Specification generation method, specification generation device, and program - Google Patents

Specification generation method, specification generation device, and program Download PDF

Info

Publication number
JP6364332B2
JP6364332B2 JP2014234768A JP2014234768A JP6364332B2 JP 6364332 B2 JP6364332 B2 JP 6364332B2 JP 2014234768 A JP2014234768 A JP 2014234768A JP 2014234768 A JP2014234768 A JP 2014234768A JP 6364332 B2 JP6364332 B2 JP 6364332B2
Authority
JP
Japan
Prior art keywords
intermediate data
input
business
variable
simplified
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
JP2014234768A
Other languages
Japanese (ja)
Other versions
JP2016099726A (en
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.)
NTT Data Group Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2014234768A priority Critical patent/JP6364332B2/en
Publication of JP2016099726A publication Critical patent/JP2016099726A/en
Application granted granted Critical
Publication of JP6364332B2 publication Critical patent/JP6364332B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、仕様生成方法、仕様生成装置、及びプログラムに関する。   The present invention relates to a specification generation method, a specification generation device, and a program.

近年、長年使い続けた大規模システムをシステム更改することが行われている。このような大規模システムでは、ソースコード以外(例えば、設計書など)が残っていない場合がある。このような場合に対応するため、ソースコードを解析する技術が知られている(例えば、特許文献1を参照)。   In recent years, large-scale systems that have been used for many years have been updated. In such a large-scale system, there may be a case in which no other than the source code (for example, a design document) remains. In order to cope with such a case, a technique for analyzing a source code is known (see, for example, Patent Document 1).

特開2008−181311号公報JP 2008-181311 A

しかしながら、上述した技術では、例えば、ソースコードの構造を示すグラフを表示するなど、システムの仕様を理解する支援を行うものであり、ソースコードから理解しやすい設計書を生成することは困難であった。   However, the above-described technique provides support for understanding the system specifications, for example, by displaying a graph showing the structure of the source code, and it is difficult to generate an easy-to-understand design document from the source code. It was.

本発明は、上記問題を解決すべくなされたもので、その目的は、ソースコードから理解しやすい設計書を生成することができる仕様生成方法、仕様生成装置、及びプログラムを提供することにある。   The present invention has been made to solve the above problems, and an object of the present invention is to provide a specification generation method, a specification generation device, and a program capable of generating an easy-to-understand design document from source code.

上記問題を解決するために、本発明の一態様は、中間データ生成部が、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、分割処理部が、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、簡素化処理部が、前記入力中間データに含まれる前記第2の変数の値のうち、前記入力チェックが成功である場合の前記第2の変数の値に対応する前記論理式に基づいて、前記業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する簡素化処理ステップと、設計書生成部が、前記入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記簡素化された業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップとを含むことを特徴とする仕様生成方法である。   In order to solve the above problem, according to an aspect of the present invention, an intermediate data generation unit acquires a source code described in the source file from a source storage unit that stores the source file, and the acquired source code is stored in the source code. An intermediate data generation step for generating intermediate data in which the first variable for parsing and storing the result of the processing, the logical expression expressed by the input variable, and the value of the first variable are associated with each other; Based on a second variable that stores a processing result of the input check specified in advance, the division processing unit converts the intermediate data into input intermediate data indicating a processing portion corresponding to the input check, and the input check. A division processing step for dividing the data into business intermediate data indicating a business processing portion not including a corresponding processing portion, and a simplification processing unit include the second processing unit included in the input intermediate data. Based on the logical expression corresponding to the value of the second variable when the input check is successful among the variable values, unnecessary logical expressions are deleted from the business intermediate data and simplified. A simplified processing step for generating business intermediate data, and a design document generation unit generates an input check design document describing a design specification related to the input check based on the input intermediate data, and the simplified business process And a design document generation step of generating a business process design document describing a design specification related to the business process based on intermediate data.

また、本発明の一態様は、上記の仕様生成方法において、前記簡素化処理ステップにおいて、予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成し、前記設計書生成ステップにおいて、前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成することを特徴とする。   Further, according to one aspect of the present invention, in the specification generation method described above, in the simplification process step, unnecessary logical expressions are deleted from the input intermediate data based on a predetermined algorithm, which is simplified. The generated input intermediate data is generated, and in the design document generation step, an input check design document describing a design specification related to the input check is generated based on the simplified input intermediate data. .

また、本発明の一態様は、上記の仕様生成方法において、前記簡素化処理ステップにおいて、前記論理式に基づいて構築された決定木に基づいて、前記業務中間データ及び前記入力中間データのうちの少なくとも一方に含まれる記載不要な論理式を削除することを特徴とする。   Further, according to one aspect of the present invention, in the specification generation method described above, in the simplification processing step, based on a decision tree constructed based on the logical expression, the business intermediate data and the input intermediate data It is characterized in that a logical expression that does not need to be included in at least one is deleted.

また、本発明の一態様は、上記の仕様生成方法において、前記簡素化処理ステップにおいて、前記第2の変数の値の記載順序により既に記載された論理式に基づいて、記載不要な論理式を削除することを特徴とする。   Further, according to one aspect of the present invention, in the specification generation method, in the simplification processing step, a logical expression that does not need to be described is generated based on a logical expression already described according to a description order of values of the second variable. It is characterized by deleting.

また、本発明の一態様は、中間データ生成部が、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、分割処理部が、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、簡素化処理部が、予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成する簡素化処理ステップと、設計書生成部が、前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップとを含む仕様生成方法である。   Further, according to one aspect of the present invention, the intermediate data generation unit acquires the source code described in the source file from the source storage unit that stores the source file, parses the acquired source code, and performs processing An intermediate data generation step for generating intermediate data in which a first variable for storing the result of the above, a logical expression expressed by an input variable, and a value of the first variable are associated with each other; Based on the second variable that stores the processing result of the designated input check, the intermediate data includes the input intermediate data indicating the processing portion corresponding to the input check, and the processing portion corresponding to the input check. A division processing step for dividing the data into business intermediate data indicating a part of business processing not included, and a simplification processing unit, based on a predetermined algorithm, the input intermediate A simplification processing step for generating unnecessary input intermediate data by deleting unnecessary logical expressions from the data, and a design document generation unit that performs the input check based on the simplified input intermediate data. A specification generation method including a design document generation step for generating an input check design document describing a design specification related to the business process and generating a business process design document describing a design specification related to the business process based on the business intermediate data is there.

また、本発明の一態様は、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成部と、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理部と、前記入力中間データに含まれる前記第2の変数の値のうち、前記入力チェックが成功である場合の前記第2の変数の値に対応する前記論理式に基づいて、前記業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する簡素化処理部と、前記入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記簡素化された業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成部とを備える仕様生成装置である。   According to another aspect of the present invention, a source code described in the source file is acquired from a source storage unit that stores the source file, the acquired source code is parsed, and a processing result is stored. An intermediate data generating unit that generates intermediate data in which a variable of 1 is expressed, a logical expression expressed by an input variable, and a value of the first variable, and a processing result of an input check specified in advance are stored. Based on the second variable, the intermediate data is divided into input intermediate data indicating a part of processing corresponding to the input check and business intermediate data indicating a part of business processing not including the part of processing corresponding to the input check. A division processing unit that divides the input variable and the second variable value included in the input intermediate data before the second variable value when the input check is successful. A simplification processing unit that deletes unnecessary logical expressions from the business intermediate data based on logical expressions and generates simplified business intermediate data, and a design specification related to the input check based on the input intermediate data A specification generation apparatus comprising: a design document generation unit that generates an input check design document that describes a business process and a business process design document that describes a design specification related to the business process based on the simplified business intermediate data It is.

また、本発明の一態様は、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成部と、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理部と、予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成する簡素化処理部と、前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成部とを備える仕様生成装置である。   According to another aspect of the present invention, a source code described in the source file is acquired from a source storage unit that stores the source file, the acquired source code is parsed, and a processing result is stored. An intermediate data generating unit that generates intermediate data in which a variable of 1 is expressed, a logical expression expressed by an input variable, and a value of the first variable, and a processing result of an input check specified in advance are stored. Based on the second variable, the intermediate data is divided into input intermediate data indicating a part of processing corresponding to the input check and business intermediate data indicating a part of business processing not including the part of processing corresponding to the input check. And a simplified processing of the input intermediate data by deleting unnecessary logical expressions from the input intermediate data based on a predetermined processing algorithm. And an input check design document describing design specifications related to the input check based on the simplified input intermediate data, and the business process based on the business intermediate data The specification generation apparatus includes a design document generation unit that generates a business process design document describing a design specification related to the process.

また、本発明の一態様は、コンピュータに、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、前記入力中間データに含まれる前記第2の変数の値のうち、前記入力チェックが成功である場合の前記第2の変数の値に対応する前記論理式に基づいて、前記業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する簡素化処理ステップと、前記入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記簡素化された業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップとを実行させるためのプログラムである。   In one embodiment of the present invention, a source code described in the source file is acquired from a source storage unit that stores the source file in a computer, the acquired source code is parsed, and a processing result is obtained. An intermediate data generation step for generating intermediate data in which a first variable to be stored, a logical expression expressed by an input variable, and a value of the first variable are associated with each other, and a processing result of an input check designated in advance The intermediate data, the intermediate data indicating the portion of the processing corresponding to the input check, and the portion of the business process not including the portion of the processing corresponding to the input check A division processing step for dividing the data into business intermediate data, and before the input check is successful among the values of the second variable included in the input intermediate data. A simplified processing step for generating simplified business intermediate data by deleting unnecessary logical formulas from the business intermediate data based on the logical formula corresponding to the value of the second variable; and the input intermediate data An input check design document describing the design specifications related to the input check is generated based on the above, and a business process design document describing the design specifications related to the business process is generated based on the simplified business intermediate data A program for executing a design document generation step.

また、本発明の一態様は、コンピュータに、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成する簡素化処理ステップと、前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップとを実行させるためのプログラムである。   In one embodiment of the present invention, a source code described in the source file is acquired from a source storage unit that stores the source file in a computer, the acquired source code is parsed, and a processing result is obtained. An intermediate data generation step for generating intermediate data in which a first variable to be stored, a logical expression expressed by an input variable, and a value of the first variable are associated with each other, and a processing result of an input check designated in advance The intermediate data, the intermediate data indicating the portion of the processing corresponding to the input check, and the portion of the business process not including the portion of the processing corresponding to the input check Based on a division processing step for dividing into business intermediate data and a predetermined algorithm, an unnecessary logical expression is deleted from the input intermediate data, A simplified processing step for generating the input intermediate data that has been materialized; and an input check design document that describes a design specification related to the input check based on the simplified input intermediate data; A program for executing a design document generation step for generating a business process design document describing a design specification related to the business process based on data.

本発明によれば、ソースコードから理解しやすい設計書を生成することができる。   According to the present invention, a design document that is easy to understand can be generated from source code.

本実施形態による仕様生成システムの一例を示すブロック図である。It is a block diagram which shows an example of the specification production | generation system by this embodiment. 本実施形態におけるソースファイル記憶部のデータ例を示す図である。It is a figure which shows the example of data of the source file memory | storage part in this embodiment. 本実施形態における設定ファイル記憶部のデータ例を示す図である。It is a figure which shows the example of data of the setting file memory | storage part in this embodiment. 本実施形態における入力チェック設計書の一例を示す図である。It is a figure which shows an example of the input check design document in this embodiment. 本実施形態における業務処理設計書の一例を示す図である。It is a figure which shows an example of the business processing design document in this embodiment. 本実施形態における中間データの一例を示す図である。It is a figure which shows an example of the intermediate data in this embodiment. 本実施形態における入力中間データの一例を示す図である。It is a figure which shows an example of the input intermediate data in this embodiment. 本実施形態における業務中間データの一例を示す図である。It is a figure which shows an example of the business intermediate data in this embodiment. 本実施形態における簡素化された入力中間データの一例を示す図である。It is a figure which shows an example of the input intermediate data simplified in this embodiment. 本実施形態における簡素化された業務中間データの一例を示す図である。It is a figure which shows an example of the simplified business intermediate data in this embodiment. 本実施形態による仕様生成装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the specification production | generation apparatus by this embodiment. 本実施形態における入力中間データの簡素化処理の一例を示す図である。It is a figure which shows an example of the simplification process of the input intermediate data in this embodiment. 本実施形態の簡素化処理における順序評価の一例を示す図である。It is a figure which shows an example of the order evaluation in the simplification process of this embodiment. 本実施形態における決定木を利用した簡素化処理の一例を示す図である。It is a figure which shows an example of the simplification process using the decision tree in this embodiment. 本実施形態の変形例における業務処理設計書の一例を示す図である。It is a figure which shows an example of the business process design document in the modification of this embodiment. 本実施形態の変形例における決定木を利用した業務中間データの簡素化処理の一例を説明する第1の図である。It is a 1st figure explaining an example of the simplification process of the business intermediate data using the decision tree in the modification of this embodiment. 本実施形態の変形例における決定木を利用した業務中間データの簡素化処理の一例を説明する第2の図である。It is a 2nd figure explaining an example of the simplification process of the business intermediate data using the decision tree in the modification of this embodiment. 本実施形態の変形例における決定木を利用した業務中間データの簡素化処理の一例を説明する第3の図である。It is a 3rd figure explaining an example of the simplification process of the business intermediate data using the decision tree in the modification of this embodiment.

以下、本発明の一実施形態による仕様生成装置及び仕様生成システムについて、図面を参照して説明する。
図1は、本実施形態による仕様生成システム100の一例を示すブロック図である。
この図に示すように、仕様生成システム100は、仕様生成装置1と、ファイルサーバ装置30とを備えている。仕様生成装置1と、ファイルサーバ装置30とは、例えば、ネットワークを介して接続されている。
Hereinafter, a specification generation device and a specification generation system according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating an example of a specification generation system 100 according to the present embodiment.
As shown in this figure, the specification generation system 100 includes a specification generation device 1 and a file server device 30. The specification generation device 1 and the file server device 30 are connected via a network, for example.

ファイルサーバ装置30は、例えば、記憶装置を備えたサーバ装置であり、仕様生成装置1の入力情報であるソースファイル及び設定ファイルと、仕様生成装置1の出力情報である設計書とを記憶する。ファイルサーバ装置30は、ソースファイル記憶部31と、設定ファイル記憶部32と、設計書記憶部33とを備えている。   The file server device 30 is, for example, a server device including a storage device, and stores a source file and a setting file that are input information of the specification generation device 1 and a design document that is output information of the specification generation device 1. The file server device 30 includes a source file storage unit 31, a setting file storage unit 32, and a design document storage unit 33.

ソースファイル記憶部31(ソース記憶部の一例)は、例えば、既存のシステムのプログラムのソースファイルであって、設計書を生成するソースファイルを記憶する。なお、ソースファイル記憶部31は、複数のソースファイルを予め記憶していてもよい。ソースファイル記憶部31は、例えば、図2に示すようなソースファイルを記憶する。   The source file storage unit 31 (an example of a source storage unit) stores, for example, a source file for generating a design document, which is a source file of an existing system program. Note that the source file storage unit 31 may store a plurality of source files in advance. The source file storage unit 31 stores, for example, a source file as shown in FIG.

図2は、本実施形態におけるソースファイル記憶部31のデータ例を示す図である。
この図に示す例では、購入金額を計算するプログラムのソースコード(SC1)を示している。ソースコードSC1において、処理の結果を格納する格納変数(第1の変数)が“PRICE”及び“ERR”であり、このプログラムは、購入数(“NUM”)、及び、商品がアルコール(“AFLG”)である場合に年齢が20歳以上であるか否かの入力チェックをコンピュータに実行させる。また、ソースコードSC1において、プログラムは、上述した入力チェックの条件を満たす場合に、合計金額を出力する業務処理をコンピュータに実行させる。このように、ソースコード(SC1)において、入力チェックに対応する入力チェック処理と、業務処理とが混在している。ここで、入力チェック処理とは、例えば、仕様上、入力された値が取り得る範囲に収まっているか否かをチェックする処理のことである。また、業務処理は、例えば、所定の目的(例えば、業務上の目的など)を達成するために、プログラムに実行させる処理のことである。
FIG. 2 is a diagram illustrating an example of data in the source file storage unit 31 in the present embodiment.
In the example shown in this figure, the source code (SC1) of the program for calculating the purchase price is shown. In the source code SC1, the storage variables (first variables) for storing the processing results are “PRICE” and “ERR”, and this program is the number of purchases (“NUM”) and the product is alcohol (“AFLG”). "), The computer is caused to perform an input check as to whether the age is over 20 years old. In the source code SC1, the program causes the computer to execute a business process for outputting the total amount when the above-described input check condition is satisfied. Thus, in the source code (SC1), the input check process corresponding to the input check and the business process are mixed. Here, the input check process is, for example, a process of checking whether or not an input value falls within a possible range in terms of specifications. The business process is, for example, a process executed by a program in order to achieve a predetermined purpose (for example, a business purpose).

図1の説明に戻り、設定ファイル記憶部32は、入力チェックの処理結果を格納するエラーコード格納変数(第2の変数)を設定する設定ファイルを記憶する。ここで、エラーコード格納変数は、例えば、ソースコードの内容を使用者が確認した上で、予め設定される。なお、エラーコード格納変数(第2の変数)は、格納変数(第1の変数)のうちの一部の変数であり、格納変数(第1の変数)には、エラーコード格納変数(第2の変数)が含まれる。設定ファイル記憶部32は、図3に示すように、エラーコード格納変数と、入力チェックの成功を意味する値とを関連付けて、設定ファイルとして記憶する。   Returning to the description of FIG. 1, the setting file storage unit 32 stores a setting file for setting an error code storage variable (second variable) for storing the processing result of the input check. Here, the error code storage variable is set in advance after the user confirms the contents of the source code, for example. The error code storage variable (second variable) is a part of the storage variable (first variable), and the storage variable (first variable) includes an error code storage variable (second variable). Variable). As illustrated in FIG. 3, the setting file storage unit 32 associates the error code storage variable and a value indicating the success of the input check and stores them as a setting file.

図3は、本実施形態における設定ファイル記憶部32のデータ例を示す図である。
この図に示す例では、設定ファイル(EV1)を示している。この例では、設定ファイル記憶部32は、エラーコード格納変数“ERR”と、入力チェックの成功を意味する値“00”とを関連付けて、設定ファイル(EV1)として記憶している。
FIG. 3 is a diagram illustrating an example of data in the setting file storage unit 32 in the present embodiment.
In the example shown in this figure, a setting file (EV1) is shown. In this example, the setting file storage unit 32 stores the error code storage variable “ERR” and the value “00” indicating the success of the input check in association with each other as a setting file (EV1).

再び、図1の説明に戻り、設計書記憶部33は、仕様生成装置1の出力情報(出力結果)である設計書を記憶する。なお、仕様生成装置1は、ソースコードから入力チェック設計書と、業務処理設計書とを生成するので、設計書記憶部33は、入力チェック設計書と、業務処理設計書とを記憶する。ここで、入力チェック設計書は、入力チェックに関する設計仕様を記述した設計書である。また、業務処理設計書は、業務処理に関する設計仕様を記述した設計書である。なお、複数のソースファイルを仕様生成装置1に入力した場合には、設計書記憶部33は、複数の入力チェック設計書と、複数の業務処理設計書とを記憶してもよい。ここで、図4及び図5を参照して、入力チェック設計書、及び業務処理設計書の一例について説明する。なお、図4及び図5に示す入力チェック設計書、及び業務処理設計書は、仕様生成装置1が上述した図2に示すソースコード(SC1)から生成した場合の一例である。   Returning to the description of FIG. 1 again, the design document storage unit 33 stores a design document that is output information (output result) of the specification generation device 1. Since the specification generation device 1 generates an input check design document and a business process design document from the source code, the design document storage unit 33 stores the input check design document and the business process design document. Here, the input check design document is a design document describing a design specification related to the input check. The business process design document is a design document describing design specifications related to business processes. When a plurality of source files are input to the specification generation device 1, the design document storage unit 33 may store a plurality of input check design documents and a plurality of business process design documents. Here, an example of the input check design document and the business process design document will be described with reference to FIGS. 4 and 5. The input check design document and the business process design document shown in FIGS. 4 and 5 are examples when the specification generation device 1 generates the source code (SC1) shown in FIG. 2 described above.

図4は、本実施形態における入力チェック設計書の一例を示す図である。
この図に示すように、入力チェック設計書は、例えば、「NO.」と、「入力チェック内容」と、「エラーコード」とを関連付けた情報を含んでいる。ここで、「NO.」は、入力チェック番号を示し、「入力チェック内容」は、入力チェックの内容であるチェック条件(論理式)を示している。また、「エラーコード」は、エラーコード格納変数の値を示している。なお、本実施形態の入力チェック設計書では、入力チェックが成功である場合の「入力チェック内容」及び「エラーコード」を含めないものとする。
図4に示す例では、例えば、「NO.」が“1”の入力チェックの仕様は、「入力チェック内容」が“NUM<1 ||NUM>99”であり、「エラーコード」が“E1”であることを示している。
FIG. 4 is a diagram showing an example of the input check design document in the present embodiment.
As shown in this figure, the input check design document includes, for example, information that associates “NO.”, “Input check content”, and “error code”. Here, “NO.” Indicates an input check number, and “input check content” indicates a check condition (logical expression) that is the content of the input check. “Error code” indicates the value of an error code storage variable. Note that the input check design document of this embodiment does not include “input check content” and “error code” when the input check is successful.
In the example shown in FIG. 4, for example, the specification of the input check with “NO” being “1” is “NUM <1 || NUM> 99” for “input check content” and “E1” for “error code”. ".

図5は、本実施形態における業務処理設計書の一例を示す図である。
この図に示すように、業務処理設計書は、例えば、「変数名」と、「更新内容」と、「条件」とを関連付けた情報を含んでいる。ここで、「変数名」は、処理の結果を格納する格納変数名を示し、「更新内容」は、当該変数に値として更新される内容を示している。また、「条件」は、当該変数を更新するための条件を示している。なお、本実施形態の業務処理設計書では、入力チェックが成功したことを前提としており、入力チェックが成功である場合の条件は、記載されないものとする。
図5に示す例では、例えば、「変数名」が“PRICE”の業務仕様は、「更新内容」が“PROD.PRICE*NUM”であり、「条件」が“常に成立”であることを示している。
FIG. 5 is a diagram showing an example of a business process design document in the present embodiment.
As shown in this figure, the business process design document includes, for example, information that associates “variable names”, “update contents”, and “conditions”. Here, “variable name” indicates the name of a storage variable that stores the processing result, and “update content” indicates content that is updated as a value of the variable. “Condition” indicates a condition for updating the variable. In the business process design document of this embodiment, it is assumed that the input check has been successful, and the conditions for the successful input check are not described.
In the example shown in FIG. 5, for example, a business specification whose “variable name” is “PRICE” indicates that “update content” is “PROD.PRICE * NUM” and “condition” is “always satisfied”. ing.

再び、図1の説明に戻り、仕様生成装置1は、記憶部10と、制御部20とを備えている。
記憶部10は、仕様生成装置1が利用する各種情報を記憶する。記憶部10は、例えば、中間データ記憶部11と、分割中間データ記憶部12と、簡素化中間データ記憶部13とを備えている。
Returning to the description of FIG. 1 again, the specification generation device 1 includes a storage unit 10 and a control unit 20.
The storage unit 10 stores various information used by the specification generation device 1. The storage unit 10 includes, for example, an intermediate data storage unit 11, a divided intermediate data storage unit 12, and a simplified intermediate data storage unit 13.

中間データ記憶部11は、後述する中間データ生成部21によって記号実行の技術を利用して生成された中間データ(中間デシジョンテーブルという場合がある)を記憶する。ここで、中間データは、図6に示すように、格納変数(第1の変数)と、入力変数で表現された論理式と、格納変数の値とを対応付けた情報を含んでいる。   The intermediate data storage unit 11 stores intermediate data (sometimes referred to as an intermediate decision table) generated by an intermediate data generation unit 21 described later using a symbol execution technique. Here, as shown in FIG. 6, the intermediate data includes information in which a storage variable (first variable), a logical expression expressed by an input variable, and a value of the storage variable are associated with each other.

図6は、本実施形態における中間データの一例を示す図である。
この図に示す例では、上述した図2に示すソースコード(SC1)に基づいて生成された中間データ(DT1)を示している。この例では、格納変数(第1の変数)が“PRICE”及び“ERR”であり、これらの変数それぞれについて、入力変数で表現された論理式と、格納変数の値とを対応付けている。
FIG. 6 is a diagram illustrating an example of intermediate data in the present embodiment.
In the example shown in this figure, intermediate data (DT1) generated based on the source code (SC1) shown in FIG. 2 described above is shown. In this example, the storage variables (first variables) are “PRICE” and “ERR”, and for each of these variables, the logical expression expressed by the input variable is associated with the value of the storage variable.

再び、図1の説明に戻り、分割中間データ記憶部12は、後述する分割処理部22によってエラーコード格納変数に基づいて分割(分離)された分割中間データを記憶する。なお、分割中間データには、入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとが含まれる。ここで、図7及び図8を参照して、入力中間データ、及び業務中間データの一例について説明する。なお、図7及び図8に示す入力中間データ、及び業務中間データは、上述した図6に示す中間データ(DT1)を分割した場合の一例である。   Returning to the description of FIG. 1 again, the divided intermediate data storage unit 12 stores the divided intermediate data divided (separated) based on the error code storage variable by the division processing unit 22 described later. Note that the divided intermediate data includes input intermediate data indicating a processing portion corresponding to the input check and business intermediate data indicating a business processing portion not including the processing portion corresponding to the input check. Here, an example of input intermediate data and business intermediate data will be described with reference to FIGS. 7 and 8. Note that the input intermediate data and business intermediate data shown in FIGS. 7 and 8 are examples when the intermediate data (DT1) shown in FIG. 6 is divided.

図7は、本実施形態における入力中間データの一例を示す図である。
この図において、入力中間データ(SDT1)は、上述した図6に示す中間データ(DT1)の入力チェックに対応する処理の部分を分割(分離)したデータである。この図に示すように、エラーコード格納変数(例えば、“ERR”)に対応する論理式及びエラーコード格納変数の値を含んでいる。
FIG. 7 is a diagram illustrating an example of the input intermediate data in the present embodiment.
In this figure, the input intermediate data (SDT1) is data obtained by dividing (separating) the processing portion corresponding to the input check of the intermediate data (DT1) shown in FIG. As shown in this figure, it includes a logical expression corresponding to an error code storage variable (for example, “ERR”) and the value of the error code storage variable.

図8は、本実施形態における業務中間データの一例を示す図である。
この図において、業務中間データ(SDT2)は、上述した図6に示す中間データ(DT1)の業務処理に対応する処理の部分を分割(分離)したデータである。この図に示すように、業務処理の結果を格納する格納変数(例えば、“PRICE”)に対応する論理式及び当該格納変数の値を含んでいる。
FIG. 8 is a diagram showing an example of business intermediate data in the present embodiment.
In this figure, business intermediate data (SDT2) is data obtained by dividing (separating) the processing portion corresponding to the business processing of the intermediate data (DT1) shown in FIG. As shown in this figure, a logical expression corresponding to a storage variable (for example, “PRICE”) that stores the result of the business process and the value of the storage variable are included.

再び、図1の説明に戻り、簡素化中間データ記憶部13は、後述する簡素化処理部23によって不要な論理式が削除されて簡素化された中間データを記憶する。なお、簡素化された中間データには、簡素化された入力中間データと、簡素化された業務中間データとが含まれる。ここで、図9及び図10を参照して、簡素化された入力中間データ、及び簡素化された業務中間データの一例について説明する。なお、中間データを簡素化する処理(簡素化処理)の詳細については、後述する。   Returning to the description of FIG. 1 again, the simplified intermediate data storage unit 13 stores the intermediate data simplified by deleting unnecessary logical expressions by the simplification processing unit 23 described later. The simplified intermediate data includes simplified input intermediate data and simplified business intermediate data. Here, an example of simplified input intermediate data and simplified business intermediate data will be described with reference to FIGS. 9 and 10. Details of the process for simplifying the intermediate data (simplification process) will be described later.

図9は、本実施形態における簡素化された入力中間データの一例を示す図である。
この図において、簡素化された入力中間データ(SDT3)は、上述した図7に示す入力中間データ(SDT1)を簡素化したデータである。この図に示すように、簡素化された入力中間データ(SDT3)は、後述する所定のアルゴリズムによって、不要な論理式が削除された入力中間データである。
FIG. 9 is a diagram illustrating an example of simplified input intermediate data in the present embodiment.
In this figure, simplified input intermediate data (SDT3) is data obtained by simplifying the input intermediate data (SDT1) shown in FIG. As shown in this figure, the simplified input intermediate data (SDT3) is input intermediate data from which unnecessary logical expressions are deleted by a predetermined algorithm described later.

図10は、本実施形態における簡素化された業務中間データの一例を示す図である。
この図において、簡素化された業務中間データ(SDT4)は、上述した図8に示す業務中間データ(SDT2)を簡素化したデータである。この図に示すように、簡素化された業務中間データ(SDT4)は、後述する所定のアルゴリズムによって、不要な論理式が削除された業務中間データである。
FIG. 10 is a diagram illustrating an example of simplified business intermediate data according to the present embodiment.
In this figure, simplified business intermediate data (SDT4) is data obtained by simplifying the business intermediate data (SDT2) shown in FIG. As shown in this figure, the simplified business intermediate data (SDT4) is business intermediate data from which unnecessary logical expressions are deleted by a predetermined algorithm described later.

再び、図1の説明に戻り、制御部20は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、仕様生成装置1を統括的に制御する。制御部20は、例えば、中間データ生成部21と、分割処理部22と、簡素化処理部23と、設計書生成部24とを備えている。   Returning to the description of FIG. 1 again, the control unit 20 is a processor including, for example, a CPU (Central Processing Unit) and the like, and comprehensively controls the specification generation device 1. The control unit 20 includes, for example, an intermediate data generation unit 21, a division processing unit 22, a simplification processing unit 23, and a design document generation unit 24.

中間データ生成部21は、ファイルサーバ装置30のソースファイル記憶部31からソースファイルに記述されているソースコードを取得する。中間データ生成部21は、取得したソースコードを構文解析し、記号実行の技術を利用した中間データを生成する。中間データ生成部21は、例えば、格納変数(第1の変数)と、入力変数で表現された論理式と、当該格納変数の値とを対応付けた中間データ(例えば、図6参照)を生成する。ここで、記号実行の技術とは、通常の具体的な値を変数に代入しながらプログラムを実行する代わりに、変数とこれに対応する制約条件(論理式)との対を用いて、制約条件(論理式)を更新しながらシミュレーションする技術のことである。   The intermediate data generation unit 21 acquires the source code described in the source file from the source file storage unit 31 of the file server device 30. The intermediate data generation unit 21 parses the acquired source code and generates intermediate data using a symbol execution technique. For example, the intermediate data generation unit 21 generates intermediate data (for example, see FIG. 6) in which a storage variable (first variable), a logical expression expressed by an input variable, and a value of the storage variable are associated with each other. To do. Here, the symbol execution technique refers to a constraint condition using a pair of a variable and a corresponding constraint condition (logical expression) instead of executing a program while substituting ordinary specific values for the variable. It is a technology that performs simulation while updating (logical formula).

中間データ生成部21は、記号実行の技術を利用することにより、個別の値ではなく変数が取り得る全ての値の範囲を、制約条件(論理式)を通じて一括して取り扱うことができるとともに、中間データにおいて、処理の結果を格納する格納変数以外の中間変数を削除することができる。
また、中間データ生成部21は、構文解析部211と、記号実行部212とを備えている。
By using symbol execution technology, the intermediate data generation unit 21 can handle all ranges of values that can be taken by variables, not individual values, collectively through constraint conditions (logical expressions). In the data, intermediate variables other than the storage variable for storing the processing result can be deleted.
The intermediate data generation unit 21 includes a syntax analysis unit 211 and a symbol execution unit 212.

構文解析部211は、ソースファイル記憶部31から取得したソースコードを構文解析する。
記号実行部212は、構文解析部211が構文解析した解析結果に基づいて、記号実行の技術を利用して、上述した図6に示すような中間データを生成する。記号実行部212は、生成した中間データを中間データ記憶部11に記憶させる。
The syntax analysis unit 211 performs syntax analysis on the source code acquired from the source file storage unit 31.
The symbol execution unit 212 generates the intermediate data as shown in FIG. 6 described above using a symbol execution technique based on the analysis result analyzed by the syntax analysis unit 211. The symbol execution unit 212 stores the generated intermediate data in the intermediate data storage unit 11.

分割処理部22は、予め指定されたエラーコード格納変数に基づいて、上述した中間データを、入力中間データと、業務中間データとに分割する。分割処理部22は、例えば、ファイルサーバ装置30の設定ファイル記憶部32から設定ファイル(例えば、図3参照)を取得する。分割処理部22は、取得した設定ファイルにより指定されたエラーコード格納変数に基づいて、中間データ記憶部11が記憶する中間データを、上述した図7に示すような入力中間データと、上述した図8に示すような業務中間データとに分割(分離)する。すなわち、分割処理部22は、例えば、中間データからエラーコード格納変数を含む部分を抽出して、入力中間データとして分離する。また、分割処理部22は、例えば、中間データからエラーコード格納変数を含まない部分を抽出して、業務中間データとして分離する。分割処理部22は、分割(分離)した入力中間データと、業務中間データとを分割中間データ記憶部12に記憶させる。   The division processing unit 22 divides the above-described intermediate data into input intermediate data and business intermediate data based on an error code storage variable designated in advance. For example, the division processing unit 22 acquires a setting file (for example, see FIG. 3) from the setting file storage unit 32 of the file server device 30. The division processing unit 22 converts the intermediate data stored in the intermediate data storage unit 11 based on the error code storage variable specified by the acquired setting file into the input intermediate data as shown in FIG. The data is divided (separated) into business intermediate data as shown in FIG. That is, for example, the division processing unit 22 extracts a portion including the error code storage variable from the intermediate data and separates it as input intermediate data. For example, the division processing unit 22 extracts a portion that does not include the error code storage variable from the intermediate data, and separates it as business intermediate data. The division processing unit 22 stores the divided (separated) input intermediate data and business intermediate data in the divided intermediate data storage unit 12.

簡素化処理部23は、入力中間データに含まれるエラーコード格納変数の値のうち、入力チェックが成功である場合のエラーコード格納変数の値に対応する論理式に基づいて、業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する。また、簡素化処理部23は、予め定められた所定のアルゴリズムに基づいて、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。
簡素化処理部23は、入力仕様生成部231と、業務仕様生成部232とを備えている。
The simplification processing unit 23 is unnecessary from the business intermediate data based on the logical expression corresponding to the value of the error code storage variable when the input check is successful among the values of the error code storage variable included in the input intermediate data. Simple business intermediate data is generated by deleting simple logical expressions. In addition, the simplification processing unit 23 deletes unnecessary logical expressions from the input intermediate data based on a predetermined algorithm, and generates simplified input intermediate data.
The simplification processing unit 23 includes an input specification generation unit 231 and a business specification generation unit 232.

入力仕様生成部231は、予め定められた所定のアルゴリズムに基づいて、簡素化された入力中間データを生成する。すなわち、入力仕様生成部231は、例えば、以下の2つの手法を利用して、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。   The input specification generation unit 231 generates simplified input intermediate data based on a predetermined algorithm. That is, the input specification generation unit 231 deletes unnecessary logical expressions from the input intermediate data, for example, using the following two methods, and generates simplified input intermediate data.

(第1の手法)
入力仕様生成部231は、恒偽条件となる論理式(例えば、“X==1 かつ X==2”など)に基づいて、入力中間データに含まれる冗長な論理式を削除する。例えば、恒偽条件となる論理式“X==1 かつ X==2”に注目した場合、恒偽条件となる論理式のうちの1つの条件が否定(NOT)となる論理式が“X==1 かつ X!=2”において、“X!=2”は冗長の論理式である。この場合、入力仕様生成部231は、冗長な論理式“X!=2”を削除して、“X==1”とする簡素化処理を実行する。
なお、恒偽条件となる論理式は、例えば、上述した記号実行部212が実行する処理の際に抽出されるものとする。入力仕様生成部231は、この記号実行部212によって抽出された恒偽条件となる論理式のうちの1つの条件が否定(NOT)となる論理式を、例えば、入力中間データから抽出する。入力仕様生成部231は、当該論理式における冗長な論理式の部分を削除する。
(First method)
The input specification generation unit 231 deletes redundant logical expressions included in the input intermediate data based on logical expressions (for example, “X == 1 and X == 2”, etc.) that are false conditions. For example, when attention is paid to a logical expression “X == 1 and X == 2” that is a false condition, a logical expression that is negative (NOT) of one of the logical expressions that are false conditions is “X” == 1 and X! = 2 ”,“ X! = 2 ”is a redundant logical expression. In this case, the input specification generation unit 231 executes a simplification process by deleting the redundant logical expression “X! = 2” and setting “X == 1”.
It is assumed that the logical expression serving as the false condition is extracted, for example, in the process executed by the symbol execution unit 212 described above. The input specification generation unit 231 extracts a logical expression in which one of the logical expressions that are the false conditions extracted by the symbol execution unit 212 is negative (NOT), for example, from the input intermediate data. The input specification generation unit 231 deletes a redundant logical expression part in the logical expression.

(第2の手法)
入力仕様生成部231は、簡素化処理部23は、エラーコード格納変数の値の記載順序に基づいて、既に記載済み論理式を削除する。第2の手法は、記載順序に注目し、既に記載(登場)したチェック条件をチェック済み(記載済み)として削除する手法である。例えば、入力チェックの順序が以下のような場合を考える。
(Second method)
In the input specification generation unit 231, the simplification processing unit 23 deletes the already described logical expression based on the description order of the value of the error code storage variable. The second method is a method of paying attention to the description order and deleting check conditions that have already been described (appeared) as checked (described). For example, consider the case where the order of input checks is as follows.

(1)“X!=1 かつ X!=2”ならば、エラーコード格納変数“ERR”が“E3”
(2)“(X==1 または X==2) かつ P==1”ならば、エラーコード格納変数“ERR”が“E2”
(1) If “X! = 1 and X! = 2”, the error code storage variable “ERR” is “E3”.
(2) If “(X == 1 or X == 2) and P == 1”, the error code storage variable “ERR” is “E2”.

この場合、(2)の論理式“(X==1 または X==2)”は、既に記載済み論理式であるので、入力仕様生成部231は、(2)の論理式“(X==1 または X==2)”を削除する。このように、入力仕様生成部231は、既に記載された論理式を論理反転した論理式を既に記載済み論理式として削除する。すなわち、入力仕様生成部231は、エラーコード格納変数の値の記載順序により既に記載された論理式に基づいて、記載不要な論理式を削除する。
なお、本実施形態では、入力仕様生成部231は、決定木に基づいて、(第2の手法)による簡素化処理を実行する。この本実施形態による簡素化処理の詳細については後述する。
In this case, since the logical expression “(X == 1 or X == 2)” in (2) is already described, the input specification generation unit 231 uses the logical expression “(X = = 1 or X == 2) "is deleted. In this way, the input specification generation unit 231 deletes a logical expression obtained by logically inverting a logical expression that has already been described as a logical expression that has already been described. That is, the input specification generation unit 231 deletes a logical expression that does not need to be described based on the logical expression already described according to the description order of the value of the error code storage variable.
In the present embodiment, the input specification generation unit 231 executes the simplification process by the (second method) based on the decision tree. Details of the simplification process according to this embodiment will be described later.

このように、入力仕様生成部231は、上述した(第1の手法)又は(第2の手法)を利用して、入力中間データから不要な論理式を削除して、図9に示すような簡素化された入力中間データを生成する。ここで、入力仕様生成部231は、上述した(第1の手法)及び(第2の手法)のうちのいずれか一方を利用して、入力中間データから不要な論理式を削除してもよいし、(第1の手法)及び(第2の手法)の両方を利用して、入力中間データから不要な論理式を削除してもよい。入力仕様生成部231は、生成した簡素化された入力中間データを簡素化中間データ記憶部13に記憶させる。   In this way, the input specification generation unit 231 uses the above-described (first method) or (second method) to delete unnecessary logical expressions from the input intermediate data, as shown in FIG. Generate simplified input intermediate data. Here, the input specification generation unit 231 may delete an unnecessary logical expression from the input intermediate data by using any one of the above-described (first method) and (second method). However, an unnecessary logical expression may be deleted from the input intermediate data by using both (first method) and (second method). The input specification generation unit 231 stores the generated simplified input intermediate data in the simplified intermediate data storage unit 13.

業務仕様生成部232は、上述した入力チェックが成功である場合のエラーコード格納変数の値に対応する論理式に基づいて、業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する。   Based on the logical expression corresponding to the value of the error code storage variable when the input check described above is successful, the business specification generation unit 232 deletes unnecessary logical expressions from the intermediate business data, thereby simplifying the business Generate intermediate data.

例えば、図7に示す入力中間データの例では、入力チェックが成功である場合のエラーコード格納変数の値は、“ERR”が“00”である場合である。そして、この場合、当該エラーコード格納変数の値に対応する論理式は、“(AGE>=20 || PROD.AFLG!=1) && NUM>=1 && NUM<=99”である。業務仕様生成部232は、例えば、上述した(第2の手法)を利用して、論理式“(AGE>=20 || PROD.AFLG!=1) && NUM>=1 && NUM<=99”に基づいて、不要な論理式として削除する。業務仕様生成部232は、まず、エラーコード格納変数“ERR”以外の格納変数に相当する格納変数“PRICE”の決定木を構築する。そして、業務仕様生成部232は、論理式“(AGE>=20 || PROD.AFLG!=1) && NUM>=1 && NUM<=99”の否定(NOT)となる論理式“NUM<1 || NUM>99 || (AGE<20 && PROD.AFLG=1)”を生成する。業務仕様生成部232は、構築した決定木と、入力チェックが成功である場合の論理式を否定(NOT)となる論理式とを利用して、業務中間データのうちから不要な論理式を削除する。   For example, in the example of the input intermediate data shown in FIG. 7, the value of the error code storage variable when the input check is successful is when “ERR” is “00”. In this case, the logical expression corresponding to the value of the error code storage variable is “(AGE> = 20 || PROD.AFLG! = 1) && NUM> = 1 && NUM <= 99”. The business specification generation unit 232 uses, for example, the above-described (second method) to calculate the logical expression “(AGE> = 20 || PROD.AFLG! = 1) && NUM> = 1 and && NUM <= 99”. Based on, delete as unnecessary logical expression. The business specification generation unit 232 first constructs a decision tree of a storage variable “PRICE” corresponding to a storage variable other than the error code storage variable “ERR”. The business specification generation unit 232 then creates a logical expression “NUM <1” that is a negative (NOT) of the logical expression “(AGE> = 20 || PROD.AFLG! = 1) && NUM> = 1 && NUM <= 99”. || NUM> 99 || (AGE <20 && PROD.AFLG = 1) ". The business specification generation unit 232 deletes unnecessary logical expressions from the business intermediate data by using the constructed decision tree and a logical expression that is negative (NOT) when the input check is successful. To do.

その結果、業務仕様生成部232は、図10に示すような簡素化された業務中間データを生成する。なお、業務仕様生成部232は、この業務中間データの簡素化処理において、決定木に基づいて、業務中間データを簡素化する処理の詳細については後述する。業務仕様生成部232は、生成した簡素化された業務中間データを簡素化中間データ記憶部13に記憶させる。
なお、業務仕様生成部232は、業務中間データの簡素化処理において、上述した(第2の手法)のみではなく、(第1の手法)を利用して、業務中間データから不要な論理式を削除してもよい。すなわち、業務仕様生成部232は、業務中間データの簡素化処理において、上述した(第1の手法)及び(第2の手法)のうちのいずれか一方を利用して、業務中間データから不要な論理式を削除してもよいし、(第1の手法)及び(第2の手法)の両方を利用して、業務中間データから不要な論理式を削除してもよい。
As a result, the business specification generation unit 232 generates simplified business intermediate data as shown in FIG. Note that, in the simplification process of the business intermediate data, the business specification generation unit 232 details the process of simplifying the business intermediate data based on the decision tree. The business specification generation unit 232 stores the generated simplified business intermediate data in the simplified intermediate data storage unit 13.
The business specification generation unit 232 uses not only the (second method) described above but also the (first method) in the simplification processing of the business intermediate data, and uses the (first method) to generate unnecessary logical expressions from the business intermediate data. It may be deleted. In other words, the business specification generation unit 232 uses one of the above-described (first technique) and (second technique) in the simplification process of the business intermediate data, and is unnecessary from the business intermediate data. The logical expressions may be deleted, or unnecessary logical expressions may be deleted from the business intermediate data by using both (first method) and (second method).

設計書生成部24は、簡素化された入力中間データに基づいて、図4に示すような入力チェック設計書を生成する。また、設計書生成部24は、簡素化された業務中間データに基づいて、図5に示すような業務処理設計書を生成する。設計書生成部24は、生成した入力チェック設計書及び業務処理設計書をファイルサーバ装置30に出力し、入力チェック設計書及び業務処理設計書を設計書記憶部33に記憶させる。また、設計書生成部24は、入力仕様整形部241と、業務仕様整形部242とを備えている。   The design document generator 24 generates an input check design document as shown in FIG. 4 based on the simplified input intermediate data. Further, the design document generation unit 24 generates a business process design document as shown in FIG. 5 based on the simplified business intermediate data. The design document generation unit 24 outputs the generated input check design document and business process design document to the file server device 30, and stores the input check design document and business process design document in the design document storage unit 33. The design document generation unit 24 includes an input specification shaping unit 241 and a business specification shaping unit 242.

入力仕様整形部241は、簡素化された入力中間データに基づいて、入力チェックに関する設計仕様を記述した入力チェック設計書を生成する。
なお、簡素化された入力中間データは、分割処理部22によって分割された入力中間データに基づいて生成されたものであるため、入力仕様整形部241は、分割処理部22によって分割された入力中間データに基づいて入力チェック設計書を生成するとしてもよい。
Based on the simplified input intermediate data, the input specification shaping unit 241 generates an input check design document describing a design specification related to input check.
Since the simplified input intermediate data is generated based on the input intermediate data divided by the division processing unit 22, the input specification shaping unit 241 has the input intermediate data divided by the division processing unit 22. An input check design document may be generated based on the data.

業務仕様整形部242は、簡素化された業務中間データに基づいて、業務処理に関する設計仕様を記述した業務処理設計書を生成する。
なお、簡素化された業務中間データは、分割処理部22によって分割された業務中間データに基づいて生成されたものであるため、業務仕様整形部242は、分割処理部22によって分割された業務中間データに基づいて業務処理設計書を生成するとしてもよい。
Based on the simplified business intermediate data, the business specification shaping unit 242 generates a business process design document that describes design specifications related to business processes.
Since the simplified business intermediate data is generated based on the business intermediate data divided by the division processing unit 22, the business specification shaping unit 242 has the business intermediate data divided by the division processing unit 22. A business process design document may be generated based on the data.

次に、図面を参照して、本実施形態による仕様生成装置1の動作について説明する。
図11は、本実施形態による仕様生成装置1の動作の一例を示すフローチャートである。
この図において、まず、仕様生成装置1の制御部20は、ソースファイルを取得する(ステップS101)。すなわち、制御部20の中間データ生成部21は、ファイルサーバ装置30のソースファイル記憶部31からソースファイルに記述されているソースコードを取得する。
Next, the operation of the specification generation device 1 according to the present embodiment will be described with reference to the drawings.
FIG. 11 is a flowchart illustrating an example of the operation of the specification generation device 1 according to the present embodiment.
In this figure, first, the control unit 20 of the specification generation apparatus 1 acquires a source file (step S101). That is, the intermediate data generation unit 21 of the control unit 20 acquires the source code described in the source file from the source file storage unit 31 of the file server device 30.

次に、中間データ生成部21の構文解析部211は、ソースファイル記憶部31から取得したソースコードを構文解析する(ステップS102)。
次に、中間データ生成部21の記号実行部212は、記号実行の技術を利用して中間データを生成する(ステップS103)。すなわち、記号実行部212は、構文解析部211が構文解析した解析結果に基づいて、記号実行の技術を利用して、格納変数と、入力変数で表現された論理式と、格納変数の値とを対応付けた中間データを生成する。記号実行部212は、生成した中間データを中間データ記憶部11に記憶させる。
Next, the syntax analysis unit 211 of the intermediate data generation unit 21 performs syntax analysis on the source code acquired from the source file storage unit 31 (step S102).
Next, the symbol execution unit 212 of the intermediate data generation unit 21 generates intermediate data using a symbol execution technique (step S103). That is, the symbol execution unit 212 uses a symbol execution technique based on the analysis result obtained by the syntax analysis unit 211 to analyze the storage variable, the logical expression expressed by the input variable, the value of the storage variable, Intermediate data in which is associated with is generated. The symbol execution unit 212 stores the generated intermediate data in the intermediate data storage unit 11.

次に、分割処理部22は、入力チェック用の変数に基づいて、中間データを分割する(ステップS104)。すなわち、分割処理部22は、ファイルサーバ装置30の設定ファイル記憶部32から取得した設定ファイルにより指定されたエラーコード格納変数に基づいて、中間データ記憶部11が記憶する中間データを、入力中間データと、業務中間データとに分割する。分割処理部22は、分割した入力中間データと、業務中間データとを分割中間データ記憶部12に記憶させる。   Next, the division processing unit 22 divides the intermediate data based on the input check variable (step S104). That is, the division processing unit 22 uses the intermediate data stored in the intermediate data storage unit 11 as input intermediate data based on the error code storage variable specified by the setting file acquired from the setting file storage unit 32 of the file server device 30. And business intermediate data. The division processing unit 22 causes the divided intermediate data storage unit 12 to store the divided input intermediate data and business intermediate data.

また、簡素化処理部23の業務仕様生成部232は、入力チェックが成功である場合の論理式に基づいて、業務中間データを簡素化する(ステップS105)。業務仕様生成部232は、中間データ記憶部11から業務中間データを取得し、上述した入力チェックが成功である場合のエラーコード格納変数の値に対応する論理式に基づいて、業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する。業務仕様生成部232は、例えば、(第1の手法)及び(第2の手法)を利用して、業務中間データから不要な論理式を削除する。業務仕様生成部232は、生成した簡素化された業務中間データを簡素化中間データ記憶部13に記憶させる。   Further, the business specification generation unit 232 of the simplification processing unit 23 simplifies the business intermediate data based on the logical expression when the input check is successful (step S105). The business specification generation unit 232 acquires the business intermediate data from the intermediate data storage unit 11 and is unnecessary from the business intermediate data based on the logical expression corresponding to the value of the error code storage variable when the input check described above is successful. Simple business intermediate data is generated by deleting simple logical expressions. The business specification generation unit 232 deletes unnecessary logical expressions from the business intermediate data by using, for example, (first method) and (second method). The business specification generation unit 232 stores the generated simplified business intermediate data in the simplified intermediate data storage unit 13.

次に、簡素化処理部23の入力仕様生成部231は、入力中間データを簡素化する(ステップS106)。入力仕様生成部231は、中間データ記憶部11から入力中間データを取得し、例えば、上述した(第1の手法)及び(第2の手法)を利用して、入力中間データから不要な論理式を削除する。入力仕様生成部231は、入力中間データから不要な論理式を削除して生成した簡素化された入力中間データを簡素化中間データ記憶部13に記憶させる。   Next, the input specification generation unit 231 of the simplification processing unit 23 simplifies the input intermediate data (step S106). The input specification generation unit 231 acquires the input intermediate data from the intermediate data storage unit 11, and uses, for example, the above-described (first method) and (second method) to generate unnecessary logical expressions from the input intermediate data. Is deleted. The input specification generation unit 231 stores the simplified input intermediate data generated by deleting unnecessary logical expressions from the input intermediate data in the simplified intermediate data storage unit 13.

次に、設計書生成部24は、簡素化された入力中間データ及び業務中間データを仕様整形して入力チェック設計書及び業務処理設計書を生成する(ステップS107)。すなわち、設計書生成部24の入力仕様整形部241は、簡素化中間データ記憶部13が記憶する簡素化された入力中間データに基づいて、入力チェック設計書を生成する。また、業務仕様整形部242は、簡素化中間データ記憶部13が記憶する簡素化された業務中間データに基づいて、業務処理設計書を生成する。   Next, the design document generating unit 24 formats the simplified input intermediate data and business intermediate data to generate an input check design document and a business process design document (step S107). That is, the input specification shaping unit 241 of the design document generation unit 24 generates an input check design document based on the simplified input intermediate data stored in the simplified intermediate data storage unit 13. Further, the business specification shaping unit 242 generates a business process design document based on the simplified business intermediate data stored in the simplified intermediate data storage unit 13.

次に、設計書生成部24は、入力チェック設計書及び業務処理設計書を出力する(ステップS108)。すなわち、設計書生成部24は、生成した入力チェック設計書及び業務処理設計書をファイルサーバ装置30に出力し、入力チェック設計書及び業務処理設計書を設計書記憶部33に記憶させる。ステップS108の処理後に、設計書生成部24は、仕様生成装置1の制御部20は、処理を終了する。   Next, the design document generation unit 24 outputs an input check design document and a business process design document (step S108). That is, the design document generation unit 24 outputs the generated input check design document and business process design document to the file server device 30, and stores the input check design document and business process design document in the design document storage unit 33. After the process of step S108, the design document generator 24 ends the process of the controller 20 of the specification generator 1.

なお、上述した図11に示す例では、ステップS101からステップS103までの処理が、中間データ生成ステップに対応する。また、ステップS104の処理が、分割処理ステップに対応する。ステップS105及びステップS106の処理が、簡素化処理ステップに対応する。また、ステップS107及びステップS108の処理が、設計書生成ステップに対応する。
また、上述した例は、仕様生成装置1が、1つのソースファイルに対して入力チェック設計書及び業務処理設計書を生成する場合の一例を説明したが、複数のソースファイルに対して入力チェック設計書及び業務処理設計書を生成してもよい。この場合には、仕様生成装置1は、上述したステップS101からステップS108までの処理をソースファイルの数に応じて、繰り返し実行する。
In the example shown in FIG. 11 described above, the processing from step S101 to step S103 corresponds to the intermediate data generation step. Further, the processing in step S104 corresponds to a division processing step. The processing of step S105 and step S106 corresponds to a simplification processing step. Moreover, the process of step S107 and step S108 corresponds to a design document generation step.
Moreover, although the example mentioned above demonstrated an example in case the specification production | generation apparatus 1 produces | generates the input check design document and the business process design document with respect to one source file, the input check design with respect to several source files is demonstrated. Document and business process design document may be generated. In this case, the specification generation apparatus 1 repeatedly executes the above-described processing from step S101 to step S108 according to the number of source files.

次に、図12を参照して、本実施形態における入力中間データの簡素化処理の一例について説明する。
図12は、本実施形態における入力中間データの簡素化処理の一例を示す図である。この図を参照して、上述した(第2の手法)による入力中間データの簡素化処理について説明する。
Next, an example of input intermediate data simplification processing in the present embodiment will be described with reference to FIG.
FIG. 12 is a diagram illustrating an example of simplification processing of input intermediate data according to the present embodiment. With reference to this figure, the simplification process of the input intermediate data by the above (second method) will be described.

図12に示すように簡素化処理前の入力中間データ(SDT5)は、エラーコード格納変数の値が“E1”→“E2”→“E3”の順に記述されている。この場合、“E1”における「XXコード==“100”」の論理式が、既に記載済みの論理式に相当するので、論理式LG1が削除対象(記載不要な論理式)となる。また、“E2”における「A−DATE<B−DATE」の論理式が、既に記載済みの論理式に相当するので、論理式LG2が削除対象となる。
そのため、入力仕様生成部231は、論理式LG1及び論理式LG2を削除して、簡素化された入力中間データ(SDT6)を生成する。
As shown in FIG. 12, in the input intermediate data (SDT5) before the simplification process, the value of the error code storage variable is described in the order of “E1” → “E2” → “E3”. In this case, since the logical expression “XX code ==“ 100 ”” in “E1” corresponds to the logical expression already described, the logical expression LG1 becomes a deletion target (logical expression that does not need to be described). Further, since the logical expression “A-DATE <B-DATE” in “E2” corresponds to the logical expression already described, the logical expression LG2 is a deletion target.
Therefore, the input specification generation unit 231 deletes the logical expressions LG1 and LG2, and generates simplified input intermediate data (SDT6).

なお、上述した(第2の手法)では、エラーコード格納変数の値の記載順序によって、削除可能な論理式が変化する。入力仕様生成部231は、エラーコード格納変数の値の記載順序を変更した複数のパターンにおいて、記載不要な論理式を削除し、複数のパターンのうちで最も簡素化可能なパターンを選択する。ここでは、図13を参照して、入力仕様生成部231による順序評価の一例について説明する。   In the above (second method), the logical expression that can be deleted changes depending on the order in which the value of the error code storage variable is written. The input specification generation unit 231 deletes a logical expression that need not be described in a plurality of patterns in which the description order of the value of the error code storage variable is changed, and selects a pattern that can be simplified most among the plurality of patterns. Here, an example of order evaluation by the input specification generation unit 231 will be described with reference to FIG.

図13は、本実施形態の簡素化処理における順序評価の一例を示す図である。
この図において、入力中間データ(SDT1)は、簡素化処理前の入力中間データであり、図7に示す入力中間データと同様の例である。また、評価結果TC1は、「順序1」として、“E1”→“E2”→“0”の順の記述したバイの評価結果を示し、評価結果TC2は、「順序2」として、“E2”→“E1”→“0”の順の記述したバイの評価結果を示している。
FIG. 13 is a diagram illustrating an example of order evaluation in the simplification process of the present embodiment.
In this figure, input intermediate data (SDT1) is input intermediate data before simplification processing, and is an example similar to the input intermediate data shown in FIG. The evaluation result TC1 indicates a buy evaluation result described in the order of “E1” → “E2” → “0” as “order 1”, and the evaluation result TC2 indicates “E2” as “order 2”. The buy evaluation results described in the order of “E1” → “0” are shown.

図13に示す例では、「順序1」による評価結果TC1は、入力中間データ(SDT1)の論理式の数が4個に簡素化されることを示し、「順序2」による評価結果TC2は、入力中間データ(SDT1)の論理式の数が6個のままであることを示している。この場合、入力仕様生成部231は、「順序1」を選択する。
なお、入力仕様生成部231は、全ての順序の組み合わせについて、上述のような評価を実行してもよいし、例えば、遺伝的アルゴリズムなどの現実的な組み合わせを生成する最適化手法を利用してもよい。
In the example illustrated in FIG. 13, the evaluation result TC1 based on “order 1” indicates that the number of logical expressions of the input intermediate data (SDT1) is simplified to four, and the evaluation result TC2 based on “order 2” is It shows that the number of logical expressions of the input intermediate data (SDT1) remains six. In this case, the input specification generation unit 231 selects “order 1”.
Note that the input specification generation unit 231 may perform the above-described evaluation for all combinations of orders, for example, using an optimization method that generates a realistic combination such as a genetic algorithm. Also good.

次に、図14を参照して、入力仕様生成部231が、決定木に基づいて、(第2の手法)による簡素化処理を実行する場合の一例について詳細に説明する。
図14は、本実施形態における決定木を利用した簡素化処理の一例を示す図である。
ここでは、図14(a)に示す「元の論理式」を「チェック済み条件」に基づいて簡素化する場合の例である。この場合、入力仕様生成部231は、まず、図14(b)に示すように、「元の論理式」の決定木を構築する。なお、この図の決定木において、実線が“True”(真)を示し、破線が“False”(偽)を示している。
Next, with reference to FIG. 14, an example in which the input specification generation unit 231 executes the simplification process by the (second method) based on the decision tree will be described in detail.
FIG. 14 is a diagram illustrating an example of a simplification process using a decision tree in the present embodiment.
In this example, the “original logical expression” shown in FIG. 14A is simplified based on the “checked condition”. In this case, the input specification generation unit 231 first constructs a “original logical expression” decision tree as shown in FIG. In the decision tree of this figure, the solid line indicates “True” (true) and the broken line indicates “False” (false).

次に、入力仕様生成部231は、図14(c)に示すように決定木の「チェック済み条件」の箇所に、記号“⊥”(「何でも良い」を意味する記号)を付与する。
次に、入力仕様生成部231は、図14(d)に示すように決定木を記号“⊥”から遡って通過したノード(○印の部分)を削除する。ここに示す例では、論理式“P==1”に関するノードが残る。その結果、入力仕様生成部231は、図14(e)に示すように、「P==1ならば“E2”」とする簡素化された入力中間データを生成する。
このように、入力仕様生成部231は、論理式に基づいて構築された決定木に基づいて、記載済み論理式を削除する。
Next, the input specification generation unit 231 assigns the symbol “⊥” (a symbol meaning “anything”) to the “checked condition” portion of the decision tree as illustrated in FIG.
Next, as shown in FIG. 14D, the input specification generation unit 231 deletes a node (a circled portion) that has passed through the decision tree retroactively from the symbol “⊥”. In the example shown here, the node relating to the logical expression “P == 1” remains. As a result, as shown in FIG. 14E, the input specification generation unit 231 generates simplified input intermediate data “E2” if P == 1.
As described above, the input specification generation unit 231 deletes the described logical expression based on the decision tree constructed based on the logical expression.

<第1の変形例>
次に、図15〜図18を参照して、本実施形態の変形例について説明する。
本実施形態において、仕様生成装置1が、上述した図5に示すような業務処理設計書を生成する例を説明したが、図15に示す変形例のように、エラー時の仕様を付与するようにしてもよい。
<First Modification>
Next, a modification of the present embodiment will be described with reference to FIGS.
In the present embodiment, the example in which the specification generation device 1 generates the business process design document as illustrated in FIG. 5 described above has been described. However, as in the modification illustrated in FIG. It may be.

図15は、本実施形態の変形例における業務処理設計書の一例を示す図である。
この図に示すように、業務処理設計書は、例えば、「変数名」と、「更新内容」と、「条件」と、「エラー時」とを関連付けた情報を含んでいる。ここで、「エラー時」は、当該変数のエラー時の値を示している。
図15に示す例では、例えば、「変数名」が“PRICE”の業務仕様は、「更新内容」が“PROD.PRICE*NUM”であり、「エラー時」が“0”であることを示している。
FIG. 15 is a diagram illustrating an example of a business process design document according to a modification of the present embodiment.
As shown in this figure, the business process design document includes, for example, information that associates “variable names”, “update contents”, “conditions”, and “when errors”. Here, “in error” indicates the value of the variable in error.
In the example illustrated in FIG. 15, for example, a business specification whose “variable name” is “PRICE” indicates that “update contents” is “PROD.PRICE * NUM” and “at error” is “0”. ing.

図16〜図18は、図15に示す業務処理設計書を生成するために、業務仕様生成部232が、上述した図7及び図8に示す入力中間データ(SDT1)及び業務中間データ(SDT2)を簡素化する一例を説明する。
図16〜図18は、本実施形態の変形例における決定木を利用した業務中間データの簡素化処理の一例を説明する図である。
16 to 18, the business specification generation unit 232 generates the business process design document shown in FIG. 15 by the input intermediate data (SDT1) and business intermediate data (SDT2) shown in FIGS. An example of simplifying will be described.
16 to 18 are diagrams for explaining an example of the simplification process of the business intermediate data using the decision tree in the modification of the present embodiment.

図16(a)において、入力中間データ(SDT1)及び業務中間データ(SDT2)は、上述した図7及び図8と同様のものであり、「設定ファイル」は、図3に示す設定ファイル(EV1)と同様のものである。また、この例では、論理式(LG3)は、入力チェックが成功である場合の論理式である。
業務仕様生成部232は、まず、図16(a)に示す業務中間データ(SDT2)に基づいて、図16(b)の示すように「変数PRICEの決定木」を構築する。また、業務仕様生成部232は、図16(b)に示すように、論理式(LG3)の否定(NOT)となる論理式(LG4)を生成する。
In FIG. 16A, the input intermediate data (SDT1) and the business intermediate data (SDT2) are the same as those in FIGS. 7 and 8, and the “setting file” is the setting file (EV1) shown in FIG. ). In this example, the logical expression (LG3) is a logical expression when the input check is successful.
The business specification generation unit 232 first constructs a “variable PRICE decision tree” as shown in FIG. 16B based on the business intermediate data (SDT2) shown in FIG. Further, as shown in FIG. 16B, the business specification generation unit 232 generates a logical expression (LG4) that is negative (NOT) of the logical expression (LG3).

次に、業務仕様生成部232は、図17(a)に示すように、論理式(LG4)に基づいて、決定木に記号“⊥”を付与する。業務仕様生成部232は、決定木を記号“⊥”から遡って通過したノードを削除する。その結果、図17(b)に示すように、全てのノードが削除されて、業務仕様生成部232は、変数“PRICE”が常に“PROD.PRICE*NUM”となるという簡素化された業務中間データを生成する。
また、業務仕様整形部242は、この簡素化された業務中間データに基づいて、図17(c)に示す業務処理設計書を生成する。
Next, as illustrated in FIG. 17A, the business specification generation unit 232 assigns the symbol “⊥” to the decision tree based on the logical expression (LG4). The business specification generation unit 232 deletes a node that has passed through the decision tree retroactively from the symbol “⊥”. As a result, as shown in FIG. 17B, all the nodes are deleted, and the business specification generation unit 232 is a simplified business intermediate in which the variable “PRICE” is always “PROD.PRICE * NUM”. Generate data.
Further, the business specification shaping unit 242 generates a business process design document shown in FIG. 17C based on the simplified business intermediate data.

また、エラー時の仕様を付与するために、業務仕様生成部232は、図18(a)に示すように、論理式(LG4)の否定(NOT)となる論理式(LG3)に基づいて、決定木に記号“⊥”を付与する。業務仕様生成部232は、決定木を記号“⊥”から遡って通過したノードを削除する。その結果、図18(b)に示すように、全てのノードが削除されて、業務仕様生成部232は、変数“PRICE”が常に“0”となるという簡素化された業務中間データを生成する。
また、業務仕様整形部242は、この簡素化された業務中間データに基づいて、図18(c)に示す業務処理設計書を生成する。
このようにして、仕様生成装置1は、図15に示すエラー時の仕様を付与した業務処理設計書を生成する。
In addition, in order to give the specification at the time of error, the business specification generation unit 232, as shown in FIG. 18A, based on the logical expression (LG3) that is negative (NOT) of the logical expression (LG4), The symbol “⊥” is given to the decision tree. The business specification generation unit 232 deletes a node that has passed through the decision tree retroactively from the symbol “⊥”. As a result, as shown in FIG. 18B, all nodes are deleted, and the business specification generation unit 232 generates simplified business intermediate data in which the variable “PRICE” is always “0”. .
Further, the business specification shaping unit 242 generates a business process design document shown in FIG. 18C based on the simplified business intermediate data.
In this way, the specification generation device 1 generates a business process design document to which the error specification shown in FIG. 15 is added.

以上説明したように、本実施形態による仕様生成方法は、中間データ生成ステップと、分割処理ステップと、簡素化処理ステップと、設計書生成ステップとを含んでいる。中間データ生成ステップにおいて、中間データ生成部21が、ソースファイルを記憶するソースファイル記憶部31からソースファイルに記述されているソースコードを取得し、取得したソースコードを構文解析して、処理の結果を格納する格納変数(第1の変数)と、入力変数で表現された論理式と、格納変数の値とを対応付けた中間データを生成する。分割処理ステップにおいて、分割処理部22が、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、中間データを、入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する。簡素化処理ステップにおいて、簡素化処理部23が、入力中間データに含まれるエラーコード格納変数(第2の変数)の値のうち、入力チェックが成功である場合のエラーコード格納変数の値に対応する論理式に基づいて、業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する。設計書生成ステップにおいて、設計書生成部24が、入力中間データに基づいて、入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、簡素化された業務中間データに基づいて、業務処理に関する設計仕様を記述した業務処理設計書を生成する。   As described above, the specification generation method according to the present embodiment includes the intermediate data generation step, the division processing step, the simplification processing step, and the design document generation step. In the intermediate data generation step, the intermediate data generation unit 21 acquires the source code described in the source file from the source file storage unit 31 that stores the source file, parses the acquired source code, and obtains the processing result. Is generated by associating the storage variable (first variable) for storing the logical expression expressed by the input variable with the value of the storage variable. In the division processing step, the division processing unit 22 converts the intermediate data into the input intermediate data indicating the portion of the processing corresponding to the input check, based on the second variable storing the processing result of the input check specified in advance, The data is divided into business intermediate data indicating a business process part that does not include a process part corresponding to the input check. In the simplification processing step, the simplification processing unit 23 corresponds to the value of the error code storage variable when the input check is successful among the values of the error code storage variable (second variable) included in the input intermediate data. On the basis of the logical formulas to be deleted, unnecessary logical formulas are deleted from the business intermediate data to generate simplified business intermediate data. In the design document generation step, the design document generation unit 24 generates an input check design document that describes the design specifications related to the input check based on the input intermediate data, and performs business processing based on the simplified business intermediate data. A business process design document that describes the design specifications related to is generated.

これにより、本実施形態による仕様生成方法は、ソースコードから入力チェックに関する設計仕様と業務処理に関する設計仕様とに分離した入力チェック設計書及び業務処理設計書を生成するので、ソースコードから理解しやすい設計書を生成することができる。すなわち、本実施形態による仕様生成方法は、ソースコードから理解しやすい仕様を回復することができる。
例えば、数M(メガ)ステップを超えるソースコードのように大規模なシステムである場合であっても、本実施形態による仕様生成方法は、理解しやすい設計書を自動的に生成することができるので、大規模なシステムの理解を容易にすることができる。
As a result, the specification generation method according to the present embodiment generates an input check design document and a business process design document that are separated from the source code into a design specification related to input check and a design specification related to business process, and is easy to understand from the source code. A design document can be generated. That is, the specification generation method according to the present embodiment can recover an easily understandable specification from the source code.
For example, even in the case of a large-scale system such as a source code exceeding several M (mega) steps, the specification generation method according to the present embodiment can automatically generate an easy-to-understand design document. So it is easy to understand large-scale systems.

また、本実施形態では、簡素化処理ステップにおいて、簡素化処理部23が、予め定められた所定のアルゴリズムに基づいて、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。設計書生成ステップにおいて、設計書生成部24が、簡素化された入力中間データに基づいて、入力チェックに関する設計仕様を記述した入力チェック設計書を生成する。
これにより、入力チェック設計書から不要な論理式が削除されるので、本実施形態による仕様生成方法は、さらに理解しやすい設計書を生成することができる。
In the present embodiment, in the simplification processing step, the simplification processing unit 23 deletes unnecessary logical expressions from the input intermediate data based on a predetermined algorithm, thereby simplifying the input intermediate Generate data. In the design document generation step, the design document generation unit 24 generates an input check design document describing a design specification related to the input check based on the simplified input intermediate data.
As a result, unnecessary logical expressions are deleted from the input check design document, so that the specification generation method according to the present embodiment can generate a design document that is easier to understand.

また、本実施形態では、簡素化処理ステップにおいて、簡素化処理部23が、論理式に基づいて構築された決定木に基づいて、業務中間データ及び入力中間データのうちの少なくとも一方に含まれる記載不要な論理式を削除する。
これにより、本実施形態による仕様生成方法は、簡易な手法により、設計書から記載不要な論理式を削除することができる。
Further, in the present embodiment, in the simplification processing step, the simplification processing unit 23 is included in at least one of the business intermediate data and the input intermediate data based on the decision tree constructed based on the logical expression. Delete unnecessary logical expressions.
Thereby, the specification generation method according to the present embodiment can delete a logical expression that does not need to be described from the design document by a simple method.

また、本実施形態では、簡素化処理ステップにおいて、簡素化処理部23が、恒偽条件となる論理式に基づいて、業務中間データ及び入力中間データのうちの少なくとも一方に含まれる冗長な論理式を削除する。
これにより、本実施形態による仕様生成方法は、簡易な手法により、冗長な論理式を削除することができる。
Further, in the present embodiment, in the simplification processing step, the simplification processing unit 23 makes the redundant logical expression included in at least one of the business intermediate data and the input intermediate data based on the logical expression that is a false condition. Is deleted.
Thereby, the specification generation method according to the present embodiment can delete redundant logical expressions by a simple method.

また、本実施形態では、簡素化処理ステップにおいて、簡素化処理部23が、エラーコード格納変数の値の記載順序に基づいて、既に記載済み論理式を削除する。簡素化処理部23は、例えば、既に記載済み論理式に基づいて構築された決定木を利用して、既に記載済み論理式である記載不要な論理式を削除する。
これにより、既に記載済み論理式を記載しないようにするので、本実施形態による仕様生成方法は、さらに理解しやすい設計書を生成することができる。
In the present embodiment, in the simplification processing step, the simplification processing unit 23 deletes the already described logical expression based on the description order of the value of the error code storage variable. For example, the simplification processing unit 23 uses a decision tree that is already constructed based on the already described logical expression, and deletes the logical expression that is already described and that is not required to be described.
Thus, since the already described logical expression is not described, the specification generation method according to the present embodiment can generate a design document that is easier to understand.

また、本実施形態では、簡素化処理ステップにおいて、簡素化処理部23は、第2の変数の値の記載順序を変更した複数のパターンにおいて、記載済み論理式を削除し、複数のパターンのうちで最も簡素化可能なパターンを選択する。
これにより、本実施形態による仕様生成方法は、複雑なソースコードから適切に簡素化した設計書を生成することができる。
Further, in the present embodiment, in the simplification processing step, the simplification processing unit 23 deletes the described logical expressions in the plurality of patterns in which the description order of the values of the second variable is changed, and among the plurality of patterns Select the pattern that can be simplified the most.
Thereby, the specification generation method according to the present embodiment can generate a design document appropriately simplified from a complicated source code.

また、本実施形態では、中間データ生成部21は、記号実行の技術を利用して、ソースコードから中間データ(中間デシジョンテーブル)を生成する。
これにより、中間データ生成部21は、個別の値ではなく変数が取り得る全ての値の範囲を、制約条件(論理式)を通じて一括して取り扱うことができるとともに、中間データにおいて、処理の結果を格納する格納変数以外の中間変数を削除することができる。
In the present embodiment, the intermediate data generation unit 21 generates intermediate data (intermediate decision table) from the source code using a symbol execution technique.
Accordingly, the intermediate data generation unit 21 can collectively handle all ranges of values that can be taken by variables, not individual values, through constraint conditions (logical expressions), and process results in intermediate data. Intermediate variables other than stored variables can be deleted.

また、本実施形態による仕様生成方法は、中間データ生成ステップと、分割処理ステップと、簡素化処理ステップと、設計書生成ステップとを含むようにしてもよい。分割処理ステップにおいて、中間データ生成部21が、ソースファイル記憶部31からソースファイルに記述されているソースコードを取得し、取得したソースコードを構文解析して、格納変数と、入力変数で表現された論理式と、格納変数の値とを対応付けた中間データを生成する。分割処理ステップにおいて、分割処理部22が、予め指定されたエラーコード格納変数に基づいて、中間データを、入力中間データと、業務中間データとに分割する。簡素化処理ステップにおいて、簡素化処理部23が、予め定められた所定のアルゴリズムに基づいて、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。設計書生成ステップにおいて、設計書生成部24が、簡素化された入力中間データに基づいて、入力チェック設計書を生成するとともに、業務中間データに基づいて、業務処理設計書を生成する。
これにより、本実施形態による仕様生成方法は、ソースコードから理解しやすい設計書を生成することができる。
In addition, the specification generation method according to the present embodiment may include an intermediate data generation step, a division processing step, a simplification processing step, and a design document generation step. In the division processing step, the intermediate data generation unit 21 acquires the source code described in the source file from the source file storage unit 31, parses the acquired source code, and is expressed by a storage variable and an input variable. Intermediate data in which the logical expression and the value of the storage variable are associated with each other is generated. In the division processing step, the division processing unit 22 divides the intermediate data into input intermediate data and business intermediate data based on a previously specified error code storage variable. In the simplification processing step, the simplification processing unit 23 deletes unnecessary logical expressions from the input intermediate data based on a predetermined algorithm, and generates simplified input intermediate data. In the design document generation step, the design document generation unit 24 generates an input check design document based on the simplified input intermediate data, and generates a business process design document based on the business intermediate data.
Thereby, the specification generation method according to the present embodiment can generate an easy-to-understand design document from the source code.

また、本実施形態による仕様生成装置1は、中間データ生成部21と、分割処理部22と、簡素化処理部23と、設計書生成部24とを備えている。中間データ生成部21は、ソースファイル記憶部31(ソース記憶部の一例)からソースファイルに記述されているソースコードを取得する。中間データ生成部21は、取得したソースコードを構文解析して、処理の結果を格納する格納変数(第1の変数)と、入力変数で表現された論理式と、格納変数の値とを対応付けた中間データを生成する。分割処理部22は、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、中間データを、入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する。簡素化処理部23は、入力中間データに含まれるエラーコード格納変数(第2の変数)の値のうち、入力チェックが成功である場合のエラーコード格納変数の値に対応する論理式に基づいて、業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する。設計書生成部24は、入力中間データに基づいて、入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、簡素化された業務中間データに基づいて、業務処理に関する設計仕様を記述した業務処理設計書を生成する。
これにより、本実施形態による仕様生成装置1は、上述した本実施形態による仕様生成方法と同様の効果を奏し、ソースコードから理解しやすい仕様を回復することができる。
The specification generation apparatus 1 according to the present embodiment includes an intermediate data generation unit 21, a division processing unit 22, a simplification processing unit 23, and a design document generation unit 24. The intermediate data generation unit 21 acquires the source code described in the source file from the source file storage unit 31 (an example of the source storage unit). The intermediate data generation unit 21 parses the acquired source code and associates the storage variable (first variable) for storing the processing result, the logical expression expressed by the input variable, and the value of the storage variable. Generate the attached intermediate data. The division processing unit 22 corresponds to the intermediate data, the input intermediate data indicating the part of the process corresponding to the input check, and the input check based on the second variable storing the processing result of the input check specified in advance. The data is divided into business intermediate data indicating a business processing portion that does not include the processing portion to be processed. The simplification processing unit 23 is based on a logical expression corresponding to the value of the error code storage variable when the input check is successful among the values of the error code storage variable (second variable) included in the input intermediate data. Then, unnecessary logical expressions are deleted from the business intermediate data to generate simplified business intermediate data. The design document generation unit 24 generates an input check design document describing a design specification related to input check based on the input intermediate data, and describes a design specification related to business processing based on the simplified business intermediate data. Generate a business process design document.
Thereby, the specification production | generation apparatus 1 by this embodiment has an effect similar to the specification production | generation method by this embodiment mentioned above, and can recover | restore the specification which is easy to understand from a source code.

また、本実施形態による仕様生成装置1は、中間データ生成部21と、分割処理部22と、簡素化処理部23と、設計書生成部24とを備えるようにしてもよい。簡素化処理部23は、予め定められた所定のアルゴリズムに基づいて、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。設計書生成部24は、簡素化された入力中間データに基づいて、入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、業務中間データに基づいて、業務処理に関する設計仕様を記述した業務処理設計書を生成する。
これにより、本実施形態による仕様生成装置1は、上述した本実施形態による仕様生成方法と同様の効果を奏し、ソースコードから理解しやすい仕様を回復することができる。
The specification generation apparatus 1 according to the present embodiment may include an intermediate data generation unit 21, a division processing unit 22, a simplification processing unit 23, and a design document generation unit 24. The simplification processing unit 23 deletes unnecessary logical expressions from the input intermediate data based on a predetermined algorithm, and generates simplified input intermediate data. The design document generation unit 24 generates an input check design document describing a design specification related to input check based on the simplified input intermediate data, and also describes a design specification related to business processing based on the business intermediate data. Generate a business process design document.
Thereby, the specification production | generation apparatus 1 by this embodiment has an effect similar to the specification production | generation method by this embodiment mentioned above, and can recover | restore the specification which is easy to understand from a source code.

なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、ファイルサーバ装置30が、ソースファイル記憶部31と、設定ファイル記憶部32と、設計書記憶部33とを備える例を説明したが、これに限定されるものではない。例えば、ソースファイル記憶部31、設定ファイル記憶部32、及び設計書記憶部33の一部又は全てを仕様生成装置1の記憶部10が備えるようにしてもよい。また、例えば、ネットワークに接続された複数のサーバ装置が、ソースファイル記憶部31、設定ファイル記憶部32、及び設計書記憶部33を備えるようにしてもよい。
The present invention is not limited to the above embodiments, and can be modified without departing from the spirit of the present invention.
For example, in the above embodiment, the example in which the file server device 30 includes the source file storage unit 31, the setting file storage unit 32, and the design document storage unit 33 has been described. However, the present invention is not limited to this. . For example, the storage unit 10 of the specification generation apparatus 1 may include some or all of the source file storage unit 31, the setting file storage unit 32, and the design document storage unit 33. Further, for example, a plurality of server devices connected to the network may include the source file storage unit 31, the setting file storage unit 32, and the design document storage unit 33.

また、仕様生成装置1が備える各構成の一部を、例えば、ネットワークにより接続された外部装置(例えば、サーバ装置など)が備えるようにしてもよい。例えば、記憶部10が備える中間データ記憶部11、分割中間データ記憶部12、及び簡素化中間データ記憶部13の一部又は全部を例えば、ネットワークにより接続された外部装置(例えば、サーバ装置など)が備えるようにしてもよい。   Moreover, you may make it an external apparatus (for example, server apparatus etc.) connected by the network provide a part of each structure with which the specification production | generation apparatus 1 is provided, for example. For example, some or all of the intermediate data storage unit 11, the divided intermediate data storage unit 12, and the simplified intermediate data storage unit 13 included in the storage unit 10 are connected to, for example, an external device (for example, a server device) via a network. May be provided.

また、上記の実施形態において、設定ファイルは、使用者によってエラーコード格納変数が人手で設定される例を説明したが、これに限定されるものではない。例えば、設定ファイルは、プロジェクトの標準コード(標準ルール)などからエラーコード格納変数を読み込むことで設定されるようにしてもよいし、仕様生成装置1が、複数のプログラムを解析して、共通に用いられる変数を自動的に抽出するようにしてもよい。
また、上記の実施形態において、不要な論理式を削除して中間データを簡素化する処理において、決定木を利用する例を説明したが、これに限定されるものではなく、他の手法を利用して簡素化するようにしてもよい。
In the above-described embodiment, an example in which the error code storage variable is manually set by the user in the setting file has been described. However, the present invention is not limited to this. For example, the setting file may be set by reading an error code storage variable from a project standard code (standard rule) or the like, or the specification generation device 1 analyzes a plurality of programs and uses them in common. You may make it extract the variable used automatically.
In the above embodiment, an example of using a decision tree in the process of deleting unnecessary logical expressions and simplifying intermediate data has been described. However, the present invention is not limited to this, and other methods are used. And may be simplified.

なお、上述した仕様生成システム100及び仕様生成装置1が備える各構成は、内部に、コンピュータシステムを有している。そして、上述した仕様生成システム100及び仕様生成装置1が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した仕様生成システム100及び仕様生成装置1が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
In addition, each structure with which the specification production | generation system 100 and the specification production | generation apparatus 1 which were mentioned above are provided has a computer system inside. And the program for implement | achieving the function of each structure with which the specification production | generation system 100 mentioned above and the specification production | generation apparatus 1 are equipped is recorded on a computer-readable recording medium, and the program recorded on this recording medium is read into a computer system. The processing in each configuration included in the specification generation system 100 and the specification generation device 1 described above may be performed by executing the processing. Here, “loading and executing a program recorded on a recording medium into a computer system” includes installing the program in the computer system. The “computer system” here includes an OS and hardware such as peripheral devices.
Further, the “computer system” may include a plurality of computer devices connected via a network including a communication line such as the Internet, WAN, LAN, and dedicated line. The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. As described above, the recording medium storing the program may be a non-transitory recording medium such as a CD-ROM.

また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に仕様生成システム100及び仕様生成装置1が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The recording medium also includes a recording medium provided inside or outside that is accessible from the distribution server in order to distribute the program. It should be noted that after the program is divided into a plurality of parts and downloaded at different timings, the configuration combined with each configuration provided in the specification generation system 100 and the specification generation device 1 and the distribution server that distributes each of the divided programs are different. May be. Furthermore, a “computer-readable recording medium” holds a program for a certain period of time, such as a volatile memory (RAM) inside a computer system that becomes a server or client when the program is transmitted via a network. Including things. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。   Moreover, you may implement | achieve part or all of the function mentioned above as integrated circuits, such as LSI (Large Scale Integration). Each function described above may be individually made into a processor, or a part or all of them may be integrated into a processor. Further, the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. In addition, when an integrated circuit technology that replaces LSI appears due to the advancement of semiconductor technology, an integrated circuit based on the technology may be used.

1 仕様生成装置
10 記憶部
11 中間データ記憶部
12 分割中間データ記憶部
13 簡素化中間データ記憶部
20 制御部
21 中間データ生成部
22 分割処理部
23 簡素化処理部
24 設計書生成部
30 ファイルサーバ装置
31 ソースファイル記憶部
32 設定ファイル記憶部
33 設計書記憶部
100 仕様生成システム
211 構文解析部
212 記号実行部
231 入力仕様生成部
232 業務仕様生成部
241 入力仕様整形部
242 業務仕様整形部
DESCRIPTION OF SYMBOLS 1 Specification production | generation apparatus 10 Memory | storage part 11 Intermediate | middle data memory | storage part 12 Division | segmentation intermediate | middle data memory | storage part 13 Simplification intermediate | middle data memory | storage part 20 Control part 21 Intermediate | middle data generation part 22 Division | segmentation process part 23 Simplification process part 24 Design document production | generation part 30 File server Device 31 Source file storage unit 32 Setting file storage unit 33 Design document storage unit 100 Specification generation system 211 Syntax analysis unit 212 Symbol execution unit 231 Input specification generation unit 232 Operation specification generation unit 241 Input specification shaping unit 242 Operation specification shaping unit 242

Claims (9)

中間データ生成部が、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、
分割処理部が、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、
簡素化処理部が、前記入力中間データに含まれる前記第2の変数の値のうち、前記入力チェックが成功である場合の前記第2の変数の値に対応する前記論理式に基づいて、前記業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する簡素化処理ステップと、
設計書生成部が、前記入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記簡素化された業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップと
を含むことを特徴とする仕様生成方法。
A first variable in which the intermediate data generation unit acquires a source code described in the source file from a source storage unit that stores the source file, parses the acquired source code, and stores a processing result An intermediate data generation step for generating intermediate data in which a logical expression expressed by an input variable is associated with a value of the first variable;
Based on a second variable that stores a processing result of the input check specified in advance, the division processing unit converts the intermediate data into input intermediate data indicating a processing portion corresponding to the input check, and the input check. A division processing step for dividing into business intermediate data indicating a business processing part not including a corresponding processing part;
The simplification processing unit, based on the logical expression corresponding to the value of the second variable when the input check is successful among the values of the second variable included in the input intermediate data, A simplified processing step for removing unnecessary logical expressions from the business intermediate data to generate simplified business intermediate data;
A design document generation unit generates an input check design document describing a design specification related to the input check based on the input intermediate data, and a design specification related to the business process based on the simplified business intermediate data. A specification generation method, comprising: a design document generation step for generating a business process design document describing
前記簡素化処理ステップにおいて、
予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成し、
前記設計書生成ステップにおいて、
前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成する
ことを特徴とする請求項1に記載の仕様生成方法。
In the simplification processing step,
Based on a predetermined algorithm determined in advance, unnecessary logical expressions are deleted from the input intermediate data to generate the simplified input intermediate data,
In the design document generation step,
The specification generation method according to claim 1, wherein an input check design document describing a design specification related to the input check is generated based on the simplified input intermediate data.
前記簡素化処理ステップにおいて、
前記論理式に基づいて構築された決定木に基づいて、前記業務中間データ及び前記入力中間データのうちの少なくとも一方に含まれる記載不要な論理式を削除する
ことを特徴とする請求項2に記載の仕様生成方法。
In the simplification processing step,
3. The undesired logical expression included in at least one of the business intermediate data and the input intermediate data is deleted based on a decision tree constructed based on the logical expression. Specification generation method.
前記簡素化処理ステップにおいて、
前記第2の変数の値の記載順序により既に記載された論理式に基づいて、記載不要な論理式を削除する
ことを特徴とする請求項2又は請求項3に記載の仕様生成方法。
In the simplification processing step,
The specification generation method according to claim 2, wherein a logical expression that does not need to be described is deleted based on a logical expression that has already been described according to a description order of values of the second variable.
中間データ生成部が、ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、
分割処理部が、予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、
簡素化処理部が、予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成する簡素化処理ステップと、
設計書生成部が、前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップと
を含む仕様生成方法。
A first variable in which the intermediate data generation unit acquires a source code described in the source file from a source storage unit that stores the source file, parses the acquired source code, and stores a processing result An intermediate data generation step for generating intermediate data in which a logical expression expressed by an input variable is associated with a value of the first variable;
Based on a second variable that stores a processing result of the input check specified in advance, the division processing unit converts the intermediate data into input intermediate data indicating a processing portion corresponding to the input check, and the input check. A division processing step for dividing into business intermediate data indicating a business processing part not including a corresponding processing part;
A simplification processing unit that deletes unnecessary logical expressions from the input intermediate data based on a predetermined algorithm, and generates simplified input intermediate data;
A design document generation unit generates an input check design document describing a design specification related to the input check based on the simplified input intermediate data, and a design specification related to the business process based on the business intermediate data. A specification generation method including a design document generation step for generating a business process design document that describes
ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成部と、
予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理部と、
前記入力中間データに含まれる前記第2の変数の値のうち、前記入力チェックが成功である場合の前記第2の変数の値に対応する前記論理式に基づいて、前記業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する簡素化処理部と、
前記入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記簡素化された業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成部と
を備える仕様生成装置。
The source code described in the source file is acquired from the source storage unit that stores the source file, the acquired source code is parsed, and expressed by a first variable for storing the processing result and an input variable An intermediate data generation unit that generates intermediate data in which the logical expression thus generated is associated with the value of the first variable;
Based on a second variable for storing a processing result of the input check specified in advance, the intermediate data is input intermediate data indicating a part of the process corresponding to the input check, and a part of the process corresponding to the input check A division processing unit that divides into business intermediate data indicating a part of business processing not including
Based on the logical expression corresponding to the value of the second variable when the input check is successful among the values of the second variable included in the input intermediate data, unnecessary from the business intermediate data A simplified processing unit that deletes logical expressions and generates simplified business intermediate data;
Based on the input intermediate data, generates an input check design document describing a design specification related to the input check, and based on the simplified business intermediate data, a business process design describing a design specification related to the business process A specification generation device comprising a design document generation unit for generating a document.
ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成部と、
予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理部と、
予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成する簡素化処理部と、
前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成部と
を備える仕様生成装置。
The source code described in the source file is acquired from the source storage unit that stores the source file, the acquired source code is parsed, and expressed by a first variable for storing the processing result and an input variable An intermediate data generation unit that generates intermediate data in which the logical expression thus generated is associated with the value of the first variable;
Based on a second variable for storing a processing result of the input check specified in advance, the intermediate data is input intermediate data indicating a part of the process corresponding to the input check, and a part of the process corresponding to the input check A division processing unit that divides into business intermediate data indicating a part of business processing not including
Based on a predetermined algorithm, a simplified processing unit that deletes unnecessary logical expressions from the input intermediate data and generates the simplified input intermediate data;
Based on the simplified input intermediate data, an input check design document describing a design specification related to the input check is generated, and a business process design describing a design specification related to the business process based on the business intermediate data A specification generation device comprising a design document generation unit for generating a document.
コンピュータに、
ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、
予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、
前記入力中間データに含まれる前記第2の変数の値のうち、前記入力チェックが成功である場合の前記第2の変数の値に対応する前記論理式に基づいて、前記業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する簡素化処理ステップと、
前記入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記簡素化された業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップと
を実行させるためのプログラム。
On the computer,
The source code described in the source file is acquired from the source storage unit that stores the source file, the acquired source code is parsed, and expressed by a first variable for storing the processing result and an input variable An intermediate data generation step for generating intermediate data in which the logical expression is associated with the value of the first variable;
Based on a second variable for storing a processing result of the input check specified in advance, the intermediate data is input intermediate data indicating a part of the process corresponding to the input check, and a part of the process corresponding to the input check A division processing step for dividing into business intermediate data indicating a part of business processing not including
Based on the logical expression corresponding to the value of the second variable when the input check is successful among the values of the second variable included in the input intermediate data, unnecessary from the business intermediate data A simplified processing step to delete the logical expression and generate simplified business intermediate data;
Based on the input intermediate data, generates an input check design document describing a design specification related to the input check, and based on the simplified business intermediate data, a business process design describing a design specification related to the business process A program for executing a design document generation step for generating a document.
コンピュータに、
ソースファイルを記憶するソース記憶部から前記ソースファイルに記述されているソースコードを取得し、取得した前記ソースコードを構文解析して、処理の結果を格納する第1の変数と、入力変数で表現された論理式と、前記第1の変数の値とを対応付けた中間データを生成する中間データ生成ステップと、
予め指定された入力チェックの処理結果を格納する第2の変数に基づいて、前記中間データを、前記入力チェックに対応する処理の部分を示す入力中間データと、当該入力チェックに対応する処理の部分を含まない業務処理の部分を示す業務中間データとに分割する分割処理ステップと、
予め定められた所定のアルゴリズムに基づいて、前記入力中間データから不要な論理式を削除して、簡素化された前記入力中間データを生成する簡素化処理ステップと、
前記簡素化された入力中間データに基づいて、前記入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、前記業務中間データに基づいて、前記業務処理に関する設計仕様を記述した業務処理設計書を生成する設計書生成ステップと
を実行させるためのプログラム。
On the computer,
The source code described in the source file is acquired from the source storage unit that stores the source file, the acquired source code is parsed, and expressed by a first variable for storing the processing result and an input variable An intermediate data generation step for generating intermediate data in which the logical expression is associated with the value of the first variable;
Based on a second variable for storing a processing result of the input check specified in advance, the intermediate data is input intermediate data indicating a part of the process corresponding to the input check, and a part of the process corresponding to the input check A division processing step for dividing into business intermediate data indicating a part of business processing not including
A simplified processing step of generating unnecessary input logical data by deleting unnecessary logical expressions from the input intermediate data based on a predetermined algorithm;
Based on the simplified input intermediate data, an input check design document describing a design specification related to the input check is generated, and a business process design describing a design specification related to the business process based on the business intermediate data A program for executing a design document generation step for generating a document.
JP2014234768A 2014-11-19 2014-11-19 Specification generation method, specification generation device, and program Active JP6364332B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014234768A JP6364332B2 (en) 2014-11-19 2014-11-19 Specification generation method, specification generation device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014234768A JP6364332B2 (en) 2014-11-19 2014-11-19 Specification generation method, specification generation device, and program

Publications (2)

Publication Number Publication Date
JP2016099726A JP2016099726A (en) 2016-05-30
JP6364332B2 true JP6364332B2 (en) 2018-07-25

Family

ID=56075778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014234768A Active JP6364332B2 (en) 2014-11-19 2014-11-19 Specification generation method, specification generation device, and program

Country Status (1)

Country Link
JP (1) JP6364332B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494375B2 (en) * 2020-12-21 2022-11-08 Pusan National University Industry-University Cooperation Foundation Method and apparatus for analyzing cause of product defect

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121293A (en) * 2018-01-10 2019-07-22 三菱電機株式会社 Source code generation device, source code generation program, document generation system and document generation method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149551A (en) * 1992-11-06 1994-05-27 Fujitsu Ltd Automatic program specification generating method
JPH0816378A (en) * 1994-06-30 1996-01-19 Fujitsu Ltd Program reverse analysis method and device
JP5865091B2 (en) * 2012-01-20 2016-02-17 日立オートモティブシステムズ株式会社 Software verification support apparatus, software verification support method, software verification support program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494375B2 (en) * 2020-12-21 2022-11-08 Pusan National University Industry-University Cooperation Foundation Method and apparatus for analyzing cause of product defect

Also Published As

Publication number Publication date
JP2016099726A (en) 2016-05-30

Similar Documents

Publication Publication Date Title
Ruijl et al. FORM version 4.2
JP2017525039A (en) System information management
JP6331756B2 (en) Test case generation program, test case generation method, and test case generation apparatus
CN110249312B (en) Method and system for converting data integration jobs from source framework to target framework
JP6137175B2 (en) Hierarchical probability model generation system, hierarchical probability model generation method, and program
JP6692281B2 (en) Test case generation device and test case generation method
CN107003861A (en) method for compiling source code
JP6309795B2 (en) Information processing apparatus, information processing method, and program
JP6364332B2 (en) Specification generation method, specification generation device, and program
JP6502044B2 (en) Data analysis device, data analysis method, and program.
JP5867208B2 (en) Data model conversion program, data model conversion method, and data model conversion apparatus
JPWO2011016281A1 (en) Information processing apparatus and program for Bayesian network structure learning
JP6111150B2 (en) Source code analysis apparatus, source code analysis method, and program
US20160350090A1 (en) Information processing apparatus, method of compiling, and storage medium
JP2015022356A (en) Test scenario variation generating apparatus, method and program
US8775873B2 (en) Data processing apparatus that performs test validation and computer-readable storage medium
WO2020049622A1 (en) Information processing device, analysis system, analysis method, and non-transitory computer-readable medium having analysis program stored thereon
JP5578625B2 (en) Program analysis apparatus, program analysis method, and program
JP6175306B2 (en) Control program dividing apparatus, control program dividing method and recording medium therefor
JP6802109B2 (en) Software specification analyzer and software specification analysis method
JP7038577B2 (en) Program analyzer and program analysis method
JP6085481B2 (en) Programmable circuit, arithmetic processing method
JP2019200736A (en) Adjustment device, adjustment method, and adjustment program
JP6954806B2 (en) Defect detection device and defect detection method
US10572233B2 (en) Vectorization device, vectorization method, and recording medium on which vectorization program is stored

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180523

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: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180702

R150 Certificate of patent or registration of utility model

Ref document number: 6364332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250