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
JP7085938B2 - Change impact analyzer - Google Patents
[go: Go Back, main page]

JP7085938B2 - Change impact analyzer - Google Patents

Change impact analyzer Download PDF

Info

Publication number
JP7085938B2
JP7085938B2 JP2018147082A JP2018147082A JP7085938B2 JP 7085938 B2 JP7085938 B2 JP 7085938B2 JP 2018147082 A JP2018147082 A JP 2018147082A JP 2018147082 A JP2018147082 A JP 2018147082A JP 7085938 B2 JP7085938 B2 JP 7085938B2
Authority
JP
Japan
Prior art keywords
function
source code
information
unit
changed
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
JP2018147082A
Other languages
Japanese (ja)
Other versions
JP2020021427A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2018147082A priority Critical patent/JP7085938B2/en
Publication of JP2020021427A publication Critical patent/JP2020021427A/en
Application granted granted Critical
Publication of JP7085938B2 publication Critical patent/JP7085938B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、特定の機能の変更がソフトウェア全体に及ぼす影響を分析する、変更影響分析装置に関する。 The present invention relates to a change impact analyzer that analyzes the effect of a specific functional change on the entire software.

特許文献1は、ソフトウェアの仕様を構成するいずれかの仕様要素に変更がある場合に、その変更により影響を受ける他の仕様要素、関数、および変更影響優先度を抽出する変更影響分析装置を開示している。変更影響分析装置が変更により影響を受ける他の仕様要素、関数、および変更影響優先度を抽出するので、ユーザは、効率的にソフトウェアを変更することができる。 Patent Document 1 discloses a change impact analyzer that extracts other specification elements, functions, and change impact priorities affected by a change in any of the specification elements constituting the software specification. is doing. The change impact analyzer extracts other specification elements, functions, and change impact priorities that are affected by the change, allowing the user to efficiently modify the software.

特開2016-110330号公報Japanese Unexamined Patent Publication No. 2016-110330

特許文献1の変更影響分析装置は、「変更対象の関数が他の関数により参照される回数」に基づいて変更影響優先度を算出する。しかしながら、変更影響優先度は、変更対象の関数と関連する関数を包括的に考慮していない。具体的に言うと、「変更対象の関数が他の関数を参照する回数」、「変更対象の関数と直接的な参照関係にある他の関数を参照する回数」、および「変更対象の関数と直接的な参照関係にある関数が他の関数に参照される回数」を考慮していない。また、特許文献1の変更影響分析装置は、変更対象の機能と、当該機能を実現するプロセスおよび関数とを対応付けて表示しない。これらのことを考慮していないことにより、ユーザは、特定の機能の変更がソフトウェア全体に及ぼす影響を適切に把握することができない場合がある。 The change effect analyzer of Patent Document 1 calculates the change effect priority based on "the number of times the function to be changed is referred to by another function". However, the change impact priority does not comprehensively consider the function to be changed and the related functions. Specifically, "the number of times the function to be changed refers to another function", "the number of times to refer to another function that has a direct reference relationship with the function to be changed", and "the number of times the function to be changed refers to another function". It does not take into account the number of times a function that has a direct reference relationship is referenced by another function. Further, the change effect analysis device of Patent Document 1 does not display the function to be changed in association with the process and the function that realizes the function. By not taking these things into account, the user may not be able to adequately understand the impact of a particular feature change on the software as a whole.

本発明は、特定の機能の変更がソフトウェア全体に及ぼす影響の度合いを適切に分析して表示する、変更影響分析装置を提供する。 The present invention provides a change impact analyzer that appropriately analyzes and displays the degree of influence that a change of a specific function has on the entire software.

本発明の一態様による変更影響分析装置は、ソースコードを分析して、変更対象の機能が、ソースコードに基づくソフトウェア全体に与える影響を示す、ソフトウェア影響情報を出力する装置である。変更影響分析装置は、制御部を備える。制御部は、第1ソースコードリバース部と、第2ソースコードリバース部と、マッピング部と、関数指定部と、変更影響分析部とを備える。第1ソースコードリバース部は、ソースコードから、ソースコードに含まれる各関数が記述されるオブジェクトリストを生成する。第2ソースコードリバース部は、オブジェクトリストから、各関数により実現される各プロセスの入力、処理、および出力が記述されるプロセス仕様書を生成する。マッピング部は、プロセス仕様書および各プロセスにより実現される各機能が定義される、機能の依存関係情報から、変更対象の機能を実現する変更対象のプロセスの処理が記述される機能仕様書を生成する。関数指定部は、ソースコードから、変更対象の関数から影響を受ける他の関数が記述される被影響関数情報を生成する。変更影響分析部は、機能仕様書および被影響関数情報から、ソフトウェア影響情報を生成して出力する。 The change effect analysis device according to one aspect of the present invention is a device that analyzes the source code and outputs software effect information showing the effect of the function to be changed on the entire software based on the source code. The change impact analyzer includes a control unit. The control unit includes a first source code reverse unit, a second source code reverse unit, a mapping unit, a function designation unit, and a change effect analysis unit. The first source code reverse unit generates an object list in which each function included in the source code is described from the source code. The second source code reverse part generates a process specification that describes the input, processing, and output of each process realized by each function from the object list. The mapping part generates a functional specification that describes the processing of the process to be changed that realizes the function to be changed from the process specification and the dependency information of the function that defines each function realized by each process. do. The function specification unit generates affected function information in which other functions affected by the function to be changed are described from the source code. The change impact analysis unit generates and outputs software impact information from the functional specifications and the affected function information.

ソフトウェア影響情報を参照することによって、ユーザは、特定の機能の変更がソフトウェア全体に及ぼす影響を適切に把握することができる。このことにより、ユーザは、当該影響を考慮した上で効率よくソフトウェアの流用開発を行うことができる。 By referring to the software impact information, the user can better understand the impact of a particular functional change on the software as a whole. As a result, the user can efficiently divert and develop the software in consideration of the influence.

実施の形態1に係る、変更影響分析装置の構成を示すブロック図The block diagram which shows the structure of the change influence analysis apparatus which concerns on Embodiment 1. 変更影響分析装置の構成要素に対するデータの入出力を示す図Diagram showing data input / output to the components of the change impact analyzer 変更影響分析装置の構成要素に対するデータの入出力を示す図Diagram showing data input / output to the components of the change impact analyzer 変更影響分析装置の構成要素に対するデータの入出力を示す図Diagram showing data input / output to the components of the change impact analyzer 第1ソースコードリバース部の動作を示すフローチャートFlow chart showing the operation of the first source code reverse section 第1ソースコードリバース部の動作を示すフローチャートFlow chart showing the operation of the first source code reverse section ソースコードの一例を示す図Diagram showing an example of source code オブジェクトリストの一例を示す図Diagram showing an example of an object list 第2ソースコードリバース部の動作を示すフローチャートFlow chart showing the operation of the second source code reverse section プロセス仕様書が作成される過程を説明するための図Diagram to explain the process of creating process specifications プロセス仕様書が作成される過程を説明するための図Diagram to explain the process of creating process specifications マッピング部の動作を示すフローチャートFlowchart showing the operation of the mapping unit 機能の依存関係情報の一例を示す図Diagram showing an example of function dependency information 機能仕様書の一例を示す図Diagram showing an example of functional specifications ユーザによるマッピング部の操作を説明するための図The figure for demonstrating the operation of the mapping part by a user. ユーザによるマッピング部の操作を説明するための図The figure for demonstrating the operation of the mapping part by a user. 関数指定部の動作を示すフローチャートFlowchart showing the operation of the function specification part 関数指定部の動作を示すフローチャートFlowchart showing the operation of the function specification part 被影響関数情報の一例を示す図Figure showing an example of affected function information ユーザによる関数指定部の操作を説明するための図Diagram for explaining the operation of the function specification part by the user 変更影響分析部の動作を示すフローチャートFlow chart showing the operation of the change impact analysis unit 機能に対する変更影響度情報の一例を示す図A diagram showing an example of change impact information on a function 別のソースコードを例示する図Diagram illustrating another source code 別のオブジェクトリストを例示する図Diagram illustrating another object list 別のプロセス仕様書を例示する図Diagram illustrating another process specification 別のプロセス仕様書を例示する図Diagram illustrating another process specification 別のプロセス仕様書を例示する図Diagram illustrating another process specification 別のプロセス仕様書を例示する図Diagram illustrating another process specification 別のプロセス仕様書を例示する図Diagram illustrating another process specification 別の機能仕様書を例示する図Diagram illustrating another functional specification 別の、被影響関数情報を例示する図Another diagram illustrating the affected function information 別の、機能に対する変更影響度情報を例示する図Another diagram exemplifying the change impact information on the function 変更対象の関数と影響を受ける関数との関連性を説明するための図Diagram to illustrate the relationship between the function being modified and the function affected 実施の形態2に係る、変更影響分析装置の構成要素に対するデータの入出力を示す図The figure which shows the input / output of the data to the component of the change influence analysis apparatus which concerns on Embodiment 2. 実施の形態2に係る、変更影響分析部の動作を示すフローチャートA flowchart showing the operation of the change impact analysis unit according to the second embodiment. 機能、プロセス、関数の対応情報の一例を示す図Diagram showing an example of function, process, and function correspondence information 実施の形態2の変形例を説明するための図The figure for demonstrating the modification of Embodiment 2

以下で説明する複数の実施形態およびその変形例は、それぞれ、特徴的構成を有する。ある形態における特徴的構成または動作は、他の形態においても適用可能であり、また、本発明は、以下に例示する形態に限定されるものではない。 Each of the plurality of embodiments and variations thereof described below has a characteristic configuration. The characteristic configuration or behavior in one form is also applicable in other forms, and the invention is not limited to the forms exemplified below.

実施の形態1.
1.構成
図1は、実施の形態1に係る、変更影響分析装置10の構成を示すブロック図である。変更影響分析装置10は、変更対象の関数を含むソースコード等を読み込んで、当該関数の変更がソフトウェア全体に及ぼす影響の度合い(以下、変更影響度と称する)を算出する装置である。変更影響分析装置10は、プロセッサ20と、記憶部30と、表示部40と、操作部50と、を備える。プロセッサ20は、制御部の一例である。
Embodiment 1.
1. 1. Configuration Figure 1 is a block diagram showing the configuration of the change impact analysis device 10 according to the first embodiment. The change impact analysis device 10 is a device that reads a source code or the like including a function to be changed and calculates the degree of influence that the change of the function has on the entire software (hereinafter referred to as the change impact degree). The change effect analysis device 10 includes a processor 20, a storage unit 30, a display unit 40, and an operation unit 50. The processor 20 is an example of a control unit.

プロセッサ20は、中央演算処理装置(CPU)、MPU、DSP、マイコン、FPGA、ASIC等で実現できる。プロセッサ20は、OS、アプリケーションプログラム、種々のデータを読み込んで演算処理を実行することにより、種々の機能を実現する。プロセッサ20は、機能的構成として、第1ソースコードリバース部21と、第2ソースコードリバース部22と、マッピング部23と、関数指定部24と、変更影響分析部25とを備える。 The processor 20 can be realized by a central processing unit (CPU), an MPU, a DSP, a microcomputer, an FPGA, an ASIC, or the like. The processor 20 realizes various functions by reading an OS, an application program, and various data and executing arithmetic processing. The processor 20 includes, as a functional configuration, a first source code reverse unit 21, a second source code reverse unit 22, a mapping unit 23, a function designation unit 24, and a change effect analysis unit 25.

記憶部30は、フラッシュメモリ、SSD(Solid State Device)、ハードディスク等で構成される。記憶部30は変更影響分析装置10の各種機能を実現するために必要なプログラムおよびデータを記憶する。 The storage unit 30 is composed of a flash memory, an SSD (Solid State Device), a hard disk, and the like. The storage unit 30 stores programs and data necessary for realizing various functions of the change effect analysis device 10.

表示部40は、ユーザによる操作に基づいて、後述する文字列や画像を表示する。表示部40は、液晶ディスプレイ、有機ELディスプレイなどで構成される。 The display unit 40 displays a character string or an image described later based on an operation by the user. The display unit 40 is composed of a liquid crystal display, an organic EL display, and the like.

操作部50は、キーボード、マウスなどで構成される。ユーザは操作部50を介して、変更影響分析装置10を操作する。 The operation unit 50 is composed of a keyboard, a mouse, and the like. The user operates the change influence analysis device 10 via the operation unit 50.

2.動作
以上のように構成される変更影響分析装置10の動作について、図1~33を参照して説明する。
2. 2. Operation The operation of the change effect analyzer 10 configured as described above will be described with reference to FIGS. 1 to 33.

図1において、第1ソースコードリバース部21、第2ソースコードリバース部22、およびマッピング部23は、分析対象であるソースコード60および機能の依存関係情報63を入力して、それに基づき機能仕様書64を生成する。一方で、関数指定部24は、ソースコード60を入力して、それに基づき被影響関数情報65を生成する。その後、変更影響分析部25は、機能仕様書64および被影響関数情報65を入力して、それに基づき機能に対する変更影響度情報66を生成する。機能に対する変更影響度情報66は、ソフトウェア影響情報の一例である。 In FIG. 1, the first source code reverse unit 21, the second source code reverse unit 22, and the mapping unit 23 input the source code 60 to be analyzed and the function dependency information 63, and the functional specifications are based on the input. Generate 64. On the other hand, the function designation unit 24 inputs the source code 60 and generates the affected function information 65 based on the source code 60. After that, the change influence analysis unit 25 inputs the functional specification 64 and the affected function information 65, and generates the change influence degree information 66 for the function based on the input. The change impact information 66 for the function is an example of software impact information.

図2は、第1ソースコードリバース部21、第2ソースコードリバース部22、およびマッピング部23に対する、データの入出力を示す図である。第1ソースコードリバース部21は、分析の対象であるソースコード60を入力して、それに基づきリバースエンジニアリングの技術を用いてリバースして、オブジェクトリスト61を生成して記憶部30に記憶する。 FIG. 2 is a diagram showing data input / output to the first source code reverse unit 21, the second source code reverse unit 22, and the mapping unit 23. The first source code reverse unit 21 inputs the source code 60 to be analyzed, reverses it using a reverse engineering technique based on the source code 60, generates an object list 61, and stores it in the storage unit 30.

ソースコード60は、変更対象の関数を含む。ソースコード60はC言語で記述される。ソースコード60は、所定の書式に基づく日本語記述によるコメントを含む。ソースコード60は、ユーザによって事前に作成されて記憶部30に記憶されている。 The source code 60 includes the function to be changed. The source code 60 is written in C language. The source code 60 includes comments written in Japanese based on a predetermined format. The source code 60 is created in advance by the user and stored in the storage unit 30.

オブジェクトリスト61は、ソースコード60に含まれる変数名、関数名等の識別子(以下、「ラベル」と称する。)と、それらの日本語記述とを含む。変更影響分析装置10は、オブジェクトリスト61を用いて、当該ラベルとそれらの日本語記述とを対応付けて管理する。 The object list 61 includes identifiers (hereinafter, referred to as “labels”) such as variable names and function names included in the source code 60, and their Japanese descriptions. The change effect analysis device 10 manages the labels and their Japanese descriptions in association with each other by using the object list 61.

次に、第2ソースコードリバース部22は、ソースコード60およびオブジェクトリスト61を入力して、それに基づきプロセス仕様書62を生成して記憶部30に記憶する。 Next, the second source code reverse unit 22 inputs the source code 60 and the object list 61, generates a process specification 62 based on the input code 60, and stores it in the storage unit 30.

プロセス仕様書62は、ソースコード60に含まれる各関数のプロセス、すなわち入力、処理、および出力の流れを表すデータである。プロセス仕様書62は、入力欄、処理欄、出力欄の3つの欄を含む。プロセス仕様書62は、人が理解できる言語、本例では日本語で記述される。 The process specification 62 is data representing the process of each function included in the source code 60, that is, the flow of input, processing, and output. The process specification 62 includes three fields, an input field, a processing field, and an output field. The process specification 62 is written in a language that can be understood by humans, in this example, Japanese.

次に、マッピング部23は、プロセス仕様書62および機能の依存関係情報63を入力して、それに基づき機能仕様書64を生成して記憶部30に記憶する。 Next, the mapping unit 23 inputs the process specification 62 and the function dependency information 63, generates the functional specification 64 based on the input, and stores it in the storage unit 30.

機能の依存関係情報63は、ソースコード60に含まれる関数により実現される機能の名称と、当該機能に含まれる機能ブロックとを対応付けた一覧形式のデータである。機能の依存関係情報63は、ユーザによって事前に作成されて記憶部30に記憶されている。 The function dependency information 63 is data in a list format in which the name of the function realized by the function included in the source code 60 and the function block included in the function are associated with each other. The function dependency information 63 is created in advance by the user and stored in the storage unit 30.

機能仕様書64は、変更対象の機能の名称および当該機能を実現する処理が記述されたデータである。変更対象の機能は、変更対象の関数を含んで実現される。 The functional specification 64 is data in which the name of the function to be changed and the process for realizing the function are described. The function to be changed is realized including the function to be changed.

図3は、関数指定部24に対する、データの入出力を示す図である。関数指定部24は、ソースコード60を入力して、それに基づき被影響関数情報65を生成して記憶部30に記憶する。 FIG. 3 is a diagram showing data input / output to the function designation unit 24. The function designation unit 24 inputs the source code 60, generates the affected function information 65 based on the source code 60, and stores it in the storage unit 30.

被影響関数情報65は、変更対象の関数を変更することによって、影響を受ける関数が一覧形式で記述されたデータである。 The affected function information 65 is data in which the functions affected by changing the function to be changed are described in a list format.

図4は、変更影響分析部25に対する、データの入出力を示す図である。変更影響分析部25は、機能仕様書64および被影響関数情報65を入力して、それに基づき機能に対する変更影響度情報66を生成して記憶部30に記憶する。 FIG. 4 is a diagram showing data input / output to the change impact analysis unit 25. The change influence analysis unit 25 inputs the functional specification 64 and the affected function information 65, generates change influence degree information 66 for the function based on the input, and stores it in the storage unit 30.

機能に対する変更影響度情報66は、変更影響度が記述されたデータである。変更影響度は、被影響関数情報65に記述された関数の数と等しい。 The change influence degree information 66 for the function is data in which the change influence degree is described. The degree of change impact is equal to the number of functions described in the affected function information 65.

2-1.第1ソースコードリバース部の動作
図2に示すように、第1ソースコードリバース部21は、ソースコード60を入力して、それに基づきオブジェクトリスト61を生成して記憶部30に記憶する。図5,6は、第1ソースコードリバース部21の動作を示すフローチャートである。図7は、ユーザにより事前に作成される、ソースコード60の一例を示す図である。図8は、第1ソースコードリバース部21により、図7に示すようなソースコード60aから生成されたオブジェクトリスト61aを示す図である。
2-1. Operation of the First Source Code Reverse Unit As shown in FIG. 2, the first source code reverse unit 21 inputs the source code 60, generates an object list 61 based on the input code 60, and stores the object list 61 in the storage unit 30. 5 and 6 are flowcharts showing the operation of the first source code reverse unit 21. FIG. 7 is a diagram showing an example of the source code 60 created in advance by the user. FIG. 8 is a diagram showing an object list 61a generated from the source code 60a as shown in FIG. 7 by the first source code reverse unit 21.

以下、図5,6を用いて、第1ソースコードリバース部21の動作を説明する。 Hereinafter, the operation of the first source code reverse unit 21 will be described with reference to FIGS. 5 and 6.

図5において、最初に、第1ソースコードリバース部21は、記憶部30からソースコード60を読み込む(S401)。例えば、第1ソースコードリバース部21は、図7のソースコード60aを読み込む。 In FIG. 5, first, the first source code reverse unit 21 reads the source code 60 from the storage unit 30 (S401). For example, the first source code reverse unit 21 reads the source code 60a of FIG. 7.

その後、第1ソースコードリバース部21は、ソースコード60の、ファイル名の日本語記述を、オブジェクトリスト61のファイル名欄に入力する(S402)。図7の例では、第1ソースコードリバース部21は、ソースコード60aのファイル名の日本語記述「ソースコード1」を、図8のようにオブジェクトリスト61aのファイル名欄に入力する。 After that, the first source code reverse unit 21 inputs the Japanese description of the file name of the source code 60 into the file name field of the object list 61 (S402). In the example of FIG. 7, the first source code reverse unit 21 inputs the Japanese description “source code 1” of the file name of the source code 60a into the file name field of the object list 61a as shown in FIG.

その後、第1ソースコードリバース部21は、ソースコード60の、拡張子を除いたファイル名を、オブジェクトリスト61のファイル名のラベル欄に入力する(S403)。図7の例では、第1ソースコードリバース部21は、ソースコード60aのファイル名「sourcecode1.c」から、拡張子「.c」を除いた「sourcecode1」を、図8のようにオブジェクトリスト61aのファイル名のラベル欄に入力する。 After that, the first source code reverse unit 21 inputs the file name of the source code 60 excluding the extension into the label field of the file name of the object list 61 (S403). In the example of FIG. 7, the first source code reverse unit 21 sets the “sourcecode 1” obtained by removing the extension “.c” from the file name “sourcecode1.c” of the source code 60a, and sets the object list 61a as shown in FIG. Enter in the label field of the file name of.

その後、第1ソースコードリバース部21は、ソースコード60に含まれる関数についての情報を、オブジェクトリスト61に入力する(S404~S407)。 After that, the first source code reverse unit 21 inputs information about the function included in the source code 60 into the object list 61 (S404 to S407).

具体的には、第1ソースコードリバース部21は、変数mに1を入力する(S404)。 Specifically, the first source code reverse unit 21 inputs 1 to the variable m (S404).

第1ソースコードリバース部21は、ソースコード60にm番目の関数が含まれていると判断した場合(S405にてYes)、m番目の関数に関する情報をオブジェクトリスト61に入力する(S406)。図7の例では、m=1のときに、第1ソースコードリバース部21は、ソースコード60aに含まれる1番目の関数xxxxxに関する情報を、図8のようにオブジェクトリスト61aに入力する。この処理の詳細は後述する。 When the first source code reverse unit 21 determines that the source code 60 includes the m-th function (Yes in S405), the first source code reverse unit 21 inputs information about the m-th function into the object list 61 (S406). In the example of FIG. 7, when m = 1, the first source code reverse unit 21 inputs information about the first function xxxxxx included in the source code 60a into the object list 61a as shown in FIG. The details of this process will be described later.

その後、第1ソースコードリバース部21は、変数mに1を加算する(S407)。 After that, the first source code reverse unit 21 adds 1 to the variable m (S407).

一方、第1ソースコードリバース部21は、ソースコード60にm番目の関数が含まれていないと判断した場合(S405にてNo)、本処理を終了する。図7の例では、m=2のときに、第1ソースコードリバース部21は、ソースコード60aに2番目の関数が含まれていないと判断して、本処理を終了する。 On the other hand, when the first source code reverse unit 21 determines that the m-th function is not included in the source code 60 (No in S405), the first source code reverse unit 21 ends this process. In the example of FIG. 7, when m = 2, the first source code reverse unit 21 determines that the source code 60a does not include the second function, and ends this process.

図6は、図5のm番目の関数に関するオブジェクトをオブジェクトリスト61に入力する処理(S406)の詳細を示すフローチャートである。 FIG. 6 is a flowchart showing the details of the process (S406) of inputting the object related to the m-th function of FIG. 5 into the object list 61.

最初に、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の関数名の日本語記述を、オブジェクトリスト61の関数欄に入力する(S408)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の関数名の日本語記述「xxxxx機能」を、図8のようにオブジェクトリスト61aの関数欄に入力する。 First, the first source code reverse unit 21 inputs the Japanese description of the function name of the m-th function of the source code 60 into the function field of the object list 61 (S408). In the example of FIG. 7, when m = 1, the Japanese description "xxxxxx function" of the function name of the first function of the source code 60a is input to the function field of the object list 61a as shown in FIG.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の関数名を、オブジェクトリスト61の関数のラベル欄に入力する(S409)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の関数名「xxxxx」を、図8のようにオブジェクトリスト61aの関数のラベル欄に入力する。 After that, the first source code reverse unit 21 inputs the function name of the m-th function of the source code 60 into the label field of the function of the object list 61 (S409). In the example of FIG. 7, when m = 1, the function name “xxxxxx” of the first function of the source code 60a is input to the label field of the function of the object list 61a as shown in FIG.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の入力変数の日本語記述を、オブジェクトリスト61の入力欄に入力する(S410)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の入力変数の日本語記述「外気温度」および「運転モード」を、図8のようにオブジェクトリスト61aの入力欄に入力する。 After that, the first source code reverse unit 21 inputs the Japanese description of the input variable of the m-th function of the source code 60 into the input field of the object list 61 (S410). In the example of FIG. 7, when m = 1, the Japanese description “outside air temperature” and “operation mode” of the input variables of the first function of the source code 60a are set in the input fields of the object list 61a as shown in FIG. Enter in.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の入力変数名を、オブジェクトリスト61の入力のラベル欄に入力する(S411)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の入力変数名「outdoor_temp」および「drive_mode」を、図8のようにオブジェクトリスト61aの入力のラベル欄に入力する。 After that, the first source code reverse unit 21 inputs the input variable name of the m-th function of the source code 60 into the input label field of the object list 61 (S411). In the example of FIG. 7, when m = 1, the input variable names “outdoor_temp” and “drive_mode” of the first function of the source code 60a are input to the input label field of the object list 61a as shown in FIG. ..

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の入力変数への入力値の日本語記述を、オブジェクトリスト61の入力属性欄に入力する(S412)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の入力変数「outdoor_temp」への入力値の日本語記述「10℃」と、入力変数「drive_mode」への入力値の日本語記述「冷房」とを、図8のようにオブジェクトリスト61の入力属性欄にそれぞれ入力する。 After that, the first source code reverse unit 21 inputs the Japanese description of the input value to the input variable of the m-th function of the source code 60 into the input attribute field of the object list 61 (S412). In the example of FIG. 7, when m = 1, the Japanese description “10 ° C.” of the input value to the input variable “object_temp” of the first function of the source code 60a and the input value to the input variable “drive_mode”. Enter the Japanese description "cooling" in the input attribute field of the object list 61 as shown in FIG.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の入力変数への入力値を、オブジェクトリスト61の入力属性のラベル欄に入力する(S413)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の入力変数「outdoor_temp」への入力値「10」と、入力変数「drive_mode」への入力値「cool」とを、図8のようにオブジェクトリスト61の入力属性のラベル欄にそれぞれ入力する。 After that, the first source code reverse unit 21 inputs the input value to the input variable of the m-th function of the source code 60 into the input attribute label field of the object list 61 (S413). In the example of FIG. 7, when m = 1, the input value “10” to the input variable “object_temp” of the first function of the source code 60a and the input value “col” to the input variable “drive_mode” are set. , As shown in FIG. 8, input in the label field of the input attribute of the object list 61, respectively.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の出力変数名の日本語記述を、オブジェクトリスト61の出力欄に入力する(S414)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の出力変数名の日本語記述「計測状態」を、図8のようにオブジェクトリスト61aの出力欄に入力する。 After that, the first source code reverse unit 21 inputs the Japanese description of the output variable name of the m-th function of the source code 60 into the output field of the object list 61 (S414). In the example of FIG. 7, when m = 1, the Japanese description “measurement state” of the output variable name of the first function of the source code 60a is input to the output field of the object list 61a as shown in FIG.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の出力変数名を、オブジェクトリスト61の出力のラベル欄に入力する(S415)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の出力変数名「measured_st」を、図8のようにオブジェクトリスト61aの出力のラベル欄に入力する。 After that, the first source code reverse unit 21 inputs the output variable name of the m-th function of the source code 60 into the output label field of the object list 61 (S415). In the example of FIG. 7, when m = 1, the output variable name “measured_st” of the first function of the source code 60a is input to the output label field of the object list 61a as shown in FIG.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の出力変数への代入文字列の日本語記述を、オブジェクトリスト61の出力属性欄に入力する(S416)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の出力変数「measured_st」への代入文字列の日本語記述「開始」を、図8のようにオブジェクトリスト61aの出力属性欄に入力する。 After that, the first source code reverse unit 21 inputs the Japanese description of the character string assigned to the output variable of the m-th function of the source code 60 in the output attribute field of the object list 61 (S416). In the example of FIG. 7, when m = 1, the Japanese description “start” of the assigned character string to the output variable “measured_st” of the first function of the source code 60a is set to the object list 61a as shown in FIG. Enter in the output attribute field.

その後、第1ソースコードリバース部21は、ソースコード60の、m番目の関数の出力変数への代入文字列を、オブジェクトリスト61の出力属性のラベル欄に入力する(S417)。図7の例では、m=1のときに、ソースコード60aの1番目の関数の出力変数「measured_st」への代入文字列「START」を、図8のようにオブジェクトリスト61aの出力属性のラベル欄に入力する。以上のようにして、ソースコード60からオブジェクトリスト61が生成されて記憶部30に記憶される。 After that, the first source code reverse unit 21 inputs the character string assigned to the output variable of the m-th function of the source code 60 into the label field of the output attribute of the object list 61 (S417). In the example of FIG. 7, when m = 1, the assigned character string “START” to the output variable “metered_st” of the first function of the source code 60a is set to the output attribute label of the object list 61a as shown in FIG. Enter in the field. As described above, the object list 61 is generated from the source code 60 and stored in the storage unit 30.

2-2.第2ソースコードリバース部の動作
図2に示すように、第2ソースコードリバース部22は、ソースコード60およびオブジェクトリスト61を入力して、それに基づきプロセス仕様書62を生成して記憶部30に記憶する。図9は、第2ソースコードリバース部22の動作を示すフローチャートである。図10,11は、第2ソースコードリバース部22により、プロセス仕様書62が生成される過程を説明するための図である。なお、図10は、説明の便宜上、第2ソースコードリバース部22による処理の過程で生成される、中間的な状態にあるプロセス仕様書62を概念的に説明した図である。図10に示す情報は、記憶部30に記憶される。最終的には、第2ソースコードリバース部22は、プロセス仕様書62として、図11(A),(B)に示す情報を出力する。
2-2. Operation of the Second Source Code Reverse Section As shown in FIG. 2, the second source code reverse section 22 inputs the source code 60 and the object list 61, generates a process specification 62 based on the input, and stores the process specification 62 in the storage section 30. Remember. FIG. 9 is a flowchart showing the operation of the second source code reverse unit 22. 10 and 11 are diagrams for explaining a process in which the process specification 62 is generated by the second source code reverse unit 22. Note that FIG. 10 is a diagram conceptually explaining the process specification 62 in an intermediate state generated in the process of processing by the second source code reverse unit 22 for convenience of explanation. The information shown in FIG. 10 is stored in the storage unit 30. Finally, the second source code reverse unit 22 outputs the information shown in FIGS. 11A and 11B as the process specification 62.

以下、図9のフローチャートに即して、第2ソースコードリバース部22の動作を説明する。 Hereinafter, the operation of the second source code reverse unit 22 will be described according to the flowchart of FIG.

図9において、最初に、第2ソースコードリバース部22は、ソースコード60およびオブジェクトリスト61を記憶部30から読み込む(S601)。例えば、第2ソースコードリバース部22は、図7のソースコード60aおよび図8のオブジェクトリスト61aを読み込む。 In FIG. 9, first, the second source code reverse unit 22 reads the source code 60 and the object list 61 from the storage unit 30 (S601). For example, the second source code reverse unit 22 reads the source code 60a of FIG. 7 and the object list 61a of FIG.

その後、第2ソースコードリバース部22は、オブジェクトリスト61の関数欄の各文字列に対応するプロセス仕様書62を生成して記憶部30に記憶する(S602)。図7,8の例では、関数欄の文字列は「xxxxx機能」のみであるので、「xxxxx機能」に対応するプロセス仕様書のみを生成する。 After that, the second source code reverse unit 22 generates the process specification 62 corresponding to each character string in the function column of the object list 61 and stores it in the storage unit 30 (S602). In the examples of FIGS. 7 and 8, since the character string in the function column is only the "xxxxxx function", only the process specifications corresponding to the "xxxxxx function" are generated.

その後、第2ソースコードリバース部22は、オブジェクトリスト61の関数欄の各文字列を、対応するプロセス仕様書62の最上欄に入力する(S603)。図7,8の例では、オブジェクトリスト61aの関数欄の文字列「xxxxx機能」を、図10(A)のようにプロセス仕様書62a1の最上欄に入力する。 After that, the second source code reverse unit 22 inputs each character string in the function column of the object list 61 into the uppermost column of the corresponding process specification 62 (S603). In the examples of FIGS. 7 and 8, the character string “xxxxxx function” in the function column of the object list 61a is input to the uppermost column of the process specification 62a1 as shown in FIG. 10 (A).

その後、第2ソースコードリバース部22は、オブジェクトリスト61の入力欄の各文字列を、対応するプロセス仕様書62の入力欄に入力する(S604)。図7,8の例では、オブジェクトリスト61aの入力欄の文字列「外気温度」および「運転モード」を、図10(A)のようにプロセス仕様書62a1の入力欄に入力する。 After that, the second source code reverse unit 22 inputs each character string in the input field of the object list 61 into the input field of the corresponding process specification 62 (S604). In the examples of FIGS. 7 and 8, the character strings “outside air temperature” and “operation mode” in the input field of the object list 61a are input to the input field of the process specification 62a1 as shown in FIG. 10 (A).

その後、第2ソースコードリバース部22は、オブジェクトリスト61の出力欄の各文字列を、対応するプロセス仕様書62の出力欄に入力する(S605)。図7,8の例では、オブジェクトリスト61aの出力欄の文字列「計測状態」を、図10(A)のようにプロセス仕様書62a1の出力欄に入力する。 After that, the second source code reverse unit 22 inputs each character string in the output column of the object list 61 into the output column of the corresponding process specification 62 (S605). In the examples of FIGS. 7 and 8, the character string “measurement state” in the output column of the object list 61a is input to the output column of the process specification 62a1 as shown in FIG. 10 (A).

その後、第2ソースコードリバース部22は、ソースコード60に含まれる条件文についての情報を、対応するプロセス仕様書62に入力する(S606、S607、S609~S613)。 After that, the second source code reverse unit 22 inputs information about the conditional statement included in the source code 60 into the corresponding process specification 62 (S606, S607, S609 to S613).

具体的には、第2ソースコードリバース部22は、変数nに1を入力する(S606)。 Specifically, the second source code reverse unit 22 inputs 1 to the variable n (S606).

第2ソースコードリバース部22は、ソースコード60にn番目の条件文が含まれていると判断した場合(S607にてYes)、n番目の条件文を、対応するプロセス仕様書62の処理欄に入力する(S609)。図7,8の例では、n=1のときに、ソースコード60aの1番目の条件文「(outdoor_temp>10)&&(drive_mode==cool)」を、図10(A)のようにプロセス仕様書62a1の処理欄に入力する。 When the second source code reverse unit 22 determines that the source code 60 includes the nth conditional statement (Yes in S607), the second source code reverse unit 22 inputs the nth conditional statement to the processing column of the corresponding process specification 62. (S609). In the examples of FIGS. 7 and 8, when n = 1, the first conditional statement “(input_temp> 10) & & (drive_mode == cool)” of the source code 60a is processed as shown in FIG. 10 (A). Enter in the processing field of document 62a1.

その後、第2ソースコードリバース部22は、プロセス仕様書62の処理欄の文字列を日本語記述に変換する(S610)。図7,8の例では、n=1のときに、図10(A)のプロセス仕様書62a1の処理欄の「(outdoor_temp>10)&&(drive_mode==cool)」を、図10(B)のプロセス仕様書62a2のように日本語記述「(外気温度>10℃)and(運転モード=冷房)」に変換する。 After that, the second source code reverse unit 22 converts the character string in the processing column of the process specification 62 into a Japanese description (S610). In the examples of FIGS. 7 and 8, when n = 1, "(outdoor_temp> 10) && (drive_mode == cool)" in the processing column of the process specification 62a1 of FIG. 10 (A) is displayed in FIG. 10 (B). Convert to the Japanese description "(outside air temperature> 10 ° C.) and (operation mode = cooling)" as in the process specification 62a2 of.

このとき、「outdoor_temp」および「drive_mode」は、オブジェクトリスト61aの入力のラベル欄と入力欄との対応関係に基づいて、それぞれ「外気温度>10℃」および「運転モード」に変換される。「10」および「cool」は、オブジェクトリスト61aの入力属性のラベル欄と入力属性欄との対応関係に基づいて、それぞれ「10℃」および「冷房」に変換される。第2ソースコードリバース部22は、「&&」が「and」と対応する旨の変換規則情報を備えており、「&&」は、当該変換規則情報に基づいて「and」に変換される。 At this time, "outdoor_temp" and "drive_mode" are converted into "outside air temperature> 10 ° C." and "operation mode", respectively, based on the correspondence between the input label field and the input field of the object list 61a. "10" and "cool" are converted into "10 ° C." and "cooling", respectively, based on the correspondence between the input attribute label column and the input attribute column of the object list 61a. The second source code reverse unit 22 includes conversion rule information that "&&" corresponds to "and", and "&&" is converted to "and" based on the conversion rule information.

さらに、プロセス仕様書62a2の「(外気温度>10℃)」は、図10(C)のプロセス仕様書62a3ように「(1)」に変換され、2行目に「(1)外気温度>10℃」と入力される。プロセス仕様書62a2の「(運転モード=冷房)」は、プロセス仕様書62a3のように「(2)」に変換され、3行目に「運転モード=冷房」と入力される。 Further, "(outside air temperature> 10 ° C.)" in the process specification 62a2 is converted into "(1)" as in the process specification 62a3 in FIG. 10 (C), and "(1) outside air temperature>" in the second line. 10 ° C. ”is input. “(Operation mode = cooling)” in the process specification 62a2 is converted into “(2)” as in the process specification 62a3, and “operation mode = cooling” is input in the third line.

その後、第2ソースコードリバース部22は、ソースコード60の、n番目の条件文が含む処理文を、対応するプロセス仕様書62の処理欄に入力する(S611)。図7,8の例では、n=1のときに、ソースコード60aの1番目の条件文に対応する処理文「measured_st=START;」を、図10(D)のプロセス仕様書62a4のように処理欄に入力する。 After that, the second source code reverse unit 22 inputs the processing statement included in the nth conditional statement of the source code 60 into the processing column of the corresponding process specification 62 (S611). In the examples of FIGS. 7 and 8, when n = 1, the processing statement “measured_st = START;” corresponding to the first conditional statement of the source code 60a is as shown in the process specification 62a4 of FIG. 10 (D). Enter in the processing field.

その後、第2ソースコードリバース部22は、プロセス仕様書62の処理欄の文字列を日本語記述に変換する(S612)。図7,8の例では、n=1のときに、プロセス仕様書62a4の処理欄の文字列「measured_st=START;」を、図11(A)のプロセス仕様書62a5ように日本語記述「・計測状態←開始」に変換する。 After that, the second source code reverse unit 22 converts the character string in the processing column of the process specification 62 into a Japanese description (S612). In the examples of FIGS. 7 and 8, when n = 1, the character string “measured_st = START;” in the processing column of the process specification 62a4 is described in Japanese as in the process specification 62a5 of FIG. 11 (A). Convert to "Measurement status ← Start".

このとき、第2ソースコードリバース部22は、「measured_st=START;」を操作の記述であると判断して、文頭に操作の記述であることを示す記号「・」を入力する。「measured_st」は、オブジェクトリスト61aの出力欄と出力のラベル欄との対応関係に基づいて「計測状態」に変換される。「START」は、オブジェクトリスト61aの出力属性欄と出力属性のラベル欄との対応関係に基づいて「開始」に変換される。第2ソースコードリバース部22は、「=」が「←」と対応する旨の変換規則情報を備えており、「=」は、当該変換規則情報に基づいて「←」に変換される。 At this time, the second source code reverse unit 22 determines that "measured_st = START;" is a description of the operation, and inputs a symbol "·" indicating that it is a description of the operation at the beginning of the sentence. The "measured_st" is converted into a "measurement state" based on the correspondence between the output column of the object list 61a and the output label column. "START" is converted to "start" based on the correspondence between the output attribute column of the object list 61a and the label column of the output attribute. The second source code reverse unit 22 includes conversion rule information that "=" corresponds to "←", and "=" is converted to "←" based on the conversion rule information.

その後、第2ソースコードリバース部22は、変数nに1を加算する(S613)。 After that, the second source code reverse unit 22 adds 1 to the variable n (S613).

一方、第2ソースコードリバース部22は、ソースコード60にn番目の条件文がないと判断した場合(S607にてNo)、ユーザによる操作に基づいて、プロセス仕様書62の処理欄の記述を変更する(S608)。図7,8の例では、nが2のときに、第2ソースコードリバース部22は、ソースコード60に2番目の条件文がないと判断する。ユーザは、操作部50を介して、図11(A)のプロセス仕様書62a5を、図11(B)のプロセス仕様書62a6のように変更する。 On the other hand, when the second source code reverse unit 22 determines that the source code 60 does not have the nth conditional statement (No in S607), the second source code reverse unit 22 describes the processing column of the process specification 62 based on the operation by the user. Change (S608). In the examples of FIGS. 7 and 8, when n is 2, the second source code reverse unit 22 determines that the source code 60 does not have the second conditional statement. The user modifies the process specification 62a5 of FIG. 11A to the process specification 62a6 of FIG. 11B via the operation unit 50.

プロセス仕様書62a6において、ユーザは、条件「外気温度>10℃」を「(1)」と、条件「運転モード=冷房」を「(2)」と定義し、条件「(1)and(2)」が真である状態を「不快検知」と定義している。プロセス仕様書62a6は、xxxxx機能のプロセスが「不快検知」の状態になると計測状態を開始することを意味している。 In the process specification 62a6, the user defines the condition "outside air temperature> 10 ° C." as "(1)" and the condition "operation mode = cooling" as "(2)", and the condition "(1) and (2) The state in which ")" is true is defined as "discomfort detection". The process specification 62a6 means that the measurement state is started when the process of the xxxxxx function is in the "discomfort detection" state.

その後、第2ソースコードリバース部22は、本処理を終了する。以上のようにして、ソースコード60およびオブジェクトリスト61からプロセス仕様書62が生成されて記憶部30に記憶される。 After that, the second source code reverse unit 22 ends this process. As described above, the process specification 62 is generated from the source code 60 and the object list 61 and stored in the storage unit 30.

2-3.マッピング部の動作
図2に示すように、マッピング部23は、プロセス仕様書62および機能の依存関係情報63を入力して、それに基づき機能仕様書64を生成して記憶部30に記憶する。図12は、マッピングの動作を示すフローチャートである。図13は、ユーザにより事前に作成される、機能の依存関係情報63の一例を示す図である。図14は、マッピング部23により生成される、機能仕様書64の一例を示す図である。図15,16は、ユーザによるマッピング部23の操作を説明するための図である。
2-3. Operation of the mapping unit As shown in FIG. 2, the mapping unit 23 inputs the process specification 62 and the function dependency information 63, generates the functional specification 64 based on the input, and stores it in the storage unit 30. FIG. 12 is a flowchart showing the operation of mapping. FIG. 13 is a diagram showing an example of the function dependency information 63 created in advance by the user. FIG. 14 is a diagram showing an example of the functional specification 64 generated by the mapping unit 23. 15 and 16 are diagrams for explaining the operation of the mapping unit 23 by the user.

以下、図12を用いて、マッピング部23の動作を説明する。 Hereinafter, the operation of the mapping unit 23 will be described with reference to FIG.

図12において、最初に、マッピング部23は、プロセス仕様書62および機能の依存関係情報63を記憶部30から読み込む(S901)。機能の依存関係情報63は、ユーザにより事前に作成されるデータである。例えば、マッピング部23は、図11(B)のプロセス仕様書62a6および図13の機能の依存関係情報63aを読み込む。 In FIG. 12, first, the mapping unit 23 reads the process specification 62 and the function dependency information 63 from the storage unit 30 (S901). The function dependency information 63 is data created in advance by the user. For example, the mapping unit 23 reads the process specification 62a6 of FIG. 11B and the dependency information 63a of the function of FIG.

その後、マッピング部23は、ユーザによる操作に従って、機能の依存関係情報63の機能名欄から任意の機能名を選択して、当該機能名の機能仕様書64への配置を確定する(S902)。図11(B),13の例では、機能の依存関係情報63aの機能名欄から「xxxxx機能」が選択されて、図14の機能仕様書64aのように最上欄に配置される。 After that, the mapping unit 23 selects an arbitrary function name from the function name field of the function dependency information 63 according to the operation by the user, and determines the arrangement of the function name in the functional specification 64 (S902). In the examples of FIGS. 11B and 13, "xxxxxx function" is selected from the function name column of the function dependency information 63a, and is arranged in the uppermost column as in the functional specification document 64a of FIG.

その後、マッピング部23は、ユーザによる操作に従って、プロセス仕様書62を選択して、選択したプロセス仕様書62の処理欄の文字列の機能仕様書64への配置を確定する(S903)。図11(B),13の例では、プロセス仕様書62a6の処理欄の文字列が、図14の機能仕様書64aように上から2番目の欄に配置される。 After that, the mapping unit 23 selects the process specification 62 according to the operation by the user, and determines the arrangement of the character string in the processing column of the selected process specification 62 in the functional specification 64 (S903). In the examples of FIGS. 11B and 13, the character string in the processing column of the process specification 62a6 is arranged in the second column from the top as in the functional specification 64a of FIG.

その後、マッピング部23は、機能仕様書64を生成して記憶部30に記憶する(S904)。図11(B),13の例では、図14の機能仕様書64aが生成される。 After that, the mapping unit 23 generates the functional specification document 64 and stores it in the storage unit 30 (S904). In the examples of FIGS. 11B and 13, the functional specification 64a of FIG. 14 is generated.

図15は、機能の依存関係情報63のうちの1つの機能名を選択して、当該機能名の機能仕様書64への配置を確定する処理(図12のS902)における、ユーザによる操作を例示するための図である。 FIG. 15 illustrates an operation by a user in a process of selecting a function name from the function dependency information 63 and determining the arrangement of the function name in the functional specification 64 (S902 in FIG. 12). It is a figure to do.

プロセス仕様書62a6および機能の依存関係情報63aを読み込むと、マッピング部23は、機能の依存関係情報63aを表示部40に表示する。ユーザは、操作部50を介して、マッピングしたい項目、すなわち機能仕様書64に配置したい項目を選択する。図15(A)は、機能名「xxxxx機能」が選択された状態を示す。 When the process specification 62a6 and the function dependency information 63a are read, the mapping unit 23 displays the function dependency information 63a on the display unit 40. The user selects an item to be mapped, that is, an item to be arranged in the functional specification 64 via the operation unit 50. FIG. 15A shows a state in which the function name “xxxxxx function” is selected.

マッピングしたい項目が選択されたことを検出すると、マッピング部23は、読み込んだプロセス仕様書62a6を、プルダウンメニューから選択可能に表示する。図15(B)は、プロセス仕様書62a6が選択された状態を示す。 When it is detected that the item to be mapped is selected, the mapping unit 23 displays the read process specification 62a6 so as to be selectable from the pull-down menu. FIG. 15B shows a state in which the process specification 62a6 is selected.

プロセス仕様書62a6が選択されたことを検出すると、マッピング部23は、プロセス仕様書62a6を表示部40に表示する。ユーザは、操作部50を介して、プロセス仕様書62a6のうち、マッピングしたい箇所を選択する。図15(C)は、プロセス仕様書62a6の最上欄の文字列「xxxxx機能」が選択された状態を示す。 When it is detected that the process specification 62a6 is selected, the mapping unit 23 displays the process specification 62a6 on the display unit 40. The user selects a portion of the process specifications 62a6 that he / she wants to map via the operation unit 50. FIG. 15C shows a state in which the character string “xxxxxx function” in the uppermost column of the process specification 62a6 is selected.

図16は、プロセス仕様書62を選択して、選択したプロセス仕様書の処理欄の文字列の機能仕様書64への配置を確定する処理(図12のS903)における、ユーザによる操作を例示するための図である。 FIG. 16 illustrates an operation by a user in a process of selecting a process specification 62 and determining the arrangement of a character string in a processing column of the selected process specification in the functional specification 64 (S903 in FIG. 12). It is a figure for.

図15(C)においてプロセス仕様書62a6の最上欄の文字列「xxxxx機能」が選択されたことを検出すると、マッピング部23は、プロセス仕様書62a6を、プルダウンメニューから選択可能に表示する。図16(A)は、プロセス仕様書62a6が選択された状態を示す。 When it is detected in FIG. 15C that the character string "xxxxxx function" in the uppermost column of the process specification 62a6 is selected, the mapping unit 23 displays the process specification 62a6 in a selectable manner from the pull-down menu. FIG. 16A shows a state in which the process specification 62a6 is selected.

プロセス仕様書62a6が選択されたことを検出すると、マッピング部23は、プロセス仕様書62a6を表示部40に表示する。ユーザは、操作部50を介して、プロセス仕様書62a6のうち、マッピングしたい箇所を選択する。図16(B)は、プロセス仕様書62a6の処理欄の2行目から8行目までの文字列が選択された状態を示す。 When it is detected that the process specification 62a6 is selected, the mapping unit 23 displays the process specification 62a6 on the display unit 40. The user selects a portion of the process specifications 62a6 that he / she wants to map via the operation unit 50. FIG. 16B shows a state in which the character strings from the second line to the eighth line in the processing column of the process specification 62a6 are selected.

マッピングしたい箇所が選択されたことを検出すると、マッピング部23は、機能の依存関係情報63aを表示部40に表示する。ユーザは、操作部50を介して、マッピングしたい箇所と対応する機能ブロックを選択する。図16(C)は、機能の依存関係情報63aの「不快検知」が選択された状態を示す。 When it is detected that the location to be mapped is selected, the mapping unit 23 displays the function dependency information 63a on the display unit 40. The user selects a functional block corresponding to the location to be mapped via the operation unit 50. FIG. 16C shows a state in which “discomfort detection” of the function dependency information 63a is selected.

マッピングしたい箇所と対応する機能ブロック「不快検知」が選択されたことを検出すると、マッピング部23は、機能仕様書64において、マッピングしたい箇所を配置する箇所を選択する。図16(D)は、操作部50を介して、マッピングしたい箇所を配置する箇所の先頭を、機能仕様書64の上から2番目の欄の1行目に合わせたときの、上から2番目の欄の1行目から7行目までが選択された状態を示す。マッピングしたい箇所を配置する箇所が選択されたことを検出すると、マッピング部23は、機能仕様書64aを生成する。以上のようにして、プロセス仕様書62および機能の依存関係情報63から機能仕様書64が生成されて記憶部30に記憶される。 When it is detected that the functional block "discomfort detection" corresponding to the location to be mapped is selected, the mapping unit 23 selects the location to arrange the location to be mapped in the functional specification 64. FIG. 16D shows the second from the top when the head of the place where the place to be mapped is arranged via the operation unit 50 is aligned with the first line of the second column from the top of the functional specification document 64. The first to seventh lines in the column of are selected. When it is detected that the place where the place to be mapped is arranged is selected, the mapping unit 23 generates the functional specification document 64a. As described above, the functional specification 64 is generated from the process specification 62 and the functional dependency information 63 and stored in the storage unit 30.

2-4.関数指定部の動作
図3に示すように、関数指定部24は、ソースコード60を入力して、それに基づき被影響関数情報65を生成して記憶部30に記憶する。図17,18は、関数指定部24の動作を示すフローチャートである。図19は、関数指定部24により生成される、被影響関数情報65の一例を示す図である。図20は、関数指定部24の動作を説明するための図である。
2-4. Operation of the function designation unit As shown in FIG. 3, the function designation unit 24 inputs the source code 60, generates the affected function information 65 based on the source code 60, and stores it in the storage unit 30. 17 and 18 are flowcharts showing the operation of the function designation unit 24. FIG. 19 is a diagram showing an example of the affected function information 65 generated by the function designation unit 24. FIG. 20 is a diagram for explaining the operation of the function designation unit 24.

以下、図17,18を用いて、関数指定部24の動作を説明する。 Hereinafter, the operation of the function designation unit 24 will be described with reference to FIGS. 17 and 18.

図17において、最初に、関数指定部24は、ユーザによる操作に従って、ソースコード60を選択して(S1101)、記憶部30から読み込む(S1102)。例えば、関数指定部24は、図7のソースコード60aを選択して読み込む。 In FIG. 17, first, the function designation unit 24 selects the source code 60 (S1101) and reads it from the storage unit 30 (S1102) according to the operation by the user. For example, the function designation unit 24 selects and reads the source code 60a in FIG. 7.

その後、関数指定部24は、読み込んだソースコード60を解析して(S1103)、ソースコード60に含まれる関数を、ユーザによる操作により選択可能に表示部40に表示する(S1104)。例えば、ソースコード60に含まれる関数は、プルダウンメニューから選択可能に表示されてもよい。その後、関数指定部24は、ユーザによる操作に従って変更対象の関数を選択する(S1105)。図20は、ソースコード60aが読み込まれて、ソースコード60aに含まれる関数xxxxxが選択されている状態を示す。 After that, the function designation unit 24 analyzes the read source code 60 (S1103), and displays the function included in the source code 60 on the display unit 40 so as to be selectable by a user operation (S1104). For example, the function included in the source code 60 may be displayed selectably from a pull-down menu. After that, the function designation unit 24 selects the function to be changed according to the operation by the user (S1105). FIG. 20 shows a state in which the source code 60a is read and the function xxxxxx included in the source code 60a is selected.

その後、関数指定部24は、被影響関数情報65を生成して記憶部30に記憶し(S1106)、ソースコード60に含まれる関数を、被影響関数情報65に入力する(S1107~S1110)。 After that, the function designation unit 24 generates the affected function information 65 and stores it in the storage unit 30 (S1106), and inputs the function included in the source code 60 into the affected function information 65 (S1107 to S1110).

関数指定部24は、変数kに1を入力する(S1107)。 The function designation unit 24 inputs 1 to the variable k (S1107).

関数指定部24は、ソースコード60にk番目の関数が含まれていると判断した場合(S1107でYes)、k番目の関数に関する情報を、被影響関数情報65に入力する(S1109)。詳細は後述する。 When the function specifying unit 24 determines that the k-th function is included in the source code 60 (Yes in S1107), the function specifying unit 24 inputs information about the k-th function into the affected function information 65 (S1109). Details will be described later.

その後、関数指定部24は、変数kに1を加算する(S1110)。 After that, the function designation unit 24 adds 1 to the variable k (S1110).

一方、関数指定部24は、ソースコード60にk番目の関数が含まれていないと判断した場合(S1108でNo)、本処理を終了する。 On the other hand, when the function designation unit 24 determines that the k-th function is not included in the source code 60 (No in S1108), the function designation unit 24 ends this process.

図18は、k番目の関数に関する情報を、被影響関数情報65に入力する処理(図17のS1109)を示すフローチャートである。 FIG. 18 is a flowchart showing a process (S1109 of FIG. 17) of inputting information about the k-th function into the affected function information 65.

最初に、k番目の関数が変更対象の関数を参照していないと判断した場合(S1111でNo)、関数指定部24は、変更対象の関数がk番目の関数を参照しているか否かを判断する(S1112)。図7の例では、k=1のときに、1番目の関数xxxxxは、変更対象の関数xxxxxを参照していないと判断する。 First, when it is determined that the kth function does not refer to the function to be changed (No in S1111), the function specification unit 24 determines whether or not the function to be changed refers to the kth function. Judgment (S1112). In the example of FIG. 7, when k = 1, it is determined that the first function xxxxxx does not refer to the function xxxxxx to be changed.

その後、変更対象の関数がk番目の関数を参照していないと判断した場合(S1112でNo)、関数指定部24は、変更対象の関数と参照関係にある関数が、k番目の関数を参照しているか否かを判断する(S1113)。図7の例では、k=1のときに、変更対象の関数と参照関係にある関数が、1番目の関数xxxxxを参照していないと判断する。 After that, when it is determined that the function to be changed does not refer to the kth function (No in S1112), the function specification unit 24 refers to the kth function by the function having a reference relationship with the function to be changed. It is determined whether or not the function is performed (S1113). In the example of FIG. 7, when k = 1, it is determined that the function having a reference relationship with the function to be changed does not refer to the first function xxxxxx.

その後、変更対象の関数と参照関係にある関数が、k番目の関数を参照していないと判断した場合(S1113でNo)、関数指定部24は、k番目の関数が、変更対象の関数と参照関係にある関数を参照しているか否かを判断する(S1114)。図7の例では、k=1のときに、変更対象の関数と参照関係にある関数が、1番目の関数xxxxxを参照していないと判断する。 After that, when it is determined that the function having a reference relationship with the function to be changed does not refer to the kth function (No in S1113), the function specification unit 24 determines that the kth function is the function to be changed. It is determined whether or not the function in the reference relationship is referenced (S1114). In the example of FIG. 7, when k = 1, it is determined that the function having a reference relationship with the function to be changed does not refer to the first function xxxxxx.

その後、k番目の関数が、変更対象の関数と参照関係にある関数を参照していないと判断した場合(S1114でNo)、関数指定部24は、本処理を終了する。図7の例では、k=1のときに、関数指定部24は、1番目の関数xxxxxが、変更対象の関数と参照関係にある関数を参照していないと判断して、本処理を終了する。 After that, when it is determined that the kth function does not refer to the function having a reference relationship with the function to be changed (No in S1114), the function designation unit 24 ends this process. In the example of FIG. 7, when k = 1, the function specification unit 24 determines that the first function xxxxxx does not refer to the function having a reference relationship with the function to be changed, and ends this process. do.

一方、k番目の関数が変更対象の関数を参照していると判断した場合(S1111でYes)、関数指定部24は、被影響関数情報65の影響の分類欄に「1」を入力して(S1115)、k番目の関数の関数名を、被影響関数情報65の関数欄に入力して(S1119)、本処理を終了する。 On the other hand, when it is determined that the kth function refers to the function to be changed (Yes in S1111), the function specification unit 24 inputs "1" in the influence classification field of the affected function information 65. (S1115), the function name of the kth function is input in the function field of the affected function information 65 (S1119), and this process is terminated.

変更対象の関数がk番目の関数を参照していると判断した場合(S1112でYes)、関数指定部24は、被影響関数情報65の影響の分類欄に「2」を入力して(S1116)、k番目の関数の関数名を、被影響関数情報65の関数欄に入力して(S1119)、本処理を終了する。 When it is determined that the function to be changed refers to the kth function (Yes in S1112), the function specification unit 24 inputs "2" in the influence classification field of the affected function information 65 (S1116). ), Enter the function name of the kth function in the function field of the affected function information 65 (S1119), and end this process.

変更対象の関数と参照関係にある関数が、k番目の関数を参照していると判断した場合(S1113でYes)、関数指定部24は、被影響関数情報65の影響の分類欄に「3」を入力して(S1117)、k番目の関数の関数名を、被影響関数情報65の関数名欄に入力して(S1119)、本処理を終了する。 When it is determined that the function having a reference relationship with the function to be changed refers to the kth function (Yes in S1113), the function specification unit 24 puts "3" in the influence classification column of the affected function information 65. (S1117), enter the function name of the kth function in the function name field of the affected function information 65 (S1119), and end this process.

k番目の関数が、変更対象の関数と参照関係にある関数を参照していると判断した場合(S1114でYes)、関数指定部24は、被影響関数情報65の影響の分類欄に「4」を入力して(S1118)、k番目の関数の関数名を、被影響関数情報65の関数欄に入力して(S1119)、本処理を終了する。 When it is determined that the kth function refers to a function having a reference relationship with the function to be changed (Yes in S1114), the function specification unit 24 puts "4" in the influence classification column of the affected function information 65. (S1118), enter the function name of the kth function in the function field of the affected function information 65 (S1119), and end this process.

以上のようにして、ソースコード60から被影響関数情報65が生成されて記憶部30に記憶される。 As described above, the affected function information 65 is generated from the source code 60 and stored in the storage unit 30.

2-5.変更影響分析部の動作
図4に示すように、変更影響分析部25は、機能仕様書64および被影響関数情報65を入力して、それに基づき機能に対する変更影響度情報66を生成して記憶部30に記憶する。図21は、変更影響分析部25の動作を示すフローチャートである。図22は、変更影響分析部25により生成される、機能に対する変更影響度情報66の一例を示す図である。
2-5. Operation of the change impact analysis unit As shown in FIG. 4, the change impact analysis unit 25 inputs the functional specification 64 and the affected function information 65, generates change impact information 66 for the function based on the input, and stores the function specification 64. Store in 30. FIG. 21 is a flowchart showing the operation of the change influence analysis unit 25. FIG. 22 is a diagram showing an example of the change influence degree information 66 on the function generated by the change influence analysis unit 25.

以下、図21を用いて、変更影響分析部25の動作を説明する。 Hereinafter, the operation of the change effect analysis unit 25 will be described with reference to FIG. 21.

図21において、最初に、変更影響分析部25は、機能仕様書64および被影響関数情報65を記憶部30から読み込む(S1601)。例えば、変更影響分析部25は、図14の機能仕様書64aおよび図19の被影響関数情報65aを読み込む。 In FIG. 21, first, the change influence analysis unit 25 reads the functional specification 64 and the affected function information 65 from the storage unit 30 (S1601). For example, the change influence analysis unit 25 reads the functional specification 64a of FIG. 14 and the affected function information 65a of FIG.

その後、変更影響分析部25は、機能仕様書64の最上欄の文字列の、機能に対する変更影響度情報66への配置を確定する(S1602)。図14,19の例では、変更影響分析部25は、図22のように機能仕様書64aの最上欄の文字列「xxxxx機能」の、機能に対する変更影響度情報66aの機能欄への配置を確定する。 After that, the change influence analysis unit 25 determines the arrangement of the character string in the uppermost column of the functional specification document 64 in the change influence degree information 66 for the function (S1602). In the examples of FIGS. 14 and 19, the change influence analysis unit 25 arranges the character string "xxxxxx function" in the uppermost column of the functional specification document 64a in the function column of the change influence degree information 66a on the function as shown in FIG. Determine.

その後、変更影響分析部25は、変更影響度、すなわち、被影響関数情報65に含まれる関数の数を算出する(S1603)。図14,19の例では、被影響関数情報65aが関数を含まないので、変更影響分析部25は、変更影響度として「0」を算出する。 After that, the change influence analysis unit 25 calculates the change influence degree, that is, the number of functions included in the affected function information 65 (S1603). In the examples of FIGS. 14 and 19, since the affected function information 65a does not include the function, the change influence analysis unit 25 calculates “0” as the change influence degree.

その後、変更影響分析部25は、算出した変更影響度の、機能に対する変更影響度情報66への配置を確定する(S1604)。図14,19の例では、変更影響度「0」の、機能に対する変更影響度情報66aの変更影響度欄への配置を確定する。 After that, the change influence analysis unit 25 determines the arrangement of the calculated change influence degree in the change influence degree information 66 with respect to the function (S1604). In the examples of FIGS. 14 and 19, the arrangement of the change influence degree “0” in the change influence degree column of the change influence degree information 66a for the function is confirmed.

その後、変更影響分析部25は、機能に対する変更影響度情報66を生成して記憶部30に記憶する(S1605)。図14,19の例では、機能に対する変更影響度情報66aを生成する。以上のようにして、機能仕様書64および被影響関数情報65から機能に対する変更影響度情報66が生成されて記憶部30に記憶される。プロセッサ20は、操作部50を介したユーザによる操作に基づいて、機能に対する変更影響度情報66を表示部40に表示する。 After that, the change influence analysis unit 25 generates the change influence degree information 66 for the function and stores it in the storage unit 30 (S1605). In the examples of FIGS. 14 and 19, change influence degree information 66a on the function is generated. As described above, the change influence degree information 66 on the function is generated from the functional specification 64 and the affected function information 65 and stored in the storage unit 30. The processor 20 displays the change influence degree information 66 on the function on the display unit 40 based on the operation by the user via the operation unit 50.

3.別のソースコードを読み込んだときの変更影響分析装置の動作例
以上の説明においては、図7に示すような、変更対象の関数が他の関数を含んでいないソースコード60aを例示して変更影響分析装置10の動作を説明した。以下では、図23に示すような、変更対象の関数が他の関数を含むソースコード60bを例示して変更影響分析装置10の動作を説明する。
3. 3. Operation example of the change effect analyzer when another source code is read In the above description, the change effect is illustrated by exemplifying the source code 60a in which the function to be changed does not include other functions as shown in FIG. The operation of the analyzer 10 has been described. In the following, the operation of the change effect analysis device 10 will be described by exemplifying the source code 60b in which the function to be changed includes other functions as shown in FIG. 23.

図23は、別のソースコード60bを例示する図である。図24は、ソースコード60bから生成されるオブジェクトリスト61bを示す。ソースコード60aと比べて、ソースコード60bは、関数1~4をさらに含む。したがって、第1ソースコードリバース部21は、関数xxxxxについての情報に加えて、関数1~4についての情報を、オブジェクトリスト61bに入力する(図5のS404~S407)。このとき、第1ソースコードリバース部21は、関数名の日本語記述および関数名をオブジェクトリスト61bに入力し(図6のS408、S409)、関数1~4は入力および出力を有しないので、入力欄および出力欄に文字列「なし」を入力する(図6のS411~S417)。 FIG. 23 is a diagram illustrating another source code 60b. FIG. 24 shows an object list 61b generated from the source code 60b. Compared to the source code 60a, the source code 60b further includes functions 1 to 4. Therefore, the first source code reverse unit 21 inputs the information about the functions 1 to 4 into the object list 61b in addition to the information about the functions xxxxxx (S404 to S407 in FIG. 5). At this time, the first source code reverse unit 21 inputs the Japanese description of the function name and the function name into the object list 61b (S408 and S409 in FIG. 6), and the functions 1 to 4 have no input and output. Enter the character string "None" in the input field and the output field (S411 to S417 in FIG. 6).

図25~29は、ソースコード60bおよびオブジェクトリスト61bに基づいて作成されるプロセス仕様書62を示す。オブジェクトリスト61aと比べて、オブジェクトリスト61bは、関数欄に関数1~4をさらに含む。よって、第2ソースコードリバース部22は、関数xxxxxのプロセス仕様書に加えて、関数1~4のプロセス仕様書をさらに生成する(図9のS602)。 25 to 29 show the process specification 62 created based on the source code 60b and the object list 61b. Compared to the object list 61a, the object list 61b further includes functions 1 to 4 in the function column. Therefore, the second source code reverse unit 22 further generates the process specifications of the functions 1 to 4 in addition to the process specifications of the function xxxxxx (S602 in FIG. 9).

また、ソースコード60aの関数xxxxxと比べて、ソースコード60bの関数xxxxxは、「f2();」をさらに含む。第2ソースコードリバース部22は、「f2();」を操作の記述であると判断して、操作の記述であることを示す記号「・」を入力する。さらに、オブジェクトリスト61bの関数欄と関数のラベル欄との対応関係に基づいて「f2();」を「関数2」に変換する(図9のS613)。よって、第2ソースコードリバース部22は、図25のプロセス仕様書62b1を出力する。同様に、第2ソースコードリバース部22は、図26~29の、関数1~4のプロセス仕様書62b2~62b5を出力する。 Further, the function xxxxxx of the source code 60b further includes "f2 ();" as compared with the function xxxxxx of the source code 60a. The second source code reverse unit 22 determines that "f2 ();" is a description of the operation, and inputs a symbol "·" indicating that it is a description of the operation. Further, "f2 ();" is converted to "function 2" based on the correspondence between the function column of the object list 61b and the label column of the function (S613 in FIG. 9). Therefore, the second source code reverse unit 22 outputs the process specification 62b1 of FIG. 25. Similarly, the second source code reverse unit 22 outputs the process specifications 62b2 to 62b5 of the functions 1 to 4 shown in FIGS. 26 to 29.

図30は、別の機能仕様書64bを例示する図である。機能仕様書64bは、プロセス仕様書62b1~62b5および図13の機能の依存関係情報63aから生成される。図11(B)のプロセス仕様書62a6と比べて、プロセス仕様書62b1は、処理欄に文字列「・関数2」をさらに含む。したがって、マッピング部23は、図30のように機能仕様書64bを生成する。 FIG. 30 is a diagram illustrating another functional specification 64b. The functional specification 64b is generated from the process specifications 62b1 to 62b5 and the function dependency information 63a of FIG. Compared with the process specification 62a6 of FIG. 11B, the process specification 62b1 further includes the character string “・ function 2” in the processing column. Therefore, the mapping unit 23 generates the functional specification 64b as shown in FIG.

図31は、別の、被影響関数情報65bを例示する図である。被影響関数情報65bは、ソースコード60bから生成される。ソースコード60aと比べて、ソースコード60bは、変更対象の関数xxxxxと関連する関数1~4をさらに含む。関数指定部24は、関数1~4を4つに分類する。 FIG. 31 is a diagram illustrating another affected function information 65b. The affected function information 65b is generated from the source code 60b. Compared to the source code 60a, the source code 60b further includes functions 1 to 4 associated with the function to be modified xxxxxx. The function designation unit 24 classifies the functions 1 to 4 into four.

図33は、関数xxxxxと関数1~4との関連性を説明するための図である。図33において、矢印は、参照元の関数から参照先の関数に向かっている。関数1は、関数xxxxxを参照するので「1」に分類される(図18のS1115)。関数2は、関数xxxxxに参照されるので「2」に分類される(図18のS1116)。関数3は、関数xxxxxと参照関係にある関数2を参照するので「3」に分類される(図18のS1117)。関数4は、関数xxxxxと参照関係にある関数2に参照されるので「4」に分類される(図18のS1118)。 FIG. 33 is a diagram for explaining the relationship between the functions xxxxxx and the functions 1 to 4. In FIG. 33, the arrow points from the referencing function to the referenced function. Since the function 1 refers to the function xxxxxx, it is classified as "1" (S1115 in FIG. 18). Since the function 2 is referred to by the function xxxxxx, it is classified as "2" (S1116 in FIG. 18). Since the function 3 refers to the function 2 which has a reference relationship with the function xxxxxx, it is classified as "3" (S1117 in FIG. 18). Since the function 4 is referred to by the function 2 which has a reference relationship with the function xxxxxx, it is classified into "4" (S1118 in FIG. 18).

図32は、別の、機能に対する変更影響度情報66bを例示する図である。機能に対する変更影響度情報66bは、機能仕様書64bおよび被影響関数情報65bから生成される。xxxxx機能は変更対象の関数xxxxxで実現され、関数xxxxxと関連する関数は、被影響関数情報65bによれば、4つあるので、機能に対する変更影響度情報66bのように、変更影響度欄には「4」が入力される。 FIG. 32 is a diagram illustrating another change influence degree information 66b on the function. The change influence degree information 66b on the function is generated from the functional specification 64b and the affected function information 65b. The xxxxxx function is realized by the function xxxxxx to be changed, and there are four functions related to the function xxxxxx according to the affected function information 65b. Is entered as "4".

以上のように、本実施の形態の変更影響分析装置10は、変更対象の機能に対する変更影響度を算出して表示する。変更影響度は、「変更対象の関数が他の関数により参照される回数」に加えて、「変更対象の関数が他の関数を参照する回数」、「変更対象の関数と直接的な参照関係にある関数が他の関数を参照する回数」、および「変更対象の関数と直接的な参照関係にある関数が他の関数に参照される回数」を考慮して算出される。算出された変更影響度を参照することによって、ユーザは、特定の機能の変更がソフトウェア全体に及ぼす影響を適切に把握することができる。このことにより、ユーザは、当該影響を考慮した上で効率よくソフトウェアの流用開発を行うことができる。 As described above, the change influence analysis device 10 of the present embodiment calculates and displays the degree of change influence on the function to be changed. In addition to "the number of times the function to be changed is referenced by other functions", "the number of times the function to be changed refers to other functions" and "the direct reference relationship with the function to be changed" It is calculated in consideration of "the number of times a function in the above refers to another function" and "the number of times a function having a direct reference relationship with the function to be changed is referred to by another function". By referring to the calculated change impact, the user can better understand the impact of a particular feature change on the software as a whole. As a result, the user can efficiently divert and develop the software in consideration of the influence.

4.まとめ
以上説明したように、本実施の形態に係る変更影響分析装置10は、ソースコード60を分析して、変更対象の機能が、ソースコード60に基づくソフトウェア全体に与える影響を示す、機能に対する変更影響度情報66を出力する装置である。変更影響分析装置10は、ソースコードの分析処理を行うプロセッサ20を備える。プロセッサ20は、第1ソースコードリバース部21と、第2ソースコードリバース部22と、マッピング部23と、関数指定部24と、変更影響分析部25とを備える。第1ソースコードリバース部21は、ソースコード60から、ソースコード60に含まれる各関数が記述されるオブジェクトリスト61を生成する。第2ソースコードリバース部22は、オブジェクトリスト61から、各関数により実現される各プロセスの入力、処理、および出力が記述されるプロセス仕様書62を生成する。マッピング部23は、プロセス仕様書62および各プロセスにより実現される各機能が定義される機能の依存関係情報63から、変更対象の機能を実現する変更対象のプロセスの処理が記述される機能仕様書64を生成する。関数指定部24は、ソースコード60から、変更対象の関数から影響を受ける他の関数が記述される、被影響関数情報65を生成する。変更影響分析部25は、機能仕様書64および被影響関数情報65から、機能に対する変更影響度情報66を出力する。
4. Summary As described above, the change impact analyzer 10 according to the present embodiment analyzes the source code 60 and shows the influence of the function to be changed on the entire software based on the source code 60. It is a device that outputs the influence degree information 66. The change impact analyzer 10 includes a processor 20 that performs source code analysis processing. The processor 20 includes a first source code reverse unit 21, a second source code reverse unit 22, a mapping unit 23, a function designation unit 24, and a change effect analysis unit 25. The first source code reverse unit 21 generates an object list 61 in which each function included in the source code 60 is described from the source code 60. The second source code reverse unit 22 generates a process specification 62 in which the inputs, processes, and outputs of each process realized by each function are described from the object list 61. The mapping unit 23 describes the processing of the process to be changed that realizes the function to be changed from the process specification 62 and the dependency information 63 of the function that defines each function realized by each process. Generate 64. The function specification unit 24 generates the affected function information 65 in which other functions affected by the function to be changed are described from the source code 60. The change influence analysis unit 25 outputs the change influence degree information 66 for the function from the functional specification 64 and the affected function information 65.

機能に対する変更影響度情報66は、変更対象の機能と、変更対象の機能からソフトウェア全体が受ける影響の度合いを示す変更影響度とを対応付けた情報である。 The change impact degree information 66 on the function is information in which the function to be changed is associated with the change influence degree indicating the degree of influence on the entire software from the function to be changed.

変更影響度は、「変更対象の関数が他の関数により参照される回数」と、「変更対象の関数が他の関数を参照する回数」と、「変更対象の関数と直接的な参照関係にある関数が他の関数を参照する回数」と、「変更対象の関数と直接的な参照関係にある関数が他の関数に参照される回数」と、に基づき算出する値である。 The degree of change impact is "the number of times the function to be changed is referenced by another function", "the number of times the function to be changed refers to another function", and "the direct reference relationship with the function to be changed". It is a value calculated based on "the number of times a function refers to another function" and "the number of times a function having a direct reference relationship with the function to be changed is referred to by another function".

より具体的には、変更影響度は、「変更対象の関数が他の関数により参照される回数」と、「変更対象の関数が他の関数を参照する回数」と、「変更対象の関数と直接的な参照関係にある関数が他の関数を参照する回数」と、「変更対象の関数と直接的な参照関係にある関数が他の関数に参照される回数」と、を加算した値である。 More specifically, the degree of influence of the change is "the number of times the function to be changed is referenced by another function", "the number of times the function to be changed refers to another function", and "the function to be changed". The sum of "the number of times a function in a direct reference relationship refers to another function" and "the number of times a function in a direct reference relationship with the function to be changed is referred to by another function". be.

または、変更影響度は、「変更対象の関数が他の関数により参照される回数」と、「変更対象の関数が他の関数を参照する回数」と、「変更対象の関数と直接的な参照関係にある関数が他の関数を参照する回数」と、「変更対象の関数と直接的な参照関係にある関数が他の関数に参照される回数」と、を乗算した値としても良いし、それ以外に組み合わせて関連付けることにより増加する値としても良い。 Alternatively, the degree of impact of the change is "the number of times the function to be changed is referenced by another function", "the number of times the function to be changed refers to another function", and "the number of times the function to be changed refers to another function" and "direct reference to the function to be changed". It may be a value obtained by multiplying "the number of times the related function refers to another function" and "the number of times the function having a direct reference relationship with the function to be changed is referred to by another function". Other than that, it may be a value that increases by associating in combination.

機能に対する変更影響度情報66を参照することによって、ユーザは、特定の機能の変更がソフトウェア全体に及ぼす影響を適切に把握することができる。このことにより、ユーザは、当該影響を考慮した上で効率よくソフトウェアの流用開発を行うことができる。 By referring to the change impact information 66 on the function, the user can appropriately grasp the effect of the change of a specific function on the entire software. As a result, the user can efficiently divert and develop the software in consideration of the influence.

実施の形態2.
以下、変更影響分析装置10の別の実施の形態について説明する。
Embodiment 2.
Hereinafter, another embodiment of the change impact analysis device 10 will be described.

実施の形態1の変更影響分析装置10は、変更対象の機能と当該機能の変更影響度とを表示部40に表示することによって、ユーザに、変更の難易度を認識させた。これに対して、本実施の形態の変更影響分析装置10は、変更対象の機能と、当該機能を実現するプロセスおよび関数とを表示部40に表示する。それにより、ユーザに、より詳細に変更の難易度を認識させる。 The change influence analysis device 10 of the first embodiment causes the user to recognize the difficulty level of the change by displaying the function to be changed and the change influence degree of the function on the display unit 40. On the other hand, the change influence analysis device 10 of the present embodiment displays the function to be changed and the process and function for realizing the function on the display unit 40. This makes the user aware of the difficulty of the change in more detail.

図34は、本実施の形態に係る、変更影響分析部25aに対するデータの入出力を示す図である。本実施の形態の変更影響分析装置10は、変更影響分析部25aの機能が実施の形態1のものと異なる。変更影響分析部25aは、プロセス仕様書62、機能仕様書64、および被影響関数情報65を入力して、それに基づき機能、プロセス、関数の対応情報67を生成して記憶部30に記憶する。機能、プロセス、関数の対応情報67は、ソフトウェア影響情報の一例である。 FIG. 34 is a diagram showing data input / output to the change impact analysis unit 25a according to the present embodiment. In the change influence analysis device 10 of the present embodiment, the function of the change influence analysis unit 25a is different from that of the first embodiment. The change influence analysis unit 25a inputs the process specification 62, the functional specification 64, and the affected function information 65, generates the correspondence information 67 of the function, the process, and the function based on the input, and stores it in the storage unit 30. The function, process, and function correspondence information 67 is an example of software impact information.

機能、プロセス、関数の対応情報67は、変更対象の機能と、当該機能を実現するプロセスおよび関数とが記述されたデータである。 The correspondence information 67 of the function, the process, and the function is data in which the function to be changed and the process and the function that realize the function are described.

本実施の形態に係る、変更影響分析部25aの動作について説明する。 The operation of the change influence analysis unit 25a according to the present embodiment will be described.

図35は、本実施の形態に係る、変更影響分析部25aの動作を示すフローチャートである。図36は、機能、プロセス、関数の対応情報67の一例を示す図である。 FIG. 35 is a flowchart showing the operation of the change impact analysis unit 25a according to the present embodiment. FIG. 36 is a diagram showing an example of correspondence information 67 of a function, a process, and a function.

最初に、変更影響分析部25aは、プロセス仕様書62、機能仕様書64、および被影響関数情報65を記憶部30から読み込む(S1701)。例えば、変更影響分析部25aは、図25~29のプロセス仕様書62b1~62b5、図30の機能仕様書64b、および図31の被影響関数情報65bを読み込む。 First, the change effect analysis unit 25a reads the process specification 62, the functional specification 64, and the affected function information 65 from the storage unit 30 (S1701). For example, the change effect analysis unit 25a reads the process specifications 62b1 to 62b5 of FIGS. 25 to 29, the functional specifications 64b of FIG. 30, and the affected function information 65b of FIG.

その後、変更影響分析部25aは、機能仕様書64の最上欄の文字列の、機能、プロセス、関数の対応情報67への配置を確定する(S1702)。図25~29,30,31の例では、変更影響分析部25aは、図36のように、機能仕様書64bの最上欄の文字列「xxxxx機能」の、機能、プロセス、関数の対応情報67bの機能欄への配置を確定する。 After that, the change effect analysis unit 25a determines the arrangement of the character string in the uppermost column of the functional specification document 64 in the correspondence information 67 of the function, process, and function (S1702). In the examples of FIGS. 25 to 29, 30, and 31, the change impact analysis unit 25a has the corresponding information 67b of the function, process, and function of the character string "xxxxxx function" in the uppermost column of the functional specification document 64b, as shown in FIG. Confirm the placement of in the function column.

その後、変更影響分析部25aは、被影響関数情報65の関数欄に記述された各関数と関連するプロセスのプロセス名および当該プロセスが記述されたプロセス仕様書の行番号の、機能、プロセス、関数の対応情報67のプロセス欄への配置を確定する(S1703)。 After that, the change impact analysis unit 25a determines the function, process, and function of the process name of each function described in the function column of the affected function information 65 and the line number of the process specification in which the process is described. The arrangement of the corresponding information 67 in the process column is confirmed (S1703).

図25~29,30,31の例では、被影響関数情報65bによれば、プロセス関数1は、xxxxx機能のプロセスを呼び出すので、図36の機能、プロセス、関数の対応情報67bのように、プロセス名「関数1」および関数1のプロセス仕様書62b2の処理欄の行番号「○」が配置される。同様に、プロセス関数2は、xxxxx機能のプロセスにより呼び出されるので、プロセス名「xxxxx機能」およびxxxxx機能のプロセス仕様書62b1の処理欄の行番号「3」が配置される。プロセス関数3は、プロセス関数2を呼び出すので、プロセス名「関数2」および関数2のプロセス仕様書62b3の処理欄の行番号「△」が配置される。プロセス関数4は、プロセス関数2を呼び出すので、プロセス名「関数4」および関数4のプロセス仕様書62b5の処理欄の行番号「×」が配置される。 In the examples of FIGS. 25 to 29, 30, and 31, according to the affected function information 65b, the process function 1 calls the process of the xxxxxx function. The process name "function 1" and the line number "○" in the processing column of the process specification 62b2 of the function 1 are arranged. Similarly, since the process function 2 is called by the process of the xxxxxx function, the line number "3" of the process column of the process name "xxxxxx function" and the process specification 62b1 of the xxxxxx function is arranged. Since the process function 3 calls the process function 2, the process name "function 2" and the line number "Δ" in the processing column of the process specification 62b3 of the function 2 are arranged. Since the process function 4 calls the process function 2, the process name "function 4" and the line number "x" in the processing column of the process specification 62b5 of the function 4 are arranged.

その後、変更影響分析部25aは、被影響関数情報65の関数欄の各文字列の、機能、プロセス、関数の対応情報67への配置を確定する(S1704)。図25~29,30,31の例では、図36のように、被影響関数情報65bの関数欄の文字列「関数1」「関数2」「関数3」「関数4」それぞれの、機能、プロセス、関数の対応情報67bの関数欄への配置を確定する。 After that, the change effect analysis unit 25a determines the arrangement of each character string in the function column of the affected function information 65 in the corresponding information 67 of the function, process, and function (S1704). In the examples of FIGS. 25 to 29, 30, and 31, as shown in FIG. 36, the functions of the character strings “function 1”, “function 2”, “function 3”, and “function 4” in the function column of the affected function information 65b, respectively. The arrangement of the process and function correspondence information 67b in the function column is confirmed.

その後、変更影響分析部25aは、機能、プロセス、関数の対応情報67を生成して記憶部30に記憶する(S1705)。図25~29,30,31の例では、図36の機能、プロセス、関数の対応情報67bを生成する。以上のようにして、プロセス仕様書62、機能仕様書64、および被影響関数情報65から機能、プロセス、関数の対応情報67が生成されて記憶部30に記憶される。プロセッサ20は、操作部50を介したユーザによる操作に基づいて、機能、プロセス、関数の対応情報67を表示部40に表示する。 After that, the change effect analysis unit 25a generates the correspondence information 67 of the function, the process, and the function and stores it in the storage unit 30 (S1705). In the examples of FIGS. 25 to 29, 30, and 31, the correspondence information 67b of the function, process, and function of FIG. 36 is generated. As described above, the function, process, and function correspondence information 67 is generated from the process specification 62, the functional specification 64, and the affected function information 65, and is stored in the storage unit 30. The processor 20 displays the correspondence information 67 of the function, the process, and the function on the display unit 40 based on the operation by the user via the operation unit 50.

以上のように、本実施の形態に係る変更影響分析装置10は、機能、プロセス、関数の対応情報67を表示部40に表示する。機能、プロセス、関数の対応情報67は、変更対象の機能と、当該機能を実現するプロセスおよび関数とを対応付けたデータである。機能、プロセス、関数の対応情報67を参照することによって、ユーザは、変更対象の機能を、プロセスおよび関数と対応付けて把握することができる。このことにより、ユーザは、特定の機能の変更により影響を受けるプロセスおよび関数を考慮した上でソフトウェアの流用開発を行うことができる。 As described above, the change impact analysis device 10 according to the present embodiment displays the correspondence information 67 of the function, the process, and the function on the display unit 40. The correspondence information 67 of a function, a process, and a function is data in which the function to be changed is associated with the process and the function that realizes the function. By referring to the correspondence information 67 of the function, the process, and the function, the user can grasp the function to be changed in association with the process and the function. This allows the user to divert and develop the software in consideration of the processes and functions affected by the change of a specific function.

以上説明したように、本実施の形態に係る変更影響分析部25aは、プロセス仕様書62をさらに読み込んで、機能、プロセス、関数の対応情報67を出力する。 As described above, the change impact analysis unit 25a according to the present embodiment further reads the process specification 62 and outputs the correspondence information 67 of the function, the process, and the function.

機能、プロセス、関数の対応情報67は、変更対象の機能と、変更対象の機能から影響を受けるプロセスおよび関数とを対応付けた情報である。 The correspondence information 67 of a function, a process, and a function is information in which the function to be changed is associated with the process and the function affected by the function to be changed.

機能、プロセス、関数の対応情報67を参照することによって、ユーザは、変更対象の機能を、プロセスおよび関数と対応付けて把握することができる。このことにより、ユーザは、特定の機能の変更により影響を受けるプロセスおよび関数を考慮した上でソフトウェアの流用開発を行うことができる。 By referring to the correspondence information 67 of the function, the process, and the function, the user can grasp the function to be changed in association with the process and the function. This allows the user to divert and develop the software in consideration of the processes and functions affected by the change of a specific function.

他の実施の形態.
以上のように、本発明における技術の例示として、実施の形態を説明した。しかしながら、本発明における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
Other embodiments.
As described above, an embodiment has been described as an example of the technique in the present invention. However, the technique of the present invention is not limited to this, and can be applied to embodiments in which changes, replacements, additions, omissions, etc. are made as appropriate. Further, it is also possible to combine the components described in the above-described embodiment into a new embodiment.

上記の実施の形態では、ソースコード60はC言語で記述されるが、これに限定されない。例えば、C++、Java(登録商標)、Python、Ruby等の他の言語で記述されていてもよい。 In the above embodiment, the source code 60 is written in C language, but is not limited thereto. For example, it may be described in other languages such as C ++, Java®, Python, and Ruby.

上記の実施の形態では、プロセス仕様書62は日本語で記述されるが、これに限定されない。例えば、英語、フランス語、スペイン語等の他の言語で記述されてもよい。 In the above embodiment, the process specification 62 is described in Japanese, but is not limited thereto. For example, it may be written in other languages such as English, French, and Spanish.

実施の形態1の変更影響分析装置10は、機能に対する変更影響度情報66のみを出力し、実施の形態2の変更影響分析装置10は、機能、プロセス、関数の対応情報67のみを出力したが、これに限定されない。例えば、変更影響分析装置10は、分析を開始する前に図37の選択画面を表示して、ユーザは、機能に対する変更影響度情報66、および機能、プロセス、関数の対応情報67のうちの少なくとも一つを選択できてもよい。 The change impact analyzer 10 of the first embodiment outputs only the change impact degree information 66 for the function, and the change impact analyzer 10 of the second embodiment outputs only the correspondence information 67 of the function, the process, and the function. , Not limited to this. For example, the change impact analyzer 10 displays the selection screen of FIG. 37 before starting the analysis, and the user can use at least one of the change impact degree information 66 for the function and the correspondence information 67 of the function, process, and function. You may be able to select one.

10 変更影響分析装置
20 プロセッサ
21 第1ソースコードリバース部
22 第2ソースコードリバース部
23 マッピング部
24 関数指定部
25、25a 変更影響分析部
30 記憶部
40 表示部
50 操作部
60 ソースコード
61 オブジェクトリスト
62 プロセス仕様書
63 機能の依存関係情報
64 機能仕様書
65 被影響関数情報
66 機能に対する変更影響度情報
67 機能、プロセス、関数の対応情報
10 Change impact analysis device 20 Processor 21 1st source code reverse unit 22 2nd source code reverse unit 23 Mapping unit 24 Function specification unit 25, 25a Change impact analysis unit 30 Storage unit 40 Display unit 50 Operation unit 60 Source code 61 Object list 62 Process specifications 63 Function dependency information 64 Functional specifications 65 Affected function information 66 Change impact information on functions 67 Function, process, and function correspondence information

Claims (5)

ソースコードを分析して、変更対象の機能が、前記ソースコードに基づくソフトウェア全体に与える影響を示す、ソフトウェア影響情報を出力する装置であって、
前記ソースコードの分析処理を行う制御部を備え、
前記制御部は、
前記ソースコードから、前記ソースコードに含まれる各関数が記述されるオブジェクトリストを生成する第1ソースコードリバース部と、
前記オブジェクトリストから、前記各関数により実現される各プロセスの入力、処理、および出力が記述されるプロセス仕様書を生成する第2ソースコードリバース部と、
前記プロセス仕様書および前記各プロセスにより実現される各機能が定義される、機能の依存関係情報から、変更対象の機能を実現する変更対象のプロセスの処理が記述される機能仕様書を生成するマッピング部と、
前記ソースコードから、変更対象の関数から影響を受ける他の関数が記述される、被影響関数情報を生成する関数指定部と、
前記機能仕様書および前記被影響関数情報から、前記ソフトウェア影響情報を出力する変更影響分析部と、を備える
変更影響分析装置。
A device that analyzes source code and outputs software impact information that shows the impact of the function to be changed on the entire software based on the source code.
A control unit that performs analysis processing of the source code is provided.
The control unit
From the source code, a first source code reverse part that generates an object list in which each function included in the source code is described, and
From the object list, a second source code reverse unit that generates a process specification in which the inputs, processes, and outputs of each process realized by each function are described, and
Mapping that generates a functional specification that describes the processing of the process to be changed that realizes the function to be changed from the dependency information of the function that defines the process specification and each function realized by each process. Department and
From the source code, a function specification unit that generates affected function information, in which other functions affected by the function to be changed are described, and
A change impact analysis device including a change impact analysis unit that outputs the software impact information from the functional specifications and the affected function information.
前記ソフトウェア影響情報は、
前記変更対象の機能と、前記変更対象の機能から前記ソフトウェア全体が受ける影響の度合いを示す変更影響度とを対応付けた情報である、
請求項1に記載の変更影響分析装置。
The software impact information is
This is information in which the function to be changed is associated with the degree of influence of the change, which indicates the degree of influence of the function to be changed on the entire software.
The change impact analyzer according to claim 1.
前記変更影響度は、
前記変更対象の関数が他の関数により参照される回数と、
前記変更対象の関数が他の関数を参照する回数と、
前記変更対象の関数と直接的な参照関係にある関数が他の関数を参照する回数と、
前記変更対象の関数と直接的な参照関係にある関数が他の関数に参照される回数と、
に基づき算出する値である、請求項2に記載の変更影響分析装置。
The degree of influence of the change is
The number of times the function to be changed is referenced by other functions, and
The number of times the function to be changed refers to another function,
The number of times a function that has a direct reference relationship with the function to be changed refers to another function, and
The number of times a function that has a direct reference relationship with the function to be changed is referenced by another function, and
The change impact analyzer according to claim 2, which is a value calculated based on the above.
前記変更影響分析部は、前記プロセス仕様書をさらに読み込んで、前記ソフトウェア影響情報を出力する、
請求項1に記載の変更影響分析装置。
The change impact analysis unit further reads the process specifications and outputs the software impact information.
The change impact analyzer according to claim 1.
前記ソフトウェア影響情報は、前記変更対象の機能と、前記変更対象の機能から影響を受けるプロセスおよび関数とを対応付けた情報である、
請求項4に記載の変更影響分析装置。
The software impact information is information in which the function to be changed is associated with a process and a function affected by the function to be changed.
The change impact analyzer according to claim 4.
JP2018147082A 2018-08-03 2018-08-03 Change impact analyzer Active JP7085938B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018147082A JP7085938B2 (en) 2018-08-03 2018-08-03 Change impact analyzer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018147082A JP7085938B2 (en) 2018-08-03 2018-08-03 Change impact analyzer

Publications (2)

Publication Number Publication Date
JP2020021427A JP2020021427A (en) 2020-02-06
JP7085938B2 true JP7085938B2 (en) 2022-06-17

Family

ID=69589932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018147082A Active JP7085938B2 (en) 2018-08-03 2018-08-03 Change impact analyzer

Country Status (1)

Country Link
JP (1) JP7085938B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7584708B2 (en) * 2022-06-01 2024-11-15 三菱電機株式会社 Attack analysis device, attack analysis method, and attack analysis program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212281A (en) 2011-03-31 2012-11-01 Hitachi Government & Public Corporation System Engineering Ltd Range of influence setting device for program and range of influence specification method using the same and extraction method for program with ripple of influence
JP2014052757A (en) 2012-09-06 2014-03-20 Mitsubishi Electric Corp Software design support device and software design support method
JP2016110330A (en) 2014-12-04 2016-06-20 三菱電機株式会社 Change influence analysis device and change influence analysis method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212281A (en) 2011-03-31 2012-11-01 Hitachi Government & Public Corporation System Engineering Ltd Range of influence setting device for program and range of influence specification method using the same and extraction method for program with ripple of influence
JP2014052757A (en) 2012-09-06 2014-03-20 Mitsubishi Electric Corp Software design support device and software design support method
JP2016110330A (en) 2014-12-04 2016-06-20 三菱電機株式会社 Change influence analysis device and change influence analysis method and program

Also Published As

Publication number Publication date
JP2020021427A (en) 2020-02-06

Similar Documents

Publication Publication Date Title
KR101323281B1 (en) Input device and method for inputting character
US20180210420A1 (en) Display device and display method
JP7085938B2 (en) Change impact analyzer
US10018983B2 (en) PLC system and arithmetic-expression-data-creation supporting apparatus
JP6112968B2 (en) Command generation method, apparatus, and program
JP2014186508A (en) Programming apparatus, programming support method and program
JP2012146028A (en) Menu display device, menu display method and program
JP2015170009A (en) Display information generation device, program execution situation display system, method and program
JP5523047B2 (en) Electronic document generation method and electronic document generation apparatus
JP7230573B2 (en) Information processing device, information processing system, information processing method and program
JP2019003290A (en) Display control apparatus, display control method and display control program
KR101376442B1 (en) Hangul learning method using arithmetic operation and its device
JP7095346B2 (en) Information processing equipment and programs
JP2012118933A (en) Screen design evaluation device, screen design evaluation method and program
JP2013182329A (en) Information processing device, control method for information processing device, and program
EP3133146B1 (en) Cell observation information processing system, cell observation information processing method, cell observation information processing program, recording unit provided in cell observation information processing system, and device provided in cell observation information processing system
JP5836062B2 (en) Medical information processing apparatus and information retrieval apparatus
CN113764064A (en) Report production aids and report production aids
JP2645027B2 (en) Guide help information display device and guide help information display method
JP6657799B2 (en) Graphic processing apparatus, graphic processing method, and graphic processing program
JPH10187762A (en) Search formula input device
JP2697775B2 (en) Conversation system
JPH11306281A (en) Recognizing condition specifying system, its method, and recording medium in which program to generate recognizing condition specifying function on computer is recorded
JP4930891B1 (en) Input support method
US20150178888A1 (en) Display device, data processing device and computer readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210506

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220607

R150 Certificate of patent or registration of utility model

Ref document number: 7085938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250