JP6917874B2 - System characterization system and system characterization device - Google Patents

System characterization system and system characterization device Download PDF

Info

Publication number
JP6917874B2
JP6917874B2 JP2017233019A JP2017233019A JP6917874B2 JP 6917874 B2 JP6917874 B2 JP 6917874B2 JP 2017233019 A JP2017233019 A JP 2017233019A JP 2017233019 A JP2017233019 A JP 2017233019A JP 6917874 B2 JP6917874 B2 JP 6917874B2
Authority
JP
Japan
Prior art keywords
characteristic
node
source code
program
analysis unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017233019A
Other languages
Japanese (ja)
Other versions
JP2019101830A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017233019A priority Critical patent/JP6917874B2/en
Publication of JP2019101830A publication Critical patent/JP2019101830A/en
Application granted granted Critical
Publication of JP6917874B2 publication Critical patent/JP6917874B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、システムの設計、開発および保守などに適用可能なシステム特性評価システムおよびシステム特性評価装置に関する。 The present invention relates to a system characteristic evaluation system and a system characteristic evaluation device applicable to system design, development, maintenance, and the like.

顧客等の要請に応じて、生産管理システムのような大規模情報システムの刷新が求められることがある。このような情報システムは仕様書とソースコードの乖離が大きく、開発してから数十年経過しているものも多く存在する。このため、管理されているソースコードの利用可否を把握するだけでも莫大な工数がかかり、全体のソフトウェア構造や設計指針などを把握することも困難である場合が多い。 Renewal of large-scale information systems such as production control systems may be required in response to customer requests. There is a large gap between the specifications and the source code of such information systems, and many of them have been developed for several decades. For this reason, it takes a huge amount of man-hours just to grasp the availability of the managed source code, and it is often difficult to grasp the entire software structure and design guidelines.

また、このような情報システムは性質の異なる機能を複数持つ場合も少なくないため、機能改善要望も多数存在する場合が多い。そのような状況では、機能に対する全ての改善要望を取り込むことは難しく、情報システムを稼動させながら優先度の高い改善要望から対処していかざるを得ない。 Further, since such an information system often has a plurality of functions having different properties, there are many requests for improvement of the functions. In such a situation, it is difficult to capture all the improvement requests for the functions, and it is necessary to deal with the improvement requests with high priority while operating the information system.

このような中で、ソースコードの構成要素間の依存関係および依存種類を解析し、依存種類ごとに重要度を指定することにより、ソースコードを修正した際の影響範囲を抽出し、影響度の評価を支援する技術がある。(特許文献1) Under such circumstances, by analyzing the dependency relationships and dependency types between the components of the source code and specifying the importance for each dependency type, the range of influence when the source code is modified is extracted, and the impact level is determined. There is technology to support evaluation. (Patent Document 1)

特開2012−230538号公報Japanese Unexamined Patent Publication No. 2012-230538

しかしながら、特許文献1に開示された技術は、ソースコードの解析結果から得られた既存の構造、すなわち静的情報を元に改修対象を選定する。このような構造の解析結果だけからでは、現行の業務利用状況や保守性、あるいは改修実績等の時系列変化を考慮した改修優先度の判断は困難である。 However, in the technique disclosed in Patent Document 1, the repair target is selected based on the existing structure obtained from the analysis result of the source code, that is, static information. From the analysis results of such a structure alone, it is difficult to determine the repair priority in consideration of the current business usage status, maintainability, and time-series changes such as repair results.

例えば、ソースコード解析の結果、構造に問題があったとしても、業務利用上問題のないプログラムであれば、改修の優先度は低くなる可能性が高い。
また、処理時間や可用性のような非機能性の改善についても、夜間に実施されるバッチ処理と、日中のユーザが起動して実行する処理では、処理時間が同じでも後者の処理の方が改善優先度は高くなる可能性が高い。
For example, even if there is a problem in the structure as a result of source code analysis, if the program has no problem in business use, the priority of repair is likely to be low.
Also, regarding the improvement of non-functionality such as processing time and availability, the latter processing is better for batch processing that is executed at night and processing that is started and executed by the user during the day, even if the processing time is the same. The improvement priority is likely to be high.

一方で、多数のユーザが個々の目的に応じて個々のタイミングで利用するシステムでは、各機能の優先度は実行時間帯に左右されない可能性が高い。このように、改修対象を決定するためには、システムの利用方法や開発の実績などをシステムの特徴を示す特性として認識した上で実施することが望ましい。 On the other hand, in a system in which a large number of users use the system at individual timings according to individual purposes, the priority of each function is likely to be independent of the execution time zone. In this way, in order to determine the repair target, it is desirable to recognize the system usage method and development results as characteristics that indicate the characteristics of the system.

本発明は、上記事情に鑑みなされたものであり、その目的は、システムの改善箇所の優先度を評価することが可能なシステム特性評価システムおよびシステム特性評価装置を提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a system characteristic evaluation system and a system characteristic evaluation device capable of evaluating the priority of improvement points of a system.

上記目的を達成するため、第1の観点に係るシステム特性評価システムは、システム特性評価装置と、表示装置とを備える。前記システム特性評価装置は、ソースコードにおけるプログラム間の呼び出し関係とデータとの関係性を解析し、プログラムをノード、プログラムの呼び出し関係を方向付きエッジとしたグラフ構造を生成するソフトウェア構造解析部と、前記ソースコードの解析結果および前記プログラムが実行されるシステムのシステム情報に基づいて、前記システムの特性値を前記ノードごとに算出する特性解析部と、前記特性値に基づいて前記ノードをマージし、前記ノードのマージ結果に基づいて前記グラフ構造を再構築する改善箇所解析部とを備える。前記表示装置は、前記改善箇所解析部で再構築されたグラフ構造を表示する。 In order to achieve the above object, the system characteristic evaluation system according to the first aspect includes a system characteristic evaluation device and a display device. The system characteristic evaluation device includes a software structure analysis unit that analyzes the relationship between program calls and data in the source code and generates a graph structure with the program as a node and the program call relationship as a directional edge. Based on the analysis result of the source code and the system information of the system in which the program is executed, the characteristic analysis unit that calculates the characteristic value of the system for each node and the node are merged based on the characteristic value. It is provided with an improvement part analysis unit that reconstructs the graph structure based on the merged result of the nodes. The display device displays the graph structure reconstructed by the improvement point analysis unit.

本発明によれば、システムの改善箇所の優先度を評価することができる。 According to the present invention, it is possible to evaluate the priority of the improvement points of the system.

図1は、実施形態に係るシステム特性評価システムの概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a system characteristic evaluation system according to an embodiment. 図2は、図1のシステム特性評価装置の略構成を示すブロック図である。FIG. 2 is a block diagram showing a schematic configuration of the system characteristic evaluation device of FIG. 図3は、図1のシステム特性評価システムの具体的な構成を示すブロック図である。FIG. 3 is a block diagram showing a specific configuration of the system characteristic evaluation system of FIG. 図4は、図1のシステム特性評価装置のハードウェア構成を示すブロック図である。FIG. 4 is a block diagram showing a hardware configuration of the system characteristic evaluation device of FIG. 図5は、図3のノード情報テーブルの内容の一例を示す図である。FIG. 5 is a diagram showing an example of the contents of the node information table of FIG. 図6は、図3のエッジ情報テーブルの内容の一例を示す図である。FIG. 6 is a diagram showing an example of the contents of the edge information table of FIG. 図7は、図3の特性データの一例を示す図である。FIG. 7 is a diagram showing an example of the characteristic data of FIG. 図8は、図3のソフトウェア構造解析部の動作を示すフローチャートである。FIG. 8 is a flowchart showing the operation of the software structure analysis unit of FIG. 図9は、図3の特性解析部の動作を示すフローチャートである。FIG. 9 is a flowchart showing the operation of the characteristic analysis unit of FIG. 図10は、特性項目指定時における図3の改善箇所解析部の動作フローを示す図である。FIG. 10 is a diagram showing an operation flow of the improvement point analysis unit of FIG. 3 when a characteristic item is specified. 図11は、図3の改善箇所解析部の動作を示すフローチャートである。FIG. 11 is a flowchart showing the operation of the improved part analysis unit of FIG. 図12は、図5のノード情報テーブルおよび図5のエッジ情報テーブルに基づいて構築されたグラフ構造の表示画面の一例を示す図である。FIG. 12 is a diagram showing an example of a display screen having a graph structure constructed based on the node information table of FIG. 5 and the edge information table of FIG. 図13は、図12の表示画面に選択ノードの特性値を表示させた例を示す図である。FIG. 13 is a diagram showing an example in which the characteristic value of the selected node is displayed on the display screen of FIG. 図14は、図1の表示装置に表示される再構築後のグラフ構造の表示画面の一例を示す図である。FIG. 14 is a diagram showing an example of a display screen having a reconstructed graph structure displayed on the display device of FIG. 図15は、図14の再構築後のグラフ構造に対応したノード情報テーブルの内容の一例を示す図である。FIG. 15 is a diagram showing an example of the contents of the node information table corresponding to the graph structure after the reconstruction of FIG. 図16は、図14の再構築後のグラフ構造に対応したエッジ情報テーブルの内容の一例を示す図である。FIG. 16 is a diagram showing an example of the contents of the edge information table corresponding to the graph structure after the reconstruction of FIG.

実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 The embodiment will be described with reference to the drawings. It should be noted that the embodiments described below do not limit the invention according to the claims, and all of the elements and combinations thereof described in the embodiments are indispensable for the means for solving the invention. Is not always.

図1は、実施形態に係るシステム特性評価システムの概略構成を示すブロック図である。
図1において、システム特性評価システムには、システム特性評価装置10、表示装置20、業務システム30、ソースコード管理装置40および障害管理装置50が設けられている。システム特性評価装置10、表示装置20、業務システム30、ソースコード管理装置40および障害管理装置50は、ネットワーク70を介して接続されている。ネットワーク70は、インターネットやデジタル専用線などのWAN(Wide Area Network)であってもよいし、イーサネット(登録商標)やWiFiなどのLAN(Local Area Network)であってもよいし、WANとLANが混在していてもよい。ネットワーク70は、有線であってもよいし、無線であってもよいし、有線と無線が混在していてもよい。
FIG. 1 is a block diagram showing a schematic configuration of a system characteristic evaluation system according to an embodiment.
In FIG. 1, the system characteristic evaluation system is provided with a system characteristic evaluation device 10, a display device 20, a business system 30, a source code management device 40, and a failure management device 50. The system characteristic evaluation device 10, the display device 20, the business system 30, the source code management device 40, and the failure management device 50 are connected via the network 70. The network 70 may be a WAN (Wide Area Network) such as the Internet or a digital leased line, a LAN (Local Area Network) such as Ethernet (registered trademark) or WiFi, or a WAN and a LAN. It may be mixed. The network 70 may be wired, wireless, or a mixture of wired and wireless.

システム特性評価装置10は、ソースコードの静的情報および動的情報に基づいて、ソースコードにおけるプログラムが実行される業務システム30の特性を評価することができる。ソースコードに関する静的情報とは、ソースコードの実行に関して変化しない情報である。ソースコードに関する静的情報として、ソースコードにおけるプログラムをノード、プログラムの呼び出し関係を方向付きエッジとしたグラフ構造を挙げることができる。ソースコードに関する動的情報とは、ソースコードの実行に関して変化可能な情報である。ソースコードに関する動的情報は、業務システム30のシステム情報を含むことができる。業務システム30のシステム情報として、業務システム30の稼働情報および障害情報を挙げることができる。 The system characteristic evaluation device 10 can evaluate the characteristics of the business system 30 in which the program in the source code is executed based on the static information and the dynamic information of the source code. Static information about the source code is information that does not change with respect to the execution of the source code. As static information about the source code, a graph structure in which the program in the source code is a node and the call relationship of the program is a directional edge can be mentioned. Dynamic information about the source code is information that can be changed with respect to the execution of the source code. The dynamic information about the source code can include the system information of the business system 30. Examples of the system information of the business system 30 include operation information and failure information of the business system 30.

表示装置20は、ユーザ80の操作に基づいて、業務システム30の特性の評価結果を表示することができる。業務システム30は、ユーザ90の業務に関する各種プログラムを実行することができる。ソースコード管理装置40は、業務システム30で実行されるソースコードを管理することができる。障害管理装置50は、業務システム30の障害を管理することができる。 The display device 20 can display the evaluation result of the characteristics of the business system 30 based on the operation of the user 80. The business system 30 can execute various programs related to the business of the user 90. The source code management device 40 can manage the source code executed by the business system 30. The fault management device 50 can manage faults in the business system 30.

システム特性評価装置10は、ソースコード管理装置40からソースコードを取得することができる。システム特性評価装置10は、ソースコードの構造解析に基づいてソースコードの静的情報を生成することができる。システム特性評価装置10は、業務システム30、ソースコード管理装置40および障害管理装置50からソースコードに関する動的情報を取得することができる。 The system characteristic evaluation device 10 can acquire the source code from the source code management device 40. The system characteristic evaluation device 10 can generate static information of the source code based on the structural analysis of the source code. The system characteristic evaluation device 10 can acquire dynamic information about the source code from the business system 30, the source code management device 40, and the failure management device 50.

この時、システム特性評価対象である業務システム30のアプリケーションログを業務システム30から取得し、業務システム30のソースコードおよびソースコードの変更履歴をソースコード管理装置40から取得し、業務システム30に関わる障害履歴を障害管理装置50から取得することができる。そして、システム特性評価装置10は、ソースコードの構造解析に基づいてソースコードのグラフ構造を生成することができる。また、システム特性評価装置10は、ソースコードの要素ごとに各種情報を解析した特性値を管理することができる。ソースコードの要素とは、ソースコードに含まれるプログラムである。このプログラムは、シェルスクリプトであってもよい。各種情報とは、ソースコードに関する静的情報および動的情報である。特性値は、プログラムが実行される業務システム30の特徴の評価に用いることができる。特性値は、プログラムの実装や構造の観点、プログラムの修正履歴の観点、プログラムの利用の観点で設定された特性項目について数値で評価することができる。 At this time, the application log of the business system 30 to be evaluated for system characteristics is acquired from the business system 30, the source code of the business system 30 and the change history of the source code are acquired from the source code management device 40, and the business system 30 is involved. The failure history can be acquired from the failure management device 50. Then, the system characteristic evaluation device 10 can generate a graph structure of the source code based on the structural analysis of the source code. Further, the system characteristic evaluation device 10 can manage characteristic values obtained by analyzing various information for each element of the source code. Source code elements are programs contained in the source code. This program may be a shell script. Various types of information are static information and dynamic information related to the source code. The characteristic value can be used for evaluating the characteristics of the business system 30 in which the program is executed. The characteristic value can be evaluated numerically for the characteristic items set from the viewpoint of program implementation and structure, the viewpoint of program modification history, and the viewpoint of program usage.

そして、システム特性評価装置10は、ソースコードのグラフ構造をシンボル化し、表示装置20に表示させることができる。ユーザ80は表示装置20を視認することで、ソースコードの改善の優先度を判断することができる。 Then, the system characteristic evaluation device 10 can symbolize the graph structure of the source code and display it on the display device 20. By visually recognizing the display device 20, the user 80 can determine the priority of improving the source code.

ここで、システム特性評価装置10は、ソースコードに関する静的情報だけでなく、ソースコードに関する動的情報も参照しつつ、業務システム30の特性を評価することにより、業務システム30の現行の業務利用状況や保守性、あるいはソースコードの改修実績等の時系列変化が反映されたソースコードの改善の優先度を判断することができる。 Here, the system characteristic evaluation device 10 evaluates the characteristics of the business system 30 while referring not only to the static information related to the source code but also to the dynamic information related to the source code, thereby performing the current business use of the business system 30. It is possible to judge the priority of improvement of the source code that reflects the time-series changes such as the situation, maintainability, and the repair record of the source code.

例えば、ソースコードの構造解析の結果、その構造に問題があったとしても、業務システム30で業務利用上問題のないプログラムであれば、ソースコードの改善の優先度を低くすることができる。
また、プログラムの処理時間や可用性のような非機能性の改善についても、夜間に実施されるバッチ処理と、日中のユーザが起動して実行する処理では、処理時間が同じでも、後者の処理に用いられるプログラムの改善の優先度を高くすることができる。
For example, even if there is a problem in the structure as a result of structural analysis of the source code, if the program has no problem in business use in the business system 30, the priority of improving the source code can be lowered.
Also, regarding the improvement of non-functionality such as program processing time and availability, the latter processing is performed even if the processing time is the same between the batch processing performed at night and the processing started and executed by the user during the day. The priority of improvement of the program used for can be increased.

さらに、多数のユーザ90が個々の目的に応じて個々のタイミングで利用する業務システム30では、プログラムの実行時間帯に左右されないように各機能の改善の優先度を設定することができる。 Further, in the business system 30 used by a large number of users 90 at individual timings according to individual purposes, it is possible to set the priority of improvement of each function so as not to be influenced by the execution time zone of the program.

なお、図1の例では、システム特性評価装置10がネットワーク70を介して業務システム30およびソースコード管理装置40に接続された構成を示したが、業務システム30の一機能としてシステム特性評価装置10を用いるようにしてもよいし、ソースコード管理装置40の一機能としてシステム特性評価装置10を用いるようにしてもよい。 In the example of FIG. 1, the system characteristic evaluation device 10 is connected to the business system 30 and the source code management device 40 via the network 70, but the system characteristic evaluation device 10 is a function of the business system 30. Or the system characteristic evaluation device 10 may be used as one function of the source code control device 40.

図2は、図1のシステム特性評価装置の略構成を示すブロック図である。
図2において、システム特性評価装置10には、構造解析部1011および特性評価部102が設けられている。構造解析部101には、ソフトウェア構造解析部101およびソフトウェア構造データ111が設けられている。特性評価部102には、特性解析部1021、特性値算出部1022、改善箇所解析部1023、特性データ112および表示用ソフトウェア構造データ113が設けられている。
FIG. 2 is a block diagram showing a schematic configuration of the system characteristic evaluation device of FIG.
In FIG. 2, the system characteristic evaluation device 10 is provided with a structural analysis unit 1011 and a characteristic evaluation unit 102. The structure analysis unit 101 is provided with a software structure analysis unit 101 and software structure data 111. The characteristic evaluation unit 102 is provided with a characteristic analysis unit 1021, a characteristic value calculation unit 1022, an improvement location analysis unit 1023, characteristic data 112, and display software structure data 113.

構造解析部101は、ソースコードの構造解析に基づいて、ソースコードに関する静的情報を生成する。特性評価部102は、ソースコードの静的情報および動的情報に基づいて、ソースコードにおけるプログラムが実行される業務システム30の特性を評価する。 The structural analysis unit 101 generates static information about the source code based on the structural analysis of the source code. The characteristic evaluation unit 102 evaluates the characteristics of the business system 30 in which the program in the source code is executed based on the static information and the dynamic information of the source code.

ソフトウェア構造解析部1011は、ソースコード管理装置40から収集したソースコードを解析し、ノードとなるプログラムまたはデータ、エッジとなるプログラム間の呼び出し関係やプログラムとデータの呼び出し関係を特定し、ソフトウェア構造データ111に格納する。 The software structure analysis unit 1011 analyzes the source code collected from the source code management device 40, identifies the program or data as a node, the call relationship between the programs as an edge, and the call relationship between the program and the data, and software structure data. Store in 111.

特性解析部1021は、ソフトウェア構造データ111に格納したノードごとに、業務システム30の特性を解析する。具体的には、特性データ112に格納された特性項目について、業務システム30から収集したアプリケーションログと、ソースコード管理装置40から収集した変更履歴と、障害管理装置50から収集した障害履歴などに基づいて特性値を算出し、ソフトウェア構造データ111に格納する。 The characteristic analysis unit 1021 analyzes the characteristics of the business system 30 for each node stored in the software structure data 111. Specifically, regarding the characteristic items stored in the characteristic data 112, based on the application log collected from the business system 30, the change history collected from the source code management device 40, the failure history collected from the failure management device 50, and the like. The characteristic value is calculated and stored in the software structure data 111.

特性値算出部1022は、ソフトウェア構造データ111に格納したノードごとに、各特性項目の特性値を算出する。特性値算出部1022は特性項目ごとに設けることができる。この時、特性値算出部1022を指定するIDを特性項目と紐付けて特性データ112に設定することができる。特性値算出部1022は、特性解析部1021に呼び出され動作することができる。 The characteristic value calculation unit 1022 calculates the characteristic value of each characteristic item for each node stored in the software structure data 111. The characteristic value calculation unit 1022 can be provided for each characteristic item. At this time, the ID that specifies the characteristic value calculation unit 1022 can be associated with the characteristic item and set in the characteristic data 112. The characteristic value calculation unit 1022 can be called and operated by the characteristic analysis unit 1021.

なお、図2の例では、特性値算出部1022を特性解析部1021と別個に設けた構成を示したが、特性解析部1021の一機能として特性値算出部1022を構成するようにしてもよい。 In the example of FIG. 2, the characteristic value calculation unit 1022 is provided separately from the characteristic analysis unit 1021, but the characteristic value calculation unit 1022 may be configured as one function of the characteristic analysis unit 1021. ..

改善箇所解析部1023は、表示装置20にて受け付けた特性項目に対し、ソフトウェア構造データ111に格納された各プログラムおよびデータの特性値が、特性データ112に格納された閾値を越えているかを判定することができる。さらに、改善箇所解析部1023は、その判定結果に基づいてソフトウェア構造データ111を再構築し、表示用ソフトウェア構造データ113に格納する。 The improvement location analysis unit 1023 determines whether the characteristic values of each program and data stored in the software structure data 111 exceed the threshold value stored in the characteristic data 112 for the characteristic items received by the display device 20. can do. Further, the improvement location analysis unit 1023 reconstructs the software structure data 111 based on the determination result and stores the software structure data 111 in the display software structure data 113.

以下、システム特性評価装置10の動作について図1および図2を参照しながら説明する。
ソフトウェア構造解析部1011はソースコード管理システム40から対象業務システム30のソースコードを取得し、プログラム(関数)とデータ、およびプログラム間の呼び出し関係と、プログラムとデータ間の呼び出し関係を解析する。そして、ソフトウェア構造解析部1011は、プログラムとプログラムが参照するデータをノード、プログラムの呼び出し関係およびプログラムとデータの参照関係を方向付きエッジとするグラフ構造を生成し、ソフトウェア構造データ111に格納する。
Hereinafter, the operation of the system characteristic evaluation device 10 will be described with reference to FIGS. 1 and 2.
The software structure analysis unit 1011 acquires the source code of the target business system 30 from the source code management system 40, and analyzes the program (function) and the data, the call relationship between the programs, and the call relationship between the programs and the data. Then, the software structure analysis unit 1011 generates a graph structure in which the program and the data referred to by the program are nodes, the call relationship of the program, and the reference relationship between the program and the data are directional edges, and store the graph structure in the software structure data 111.

次に、特性解析部1021は、ソフトウェア構造データ111に格納したノードに対し、特性値を解析する。特性解析部1021は、特性項目ごとに紐づけられた特性値算出部1022を呼び出し、プログラムごとに解析対象とするデータを解析し、その解析結果をソフトウェア構造データ111に格納する。 Next, the characteristic analysis unit 1021 analyzes the characteristic value of the node stored in the software structure data 111. The characteristic analysis unit 1021 calls the characteristic value calculation unit 1022 associated with each characteristic item, analyzes the data to be analyzed for each program, and stores the analysis result in the software structure data 111.

さらに、システム特性評価装置10は、特性値を格納したソフトウェア構造データ111に基づいて、ノードを実行時系列順に配置する。そして、特性値に応じて各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、その設定情報に基づいて各ノードおよび各エッジをシンボル化することができる。そして、そのシンボル化された情報を、ネットワーク70を介して表示装置20に送信する。表示装置20は、そのシンボル化された情報に基づいて、各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、各ノードを実行時系列順に表示する。 Further, the system characteristic evaluation device 10 arranges the nodes in the order of execution time series based on the software structure data 111 storing the characteristic values. Then, the type, color, thickness, size or display position can be set for each node and each edge according to the characteristic value, and each node and each edge can be symbolized based on the setting information. Then, the symbolized information is transmitted to the display device 20 via the network 70. The display device 20 sets the type, color, thickness, size, or display position of each node and each edge based on the symbolized information, and displays each node in the order of execution time.

次に、システム特性評価装置10は、表示装置20からユーザ80が指定した特性項目を受け付けると、改善箇所解析部1023を動作させる。改善箇所解析部1023は、ノードの各特性値に対し、特性データ112に格納された閾値を超えるかどうかをノードごとに判定する。そして、改善箇所解析部1023は、閾値を超えたノードは改善候補とし、ソフトウェア構造データ111のノードをそのまま表示用ソフトウェア構造データ113のノードとする。閾値を超えなかったノードは他の閾値を超えなかったノードとマージし、そのマージされたノードを表示用ソフトウェア構造データ113のノードとする。また、そのマージされたノードに対してエッジを設定し、そのエッジを表示用ソフトウェア構造データ113のエッジとする。 Next, when the system characteristic evaluation device 10 receives the characteristic item specified by the user 80 from the display device 20, the system characteristic evaluation device 10 operates the improvement location analysis unit 1023. The improvement location analysis unit 1023 determines for each node whether or not the threshold value stored in the characteristic data 112 is exceeded for each characteristic value of the node. Then, the improvement location analysis unit 1023 sets the node exceeding the threshold value as an improvement candidate, and sets the node of the software structure data 111 as it is as the node of the display software structure data 113. The node that does not exceed the threshold value is merged with another node that does not exceed the threshold value, and the merged node is used as the node of the display software structure data 113. Further, an edge is set for the merged node, and the edge is set as the edge of the display software structure data 113.

さらに、改善箇所解析部1023は、マージされたノードに対して特性値を再算出する。特性値を算出する場合、改善箇所解析部1023は、特性解析部1021を呼び出し、特性解析部1021に特性値を再算出させることができる。なお、マージされたノードの特性値は、元のノードの特性値に基づいて算出することができる。 Further, the improvement point analysis unit 1023 recalculates the characteristic value for the merged node. When calculating the characteristic value, the improvement location analysis unit 1023 can call the characteristic analysis unit 1021 and have the characteristic analysis unit 1021 recalculate the characteristic value. The characteristic value of the merged node can be calculated based on the characteristic value of the original node.

そして、システム特性評価装置10は、再算出された特性値に応じて各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、その設定情報に基づいて各ノードおよび各エッジをシンボル化することができる。そして、そのシンボル化された情報を、ネットワーク70を介して表示装置20に送信する。表示装置20は、そのシンボル化された情報に基づいて、各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、各ノードを実行時系列順に表示する。 Then, the system characteristic evaluation device 10 sets the type, color, thickness, size, or display position for each node and each edge according to the recalculated characteristic value, and based on the setting information, each node and each edge. Edges can be symbolized. Then, the symbolized information is transmitted to the display device 20 via the network 70. The display device 20 sets the type, color, thickness, size, or display position of each node and each edge based on the symbolized information, and displays each node in the order of execution time.

これにより、ユーザ80は、グラフ構造の配置に基づいてソフトウェアの構造と実行順序およびプログラム間の関係性を確認しつつ、指定した特性項目について改善対象となるノードを容易に確認することができる。このため、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。 As a result, the user 80 can easily confirm the node to be improved for the specified characteristic item while confirming the structure of the software, the execution order, and the relationship between the programs based on the arrangement of the graph structure. Therefore, the user 80 can easily specify the improvement target in the source code while considering the position in business and the like.

また、システム特性評価装置10は、特性値が閾値を超えなかったノード同士をマージすることにより、ソフトウェアの構造と実行順序およびプログラム間の関係性を損なくことなく、優先度の低いノードの表示数を減らすことができる。このため、プログラムが数百以上もあるような大規模情報システムにおいても、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。 Further, the system characteristic evaluation device 10 displays the nodes with low priority without impairing the structure of the software, the execution order, and the relationship between the programs by merging the nodes whose characteristic values do not exceed the threshold value. The number can be reduced. Therefore, even in a large-scale information system having hundreds or more programs, the user 80 can easily specify the improvement target in the source code while considering the position in business and the like.

さらに、ソースコードの変更に伴って仕様書とソースコードの乖離が大きくなり、全体のソフトウェア構造や設計指針などを把握することが困難である場合においても、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。 Furthermore, even when it is difficult to grasp the overall software structure, design guidelines, etc. due to a large gap between the specifications and the source code due to changes in the source code, the user 80 can position the user 80 in business. Taking this into consideration, it is possible to easily identify the improvement target in the source code.

また、業務システム30が性質の異なる機能を複数も持ち、機能改善要望も多数存在する場合においても、機能に対する全ての改善要望を取り込みつつ、ソースコードにおける改善対象を容易に特定することができる。 Further, even when the business system 30 has a plurality of functions having different properties and there are many requests for improvement of functions, it is possible to easily specify the improvement target in the source code while incorporating all the requests for improvement of the functions.

図3は、図1のシステム特性評価システムの具体的な構成を示すブロック図である。
図3において、ソフトウェア構造データ111には、ノード情報テーブル1111およびエッジ情報テーブル1112が設けられている。表示用ソフトウェア構造データ113には、表示用ノード情報テーブル1131および表示用エッジ情報テーブル1132が設けられている。業務システム30には、アプリケーションログ3001が保持されている。ソースコード管理装置40には、ソースコード4001およびソースコード4001の変更履歴4002が保持されている。障害管理装置50には、業務システム30に関わる障害履歴5001が保持されている
FIG. 3 is a block diagram showing a specific configuration of the system characteristic evaluation system of FIG.
In FIG. 3, the software structure data 111 is provided with a node information table 1111 and an edge information table 1112. The display software structure data 113 is provided with a display node information table 1131 and a display edge information table 1132. The application log 3001 is held in the business system 30. The source code management device 40 holds the source code 4001 and the change history 4002 of the source code 4001. The fault management device 50 holds a fault history 5001 related to the business system 30.

ソフトウェア構造解析部1011は、対象業務システム30のソースコード4001をソースコード管理装置40から取得し、プログラム(関数)とデータ、プログラム間の呼び出し関係、プログラムとデータの呼び出し関係を解析する。ソフトウェア構造解析部1011は、その解析結果に基づいて、プログラムおよびデータをノードとしてノード情報テーブル1111を更新し、プログラムの呼び出し関係と、プログラムとデータの呼び出し関係を方向付きエッジとしてエッジ情報テーブル1112を更新する。 The software structure analysis unit 1011 acquires the source code 4001 of the target business system 30 from the source code management device 40, and analyzes the program (function) and the data, the call relationship between the programs, and the call relationship between the program and the data. Based on the analysis result, the software structure analysis unit 1011 updates the node information table 1111 with the program and data as nodes, and sets the edge information table 1112 with the program call relationship and the program and data call relationship as directional edges. Update.

次に、特性解析部1021は、ソフトウェア構造解析部1011で更新されたソフトウェア構造データ111を取得する。また、特性解析部1021は、ネットワーク70を介し、ソースコード管理装置40から変更履歴4001を取得し、業務システム30からアプリケーションログ3001を取得し、障害管理装置50から障害履歴5001を取得する。そして、特性解析部1021は、特性テーブル1121に格納した特性項目に対応する特性値算出部1022を動作させ、その特性項目の特性値をノードごとに算出する。そして、特性解析部1021は、各特性項目について算出した特性値をノードごとにノード情報テーブル1111に格納する。 Next, the characteristic analysis unit 1021 acquires the software structure data 111 updated by the software structure analysis unit 1011. Further, the characteristic analysis unit 1021 acquires the change history 4001 from the source code management device 40, the application log 3001 from the business system 30, and the failure history 5001 from the failure management device 50 via the network 70. Then, the characteristic analysis unit 1021 operates the characteristic value calculation unit 1022 corresponding to the characteristic item stored in the characteristic table 1121, and calculates the characteristic value of the characteristic item for each node. Then, the characteristic analysis unit 1021 stores the characteristic values calculated for each characteristic item in the node information table 1111 for each node.

次に、ユーザ80から指定された特性項目をシステム特性評価装置10が受け付けると、改善箇所解析部1023を動作する。改善箇所解析部1023は、ノード情報テーブル1111および特性テーブル1121を参照し、ノード情報テーブル1111の各ノードが特性テーブル1121に設定された閾値を超えているかどうかを判定する。さらに、改善箇所解析部1023は、その判定結果に基づいて表示用のグラフ構造を再構築し、その再構築されたグラフ構造のプログラムおよびデータをノードとして表示用ノード情報テーブル1131に格納し、その再構築されたグラフ構造のプログラムの呼び出し関係と、プログラムとデータの呼び出し関係を方向付きエッジとして表示用エッジ情報テーブル1132に格納する。 Next, when the system characteristic evaluation device 10 receives the characteristic item specified by the user 80, the improvement location analysis unit 1023 is operated. The improvement location analysis unit 1023 refers to the node information table 1111 and the characteristic table 1121 and determines whether or not each node of the node information table 1111 exceeds the threshold value set in the characteristic table 1121. Further, the improvement point analysis unit 1023 reconstructs the graph structure for display based on the determination result, stores the reconstructed graph structure program and data as nodes in the display node information table 1131, and stores the reconstructed graph structure program and data in the display node information table 1131. The call relationship of the reconstructed graph structure program and the call relationship between the program and data are stored in the display edge information table 1132 as directional edges.

図4は、図1のシステム特性評価装置のハードウェア構成を示すブロック図である。
図4において、システム特性評価装置10には、主制御部103、主記憶部104、入力部105、出力部106および通信部107が設けられている。主制御部103には、プロセッサ1031およびRAM1032が設けられている。
FIG. 4 is a block diagram showing a hardware configuration of the system characteristic evaluation device of FIG.
In FIG. 4, the system characteristic evaluation device 10 is provided with a main control unit 103, a main storage unit 104, an input unit 105, an output unit 106, and a communication unit 107. The main control unit 103 is provided with a processor 1031 and a RAM 1032.

主制御部103は、主記憶部104に記録されたプログラムをRAM1032にロードし、そのプログラムをプロセッサ1031が実行することで、システム特性評価装置10における情報処理を制御する。
主記憶部104は、システム特性評価装置10に関する情報を不揮発的に記憶する。主記憶部104は、磁気ディスク装置であってもよいし、SSD(Solid State Drive)であってもよい。
The main control unit 103 loads the program recorded in the main storage unit 104 into the RAM 1032, and the processor 1031 executes the program to control the information processing in the system characteristic evaluation device 10.
The main storage unit 104 non-volatilely stores information about the system characteristic evaluation device 10. The main storage unit 104 may be a magnetic disk device or an SSD (Solid State Drive).

主記憶部104には、ソフトウェア構造解析プログラム1011P、特性解析プログラム1021P、特性値算出プログラム1022P、改善箇所解析プログラム1023P、ソフトウェア構造データ111、特性データ112および表示用ソフトウェア構造データ113が記憶される。特性値算出プログラム1022Pは、特性項目ごとに設けることができる。 The software structure analysis program 1011P, the characteristic analysis program 1021P, the characteristic value calculation program 1022P, the improvement location analysis program 1023P, the software structure data 111, the characteristic data 112, and the display software structure data 113 are stored in the main storage unit 104. The characteristic value calculation program 1022P can be provided for each characteristic item.

プロセッサ1031がソフトウェア構造解析プログラム1011Pを実行することでソフトウェア構造解析部101を実現することができる。プロセッサ1031が特性解析プログラム1021Pを実行することで特性解析部1021を実現することができる。プロセッサ1031が特性値算出プログラム1022Pを実行することで特性値算出部1022を実現することができる。プロセッサ1031が改善箇所解析プログラム1023Pを実行することで改善箇所解析部1023を実現することができる。 The software structure analysis unit 101 can be realized by the processor 1031 executing the software structure analysis program 1011P. The characteristic analysis unit 1021 can be realized by the processor 1031 executing the characteristic analysis program 1021P. The characteristic value calculation unit 1022 can be realized by the processor 1031 executing the characteristic value calculation program 1022P. The improvement location analysis unit 1023 can be realized by the processor 1031 executing the improvement location analysis program 1023P.

入力部105は、システム特性評価装置10に関する情報を手動で入力する必要がある際に、ユーザがシステム特性評価装置10に対して入力する。
出力部106は、システム特性評価装置10に関する情報を出力する必要がある際に、システム特性評価装置10がユーザに対して出力する。
通信部107は、ネットワーク70を介して、表示装置20、業務システム30、ソースコード管理装置40および障害管理装置50と接続し、表示装置20、業務システム30、ソースコード管理装置40および障害管理装置50と通信する。
When it is necessary to manually input information about the system characteristic evaluation device 10, the input unit 105 inputs the information to the system characteristic evaluation device 10.
When the output unit 106 needs to output information about the system characteristic evaluation device 10, the system characteristic evaluation device 10 outputs the information to the user.
The communication unit 107 connects to the display device 20, the business system 30, the source code management device 40, and the fault management device 50 via the network 70, and connects the display device 20, the business system 30, the source code management device 40, and the fault management device. Communicate with 50.

図5は、図3のノード情報テーブルの内容の一例を示す図である。
図5において、ノード情報テーブル1111には、プログラムまたはデータごとに割り当てられたノードID501と、各ノードに対して、プログラム名またはデータ名を識別可能な処理名称502と、プログラムやデータの種別503と、プログラム実行に関する業務システム30の特性504を格納する。
FIG. 5 is a diagram showing an example of the contents of the node information table of FIG.
In FIG. 5, the node information table 1111 includes a node ID 501 assigned to each program or data, a processing name 502 that can identify the program name or data name for each node, and a program or data type 503. , Stores the characteristic 504 of the business system 30 related to program execution.

特性504には、少なくとも1以上の設定された特性項目が格納される。特性504として、特性504の実数値5041と、正規化等を実施した特性値5042とをそれぞれ格納することができる。 At least one set characteristic item is stored in the characteristic 504. As the characteristic 504, the real value 5041 of the characteristic 504 and the characteristic value 5042 that has been normalized or the like can be stored, respectively.

図5の例では、シェルスクリプトがCOBOL言語やC言語で実装されたプログラムを呼び出し、プログラムがデータを呼び出すシステムのノードの格納例を示した。また、特性項目として処理時間が設定されている例を示した。 In the example of FIG. 5, a storage example of a node of a system in which a shell script calls a program implemented in COBOL or C language and the program calls data is shown. In addition, an example in which the processing time is set as a characteristic item is shown.

図6は、図3のエッジ情報テーブルの内容の一例を示す図である。
図6において、エッジ情報テーブル1112には、図5で示したプログラム間の呼び出し関係またはプログラムとデータの参照関係ごとに一意に特定可能なエッジID511と、エッジの呼び出し元ノードID512、エッジの呼び出し先ノードID513を格納する。呼び出し元ノードIDおよび呼び出し先ノードIDは、ノード情報テーブル1111に格納したノードID501を使用する。
FIG. 6 is a diagram showing an example of the contents of the edge information table of FIG.
In FIG. 6, the edge information table 1112 includes an edge ID 511 that can be uniquely specified for each call relationship between programs or a reference relationship between a program and data shown in FIG. 5, an edge caller node ID 512, and an edge call destination. Stores node ID 513. As the caller node ID and the callee node ID, the node ID 501 stored in the node information table 1111 is used.

なお、エッジは方向付きのため、参照元と参照先のノードを特定できるよう分割して保持することができる。例えば、一つのプログラムから複数のプログラムを呼び出している場合は、呼び出し元プログラムIDが同一で、呼び出し先プログラムIDが異なるエッジIDが作成される。 Since the edge is oriented, it can be divided and held so that the reference source node and the reference destination node can be identified. For example, when a plurality of programs are called from one program, edge IDs having the same caller program ID but different call destination program IDs are created.

また、ノード情報テーブル1111には、プログラム間の呼び出しか、プログラムとデータの呼び出しかが識別できるよう、関係性の種類514も格納することができる。図6の例では、プログラムの呼び出し順を「next」、データの参照関係を「in」または「out」で表現した。また、シェルスクリプトがプログラムを呼び出す場合など、階層構造になったプログラム群において、上位階層のプログラムが下位階層のプログラムを呼び出す関係性として「call」で表現した。なお、この関係性の種類514は、ソフトウェア構造に応じて適宜変更することが可能である。 In addition, the node information table 1111 can also store the relationship type 514 so that a call between programs or a call between a program and data can be identified. In the example of FIG. 6, the program call order is represented by "next", and the data reference relationship is represented by "in" or "out". Further, in a program group having a hierarchical structure such as when a shell script calls a program, it is expressed by "call" as a relationship in which a program in a higher hierarchy calls a program in a lower hierarchy. The type 514 of this relationship can be appropriately changed according to the software structure.

図7は、図3の特性データの一例を示す図である。
図7において、特性テーブル1121は、ノード情報テーブル1111で管理する特性項目ごとに、特性ID601、特性名602、閾値603および特性値算出部ID604を格納する。特性ID601は、特性項目を一意に特定可能なIDである。特性名602はノード情報テーブル1111および表示装置20に表示する特性の名称を示すことができる。閾値603は、ユーザ80が指定した特性項目の特性が数値で表されている時の改善対象となり得るノードの特性の基準である。
FIG. 7 is a diagram showing an example of the characteristic data of FIG.
In FIG. 7, the characteristic table 1121 stores the characteristic ID 601 and the characteristic name 602, the threshold value 603, and the characteristic value calculation unit ID 604 for each characteristic item managed by the node information table 1111. The characteristic ID 601 is an ID that can uniquely identify the characteristic item. The characteristic name 602 can indicate the name of the characteristic to be displayed on the node information table 1111 and the display device 20. The threshold value 603 is a standard of the characteristics of the node that can be improved when the characteristics of the characteristic item specified by the user 80 are expressed numerically.

閾値603は、特性504の実数値5041または特性値5042に対して予め設定することができる。図7では、特性504の実数値5041に対して閾値603を設定した例を示した。ただし、閾値603の設定に用いる基準は変更することも可能である。例えば、管理者による変更を行ってもよいし、システム改修前後の特性値5042の履歴を取得しておき、その時の実績値を元に閾値603を設定してもよい。 The threshold value 603 can be preset with respect to the real value 5041 or the characteristic value 5042 of the characteristic 504. FIG. 7 shows an example in which the threshold value 603 is set for the real value 5041 of the characteristic 504. However, the standard used for setting the threshold value 603 can be changed. For example, the administrator may make changes, or the history of the characteristic value 5042 before and after the system modification may be acquired, and the threshold value 603 may be set based on the actual value at that time.

特性値算出部ID604は、特性IDを解析するプログラムを一意に特定可能なIDである。 The characteristic value calculation unit ID 604 is an ID that can uniquely identify the program that analyzes the characteristic ID.

なお、図7の例では、特性項目として管理する特性名を、処理時間、プログラム数、特殊構文数、データの重要度、実装言語の特殊構文数、実行時間帯、障害発生頻度、改修頻度、同時改修数、呼び出しプログラム数のばらつきとしたが、その他の特性項目を設定してもよい。 In the example of FIG. 7, the characteristic name managed as a characteristic item is the processing time, the number of programs, the number of special syntaxes, the importance of data, the number of special syntaxes of the implementation language, the execution time zone, the failure occurrence frequency, the repair frequency, and the like. Although the number of simultaneous repairs and the number of calling programs vary, other characteristic items may be set.

図8は、図3のソフトウェア構造解析部の動作を示すフローチャートである。
図8において、ソフトウェア構造解析部1011は、ソースコード管理装置40のリポジトリにソースコードが追加あるいは変更されたことの検知をトリガとして動作することができる。
FIG. 8 is a flowchart showing the operation of the software structure analysis unit of FIG.
In FIG. 8, the software structure analysis unit 1011 can operate by using the detection that the source code has been added or changed to the repository of the source code management device 40 as a trigger.

この時、ソフトウェア構造解析部1011は、業務システム30のソースコード4001をソースコード管理装置40から取得し、ソースコード4001の解析を行う(S701)。具体的には、ソフトウェア構造解析部1011は、ソースコード4001におけるプログラムとデータの識別、プログラムとデータの関係性、プログラムの呼び出し関係等を特定する。 At this time, the software structure analysis unit 1011 acquires the source code 4001 of the business system 30 from the source code management device 40 and analyzes the source code 4001 (S701). Specifically, the software structure analysis unit 1011 specifies the identification of the program and the data in the source code 4001, the relationship between the program and the data, the call relationship of the program, and the like.

次に、ソフトウェア構造解析部1011は、ソースコード4001の解析結果に基づいて、特定したプログラムとデータをノードとしてノードIDを割り当て、ノード情報テーブル1111を更新する(S702)。 Next, the software structure analysis unit 1011 assigns a node ID with the specified program and data as a node based on the analysis result of the source code 4001, and updates the node information table 1111 (S702).

次に、処理とデータの呼び出し関係および参照関係を解析し、その解析結果に基づいて、エッジ情報テーブル1112を更新する(S703)。 Next, the processing-data call relationship and the reference relationship are analyzed, and the edge information table 1112 is updated based on the analysis result (S703).

システム特性評価装置10は、図8の処理により、表示装置20に表示させるフトウェア構造の要素の変更を管理することができる。 The system characteristic evaluation device 10 can manage changes in the elements of the software structure to be displayed on the display device 20 by the process of FIG.

図9は、図3の特性解析部の動作を示すフローチャートである。
図9において、特性解析部1021は、ソフトウェア構造データ111が変更された場合、または、定期的に動作することができる。この時、特性解析部1021は、ノード情報テーブル1111からノードID501を取得する(S801)。
FIG. 9 is a flowchart showing the operation of the characteristic analysis unit of FIG.
In FIG. 9, the characteristic analysis unit 1021 can operate when the software structure data 111 is changed or periodically. At this time, the characteristic analysis unit 1021 acquires the node ID 501 from the node information table 1111 (S801).

次に、特性解析部1021は、特性テーブル1121から特性項目ごとに特性値算出部ID604を取得し、ソフトウェア構造データ111からソフトウェア構造を取得し、ソースコード管理装置40から変更履歴4001を取得し、業務システム30からアプリケーションログ3001を取得し、障害管理装置50から障害履歴5001を取得する。
(S802)。
Next, the characteristic analysis unit 1021 acquires the characteristic value calculation unit ID 604 for each characteristic item from the characteristic table 1121, acquires the software structure from the software structure data 111, and acquires the change history 4001 from the source code management device 40. The application log 3001 is acquired from the business system 30, and the failure history 5001 is acquired from the failure management device 50.
(S802).

次に、特性解析部1021は、特性項目ごとに特性値算出部1022を動作させ、全ての特性項目についての特性値5042を算出する(S803)。 Next, the characteristic analysis unit 1021 operates the characteristic value calculation unit 1022 for each characteristic item, and calculates the characteristic value 5042 for all the characteristic items (S803).

次に、特性解析部1021は、全てのノードの特性値5042を算出したかどうかを判断する(S804)。そして、全てのノードの特性値5042を算出していない場合、S803に戻り、全てのノードの特性値5042を算出するまで、S803およびS804の処理を繰り返す。そして、特性解析部1021は、全てのノードの特性値5042を算出すると、その特性値5042を特性504の実数値5041とともにノード情報テーブル1111に格納する(S805)。 Next, the characteristic analysis unit 1021 determines whether or not the characteristic values 5042 of all the nodes have been calculated (S804). If the characteristic values 5042 of all the nodes have not been calculated, the process returns to S803 and the processes of S803 and S804 are repeated until the characteristic values 5042 of all the nodes are calculated. Then, when the characteristic analysis unit 1021 calculates the characteristic values 5042 of all the nodes, the characteristic value 5042 is stored in the node information table 1111 together with the real value 5041 of the characteristic 504 (S805).

システム特性評価装置10は、図9の処理により、ノードの特性値5042の変更を管理することができる。 The system characteristic evaluation device 10 can manage the change of the characteristic value 5042 of the node by the process of FIG.

以下、図7に記載した特性テーブル1211の特性名602ごとに解析方法の具体例を示す。 Hereinafter, specific examples of the analysis method will be shown for each characteristic name 602 in the characteristic table 1211 shown in FIG. 7.

特性IDI1の処理時間については、アプリケーションログ3001を解析し、処理の開始時刻と終了時刻から処理時間を算出する。
特性IDI2のプログラム数については、ソースコード4001を解析し、呼び出し関係を持つプログラムに対し、あるプログラムが他のプログラムを呼び出している数を算出する。
Regarding the processing time of the characteristic IDI1, the application log 3001 is analyzed and the processing time is calculated from the start time and the end time of the processing.
Regarding the number of programs of the characteristic IDI2, the source code 4001 is analyzed, and the number in which one program calls another program with respect to the program having a calling relationship is calculated.

特性IDI3の特殊構文数については、ソースコード4001を解析し、処理の実装方法について実装言語で一般的でない構文や処理をしようしている回数を算出する。特に、COBOL言語などレガシー言語を実装言語として使用しているプログラムでは、開発日の古いプログラムほど使用頻度が多く、改修しにくい原因となっている場合がある。 For the number of special syntaxes of the characteristic IDI3, the source code 4001 is analyzed, and the number of times the syntax and the processing that are not common in the implementation language are used for the implementation method of the processing are calculated. In particular, in a program that uses a legacy language such as COBOL as an implementation language, the older the program is, the more frequently it is used, which may cause difficulty in repairing.

特性IDI4のデータ重要度については、ソースコード4001を解析し、当該データを参照するプログラム数や複数機能間での参照数を元に設定する。ある機能でしか参照されないローカルデータと、様々な機能で参照されるデータがあった場合、後者を重要度が高くなるように設定する。
特性IDI5の実行時間帯については、アプリケーションログ3001やバッチ設定情報を参照し、プログラムが実行される時刻情報を設定する。
The data importance of the characteristic IDI4 is set based on the number of programs that refer to the data and the number of references between a plurality of functions by analyzing the source code 4001. If there is local data that is referenced only by a certain function and data that is referenced by various functions, set the latter to be more important.
For the execution time zone of the characteristic IDI5, the time information at which the program is executed is set by referring to the application log 3001 and the batch setting information.

特性IDI6の障害発生頻度については、障害情報5001を解析し、予め設定された期間の障害発生回数を算出する。
特性IDI7の改修頻度については、変更履歴4002を解析し、プログラムの改修回数を算出する。
特性IDI8の同時改修数については、変更履歴4002を解析し、各改修で同時に変更されるプログラムの数を算出する。
Regarding the failure occurrence frequency of the characteristic IDI6, the failure information 5001 is analyzed and the number of failure occurrences in a preset period is calculated.
Regarding the repair frequency of the characteristic IDI7, the change history 4002 is analyzed and the number of repairs of the program is calculated.
Regarding the number of simultaneous repairs of the characteristic IDI8, the change history 4002 is analyzed, and the number of programs that are changed at the same time in each repair is calculated.

特性IDI9の呼び出しプログラム数ばらつきについては、ソースコード4001を解析し、あるプログラムから呼び出しているプログラムの数を解析し、同階層のプログラム同士で比較した場合の標準偏差やパーセンタイル値などを設定する。 Regarding the variation in the number of calling programs of the characteristic IDI9, the source code 4001 is analyzed, the number of programs called from a certain program is analyzed, and the standard deviation and percentile values when the programs of the same layer are compared are set.

なお、特性項目ごとに算出する特性値については、算出値そのものだけでなく、パーセンタイル値やN段階のランクとしてもよい。 The characteristic value calculated for each characteristic item may be not only the calculated value itself, but also a percentile value or an N-level rank.

図10は、特性項目指定時における図3の改善箇所解析部の動作フローを示す図である。
図10において、表示装置20は、システム特性評価装置10からソフトウェア構造データ111および特性データ112を取得し(S901)、特性値に応じて配置したソフトウェア構造111と特性名602を表示する(S902)。
FIG. 10 is a diagram showing an operation flow of the improvement point analysis unit of FIG. 3 when a characteristic item is specified.
In FIG. 10, the display device 20 acquires software structure data 111 and characteristic data 112 from the system characteristic evaluation device 10 (S901), and displays the software structure 111 and the characteristic name 602 arranged according to the characteristic values (S902). ..

次に、ユーザ90が特性名602を指定すると(S903)、表示装置20は、その特性名602の特性項目に対応する特性ID601をシステム特性評価装置10の特性評価部102に送信する(S904)。 Next, when the user 90 specifies the characteristic name 602 (S903), the display device 20 transmits the characteristic ID 601 corresponding to the characteristic item of the characteristic name 602 to the characteristic evaluation unit 102 of the system characteristic evaluation device 10 (S904). ..

特性評価部102の改善箇所解析部1023は、受信した特性ID601に設定された閾値603に基づいて、ソフトウェア構造データ1111に格納された各ノードの特性値が閾値を超えているかどうかを判断する(S905)。各ノードの特性値が閾値を超えているかどうかを判断することにより、ソースコード4001の改善箇所を判断することができる。なお、図7に示すように、特性504の実数値5041に対して閾値603が設定されている場合、各ノードの特性504の実数値504が閾値603を超えているかどうかを判断するようにしてもよい。 The improvement part analysis unit 1023 of the characteristic evaluation unit 102 determines whether or not the characteristic value of each node stored in the software structure data 1111 exceeds the threshold value based on the threshold value 603 set in the received characteristic ID 601. S905). By determining whether or not the characteristic value of each node exceeds the threshold value, it is possible to determine the improvement portion of the source code 4001. As shown in FIG. 7, when the threshold value 603 is set for the real value 5041 of the characteristic 504, it is determined whether or not the real value 504 of the characteristic 504 of each node exceeds the threshold value 603. May be good.

次に、改善箇所解析部1023は、改善箇所の解析において改善候補とならなかったノード同士をマージして表示用ノードと表示用エッジを生成し、表示用ソフトウェア構造データ113を作成する(S906)。 Next, the improvement location analysis unit 1023 merges the nodes that were not candidates for improvement in the analysis of the improvement location to generate the display node and the display edge, and creates the display software structure data 113 (S906). ..

次に、表示用ソフトウェア構造データ113を作成すると、特性評価部102は、表示用ソフトウェア構造データ113の表示を表示装置20に指示する(S907)。そして、表示装置20は、表示用ソフトウェア構造データ113を特性評価部102から取得し(S908)、再構成されたノードとエッジを特性値に応じて配置して表示する(S909)。 Next, when the display software structure data 113 is created, the characteristic evaluation unit 102 instructs the display device 20 to display the display software structure data 113 (S907). Then, the display device 20 acquires the display software structure data 113 from the characteristic evaluation unit 102 (S908), arranges the reconstructed nodes and edges according to the characteristic values, and displays them (S909).

図11は、図3の改善箇所解析部の動作を示すフローチャートである。
図11において、改善箇所解析部1023は、ユーザが特性項目を指定した場合に動作する。この時、改善箇所解析部1023は、ノード情報テーブル1111と特性テーブル1121を読み込み、特性テーブル1121から特性項目ごとに閾値を取得する(S1001)。
FIG. 11 is a flowchart showing the operation of the improved part analysis unit of FIG.
In FIG. 11, the improvement location analysis unit 1023 operates when the user specifies a characteristic item. At this time, the improvement location analysis unit 1023 reads the node information table 1111 and the characteristic table 1121 and acquires the threshold value for each characteristic item from the characteristic table 1121 (S1001).

次に、改善箇所解析部1023は、ノード情報テーブル1111の各ノードに対し、特性項目ごとに特性504の実数値5041が閾値603を超えるかを判定する(S1002)。なお、図7の特性テーブル1121では、特性504の実数値5041に対する閾値603の代わりに、特性値5042に対する閾値を設定するようにしてもよい。この時、特性項目ごとに特性値5042が閾値を超えるかを判定することができる。 Next, the improvement location analysis unit 1023 determines for each node in the node information table 1111 whether the real value 5041 of the characteristic 504 exceeds the threshold value 603 for each characteristic item (S1002). In the characteristic table 1121 of FIG. 7, a threshold value for the characteristic value 5042 may be set instead of the threshold value 603 for the real value 5041 of the characteristic 504. At this time, it is possible to determine whether the characteristic value 5042 exceeds the threshold value for each characteristic item.

次に、改善箇所解析部1023は、全ノードを実行時間帯にソートする(S1003)。 Next, the improvement location analysis unit 1023 sorts all the nodes into execution time zones (S1003).

次に、改善箇所解析部1023は、閾値603を超えたノードは改善候補としてそのまま扱う。一方、閾値603を超えなかったノードは非改善候補とする。そして、改善箇所解析部1023は、非改善候補とされたノード同士をマージし、マージされたノードの特性値を再度算出する(S1004)。マージされたノードの特性値は、マージ前の各ノードの特性値に基づいて算出することができる。 Next, the improvement location analysis unit 1023 treats the node exceeding the threshold value 603 as it is as an improvement candidate. On the other hand, the nodes that do not exceed the threshold value 603 are regarded as non-improvement candidates. Then, the improvement location analysis unit 1023 merges the nodes that are candidates for non-improvement, and recalculates the characteristic value of the merged node (S1004). The characteristic value of the merged node can be calculated based on the characteristic value of each node before the merge.

マージ方法は、S1003で実行時間帯順にソートしたノードに対し、改善候補ノード間の複数の非改善候補ノードを特定してマージする。例えば、非改善候補ノードが実行時間帯順に連続して配置されている場合は、それらの非改善候補ノード同士をマージすることができる。一方、非改善候補ノード間に改善候補ノードがある場合には、それらの非改善候補ノード同士をマージしないようにすることができる。これにより、ソフトウェア構造におけるノードの実行順序およびプログラム間の関係性を損なうことなく、改善の優先度の低いノードの表示数を減らすことができ、改善対象となるノードを視認性を向上させることができる。 In the merging method, a plurality of non-improvement candidate nodes among the improvement candidate nodes are specified and merged with respect to the nodes sorted in the execution time zone order in S1003. For example, when the non-improvement candidate nodes are arranged consecutively in the order of execution time zone, the non-improvement candidate nodes can be merged with each other. On the other hand, when there are improvement candidate nodes between the non-improvement candidate nodes, it is possible to prevent the non-improvement candidate nodes from being merged with each other. As a result, the number of nodes with low priority for improvement can be reduced without impairing the execution order of the nodes and the relationship between programs in the software structure, and the visibility of the node to be improved can be improved. can.

また、マージしたノードの特性値は、特性項目に応じて設定することができる。この時、マージされたノードの特性値は、マージ前のノードの特性値の和であってもよいし、マージ前のノードの特性値の最大値であってもよい。例えば、処理時間や特殊構文数など、包含関係にならないノードについては、マージ前のノードの和を取ることでマージされたノードの特性値を算出することができる。データの重要度や実行時間帯などについては、マージ前のノードの最大値をマージされたノードの特性値とすることができる。なお、マージ対象ノードは、ユーザの指定した特性値を超えないようにマージし、複数ノードとしてもよい。 Moreover, the characteristic value of the merged node can be set according to the characteristic item. At this time, the characteristic value of the merged node may be the sum of the characteristic values of the nodes before the merge, or may be the maximum value of the characteristic values of the node before the merge. For example, for nodes that do not have an inclusive relationship, such as processing time and the number of special syntaxes, the characteristic values of the merged nodes can be calculated by summing the nodes before merging. Regarding the importance of data and the execution time zone, the maximum value of the node before merging can be used as the characteristic value of the merged node. The nodes to be merged may be merged so as not to exceed the characteristic value specified by the user, and may be a plurality of nodes.

次に、改善箇所解析部1023は、ノードを実行時系列順でソートし、ノードの実行時刻に基づいてエッジを設定する(S1005)。 Next, the improvement point analysis unit 1023 sorts the nodes in the execution time series order and sets the edge based on the execution time of the node (S1005).

次に、改善箇所解析部1023は、生成したノード情報とエッジ情報を、表示用ソフトウェア構造データ113の表示用ノード情報テーブル1131と表示用エッジ情報テーブル1132に格納する(S1006)。 Next, the improvement location analysis unit 1023 stores the generated node information and edge information in the display node information table 1131 and the display edge information table 1132 of the display software structure data 113 (S1006).

図12は、図5のノード情報テーブルおよび図5のエッジ情報テーブルに基づいて構築されたグラフ構造の表示画面の一例を示す図である。
図12において、表示画面1101には、ノード1103とエッジ1105からなるソフトウェア構造と、ユーザ80が指定可能な特性項目1102を表示することができる。図12の例では、処理性能、稼動時間帯、プログラム数および特殊構文数を表示した。
FIG. 12 is a diagram showing an example of a display screen having a graph structure constructed based on the node information table of FIG. 5 and the edge information table of FIG.
In FIG. 12, the display screen 1101 can display a software structure including a node 1103 and an edge 1105, and a characteristic item 1102 that can be specified by the user 80. In the example of FIG. 12, the processing performance, the operating time zone, the number of programs, and the number of special syntaxes are displayed.

表示画面1101にソフトウェア構造を表示させる場合、ノード1103とエッジ1105に表示用のシンボルを設定することができる。このシンボルとしては、図形、記号または文字などを用いることができる。図12の例では、プログラムおよびデータを示すノード1103を丸、呼び出し関係を示すエッジ1105を矢印で示した。 When displaying the software structure on the display screen 1101, display symbols can be set on the node 1103 and the edge 1105. As this symbol, a figure, a symbol, a character, or the like can be used. In the example of FIG. 12, the node 1103 indicating the program and data is indicated by a circle, and the edge 1105 indicating the calling relationship is indicated by an arrow.

なお、ノード1103は呼び出し関係の最初のノードの実行時系列順1104に表示することができる。図12の例では、S1からS5のノードが最初に実行され、その後、S6からS14のノードが実行されることを示している。 Note that the node 1103 can be displayed in the execution time series order 1104 of the first node in the call relationship. In the example of FIG. 12, it is shown that the nodes S1 to S5 are executed first, and then the nodes S6 to S14 are executed.

プログラムやデータを示すノードは、ノードの種類や、特性値算出部1022データから得られる特性値の大きさに応じて色や濃淡、形の大きさなど表示方法を変更してもよい。例えば、ノード1103は、処理時間の大きさをノードの大きさで表示している。このようにノードの表現を変更することにより、全体のノードのうち、ある値が高いノードの把握が容易になる。 The node showing the program or data may change the display method such as color, shading, and shape size according to the type of the node and the size of the characteristic value obtained from the characteristic value calculation unit 1022 data. For example, the node 1103 displays the size of the processing time by the size of the node. By changing the representation of the node in this way, it becomes easy to grasp the node having a high value among all the nodes.

なお、シェルスクリプトがプログラムを呼び出すような階層構造となっているシステムにおいては、上位階層となるシェルスクリプトのノードの関係性のみを表示しておき、ユーザ80の指定に応じて呼び出し関係を展開してもよい。例えば、上位階層のノードS1〜S14が表示画面1101に表示されている時に、ノードS11を表示画面1101で選択したものとする。この時、ノードS11の階層構造1107を表示画面1101に表示させることができる。 In a system having a hierarchical structure in which a shell script calls a program, only the relationships between the nodes of the shell script in the upper hierarchy are displayed, and the calling relationships are expanded according to the specification of the user 80. You may. For example, it is assumed that the node S11 is selected on the display screen 1101 when the nodes S1 to S14 in the upper layer are displayed on the display screen 1101. At this time, the hierarchical structure 1107 of the node S11 can be displayed on the display screen 1101.

ノードS11の階層構造1107では、中位階層のノードP11、P12および下位階層のノードD11〜D13が設けられているものとする。この時、ノードS1〜S14のシンボルと、ノードP11、P12のシンボルと、ノードD11〜D13のシンボルを互いに異ならせるようにしてもよい。図12の例では、ノードP11、P12を正方形、ノードD11〜D13を菱形で示した。 In the hierarchical structure 1107 of the node S11, it is assumed that the nodes P11 and P12 in the middle layer and the nodes D11 to D13 in the lower layer are provided. At this time, the symbols of the nodes S1 to S14, the symbols of the nodes P11 and P12, and the symbols of the nodes D11 to D13 may be made different from each other. In the example of FIG. 12, nodes P11 and P12 are shown as squares, and nodes D11 to D13 are shown as diamonds.

これにより、最初は業務システム30のソフトウェア構成全体を上位階層のノードS1〜S14で確認し、その後、ユーザの関心のあるノードに対象を絞って階層構造に展開し、詳細なプログラムとデータの関係性の把握を進めることが可能となる。 As a result, the entire software configuration of the business system 30 is first confirmed by the nodes S1 to S14 in the upper hierarchy, and then the target is expanded to the nodes of interest to the user and expanded into a hierarchical structure, and the relationship between the detailed program and the data. It becomes possible to advance the grasp of sex.

図13は、図12の表示画面に選択ノードの特性値を表示させた例を示す図である。
図13において、例えば、表示画面1101にてノード1103を押下すると、ノード1103に関する特性表1106が表示される。特性表1106には、押下したノード1103の特性値が特性項目ごとに表示される。特性表1106は、ノード情報テーブル1111の特性504から作成することができる。これにより、ユーザ80は、表示画面1101に表示された多数のノード1103のうち、自分が関心のあるノード1103の特性値を確認することができる。
FIG. 13 is a diagram showing an example in which the characteristic value of the selected node is displayed on the display screen of FIG.
In FIG. 13, for example, when node 1103 is pressed on the display screen 1101, the characteristic table 1106 relating to node 1103 is displayed. In the characteristic table 1106, the characteristic value of the pressed node 1103 is displayed for each characteristic item. The characteristic table 1106 can be created from the characteristic 504 of the node information table 1111. As a result, the user 80 can confirm the characteristic value of the node 1103 that he / she is interested in among the large number of nodes 1103 displayed on the display screen 1101.

また、ユーザ80が特性項目1102の項目名を押下すると、指定した特性項目の閾値を元にノード1103の特性値と閾値とが比較される。この時、閾値を超えなかったノードは非改善候補とされ、非改善候補とされたノード同士がマージされる。そして、そのマージされたノードに基づいてグラフ構造が再構築され、その再構築されたグラフ構造が表示される。この表示方法は、特に、プログラムの実行時間の変動が少ないバッチシステムに適用した場合に効果がある。 When the user 80 presses the item name of the characteristic item 1102, the characteristic value of the node 1103 and the threshold value are compared based on the threshold value of the designated characteristic item. At this time, the nodes that do not exceed the threshold value are regarded as non-improvement candidates, and the nodes that are non-improvement candidates are merged with each other. Then, the graph structure is reconstructed based on the merged node, and the reconstructed graph structure is displayed. This display method is particularly effective when applied to a batch system in which the fluctuation of the program execution time is small.

図14は、図1の表示装置に表示される再構築後のグラフ構造の表示画面の一例を示す図である。
図14の表示画面1201では、特性項目として処理性能、稼動時間帯およびプログラム数が指定された場合を示した。
FIG. 14 is a diagram showing an example of a display screen having a reconstructed graph structure displayed on the display device of FIG.
The display screen 1201 of FIG. 14 shows a case where the processing performance, the operating time zone, and the number of programs are specified as the characteristic items.

ここで、処理性能が処理時間であるものとすると、図5からノードS1の処理時間が7sec、ノードS2の処理時間が5secであることが判る。図7から処理時間の閾値が10secであることが判る。このため、処理時間について、各ノードS1、S2の処理時間は閾値を下回っていると判断される。このため、ノードS1、S2は非改善候補ノードとされる。さらに、ノードS1、S2は実行時系列順1104で連続している。この結果、ノードS1、S2はマージされ、新たにノードS1+2が生成される。この時、ノードS1+2の特性の実数値として、元のノードS1、S2の特性の実数値の和とすることができる。また、ノードS1+2の特性の実数値に対して特性値が与えられる。そして、ノードS1+2を押下することにより、ノードS1+2の特性表1206を表示することができる。 Here, assuming that the processing performance is the processing time, it can be seen from FIG. 5 that the processing time of the node S1 is 7 sec and the processing time of the node S2 is 5 sec. It can be seen from FIG. 7 that the threshold value of the processing time is 10 sec. Therefore, regarding the processing time, it is determined that the processing time of each node S1 and S2 is below the threshold value. Therefore, the nodes S1 and S2 are non-improvement candidate nodes. Further, the nodes S1 and S2 are continuous in the execution time sequence order 1104. As a result, the nodes S1 and S2 are merged, and a new node S1 + 2 is generated. At this time, the real value of the characteristics of the nodes S1 + 2 can be the sum of the real values of the characteristics of the original nodes S1 and S2. Further, a characteristic value is given to the real value of the characteristic of the node S1 + 2. Then, by pressing the node S1 + 2, the characteristic table 1206 of the node S1 + 2 can be displayed.

一方、図5からノードS3の処理時間が250secであることが判る。図7から処理時間の閾値が10secであることが判る。このため、処理時間について、各ノードS3の処理時間は閾値以上と判断される。このため、ノードS3は改善候補ノードとされ、そのまま扱われる。 On the other hand, it can be seen from FIG. 5 that the processing time of the node S3 is 250 sec. It can be seen from FIG. 7 that the threshold value of the processing time is 10 sec. Therefore, regarding the processing time, it is determined that the processing time of each node S3 is equal to or greater than the threshold value. Therefore, the node S3 is regarded as an improvement candidate node and is treated as it is.

図15は、図14の再構築後のグラフ構造に対応したノード情報テーブルの内容の一例を示す図である。なお、このノード情報テーブル1131は、ノードS1、S2がマージされることでノードS1+2が生成された場合を示す。 FIG. 15 is a diagram showing an example of the contents of the node information table corresponding to the graph structure after the reconstruction of FIG. The node information table 1131 shows a case where the nodes S1 + 2 are generated by merging the nodes S1 and S2.

図15において、ノード情報テーブル1131には、プログラムまたはデータごとに割り当てられたノードID1301と、各ノードに対して、プログラム名またはデータ名を識別可能な処理名称1302と、プログラムやデータの種別1303と、プログラム実行に関する業務システム30の特性1304を格納する。 In FIG. 15, the node information table 1131 includes a node ID 1301 assigned to each program or data, a processing name 1302 capable of identifying the program name or data name for each node, and a program or data type 1303. , Stores the characteristic 1304 of the business system 30 related to program execution.

特性1304には、少なくとも1以上の設定された特性項目が格納される。特性1304として、特性1304の実数値13041と、正規化等を実施した特性値13042とをそれぞれ格納することができる。 At least one set characteristic item is stored in the characteristic 1304. As the characteristic 1304, the real value 13041 of the characteristic 1304 and the characteristic value 13042 that has been normalized or the like can be stored, respectively.

ここで、ノード情報テーブル1131には、改善箇所解析部1023が動作した結果、図5のノードのうちマージされたノードの情報と、マージされなかったノードの情報が格納される。また、マージされたノードについては、特性値はマージ後に再度算出した値を格納する。図15では、シェルスクリプトのノードS1、S2がマージされたノードS1+2として格納された例を示した。ノードS1+2の処理時間についても、元のシェルスクリプトのノードS1、S2の処理時間を合算した値が格納されている。 Here, the node information table 1131 stores the information of the merged node and the information of the unmerged node among the nodes of FIG. 5 as a result of the operation of the improvement location analysis unit 1023. For the merged node, the characteristic value stores the value recalculated after the merge. FIG. 15 shows an example in which the shell script nodes S1 and S2 are stored as merged nodes S1 + 2. As for the processing time of the nodes S1 + 2, the total value of the processing times of the nodes S1 and S2 of the original shell script is stored.

図16は、図14の再構築後のグラフ構造に対応したエッジ情報テーブルの内容の一例を示す図である。
図16において、ノードS1、S2をマージすることで、それらのノードS1、S2に付されていたエッジも変化する。このため、ノードS1、S2のマージ結果に伴って、図6のエッジ情報テーブル1112が図16のエッジ情報テーブル1132に更新される。
FIG. 16 is a diagram showing an example of the contents of the edge information table corresponding to the graph structure after the reconstruction of FIG.
In FIG. 16, by merging the nodes S1 and S2, the edges attached to the nodes S1 and S2 also change. Therefore, the edge information table 1112 in FIG. 6 is updated to the edge information table 1132 in FIG. 16 according to the merge result of the nodes S1 and S2.

エッジ情報テーブル1132には、図5で示したプログラム間の呼び出し関係またはプログラムとデータの参照関係ごとに一意に特定可能なエッジID1311と、エッジの呼び出し元ノードID1312、エッジの呼び出し先ノードID1313を格納する。呼び出し元ノードIDおよび呼び出し先ノードIDは、ノード情報テーブル1131に格納したノードID1301を使用する。また、ノード情報テーブル1132には、プログラム間の呼び出しか、プログラムとデータの呼び出しかが識別できるよう、関係性の種類1314も格納することができる。 The edge information table 1132 stores an edge ID 1311 that can be uniquely specified for each call relationship between programs or a reference relationship between programs and data shown in FIG. 5, a caller node ID 1312 for the edge, and a call destination node ID 1313 for the edge. do. As the caller node ID and the callee node ID, the node ID 1301 stored in the node information table 1131 is used. In addition, the node information table 1132 can also store the relationship type 1314 so that it can be identified whether it is a call between programs or a call between a program and data.

以上の処理を行うことにより、ソフトウェア構造だけでなく、開発状況や稼動状況を踏まえた改善対象候補を把握することができ、システム刷新時の刷新対象の検討工数を削減することができる。 By performing the above processing, it is possible to grasp not only the software structure but also the improvement target candidates based on the development status and the operation status, and it is possible to reduce the man-hours for examining the renewal target at the time of system renewal.

なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
本実施例では生産管理を例として述べたが、他の分野にも適用が可能である。
The present invention is not limited to the above-described embodiment as it is, and at the implementation stage, the components can be modified and embodied within a range that does not deviate from the gist thereof. In addition, various inventions can be formed by an appropriate combination of the plurality of components disclosed in the above-described embodiment. For example, some components may be removed from all the components shown in the embodiments. In addition, components across different embodiments may be combined as appropriate.
In this embodiment, production control has been described as an example, but it can be applied to other fields.

10 システム特性評価装置、20 表示装置、30 業務システム、40 ソースコード管理装置、50 障害管理装置、101 ソフトウェア構造解析部、102 特性評価部、1011 ソフトウェア構造解析部、1021 特性解析部、1022 特性値算出部、1023 改善箇所解析部、111 ソフトウェア構造データ、112 特性データ、113 表示用ソフトウェア構造データ

10 system characteristic evaluation device, 20 display device, 30 business system, 40 source code management device, 50 failure management device, 101 software structure analysis unit, 102 characteristic evaluation unit, 1011 software structure analysis unit, 1021 characteristic analysis unit, 1022 characteristic value Calculation unit, 1023 Improvement point analysis unit, 111 software structure data, 112 characteristic data, 113 display software structure data

Claims (13)

システム特性評価装置と、
表示装置とを備え、
前記システム特性評価装置は、
ソースコードにおけるプログラム間の呼び出し関係とデータとの関係性を解析し、プログラムをノード、プログラムの呼び出し関係を方向付きエッジとしたグラフ構造を生成するソフトウェア構造解析部と、
前記ソースコードの解析結果および前記プログラムが実行されるシステムのシステム情報に基づいて、前記システムの特性値を前記ノードごとに算出する特性解析部と、
前記特性値に基づいて前記ノードをマージし、前記ノードのマージ結果に基づいて前記グラフ構造を再構築する改善箇所解析部とを備え、
前記表示装置は、前記改善箇所解析部で再構築されたグラフ構造のノードとエッジとをシンボル化して表示するシステム特性評価システム。
System characterization device and
Equipped with a display device
The system characteristic evaluation device is
A software structure analysis unit that analyzes the relationship between program calls and data in the source code and generates a graph structure with the program as a node and the program call relationship as a directional edge.
A characteristic analysis unit that calculates the characteristic value of the system for each node based on the analysis result of the source code and the system information of the system in which the program is executed.
It is provided with an improvement point analysis unit that merges the nodes based on the characteristic values and reconstructs the graph structure based on the merge result of the nodes.
The display device is a system characteristic evaluation system that symbolizes and displays nodes and edges of a graph structure reconstructed by the improvement point analysis unit.
前記システム情報は、前記システムの稼働情報または障害情報である請求項1に記載のシステム特性評価システム。 The system characteristic evaluation system according to claim 1, wherein the system information is operation information or failure information of the system. 前記特性解析部は、前記稼働情報、前記障害情報、前記プログラムの構造情報および前記プログラムの変更履歴のそれぞれに対して特性値を付与し、
前記改善箇所解析部は、前記特性値に基づいて前記ノードをマージする請求項2に記載のシステム特性評価システム。
The characteristic analysis unit assigns characteristic values to each of the operation information, the failure information, the structure information of the program, and the change history of the program.
The system characteristic evaluation system according to claim 2, wherein the improvement location analysis unit merges the nodes based on the characteristic values.
前記稼働情報は前記プログラムの処理時間または実行時間帯であり、前記障害情報は前記システムの障害発生頻度であり、前記構造情報は、プログラム数、特殊構文数またはデータ重要度であり、前記変更履歴は前記プログラムの改修頻度または同時改修数である請求項3に記載のシステム特性評価システム。 The operation information is the processing time or execution time zone of the program, the failure information is the failure frequency of the system, the structural information is the number of programs, the number of special syntaxes or the data importance, and the change history. Is the system characteristic evaluation system according to claim 3, which is the frequency of repairs or the number of simultaneous repairs of the program. 前記特性解析部は、前記特性値を特性項目ごとに算出し、
前記改善箇所解析部は、
前記特性項目ごと付与された条件を前記特性値が満たすかどうかをノードごとに判断し、
前記判断結果に基づいて選択したノードをマージし、
前記ノードの実行時系列情報に基づいて前記ノードのエッジを設定する請求項1に記載のシステム特性評価システム。
The characteristic analysis unit calculates the characteristic value for each characteristic item and calculates the characteristic value for each characteristic item.
The improvement part analysis unit
Whether or not the characteristic value satisfies the condition given for each characteristic item is determined for each node, and the condition is determined for each node.
Merge the selected nodes based on the above judgment result,
The system characteristic evaluation system according to claim 1, wherein the edge of the node is set based on the execution time series information of the node.
前記改善箇所解析部は、前記ソースコードのエッジとノードからなるグラフ構造において、前記ノードの実行時系列順に前記ノードを配置し、
前記表示装置は、前記実行時系列順に前記ノードのシンボルを表示する請求項1に記載のシステム特性評価システム。
The improvement point analysis unit arranges the nodes in the execution time series order of the nodes in a graph structure composed of edges and nodes of the source code.
The system characteristic evaluation system according to claim 1, wherein the display device displays symbols of the nodes in the order of the execution time series.
前記改善箇所解析部は、
前記ノードおよび前記エッジを前記表示装置に表示させるシンボルを前記ノードおよび前記エッジにそれぞれ設定し、
前記特性値に応じて前記シンボルの種類、色、太さ、大きさまたは表示位置を変更し、
前記表示装置は、前記種類、色、太さ、大きさまたは表示位置が変更されたシンボルを表示する請求項6に記載のシステム特性評価システム。
The improvement part analysis unit
Symbols for displaying the node and the edge on the display device are set on the node and the edge, respectively.
The type, color, thickness, size or display position of the symbol is changed according to the characteristic value.
The system characteristic evaluation system according to claim 6, wherein the display device displays a symbol whose type, color, thickness, size, or display position has been changed.
前記改善箇所解析部は、特性項目の指定に基づいて前記グラフ構造のノードとエッジを変更し、
前記表示装置は、前記ノードとエッジの変更が反映されたシンボルを表示する請求項4にシステム特性評価システム。
The improved position analyzing unit changes the nodes and edges of the graph structure on the basis of the specified characteristics items,
The system characteristic evaluation system according to claim 4, wherein the display device displays a symbol reflecting the change of the node and the edge.
前記ソースコードと前記ソースコードの変更履歴を保持するソースコード管理装置と、
前記システムの稼働情報を含むアプリケーションログを保持する業務システムと、
前記システムの障害履歴報を保持する障害管理装置とをさらに備える請求項2に記載のシステム特性評価システム。
A source code management device that holds the source code and the change history of the source code,
A business system that holds an application log that includes the operation information of the system,
The system characteristic evaluation system according to claim 2, further comprising a failure management device that holds a failure history report of the system.
ソースコードの構造解析に基づいて、前記ソースコードに関する静的情報を生成する構造解析部と、
前記ソースコードに関する動的情報を取得し、前記ソースコードの静的情報および動的情報に基づいて、前記ソースコードにおけるプログラムが実行されるシステムの特性を評価する特性評価部とを備え
前記ソースコードの静的情報は、前記ソースコードにおけるプログラムをノード、前記プログラムの呼び出し関係を方向付きエッジとしたグラフ構造であり、
前記特性評価部は、
前記ソースコードの静的情報および動的情報に基づいて、前記ソースコードに含まれるプログラムが実行されるシステムの特性値を前記ノードごとに算出する特性解析部と、
前記特性値に基づいて前記ノードをマージし、前記ノードのマージ結果に基づいて前記グラフ構造を再構築する改善箇所解析部と、を備えるシステム特性評価装置。
A structural analysis unit that generates static information about the source code based on the structural analysis of the source code.
It is provided with a characteristic evaluation unit that acquires dynamic information about the source code and evaluates the characteristics of the system in which the program in the source code is executed based on the static information and the dynamic information of the source code .
The static information of the source code is a graph structure in which the program in the source code is a node and the calling relationship of the program is a directional edge.
The characteristic evaluation unit
A characteristic analysis unit that calculates the characteristic values of the system in which the program included in the source code is executed based on the static information and dynamic information of the source code for each node.
A system characteristic evaluation device including an improvement point analysis unit that merges the nodes based on the characteristic values and reconstructs the graph structure based on the merged result of the nodes.
前記ソースコードの動的情報は、前記システムの稼働情報または障害情報、あるいは前記ソースコードの変更履歴である請求項10に記載のシステム特性評価装置。 The system characteristic evaluation device according to claim 10, wherein the dynamic information of the source code is operation information or failure information of the system, or change history of the source code. 前記稼働情報は前記プログラムの処理時間または実行時間帯であり、前記障害情報は前記システムの障害発生頻度であり、前記変更履歴は前記プログラムの改修頻度または同時改修数である請求項11に記載のシステム特性評価装置。 The operation information is the processing time or execution time zone of the program, the failure information is the failure occurrence frequency of the system, and the change history is the repair frequency or the number of simultaneous repairs of the program. System characteristic evaluation device. 前記ソースコードの特性の特性項目ごとに閾値が設定され、
前記改善箇所解析部は、前記特性項目ごとに前記特性値と前記閾値を比較し、前記比較結果に基づいてマージ対象のノードを選択する請求項10に記載のシステム特性評価装置。
A threshold value is set for each characteristic item of the characteristic of the source code.
The system characteristic evaluation device according to claim 10 , wherein the improvement location analysis unit compares the characteristic value with the threshold value for each characteristic item, and selects a node to be merged based on the comparison result.
JP2017233019A 2017-12-05 2017-12-05 System characterization system and system characterization device Active JP6917874B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017233019A JP6917874B2 (en) 2017-12-05 2017-12-05 System characterization system and system characterization device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017233019A JP6917874B2 (en) 2017-12-05 2017-12-05 System characterization system and system characterization device

Publications (2)

Publication Number Publication Date
JP2019101830A JP2019101830A (en) 2019-06-24
JP6917874B2 true JP6917874B2 (en) 2021-08-11

Family

ID=66973777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017233019A Active JP6917874B2 (en) 2017-12-05 2017-12-05 System characterization system and system characterization device

Country Status (1)

Country Link
JP (1) JP6917874B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755318B2 (en) 2019-08-28 2023-09-12 Mitsubishi Electric Corporation Proposing device and improvement proposing method
CN111061453B (en) * 2019-12-26 2023-12-26 北京官匠空间科技有限公司 Voice interaction method and device for APP ecosystem

Also Published As

Publication number Publication date
JP2019101830A (en) 2019-06-24

Similar Documents

Publication Publication Date Title
US8861691B1 (en) Methods for managing telecommunication service and devices thereof
CN106681299B (en) Event analysis device, event analysis system, event analysis method, and event analysis program
US10839504B2 (en) User interface for managing defects
US20170261403A1 (en) Abnormality detection procedure development apparatus and abnormality detection procedure development method
JP6780655B2 (en) Log analysis system, method and program
CN109617745B (en) Alarm prediction method, device, system and storage medium
KR101312446B1 (en) Analysis apparatus and method for usability of mobile application using user bebavior log
JP6917874B2 (en) System characterization system and system characterization device
US11574237B2 (en) Quick path to train, score, and operationalize a machine learning project
US20100077382A1 (en) Computer-readable recording medium string a bug detection support program, similar structure identification information list output program, bug detection support apparatus, and bug detection support method
CN111625410B (en) Information processing method, apparatus, and computer storage medium
US9405657B2 (en) Application architecture assessment system
JP6741217B2 (en) Log analysis system, method and program
JP2010211483A (en) Operability improvement method and screen controller
JPWO2012070294A1 (en) Availability evaluation apparatus and availability evaluation method
JP2018181020A (en) Calculation device and influence output system
KR102346885B1 (en) Method and system to visualize abnormal behavior detection result for enterprise resource planning system in shape of flowering stem
CN113986986B (en) Data stream processing method, device, server and storage medium
Molka et al. Dotted Chart and Control-Flow Analysis for a Loan Application Process.
JP4461771B2 (en) Abnormal behavior detection device, abnormal behavior detection method, program, and rare behavior subsequence calculation device
JP2006215798A (en) Task analysis/management support administrative device, task analysis/management support administrative method and task analysis/management support administrative program
JP6873936B2 (en) Analytical model construction support device and analytical model construction support method
US20150052164A1 (en) Associating an application with an application file
JP2018132813A (en) Information management device, information management method and information management program
JP2012073854A (en) File management device, file management method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210720

R150 Certificate of patent or registration of utility model

Ref document number: 6917874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150