JP6917874B2 - System characterization system and system characterization device - Google Patents
System characterization system and system characterization device Download PDFInfo
- 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
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)
しかしながら、特許文献1に開示された技術は、ソースコードの解析結果から得られた既存の構造、すなわち静的情報を元に改修対象を選定する。このような構造の解析結果だけからでは、現行の業務利用状況や保守性、あるいは改修実績等の時系列変化を考慮した改修優先度の判断は困難である。
However, in the technique disclosed in
例えば、ソースコード解析の結果、構造に問題があったとしても、業務利用上問題のないプログラムであれば、改修の優先度は低くなる可能性が高い。
また、処理時間や可用性のような非機能性の改善についても、夜間に実施されるバッチ処理と、日中のユーザが起動して実行する処理では、処理時間が同じでも後者の処理の方が改善優先度は高くなる可能性が高い。
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.
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 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
システム特性評価装置10は、ソースコードの静的情報および動的情報に基づいて、ソースコードにおけるプログラムが実行される業務システム30の特性を評価することができる。ソースコードに関する静的情報とは、ソースコードの実行に関して変化しない情報である。ソースコードに関する静的情報として、ソースコードにおけるプログラムをノード、プログラムの呼び出し関係を方向付きエッジとしたグラフ構造を挙げることができる。ソースコードに関する動的情報とは、ソースコードの実行に関して変化可能な情報である。ソースコードに関する動的情報は、業務システム30のシステム情報を含むことができる。業務システム30のシステム情報として、業務システム30の稼働情報および障害情報を挙げることができる。
The system
表示装置20は、ユーザ80の操作に基づいて、業務システム30の特性の評価結果を表示することができる。業務システム30は、ユーザ90の業務に関する各種プログラムを実行することができる。ソースコード管理装置40は、業務システム30で実行されるソースコードを管理することができる。障害管理装置50は、業務システム30の障害を管理することができる。
The
システム特性評価装置10は、ソースコード管理装置40からソースコードを取得することができる。システム特性評価装置10は、ソースコードの構造解析に基づいてソースコードの静的情報を生成することができる。システム特性評価装置10は、業務システム30、ソースコード管理装置40および障害管理装置50からソースコードに関する動的情報を取得することができる。
The system
この時、システム特性評価対象である業務システム30のアプリケーションログを業務システム30から取得し、業務システム30のソースコードおよびソースコードの変更履歴をソースコード管理装置40から取得し、業務システム30に関わる障害履歴を障害管理装置50から取得することができる。そして、システム特性評価装置10は、ソースコードの構造解析に基づいてソースコードのグラフ構造を生成することができる。また、システム特性評価装置10は、ソースコードの要素ごとに各種情報を解析した特性値を管理することができる。ソースコードの要素とは、ソースコードに含まれるプログラムである。このプログラムは、シェルスクリプトであってもよい。各種情報とは、ソースコードに関する静的情報および動的情報である。特性値は、プログラムが実行される業務システム30の特徴の評価に用いることができる。特性値は、プログラムの実装や構造の観点、プログラムの修正履歴の観点、プログラムの利用の観点で設定された特性項目について数値で評価することができる。
At this time, the application log of the
そして、システム特性評価装置10は、ソースコードのグラフ構造をシンボル化し、表示装置20に表示させることができる。ユーザ80は表示装置20を視認することで、ソースコードの改善の優先度を判断することができる。
Then, the system
ここで、システム特性評価装置10は、ソースコードに関する静的情報だけでなく、ソースコードに関する動的情報も参照しつつ、業務システム30の特性を評価することにより、業務システム30の現行の業務利用状況や保守性、あるいはソースコードの改修実績等の時系列変化が反映されたソースコードの改善の優先度を判断することができる。
Here, the system
例えば、ソースコードの構造解析の結果、その構造に問題があったとしても、業務システム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
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
なお、図1の例では、システム特性評価装置10がネットワーク70を介して業務システム30およびソースコード管理装置40に接続された構成を示したが、業務システム30の一機能としてシステム特性評価装置10を用いるようにしてもよいし、ソースコード管理装置40の一機能としてシステム特性評価装置10を用いるようにしてもよい。
In the example of FIG. 1, the system
図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
構造解析部101は、ソースコードの構造解析に基づいて、ソースコードに関する静的情報を生成する。特性評価部102は、ソースコードの静的情報および動的情報に基づいて、ソースコードにおけるプログラムが実行される業務システム30の特性を評価する。
The
ソフトウェア構造解析部1011は、ソースコード管理装置40から収集したソースコードを解析し、ノードとなるプログラムまたはデータ、エッジとなるプログラム間の呼び出し関係やプログラムとデータの呼び出し関係を特定し、ソフトウェア構造データ111に格納する。
The software
特性解析部1021は、ソフトウェア構造データ111に格納したノードごとに、業務システム30の特性を解析する。具体的には、特性データ112に格納された特性項目について、業務システム30から収集したアプリケーションログと、ソースコード管理装置40から収集した変更履歴と、障害管理装置50から収集した障害履歴などに基づいて特性値を算出し、ソフトウェア構造データ111に格納する。
The
特性値算出部1022は、ソフトウェア構造データ111に格納したノードごとに、各特性項目の特性値を算出する。特性値算出部1022は特性項目ごとに設けることができる。この時、特性値算出部1022を指定するIDを特性項目と紐付けて特性データ112に設定することができる。特性値算出部1022は、特性解析部1021に呼び出され動作することができる。
The characteristic
なお、図2の例では、特性値算出部1022を特性解析部1021と別個に設けた構成を示したが、特性解析部1021の一機能として特性値算出部1022を構成するようにしてもよい。
In the example of FIG. 2, the characteristic
改善箇所解析部1023は、表示装置20にて受け付けた特性項目に対し、ソフトウェア構造データ111に格納された各プログラムおよびデータの特性値が、特性データ112に格納された閾値を越えているかを判定することができる。さらに、改善箇所解析部1023は、その判定結果に基づいてソフトウェア構造データ111を再構築し、表示用ソフトウェア構造データ113に格納する。
The improvement
以下、システム特性評価装置10の動作について図1および図2を参照しながら説明する。
ソフトウェア構造解析部1011はソースコード管理システム40から対象業務システム30のソースコードを取得し、プログラム(関数)とデータ、およびプログラム間の呼び出し関係と、プログラムとデータ間の呼び出し関係を解析する。そして、ソフトウェア構造解析部1011は、プログラムとプログラムが参照するデータをノード、プログラムの呼び出し関係およびプログラムとデータの参照関係を方向付きエッジとするグラフ構造を生成し、ソフトウェア構造データ111に格納する。
Hereinafter, the operation of the system
The software
次に、特性解析部1021は、ソフトウェア構造データ111に格納したノードに対し、特性値を解析する。特性解析部1021は、特性項目ごとに紐づけられた特性値算出部1022を呼び出し、プログラムごとに解析対象とするデータを解析し、その解析結果をソフトウェア構造データ111に格納する。
Next, the
さらに、システム特性評価装置10は、特性値を格納したソフトウェア構造データ111に基づいて、ノードを実行時系列順に配置する。そして、特性値に応じて各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、その設定情報に基づいて各ノードおよび各エッジをシンボル化することができる。そして、そのシンボル化された情報を、ネットワーク70を介して表示装置20に送信する。表示装置20は、そのシンボル化された情報に基づいて、各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、各ノードを実行時系列順に表示する。
Further, the system
次に、システム特性評価装置10は、表示装置20からユーザ80が指定した特性項目を受け付けると、改善箇所解析部1023を動作させる。改善箇所解析部1023は、ノードの各特性値に対し、特性データ112に格納された閾値を超えるかどうかをノードごとに判定する。そして、改善箇所解析部1023は、閾値を超えたノードは改善候補とし、ソフトウェア構造データ111のノードをそのまま表示用ソフトウェア構造データ113のノードとする。閾値を超えなかったノードは他の閾値を超えなかったノードとマージし、そのマージされたノードを表示用ソフトウェア構造データ113のノードとする。また、そのマージされたノードに対してエッジを設定し、そのエッジを表示用ソフトウェア構造データ113のエッジとする。
Next, when the system
さらに、改善箇所解析部1023は、マージされたノードに対して特性値を再算出する。特性値を算出する場合、改善箇所解析部1023は、特性解析部1021を呼び出し、特性解析部1021に特性値を再算出させることができる。なお、マージされたノードの特性値は、元のノードの特性値に基づいて算出することができる。
Further, the improvement
そして、システム特性評価装置10は、再算出された特性値に応じて各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、その設定情報に基づいて各ノードおよび各エッジをシンボル化することができる。そして、そのシンボル化された情報を、ネットワーク70を介して表示装置20に送信する。表示装置20は、そのシンボル化された情報に基づいて、各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、各ノードを実行時系列順に表示する。
Then, the system
これにより、ユーザ80は、グラフ構造の配置に基づいてソフトウェアの構造と実行順序およびプログラム間の関係性を確認しつつ、指定した特性項目について改善対象となるノードを容易に確認することができる。このため、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。
As a result, the
また、システム特性評価装置10は、特性値が閾値を超えなかったノード同士をマージすることにより、ソフトウェアの構造と実行順序およびプログラム間の関係性を損なくことなく、優先度の低いノードの表示数を減らすことができる。このため、プログラムが数百以上もあるような大規模情報システムにおいても、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。
Further, the system
さらに、ソースコードの変更に伴って仕様書とソースコードの乖離が大きくなり、全体のソフトウェア構造や設計指針などを把握することが困難である場合においても、ユーザ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
また、業務システム30が性質の異なる機能を複数も持ち、機能改善要望も多数存在する場合においても、機能に対する全ての改善要望を取り込みつつ、ソースコードにおける改善対象を容易に特定することができる。
Further, even when the
図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
ソフトウェア構造解析部1011は、対象業務システム30のソースコード4001をソースコード管理装置40から取得し、プログラム(関数)とデータ、プログラム間の呼び出し関係、プログラムとデータの呼び出し関係を解析する。ソフトウェア構造解析部1011は、その解析結果に基づいて、プログラムおよびデータをノードとしてノード情報テーブル1111を更新し、プログラムの呼び出し関係と、プログラムとデータの呼び出し関係を方向付きエッジとしてエッジ情報テーブル1112を更新する。
The software
次に、特性解析部1021は、ソフトウェア構造解析部1011で更新されたソフトウェア構造データ111を取得する。また、特性解析部1021は、ネットワーク70を介し、ソースコード管理装置40から変更履歴4001を取得し、業務システム30からアプリケーションログ3001を取得し、障害管理装置50から障害履歴5001を取得する。そして、特性解析部1021は、特性テーブル1121に格納した特性項目に対応する特性値算出部1022を動作させ、その特性項目の特性値をノードごとに算出する。そして、特性解析部1021は、各特性項目について算出した特性値をノードごとにノード情報テーブル1111に格納する。
Next, the
次に、ユーザ80から指定された特性項目をシステム特性評価装置10が受け付けると、改善箇所解析部1023を動作する。改善箇所解析部1023は、ノード情報テーブル1111および特性テーブル1121を参照し、ノード情報テーブル1111の各ノードが特性テーブル1121に設定された閾値を超えているかどうかを判定する。さらに、改善箇所解析部1023は、その判定結果に基づいて表示用のグラフ構造を再構築し、その再構築されたグラフ構造のプログラムおよびデータをノードとして表示用ノード情報テーブル1131に格納し、その再構築されたグラフ構造のプログラムの呼び出し関係と、プログラムとデータの呼び出し関係を方向付きエッジとして表示用エッジ情報テーブル1132に格納する。
Next, when the system
図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
主制御部103は、主記憶部104に記録されたプログラムをRAM1032にロードし、そのプログラムをプロセッサ1031が実行することで、システム特性評価装置10における情報処理を制御する。
主記憶部104は、システム特性評価装置10に関する情報を不揮発的に記憶する。主記憶部104は、磁気ディスク装置であってもよいし、SSD(Solid State Drive)であってもよい。
The
The
主記憶部104には、ソフトウェア構造解析プログラム1011P、特性解析プログラム1021P、特性値算出プログラム1022P、改善箇所解析プログラム1023P、ソフトウェア構造データ111、特性データ112および表示用ソフトウェア構造データ113が記憶される。特性値算出プログラム1022Pは、特性項目ごとに設けることができる。
The software
プロセッサ1031がソフトウェア構造解析プログラム1011Pを実行することでソフトウェア構造解析部101を実現することができる。プロセッサ1031が特性解析プログラム1021Pを実行することで特性解析部1021を実現することができる。プロセッサ1031が特性値算出プログラム1022Pを実行することで特性値算出部1022を実現することができる。プロセッサ1031が改善箇所解析プログラム1023Pを実行することで改善箇所解析部1023を実現することができる。
The software
入力部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
When the
The
図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
特性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
なお、エッジは方向付きのため、参照元と参照先のノードを特定できるよう分割して保持することができる。例えば、一つのプログラムから複数のプログラムを呼び出している場合は、呼び出し元プログラム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
図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
閾値603は、特性504の実数値5041または特性値5042に対して予め設定することができる。図7では、特性504の実数値5041に対して閾値603を設定した例を示した。ただし、閾値603の設定に用いる基準は変更することも可能である。例えば、管理者による変更を行ってもよいし、システム改修前後の特性値5042の履歴を取得しておき、その時の実績値を元に閾値603を設定してもよい。
The
特性値算出部ID604は、特性IDを解析するプログラムを一意に特定可能なIDである。
The characteristic value
なお、図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
この時、ソフトウェア構造解析部1011は、業務システム30のソースコード4001をソースコード管理装置40から取得し、ソースコード4001の解析を行う(S701)。具体的には、ソフトウェア構造解析部1011は、ソースコード4001におけるプログラムとデータの識別、プログラムとデータの関係性、プログラムの呼び出し関係等を特定する。
At this time, the software
次に、ソフトウェア構造解析部1011は、ソースコード4001の解析結果に基づいて、特定したプログラムとデータをノードとしてノードIDを割り当て、ノード情報テーブル1111を更新する(S702)。
Next, the software
次に、処理とデータの呼び出し関係および参照関係を解析し、その解析結果に基づいて、エッジ情報テーブル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
図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
次に、特性解析部1021は、特性テーブル1121から特性項目ごとに特性値算出部ID604を取得し、ソフトウェア構造データ111からソフトウェア構造を取得し、ソースコード管理装置40から変更履歴4001を取得し、業務システム30からアプリケーションログ3001を取得し、障害管理装置50から障害履歴5001を取得する。
(S802)。
Next, the
(S802).
次に、特性解析部1021は、特性項目ごとに特性値算出部1022を動作させ、全ての特性項目についての特性値5042を算出する(S803)。
Next, the
次に、特性解析部1021は、全てのノードの特性値5042を算出したかどうかを判断する(S804)。そして、全てのノードの特性値5042を算出していない場合、S803に戻り、全てのノードの特性値5042を算出するまで、S803およびS804の処理を繰り返す。そして、特性解析部1021は、全てのノードの特性値5042を算出すると、その特性値5042を特性504の実数値5041とともにノード情報テーブル1111に格納する(S805)。
Next, the
システム特性評価装置10は、図9の処理により、ノードの特性値5042の変更を管理することができる。
The system
以下、図7に記載した特性テーブル1211の特性名602ごとに解析方法の具体例を示す。
Hereinafter, specific examples of the analysis method will be shown for each
特性IDI1の処理時間については、アプリケーションログ3001を解析し、処理の開始時刻と終了時刻から処理時間を算出する。
特性IDI2のプログラム数については、ソースコード4001を解析し、呼び出し関係を持つプログラムに対し、あるプログラムが他のプログラムを呼び出している数を算出する。
Regarding the processing time of the characteristic IDI1, the
Regarding the number of programs of the characteristic IDI2, the
特性IDI3の特殊構文数については、ソースコード4001を解析し、処理の実装方法について実装言語で一般的でない構文や処理をしようしている回数を算出する。特に、COBOL言語などレガシー言語を実装言語として使用しているプログラムでは、開発日の古いプログラムほど使用頻度が多く、改修しにくい原因となっている場合がある。
For the number of special syntaxes of the characteristic IDI3, the
特性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
For the execution time zone of the characteristic IDI5, the time information at which the program is executed is set by referring to the
特性IDI6の障害発生頻度については、障害情報5001を解析し、予め設定された期間の障害発生回数を算出する。
特性IDI7の改修頻度については、変更履歴4002を解析し、プログラムの改修回数を算出する。
特性IDI8の同時改修数については、変更履歴4002を解析し、各改修で同時に変更されるプログラムの数を算出する。
Regarding the failure occurrence frequency of the characteristic IDI6, the
Regarding the repair frequency of the characteristic IDI7, the
Regarding the number of simultaneous repairs of the characteristic IDI8, the
特性IDI9の呼び出しプログラム数ばらつきについては、ソースコード4001を解析し、あるプログラムから呼び出しているプログラムの数を解析し、同階層のプログラム同士で比較した場合の標準偏差やパーセンタイル値などを設定する。
Regarding the variation in the number of calling programs of the characteristic IDI9, the
なお、特性項目ごとに算出する特性値については、算出値そのものだけでなく、パーセンタイル値や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
次に、ユーザ90が特性名602を指定すると(S903)、表示装置20は、その特性名602の特性項目に対応する特性ID601をシステム特性評価装置10の特性評価部102に送信する(S904)。
Next, when the
特性評価部102の改善箇所解析部1023は、受信した特性ID601に設定された閾値603に基づいて、ソフトウェア構造データ1111に格納された各ノードの特性値が閾値を超えているかどうかを判断する(S905)。各ノードの特性値が閾値を超えているかどうかを判断することにより、ソースコード4001の改善箇所を判断することができる。なお、図7に示すように、特性504の実数値5041に対して閾値603が設定されている場合、各ノードの特性504の実数値504が閾値603を超えているかどうかを判断するようにしてもよい。
The improvement
次に、改善箇所解析部1023は、改善箇所の解析において改善候補とならなかったノード同士をマージして表示用ノードと表示用エッジを生成し、表示用ソフトウェア構造データ113を作成する(S906)。
Next, the improvement
次に、表示用ソフトウェア構造データ113を作成すると、特性評価部102は、表示用ソフトウェア構造データ113の表示を表示装置20に指示する(S907)。そして、表示装置20は、表示用ソフトウェア構造データ113を特性評価部102から取得し(S908)、再構成されたノードとエッジを特性値に応じて配置して表示する(S909)。
Next, when the display
図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
次に、改善箇所解析部1023は、ノード情報テーブル1111の各ノードに対し、特性項目ごとに特性504の実数値5041が閾値603を超えるかを判定する(S1002)。なお、図7の特性テーブル1121では、特性504の実数値5041に対する閾値603の代わりに、特性値5042に対する閾値を設定するようにしてもよい。この時、特性項目ごとに特性値5042が閾値を超えるかを判定することができる。
Next, the improvement
次に、改善箇所解析部1023は、全ノードを実行時間帯にソートする(S1003)。
Next, the improvement
次に、改善箇所解析部1023は、閾値603を超えたノードは改善候補としてそのまま扱う。一方、閾値603を超えなかったノードは非改善候補とする。そして、改善箇所解析部1023は、非改善候補とされたノード同士をマージし、マージされたノードの特性値を再度算出する(S1004)。マージされたノードの特性値は、マージ前の各ノードの特性値に基づいて算出することができる。
Next, the improvement
マージ方法は、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
次に、改善箇所解析部1023は、生成したノード情報とエッジ情報を、表示用ソフトウェア構造データ113の表示用ノード情報テーブル1131と表示用エッジ情報テーブル1132に格納する(S1006)。
Next, the improvement
図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
表示画面1101にソフトウェア構造を表示させる場合、ノード1103とエッジ1105に表示用のシンボルを設定することができる。このシンボルとしては、図形、記号または文字などを用いることができる。図12の例では、プログラムおよびデータを示すノード1103を丸、呼び出し関係を示すエッジ1105を矢印で示した。
When displaying the software structure on the
なお、ノード1103は呼び出し関係の最初のノードの実行時系列順1104に表示することができる。図12の例では、S1からS5のノードが最初に実行され、その後、S6からS14のノードが実行されることを示している。
Note that the
プログラムやデータを示すノードは、ノードの種類や、特性値算出部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
なお、シェルスクリプトがプログラムを呼び出すような階層構造となっているシステムにおいては、上位階層となるシェルスクリプトのノードの関係性のみを表示しておき、ユーザ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
ノードS11の階層構造1107では、中位階層のノードP11、P12および下位階層のノードD11〜D13が設けられているものとする。この時、ノードS1〜S14のシンボルと、ノードP11、P12のシンボルと、ノードD11〜D13のシンボルを互いに異ならせるようにしてもよい。図12の例では、ノードP11、P12を正方形、ノードD11〜D13を菱形で示した。
In the
これにより、最初は業務システム30のソフトウェア構成全体を上位階層のノードS1〜S14で確認し、その後、ユーザの関心のあるノードに対象を絞って階層構造に展開し、詳細なプログラムとデータの関係性の把握を進めることが可能となる。
As a result, the entire software configuration of the
図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
また、ユーザ80が特性項目1102の項目名を押下すると、指定した特性項目の閾値を元にノード1103の特性値と閾値とが比較される。この時、閾値を超えなかったノードは非改善候補とされ、非改善候補とされたノード同士がマージされる。そして、そのマージされたノードに基づいてグラフ構造が再構築され、その再構築されたグラフ構造が表示される。この表示方法は、特に、プログラムの実行時間の変動が少ないバッチシステムに適用した場合に効果がある。
When the
図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
ここで、処理性能が処理時間であるものとすると、図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
一方、図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
特性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
図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
以上の処理を行うことにより、ソフトウェア構造だけでなく、開発状況や稼動状況を踏まえた改善対象候補を把握することができ、システム刷新時の刷新対象の検討工数を削減することができる。 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.
前記改善箇所解析部は、前記特性値に基づいて前記ノードをマージする請求項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.
前記改善箇所解析部は、
前記特性項目ごと付与された条件を前記特性値が満たすかどうかをノードごとに判断し、
前記判断結果に基づいて選択したノードをマージし、
前記ノードの実行時系列情報に基づいて前記ノードのエッジを設定する請求項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に記載のシステム特性評価装置。 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.
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)
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 |
-
2017
- 2017-12-05 JP JP2017233019A patent/JP6917874B2/en active Active
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 |