JP2018028776A - Software asset management device, software asset management method, and software asset management program - Google Patents

Software asset management device, software asset management method, and software asset management program Download PDF

Info

Publication number
JP2018028776A
JP2018028776A JP2016160000A JP2016160000A JP2018028776A JP 2018028776 A JP2018028776 A JP 2018028776A JP 2016160000 A JP2016160000 A JP 2016160000A JP 2016160000 A JP2016160000 A JP 2016160000A JP 2018028776 A JP2018028776 A JP 2018028776A
Authority
JP
Japan
Prior art keywords
module
data
information holding
asset management
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016160000A
Other languages
Japanese (ja)
Other versions
JP6737063B2 (en
Inventor
貞士 有元
Teiji Arimoto
貞士 有元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2016160000A priority Critical patent/JP6737063B2/en
Publication of JP2018028776A publication Critical patent/JP2018028776A/en
Application granted granted Critical
Publication of JP6737063B2 publication Critical patent/JP6737063B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To specify a range of influence accompanying modification/alteration of software by narrowing down the range to an appropriate range.SOLUTION: A software asset management device is connected to information holding means that stores, in association with a module constituting a business system, an identifier of data accessed by the module and the type of access indicating the type of the access: creation, deletion, update, or reference, and comprises range of influence analysis means that selects, from data accessed by a designated module, one that is created, deleted, or updated, and extracts, from the information holding means, an identifier of the module accessing the selected data and outputs the extracted identifier.SELECTED DRAWING: Figure 1

Description

本発明は、ソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラム、特に、ソフトウェアの一部の修正に伴う影響範囲を探索するソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラムに関する。   The present invention relates to a software asset management device, a software asset management method, and a software asset management program, and in particular, a software asset management device, a software asset management method, and a software asset that search an influence range associated with modification of a part of software. Regarding management programs.

ソフトウェアの改造/修正時に影響範囲を特定するには、ノウハウを持つ要員が、修正要件に関係するキーワードを元に、仕様書やソースコードの全検索を行うなど、経験に頼った影響範囲の調査が行われるケースが多い。   In order to identify the scope of impact when modifying / modifying software, a staff with know-how conducts a full-scale search of specifications and source code based on keywords related to the modification requirements and investigates the scope of impact based on experience. Is often performed.

(A) しかし、長期間にわたる保守および改修により仕様書が欠損するなど、システム間、機能間で関係がわからなくなっている場合がある。この場合、仕様書からの調査だけでは影響範囲の特定ができないという課題がある。   (A) However, there are cases in which the relationship between systems and functions is lost due to the loss of specifications due to long-term maintenance and modification. In this case, there is a problem that the influence range cannot be specified only by the investigation from the specification.

また、この調査は経験に頼った調査となるため、下記のような問題が発生する。   In addition, since this survey depends on experience, the following problems occur.

(B) 修正要件を元に改造/修正するプログラムを特定したとしても、影響範囲として調査されるのは、そのプログラムを構成するソースプログラムに限定される。しかし、修正対象のプログラムと直接的な呼び出し関係が無い他のプログラムでも、共通のデータにアクセスしているプログラムが修正対象となる場合があり、影響の見落としが発生する可能性がある。このため、デグレードや予期しないバグ埋め込みが発生する。   (B) Even if a program to be modified / modified is specified based on the correction requirements, the scope of the influence is limited to the source program that constitutes the program. However, even in other programs that do not have a direct calling relationship with the program to be corrected, a program that accesses common data may be the target of correction, and an oversight of the effect may occur. For this reason, degradation and unexpected bug embedding occur.

このような問題に対し、特許文献1は、各プログラムとこれをアクセスする業務モジュール内プログラムの関係を記憶し、変更されるデータの名称と内容が入力されると、変更されるデータをアクセスするプログラム名称を取得する。   For such a problem, Patent Document 1 stores the relationship between each program and a program in the business module that accesses the program, and accesses the changed data when the name and content of the changed data are input. Get the program name.

特開2000−99571号公報JP 2000-99571 A

ソフトウェアの改造/修正に伴って影響範囲を特定する場合、共通のデータにアクセスしているプログラム間でも、データへのアクセス方法によっては影響がない場合がある。特許文献1のシステムは、データにアクセスしているかどうかの判断だけで影響範囲を判断しているため、過度に広い範囲を影響範囲として取得してしまう可能性が有る。   When the scope of influence is specified as a result of software modification / modification, there is a case where there is no influence depending on the data access method even between programs accessing common data. Since the system of Patent Document 1 determines the influence range only by determining whether or not data is being accessed, there is a possibility that an excessively wide range may be acquired as the influence range.

本発明は、上記課題を解決し、影響範囲を適切に絞り込むことが可能なソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラムを提供することを目的とする。   An object of the present invention is to provide a software asset management device, a software asset management method, and a software asset management program that can solve the above-described problems and can appropriately narrow down the influence range.

本発明の1実施の形態のソフトウェア資産管理装置は、業務システムを構成するモジュールに関連付けて、前記モジュールがアクセスをするデータの識別子と、前記アクセスが作成、消去、更新、または、参照の何れであるかを示すアクセス種別と、を記憶する情報保持手段に接続され、指定された前記モジュールがアクセスする前記データのうち、作成、消去、または、更新するものを選択し、選択した前記データにアクセスする前記モジュールの識別子を前記情報保持手段から抽出して出力する影響範囲分析手段、を備える。   The software asset management apparatus according to one embodiment of the present invention relates to an identifier of data accessed by the module in association with a module constituting a business system, and the access is created, deleted, updated, or referenced. Connected to an information holding means for storing an access type indicating whether or not, the data to be created, deleted or updated is selected from the data accessed by the designated module, and the selected data is accessed An influence range analyzing unit that extracts and outputs an identifier of the module to be extracted from the information holding unit.

本発明の1実施の形態のソフトウェア資産管理方法は、業務システムを構成するモジュールに関連付けて、前記モジュールがアクセスをするデータの識別子と、前記アクセスが作成、消去、更新、または、参照の何れであるかを示すアクセス種別と、を記憶する情報保持手段を参照して、指定された前記モジュールがアクセスする前記データのうち、作成、消去、または、更新するものを選択し、選択した前記データにアクセスする前記モジュールの識別子を前記情報保持手段から抽出して出力する。   The software asset management method according to an embodiment of the present invention relates to an identifier of data accessed by a module in association with a module constituting a business system, and whether the access is created, deleted, updated, or referenced. With reference to the information holding means for storing the access type indicating whether or not there is selected the data to be created, deleted or updated among the data accessed by the specified module, and the selected data is The identifier of the module to be accessed is extracted from the information holding means and output.

本発明の1実施の形態のソフトウェア資産管理プログラムは、業務システムを構成するモジュールに関連付けて、前記モジュールがアクセスをするデータの識別子と、前記アクセスが作成、消去、更新、または、参照の何れであるかを示すアクセス種別と、を記憶する情報保持手段に接続されたコンピュータに、指定された前記モジュールがアクセスする前記データのうち、作成、消去、または、更新するものを選択し、選択した前記データにアクセスする前記モジュールの識別子を前記情報保持手段から抽出して出力する影響範囲分析処理を実行させる。   A software asset management program according to an embodiment of the present invention relates to an identifier of data accessed by a module in association with a module constituting a business system, and the access is created, deleted, updated, or referenced. Select the data to be created, erased, or updated among the data accessed by the specified module to the computer connected to the information holding means for storing the access type indicating whether or not the selected An influence range analysis process for extracting and outputting an identifier of the module accessing the data from the information holding unit is executed.

本発明にかかるソフトウェア資産管理装置は、ソフトウェアの改造/修正に伴って影響範囲を特定する際に、適切な範囲に絞りこむことが可能である。   The software asset management apparatus according to the present invention can be narrowed down to an appropriate range when the affected range is specified along with the modification / correction of software.

図1は、第1の実施の形態に係るソフトウェア資産管理システム10の構成を示す図である。FIG. 1 is a diagram showing a configuration of a software asset management system 10 according to the first embodiment. 図2は、情報保持部8が格納するA)情報保持テーブルとB)リンクテーブルの構造を示す図である。FIG. 2 is a diagram illustrating the structures of the A) information holding table and the B) link table stored in the information holding unit 8. 図3は、図2が示す情報保持テーブルとリンクテーブルが格納している情報項目の集合を示す図である。FIG. 3 is a diagram showing a set of information items stored in the information holding table and the link table shown in FIG. 図4は、ソフトウェア資産管理装置3の動作説明において、例として取り上げる販売システムの構造を示す図である。FIG. 4 is a diagram showing the structure of a sales system taken as an example in the operation description of the software asset management device 3. 図5は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルの構造を示す図(その1)である。FIG. 5 is a diagram (part 1) illustrating the structure of the information holding table, the link table, and the access type table. 図6は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルの構造を示す図(その2)である。FIG. 6 is a diagram (part 2) illustrating the structure of the information holding table, the link table, and the access type table. 図7は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルの構造を示す図(その3)である。FIG. 7 is a diagram (part 3) illustrating the structure of the information holding table, the link table, and the access type table. 図8は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルに基づいて、プログラム-データ関係表を作成する過程を示す図(その1)である。FIG. 8 is a diagram (part 1) illustrating a process of creating a program-data relation table based on the information holding table, the link table, and the access type table. 図9は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルに基づいて、プログラム-データ関係表を作成する過程を示す図(その2)である。FIG. 9 is a diagram (part 2) illustrating a process of creating a program-data relation table based on the information holding table, the link table, and the access type table. 図10は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルに基づいて、プログラム-データ関係表を作成する過程を示す図(その3)である。FIG. 10 is a diagram (part 3) illustrating a process of creating a program-data relation table based on the information holding table, the link table, and the access type table. 図11は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルに基づいて、プログラム-データ関係表を作成する過程を示す図(その4)である。FIG. 11 is a diagram (part 4) illustrating a process of creating a program-data relation table based on the information holding table, the link table, and the access type table. 図12は、情報保持テーブル、リンクテーブル、および、アクセス種別テーブルに基づいて、プログラム-データ関係表を作成する過程を示す図(その5)である。FIG. 12 is a diagram (No. 5) illustrating a process of creating a program-data relation table based on the information holding table, the link table, and the access type table. 図13は、プログラム-データ関係表の構造を示す図である。FIG. 13 is a diagram showing the structure of the program-data relationship table. 図14は、プログラム-データ関係表に基づいて、影響一覧表を作成する過程を示す(その1)である。FIG. 14 shows a process of creating an impact list based on the program-data relationship table (part 1). 図15は、プログラム-データ関係表に基づいて、影響一覧表を作成する過程を示す(その2)である。FIG. 15 shows a process of creating an impact list based on the program-data relationship table (part 2). 図16は、プログラム-データ関係表に基づいて、影響一覧表を作成する過程を示す(その3)である。FIG. 16 shows the process of creating the impact list based on the program-data relationship table (No. 3). 図17は、プログラム-データ関係表に基づいて、影響一覧表を作成する過程を示す(その4)である。FIG. 17 shows a process of creating an impact list based on the program-data relationship table (No. 4). 図18は、プログラム-データ関係表に基づいて、影響一覧表を作成する過程を示す(その5)である。FIG. 18 is a diagram showing a process of creating an impact list based on the program-data relationship table (No. 5). 図19は、プログラム-データ関係表に基づいて、影響一覧表を作成する過程を示す(その6)である。FIG. 19 shows a process of creating an impact list based on the program-data relationship table (No. 6). 図20は、影響範囲分析部71が、アクセス種別の変更が、他のモジュールに影響を与える可能性が有るかどうかを判断する為の判断マトリクスを示す図である。FIG. 20 is a diagram illustrating a determination matrix for the influence range analysis unit 71 to determine whether or not the change of the access type has a possibility of affecting other modules. 図21は、コンピュータ装置600の構成図である。FIG. 21 is a configuration diagram of the computer apparatus 600. 図22は、第2の実施の形態に係るソフトウェア資産管理装置3の構造を示す図である。FIG. 22 is a diagram illustrating the structure of the software asset management apparatus 3 according to the second embodiment.

<第1の実施の形態>
<構成>
図1は、第1の実施の形態に係るソフトウェア資産管理システム10の構成を示す図である。ソフトウェア資産管理システム10は、ソフトウェア資産管理装置3と、ソフトウェア資産管理装置3に接続された入力装置1、出力装置2、および、情報保持部8とを包含する。
<First Embodiment>
<Configuration>
FIG. 1 is a diagram showing a configuration of a software asset management system 10 according to the first embodiment. The software asset management system 10 includes a software asset management device 3, an input device 1 connected to the software asset management device 3, an output device 2, and an information holding unit 8.

情報保持部8は、ソフトウェア資産を管理する為の情報を記憶するリポジトリ、あるいは、その一部である。ソフトウェア資産管理装置3は、情報保持部8に対する情報の入力、抽出、分析を行う処理装置である。ソフトウェア資産管理装置3は、利用者が操作する入力装置1から情報を取得して、演算した結果を出力装置2に表示する。   The information holding unit 8 is a repository that stores information for managing software assets, or a part thereof. The software asset management device 3 is a processing device that inputs, extracts, and analyzes information with respect to the information holding unit 8. The software asset management device 3 acquires information from the input device 1 operated by the user and displays the calculated result on the output device 2.

ソフトウェア資産管理装置3は、情報入力部5および情報分析部7を備える。   The software asset management device 3 includes an information input unit 5 and an information analysis unit 7.

情報入力部5は、情報保持部8に対して情報を入力する時に様々な検査や加工を行う。情報入力部5は、入力されたプログラムのソースコードから、当該プログラムがアクセスするデータやアクセス種別を抽出して情報保持部8に格納するアクセス種別入力部51を包含する。   The information input unit 5 performs various inspections and processes when inputting information to the information holding unit 8. The information input unit 5 includes an access type input unit 51 that extracts data and access types accessed by the program from the source code of the input program and stores them in the information holding unit 8.

情報分析部7は、ソフトウェアを改造/修正する場合に、影響を受ける可能性が有る範囲を分析する。情報分析部7は、データの共有関係に基づいて影響範囲を分析する影響範囲分析部71、および、ソフトウェアの階層構造に基づいて影響範囲を分析する上位下位関係分析部72を包含する。   The information analysis unit 7 analyzes a range that may be affected when the software is modified / modified. The information analysis unit 7 includes an influence range analysis unit 71 that analyzes an influence range based on a shared relationship of data, and a higher-order and lower relationship analysis unit 72 that analyzes the influence range based on a hierarchical structure of software.

図2は、情報保持部8が格納するA)情報保持テーブルとB)リンクテーブルの構造を示す図である。   FIG. 2 is a diagram illustrating the structures of the A) information holding table and the B) link table stored in the information holding unit 8.

情報保持テーブルは、情報保持部8が格納する情報項目ごとに、番号、情報名称、区分位置、情報実体、出リンク、および、入リンクを格納するテーブルである。情報項目は、例えば、プログラムモジュール、データテーブル、入出力メッセージ、それらのグループや上位概念である。グループや上位概念は階層的である。   The information holding table is a table that stores a number, an information name, a division position, an information entity, an outgoing link, and an incoming link for each information item stored in the information holding unit 8. The information item is, for example, a program module, a data table, an input / output message, a group thereof, or a superordinate concept. Groups and superordinate concepts are hierarchical.

番号は、テーブル内での情報項目識別子である。区分位置は、本発明には関係しないので説明を割愛する。情報実体は、例えば、モジュールのソースコード、オブジェクトコード、および、それらの管理情報である。出リンクと入リンクの項目は、その情報項目から出る、または入ってくる関係リンクの番号を示している。   The number is an information item identifier in the table. Since the division position is not related to the present invention, the description is omitted. The information entity is, for example, a module source code, an object code, and management information thereof. The items of the outgoing link and incoming link indicate the number of the related link that comes out of or enters the information item.

リンクテーブルには、関係リンク一本一本が登録されている。リンクテーブルは、関係リンクごとに、番号(テーブル内の識別子)、後述する属性、および、始点情報/終点情報(当該関係リンクがどの情報項目から出て、どの情報項目に繋がるかの情報)を保持している。関係リンクには、下位構造を示すリンクと関連付けを示すリンクが有り、どちらのリンクであるかは属性から判断できる。   Each link is registered in the link table. The link table includes, for each related link, a number (identifier in the table), an attribute to be described later, and start point information / end point information (information on which information item the related link is output from and which information item is connected). keeping. The relationship link includes a link indicating a lower structure and a link indicating association, and it can be determined from the attribute which link is the link.

図2が示す情報保持テーブルとリンクテーブルは、具体的には、図3に示す情報項目の集合を格納している場合の例である。   Specifically, the information holding table and the link table shown in FIG. 2 are examples in the case where the set of information items shown in FIG. 3 is stored.

図3は、「業務フロー(システム)」の下位に「販売部門(サブシステム)」があり、「販売部門」の下位に「受注処理(モジュール)」、「在庫処理」、「出庫指示処理」がある情報項目の集合を示している。そして、この集合において、「受注処理」、「在庫処理」、「出庫指示処理」の各々に「注文書」、「製造指示書」、「出庫指示書」が各々関連付けられている。   In FIG. 3, “sales department (subsystem)” is subordinate to “business flow (system)”, and “order processing (module)”, “inventory processing”, and “shipping instruction processing” are subordinate to “sales department”. Indicates a set of information items. In this set, “order form”, “manufacturing instruction sheet”, and “issue instruction sheet” are associated with “order process”, “inventory process”, and “issue instruction process”, respectively.

図2において、例えば、情報保持テーブルの番号1の「業務フロー」の下位に情報保持テーブルの番号2の「販売部門」が有ることは、リンクテーブルの番号1の関係リンクで表現されている。リンクテーブルは、番号1の関係リンクは、情報保持テーブルの番号1の「業務フロー」を始点として、情報保持テーブルの番号2の「販売部門」を終点とする下位構造を示す関係リンクであることを示している。   In FIG. 2, for example, the fact that the “sales department” with the number 2 in the information holding table is below the “business flow” with the number 1 in the information holding table is represented by the related link with the number 1 in the link table. In the link table, the relational link of number 1 is a relational link indicating a subordinate structure starting from “business flow” of number 1 in the information holding table and ending in “sales department” of number 2 of the information holding table. Is shown.

同様に、「受注処理」に「注文書」が関連付けられていることは、リンクテーブルの番号5の関係リンクで表現されている。リンクテーブルは、番号5の関係リンクは、情報保持テーブルの番号6の「注文書」を始点として、情報保持テーブルの番号3の「受注処理」を終点とする関連付けを示す関係リンクであることを示している。   Similarly, the fact that “order form” is associated with “order processing” is expressed by a relational link of number 5 in the link table. In the link table, the relational link of number 5 is a relational link indicating an association starting from “order book” of number 6 in the information holding table and starting from “order processing” of number 3 in the information holding table. Show.

なお、関連付けを示す関係リンクは、リンクの方向に意味を持っていても、持っていなくても良い。例えば、モジュールからデータに向かう関連付を示す関係リンクは更新を表し、データからモジュールに向かう関連リンクは参照を表しても良い。一方、モジュールとデータ間の関連付を示す関係リンクは、モジュールがデータにアクセスすることを表すだけでも良い。   The relational link indicating the association may or may not have meaning in the direction of the link. For example, a relationship link indicating an association from the module to the data may represent an update, and a relationship link from the data to the module may represent a reference. On the other hand, the relational link indicating the association between the module and the data may only indicate that the module accesses the data.

ここで、情報保持テーブルの出リンクと入リンクの項目は、リンクテーブルを情報保持テーブル番号で検索して得ることが出来る情報であり、構造上は必須な項目ではない。しかし、実際の運用面において、情報保持部8に登録される情報量が膨大に増えて来ると、このリンクテーブルの検索時間が全体性能に大きな影響を及ぼすことが予想される。高速化の手段として、情報保持テーブルに出リンクと入リンクの情報を持つ事が有効となる。   Here, the items of the outgoing link and incoming link of the information holding table are information that can be obtained by searching the link table by the information holding table number, and are not essential items in structure. However, in actual operation, if the amount of information registered in the information holding unit 8 increases enormously, the search time of the link table is expected to have a large effect on the overall performance. As a means for speeding up, it is effective to have information on outgoing links and incoming links in the information holding table.

ここで、ソフトウェア資産管理装置3の、情報入力部5と、情報分析部7は、論理回路で構成される。情報保持部8は、磁気記憶装置、または、半導体記憶装置で構成される。   Here, the information input unit 5 and the information analysis unit 7 of the software asset management apparatus 3 are composed of logic circuits. The information holding unit 8 is configured by a magnetic storage device or a semiconductor storage device.

ソフトウェア資産管理装置3は、コンピュータ装置600により実現されても良い。図21は、コンピュータ装置600の構成図である。コンピュータ装置600は、バス640で相互に接続された、プロセッサ610、主記憶部630、および、外部記憶装置620を備える。プロセッサ610は、バス640を経由して、主記憶部630、および、外部記憶装置620に対してデータの読み書きを行う。また、プロセッサ610は、主記憶部630に格納されているプログラム650を実行する。なお、プログラム650は、当初外部記憶装置620に格納されており、コンピュータ装置600の初期設定時に、プロセッサ610が外部記憶装置620から主記憶部630にロードしても良い。   The software asset management device 3 may be realized by the computer device 600. FIG. 21 is a configuration diagram of the computer apparatus 600. The computer device 600 includes a processor 610, a main storage unit 630, and an external storage device 620 that are connected to each other via a bus 640. The processor 610 reads / writes data from / to the main storage unit 630 and the external storage device 620 via the bus 640. Further, the processor 610 executes a program 650 stored in the main storage unit 630. Note that the program 650 is initially stored in the external storage device 620, and the processor 610 may load the external storage device 620 from the external storage device 620 to the main storage unit 630 when the computer device 600 is initially set.

ここで、主記憶部630は半導体メモリ装置である。外部記憶装置620はディスク装置、または、半導体記憶装置等の記憶装置である。   Here, the main storage unit 630 is a semiconductor memory device. The external storage device 620 is a storage device such as a disk device or a semiconductor storage device.

プロセッサ610は、プログラム650を実行することにより、例えば、情報入力部5、および、情報分析部7として機能する。すなわち、プロセッサ610は、プログラム650を実行することにより、例えば、情報入力部5、および、情報分析部7が行う処理を実行する。主記憶部630または、外部記憶装置620は、情報保持部8として機能する。   The processor 610 functions as the information input unit 5 and the information analysis unit 7 by executing the program 650, for example. That is, the processor 610 executes the program 650 to execute, for example, processing performed by the information input unit 5 and the information analysis unit 7. The main storage unit 630 or the external storage device 620 functions as the information holding unit 8.

<動作>
図4は、以降のソフトウェア資産管理装置3の動作説明において、しばしば、例として取り上げる販売システムの構造を示す図である。
<Operation>
FIG. 4 is a diagram showing the structure of a sales system often taken as an example in the following description of the operation of the software asset management device 3.

販売システムは、受注処理、在庫管理処理、および、出庫処理の3つのサブシステムに分割され、各々、受注処理プログラム、在庫確認プログラム、および、出庫指示プログラムで実現されている。   The sales system is divided into three subsystems of order processing, inventory management processing, and delivery processing, and each is realized by an order processing program, an inventory confirmation program, and a delivery instruction program.

受注処理プログラムはモジュール1乃至3により構成されている。在庫確認プログラムはモジュール4乃至6により構成されている。出庫指示プログラムはモジュール7乃至9により構成されている。   The order processing program is composed of modules 1 to 3. The inventory confirmation program is composed of modules 4 to 6. The exit instruction program is composed of modules 7 to 9.

モジュールはプログラムの、プログラムはサブシステムの、サブシステムは販売システムの下位構造である。この例のようなシステム、プログラム、モジュールは情報項目として、予め、情報保持テーブルに登録され、階層関係はリンクテーブルの下位構造を示す関係リンクとして登録されている。図5のA)の番号1乃至4、B)の番号1乃至3は、受注処理プログラムについての予め登録されている情報の例である。図6のA)の番号1乃至4、B)の番号1乃至3は、在庫確認プログラムについての予め登録されている情報の例である。図7のA)の番号1乃至4、B)の番号1乃至3は、出庫指示プログラムについての予め登録されている情報の例である。   Modules are programs, programs are subsystems, and subsystems are substructures of sales systems. The system, program, and module as in this example are registered in advance in the information holding table as information items, and the hierarchical relationship is registered as a relation link indicating the subordinate structure of the link table. Numbers 1 to 4 in A) and numbers 1 to 3 in B) are examples of pre-registered information about the order processing program. Numbers 1 to 4 in A) and numbers 1 to 3 in B) are examples of pre-registered information about the inventory confirmation program. Numbers 1 to 4 in FIG. 7A and numbers 1 to 3 in B) are examples of information registered in advance for the exit instruction program.

これらは、例えば、情報入力部5が、各モジュールのソースプログラムや販売システムの構造定義情報を読み込んで登録する。ソフトウェア資産管理装置3、あるいは、リポジトリの管理者が、人手でこの情報を登録しても良い。   For example, the information input unit 5 reads and registers the source program of each module and the structure definition information of the sales system. The software asset management apparatus 3 or the repository administrator may register this information manually.

さらに、図4の販売システムにおいて、モジュール1は顧客マスタを、モジュール3は商品マスタと受注テーブルをデータとしてアクセスしている。モジュール4は受注テーブルを、モジュール5は在庫テーブルをアクセスしている。モジュール7は商品マスタと受注テーブルを、モジュール9は在庫テーブルをアクセスしている。   Further, in the sales system of FIG. 4, module 1 accesses the customer master, and module 3 accesses the product master and the order table as data. Module 4 accesses the order table, and module 5 accesses the inventory table. Module 7 accesses the product master and the order table, and module 9 accesses the inventory table.

これらのデータやアクセス関係は、アクセス種別入力部51が、以降に説明する処理により登録する。なお、商品マスタなどのデータは、予め、例えば、情報入力部5が、各データの定義情報を読み込んで、情報項目として、情報保持テーブルに登録していても良い。   These data and access relationships are registered by the access type input unit 51 by the processing described below. For example, the information input unit 5 may read the definition information of each data and register the data such as the product master in the information holding table as information items.

<処理フロー1>
アクセス種別入力部51は、例えば、リポジトリに格納されているモジュールのソースプログラムを解析し、アクセスするデータとアクセス種別を情報保持部8に登録する。アクセス種別入力部51は、次の判断条件に従ってアクセスする種別を登録する。
・アクセス種別入力部51は、ファイルのCREATEやレコードのWRITEなど、新規にデータ(ファイル、または、レコード)を作成する処理のソースコードを検出すると、アクセス種別「作成(略称はC)」の関連付けを示す関係リンクを登録する。
・アクセス種別入力部51は、レコードのREADなど、データの読み込みを行う処理のソースコードを検出すると、アクセス種別「参照(略称はR)」の関連付けを示す関係リンクを登録する。
・アクセス種別入力部51は、レコードのUPDATEやREWRITEなど、データを更新する処理のソースコードを検出すると、アクセス種別「更新(略称はU)」の関連付けを示す関係リンクを登録する。REWRITEの場合は、READも行うため、「参照」の関連付けを示す関係リンクも登録される。
・アクセス種別入力部51は、ファイルのELASEやレコードのDELETEなど、データ(ファイル、または、レコード)を削除する処理のソースコードを検出すると、アクセス種別「削除(略称はD)」の関連付けを示す関係リンクを登録する。
・アクセス種別入力部51は、ファイルやレコードの定義のみ行っており、データへのアクセスは行っていない処理のソースコードを検出すると、アクセス種別「定義のみ(略称はX)」の関連付けを示す関係リンクを登録する。
<Processing flow 1>
The access type input unit 51 analyzes, for example, a module source program stored in the repository, and registers the data to be accessed and the access type in the information holding unit 8. The access type input unit 51 registers the type to be accessed according to the following determination condition.
When the access type input unit 51 detects the source code of a process for creating new data (file or record), such as CREATE of a file or WRITE of a record, the access type “Create (abbreviated as C)” is associated Register a relationship link that indicates
When the access type input unit 51 detects a source code of a process for reading data such as a READ of a record, the access type input unit 51 registers a relational link indicating an association of the access type “reference (abbreviated as R)”.
When the access type input unit 51 detects the source code of the data update process such as UPDATE or REWRITE of the record, the access type input unit 51 registers a relational link indicating the association of the access type “update (abbreviation U)”. In the case of REWRITE, since READ is also performed, a relational link indicating the association of “reference” is also registered.
When the access type input unit 51 detects the source code of the process of deleting data (file or record) such as file ELASE or record DELETE, the access type input unit 51 indicates the association of the access type “delete (abbreviation D)”. Register related links.
The access type input unit 51 performs only the definition of the file and record, and when detecting the source code of the process that does not access the data, the relationship indicating the association of the access type “definition only (abbreviated as X)” Register the link.

アクセス種別入力部51は、具体的には、ソースプログラムからデータアクセスを検出すると、アクセスごとに、対象データと関連付けを示す関係リンクを情報保持テーブルとリンクテーブルに登録し、アクセス種別を当該関係リンクに関連付けてアクセス種別テーブルに登録する。   Specifically, when the access type input unit 51 detects data access from the source program, for each access, the access type input unit 51 registers a relation link indicating the association with the target data in the information holding table and the link table, and sets the access type to the relation link. And register it in the access type table.

例えば、アクセス種別入力部51は、モジュール1のソースコードから顧客マスタへの参照を検出すると、まず、図5の情報保持テーブルに情報項目番号5の顧客マスタを登録する。次いで、アクセス種別入力部51は、図5のリンクテーブルに番号4の関連付けを示す関係リンクを登録する。さらに、アクセス種別入力部51は、図5のリンクテーブルと情報保持テーブルに当該関係リンクが、情報項目番号2のモジュール1と情報項目番号5の顧客マスタ間の関係リンクであることを登録する。最後に、アクセス種別入力部51は、アクセス種別テーブルに、番号4の関係リンクに関連付けてアクセス種別が参照であることを登録する。   For example, when the access type input unit 51 detects a reference to the customer master from the source code of the module 1, first, the customer master of the information item number 5 is registered in the information holding table of FIG. Next, the access type input unit 51 registers a relational link indicating the association of number 4 in the link table of FIG. Further, the access type input unit 51 registers in the link table and the information holding table of FIG. 5 that the related link is a related link between the module 1 with the information item number 2 and the customer master with the information item number 5. Finally, the access type input unit 51 registers in the access type table that the access type is a reference in association with the related link number 4.

さらに、例えば、アクセス種別入力部51は、モジュール5のソースコードから在庫テーブルへの参照を検出すると、まず、図6の情報保持テーブルに情報項目番号6の在庫テーブルを登録する。次いで、アクセス種別入力部51は、図6のリンクテーブルに番号5の関連付けを示す関係リンクを登録する。さらに、アクセス種別入力部51は、図6のリンクテーブルと情報保持テーブルに当該関係リンクが、情報項目番号3のモジュール5と情報項目番号6の在庫テーブル間の関係リンクであることを登録する。最後に、アクセス種別入力部51は、アクセス種別テーブルに、番号5の関係リンクに関連付けてアクセス種別が参照であることを登録する。   Further, for example, when the access type input unit 51 detects a reference to the inventory table from the source code of the module 5, first, the inventory table of the information item number 6 is registered in the information holding table of FIG. Next, the access type input unit 51 registers a related link indicating the association of number 5 in the link table of FIG. Further, the access type input unit 51 registers in the link table and the information holding table of FIG. 6 that the related link is a related link between the module 5 of the information item number 3 and the inventory table of the information item number 6. Finally, the access type input unit 51 registers that the access type is a reference in the access type table in association with the related link number 5.

このように、アクセス種別入力部51は、図4の販売システムの全てのモジュールからデータアクセスを検出して、データ、関連付けを示す関係リンク、および、アクセス種別を情報保持テーブル、リンクテーブル、および、アクセス種別テーブルに登録する。図5のA)、B)、C)は、受注処理プログラムについてのアクセス種別入力部51の登録後のデータ例である。図6のA)、B)、C)は、在庫確認プログラムについてのアクセス種別入力部51の登録後のデータ例である。図7のA)、B)、C)は、出庫指示プログラムについてのアクセス種別入力部51による登録処理後のデータ例である。なお、図5、図6,および、図7は、いずれも、販売システム全体についてのテーブルの一部を抜き出して示している。   As described above, the access type input unit 51 detects data access from all the modules of the sales system of FIG. 4, and sets the data, the relationship link indicating the association, and the access type as the information holding table, the link table, and Register in the access type table. A), B), and C) of FIG. 5 are data examples after registration of the access type input unit 51 for the order processing program. A), B), and C) in FIG. 6 are examples of data after registration in the access type input unit 51 for the inventory confirmation program. A), B), and C) of FIG. 7 are data examples after the registration processing by the access type input unit 51 for the exit instruction program. 5, FIG. 6, and FIG. 7 all show a part of the table for the entire sales system.

<処理フロー2>
情報分析部7における影響範囲分析部71は、まず、アクセス種別入力部51による登録処理後の情報保持テーブル、リンクテーブル、アクセス種別テーブルを検索し、プログラムとデータとの間の関係情報を解析し、プログラム-データ関係表を作成する。
<Processing flow 2>
The influence range analysis unit 71 in the information analysis unit 7 first searches the information holding table, the link table, and the access type table after the registration processing by the access type input unit 51, and analyzes the relationship information between the program and the data. Create a program-data relationship table.

図13は、プログラム-データ関係表の構造を示す。プログラム-データ関係表は、データ対応に、各モジュールが当該データにアクセスするのか否か、アクセスする場合のアクセス種別は何かを示すマトリックスである。すなわち、影響範囲分析部71は、例えば、図4に示した3つのプログラムについて、図5乃至7のデータから図13のデータを作成する。以下、その手順を説明する。   FIG. 13 shows the structure of the program-data relationship table. The program-data relationship table is a matrix indicating whether each module accesses the data in correspondence with the data, and what kind of access is used when accessing the data. That is, for example, the influence range analysis unit 71 creates the data shown in FIG. 13 from the data shown in FIGS. 5 to 7 for the three programs shown in FIG. The procedure will be described below.

ステップ1:影響範囲分析部71は、各プログラムの情報保持テーブルより、利用しているモジュールの一覧を横軸に、利用しているデータの一覧を縦軸に抽出してマトリクスを作成する。図8は、図5のA)、図6のA)、図7のA)から抽出したマトリクスの例を示す。   Step 1: The scope of influence analysis unit 71 creates a matrix by extracting a list of used modules on the horizontal axis and a list of used data on the vertical axis from the information holding table of each program. FIG. 8 shows an example of the matrix extracted from A) of FIG. 5, A) of FIG. 6, and A) of FIG.

ステップ2:影響範囲分析部71は、マトリクスの一番上に登録されているデータを選択する。図8の例では、影響範囲分析部71は、顧客マスタを選択する。   Step 2: The influence range analysis unit 71 selects data registered at the top of the matrix. In the example of FIG. 8, the influence range analysis unit 71 selects a customer master.

ステップ3:影響範囲分析部71は、選択したデータに関係する関係リンクと、当該関連リンクが有るモジュールと、を各プログラムの情報保持テーブルとリンクテーブルから抽出する。図9は、図8における「顧客マスタ」に関係する番号4の関係リンクと、当該関係リンクが有る受注処理プログラムのモジュール1を、図5の情報保持テーブルとリンクテーブルから抽出する様子を示している。   Step 3: The influence range analysis unit 71 extracts a relation link related to the selected data and a module having the related link from the information holding table and the link table of each program. FIG. 9 shows a state in which the relation link of number 4 relating to “customer master” in FIG. 8 and the module 1 of the order processing program having the relation link are extracted from the information holding table and link table of FIG. Yes.

ステップ4:影響範囲分析部71は、抽出した関係リンクのアクセス種別をアクセス種別テーブルから取得する。図10は、図9で抽出した番号4の関係リンクのアクセス種別「参照」を図5のアクセス種別テーブルから取得する様子を示している。   Step 4: The influence range analysis unit 71 acquires the access type of the extracted related link from the access type table. FIG. 10 shows a state where the access type “reference” of the related link of number 4 extracted in FIG. 9 is acquired from the access type table of FIG.

ステップ5:影響範囲分析部71は、取り出したアクセス種別を、マトリクスにおける選択したデータと抽出したモジュールとの交点のセルに登録する。図11は、取り出したアクセス種別「参照(R)」を、マトリクスにおける選択したデータ「顧客マスタ」と抽出したモジュール「モジュール1」との交点のセルに登録した後の様子を示している。
この時、複数のアクセス種別を取得した場合は、影響範囲分析部71は、取得したアクセス種別を全て登録する。例えば、「作成」と「参照」を取得した場合は、影響範囲分析部71は、”CR”を登録する。
Step 5: The influence range analysis unit 71 registers the extracted access type in the cell at the intersection of the selected data in the matrix and the extracted module. FIG. 11 shows a state after the extracted access type “reference (R)” is registered in the cell at the intersection of the selected data “customer master” and the extracted module “module 1” in the matrix.
At this time, when a plurality of access types are acquired, the influence range analysis unit 71 registers all the acquired access types. For example, when “creation” and “reference” are acquired, the influence range analysis unit 71 registers “CR”.

ステップ6:影響範囲分析部71は、マトリクスに登録されているデータを順次選択し、ステップ3乃至ステップ5を順次繰り返す。図12は、アクセス種別「R」を、マトリクスにおける、選択したデータ「商品マスタ」と抽出したモジュール「モジュール3」との交点、および、選択したデータ「商品マスタ」と抽出したモジュール「モジュール7」との交点の両セルに登録した後の様子を示している。図13は、残りの受注テーブルと在庫テーブルについても、アクセス種別の登録が完了した様子を示している。   Step 6: The influence range analysis unit 71 sequentially selects data registered in the matrix, and repeats Step 3 to Step 5 sequentially. FIG. 12 shows the access type “R”, the intersection of the selected data “product master” and the extracted module “module 3” in the matrix, and the selected data “product master” and the extracted module “module 7”. The state after registering in both cells at the intersection with is shown. FIG. 13 shows that access type registration has been completed for the remaining order table and inventory table.

上記の手順により、影響範囲分析部71は、プログラム-データ関係表を作成する。   According to the above procedure, the influence range analysis unit 71 creates a program-data relationship table.

影響範囲分析部71は、プログラム-データ関係表の行を検索することで、特定のデータに関係リンクのあるモジュールを、別のプログラム間でも把握することが可能となる。   The range-of-influence analysis unit 71 searches for a row in the program-data relationship table, so that a module having a relationship link with specific data can be grasped even between different programs.

なお、ソフトウェア資産管理装置3、あるいは、リポジトリの管理者が、人手で、プログラム-データ関係表を登録しても良い。   The software asset management device 3 or the repository administrator may register the program-data relationship table manually.

<処理フロー3>
影響範囲分析部71は、次に、アクセス種別の変更を伴わない修正による影響範囲を分析したいモジュールに対して、下記の手順で影響一覧表を作成する。
<Processing flow 3>
Next, the influence range analysis unit 71 creates an influence list in the following procedure for the module for which the influence range due to the modification without changing the access type is to be analyzed.

まず、利用者が、影響範囲を分析したいモジュールを指定する。例えば、利用者は、モジュール3をアクセス種別の変更が無い範囲で修正することを指定する。   First, the user designates a module for which the influence range is to be analyzed. For example, the user specifies that the module 3 is to be corrected within the range where the access type is not changed.

影響範囲分析部71は、指定されたモジュール(例えば、モジュール3)と関係リンクがあるデータの一覧を、図13のマトリクスの当該モジュールの列を検索することで特定し、関係リンクのないデータの行を削除する。例えば、図13のモジュール3の列から、影響範囲分析部71は、関係リンクが有る商品マスタと受注テーブルを特定し、関係リンクのない顧客マスタと在庫テーブルの行を削除する。   The influence range analysis unit 71 specifies a list of data having a relational link with a specified module (for example, module 3) by searching the column of the module in the matrix of FIG. Delete the line. For example, from the column of module 3 in FIG. 13, the influence range analysis unit 71 specifies a product master and an order table that have a relationship link, and deletes a customer master and a stock table row that do not have a relationship link.

また、「モジュール3」と関係リンクが有る各データとの関係情報を確認し、アクセス種別が参照(R)、または、定義のみ(X)である場合は、当該データ(商品マスタ)の行も削除する。指定されたモジュールが、当該データを参照または定義だけをしているのであれば、アクセス種別を変えない限り当該モジュールの修正の影響が他のモジュールに及ぶことが無いためである。   In addition, the relation information between “module 3” and each piece of data having a relation link is confirmed. If the access type is reference (R) or definition only (X), the line of the data (product master) is also displayed. delete. This is because if the designated module only refers to or defines the data, the modification of the module does not affect other modules unless the access type is changed.

図14は、この様子を示す。図14において、削除された行は、網掛けされている。   FIG. 14 shows this state. In FIG. 14, the deleted line is shaded.

次に影響範囲分析部71は、指定されたモジュール(モジュール3)と関係リンクのあるデータ(受注テーブル)と関係があるモジュール(モジュール4、7)を、当該データの行を検索することで特定する。次いで、影響範囲分析部71は、関係リンクのないモジュールの列を削除する。この時、影響範囲分析部71は、関係情報が「定義のみ(X)」の場合は、「定義のみ(X)」の情報しか存在しないモジュールの列も削除する。このようなモジュールは、データを利用しているモジュールではないためである。図15は、この様子を示す。図15において、削除された列は、網掛けされている。   Next, the influence range analysis unit 71 specifies a module (modules 4 and 7) that is related to the specified module (module 3) and the data (order reception table) that has a related link by searching the row of the data. To do. Next, the influence range analysis unit 71 deletes a column of modules having no relation link. At this time, when the relationship information is “definition only (X)”, the influence range analysis unit 71 also deletes the module column in which only the information of “definition only (X)” exists. This is because such a module is not a module using data. FIG. 15 shows this state. In FIG. 15, the deleted column is shaded.

削除の結果残ったマトリクス(図16)から、「モジュール3」の修正に影響があるモジュール(モジュール4と7)の影響一覧表を作成できる。図17は、影響一覧表を示す。   From the matrix left after the deletion (FIG. 16), it is possible to create an influence list of modules (modules 4 and 7) having an influence on the correction of “module 3”. FIG. 17 shows an influence list.

<処理フロー4>
影響範囲分析部71は、アクセス種別の変更を伴う修正を行う予定のモジュールに対して、下記の手順で影響が発生する可能性のあるモジュールをシミュレーションし、影響一覧表を作成する。
<Processing flow 4>
The influence range analysis unit 71 creates a list of influences by simulating modules that are likely to be affected by the following procedure with respect to modules that are scheduled to be modified with a change in access type.

販売システムの受注処理において、受注テーブルのアクセス種別を変更する修正が発生した場合に、影響範囲分析部71が影響のある処理(機能)、および、モジュールを特定する例を説明する。   In the order processing of the sales system, an example will be described in which the influence range analysis unit 71 specifies an influential process (function) and module when a modification that changes the access type of the order table occurs.

本処理は、修正を行うモジュールに対して、処理フロー2で作成したプログラム-データ関係表を基に、図20に示す判断を行って、影響一覧表を作成して出力する。   In this process, the module shown in FIG. 20 is subjected to the determination shown in FIG. 20 based on the program-data relation table created in the process flow 2, and an impact list is created and output.

ステップ1:利用者が、修正予定のモジュール、および、修正によりアクセス種別が変更となるデータを指定する。利用者は、例えば、モジュール1を修正し、在庫テーブルへのアクセス種別が変更になる旨の指定を行う。   Step 1: A user designates a module to be modified and data whose access type is changed by the modification. For example, the user corrects the module 1 and designates that the access type to the inventory table is changed.

ステップ2:影響範囲分析部71は、図13のプログラム-データ関係表から指定されたデータ(在庫テーブル)の行を抽出する。図18は、この様子を示す。図18において、抽出されなかった行は、網掛けされている。   Step 2: The influence range analysis unit 71 extracts a row of designated data (inventory table) from the program-data relationship table of FIG. FIG. 18 shows this state. In FIG. 18, the lines not extracted are shaded.

次に影響範囲分析部71は、指定されたデータ(在庫テーブル)と関係があるモジュールをマトリクスの指定されたデータの行を探索ことで特定し、関係が無いモジュールの列を削除する。この時、関係情報が「定義のみ(X)」の場合は、当該列のモジュールも削除する。当該モジュールは、データを利用しているモジュールではないためである。さらに、影響範囲分析部71は、修正対象モジュールの列も削除する。図19は、この様子を示す。図19において、削除された列は、網掛けされている。   Next, the influence range analysis unit 71 specifies a module that is related to the specified data (inventory table) by searching a row of the specified data in the matrix, and deletes a column of modules that are not related. At this time, if the relationship information is “definition only (X)”, the module in the column is also deleted. This is because the module is not a module using data. Furthermore, the influence range analysis unit 71 also deletes the column of the correction target module. FIG. 19 shows this state. In FIG. 19, the deleted column is shaded.

ステップ3:影響範囲分析部71は、アクセス種別の変更が、他のモジュールに影響を与える可能性が有るかどうかを、図20の判断マトリクスにしたがって判断する。判断マトリクスは、修正前のアクセス種別を行、修正後のアクセス種別を列とするマトリクスで、マトリクスの各セルは、アクセス種別の変更により他のモジュールに影響を与える可能性の有無が記憶されている。   Step 3: The influence range analysis unit 71 determines whether there is a possibility that the change of the access type may affect other modules according to the determination matrix of FIG. The decision matrix is a matrix in which the access type before correction is a row and the access type after correction is a column, and each cell of the matrix stores the presence or absence of the possibility of affecting other modules by changing the access type Yes.

影響範囲分析部71は、判断マトリクスに従って、作成、消去、更新の何れかの追加、または、削除が有れば他のモジュールに影響を与える可能性が有る一方、参照、定義のみの追加、または、削除だけでは、他のモジュールに影響を与える可能性が無いと判断する。指定されたモジュールにデータの参照、定義のみが追加、または、削除されても、他のモジュールは影響されないからである。   According to the decision matrix, the influence range analysis unit 71 may affect other modules if there is addition, deletion, or update of creation, deletion, update, or addition of only reference, definition, or Therefore, it is determined that there is no possibility of affecting other modules only by deletion. This is because even if only data reference or definition is added to or deleted from the specified module, other modules are not affected.

指定されたモジュール(モジュール1)の修正が、判断マトリクスの「無」に該当するものであれば、影響範囲分析部71は影響一覧として何も出力しない。一方、指定されたモジュール(モジュール1)の修正が、判断マトリクスの「有」に該当するものであれば、影響範囲分析部71は、図19のテーブルから残っているモジュール(モジュール5と9)を、指定されたモジュール(モジュール1)の修正における影響一覧表として出力する。   If the modification of the specified module (module 1) corresponds to “none” in the determination matrix, the influence range analysis unit 71 outputs nothing as an influence list. On the other hand, if the modification of the specified module (module 1) corresponds to “Yes” in the determination matrix, the influence range analysis unit 71 determines the modules (modules 5 and 9) remaining from the table of FIG. Are output as an influence list in the modification of the specified module (module 1).

<処理フロー5>
情報分析部7における上位下位関係分析部72は、処理フロー3または処理フロー4で出力した影響一覧表に含まれるモジュールの関連リンクの検索を行い、影響のある上位構造を取得する。
<Processing flow 5>
The higher-order / lower-order relationship analysis unit 72 in the information analysis unit 7 searches for related links of modules included in the effect list output in the process flow 3 or the process flow 4 and acquires an affected higher-order structure.

上位下位関係分析部72は、影響一覧表に含まれるモジュールから出発して、リンクテーブルの下位構造を示す関係リンクを逆方向に辿ることで、順次、上位構造を取得すれば良い。ここで、下位構造を示す関係リンクを逆方向に辿るとは、リンクテーブルから、下位構造を終点とする下位構造を示す関係リンクを特定し、当該関係リンクの始点となる上位構造に至るという処理を順番に繰り返すことを意味する。なお、業務システムの階層構造は木構造とは限らない。或る下位構造を終点とする関係リンクは複数存在する場合が有り、この場合、上位下位関係分析部72は、その複数の関係リンク系列を探索する。   The upper / lower relationship analysis unit 72 may acquire the upper structure sequentially by starting from the modules included in the influence list and tracing the relationship link indicating the lower structure of the link table in the reverse direction. Here, following the relational link indicating the subordinate structure in the reverse direction means that the relational link indicating the subordinate structure whose end point is the subordinate structure is identified from the link table, and reaches the superordinate structure that is the starting point of the relevant link. Is repeated in order. The hierarchical structure of the business system is not necessarily a tree structure. There may be a plurality of relational links having a certain lower structure as an end point, and in this case, the upper / lower relation analysis unit 72 searches for the plurality of relational link sequences.

上位下位関係分析部72は、以下のように本処理を実行しても良い。以下は、具体例として処理フロー3で求めた受注テーブルに関係のあるモジュール7の上位構造を取得する処理を示す。   The upper / lower relationship analysis unit 72 may execute this processing as follows. In the following, as a specific example, a process for acquiring the upper structure of the module 7 related to the order reception table obtained in the process flow 3 is shown.

ステップ1:この処理では、モジュールとデータ間の関係については探査する必要はない。そのため、上位下位関係分析部72は、関連付けを示す関係リンクを検索対象外とする。   Step 1: In this process, there is no need to explore the relationship between modules and data. Therefore, the upper / lower relationship analysis unit 72 excludes the relationship link indicating the association from the search target.

ステップ2:モジュール8は、出庫指示プログラムには関係があるが、モジュール7には関係がない。そのため、上位下位関係分析部72は、関係の向きが下位方向の下位構造を示す関係リンクも検索対象外とする。   Step 2: Module 8 is related to the delivery instruction program, but not related to module 7. Therefore, the upper / lower relationship analysis unit 72 excludes a relationship link indicating a lower structure whose direction of the relationship is a lower direction from the search target.

ステップ3:上記2つを検索対象外として残りすべての関係リンクを辿って、上位下位関係分析部72は、モジュール7に影響のある上位構造(出庫指示プログラム、出庫処理、販売システム)を取得する。   Step 3: The above-mentioned two are excluded from the search target and all the remaining relation links are traced, and the upper-lower relationship analysis unit 72 acquires a higher-level structure (shipping instruction program, shipping processing, sales system) that affects the module 7. .

ステップ4:同様に、上位下位関係分析部72は、モジュール3に影響のある上位構造(受注処理プログラム、受注処理、販売システム)、並びに、モジュール4に影響のある上位構造(在庫管理プログラム、在庫管理処理、販売システム)を取得する。   Step 4: Similarly, the upper / lower relationship analysis unit 72 has an upper structure (order processing program, order processing, sales system) that affects the module 3 and an upper structure (stock management program, inventory) that affects the module 4. Management process, sales system).

なお、仕様書や階層構造情報の欠損により、販売システムと在庫管理処理、販売システムと出庫処理との関係が辿れない場合であっても、モジュール間のデータ共用関係を基にした本処理フローに基づいて、販売システムと、在庫管理処理と出庫処理との関係を把握することが可能となる。   Even if the relationship between the sales system and the inventory management process, or the sales system and the issue process cannot be traced due to missing specifications or hierarchical structure information, this processing flow based on the data sharing relationship between modules Based on this, it becomes possible to grasp the relationship between the sales system and the inventory management process and the delivery process.

ここで、上位下位関係分析部72は、ダイクストラ法など一般的に知られる経路探索手法を用いて、上記ステップ3における「残りすべての関係リンクを辿る」処理を実行しても良い。   Here, the upper / lower relationship analysis unit 72 may execute the process of “tracing all remaining relationship links” in step 3 using a generally known route search method such as the Dijkstra method.

また、上記例では、上位下位関係分析部72は、機能間までの関係を探索しているが、リポジトリに存在するすべての関係リンクを辿っても良い。これにより、上位下位関係分析部72は、システム間の影響範囲を特定することも可能となる。   In the above example, the upper / lower relationship analysis unit 72 searches for relationships between functions, but may trace all relationship links existing in the repository. As a result, the upper-lower relationship analysis unit 72 can also specify the range of influence between systems.

<効果>
本実施の形態のソフトウェア資産管理装置3は、ソフトウェアの改造/修正に伴う影響範囲を特定する際に、適切な範囲に絞りこむことが可能である。その理由は、各モジュールのデータアクセスの対象データおよびアクセス種別に基づいて、影響範囲分析部71が或るモジュールの改造/修正の影響を受ける可能性のある他のモジュールを絞り込んで、過剰に広い影響範囲情報を出力しないからである。すなわち、本実施の形態のソフトウェア資産管理装置3は、プログラム間同士に関係を持たない場合でも、データに着目することでプログラム間の影響の有無を判定し、影響範囲を特定する。
<Effect>
The software asset management device 3 according to the present embodiment can narrow down to an appropriate range when specifying the range of influence associated with the modification / modification of software. The reason is that the influence range analysis unit 71 narrows down other modules that may be affected by the modification / modification of a certain module based on the target data and the access type of the data access of each module. This is because the influence range information is not output. That is, even when the software asset management apparatus 3 of the present embodiment has no relationship between programs, the software asset management device 3 determines the presence or absence of the influence between the programs by focusing on the data, and specifies the influence range.

さらに、本実施の形態のソフトウェア資産管理装置3は、仕様書が欠損している場合でも、データを介したプログラム間の影響を特定することにより、プログラムとデータとの関係情報からシステム間、機能間の影響の抽出が可能である。その理由は、影響範囲分析部71がデータを介したプログラム間の影響を特定し、その結果を基に、上位下位関係分析部72が、プログラムの上位構成要素を特定するからである。すなわち、本実施の形態のソフトウェア資産管理装置3は、プログラムに対して、上位情報を探索することができ、システム間、機能間の影響の有無の確認が可能である。   Furthermore, the software asset management apparatus 3 according to the present embodiment specifies the influence between programs via data, even if the specification is missing, so that the function between the systems can be determined from the relation information between the programs and data. It is possible to extract the influence between. The reason is that the influence range analysis unit 71 specifies the influence between the programs via the data, and based on the result, the upper and lower level relationship analysis unit 72 specifies the upper component of the program. That is, the software asset management apparatus 3 according to the present embodiment can search for higher-level information for a program, and can check whether there is an influence between systems or functions.

さらに、本実施の形態のソフトウェア資産管理装置3は、アクセス種別の変更を伴う修正前後での影響範囲を特定することが可能である。その理由は、影響範囲分析部71がプログラムの修正ケースをシミュレーションするからである。   Furthermore, the software asset management apparatus 3 according to the present embodiment can specify the range of influence before and after the modification accompanied by the change of the access type. This is because the influence range analysis unit 71 simulates a program correction case.

<変形例>
影響範囲分析部71は、プログラム間の影響の有無をデータへのアクセス種別から解析を行う部分において、アクセス種別に影響度の重みづけを行うことで、影響に強弱をつけても良い。さらに、影響範囲分析部71は、影響の強弱によりデータおよびソースプログラム間の親密度を評価したり、影響度の出力範囲を指定することで影響範囲の絞り込みを行ったりしても良い。
<Modification>
The influence range analysis unit 71 may increase or decrease the influence by weighting the access type with the influence degree in the part that analyzes the presence / absence of the influence between the programs from the access type to the data. Further, the influence range analysis unit 71 may evaluate the closeness between the data and the source program depending on the strength of the influence, or may narrow down the influence range by designating the output range of the influence degree.

さらに、影響範囲分析部71は、データに対するプログラムとの関係リンクの数を抽出し、データの修正によるリスクを評価しても良い。   Further, the influence range analysis unit 71 may extract the number of relation links with the program for the data, and may evaluate the risk due to the correction of the data.

<第2の実施形態>
図22は、第2の実施の形態に係るソフトウェア資産管理装置3の構造を示す図である。
<Second Embodiment>
FIG. 22 is a diagram illustrating the structure of the software asset management apparatus 3 according to the second embodiment.

本実施の形態に係るソフトウェア資産管理装置3は、情報保持部8に接続されている。情報保持部8は、業務システムを構成するモジュールに関連付けて、モジュールがアクセスをするデータの識別子と、アクセスが作成、消去、更新、または、参照の何れであるかを示すアクセス種別と、を記憶する。   The software asset management apparatus 3 according to the present embodiment is connected to the information holding unit 8. The information holding unit 8 stores an identifier of data accessed by the module and an access type indicating whether the access is created, deleted, updated, or referenced in association with the module constituting the business system. To do.

そして、本実施の形態に係るソフトウェア資産管理装置3は、影響範囲分析部71を備える。影響範囲分析部71は、指定されたモジュールがアクセスするデータのうち、作成、消去、または、更新するものを選択し、選択したデータにアクセスするモジュールの識別子を情報保持手段から抽出して出力する。   The software asset management apparatus 3 according to the present embodiment includes an influence range analysis unit 71. The influence range analysis unit 71 selects data to be created, deleted, or updated from the data accessed by the designated module, extracts the identifier of the module accessing the selected data from the information holding means, and outputs it. .

本実施の形態のソフトウェア資産管理装置3は、ソフトウェアの改造/修正に伴う影響範囲を特定する際に、適切な範囲に絞りこむことが可能である。その理由は、各モジュールのデータアクセスの対象データおよびアクセス種別に基づいて、影響範囲分析部71が或るモジュールの改造/修正の影響を受ける可能性のある他のモジュールを絞り込んで、過剰に広い影響範囲情報を出力しないからである。   The software asset management device 3 according to the present embodiment can narrow down to an appropriate range when specifying the range of influence associated with the modification / modification of software. The reason is that the influence range analysis unit 71 narrows down other modules that may be affected by the modification / modification of a certain module based on the target data and the access type of the data access of each module. This is because the influence range information is not output.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

本発明は、フトウェア企画・開発フェーズにおける設計、製造、並びに、ソフトウェア運用・保守フェーズにおける改造支援、障害分析支援に利用できる。さらに、本発明は、上記フェーズを通した、影響分析支援、作業工数の見積支援にも利用できる。   The present invention can be used for design and manufacturing in the software planning / development phase, remodeling support and failure analysis support in the software operation / maintenance phase. Furthermore, the present invention can also be used for impact analysis support and work man-hour estimation support through the above phases.

1 入力装置
2 出力装置
3 ソフトウェア資産管理装置
5 情報入力部
7 情報分析部
8 情報保持部
10 ソフトウェア資産管理システム
51 アクセス種別入力部
71 影響範囲分析部
72 上位下位関係分析部
600 コンピュータ装置
610 プロセッサ
620 外部記憶装置
630 主記憶部
640 バス
650 プログラム
DESCRIPTION OF SYMBOLS 1 Input device 2 Output device 3 Software asset management apparatus 5 Information input part 7 Information analysis part 8 Information holding part 10 Software asset management system 51 Access type input part 71 Influence range analysis part 72 Higher-order relation analysis part 600 Computer apparatus 610 Processor 620 External storage device 630 Main storage unit 640 Bus 650 Program

Claims (10)

業務システムを構成するモジュールに関連付けて、前記モジュールがアクセスをするデータの識別子と、前記アクセスが作成、消去、更新、または、参照の何れであるかを示すアクセス種別と、を記憶する情報保持手段に接続され、
指定された前記モジュールがアクセスする前記データのうち、作成、消去、または、更新するものを選択し、選択した前記データにアクセスする前記モジュールの識別子を前記情報保持手段から抽出して出力する影響範囲分析手段、を備えるソフトウェア資産管理装置。
Information holding means for storing an identifier of data accessed by the module and an access type indicating whether the access is created, deleted, updated, or referenced in association with a module constituting a business system Connected to
The range of influence in which the data to be created, deleted, or updated is selected from the data accessed by the specified module, and the identifier of the module that accesses the selected data is extracted from the information holding means and output. A software asset management device comprising an analysis means.
前記影響範囲分析手段は、指定された前記モジュールの修正により、当該モジュールによる、指定された前記データに対する作成、消去または更新の前記アクセスの追加または削除の通知を受けた場合に、指定された前記データに前記アクセスをする前記モジュールを前記情報保持手段から抽出して出力する一方、指定された前記データに対する参照の前記アクセスの追加または削除のみの修正である通知を受けた場合は、前記情報保持手段からの抽出を行わない、請求項1のソフトウェア資産管理装置。   The influence range analysis means receives the notification of addition or deletion of the access of creation, deletion or update of the specified data by the module due to the modification of the specified module. The module that performs the access to the data is extracted from the information holding means and output, while the information holding is performed when the notification is a modification only for the addition or deletion of the access to the specified data. The software asset management apparatus according to claim 1, wherein no extraction from means is performed. 前記情報保持手段は、さらに、前記業務システムから前記モジュールに至る構成要素の階層構造を示す階層関係情報を記憶し、
前記階層関係情報から、前記響範囲分析手段が抽出した前記モジュールの前記階層構造における上位の前記構成要素を抽出して出力する上位下位関係分析手段を、さらに備える請求項1乃至請求項2の何れか1項のソフトウェア資産管理装置。
The information holding means further stores hierarchical relationship information indicating a hierarchical structure of components from the business system to the module,
3. The high-order / low-order relationship analysis means for extracting and outputting the high-order component in the hierarchical structure of the module extracted by the sound range analysis means from the hierarchy relation information. 2. The software asset management device according to item 1.
前記業務システムを構成する前記モジュールのソースソースプログラムから、当該モジュールが前記アクセスをする前記データの前記識別子と、前記アクセス種別を抽出して、前記情報保持手段に格納する、アクセス種別入力手段を、さらに備える請求項1乃至請求項3の何れか1項のソフトウェア資産管理装置。   An access type input unit that extracts the identifier of the data that the module accesses and the access type from the source source program of the module that constitutes the business system, and stores the access type in the information holding unit. The software asset management device according to any one of claims 1 to 3, further comprising: 前記情報保持手段と、
請求項1乃至請求項4の何れか1項のソフトウェア資産管理装置と、を包含するソフトウェア資産管理システム
The information holding means;
A software asset management system comprising the software asset management device according to any one of claims 1 to 4.
業務システムを構成するモジュールに関連付けて、前記モジュールがアクセスをするデータの識別子と、前記アクセスが作成、消去、更新、または、参照の何れであるかを示すアクセス種別と、を記憶する情報保持手段を参照して、
指定された前記モジュールがアクセスする前記データのうち、作成、消去、または、更新するものを選択し、選択した前記データにアクセスする前記モジュールの識別子を前記情報保持手段から抽出して出力するソフトウェア資産管理方法。
Information holding means for storing an identifier of data accessed by the module and an access type indicating whether the access is created, deleted, updated, or referenced in association with a module constituting a business system See
Software assets for selecting the data to be created, deleted or updated from the data accessed by the specified module, and extracting and outputting the identifier of the module accessing the selected data from the information holding means Management method.
指定された前記モジュールの修正により、当該モジュールによる、指定された前記データに対する作成、消去または更新の前記アクセスの追加または削除の通知を受けた場合に、指定された前記データに前記アクセスをする前記モジュールを前記情報保持手段から抽出して出力する一方、指定された前記データに対する参照の前記アクセスの追加または削除のみの修正である通知を受けた場合は、前記情報保持手段からの抽出を行わない、請求項6のソフトウェア資産管理方法。   The modification of the specified module causes the access to the specified data when the module receives notification of addition or deletion of the access to create, delete or update the specified data. When a module is extracted from the information holding means and output, and when a notification is received that only corrects the addition or deletion of the access to the specified data, the extraction from the information holding means is not performed. The software asset management method according to claim 6. 前記情報保持手段は、さらに、前記業務システムから前記モジュールに至る構成要素の階層構造を示す階層関係情報を記憶し、
前記階層関係情報から、前記響範囲分析手段が抽出した前記モジュールの前記階層構造における上位の前記構成要素を抽出して出力する請求項6乃至請求項7の何れか1項のソフトウェア資産管理方法。
The information holding means further stores hierarchical relationship information indicating a hierarchical structure of components from the business system to the module,
The software asset management method according to any one of claims 6 to 7, wherein the higher-order component in the hierarchical structure of the module extracted by the sound range analysis means is extracted from the hierarchical relationship information and output.
前記業務システムを構成する前記モジュールのソースソースプログラムから、当該モジュールが前記アクセスをする前記データの前記識別子と、前記アクセス種別を抽出して、前記情報保持手段に格納する、請求項6乃至請求項8の何れか1項のソフトウェア資産管理方法。   7. The identifier of the data accessed by the module and the access type are extracted from the source source program of the module constituting the business system, and stored in the information holding unit. 9. The software asset management method according to any one of items 8. 業務システムを構成するモジュールに関連付けて、前記モジュールがアクセスをするデータの識別子と、前記アクセスが作成、消去、更新、または、参照の何れであるかを示すアクセス種別と、を記憶する情報保持手段に接続されたコンピュータに、
指定された前記モジュールがアクセスする前記データのうち、作成、消去、または、更新するものを選択し、選択した前記データにアクセスする前記モジュールの識別子を前記情報保持手段から抽出して出力する影響範囲分析処理を実行させる、ソフトウェア資産管理プログラム。
Information holding means for storing an identifier of data accessed by the module and an access type indicating whether the access is created, deleted, updated, or referenced in association with a module constituting a business system On a computer connected to
The range of influence in which the data to be created, deleted, or updated is selected from the data accessed by the specified module, and the identifier of the module that accesses the selected data is extracted from the information holding means and output. Software asset management program that executes analysis processing.
JP2016160000A 2016-08-17 2016-08-17 Software asset management device, software asset management method, and software asset management program Active JP6737063B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016160000A JP6737063B2 (en) 2016-08-17 2016-08-17 Software asset management device, software asset management method, and software asset management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160000A JP6737063B2 (en) 2016-08-17 2016-08-17 Software asset management device, software asset management method, and software asset management program

Publications (2)

Publication Number Publication Date
JP2018028776A true JP2018028776A (en) 2018-02-22
JP6737063B2 JP6737063B2 (en) 2020-08-05

Family

ID=61249126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160000A Active JP6737063B2 (en) 2016-08-17 2016-08-17 Software asset management device, software asset management method, and software asset management program

Country Status (1)

Country Link
JP (1) JP6737063B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019215686A (en) * 2018-06-12 2019-12-19 株式会社富士通アドバンストエンジニアリング Generation program, generation method and information processing device
JP7356013B2 (en) 2019-10-21 2023-10-04 富士通株式会社 Information presentation program, information presentation device, and information presentation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04260925A (en) * 1990-10-17 1992-09-16 Hitachi Ltd Design information extraction system based upon data center approach
JPH10340188A (en) * 1997-06-06 1998-12-22 Nec Corp Automatic preparing device of file updated item related graphic
US20060053414A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Generating sequence diagrams using call trees
JP2016076080A (en) * 2014-10-06 2016-05-12 三菱電機株式会社 Source code analyzing apparatus, source code analyzing method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04260925A (en) * 1990-10-17 1992-09-16 Hitachi Ltd Design information extraction system based upon data center approach
JPH10340188A (en) * 1997-06-06 1998-12-22 Nec Corp Automatic preparing device of file updated item related graphic
US20060053414A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Generating sequence diagrams using call trees
JP2016076080A (en) * 2014-10-06 2016-05-12 三菱電機株式会社 Source code analyzing apparatus, source code analyzing method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019215686A (en) * 2018-06-12 2019-12-19 株式会社富士通アドバンストエンジニアリング Generation program, generation method and information processing device
JP7155636B2 (en) 2018-06-12 2022-10-19 富士通株式会社 Generation program, generation method and information processing device
JP7356013B2 (en) 2019-10-21 2023-10-04 富士通株式会社 Information presentation program, information presentation device, and information presentation method

Also Published As

Publication number Publication date
JP6737063B2 (en) 2020-08-05

Similar Documents

Publication Publication Date Title
US11163731B1 (en) Autobuild log anomaly detection methods and systems
US7886028B2 (en) Method and system for system migration
US20240069967A1 (en) Pipeline task verification for a data processing platform
US20130185086A1 (en) Generation of sales leads using customer problem reports
US8965797B2 (en) Explosions of bill-of-materials lists
WO2016063502A1 (en) Knowledge management device, knowledge management method, and program recording medium
JP6048957B2 (en) Information processing apparatus, program, and information processing method
US10241899B2 (en) Test input information search device and method
US20190220549A1 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
JP6737063B2 (en) Software asset management device, software asset management method, and software asset management program
JP2005122560A (en) Program for detecting deadlock beforehand
US8392892B2 (en) Method and apparatus for analyzing application
US11029923B2 (en) Technical building block
CN110019182B (en) Data tracing method and device
US8892951B2 (en) Fault localization for data-centric programs
US20220374340A1 (en) Techniques for decoupled management of software test execution planning and corresponding software test execution runs
US20220374341A1 (en) Techniques for decoupled management of software test execution planning and corresponding software test execution runs
US20220374342A1 (en) Techniques for decoupled management of software test execution planning and corresponding software test execution runs
JP6336919B2 (en) Source code review method and system
JP6695847B2 (en) Software parts management system, computer
JP2020038482A (en) Program verification program, program verification method and program verification device
JP5970882B2 (en) Configuration information management device, configuration information management program
US20240104462A1 (en) Supply chain management system and supply chain management method
US20230143297A1 (en) Production knowledge management system, production knowledge management method, and production knowledge management program
CN106293897A (en) Assembly automatic dispatching system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200629

R150 Certificate of patent or registration of utility model

Ref document number: 6737063

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150