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 PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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)
しかしながら、特許文献1に開示された技術は、ソースコードの解析結果から得られた既存の構造、すなわち静的情報を元に改修対象を選定する。このような構造の解析結果だけからでは、現行の業務利用状況や保守性、あるいは改修実績等の時系列変化を考慮した改修優先度の判断は困難である。
However, the technology 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.
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.
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 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
システム特性評価装置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 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
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
なお、図1の例では、システム特性評価装置10がネットワーク70を介して業務システム30およびソースコード管理装置40に接続された構成を示したが、業務システム30の一機能としてシステム特性評価装置10を用いるようにしてもよいし、ソースコード管理装置40の一機能としてシステム特性評価装置10を用いるようにしてもよい。
In the example shown in 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 apparatus 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 shown in 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は、そのシンボル化された情報に基づいて、各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、各ノードを実行時系列順に表示する。
Furthermore, the system
次に、システム特性評価装置10は、表示装置20からユーザ80が指定した特性項目を受け付けると、改善箇所解析部1023を動作させる。改善箇所解析部1023は、ノードの各特性値に対し、特性データ112に格納された閾値を超えるかどうかをノードごとに判定する。そして、改善箇所解析部1023は、閾値を超えたノードは改善候補とし、ソフトウェア構造データ111のノードをそのまま表示用ソフトウェア構造データ113のノードとする。閾値を超えなかったノードは他の閾値を超えなかったノードとマージし、そのマージされたノードを表示用ソフトウェア構造データ113のノードとする。また、そのマージされたノードに対してエッジを設定し、そのエッジを表示用ソフトウェア構造データ113のエッジとする。
Next, when the system
さらに、改善箇所解析部1023は、マージされたノードに対して特性値を再算出する。特性値を算出する場合、改善箇所解析部1023は、特性解析部1021を呼び出し、特性解析部1021に特性値を再算出させることができる。なお、マージされたノードの特性値は、元のノードの特性値に基づいて算出することができる。
Furthermore, the improvement
そして、システム特性評価装置10は、再算出された特性値に応じて各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、その設定情報に基づいて各ノードおよび各エッジをシンボル化することができる。そして、そのシンボル化された情報を、ネットワーク70を介して表示装置20に送信する。表示装置20は、そのシンボル化された情報に基づいて、各ノードおよび各エッジに種類、色、太さ、大きさまたは表示位置を設定し、各ノードを実行時系列順に表示する。
Then, the system
これにより、ユーザ80は、グラフ構造の配置に基づいてソフトウェアの構造と実行順序およびプログラム間の関係性を確認しつつ、指定した特性項目について改善対象となるノードを容易に確認することができる。このため、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。
As a result, the
また、システム特性評価装置10は、特性値が閾値を超えなかったノード同士をマージすることにより、ソフトウェアの構造と実行順序およびプログラム間の関係性を損なくことなく、優先度の低いノードの表示数を減らすことができる。このため、プログラムが数百以上もあるような大規模情報システムにおいても、ユーザ80は、業務上の位置づけ等を勘案しながら、ソースコードにおける改善対象を容易に特定することができる。
In addition, the system
さらに、ソースコードの変更に伴って仕様書とソースコードの乖離が大きくなり、全体のソフトウェア構造や設計指針などを把握することが困難である場合においても、ユーザ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
また、業務システム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, in 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 apparatus 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
プロセッサ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と通信する。
The
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とをそれぞれ格納することができる。 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
なお、エッジは方向付きのため、参照元と参照先のノードを特定できるよう分割して保持することができる。例えば、一つのプログラムから複数のプログラムを呼び出している場合は、呼び出し元プログラム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
図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
閾値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 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
この時、ソフトウェア構造解析部1011は、業務システム30のソースコード4001をソースコード管理装置40から取得し、ソースコード4001の解析を行う(S701)。具体的には、ソフトウェア構造解析部1011は、ソースコード4001におけるプログラムとデータの識別、プログラムとデータの関係性、プログラムの呼び出し関係等を特定する。
At this time, the software
次に、ソフトウェア構造解析部1011は、ソースコード4001の解析結果に基づいて、特定したプログラムとデータをノードとしてノードIDを割り当て、ノード情報テーブル1111を更新する(S702)。
Next, based on the analysis result of the
次に、処理とデータの呼び出し関係および参照関係を解析し、その解析結果に基づいて、エッジ情報テーブル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
図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, a specific example of the analysis method will be shown for each of the
特性IDI1の処理時間については、アプリケーションログ3001を解析し、処理の開始時刻と終了時刻から処理時間を算出する。
特性IDI2のプログラム数については、ソースコード4001を解析し、呼び出し関係を持つプログラムに対し、あるプログラムが他のプログラムを呼び出している数を算出する。
For the processing time of the characteristic IDI1, the
As for 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やバッチ設定情報を参照し、プログラムが実行される時刻情報を設定する。
As for the data importance of the characteristic ID I4, the
With regard to the execution time zone of the characteristic ID I5, the
特性IDI6の障害発生頻度については、障害情報5001を解析し、予め設定された期間の障害発生回数を算出する。
特性IDI7の改修頻度については、変更履歴4002を解析し、プログラムの改修回数を算出する。
特性IDI8の同時改修数については、変更履歴4002を解析し、各改修で同時に変更されるプログラムの数を算出する。
As for the failure occurrence frequency of the
For the modification frequency of the
For the number of simultaneous modifications of the characteristic IDI 8, the
特性IDI9の呼び出しプログラム数ばらつきについては、ソースコード4001を解析し、あるプログラムから呼び出しているプログラムの数を解析し、同階層のプログラム同士で比較した場合の標準偏差やパーセンタイル値などを設定する。
The
なお、特性項目ごとに算出する特性値については、算出値そのものだけでなく、パーセンタイル値や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
次に、ユーザ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 improvement point 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で実行時間帯順にソートしたノードに対し、改善候補ノード間の複数の非改善候補ノードを特定してマージする。例えば、非改善候補ノードが実行時間帯順に連続して配置されている場合は、それらの非改善候補ノード同士をマージすることができる。一方、非改善候補ノード間に改善候補ノードがある場合には、それらの非改善候補ノード同士をマージしないようにすることができる。これにより、ソフトウェア構造におけるノードの実行順序およびプログラム間の関係性を損なうことなく、改善の優先度の低いノードの表示数を減らすことができ、改善対象となるノードを視認性を向上させることができる。 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
次に、改善箇所解析部1023は、生成したノード情報とエッジ情報を、表示用ソフトウェア構造データ113の表示用ノード情報テーブル1131と表示用エッジ情報テーブル1132に格納する(S1006)。
Next, the improvement
図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
表示画面1101にソフトウェア構造を表示させる場合、ノード1103とエッジ1105に表示用のシンボルを設定することができる。このシンボルとしては、図形、記号または文字などを用いることができる。図12の例では、プログラムおよびデータを示すノード1103を丸、呼び出し関係を示すエッジ1105を矢印で示した。
When the software structure is displayed on the
なお、ノード1103は呼び出し関係の最初のノードの実行時系列順1104に表示することができる。図12の例では、S1からS5のノードが最初に実行され、その後、S6からS14のノードが実行されることを示している。
The
プログラムやデータを示すノードは、ノードの種類や、特性値算出部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
なお、シェルスクリプトがプログラムを呼び出すような階層構造となっているシステムにおいては、上位階層となるシェルスクリプトのノードの関係性のみを表示しておき、ユーザ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
ノードS11の階層構造1107では、中位階層のノードP11、P12および下位階層のノードD11〜D13が設けられているものとする。この時、ノードS1〜S14のシンボルと、ノードP11、P12のシンボルと、ノードD11〜D13のシンボルを互いに異ならせるようにしてもよい。図12の例では、ノードP11、P12を正方形、ノードD11〜D13を菱形で示した。
In the
これにより、最初は業務システム30のソフトウェア構成全体を上位階層のノードS1〜S14で確認し、その後、ユーザの関心のあるノードに対象を絞って階層構造に展開し、詳細なプログラムとデータの関係性の把握を進めることが可能となる。
Thus, first, 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 the
また、ユーザ80が特性項目1102の項目名を押下すると、指定した特性項目の閾値を元にノード1103の特性値と閾値とが比較される。この時、閾値を超えなかったノードは非改善候補とされ、非改善候補とされたノード同士がマージされる。そして、そのマージされたノードに基づいてグラフ構造が再構築され、その再構築されたグラフ構造が表示される。この表示方法は、特に、プログラムの実行時間の変動が少ないバッチシステムに適用した場合に効果がある。
Further, when the
図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
ここで、処理性能が処理時間であるものとすると、図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
一方、図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
特性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
図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
以上の処理を行うことにより、ソフトウェア構造だけでなく、開発状況や稼動状況を踏まえた改善対象候補を把握することができ、システム刷新時の刷新対象の検討工数を削減することができる。 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
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.
前記改善箇所解析部は、前記特性値に基づいて前記ノードをマージする請求項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.
前記改善箇所解析部は、
前記特性項目ごと付与された条件を前記特性値が満たすかどうかをノードごとに判断し、
前記判断結果に基づいて選択したノードをマージし、
前記ノードの実行時系列情報に基づいて前記ノードのエッジを設定する請求項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.
前記ソースコードの静的情報および動的情報に基づいて、前記ソースコードに含まれるプログラムが実行されるシステムの特性値を前記ノードごとに算出する特性解析部と、
前記特性値に基づいて前記ノードをマージし、前記ノードのマージ結果に基づいて前記グラフ構造を再構築する改善箇所解析部とを備える請求項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.
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)
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 |
-
2017
- 2017-12-05 JP JP2017233019A patent/JP6917874B2/en active Active
Cited By (3)
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 |