JP2019101830A - System for evaluating system characteristics and device for evaluating system characteristics - Google Patents

System for evaluating system characteristics and device for evaluating system characteristics Download PDF

Info

Publication number
JP2019101830A
JP2019101830A JP2017233019A JP2017233019A JP2019101830A JP 2019101830 A JP2019101830 A JP 2019101830A JP 2017233019 A JP2017233019 A JP 2017233019A JP 2017233019 A JP2017233019 A JP 2017233019A JP 2019101830 A JP2019101830 A JP 2019101830A
Authority
JP
Japan
Prior art keywords
characteristic
source code
node
analysis unit
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017233019A
Other languages
Japanese (ja)
Other versions
JP6917874B2 (en
Inventor
宏美 伊川
Hiromi Ikawa
宏美 伊川
悟 堀
Satoru Hori
悟 堀
晃 ▲高▼木
晃 ▲高▼木
Akira Takagi
憲一郎 本村
Kenichiro Motomura
憲一郎 本村
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)

Abstract

To evaluate the priority of an section of a system to be improved.SOLUTION: A software structure analysis unit 1011 analyzes a relationship between a calling relationship among programs in source code and data, and generates a graph structure with nodes representing programs and directional edges representing the calling relationship among programs. A characteristic analysis unit 1021 calculates a characteristic value of a business system 30 for each node on the basis of an analysis result of the source code and operation information or fault information of the business system 30, in which and the program are executed. An improvement section analysis unit 1023 merges node on the basis of the characteristic value and reconstructs the graph structure on the basis of a result of the node merging.SELECTED DRAWING: Figure 2

Description

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

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

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

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

特開2012−230538号公報JP 2012-230538 A

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

例えば、ソースコード解析の結果、構造に問題があったとしても、業務利用上問題のないプログラムであれば、改修の優先度は低くなる可能性が高い。
また、処理時間や可用性のような非機能性の改善についても、夜間に実施されるバッチ処理と、日中のユーザが起動して実行する処理では、処理時間が同じでも後者の処理の方が改善優先度は高くなる可能性が高い。
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.
In addition, with regard to improvement of non-functionality such as processing time and availability, the latter process is the same even if the processing time is the same in batch processing performed at night and processing started and executed by the user during the daytime The improvement priority is likely to be high.

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

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

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

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

図1は、実施形態に係るシステム特性評価システムの概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a system characteristic evaluation system according to the embodiment. 図2は、図1のシステム特性評価装置の略構成を示すブロック図である。FIG. 2 is a block diagram showing a schematic configuration of the system characteristic evaluation apparatus 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 apparatus 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 content of the edge information table of FIG. 図7は、図3の特性データの一例を示す図である。FIG. 7 is a view 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 location analysis unit of FIG. 3 at the time of specification of a characteristic item. 図11は、図3の改善箇所解析部の動作を示すフローチャートである。FIG. 11 is a flowchart showing the operation of the improvement point analysis unit of FIG. 図12は、図5のノード情報テーブルおよび図5のエッジ情報テーブルに基づいて構築されたグラフ構造の表示画面の一例を示す図である。FIG. 12 is a view showing an example of a display screen of 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 of the graph structure after reconstruction 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 reconstruction in 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 reconstruction in FIG.

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

図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 the embodiment.
In FIG. 1, the system characteristic evaluation system is provided with a system characteristic evaluation unit 10, a display unit 20, a business system 30, a source code management unit 40 and a fault management unit 50. The system characteristic evaluation device 10, the display device 20, the business system 30, the source code management device 40, and the fault 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, or a LAN (Local Area Network) such as Ethernet (registered trademark) or WiFi, or the WAN and the LAN It may be mixed. The network 70 may be wired, wireless, or a combination of wired and wireless.

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

表示装置20は、ユーザ80の操作に基づいて、業務システム30の特性の評価結果を表示することができる。業務システム30は、ユーザ90の業務に関する各種プログラムを実行することができる。ソースコード管理装置40は、業務システム30で実行されるソースコードを管理することができる。障害管理装置50は、業務システム30の障害を管理することができる。   The display device 20 can display the evaluation result of the characteristic 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 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 characteristics evaluation device 10 can obtain source code from the source code management device 40. The system characterization apparatus 10 can generate static information of source code based on structural analysis of the source code. The system characteristic evaluation device 10 can acquire dynamic information on source code from the business system 30, the source code management device 40 and the fault management device 50.

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

そして、システム特性評価装置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 the improvement of the source code.

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

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

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

なお、図1の例では、システム特性評価装置10がネットワーク70を介して業務システム30およびソースコード管理装置40に接続された構成を示したが、業務システム30の一機能としてシステム特性評価装置10を用いるようにしてもよいし、ソースコード管理装置40の一機能としてシステム特性評価装置10を用いるようにしてもよい。   In the example shown in FIG. 1, the system characteristic evaluation unit 10 is connected to the business system 30 and the source code management unit 40 via the network 70. However, the system characteristic evaluation unit 10 is one function of the business system 30. The system characteristic evaluation device 10 may be used as one function of the source code management 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 apparatus of FIG.
In FIG. 2, the system characteristic evaluation apparatus 10 is provided with a structure 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 point analysis unit 1023, characteristic data 112, and display software structure data 113.

構造解析部101は、ソースコードの構造解析に基づいて、ソースコードに関する静的情報を生成する。特性評価部102は、ソースコードの静的情報および動的情報に基づいて、ソースコードにおけるプログラムが実行される業務システム30の特性を評価する。   The structure analysis unit 101 generates static information on the source code based on the structural analysis of the source code. The characteristic evaluation unit 102 evaluates the characteristic of the business system 30 on 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, specifies a program or data serving as a node, a calling relationship between programs serving as an edge, and a calling relationship between a program and data, Store in 111.

特性解析部1021は、ソフトウェア構造データ111に格納したノードごとに、業務システム30の特性を解析する。具体的には、特性データ112に格納された特性項目について、業務システム30から収集したアプリケーションログと、ソースコード管理装置40から収集した変更履歴と、障害管理装置50から収集した障害履歴などに基づいて特性値を算出し、ソフトウェア構造データ111に格納する。   The characteristic analysis unit 1021 analyzes the characteristic of the business system 30 for each of the nodes stored in the software structure data 111. Specifically, the characteristic items stored in the characteristic data 112 are 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, etc. 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, for each node stored in the software structure data 111, the characteristic value of each characteristic item. The characteristic value calculation unit 1022 can be provided for each characteristic item. At this time, an ID specifying the characteristic value calculation unit 1022 can be linked to 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 shown in 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 point analysis unit 1023 determines whether the characteristic value of each program and data stored in the software structure data 111 exceeds the threshold stored in the characteristic data 112 with respect to the characteristic item received by the display device 20. can do. Further, the improvement point 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 apparatus 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 programs (functions) and data, the calling relationship between programs, and the calling relationship between programs and data. Then, the software structure analysis unit 1011 generates a graph structure in which the program and data referenced by the program are nodes, the call relationship of the program and the reference relationship between the program and data are directed edges, and is stored in the software structure data 111.

次に、特性解析部1021は、ソフトウェア構造データ111に格納したノードに対し、特性値を解析する。特性解析部1021は、特性項目ごとに紐づけられた特性値算出部1022を呼び出し、プログラムごとに解析対象とするデータを解析し、その解析結果をソフトウェア構造データ111に格納する。   Next, the characteristic analysis unit 1021 analyzes the characteristic values of the nodes stored in the software structure data 111. The characteristic analysis unit 1021 calls the characteristic value calculation unit 1022 linked to 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は、そのシンボル化された情報に基づいて、各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、各ノードを実行時系列順に表示する。   Furthermore, the system characteristic evaluation device 10 arranges the nodes in 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 is 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 for each node and each edge based on the symbolized information, and displays each node in chronological order of execution.

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

さらに、改善箇所解析部1023は、マージされたノードに対して特性値を再算出する。特性値を算出する場合、改善箇所解析部1023は、特性解析部1021を呼び出し、特性解析部1021に特性値を再算出させることができる。なお、マージされたノードの特性値は、元のノードの特性値に基づいて算出することができる。   Furthermore, the improvement location analysis unit 1023 recalculates the characteristic value for the merged node. When calculating the characteristic value, the improvement point analysis unit 1023 can call the characteristic analysis unit 1021 to cause the characteristic analysis unit 1021 to 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 to each node and each edge according to the recalculated characteristic value, and based on the setting information, each node and each position 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 for each node and each edge based on the symbolized information, and displays each node in chronological order of execution.

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

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

さらに、ソースコードの変更に伴って仕様書とソースコードの乖離が大きくなり、全体のソフトウェア構造や設計指針などを把握することが困難である場合においても、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。   Furthermore, even if the difference between the specification and the source code becomes large with the change of the source code, and it is difficult to grasp the entire software structure and design guidelines, etc., the user 80 is positioned in the business. While taking 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 of different natures and there are a large number of function improvement requests, it is possible to easily identify the improvement target in the source code while capturing all the improvement requests for 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, in the software structure data 111, a node information table 1111 and an edge information table 1112 are provided. In the display software structure data 113, a display node information table 1131 and a display edge information table 1132 are provided. The business application system 30 holds an application log 3001. The source code management device 40 holds a source code 4001 and a 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 programs (functions) and data, a calling relationship between programs, and a calling relationship between programs and data. The software structure analysis unit 1011 updates the node information table 1111 with the program and data as nodes based on the analysis result, and the edge information table 1112 with the program call relationship and the program and data call relationship as directed edges. Update.

次に、特性解析部1021は、ソフトウェア構造解析部1011で更新されたソフトウェア構造データ111を取得する。また、特性解析部1021は、ネットワーク70を介し、ソースコード管理装置40から変更履歴4001を取得し、業務システム30からアプリケーションログ3001を取得し、障害管理装置50から障害履歴5001を取得する。そして、特性解析部1021は、特性テーブル1121に格納した特性項目に対応する特性値算出部1022を動作させ、その特性項目の特性値をノードごとに算出する。そして、特性解析部1021は、各特性項目について算出した特性値をノードごとにノード情報テーブル1111に格納する。   Next, the property analysis unit 1021 acquires the software structure data 111 updated by the software structure analysis unit 1011. Also, the characteristic analysis unit 1021 acquires the change history 4001 from the source code management device 40 via the network 70, acquires the application log 3001 from the business system 30, and acquires the failure history 5001 from the failure management device 50. 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 value 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 designated by the user 80, the improvement point analysis unit 1023 operates. The improvement location analysis unit 1023 refers to the node information table 1111 and the characteristic table 1121 and determines whether each node of the node information table 1111 exceeds the threshold set in the characteristic table 1121. Furthermore, the improvement location analysis unit 1023 reconstructs the graph structure for display based on the determination result, stores the reconstructed program and data of the graph structure as nodes in the display node information table 1131, and The call relation of the restructured program of the graph structure and the call relation of the program and data are stored in the display edge information table 1132 as directed 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 apparatus of FIG.
In FIG. 4, the system characteristic evaluation apparatus 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 a program stored in the main storage unit 104 into the RAM 1032, and the processor 1031 executes the program to control information processing in the system characteristic evaluation apparatus 10.
The main storage unit 104 stores information related to the system characteristic evaluation apparatus 10 in a non-volatile manner. The main storage unit 104 may be a magnetic disk drive or an SSD (Solid State Drive).

主記憶部104には、ソフトウェア構造解析プログラム1011P、特性解析プログラム1021P、特性値算出プログラム1022P、改善箇所解析プログラム1023P、ソフトウェア構造データ111、特性データ112および表示用ソフトウェア構造データ113が記憶される。特性値算出プログラム1022Pは、特性項目ごとに設けることができる。   The main storage unit 104 stores a software structure analysis program 1011P, a characteristic analysis program 1021P, a characteristic value calculation program 1022P, an improvement location analysis program 1023P, software structure data 111, characteristic data 112, and display software structure data 113. 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と通信する。
The input unit 105 is input by the user to the system characteristic evaluation device 10 when it is necessary to manually input information on the system characteristic evaluation device 10.
The output unit 106 outputs the information regarding the system characteristic evaluation apparatus 10 to the user when the system characteristic evaluation apparatus 10 needs to output information.
The communication unit 107 is connected 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 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 allocated for each program or data, a processing name 502 capable of identifying a program name or data name for each node, and a type 503 of program or data. , And stores the characteristic 504 of the business system 30 relating to program execution.

特性504には、少なくとも1以上の設定された特性項目が格納される。特性504として、特性504の実数値5041と、正規化等を実施した特性値5042とをそれぞれ格納することができる。   The characteristic 504 stores at least one set characteristic item. As the characteristic 504, the real number value 5041 of the characteristic 504 and the characteristic value 5042 which performed normalization etc. can be stored, respectively.

図5の例では、シェルスクリプトがCOBOL言語やC言語で実装されたプログラムを呼び出し、プログラムがデータを呼び出すシステムのノードの格納例を示した。また、特性項目として処理時間が設定されている例を示した。   In the example of FIG. 5, a shell script calls a program implemented in COBOL or C language, and an example of storage of a node of a system in which the program calls data is shown. Moreover, the example in which the processing time is set as the 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 content of the edge information table of FIG.
In FIG. 6, in the edge information table 1112, an edge ID 511, an edge call source node ID 512, and an edge call destination which can be uniquely identified for each call relationship between programs or reference relationships between programs and data shown in FIG. The node ID 513 is stored. The call source node ID and the call destination node ID use the node ID 501 stored in the node information table 1111.

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

また、ノード情報テーブル1111には、プログラム間の呼び出しか、プログラムとデータの呼び出しかが識別できるよう、関係性の種類514も格納することができる。図6の例では、プログラムの呼び出し順を「next」、データの参照関係を「in」または「out」で表現した。また、シェルスクリプトがプログラムを呼び出す場合など、階層構造になったプログラム群において、上位階層のプログラムが下位階層のプログラムを呼び出す関係性として「call」で表現した。なお、この関係性の種類514は、ソフトウェア構造に応じて適宜変更することが可能である。   Further, in the node information table 1111, the kind of relationship 514 can also be stored so that it is possible to distinguish between calls between programs or calls between programs and data. In the example of FIG. 6, the calling order of the program is represented by "next", and the reference relationship of data is represented by "in" or "out". Also, when a shell script calls a program, in a hierarchically structured program group, a program in the upper hierarchy is expressed as "call" as a relationship for calling a program in the lower hierarchy. The type of relationship 514 can be changed as appropriate 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 view showing an example of the characteristic data of FIG.
In FIG. 7, the characteristic table 1121 stores a characteristic ID 601, a characteristic name 602, a threshold 603, and a characteristic value calculation unit ID 604 for each of the characteristic items managed by the node information table 1111. The characteristic ID 601 is an ID that can uniquely identify the characteristic item. The property name 602 can indicate the name of the property to be displayed on the node information table 1111 and the display device 20. The threshold 603 is a reference of the characteristic of the node that can be an improvement target when the characteristic of the characteristic item designated by the user 80 is represented by a numerical value.

閾値603は、特性504の実数値5041または特性値5042に対して予め設定することができる。図7では、特性504の実数値5041に対して閾値603を設定した例を示した。ただし、閾値603の設定に用いる基準は変更することも可能である。例えば、管理者による変更を行ってもよいし、システム改修前後の特性値5042の履歴を取得しておき、その時の実績値を元に閾値603を設定してもよい。   The threshold 603 can be preset for 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 number value 5041 of the characteristic 504. However, the reference used to set the threshold 603 can be changed. For example, a change by the administrator may be made, or a history of the characteristic values 5042 before and after the system repair 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 a program that analyzes the characteristic ID.

なお、図7の例では、特性項目として管理する特性名を、処理時間、プログラム数、特殊構文数、データの重要度、実装言語の特殊構文数、実行時間帯、障害発生頻度、改修頻度、同時改修数、呼び出しプログラム数のばらつきとしたが、その他の特性項目を設定してもよい。   In the example of FIG. 7, the characteristic name managed as the characteristic item is processing time, number of programs, number of special syntax, importance of data, number of special syntax of mounted language, execution time zone, failure frequency, repair frequency, Although the number of simultaneous repairs and the variation in the number of calling programs have been described, 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 with the detection that the source code has been added or changed in 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 identifies the identification of the program and data in the source code 4001, the relationship between the program and data, the calling relationship of the program, and the like.

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

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

システム特性評価装置10は、図8の処理により、表示装置20に表示させるフトウェア構造の要素の変更を管理することができる。   The system characteristics evaluation apparatus 10 can manage the change of the element 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 periodically when the software structure data 111 is changed. At this time, the property 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 apparatus 50.
(S802).

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

次に、特性解析部1021は、全てのノードの特性値5042を算出したかどうかを判断する(S804)。そして、全てのノードの特性値5042を算出していない場合、S803に戻り、全てのノードの特性値5042を算出するまで、S803およびS804の処理を繰り返す。そして、特性解析部1021は、全てのノードの特性値5042を算出すると、その特性値5042を特性504の実数値5041とともにノード情報テーブル1111に格納する(S805)。   Next, the property analysis unit 1021 determines whether the property values 5042 of all the nodes have been calculated (S804). Then, when the characteristic values 5042 of all the nodes are not 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 calculating the characteristic values 5042 of all the nodes, the characteristic analysis unit 1021 stores the characteristic values 5042 in the node information table 1111 together with the real values 5041 of the characteristic 504 (S805).

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

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

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

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

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

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

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

なお、特性項目ごとに算出する特性値については、算出値そのものだけでなく、パーセンタイル値やN段階のランクとしてもよい。   In addition, about the characteristic value calculated for every characteristic item, it is good also as a rank of not only calculation value itself but a percentile value or N steps.

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

次に、ユーザ90が特性名602を指定すると(S903)、表示装置20は、その特性名602の特性項目に対応する特性ID601をシステム特性評価装置10の特性評価部102に送信する(S904)。   Next, when the user 90 designates 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 location analysis unit 1023 of the characteristic evaluation unit 102 determines whether the characteristic value of each node stored in the software structure data 1111 exceeds the threshold based on the threshold 603 set in the received characteristic ID 601 ( S 905). By determining whether the characteristic value of each node exceeds the threshold value, it is possible to determine the improvement location of the source code 4001. As shown in FIG. 7, when the threshold 603 is set for the real number 5041 of the characteristic 504, it is determined whether the real number 504 of the characteristic 504 of each node exceeds the threshold 603. It is also good.

次に、改善箇所解析部1023は、改善箇所の解析において改善候補とならなかったノード同士をマージして表示用ノードと表示用エッジを生成し、表示用ソフトウェア構造データ113を作成する(S906)。   Next, the improvement location analysis unit 1023 merges the nodes that did not become improvement candidates in the analysis of the improvement location, generates a display node and a 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 (S 907). Then, the display device 20 acquires the display software structure data 113 from the characteristic evaluation unit 102 (S 908), arranges and displays the reconstructed nodes and edges according to the characteristic value (S 909).

図11は、図3の改善箇所解析部の動作を示すフローチャートである。
図11において、改善箇所解析部1023は、ユーザが特性項目を指定した場合に動作する。この時、改善箇所解析部1023は、ノード情報テーブル1111と特性テーブル1121を読み込み、特性テーブル1121から特性項目ごとに閾値を取得する(S1001)。
FIG. 11 is a flowchart showing the operation of the improvement point analysis unit of FIG.
In FIG. 11, the improvement location analysis unit 1023 operates when the user designates 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 a threshold 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 of the node information table 1111, whether the real value 5041 of the characteristic 504 exceeds the threshold 603 for each characteristic item (S1002). In the characteristic table 1121 of FIG. 7, instead of the threshold value 603 for the real number value 5041 of the characteristic 504, a threshold value for the characteristic value 5042 may be set. At this time, it can be determined whether the characteristic value 5042 exceeds the threshold value for each characteristic item.

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

次に、改善箇所解析部1023は、閾値603を超えたノードは改善候補としてそのまま扱う。一方、閾値603を超えなかったノードは非改善候補とする。そして、改善箇所解析部1023は、非改善候補とされたノード同士をマージし、マージされたノードの特性値を再度算出する(S1004)。マージされたノードの特性値は、マージ前の各ノードの特性値に基づいて算出することができる。   Next, the improvement location analysis unit 1023 treats the node exceeding the threshold 603 as the improvement candidate as it is. On the other hand, nodes that do not exceed the threshold 603 are considered as non-improved candidates. Then, the improvement location analysis unit 1023 merges the nodes determined as non-improvement candidates, 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 merging.

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

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

次に、改善箇所解析部1023は、ノードを実行時系列順でソートし、ノードの実行時刻に基づいてエッジを設定する(S1005)。   Next, the improvement location analysis unit 1023 sorts the nodes in chronological order, and sets an edge based on the node execution time (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 view showing an example of a display screen of 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 characteristic items 1102 that can be designated 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 the software structure is displayed on the display screen 1101, display symbols can be set in the node 1103 and the edge 1105. As this symbol, a figure, a symbol or a character can be used. In the example of FIG. 12, the node 1103 indicating program and data is circled, and the edge 1105 indicating call relationship is indicated by an arrow.

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

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

なお、シェルスクリプトがプログラムを呼び出すような階層構造となっているシステムにおいては、上位階層となるシェルスクリプトのノードの関係性のみを表示しておき、ユーザ80の指定に応じて呼び出し関係を展開してもよい。例えば、上位階層のノードS1〜S14が表示画面1101に表示されている時に、ノードS11を表示画面1101で選択したものとする。この時、ノードS11の階層構造1107を表示画面1101に表示させることができる。   In a system in which the shell script has a hierarchical structure in which the program is called, only the relationship between the nodes of the shell script that is the upper hierarchy is displayed, and the calling relationship is expanded according to the specification of the user 80. May be For example, it is assumed that the node S11 is selected on the display screen 1101 when the nodes S1 to S14 of the upper hierarchy 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, nodes P11 and P12 in the middle hierarchy and nodes D11 to D13 in the lower hierarchy 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, the nodes P11 and P12 are indicated by squares, and the nodes D11 to D13 are indicated by diamonds.

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

図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 the node 1103 is pressed on the display screen 1101, a characteristic table 1106 related to the node 1103 is displayed. The characteristic table 1106 displays the characteristic values of the pressed node 1103 for each characteristic item. The characteristic table 1106 can be created from the characteristic 504 of the node information table 1111. Accordingly, the user 80 can confirm the characteristic value of the node 1103 of which the user is interested, among the large number of nodes 1103 displayed on the display screen 1101.

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

図14は、図1の表示装置に表示される再構築後のグラフ構造の表示画面の一例を示す図である。
図14の表示画面1201では、特性項目として処理性能、稼動時間帯およびプログラム数が指定された場合を示した。
FIG. 14 is a diagram showing an example of a display screen of the graph structure after reconstruction displayed on the display device of FIG.
The display screen 1201 of FIG. 14 shows the case where the processing performance, the operating time zone, and the number of programs are designated 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 understood 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 of the processing time is 10 seconds. Therefore, regarding the processing time, it is determined that the processing time of each of the nodes S1 and S2 is less than the threshold. Therefore, the nodes S1 and S2 are regarded as non-improved candidate nodes. Further, the nodes S1 and S2 are continuous in the execution chronological order 1104. As a result, the nodes S1 and S2 are merged, and a node S1 + 2 is newly generated. At this time, the real value of the characteristic of the node S1 + 2 can be the sum of the real value of the characteristics of the original nodes S1 and S2. Also, a characteristic value is given to a real value of the characteristic of node S1 + 2. Then, the characteristic table 1206 of the node S1 + 2 can be displayed by pressing the node S1 + 2.

一方、図5からノードS3の処理時間が250secであることが判る。図7から処理時間の閾値が10secであることが判る。このため、処理時間について、各ノードS3の処理時間は閾値以上と判断される。このため、ノードS3は改善候補ノードとされ、そのまま扱われる。   On the other hand, it can be understood from FIG. 5 that the processing time of the node S3 is 250 sec. It can be seen from FIG. 7 that the threshold of the processing time is 10 seconds. Therefore, regarding the processing time, the processing time of each node S3 is determined to be equal to or greater than the threshold. Therefore, the node S3 is regarded as an improvement candidate node and 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 reconstruction in FIG. The node information table 1131 shows the case where the node S1 + 2 is 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 a program name or data name for each node, and a type 1303 of program or data. , And store characteristics 1304 of the business system 30 relating to program execution.

特性1304には、少なくとも1以上の設定された特性項目が格納される。特性1304として、特性1304の実数値13041と、正規化等を実施した特性値13042とをそれぞれ格納することができる。   The characteristic 1304 stores at least one or more set characteristic items. As the characteristic 1304, a real number 13041 of the characteristic 1304 and a characteristic value 13042 subjected to normalization or the like can be stored.

ここで、ノード情報テーブル1131には、改善箇所解析部1023が動作した結果、図5のノードのうちマージされたノードの情報と、マージされなかったノードの情報が格納される。また、マージされたノードについては、特性値はマージ後に再度算出した値を格納する。図15では、シェルスクリプトのノードS1、S2がマージされたノードS1+2として格納された例を示した。ノードS1+2の処理時間についても、元のシェルスクリプトのノードS1、S2の処理時間を合算した値が格納されている。   Here, as a result of the improvement location analysis unit 1023 operating, the node information table 1131 stores information on merged nodes among the nodes in FIG. 5 and information on nodes not merged. Also, for the merged node, the characteristic value stores the value calculated again after the merging. FIG. 15 shows an example in which the nodes S1 and S2 of the shell script are stored as the merged node S1 + 2. Also for the processing time of the node S1 + 2, a value obtained by adding up 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 reconstruction in 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 of FIG. 6 is updated to the edge information table 1132 of FIG. 16 in accordance with 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, an edge call source node ID 1312 and an edge call destination node ID 1313 which can be uniquely identified for each calling relationship between programs or a reference relationship between a program and data shown in FIG. Do. The call source node ID and the call destination node ID use the node ID 1301 stored in the node information table 1131. The node information table 1132 can also store the type of relationship 1314 so that it is possible to distinguish between calls between programs or calls between programs and data.

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

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

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

DESCRIPTION OF SYMBOLS 10 system characteristic evaluation apparatus, 20 display apparatus, 30 business system, 40 source code management apparatus, 50 failure management apparatus, 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 location analysis unit, 111 software structure data, 112 characteristic data, 113 display software structure data

Claims (15)

システム特性評価装置と、
表示装置とを備え、
前記システム特性評価装置は、
ソースコードにおけるプログラム間の呼び出し関係とデータとの関係性を解析し、プログラムをノード、プログラムの呼び出し関係を方向付きエッジとしたグラフ構造を生成するソフトウェア構造解析部と、
前記ソースコードの解析結果および前記プログラムが実行されるシステムのシステム情報に基づいて、前記システムの特性値を前記ノードごとに算出する特性解析部と、
前記特性値に基づいて前記ノードをマージし、前記ノードのマージ結果に基づいて前記グラフ構造を再構築する改善箇所解析部とを備え、
前記表示装置は、前記改善箇所解析部で再構築されたグラフ構造のノードとエッジとをシンボル化して表示するシステム特性評価システム。
A system characteristic evaluation device,
And a display device,
The system characteristic evaluation device is
A software structure analysis unit that analyzes a relation between a call relationship between programs and data in source code, and generates a graph structure with the program as a node and the call relationship of the program as a directed edge;
A characteristic analysis unit that calculates, for each of the nodes, a characteristic value of the system based on an analysis result of the source code and system information of a system on which the program is executed;
An improvement location analysis unit which merges the nodes based on the characteristic values and reconstructs the graph structure based on the merge result of the nodes;
The display system symbolizes and displays nodes and edges of the 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 a characteristic value 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 point analysis unit merges the nodes based on the characteristic value.
前記稼働情報は前記プログラムの処理時間または実行時間帯であり、前記障害情報は前記システムの障害発生頻度であり、前記構造情報は、プログラム数、特殊構文数またはデータ重要度であり、前記変更履歴は前記プログラムの改修頻度または同時改修数である請求項3に記載のシステム特性評価システム。   The operation information is a processing time or an execution time zone of the program, the failure information is a failure occurrence frequency of the system, the structure information is the number of programs, the number of special syntaxes, or the data importance, the change history The system characteristics evaluation system according to claim 3, wherein is a program modification frequency or a simultaneous modification number. 前記特性解析部は、前記特性値を特性項目ごとに算出し、
前記改善箇所解析部は、
前記特性項目ごと付与された条件を前記特性値が満たすかどうかをノードごとに判断し、
前記判断結果に基づいて選択したノードをマージし、
前記ノードの実行時系列情報に基づいて前記ノードのエッジを設定する請求項1に記載のシステム特性評価システム。
The characteristic analysis unit calculates the characteristic value for each characteristic item,
The improvement point analysis unit
It is determined for each node whether or not the characteristic value satisfies the condition given for each of the characteristic items,
Merge selected nodes based on the determination result,
The system characteristics evaluation system according to claim 1, wherein an edge of the node is set based on execution time series information of the node.
前記改善箇所解析部は、前記ソースコードのエッジとノードからなるグラフ構造において、前記ノードの実行時系列順に前記ノードを配置し、
前記表示装置は、前記実行時系列順に前記ノードのシンボルを表示する請求項1に記載のシステム特性評価システム。
The improvement point analysis unit arranges the nodes in an execution time-series order of the nodes in a graph structure including edges and nodes of the source code.
The system characteristics evaluation system according to claim 1, wherein the display device displays the symbols of the nodes in the execution time series.
前記改善箇所解析部は、
前記ノードおよび前記エッジを前記表示装置に表示させるシンボルを前記ノードおよび前記エッジにそれぞれ設定し、
前記特性値に応じて前記シンボルの種類、色、太さ、大きさまたは表示位置を変更し、
前記表示装置は、前記種類、色、太さ、大きさまたは表示位置が変更されたシンボルを表示する請求項6に記載のシステム特性評価システム。
The improvement point analysis unit
Setting symbols for causing the display device to display the node and the edge on the node and the edge, respectively;
Change the type, color, thickness, size or display position of the symbol according to the characteristic value,
The system characteristics 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 improvement point analysis unit changes nodes and edges of the graph structure based on the specification of the characteristic item,
5. The system characteristics 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 a change history of the source code;
A business system that holds an application log including operation information of the system;
The system characteristic evaluation system according to claim 2, further comprising: a fault management device that holds fault history reports of the system.
ソースコードの構造解析に基づいて、前記ソースコードに関する静的情報を生成する構造解析部と、
前記ソースコードに関する動的情報を取得し、前記ソースコードの静的情報および動的情報に基づいて、前記ソースコードにおけるプログラムが実行されるシステムの特性を評価する特性評価部とを備えるシステム特性評価装置。
A structural analysis unit that generates static information on the source code based on structural analysis of the source code;
A characteristic evaluation unit for acquiring dynamic information about the source code and evaluating characteristics of a system in which a program in the source code is executed based on static information and dynamic information of the source code apparatus.
前記ソースコードの動的情報は、前記システムの稼働情報または障害情報、あるいは前記ソースコードの変更履歴である請求項10に記載のシステム特性評価装置。   11. 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 a change history of the source code. 前記稼働情報は前記プログラムの処理時間または実行時間帯であり、前記障害情報は前記システムの障害発生頻度であり、前記変更履歴は前記プログラムの改修頻度または同時改修数である請求項11に記載のシステム特性評価装置。   12. The system according to claim 11, wherein the operation information is a processing time or an execution time zone of the program, the failure information is a failure occurrence frequency of the system, and the change history is a repair frequency or a simultaneous repair number of the program. System characterization system. 前記ソースコードの静的情報は、前記ソースコードにおけるプログラムをノード、前記プログラムの呼び出し関係を方向付きエッジとしたグラフ構造である請求項10に記載のシステム特性評価装置。   11. The system characteristic evaluation device according to claim 10, wherein the static information of the source code has a graph structure in which a program in the source code is a node and a calling relation of the program is a directed edge. 前記特性評価部は、
前記ソースコードの静的情報および動的情報に基づいて、前記ソースコードに含まれるプログラムが実行されるシステムの特性値を前記ノードごとに算出する特性解析部と、
前記特性値に基づいて前記ノードをマージし、前記ノードのマージ結果に基づいて前記グラフ構造を再構築する改善箇所解析部とを備える請求項13に記載のシステム特性評価装置。
The characteristic evaluation unit
A characteristic analysis unit that calculates, for each of the nodes, a characteristic value of a system in which a program included in the source code is executed, based on static information and dynamic information of the source code;
14. The system characteristic evaluation device according to claim 13, further comprising: an improved location analysis unit that merges the nodes based on the characteristic values and reconstructs the graph structure based on a merge result of the nodes.
前記ソースコードの特性の特性項目ごとに閾値が設定され、
前記改善箇所解析部は、前記特性項目ごとに前記特性値と前記閾値を比較し、前記比較結果に基づいてマージ対象のノードを選択する請求項14に記載のシステム特性評価装置。

A threshold is set for each characteristic item of the characteristic of the source code,
The system characteristic evaluation device according to claim 14, wherein the improvement point analysis unit compares the characteristic value with the threshold value for each of the characteristic items, and selects a merge target node 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 true JP2019101830A (en) 2019-06-24
JP6917874B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061453A (en) * 2019-12-26 2020-04-24 北京蓦然认知科技有限公司 Voice interaction method and device for APP ecosystem
US11755318B2 (en) 2019-08-28 2023-09-12 Mitsubishi Electric Corporation Proposing device and improvement proposing method

Cited By (3)

* 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
CN111061453A (en) * 2019-12-26 2020-04-24 北京蓦然认知科技有限公司 Voice interaction method and device for APP ecosystem
CN111061453B (en) * 2019-12-26 2023-12-26 北京官匠空间科技有限公司 Voice interaction method and device for APP ecosystem

Also Published As

Publication number Publication date
JP6917874B2 (en) 2021-08-11

Similar Documents

Publication Publication Date Title
CN108958721B (en) Intelligent continuous integration and continuous deployment pipeline method and system
JP6723989B2 (en) Data driven inspection framework
CN106681299B (en) Event analysis device, event analysis system, event analysis method, and event analysis program
US20170261403A1 (en) Abnormality detection procedure development apparatus and abnormality detection procedure development method
US11574237B2 (en) Quick path to train, score, and operationalize a machine learning project
JP2003162504A (en) Support system for trouble analysis
CN106095479A (en) A kind of enterprise application dissemination method, Apparatus and system
CN112965882B (en) Data fault analysis method and device
CN112651817A (en) Intelligent financial decision big data analysis system
JP6917874B2 (en) System characterization system and system characterization device
US11422992B2 (en) Auto reinforced anomaly detection
Ullah A method for predicting open source software residual defects
CN111625410B (en) Information processing method, apparatus, and computer storage medium
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
CN106407246B (en) SQL execution plan management method and device
CN111414619A (en) Data security detection method, device, equipment and readable storage medium
CN109460344A (en) A kind of the O&M analysis method and system of server
CN117785539A (en) Log data analysis method, device, computer equipment and storage medium
US20070033161A1 (en) Apparatus and method for automatic refinement of business processes
CN115271277A (en) Power equipment portrait construction method and system, computer equipment and storage medium
WO2021131435A1 (en) Program development assistance system and program development assistance method
US20150242786A1 (en) Integrating process context from heterogeneous workflow containers to optimize workflow performance
CN113935572A (en) Intelligent detection system and equipment for abnormal sound of general online product
CN113570070A (en) Streaming data sampling and model updating method, device, system and storage medium
CN106055625B (en) Method and device for executing service

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