JP6364332B2 - Specification generation method, specification generation device, and program - Google Patents
Specification generation method, specification generation device, and program Download PDFInfo
- 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
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).
しかしながら、上述した技術では、例えば、ソースコードの構造を示すグラフを表示するなど、システムの仕様を理解する支援を行うものであり、ソースコードから理解しやすい設計書を生成することは困難であった。 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.
以下、本発明の一実施形態による仕様生成装置及び仕様生成システムについて、図面を参照して説明する。
図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
As shown in this figure, the
ファイルサーバ装置30は、例えば、記憶装置を備えたサーバ装置であり、仕様生成装置1の入力情報であるソースファイル及び設定ファイルと、仕様生成装置1の出力情報である設計書とを記憶する。ファイルサーバ装置30は、ソースファイル記憶部31と、設定ファイル記憶部32と、設計書記憶部33とを備えている。
The
ソースファイル記憶部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
図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
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
図3は、本実施形態における設定ファイル記憶部32のデータ例を示す図である。
この図に示す例では、設定ファイル(EV1)を示している。この例では、設定ファイル記憶部32は、エラーコード格納変数“ERR”と、入力チェックの成功を意味する値“00”とを関連付けて、設定ファイル(EV1)として記憶している。
FIG. 3 is a diagram illustrating an example of data in the setting
In the example shown in this figure, a setting file (EV1) is shown. In this example, the setting
再び、図1の説明に戻り、設計書記憶部33は、仕様生成装置1の出力情報(出力結果)である設計書を記憶する。なお、仕様生成装置1は、ソースコードから入力チェック設計書と、業務処理設計書とを生成するので、設計書記憶部33は、入力チェック設計書と、業務処理設計書とを記憶する。ここで、入力チェック設計書は、入力チェックに関する設計仕様を記述した設計書である。また、業務処理設計書は、業務処理に関する設計仕様を記述した設計書である。なお、複数のソースファイルを仕様生成装置1に入力した場合には、設計書記憶部33は、複数の入力チェック設計書と、複数の業務処理設計書とを記憶してもよい。ここで、図4及び図5を参照して、入力チェック設計書、及び業務処理設計書の一例について説明する。なお、図4及び図5に示す入力チェック設計書、及び業務処理設計書は、仕様生成装置1が上述した図2に示すソースコード(SC1)から生成した場合の一例である。
Returning to the description of FIG. 1 again, the design
図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
The
中間データ記憶部11は、後述する中間データ生成部21によって記号実行の技術を利用して生成された中間データ(中間デシジョンテーブルという場合がある)を記憶する。ここで、中間データは、図6に示すように、格納変数(第1の変数)と、入力変数で表現された論理式と、格納変数の値とを対応付けた情報を含んでいる。
The intermediate
図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
図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
図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
中間データ生成部21は、ファイルサーバ装置30のソースファイル記憶部31からソースファイルに記述されているソースコードを取得する。中間データ生成部21は、取得したソースコードを構文解析し、記号実行の技術を利用した中間データを生成する。中間データ生成部21は、例えば、格納変数(第1の変数)と、入力変数で表現された論理式と、当該格納変数の値とを対応付けた中間データ(例えば、図6参照)を生成する。ここで、記号実行の技術とは、通常の具体的な値を変数に代入しながらプログラムを実行する代わりに、変数とこれに対応する制約条件(論理式)との対を用いて、制約条件(論理式)を更新しながらシミュレーションする技術のことである。
The intermediate
中間データ生成部21は、記号実行の技術を利用することにより、個別の値ではなく変数が取り得る全ての値の範囲を、制約条件(論理式)を通じて一括して取り扱うことができるとともに、中間データにおいて、処理の結果を格納する格納変数以外の中間変数を削除することができる。
また、中間データ生成部21は、構文解析部211と、記号実行部212とを備えている。
By using symbol execution technology, the intermediate
The intermediate
構文解析部211は、ソースファイル記憶部31から取得したソースコードを構文解析する。
記号実行部212は、構文解析部211が構文解析した解析結果に基づいて、記号実行の技術を利用して、上述した図6に示すような中間データを生成する。記号実行部212は、生成した中間データを中間データ記憶部11に記憶させる。
The
The
分割処理部22は、予め指定されたエラーコード格納変数に基づいて、上述した中間データを、入力中間データと、業務中間データとに分割する。分割処理部22は、例えば、ファイルサーバ装置30の設定ファイル記憶部32から設定ファイル(例えば、図3参照)を取得する。分割処理部22は、取得した設定ファイルにより指定されたエラーコード格納変数に基づいて、中間データ記憶部11が記憶する中間データを、上述した図7に示すような入力中間データと、上述した図8に示すような業務中間データとに分割(分離)する。すなわち、分割処理部22は、例えば、中間データからエラーコード格納変数を含む部分を抽出して、入力中間データとして分離する。また、分割処理部22は、例えば、中間データからエラーコード格納変数を含まない部分を抽出して、業務中間データとして分離する。分割処理部22は、分割(分離)した入力中間データと、業務中間データとを分割中間データ記憶部12に記憶させる。
The
簡素化処理部23は、入力中間データに含まれるエラーコード格納変数の値のうち、入力チェックが成功である場合のエラーコード格納変数の値に対応する論理式に基づいて、業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する。また、簡素化処理部23は、予め定められた所定のアルゴリズムに基づいて、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。
簡素化処理部23は、入力仕様生成部231と、業務仕様生成部232とを備えている。
The
The
入力仕様生成部231は、予め定められた所定のアルゴリズムに基づいて、簡素化された入力中間データを生成する。すなわち、入力仕様生成部231は、例えば、以下の2つの手法を利用して、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。
The input
(第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
It is assumed that the logical expression serving as the false condition is extracted, for example, in the process executed by the
(第2の手法)
入力仕様生成部231は、簡素化処理部23は、エラーコード格納変数の値の記載順序に基づいて、既に記載済み論理式を削除する。第2の手法は、記載順序に注目し、既に記載(登場)したチェック条件をチェック済み(記載済み)として削除する手法である。例えば、入力チェックの順序が以下のような場合を考える。
(Second method)
In the input
(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
In the present embodiment, the input
このように、入力仕様生成部231は、上述した(第1の手法)又は(第2の手法)を利用して、入力中間データから不要な論理式を削除して、図9に示すような簡素化された入力中間データを生成する。ここで、入力仕様生成部231は、上述した(第1の手法)及び(第2の手法)のうちのいずれか一方を利用して、入力中間データから不要な論理式を削除してもよいし、(第1の手法)及び(第2の手法)の両方を利用して、入力中間データから不要な論理式を削除してもよい。入力仕様生成部231は、生成した簡素化された入力中間データを簡素化中間データ記憶部13に記憶させる。
In this way, the input
業務仕様生成部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
例えば、図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
その結果、業務仕様生成部232は、図10に示すような簡素化された業務中間データを生成する。なお、業務仕様生成部232は、この業務中間データの簡素化処理において、決定木に基づいて、業務中間データを簡素化する処理の詳細については後述する。業務仕様生成部232は、生成した簡素化された業務中間データを簡素化中間データ記憶部13に記憶させる。
なお、業務仕様生成部232は、業務中間データの簡素化処理において、上述した(第2の手法)のみではなく、(第1の手法)を利用して、業務中間データから不要な論理式を削除してもよい。すなわち、業務仕様生成部232は、業務中間データの簡素化処理において、上述した(第1の手法)及び(第2の手法)のうちのいずれか一方を利用して、業務中間データから不要な論理式を削除してもよいし、(第1の手法)及び(第2の手法)の両方を利用して、業務中間データから不要な論理式を削除してもよい。
As a result, the business
The business
設計書生成部24は、簡素化された入力中間データに基づいて、図4に示すような入力チェック設計書を生成する。また、設計書生成部24は、簡素化された業務中間データに基づいて、図5に示すような業務処理設計書を生成する。設計書生成部24は、生成した入力チェック設計書及び業務処理設計書をファイルサーバ装置30に出力し、入力チェック設計書及び業務処理設計書を設計書記憶部33に記憶させる。また、設計書生成部24は、入力仕様整形部241と、業務仕様整形部242とを備えている。
The
入力仕様整形部241は、簡素化された入力中間データに基づいて、入力チェックに関する設計仕様を記述した入力チェック設計書を生成する。
なお、簡素化された入力中間データは、分割処理部22によって分割された入力中間データに基づいて生成されたものであるため、入力仕様整形部241は、分割処理部22によって分割された入力中間データに基づいて入力チェック設計書を生成するとしてもよい。
Based on the simplified input intermediate data, the input
Since the simplified input intermediate data is generated based on the input intermediate data divided by the
業務仕様整形部242は、簡素化された業務中間データに基づいて、業務処理に関する設計仕様を記述した業務処理設計書を生成する。
なお、簡素化された業務中間データは、分割処理部22によって分割された業務中間データに基づいて生成されたものであるため、業務仕様整形部242は、分割処理部22によって分割された業務中間データに基づいて業務処理設計書を生成するとしてもよい。
Based on the simplified business intermediate data, the business
Since the simplified business intermediate data is generated based on the business intermediate data divided by the
次に、図面を参照して、本実施形態による仕様生成装置1の動作について説明する。
図11は、本実施形態による仕様生成装置1の動作の一例を示すフローチャートである。
この図において、まず、仕様生成装置1の制御部20は、ソースファイルを取得する(ステップS101)。すなわち、制御部20の中間データ生成部21は、ファイルサーバ装置30のソースファイル記憶部31からソースファイルに記述されているソースコードを取得する。
Next, the operation of the
FIG. 11 is a flowchart illustrating an example of the operation of the
In this figure, first, the
次に、中間データ生成部21の構文解析部211は、ソースファイル記憶部31から取得したソースコードを構文解析する(ステップS102)。
次に、中間データ生成部21の記号実行部212は、記号実行の技術を利用して中間データを生成する(ステップS103)。すなわち、記号実行部212は、構文解析部211が構文解析した解析結果に基づいて、記号実行の技術を利用して、格納変数と、入力変数で表現された論理式と、格納変数の値とを対応付けた中間データを生成する。記号実行部212は、生成した中間データを中間データ記憶部11に記憶させる。
Next, the
Next, the
次に、分割処理部22は、入力チェック用の変数に基づいて、中間データを分割する(ステップS104)。すなわち、分割処理部22は、ファイルサーバ装置30の設定ファイル記憶部32から取得した設定ファイルにより指定されたエラーコード格納変数に基づいて、中間データ記憶部11が記憶する中間データを、入力中間データと、業務中間データとに分割する。分割処理部22は、分割した入力中間データと、業務中間データとを分割中間データ記憶部12に記憶させる。
Next, the
また、簡素化処理部23の業務仕様生成部232は、入力チェックが成功である場合の論理式に基づいて、業務中間データを簡素化する(ステップS105)。業務仕様生成部232は、中間データ記憶部11から業務中間データを取得し、上述した入力チェックが成功である場合のエラーコード格納変数の値に対応する論理式に基づいて、業務中間データから不要な論理式を削除して、簡素化された業務中間データを生成する。業務仕様生成部232は、例えば、(第1の手法)及び(第2の手法)を利用して、業務中間データから不要な論理式を削除する。業務仕様生成部232は、生成した簡素化された業務中間データを簡素化中間データ記憶部13に記憶させる。
Further, the business
次に、簡素化処理部23の入力仕様生成部231は、入力中間データを簡素化する(ステップS106)。入力仕様生成部231は、中間データ記憶部11から入力中間データを取得し、例えば、上述した(第1の手法)及び(第2の手法)を利用して、入力中間データから不要な論理式を削除する。入力仕様生成部231は、入力中間データから不要な論理式を削除して生成した簡素化された入力中間データを簡素化中間データ記憶部13に記憶させる。
Next, the input
次に、設計書生成部24は、簡素化された入力中間データ及び業務中間データを仕様整形して入力チェック設計書及び業務処理設計書を生成する(ステップS107)。すなわち、設計書生成部24の入力仕様整形部241は、簡素化中間データ記憶部13が記憶する簡素化された入力中間データに基づいて、入力チェック設計書を生成する。また、業務仕様整形部242は、簡素化中間データ記憶部13が記憶する簡素化された業務中間データに基づいて、業務処理設計書を生成する。
Next, the design
次に、設計書生成部24は、入力チェック設計書及び業務処理設計書を出力する(ステップS108)。すなわち、設計書生成部24は、生成した入力チェック設計書及び業務処理設計書をファイルサーバ装置30に出力し、入力チェック設計書及び業務処理設計書を設計書記憶部33に記憶させる。ステップS108の処理後に、設計書生成部24は、仕様生成装置1の制御部20は、処理を終了する。
Next, the design
なお、上述した図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 |
次に、図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
なお、上述した(第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
図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 “
図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 “
Note that the input
次に、図14を参照して、入力仕様生成部231が、決定木に基づいて、(第2の手法)による簡素化処理を実行する場合の一例について詳細に説明する。
図14は、本実施形態における決定木を利用した簡素化処理の一例を示す図である。
ここでは、図14(a)に示す「元の論理式」を「チェック済み条件」に基づいて簡素化する場合の例である。この場合、入力仕様生成部231は、まず、図14(b)に示すように、「元の論理式」の決定木を構築する。なお、この図の決定木において、実線が“True”(真)を示し、破線が“False”(偽)を示している。
Next, with reference to FIG. 14, an example in which the input
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
次に、入力仕様生成部231は、図14(c)に示すように決定木の「チェック済み条件」の箇所に、記号“⊥”(「何でも良い」を意味する記号)を付与する。
次に、入力仕様生成部231は、図14(d)に示すように決定木を記号“⊥”から遡って通過したノード(○印の部分)を削除する。ここに示す例では、論理式“P==1”に関するノードが残る。その結果、入力仕様生成部231は、図14(e)に示すように、「P==1ならば“E2”」とする簡素化された入力中間データを生成する。
このように、入力仕様生成部231は、論理式に基づいて構築された決定木に基づいて、記載済み論理式を削除する。
Next, the input
Next, as shown in FIG. 14D, the input
As described above, the input
<第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
図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
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
次に、業務仕様生成部232は、図17(a)に示すように、論理式(LG4)に基づいて、決定木に記号“⊥”を付与する。業務仕様生成部232は、決定木を記号“⊥”から遡って通過したノードを削除する。その結果、図17(b)に示すように、全てのノードが削除されて、業務仕様生成部232は、変数“PRICE”が常に“PROD.PRICE*NUM”となるという簡素化された業務中間データを生成する。
また、業務仕様整形部242は、この簡素化された業務中間データに基づいて、図17(c)に示す業務処理設計書を生成する。
Next, as illustrated in FIG. 17A, the business
Further, the business
また、エラー時の仕様を付与するために、業務仕様生成部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
Further, the business
In this way, the
以上説明したように、本実施形態による仕様生成方法は、中間データ生成ステップと、分割処理ステップと、簡素化処理ステップと、設計書生成ステップとを含んでいる。中間データ生成ステップにおいて、中間データ生成部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
これにより、本実施形態による仕様生成方法は、ソースコードから入力チェックに関する設計仕様と業務処理に関する設計仕様とに分離した入力チェック設計書及び業務処理設計書を生成するので、ソースコードから理解しやすい設計書を生成することができる。すなわち、本実施形態による仕様生成方法は、ソースコードから理解しやすい仕様を回復することができる。
例えば、数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
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
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
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
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
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
Accordingly, the intermediate
また、本実施形態による仕様生成方法は、中間データ生成ステップと、分割処理ステップと、簡素化処理ステップと、設計書生成ステップとを含むようにしてもよい。分割処理ステップにおいて、中間データ生成部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
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
Thereby, the specification production |
また、本実施形態による仕様生成装置1は、中間データ生成部21と、分割処理部22と、簡素化処理部23と、設計書生成部24とを備えるようにしてもよい。簡素化処理部23は、予め定められた所定のアルゴリズムに基づいて、入力中間データから不要な論理式を削除して、簡素化された入力中間データを生成する。設計書生成部24は、簡素化された入力中間データに基づいて、入力チェックに関する設計仕様を記述した入力チェック設計書を生成するとともに、業務中間データに基づいて、業務処理に関する設計仕様を記述した業務処理設計書を生成する。
これにより、本実施形態による仕様生成装置1は、上述した本実施形態による仕様生成方法と同様の効果を奏し、ソースコードから理解しやすい仕様を回復することができる。
The
Thereby, the specification production |
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、ファイルサーバ装置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
また、仕様生成装置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 |
また、上記の実施形態において、設定ファイルは、使用者によってエラーコード格納変数が人手で設定される例を説明したが、これに限定されるものではない。例えば、設定ファイルは、プロジェクトの標準コード(標準ルール)などからエラーコード格納変数を読み込むことで設定されるようにしてもよいし、仕様生成装置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
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 |
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
また、上述した機能の一部又は全部を、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
Claims (9)
分割処理部が、予め指定された入力チェックの処理結果を格納する第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.
分割処理部が、予め指定された入力チェックの処理結果を格納する第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
予め指定された入力チェックの処理結果を格納する第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.
予め指定された入力チェックの処理結果を格納する第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.
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)
| 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)
| 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)
| 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 |
-
2014
- 2014-11-19 JP JP2014234768A patent/JP6364332B2/en active Active
Cited By (1)
| 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 |