JP2019133541A - Separation method, separation apparatus and separation program - Google Patents

Separation method, separation apparatus and separation program Download PDF

Info

Publication number
JP2019133541A
JP2019133541A JP2018016936A JP2018016936A JP2019133541A JP 2019133541 A JP2019133541 A JP 2019133541A JP 2018016936 A JP2018016936 A JP 2018016936A JP 2018016936 A JP2018016936 A JP 2018016936A JP 2019133541 A JP2019133541 A JP 2019133541A
Authority
JP
Japan
Prior art keywords
data
program
service component
programs
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018016936A
Other languages
Japanese (ja)
Other versions
JP7104297B2 (en
Inventor
学 上村
Manabu Kamimura
学 上村
昭彦 松尾
Akihiko Matsuo
昭彦 松尾
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018016936A priority Critical patent/JP7104297B2/en
Publication of JP2019133541A publication Critical patent/JP2019133541A/en
Application granted granted Critical
Publication of JP7104297B2 publication Critical patent/JP7104297B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To enable appropriately separating data accessed by a plurality of tasks from a target system.SOLUTION: A processing unit 1b identifies first data accessed to a first program of a target system 2 and second data accessed to a second program of the system 2. The processing unit 1b outputs the data accessed to both of the first program and the second program as common data referenced or updated by a plurality of tasks.SELECTED DRAWING: Figure 1

Description

本発明は分離方法、分離装置および分離プログラムに関する。   The present invention relates to a separation method, a separation apparatus, and a separation program.

現在、様々な情報処理を行うコンピュータシステムが利用されている。コンピュータシステムは、プログラムを実行することで、プログラムに応じた所定の機能を実現する。コンピュータシステムでは、多数のプログラムやデータが利用され得る。幾つかのプログラム同士が連携して、1つの機能を実現することもある。   Currently, computer systems that perform various types of information processing are used. The computer system implements a predetermined function corresponding to the program by executing the program. In a computer system, a large number of programs and data can be used. Several programs may cooperate to realize one function.

また、コンピュータシステムの運用では、既存のプログラムの修正や既存の機能の他のコンピュータシステムへの移行が行われることもある。この場合、修正や移行の対象となる機能に関連のあるプログラムやデータを抽出し、抽出したプログラム、当該プログラムに関連する他のプログラムやデータに対して修正や移行の作業を行うことになる。しかし、利用されているプログラムやデータの数が多くプログラム間の関連が複雑であるほど、互いに関連性のあるプログラムやデータを見出すことは容易ではない。   In the operation of a computer system, an existing program may be modified or an existing function may be transferred to another computer system. In this case, a program or data related to the function to be corrected or transferred is extracted, and the extracted program or other program or data related to the program is corrected or transferred. However, the more programs and data that are used and the more complicated the relationships between programs, the more difficult it is to find programs and data that are related to each other.

そこで、例えば、ソフトウェアをその構成要素となるエンティティの集合として扱い、ソフトウェアの理解が容易な程度の部分集合(例えば、機能、タスクおよび業務などに沿ったクラスタ)に分割する分割装置の提案がある。分割装置は、関係元/関係先のエンティティを対応付けた対応情報をソフトウェアのソースコードから抽出し、対応情報により特定される依存関係に関する重みに基づいて、重みの合計が期待値よりも高くなるようにエンティティ群を複数のクラスタに分割する。   Therefore, for example, there is a proposal of a dividing device that treats software as a set of entities that are constituent elements and divides the software into subsets (for example, clusters according to functions, tasks, tasks, etc.) that are easy to understand the software. . The dividing apparatus extracts correspondence information in which the relation source / relationship destination entities are associated from the software source code, and based on the weight related to the dependency specified by the correspondence information, the total weight becomes higher than the expected value. Thus, the entity group is divided into a plurality of clusters.

特開2013−148987号公報JP2013-148987A

上記のように、エンティティ(例えば、プログラムやデータ)間の依存関係の重みの合計が期待値よりも高くなるようにエンティティ群を複数の単位(例えば、業務単位のクラスタ)に分割する方法が考えられる。この方法では、分割の結果、コンピュータシステムの処理に用いられるデータは、当該データとの関連性が比較的強いプログラムとともに、何れかの分割単位に含まれることになる。すると、例えば、当該データと、比較的関連性の強い単一の業務との関係が分かり易くなる一方、当該データと他の業務との関連性を把握し難くなるという問題がある。   As described above, there is a method of dividing an entity group into a plurality of units (for example, clusters of business units) so that the sum of dependency weights between entities (for example, programs and data) is higher than an expected value. It is done. In this method, as a result of the division, data used for processing of the computer system is included in one of the division units together with a program having a relatively strong relationship with the data. Then, for example, there is a problem that it becomes difficult to understand the relationship between the data and another business while the relationship between the data and a single business with a relatively strong relationship is easy to understand.

1つの側面では、本発明は、複数の業務によりアクセスされるデータを対象のシステムから適切に分離可能にすることを目的とする。   In one aspect, an object of the present invention is to appropriately separate data accessed by a plurality of tasks from a target system.

1つの態様では、対象のシステムから業務ごとの対応するデータを分離する分離方法が提供される。この分離方法では、コンピュータが、対象のシステムの第1のプログラムにアクセスされる第1のデータと、対象のシステムの第2のプログラムにアクセスされる第2のデータとを特定し、第1のプログラムおよび第2のプログラムの両方にアクセスされるデータを、複数の業務から参照される、または、更新される共通データとして出力する。   In one aspect, a separation method is provided for separating corresponding data for each business from a target system. In this separation method, the computer identifies first data accessed by the first program of the target system and second data accessed by the second program of the target system, and the first data Data accessed by both the program and the second program is output as common data that is referred to or updated from a plurality of tasks.

1つの側面では、複数の業務によりアクセスされるデータを対象のシステムから適切に分離可能になる。   In one aspect, data accessed by a plurality of tasks can be appropriately separated from the target system.

第1の実施の形態の分離装置を示す図である。It is a figure which shows the separation apparatus of 1st Embodiment. 第2の実施の形態の情報処理システムの例を示す図である。It is a figure which shows the example of the information processing system of 2nd Embodiment. 分析サーバのハードウェア例を示す図である。It is a figure which shows the hardware example of an analysis server. 分析サーバの機能例を示す図である。It is a figure which shows the function example of an analysis server. プログラム資産の例を示す図である。It is a figure which shows the example of a program asset. プログラムの呼出構造の例を示す図である。It is a figure which shows the example of the calling structure of a program. サービス部品候補の生成例を示す図である。It is a figure which shows the example of a production | generation of a service component candidate. サービス部品候補の生成結果の例を示す図である。It is a figure which shows the example of the production | generation result of a service component candidate. サービス部品および共通データの分類結果の例を示す図である。It is a figure which shows the example of the classification result of a service component and common data. 準サービス部品の分類結果の例を示す図である。It is a figure which shows the example of the classification result of a semi-service component. 準サービス部品の分類結果の例(続き)を示す図である。It is a figure which shows the example (continuation) of the classification | category result of a semi-service component. 分析サーバの処理例を示すフローチャートである。It is a flowchart which shows the process example of an analysis server. プログラム解析の処理例を示すフローチャートである。It is a flowchart which shows the process example of a program analysis. 共通データ抽出の処理例を示すフローチャートである。It is a flowchart which shows the example of a process of common data extraction. サービス部品分類の処理例を示すフローチャートである。It is a flowchart which shows the process example of a service component classification. 分類結果の表示例(その1)を示す図である。It is a figure which shows the example of a display of a classification result (the 1). 分類結果の表示例(その2)を示す図である。It is a figure which shows the example of a display of a classification result (the 2). 分類の比較例を示す図である。It is a figure which shows the comparative example of a classification | category. 分析サーバによる分類の例を示す図である。It is a figure which shows the example of the classification | category by an analysis server. 既存システムの一部機能の移行例を示す図である。It is a figure which shows the example of a transfer of the one part function of the existing system.

以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の分離装置を示す図である。分離装置1は、システム2に接続されている。分離装置1は、ネットワークを介してシステム2に接続されてもよい。システム2は、ユーザの業務に関する処理を行う様々なプログラムを実行する。1以上のプログラムが、互いに連携し、また、業務に関する1以上のデータ要素にアクセスして、当該業務に関する処理を実現する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a separation apparatus according to a first embodiment. The separation device 1 is connected to the system 2. The separation device 1 may be connected to the system 2 via a network. The system 2 executes various programs that perform processing related to the user's business. One or more programs cooperate with each other and access one or more data elements related to the business to realize processing related to the business.

システム2で用いられる複数のプログラムやデータ要素の集合をプログラム資産と称する。例えば、プログラム資産は、プログラムX,Y,・・・およびデータ要素d1,d2,・・・を含む。例えば、プログラムXには、業務A1の処理が記述されている。また、プログラムYには、業務A2の処理が記述されている。プログラムX,Y,・・・それぞれが、複数のプログラムの集合体(例えば、あるプログラムが他のプログラムを呼び出すという呼出関係で関連付けられるプログラム群)でもよい。また、「業務」という単位は、機能、サービス部品またはソフトウェア部品などと呼ばれてもよい。また、分離装置1は、表示装置3にも接続されている。表示装置3は、分離装置1から受信した情報の内容を表示する。   A set of a plurality of programs and data elements used in the system 2 is called a program asset. For example, the program assets include programs X, Y,... And data elements d1, d2,. For example, the program X describes the processing of the business A1. Further, the program Y describes the processing of the business A2. Each of the programs X, Y,... May be an aggregate of a plurality of programs (for example, a group of programs associated with each other by a calling relationship in which a certain program calls another program). The unit of “business” may be called a function, service component, software component, or the like. The separation device 1 is also connected to the display device 3. The display device 3 displays the content of information received from the separation device 1.

分離装置1は、分析の対象のシステム(例えば、システム2)から業務ごとの対応するデータを分離する機能(あるいは、業務ごとの対応するデータを分類する機能)を提供する。分離装置1は、記憶部1aおよび処理部1bを有する。   The separation device 1 provides a function of separating corresponding data for each business from a system to be analyzed (for example, the system 2) (or a function for classifying corresponding data for each business). The separation device 1 includes a storage unit 1a and a processing unit 1b.

記憶部1aは、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性のストレージでもよい。処理部1bは、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、処理部1bは、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部1aでもよい)に記憶されたプログラムを実行する。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うこともある。   The storage unit 1a may be a volatile semiconductor memory such as a RAM (Random Access Memory) or a non-volatile storage such as an HDD (Hard Disk Drive) or a flash memory. The processing unit 1b is, for example, a processor such as a CPU (Central Processing Unit) or a DSP (Digital Signal Processor). However, the processing unit 1b may include an electronic circuit for a specific purpose such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The processor executes a program stored in a memory such as a RAM (or the storage unit 1a). A set of processors may be referred to as “multiprocessor” or simply “processor”.

記憶部1aは、システム2に記憶されたプログラム資産の全部または一部の複製を記憶する。例えば、記憶部1aは、処理部1bの処理に用いられる一部のプログラム資産を記憶してもよい。   The storage unit 1a stores a copy of all or part of the program assets stored in the system 2. For example, the storage unit 1a may store some program assets used for the processing of the processing unit 1b.

処理部1bは、対象のシステムの第1のプログラムにアクセスされる第1のデータと、対象のシステムの第2のプログラムにアクセスされる第2のデータとを特定する。アクセスとは、該当のプログラムによるデータの参照または更新である。   The processing unit 1b specifies first data accessed by the first program of the target system and second data accessed by the second program of the target system. Access is the reference or update of data by the corresponding program.

例えば、データ集合D1は、プログラム資産におけるデータ要素の全体である。処理部1bは、システム2のプログラムX(第1のプログラム)のコードを解析し、当該コードからプログラムXによりアクセスされるデータ要素d1,d2,d3,d4,d5をデータ集合D1から特定する。第1のデータセットD11は、データ要素d1,d2,d3,d4,d5を要素とする集合である。第1のデータセットD11は、プログラムX(第1のプログラム)にアクセスされるデータ(第1のデータ)である。   For example, the data set D1 is the entire data element in the program asset. The processing unit 1b analyzes the code of the program X (first program) of the system 2, and specifies the data elements d1, d2, d3, d4, and d5 accessed by the program X from the code from the data set D1. The first data set D11 is a set having data elements d1, d2, d3, d4, and d5 as elements. The first data set D11 is data (first data) accessed by the program X (first program).

また、処理部1bは、システム2のプログラムY(第2のプログラム)のコードを解析し、当該コードからプログラムYによりアクセスされるデータ要素d4,d5,d6,d7,d8をデータ集合D1から特定する。第2のデータセットD12は、データ要素d4,d5,d6,d7,d8を要素とする集合である。第2のデータセットD12は、プログラムY(第2のプログラム)にアクセスされるデータ(第2のデータ)である。   Further, the processing unit 1b analyzes the code of the program Y (second program) of the system 2 and identifies the data elements d4, d5, d6, d7, and d8 accessed by the program Y from the code from the data set D1. To do. The second data set D12 is a set having data elements d4, d5, d6, d7, and d8 as elements. The second data set D12 is data (second data) accessed by the program Y (second program).

処理部1bは、第1のプログラムおよび第2のプログラムの両方にアクセスされるデータを、複数の業務から参照される、または、更新される共通データとして出力する。上記の例では、第1のデータセットD11および第2のデータセットD12の両方に属するデータ要素が、第1のプログラムおよび第2のプログラムの両方にアクセスされるデータである。このため、処理部1bは、第1のデータセットD11および第2のデータセットD12の両方に属するデータ要素を、複数の業務から参照される、または、更新される共通データとして出力してもよい。   The processing unit 1b outputs data accessed by both the first program and the second program as common data that is referred to or updated by a plurality of tasks. In the above example, data elements belonging to both the first data set D11 and the second data set D12 are data accessed by both the first program and the second program. Therefore, the processing unit 1b may output data elements belonging to both the first data set D11 and the second data set D12 as common data that is referred to or updated by a plurality of tasks. .

例えば、処理部1bは、第1のデータセットD11と第2のデータセットD12とを比較することで、プログラムX,Yの両方によりアクセスされるデータ要素d4,d5を特定する。そして、処理部1bは、データ要素d4,d5をプログラムXに対応する業務およびプログラムYに対応する業務から参照される、または、更新される共通データと判定する。処理部1bは、データ要素d4を示す情報およびデータ要素d5を示す情報(例えば、データ要素d4の識別情報およびデータ要素d5の識別情報)を、共通データを示す情報として出力する。   For example, the processing unit 1b identifies the data elements d4 and d5 accessed by both the programs X and Y by comparing the first data set D11 and the second data set D12. Then, the processing unit 1b determines that the data elements d4 and d5 are common data that is referred to or updated from the business corresponding to the program X and the business corresponding to the program Y. The processing unit 1b outputs information indicating the data element d4 and information indicating the data element d5 (for example, identification information of the data element d4 and identification information of the data element d5) as information indicating common data.

また、処理部1bは、第1のデータセットD11の中で、プログラムX,YのうちプログラムXからのみ更新されるデータ要素d1,d2,d3を、プログラムXの固有データと判定してもよい。そして、処理部1bは、当該固有データを示す情報(例えば、データ要素d1,d2,d3それぞれの識別情報)を出力してもよい。   Further, the processing unit 1b may determine that the data elements d1, d2, and d3 that are updated only from the program X in the first data set D11 are the unique data of the program X. . Then, the processing unit 1b may output information indicating the specific data (for example, identification information of each of the data elements d1, d2, and d3).

また、処理部1bは、第2のデータセットD12の中で、プログラムX,YのうちプログラムYからのみ更新されるデータ要素d6,d7,d8を、プログラムYの固有データと判定してもよい。そして、処理部1bは、当該固有データを示す情報(例えば、データ要素d6,d7,d8それぞれの識別情報)を出力してもよい。   Further, the processing unit 1b may determine that the data elements d6, d7, and d8 that are updated only from the program Y among the programs X and Y in the second data set D12 are unique data of the program Y. . Then, the processing unit 1b may output information indicating the specific data (for example, identification information of each of the data elements d6, d7, and d8).

出力画面4は、分離装置1により出力される画面の一例である。表示装置3は、分離装置1から出力画面4の情報を受信し、出力画面4を表示する。出力画面4は、画面部品4a,4b,4cを有する。   The output screen 4 is an example of a screen output by the separation device 1. The display device 3 receives the information on the output screen 4 from the separation device 1 and displays the output screen 4. The output screen 4 has screen components 4a, 4b, and 4c.

画面部品4aは、プログラムXとデータ要素d1,d2,d3(固有データ)とを示すアイコンを一単位にまとめて表示するための画像である。処理部1bは、プログラムXおよびデータ要素d1,d2,d3により実現される業務名(例えば、「業務A1」)や該当の業務に関連する語句などをプログラムXのソースコード(例えば、コメントの記述)などから抽出して画面部品4aに含めてもよい。   The screen component 4a is an image for collectively displaying icons indicating the program X and the data elements d1, d2, and d3 (unique data) as one unit. The processing unit 1b displays the business name (for example, “business A1”) realized by the program X and the data elements d1, d2, and d3, the words / phrases related to the corresponding business, etc. ) And the like may be included in the screen component 4a.

画面部品4bは、プログラムYとデータ要素d6,d7,d8(固有データ)とを示すアイコンを一単位にまとめて表示するための画像である。処理部1bは、プログラムYおよびデータ要素d6,d7,d8により実現される業務名(例えば、「業務A2」)や該当の業務に関連する語句などをプログラムYのソースコード(例えば、コメントの記述)などから抽出して画面部品4bに含めてもよい。   The screen component 4b is an image for collectively displaying icons indicating the program Y and the data elements d6, d7, d8 (unique data) in one unit. The processing unit 1b displays the business name (for example, “business A2”) realized by the program Y and the data elements d6, d7, and d8, the words related to the business, etc. ) Etc. and may be included in the screen component 4b.

画面部品4cは、プログラムX,Yの両方から参照、または、更新されるデータ要素d4,d5を示すアイコンを一単位にまとめて表示するための画像である。画面部品4cは、画面部品4a,4bの領域とは重複しない領域に表示される。   The screen component 4c is an image for collectively displaying icons indicating the data elements d4 and d5 to be referred to or updated from both the programs X and Y as one unit. The screen component 4c is displayed in an area that does not overlap with the areas of the screen components 4a and 4b.

出力画面4では、プログラムがデータにアクセス(参照/更新)するという関係性を矢印によって表している。すなわち、ユーザは、出力画面4により下記の内容を把握可能である。プログラムXは、固有データに分類されるデータ要素d1,d2,d3にアクセスする。プログラムXは、共通データに分類されるデータ要素d4,d5にアクセスする。プログラムYは、固有データに分類されるデータ要素d6,d7,d8にアクセスする。プログラムYは、共通データに分類されるデータ要素d4,d5にアクセスする。   In the output screen 4, the relationship that the program accesses (refers to / updates) the data is indicated by an arrow. That is, the user can grasp the following contents on the output screen 4. The program X accesses data elements d1, d2, and d3 classified as unique data. The program X accesses the data elements d4 and d5 classified as common data. The program Y accesses the data elements d6, d7, d8 classified as unique data. The program Y accesses the data elements d4 and d5 classified as common data.

分離装置1によれば、対象のシステムの第1のプログラムにアクセスされるデータと、対象のシステムの第2のプログラムにアクセスされるデータとが特定される。そして、分離装置1により、第1のプログラムおよび第2のプログラムの両方にアクセスされるデータが、複数の業務から参照される、または、更新される共通データとして出力される。   According to the separation device 1, data accessed by the first program of the target system and data accessed by the second program of the target system are specified. Then, the data accessed by both the first program and the second program is output as common data that is referred to or updated from a plurality of tasks by the separation device 1.

これにより、複数の業務によりアクセスされるデータを対象のシステムから適切に分離可能になる。
ここで、例えば、エンティティ(例えば、プログラムやデータ)間の依存関係の重みの合計が期待値よりも高くなるようにエンティティ群を複数の単位(例えば、業務単位のクラスタ)に分割する方法が考えられる。この方法では、分割の結果、システムの処理に用いられるデータは、当該データとの関連性が比較的強いプログラムとともに、何れかの分割単位に含まれることになる。すると、例えば、当該データと、比較的関連性の強い単一の業務との関係が分かり易くなる一方、当該データと他の業務との関連性を把握し難くなる。
Thereby, data accessed by a plurality of tasks can be appropriately separated from the target system.
Here, for example, a method of dividing an entity group into a plurality of units (for example, clusters of business units) so that the sum of dependency weights between entities (for example, programs and data) becomes higher than an expected value is considered. It is done. In this method, as a result of the division, data used for system processing is included in one of the division units together with a program having a relatively strong relationship with the data. Then, for example, while it becomes easy to understand the relationship between the data and a single business having a relatively strong relationship, it is difficult to grasp the relationship between the data and another business.

一方、分離装置1によれば、第1のプログラムおよび第2のプログラムの両方にアクセスされるデータを共通データと判定し、共通データを示す情報を出力するので、その出力内容により複数の業務にアクセスされる共通データを適切に把握可能になる。その結果、共通データを介して関連付けられる複数のプログラムを一単位とする業務(あるいは複数の業務をひとまとめにした機能)をシステム2から抽出することも可能になる。   On the other hand, according to the separating apparatus 1, data accessed by both the first program and the second program is determined as common data, and information indicating the common data is output. It becomes possible to appropriately grasp the common data to be accessed. As a result, it is possible to extract from the system 2 a task (or a function in which a plurality of tasks are grouped together) having a plurality of programs associated through the common data as a unit.

すると、例えば、ユーザは、当該複数のプログラムに属するあるプログラムの修正を行う場合に、当該プログラムと共通データを介して関連付けられる他のプログラムを、影響が及ぶ可能性のあるプログラムとして特定することができる。すなわち、プログラムの修正に伴って影響が及ぶ可能性のある別のプログラムを適切に把握可能になる。   Then, for example, when correcting a certain program belonging to the plurality of programs, the user may specify another program associated with the program through common data as a program that may be affected. it can. That is, it becomes possible to appropriately grasp another program that may be affected by the modification of the program.

あるいは、分離装置1は、関連のある複数のプログラムおよび共通データに対応する一部の業務をシステム2から分離させ、別のシステムに移行させることも可能になる。すなわち、システム2内の一部の業務のプログラムについて、他の業務のプログラムへの影響を抑えて別のシステムに移行させることも可能になる。   Alternatively, the separating apparatus 1 can separate a part of work corresponding to a plurality of related programs and common data from the system 2 and transfer it to another system. That is, a part of business programs in the system 2 can be transferred to another system while suppressing the influence on other business programs.

このように、分離装置1によれば、複雑に関連し合う多くのプログラムが存在する場合でも、共通データおよび共通データを基に関連する複数のプログラムを適切に分離可能になる。   As described above, according to the separating apparatus 1, even when there are many complicatedly related programs, the common data and a plurality of related programs can be appropriately separated based on the common data.

[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムの例を示す図である。第2の実施の形態の情報処理システムは、分析サーバ100および業務サーバ200を含む。分析サーバ100および業務サーバ200は、ネットワーク10に接続されている。ネットワーク10は、例えば、LAN(Local Area Network)である。ネットワーク10は、ネットワーク20に接続されている。ネットワーク20は、例えば、インターネットなどの広域データ通信ネットワークである。ネットワーク20には、移行先サーバ300が接続されている。
[Second Embodiment]
FIG. 2 is a diagram illustrating an example of an information processing system according to the second embodiment. The information processing system according to the second embodiment includes an analysis server 100 and a business server 200. The analysis server 100 and the business server 200 are connected to the network 10. The network 10 is, for example, a LAN (Local Area Network). The network 10 is connected to the network 20. The network 20 is a wide area data communication network such as the Internet, for example. A migration destination server 300 is connected to the network 20.

分析サーバ100は、業務サーバ200で実行されるソフトウェアの分析を行うサーバコンピュータである。ソフトウェアは、多数のプログラムやデータから構成される。一方、ソフトウェアにより実現される業務処理の機能は多岐に渡る。プログラムおよびデータは、業務単位にグループ化可能である。プログラム(またはプログラム群)およびデータを機能単位にグループ化したものをサービス部品と呼ぶこととする。   The analysis server 100 is a server computer that analyzes software executed on the business server 200. Software is composed of a large number of programs and data. On the other hand, business processing functions realized by software are diverse. Programs and data can be grouped into business units. A program (or program group) and data grouped into functional units are called service components.

プログラムおよびデータのグループ化(サービス部品化)は、ソフトウェアの一部修正や一部業務機能の他サーバへの移転などを行う上で有用である。例えば、ある業務に関して関連性のあるプログラムやデータを対象に修正を行うことで、当該業務以外のプログラムやデータに対する影響を抑えられる。   Program and data grouping (service componentization) is useful for partially modifying software and transferring some business functions to other servers. For example, by modifying a program or data relevant to a certain business, the influence on the program or data other than the business can be suppressed.

しかし、業務サーバ200により実行されるソフトウェアを構成する各プログラムは、複雑に関連し合っており、ユーザが、プログラム間の関連を事後的に把握することは容易ではない。そこで、分析サーバ100は、当該ソフトウェアを構成するプログラムやデータを業務別に分類し、ユーザに提示する機能を提供する。分析サーバ100は、第1の実施の形態の分離装置1の一例である。   However, the programs constituting the software executed by the business server 200 are intricately related to each other, and it is not easy for the user to grasp the relationship between the programs afterwards. Therefore, the analysis server 100 provides a function of classifying programs and data constituting the software according to business and presenting them to the user. The analysis server 100 is an example of the separation device 1 according to the first embodiment.

業務サーバ200は、ユーザの業務に関する処理を行うサーバコンピュータである。業務サーバ200の処理は、業務サーバ200で実行されるソフトウェアにより実現される。業務サーバ200は、第1の実施の形態のシステム2の一例である。業務サーバ200は、第1の実施の形態のシステム2に属する1つのサーバコンピュータでもよい。   The business server 200 is a server computer that performs processing related to a user's business. The processing of the business server 200 is realized by software executed on the business server 200. The business server 200 is an example of the system 2 according to the first embodiment. The business server 200 may be one server computer belonging to the system 2 of the first embodiment.

移行先サーバ300は、業務サーバ200から分離された業務(あるいは、業務に対応するプログラムやデータ)の移行先のサーバコンピュータである。移行先サーバ300は、例えば、クラウドシステムによって実現される仮想的なコンピュータ(仮想マシン)でもよいし、オンプレミスシステムにおける物理的なコンピュータ(物理マシン)でもよい。   The migration destination server 300 is a server computer that is a migration destination of a business (or a program or data corresponding to the business) separated from the business server 200. The migration destination server 300 may be, for example, a virtual computer (virtual machine) realized by a cloud system or a physical computer (physical machine) in an on-premises system.

図3は、分析サーバのハードウェア例を示す図である。分析サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。各ハードウェアは分析サーバ100のバスに接続されている。業務サーバ200および移行先サーバ300も分析サーバ100と同様のハードウェアを用いて実現できる。   FIG. 3 is a diagram illustrating an example of hardware of the analysis server. The analysis server 100 includes a CPU 101, a RAM 102, an HDD 103, an image signal processing unit 104, an input signal processing unit 105, a medium reader 106, and a NIC (Network Interface Card) 107. Each piece of hardware is connected to the analysis server 100 bus. The business server 200 and the migration destination server 300 can also be realized using the same hardware as the analysis server 100.

CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、分析サーバ100は複数のプロセッサを有してもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。   The CPU 101 is a processor that executes program instructions. The CPU 101 loads at least a part of the program and data stored in the HDD 103 into the RAM 102 and executes the program. Note that the CPU 101 may include a plurality of processor cores. The analysis server 100 may include a plurality of processors, and the processes described below may be executed in parallel using a plurality of processors or processor cores. A set of processors may be referred to as “multiprocessor” or simply “processor”.

RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、分析サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。   The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used by the CPU 101 for calculations. The analysis server 100 may include a memory of a type other than the RAM, or may include a plurality of memories.

HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、分析サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。   The HDD 103 is a non-volatile storage device that stores an OS (Operating System), software programs such as middleware and application software, and data. The analysis server 100 may include other types of storage devices such as flash memory and SSD (Solid State Drive), and may include a plurality of nonvolatile storage devices.

画像信号処理部104は、CPU101からの命令に従って、分析サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11として、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。   The image signal processing unit 104 outputs an image to the display 11 connected to the analysis server 100 in accordance with a command from the CPU 101. As the display 11, a CRT (Cathode Ray Tube) display, a liquid crystal display, or the like can be used.

入力信号処理部105は、分析サーバ100に接続された入力デバイス12から入力信号を取得し、CPU101に出力する。入力デバイス12としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、分析サーバ100に、複数の種類の入力デバイスが接続されていてもよい。   The input signal processing unit 105 acquires an input signal from the input device 12 connected to the analysis server 100 and outputs it to the CPU 101. As the input device 12, a pointing device such as a mouse, a touch panel, a touch pad, a trackball, a keyboard, a remote controller, a button switch, or the like can be used. A plurality of types of input devices may be connected to the analysis server 100.

媒体リーダ106は、記録媒体13に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。   The medium reader 106 is a device that reads programs and data recorded on the recording medium 13. As the recording medium 13, for example, a magnetic disk, an optical disk, a magneto-optical disk (MO), a semiconductor memory, or the like can be used. Magnetic disks include flexible disks (FD: Flexible Disk) and HDDs. The optical disc includes a CD (Compact Disc) and a DVD (Digital Versatile Disc).

媒体リーダ106は、例えば、記録媒体13から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体13は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体13やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。   For example, the medium reader 106 copies a program or data read from the recording medium 13 to another recording medium such as the RAM 102 or the HDD 103. The read program is executed by the CPU 101, for example. The recording medium 13 may be a portable recording medium and may be used for distributing programs and data. In addition, the recording medium 13 and the HDD 103 may be referred to as computer-readable recording media.

NIC107は、ネットワーク10に接続され、ネットワーク10を介して業務サーバ200や移行先サーバ300などと通信を行う通信インタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。   The NIC 107 is a communication interface that is connected to the network 10 and communicates with the business server 200 and the migration destination server 300 via the network 10. The NIC 107 is connected to a communication device such as a switch or a router with a cable, for example.

図4は、分析サーバの機能例を示す図である。分析サーバ100は、記憶部110および制御部120を有する。記憶部110は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実装される。制御部120は、例えば、プログラムを用いて実装される。   FIG. 4 is a diagram illustrating a function example of the analysis server. The analysis server 100 includes a storage unit 110 and a control unit 120. The storage unit 110 is mounted using a storage area secured in the RAM 102 or the HDD 103, for example. The control unit 120 is implemented using a program, for example.

記憶部110は、制御部120の処理に用いられる各種の情報を記憶する。記憶部110は、プログラム記憶部111および分析結果記憶部112を有する。
プログラム記憶部111は、分析対象となるプログラム資産を記憶する。プログラム資産は、業務サーバ200で実行されるソフトウェアのプログラム(例えば、ソースプログラムやオブジェクトプログラム)を含む。
The storage unit 110 stores various types of information used for the processing of the control unit 120. The storage unit 110 includes a program storage unit 111 and an analysis result storage unit 112.
The program storage unit 111 stores program assets to be analyzed. The program assets include software programs (for example, source programs and object programs) executed on the business server 200.

分析結果記憶部112は、制御部120によるプログラム資産の分析結果を記憶する。例えば、分析結果記憶部112は、プログラムとデータとの関係を示す関連情報、サービス部品の候補であるサービス部品候補を示すサービス部品候補情報、特定したサービス部品を示すサービス部品情報を記憶する。また、分析結果記憶部112は、特定した共通データを示す共通部品情報や共通データによって関連付けられる準サービス部品を示す準サービス部品情報を記憶する。   The analysis result storage unit 112 stores the analysis result of the program asset by the control unit 120. For example, the analysis result storage unit 112 stores related information indicating a relationship between a program and data, service component candidate information indicating a service component candidate that is a service component candidate, and service component information indicating a specified service component. Further, the analysis result storage unit 112 stores common component information indicating the specified common data and quasi-service component information indicating a quasi-service component associated with the common data.

制御部120は、分析サーバ100によるプログラム資産の分析を制御する。制御部120は、分類部121、候補生成部122および分析部123を有する。
分類部121は、プログラムを解析し、プログラム間の呼出関係を取得する。分類部121は、プログラム間の呼出関係に基づいて、複数のプログラムをプログラム群に分類する。分類部121は、各プログラムの内、他のプログラムから呼び出されていない起点のプログラムを特定し、起点のプログラムおよび他のプログラムに含まれる呼出関係を追跡することで、プログラムの呼出構造を起点のプログラム毎に作成する。分類部121は、呼出構造に基づいて、呼出関係によって関連付けられたプログラムの集合(プログラム群)を特定する。分類部121は、プログラム群とデータとの関係を示す関連情報を生成し、分析結果記憶部112に格納する。
The control unit 120 controls analysis of program assets by the analysis server 100. The control unit 120 includes a classification unit 121, a candidate generation unit 122, and an analysis unit 123.
The classification unit 121 analyzes a program and acquires a call relationship between programs. The classification unit 121 classifies a plurality of programs into program groups based on the calling relationship between programs. The classifying unit 121 identifies a starting program that has not been called from other programs among the programs, and traces the calling structure of the program by tracking the calling relations included in the starting program and other programs. Create for each program. The classification unit 121 identifies a set of programs (a group of programs) associated with each other based on the calling relationship based on the calling structure. The classification unit 121 generates related information indicating the relationship between the program group and the data, and stores it in the analysis result storage unit 112.

候補生成部122は、分類部121によって分類された各プログラム群とデータとの関係性から、サービス部品候補を抽出する。候補生成部122は、サービス部品候補を示すサービス部品候補情報を生成し、分析結果記憶部112に格納する。   The candidate generation unit 122 extracts service component candidates from the relationship between each program group classified by the classification unit 121 and the data. The candidate generation unit 122 generates service component candidate information indicating service component candidates and stores the service component candidate information in the analysis result storage unit 112.

ここで、サービス部品候補は、比較的関連の強いプログラム群とデータとのグループであり、サービス部品の候補である。例えば、候補生成部122は、特開2013−148987号公報に記載されたクラスタリングの技術を用いて、サービス部品候補を生成してもよい。この技術では、部分集合が意味する役割を表すための本筋となる重要なエンティティとエンティティ間の依存関係とが、その部分集合に含まれることとする。そして、ソフトウェアの本筋の理解の妨げとなる枝葉末節のエンティティやエンティティ間の依存関係が、その部分集合を形成する際に軽視されることとする。重要か枝葉末節かの判断は、依存関係の数で判断される。   Here, the service component candidate is a group of relatively related programs and data, and is a service component candidate. For example, the candidate generation unit 122 may generate a service component candidate using a clustering technique described in JP2013-148987A. In this technology, it is assumed that an important entity that is a main line for expressing a role that a subset means and dependencies between the entities are included in the subset. Then, the branch and leaf end entities that hinder the understanding of the software's main line and the dependency relationships between entities are neglected when forming the subset. Whether it is important or not is determined by the number of dependencies.

このとき、候補生成部122は、あるデータに対して、プログラム群に記述されたRead/Writeのアクセス用のコードが多いほど、当該プログラム群と当該データとの関連が強いと判断してもよい。また、候補生成部122は、Writeのアクセスの重みを、Readのアクセスの重みより大きくしてもよい。   At this time, the candidate generation unit 122 may determine that the more the code for accessing Read / Write described in the program group for a certain data, the stronger the relation between the program group and the data. . Further, the candidate generation unit 122 may make the write access weight greater than the read access weight.

分析部123は、候補生成部122により生成されたサービス部品候補に基づいて、サービス部品および準サービス部品を取得する。分析部123は、あるサービス部品候補に関連するデータのうち、他のサービス部品候補からアクセスされるデータを共通データとして抽出する。共通データには2種類ある。複数のサービス部品候補からアクセスされ、少なくとも1つのサービス部品候補により更新される共通データは、グローバルデータと呼ばれる。また、複数のサービス部品候補からアクセスされ、何れのサービス部品候補にも更新されない共通データは、マスターデータと呼ばれる。   The analysis unit 123 acquires a service component and a semi-service component based on the service component candidate generated by the candidate generation unit 122. The analysis unit 123 extracts, as common data, data accessed from other service component candidates among data related to a certain service component candidate. There are two types of common data. Common data accessed from a plurality of service component candidates and updated by at least one service component candidate is called global data. Further, common data that is accessed from a plurality of service component candidates and is not updated by any service component candidate is referred to as master data.

分析部123は、共通データを、現在所属するサービス部品候補から除外する(共通データをグループ外部に出す)。共通データのサービス部品候補からの除外により、あるプログラム群と別のプログラム群との間の関連がなくなった場合、該当の各プログラム群のグループ化を解除する。分析部123は、ここでグループ化を解除されなかったサービス部品候補をサービス部品とする。   The analysis unit 123 excludes the common data from the service component candidates to which it currently belongs (puts the common data outside the group). When the association between a certain program group and another program group is lost due to the exclusion of the common data from the service component candidates, the grouping of each corresponding program group is canceled. The analysis unit 123 sets the service component candidates that have not been ungrouped here as service components.

ただし、共通データのみによって関連付けられる複数のプログラム群が存在する場合、分析部123は、当該複数のプログラム群と、当該共通データとを再度グループ化する。分析部123は、再度グループ化されたプログラム群および共通データのグループを、準サービス部品とする。   However, when there are a plurality of program groups associated only by the common data, the analysis unit 123 groups the plurality of program groups and the common data again. The analysis unit 123 sets the group of programs and the group of common data that are grouped again as a semi-service component.

分析部123は、サービス部品を示すサービス部品情報、準サービス部品を示す準サービス部品情報および共通データを示す共通データ情報を出力する。例えば、分析部123は、ディスプレイ11に当該出力内容を表示させてもよい。また、分析部123は、ネットワーク10に接続されたクライアントコンピュータに当該出力内容を送信し、クライアントコンピュータに当該出力内容を表示させてもよい。   The analysis unit 123 outputs service component information indicating service components, quasi-service component information indicating quasi-service components, and common data information indicating common data. For example, the analysis unit 123 may display the output content on the display 11. The analysis unit 123 may transmit the output content to a client computer connected to the network 10 and display the output content on the client computer.

ここで、分析部123は、サービス部品および準サービス部品を、移行先サーバ300への移行対象の単位として出力してもよい。例えば、ユーザは、サービス部品および準サービス部品の分類結果を確認することで、業務サーバ200から移行先サーバ300へ移行させるひとまとまりのプログラム群やデータを容易に特定可能になる。   Here, the analysis unit 123 may output the service component and the quasi-service component as a unit to be migrated to the migration destination server 300. For example, the user can easily identify a group of programs and data to be migrated from the business server 200 to the migration destination server 300 by confirming the classification result of the service component and the semi-service component.

図5は、プログラム資産の例を示す図である。分類部121は、プログラム記憶部111に記憶されたプログラム資産に基づいて、プログラム間の呼出関係を取得する。図5中、コマンド“CALL”は、他のプログラムの呼び出しを示す。コマンド“CALL”の引数は、呼出先のプログラムの識別名である。また、コマンド“READ”は、データの参照(READ)を示す。コマンド“READ”の引数は、参照元のデータの識別名である。更に、コマンド“WRITE”は、データの更新(WRITE)を示す。コマンド“WRITE”の引数は、更新先のデータの識別名である。   FIG. 5 is a diagram illustrating an example of program assets. The classification unit 121 acquires a call relationship between programs based on the program assets stored in the program storage unit 111. In FIG. 5, the command “CALL” indicates calling another program. The argument of the command “CALL” is the identification name of the called program. The command “READ” indicates data reference (READ). The argument of the command “READ” is the identification name of the reference source data. Further, the command “WRITE” indicates data update (WRITE). The argument of the command “WRITE” is an identification name of the update destination data.

例えば、プログラムAは、プログラムBおよびプログラムDを呼び出す。プログラムBは、プログラムCを呼び出す。プログラムCは、データaを参照する。プログラムDは、プログラムFを呼び出す。また、プログラムDは、データbを更新する。プログラムEは、プログラムDを呼び出す。プログラムFは、他のプログラムを呼び出さないし、データの参照/更新も行わない。   For example, program A calls program B and program D. Program B calls program C. The program C refers to the data a. Program D calls program F. Program D updates data b. Program E calls program D. The program F does not call other programs and does not refer to / update data.

なお、図5で示したプログラム資産は一例であり、プログラム資産は、他のプログラムを含み得る。
図6は、プログラムの呼出構造の例を示す図である。分類部121は、図5で例示したプログラム資産に対して、次のような呼出構造を作成する。プログラムA〜Fのうち、呼出元のプログラムがないプログラムは、プログラムA,Eである。したがって、分類部121は、プログラムA,Eそれぞれを起点として、プログラムの呼出構造を作成する。図6(A)は、呼出構造の具体例を示す。まず、プログラムAを起点とする場合を考える。
Note that the program assets shown in FIG. 5 are examples, and the program assets may include other programs.
FIG. 6 is a diagram illustrating an example of a program call structure. The classification unit 121 creates the following call structure for the program resource illustrated in FIG. Among the programs A to F, the programs having no calling source programs are programs A and E. Therefore, the classification unit 121 creates a program call structure starting from each of the programs A and E. FIG. 6A shows a specific example of a call structure. First, consider the case where program A is the starting point.

プログラムAを起点として、コマンド“CALL”の引数を辿ると、プログラムAがプログラムBを呼び出し、プログラムBがプログラムCを呼び出すという呼出構造を得られる。また、プログラムAがプログラムDを呼び出し、プログラムDがプログラムFを呼び出すという呼出構造を得られる。このため、分類部121は、プログラムAおよびプログラムAを起点にして辿れるプログラムB,C,D,Fをプログラム群Aに分類する。   When the argument of the command “CALL” is traced starting from the program A, a call structure in which the program A calls the program B and the program B calls the program C is obtained. Further, a call structure in which the program A calls the program D and the program D calls the program F can be obtained. Therefore, the classification unit 121 classifies the programs A, B, C, D, and F that can be traced from the program A into the program group A.

次に、プログラムEを起点として、コマンド“CALL”の引数を辿ると、プログラムEがプログラムDを呼び出し、プログラムDがプログラムFを呼び出すという呼出構造を得られる。このため、分類部121は、プログラムEおよびプログラムEを起点にして辿れるプログラムD,Fをプログラム群Eに分類する。   Next, when the argument of the command “CALL” is traced starting from the program E, a call structure in which the program E calls the program D and the program D calls the program F is obtained. Therefore, the classification unit 121 classifies the program E and the programs D and F that can be traced from the program E into the program group E.

続いて、分類部121は、各プログラム群とデータとの対応関係を取得する。図6(B)は、プログラム群とデータとの対応関係の具体例を示す。プログラムCは、データaを参照する。また、プログラムDは、データbを更新する。プログラムC,Dは、プログラム群Aに属する。したがって、分類部121は、プログラム群Aからデータaを参照し、プログラム群Aからデータbを更新するという対応関係を得る。また、プログラムDは、プログラム群Eにも属する。したがって、分類部121は、プログラム群Eからデータbを更新するという対応関係を得る。   Subsequently, the classification unit 121 acquires a correspondence relationship between each program group and data. FIG. 6B shows a specific example of a correspondence relationship between a program group and data. The program C refers to the data a. Program D updates data b. Programs C and D belong to program group A. Therefore, the classification unit 121 obtains a correspondence relationship in which the data a is referred to from the program group A and the data b is updated from the program group A. The program D also belongs to the program group E. Therefore, the classification unit 121 obtains a correspondence relationship in which the data b is updated from the program group E.

分類部121は、取得したプログラム群とデータとの対応関係を示す関連情報を作成する。図6(C)は、図6(B)の関係に対して作成された関連情報112aの例である。関連情報112aは、分析結果記憶部112に格納される。ここで、参照を“#read”で示し、更新を“#write”で示すものとする。例えば、関連情報112aの1行目のレコードは、プログラム群Aからデータaを参照する(“#read”)という関係を示す。関連情報112aの2行目のレコードは、プログラム群Aからデータbを更新する(“#write”)という関係を示す。関連情報112aの3行目のレコードは、プログラムEからデータbを更新する(“#write”)という関係を示す。   The classification unit 121 creates related information indicating the correspondence between the acquired program group and data. FIG. 6C is an example of the related information 112a created for the relationship of FIG. The related information 112a is stored in the analysis result storage unit 112. Here, the reference is indicated by “#read” and the update is indicated by “#write”. For example, the record in the first line of the related information 112a indicates a relationship of referring to the data a from the program group A (“#read”). The record on the second line of the related information 112a indicates a relationship of updating the data b from the program group A (“#write”). The record on the third line of the related information 112a indicates a relationship of updating the data b from the program E (“#write”).

図7は、サービス部品候補の生成例を示す図である。ここで、分類部121によるプログラム群とデータとの対応関係の取得結果が、図6で例示したプログラム群A,Eおよびデータa,bの対応関係の他に、プログラム群X,Y,Zおよびデータc,dに関する対応関係を含むとする。具体的には、プログラム群Eは、更に、データcを参照する。プログラム群Xは、データaを更新する。プログラム群Xは、データcを参照する。プログラム群Xは、データdを参照する。プログラム群Yは、データdを更新する。プログラム群Zは、データcを参照する。関連情報112bは、プログラム群A,E,X,Y,Zとデータa,b,c,dとの対応関係を示す。関連情報112bは、分類部121により作成され、分析結果記憶部112に格納されている。   FIG. 7 is a diagram illustrating an example of generating service component candidates. Here, the acquisition result of the correspondence relationship between the program group and the data by the classification unit 121 is the program group X, Y, Z, and the correspondence relationship between the program groups A and E and the data a and b illustrated in FIG. It is assumed that the correspondence relation regarding the data c and d is included. Specifically, the program group E further refers to the data c. Program group X updates data a. The program group X refers to the data c. The program group X refers to the data d. The program group Y updates the data d. The program group Z refers to the data c. The related information 112b indicates a correspondence relationship between the program groups A, E, X, Y, and Z and the data a, b, c, and d. The related information 112 b is created by the classification unit 121 and stored in the analysis result storage unit 112.

候補生成部122は、以下の式(1)を用いて、各プログラム群とデータとの関係性を生成する。
E(A,B)=1/(n×d_in(B))・・・(1)
ここで、E(A,B)は、エンティティAからエンティティBへの依存関係の本質度(重み)を示す。d_in(B)は、エンティティBへの入次数である。nは、データの参照の場合に2であり、データの更新の場合に1とする。E(A,B)が大きいほど、エンティティA,Bの関係は強く、E(A,B)が小さいほど、エンティティA,Bの関係は弱い。
The candidate generating unit 122 generates a relationship between each program group and data using the following equation (1).
E (A, B) = 1 / (n × d_in (B)) (1)
Here, E (A, B) indicates the essentiality (weight) of the dependency relationship from the entity A to the entity B. d_in (B) is an entry degree to the entity B. n is 2 when referring to data, and 1 when updating data. The larger E (A, B), the stronger the relationship between entities A and B, and the smaller E (A, B), the weaker the relationship between entities A and B.

式(1)によれば、あるデータについて、参照元のプログラムの数が多いほど、当該データと参照元の各プログラムとの関係は弱いと判定される。また、データを更新するプログラムと当該データとの関係は、当該データを参照するプログラムと当該データとの関係よりも強いと判定される。そして、候補生成部122は、多くのプログラムからアクセスされるデータを、何れかのサービス部品候補に振り分けて出力する。   According to Equation (1), it is determined that the relationship between the data and each reference source program is weaker as the number of reference source programs increases for a certain data. Further, it is determined that the relationship between the data updating program and the data is stronger than the relationship between the data referring to the data and the data. Then, the candidate generation unit 122 distributes data accessed from many programs to one of the service component candidates and outputs it.

例えば、プログラム群A,Eは、データbを更新するので、他のデータに比べて、データbとの関係が強い。プログラム群Xは、データaを更新するが、他のデータへのアクセスも多いことから、各データとの関係性がそれほど強くはない。プログラム群Yは、データdを更新するので、他のデータに比べてデータdとの関係が比較的強い。プログラム群Zは、データcのみを参照しており、データcとの関係をもつのみである。   For example, since the program groups A and E update the data b, the relationship with the data b is stronger than other data. The program group X updates the data a, but since there are many accesses to other data, the relationship with each data is not so strong. Since the program group Y updates the data d, the relationship with the data d is relatively stronger than other data. The program group Z refers only to the data c and has only a relationship with the data c.

図8は、サービス部品候補の生成結果の例を示す図である。候補生成部122は、クラスタリングの結果、サービス部品候補31,32,33を生成する。
サービス部品候補31は、プログラム群A,Eおよびデータa,bを含む。サービス部品候補31のサービス部品候補ID(IDentifier)は“1”である。サービス部品候補32は、プログラム群X,Zおよびデータcを含む。サービス部品候補32のサービス部品候補IDは“2”である。サービス部品候補33は、プログラム群Yおよびデータdを含む。サービス部品候補33のサービス部品候補IDは“3”である。
FIG. 8 is a diagram illustrating an example of a service component candidate generation result. The candidate generation unit 122 generates service component candidates 31, 32, and 33 as a result of clustering.
The service component candidate 31 includes program groups A and E and data a and b. The service component candidate ID (IDentifier) of the service component candidate 31 is “1”. The service component candidate 32 includes program groups X and Z and data c. The service component candidate ID of the service component candidate 32 is “2”. The service component candidate 33 includes a program group Y and data d. The service component candidate ID of the service component candidate 33 is “3”.

サービス部品候補情報112cは、サービス部品候補31,32,33を示す情報である。サービス部品候補情報112cは、候補生成部122により生成され、分析結果記憶部112に格納される。サービス部品候補情報112cは、サービス部品候補IDと、プログラム群またはデータの識別子との対応関係を含む。   The service component candidate information 112c is information indicating the service component candidates 31, 32, and 33. The service component candidate information 112c is generated by the candidate generation unit 122 and stored in the analysis result storage unit 112. The service component candidate information 112c includes a correspondence relationship between a service component candidate ID and a program group or data identifier.

例えば、サービス部品候補情報112cは、サービス部品候補ID“1”と、“プログラム群A”との対応関係を示すレコードを含む。このレコードは、プログラム群Aがサービス部品候補31に属することを示す。   For example, the service component candidate information 112c includes a record indicating a correspondence relationship between the service component candidate ID “1” and “program group A”. This record indicates that the program group A belongs to the service component candidate 31.

また、サービス部品候補情報112cは、サービス部品候補ID“1”と、“データa”との対応関係を示すレコードを含む。このレコードは、データaがサービス部品候補31に属することを示す。   The service component candidate information 112c includes a record indicating a correspondence relationship between the service component candidate ID “1” and “data a”. This record indicates that the data a belongs to the service component candidate 31.

サービス部品候補情報112cには、サービス部品候補IDとプログラム群またはデータの識別子との他の対応関係を示すレコードも登録されている。
分析部123は、あるサービス部品候補に属するデータのうち、他のサービス部品候補から更新されるデータを共通データ(グローバルデータ)とする。分析部123は、該当の共通データが属するサービス部品候補から、共通データを取り除く。例えば、サービス部品候補31に属するデータaは、サービス部品候補31以外のサービス部品候補に属するプログラム群Xから更新されるので、共通データ(グローバルデータ)である。このため、分析部123は、サービス部品候補31からデータaを取り除く。
In the service component candidate information 112c, a record indicating another correspondence relationship between the service component candidate ID and the program group or data identifier is also registered.
The analysis unit 123 sets data updated from other service component candidates among data belonging to a certain service component candidate as common data (global data). The analysis unit 123 removes the common data from the service component candidates to which the corresponding common data belongs. For example, the data a belonging to the service component candidate 31 is updated from the program group X belonging to the service component candidates other than the service component candidate 31, and thus is common data (global data). Therefore, the analysis unit 123 removes the data a from the service component candidate 31.

すなわち、分析部123は、サービス部品候補31(第1のグループ)に属する第1のデータ(データa,b)のうちサービス部品候補32(第2のグループ)のプログラム群Xのアクセス先である第2のデータ(データa,c)と重複する部分(データa)が、プログラム群X(第2のプログラム)により更新される場合、当該部分を共通データと判定し、サービス部品候補31から除外する。   That is, the analysis unit 123 is an access destination of the program group X of the service component candidate 32 (second group) among the first data (data a, b) belonging to the service component candidate 31 (first group). When a portion (data a) overlapping with the second data (data a, c) is updated by the program group X (second program), the portion is determined as common data and excluded from the service component candidates 31. To do.

また、分析部123は、サービス部品候補31(第1のグループ)に属する第1のデータのうち共通データ以外のプログラム群A(第1のプログラム)により更新される他の部分(データb)をサービス部品候補31の固有データとして出力する。固有データは、固有データが属するサービス部品候補(またはサービス部品)の外部から更新されないデータである。   Further, the analysis unit 123 adds another part (data b) updated by the program group A (first program) other than the common data among the first data belonging to the service component candidate 31 (first group). Output as unique data of the service component candidate 31. The unique data is data that is not updated from outside the service component candidate (or service component) to which the unique data belongs.

なお、サービス部品候補31からデータaを取り除いても、プログラム群A,Eは、両方ともデータbを更新するという関係が残る。このため、サービス部品候補31からデータaを取り除いた後は、サービス部品候補31にはプログラムA,Eおよびデータbが属する状態となる(分析部123は、サービス部品候補31を分割しない)。   Even if the data a is removed from the service component candidate 31, the program groups A and E still have the relationship of updating the data b. For this reason, after the data a is removed from the service component candidate 31, the programs A and E and the data b belong to the service component candidate 31 (the analysis unit 123 does not divide the service component candidate 31).

また、分析部123は、あるサービス部品候補に属するデータのうち、当該データが属するサービス部品候補内のプログラム群および他のサービス部品候補内のプログラム群から参照されるが更新されないデータを共通データ(マスターデータ)とする。分析部123は、該当の共通データが属するサービス部品候補から、共通データを取り除く。例えば、サービス部品候補32に属するデータcは、サービス部品候補32とは異なるサービス部品候補31に属するプログラム群Eから参照され、かつ、更新されないので、共通データ(マスターデータ)である。このため、分析部123は、サービス部品候補32からデータcを取り除く。サービス部品候補32からデータcを取り除くと、プログラム群X,Zのつながりはなくなる。このため、分析部123は、サービス部品候補32を分割する。この場合、サービス部品候補32は、2つのプログラム群X,Zに分割される。   Further, the analysis unit 123 sets, among data belonging to a certain service component candidate, data that is referenced but not updated from a program group in the service component candidate to which the data belongs and a program group in another service component candidate. Master data). The analysis unit 123 removes the common data from the service component candidates to which the corresponding common data belongs. For example, the data c belonging to the service component candidate 32 is common data (master data) because it is referenced from the program group E belonging to the service component candidate 31 different from the service component candidate 32 and is not updated. Therefore, the analysis unit 123 removes the data c from the service component candidate 32. When the data c is removed from the service component candidate 32, the connection between the program groups X and Z is lost. For this reason, the analysis unit 123 divides the service component candidate 32. In this case, the service component candidate 32 is divided into two program groups X and Z.

なお、サービス部品候補33は、グローバルデータおよびマスターデータに相当する共通データをもたない(データdは、サービス部品候補33における固有データである)。このため、分析部123は、サービス部品候補33については、そのまま維持する。分析部123は、この時点で残ったサービス部品候補をサービス部品とする。   The service component candidate 33 does not have common data corresponding to global data and master data (data d is unique data in the service component candidate 33). Therefore, the analysis unit 123 maintains the service component candidate 33 as it is. The analysis unit 123 sets the service component candidates remaining at this time as service components.

図9は、サービス部品および共通データの分類結果の例を示す図である。分析部123は、サービス部品41,42を示すサービス部品情報112dおよび共通データを示す共通データ情報112eを生成する。サービス部品情報112dおよび共通データ情報112eは、分析結果記憶部112に格納される。   FIG. 9 is a diagram illustrating an example of a classification result of service components and common data. The analysis unit 123 generates service component information 112d indicating the service components 41 and 42 and common data information 112e indicating the common data. The service component information 112d and the common data information 112e are stored in the analysis result storage unit 112.

サービス部品41は、プログラム群A,Eおよびデータbを含む。サービス部品41のサービス部品IDは“1”である。データbは、サービス部品41内のプログラム群A,Eによって更新され、サービス部品41の外部のプログラム群によっては更新されない。このため、データbは、サービス部品41における固有データである。サービス部品42は、プログラム群Yおよびデータdを含む。サービス部品42のサービス部品IDは“2”である。データdは、サービス部品42内のプログラム群Yによって更新され、サービス部品42の外部のプログラム群によっては更新されない。このため、データdは、サービス部品42における固有データである。   The service component 41 includes program groups A and E and data b. The service component ID of the service component 41 is “1”. The data b is updated by the program groups A and E in the service component 41 and is not updated by a program group outside the service component 41. Therefore, the data b is unique data in the service component 41. The service component 42 includes a program group Y and data d. The service component ID of the service component 42 is “2”. The data d is updated by the program group Y in the service component 42 and is not updated by the program group outside the service component 42. Therefore, the data d is unique data in the service component 42.

サービス部品情報112dは、サービス部品IDとプログラム群またはデータの識別名との対応関係を示すレコードを含む。例えば、サービス部品情報112dは、サービス部品ID“1”と“プログラム群A”との対応関係を示すレコードを含む。このレコードは、プログラム群Aがサービス部品41に属することを示す。   The service component information 112d includes a record indicating a correspondence relationship between a service component ID and a program group or data identification name. For example, the service component information 112d includes a record indicating a correspondence relationship between the service component ID “1” and “program group A”. This record indicates that the program group A belongs to the service component 41.

また、サービス部品情報112dは、サービス部品ID“1”と“データb”との対応関係を示すレコードを含む。このレコードは、データbがサービス部品41に属することを示す。   The service component information 112d includes a record indicating the correspondence between the service component ID “1” and “data b”. This record indicates that data b belongs to the service component 41.

サービス部品情報112dには、サービス部品IDとプログラム群またはデータの識別子との他の対応関係を示すレコードも登録されている。
また、データa,cは共通データである。データaの共通データIDは“c1”である。データcの共通データIDは“c2”である。共通データ情報112eは、共通データIDと、データの識別名との対応関係を示すレコードを含む。
In the service component information 112d, a record indicating another correspondence between the service component ID and the program group or data identifier is also registered.
Data a and c are common data. The common data ID of data a is “c1”. The common data ID of the data c is “c2”. The common data information 112e includes a record indicating the correspondence between the common data ID and the data identification name.

例えば、共通データ情報112eは、共通データID“c1”と、“データa”との対応関係を示すレコードを含む。このレコードは、データaが共通データID“c1”に対応する共通データであることを示す。   For example, the common data information 112e includes a record indicating a correspondence relationship between the common data ID “c1” and “data a”. This record indicates that the data a is common data corresponding to the common data ID “c1”.

また、共通データ情報112eは、共通データID“c2”と、“データc”との対応関係を示すレコードを含む。このレコードは、データcが共通データID“c2”に対応する共通データであることを示す。   The common data information 112e includes a record indicating a correspondence relationship between the common data ID “c2” and “data c”. This record indicates that the data c is common data corresponding to the common data ID “c2”.

ここで、分析部123は、プログラム群X,Zに分割したサービス部品候補32について、準サービス部品として再グループ化できるか否かを判定する。具体的には、分析部123は、分割したサービス部品候補32の内部のデータが全て共通データであった場合、サービス部品候補32を準サービス部品として再グループ化する。一方、分析部123は、分割したサービス部品候補32の内部のデータが全て共通データでなかった場合、サービス部品候補32を準サービス部品として再グループ化しない。   Here, the analysis unit 123 determines whether or not the service component candidate 32 divided into the program groups X and Z can be regrouped as a semi-service component. Specifically, the analysis unit 123 regroups the service component candidates 32 as quasi-service components when all the data inside the divided service component candidates 32 is common data. On the other hand, the analysis unit 123 does not regroup the service component candidates 32 as quasi-service components when all the data inside the divided service component candidates 32 is not common data.

図9の例では、サービス部品候補32に属していたデータcは、共通データである。また、サービス部品候補32には、それ以外のデータはなかったので、サービス部品候補32の内部のデータが全て共通データであったことになる。したがって、分析部123は、プログラム群X,Zおよびデータcを準サービス部品として再グループ化する。   In the example of FIG. 9, the data c belonging to the service component candidate 32 is common data. In addition, since there is no other data in the service component candidate 32, all the data inside the service component candidate 32 is common data. Therefore, the analysis unit 123 regroups the program groups X and Z and the data c as quasi-service components.

図10は、準サービス部品の分類結果の例を示す図である。分析部123は、サービス部品41,42に加えて、準サービス部品43を特定する。準サービス部品43は、プログラム群X,Zおよびデータcを含む。準サービス部品43のサービス部品IDは“3”である。   FIG. 10 is a diagram illustrating an example of the classification result of the semi-service component. The analysis unit 123 specifies the semi-service component 43 in addition to the service components 41 and 42. The semi-service component 43 includes program groups X and Z and data c. The service component ID of the semi-service component 43 is “3”.

このように、分析部123は、プログラム群X,Z(第3のプログラムおよび第4のプログラム)と、プログラム群X,Zにより参照されるがプログラム群X,Zにより更新されない共通データ(データc)とを含む準サービス部品43(第3のグループ)を、分析対象の業務サーバ200のプログラム資産から抽出する。   Thus, the analysis unit 123 includes the program groups X and Z (third program and fourth program) and common data (data c) that is referred to by the program groups X and Z but is not updated by the program groups X and Z. ) Are extracted from the program assets of the business server 200 to be analyzed.

図11は、準サービス部品の分類結果の例(続き)を示す図である。分析部123は、更に、特定したサービス部品41,42および準サービス部品43それぞれの内部において、特に関係が強いプログラム群とデータとを集約する。例えば、準サービス部品43の内部では、プログラム群Zはデータcのみにアクセスする。あるサービス部品の内部において、あるプログラム群が、あるデータにのみアクセスする場合、当該プログラム群と当該データとの関係は特に強いと考えられる。したがって、分析部123は、プログラム群Zとデータcとを集約し、サブサービス部品44とする。サブサービス部品44のサービス部品IDは“4”である。   FIG. 11 is a diagram illustrating an example (continued) of the classification result of the semi-service component. The analysis unit 123 further aggregates a program group and data that are particularly related to each other inside the identified service components 41 and 42 and the semi-service component 43. For example, in the semi-service component 43, the program group Z accesses only the data c. In a certain service component, when a certain program group accesses only certain data, the relationship between the program group and the data is considered to be particularly strong. Therefore, the analysis unit 123 aggregates the program group Z and the data c into the sub service component 44. The service component ID of the sub service component 44 is “4”.

分析部123は、更に、サービス部品41,42を示すサービス部品情報112fと、準サービス部品43およびサブサービス部品44を示す準サービス部品情報112gとを生成し、分析結果記憶部112に格納する。   The analysis unit 123 further generates service component information 112 f indicating the service components 41 and 42 and quasi-service component information 112 g indicating the quasi-service component 43 and the sub-service component 44, and stores them in the analysis result storage unit 112.

サービス部品情報112fは、該当のサービス部品を囲う枠の表示色を示す情報を各レコードの末尾に含む点が、サービス部品情報112dと異なる。例えば、サービス部品情報112fは、サービス部品ID“1”と“プログラム群A”と“RED”とを対応付けたレコードを含む。このレコードは、プログラム群Aがサービス部品41に属しており、サービス部品41を表示する場合に、赤色(“RED”)の枠線を用いることを示す。   The service component information 112f is different from the service component information 112d in that information indicating the display color of a frame surrounding the corresponding service component is included at the end of each record. For example, the service component information 112f includes a record in which the service component ID “1”, “program group A”, and “RED” are associated with each other. This record indicates that the program group A belongs to the service component 41, and when the service component 41 is displayed, a red ("RED") frame line is used.

また、サービス部品情報112fは、サービス部品ID“1”と“データb”と“RED”とを対応付けたレコードを含む。このレコードは、データbがサービス部品41に属しており、サービス部品41を表示する場合に、赤色の枠線を用いることを示す。   The service component information 112f includes a record in which the service component ID “1”, “data b”, and “RED” are associated with each other. This record indicates that the data b belongs to the service component 41 and a red frame is used when the service component 41 is displayed.

サービス部品情報112fには、サービス部品候補IDとプログラム群またはデータの識別子との他の対応関係を示すレコードも登録されている。
準サービス部品情報112gは、サービス部品IDと、プログラム群またはデータの識別名と、準サービス部品を表示する場合に用いる枠線の色とを対応付けたレコードを含む。準サービス部品情報112gは、サービス部品ID“3”と“プログラム群X”と“GREEN”とを対応付けたレコードを含む。このレコードは、プログラム群Xが準サービス部品43に属しており、準サービス部品43を表示する場合に、緑色(“GREEN”)の枠線を用いることを示す。
In the service component information 112f, a record indicating another correspondence relationship between a service component candidate ID and a program group or data identifier is also registered.
The semi-service component information 112g includes a record in which a service component ID, a program group or data identification name, and a frame line color used when displaying the semi-service component are associated with each other. The quasi-service component information 112g includes a record in which the service component ID “3”, “program group X”, and “GREEN” are associated with each other. This record indicates that the program group X belongs to the semi-service component 43, and when the semi-service component 43 is displayed, a green ("GREEN") frame line is used.

ここで、準サービス部品情報112gの2行目のレコードは、サービス部品の入れ子関係を表す特殊なレコードである。当該レコードは、サービス部品IDと、当該サービス部品IDで示されるサービス部品の内部に入れ子に定義されたサブサービス部品のサービス部品IDと、当該サブサービス部品のサブサービス部品IDとの対応関係を示す。   Here, the record on the second line of the quasi-service component information 112g is a special record representing the nesting relationship of service components. The record indicates a correspondence relationship between the service component ID, the service component ID of the sub service component nested within the service component indicated by the service component ID, and the sub service component ID of the sub service component. .

例えば、準サービス部品情報112gの2行目のレコードは、サービス部品ID“3”に対応する準サービス部品43の内部に、サービス部品ID“4”に対応するサブサービス部品44があることを示す。また、サブサービス部品44のサブサービス部品IDが“SUB1”であることを示す。   For example, the record on the second line of the semi-service component information 112g indicates that the sub-service component 44 corresponding to the service component ID “4” exists inside the semi-service component 43 corresponding to the service component ID “3”. . In addition, the sub service component ID of the sub service component 44 is “SUB1”.

更に、準サービス部品情報112gは、サブサービス部品44に属するプログラム群およびデータに関するレコードも含む。例えば、準サービス部品情報112gの3行目のレコードは、サービス部品ID“4”と“プログラム群Z”と“SUB”とを対応付けた情報である。このレコードは、プログラム群Zがサブサービス部品44に属することを示す。また、“SUB”の設定は、サブサービス部品44が、何れかのサービス部品の内部に入れ子に定義されるものであることを示す。準サービス部品情報112gによれば、分析部123は、2行目のレコードに基づいて、サブサービス部品44が準サービス部品43の内部に入れ子に定義されるものであることを把握できる。   Further, the quasi-service component information 112g includes a record relating to a program group and data belonging to the sub service component 44. For example, the record in the third line of the semi-service component information 112g is information in which the service component ID “4”, “program group Z”, and “SUB” are associated with each other. This record indicates that the program group Z belongs to the sub service component 44. The setting of “SUB” indicates that the sub service component 44 is defined in a nested manner in any service component. According to the semi-service component information 112g, the analysis unit 123 can grasp that the sub service component 44 is defined in the semi-service component 43 in a nested manner based on the record in the second row.

準サービス部品情報112gには、データcについても同様に、サブサービス部品44に属することを示すレコードが登録されている。
分析部123は、サービス部品情報112fおよび準サービス部品情報112gに基づいて、サービス部品41,42、準サービス部品43およびサブサービス部品44の分類結果をディスプレイ11などに表示することができる。
Similarly, a record indicating that the data c belongs to the sub service component 44 is registered in the semi-service component information 112g.
The analysis unit 123 can display the classification results of the service components 41 and 42, the semi-service component 43, and the sub-service component 44 on the display 11 or the like based on the service component information 112f and the semi-service component information 112g.

次に、分析サーバ100の処理手順を説明する。
図12は、分析サーバの処理例を示すフローチャートである。
(S10)分類部121は、ユーザにより分析対象とするソフトウェアの指定を受け付けると、当該ソフトウェアを構成する複数のプログラムを業務サーバ200から取得し、プログラム記憶部111に格納する。分類部121は、取得した複数のプログラムを解析し、プログラム間の呼出関係に基づいて、各プログラムをプログラム群に分類する。プログラム解析の詳細は後述される。
Next, the processing procedure of the analysis server 100 will be described.
FIG. 12 is a flowchart illustrating a processing example of the analysis server.
(S10) When the classification unit 121 receives designation of software to be analyzed by the user, the classification unit 121 acquires a plurality of programs constituting the software from the business server 200 and stores them in the program storage unit 111. The classification unit 121 analyzes the plurality of acquired programs and classifies each program into a program group based on the calling relationship between the programs. Details of the program analysis will be described later.

(S11)分類部121は、プログラム群に属するプログラムのデータのアクセス先に基づいて、プログラム群とデータとの関連情報を生成し、分析結果記憶部112に格納する。   (S11) The classification unit 121 generates related information between the program group and the data based on the access destination of the data of the program belonging to the program group, and stores it in the analysis result storage unit 112.

(S12)候補生成部122は、関連情報に基づいて分割処理を実行することで、プログラム群およびデータのクラスタリングを行い、サービス部品候補を抽出する。クラスタリングには、例えば、前述の特開2013−148987号公報の方法を用いることができる。候補生成部122は、クラスタリングの結果、サービス部品候補情報を生成し、分析結果記憶部112に格納する。   (S12) The candidate generating unit 122 performs clustering of the program group and data by executing the division process based on the related information, and extracts service component candidates. For the clustering, for example, the method disclosed in JP 2013-148987 A can be used. The candidate generation unit 122 generates service component candidate information as a result of clustering, and stores it in the analysis result storage unit 112.

(S13)分析部123は、サービス部品候補情報に基づいて、共通データを抽出する。分析部123は、共通データを示す共通データ情報を生成し、分析結果記憶部112に格納する。共通データの抽出処理の詳細は後述される。   (S13) The analysis unit 123 extracts common data based on the service component candidate information. The analysis unit 123 generates common data information indicating the common data and stores it in the analysis result storage unit 112. Details of the common data extraction process will be described later.

(S14)分析部123は、共通データの抽出結果に基づいて、サービス部品の分類を行う。分析部123は、サービス部品の分類結果を示すサービス部品情報および準サービス部品情報を生成し、分析結果記憶部112に格納する。また、分析部123は、サービス部品情報および準サービス部品情報に基づいて、サービス部品および準サービス部品を示す画面情報を生成し、出力する。例えば、分析部123は、生成した画面情報をディスプレイ11に出力し、サービス部品および準サービス部品を示す画面をディスプレイ11に表示させる。サービス部品の分類処理の詳細は後述される。そして、分析サーバ100の処理が終了する。   (S14) The analysis unit 123 classifies service components based on the common data extraction result. The analysis unit 123 generates service component information and quasi-service component information indicating the service component classification result, and stores them in the analysis result storage unit 112. Further, the analysis unit 123 generates and outputs screen information indicating the service component and the semi-service component based on the service component information and the semi-service component information. For example, the analysis unit 123 outputs the generated screen information to the display 11 and causes the display 11 to display a screen showing service components and semi-service components. Details of the service component classification process will be described later. And the process of the analysis server 100 is complete | finished.

ステップS13のサービス部品候補を抽出する処理は、分析対象のシステム(業務サーバ200)の複数のプログラム群(あるいはプログラム)とデータとの関係に基づいて、プログラム群とデータとの複数のグループを抽出する処理であるといえる。例えば、図8で示したように、分析サーバ100は、第1のプログラム群(プログラム群A)および第1のプログラム群にアクセスされる第1のデータ(データa,b)を含む第1のグループ(サービス部品候補31)を分析対象のシステムから抽出する。また、分析サーバ100は、第2のプログラム群(プログラム群X)および第2のプログラム群にアクセスされる第2のデータ(データa,c)のうち第1のデータと重複しない第3のデータ(データc)を含む第2のグループ(サービス部品候補32)を分析対象のシステムから抽出する。   In the process of extracting service component candidates in step S13, a plurality of groups of program groups and data are extracted based on the relationship between a plurality of program groups (or programs) and data of the analysis target system (business server 200). It can be said that it is processing to do. For example, as illustrated in FIG. 8, the analysis server 100 includes a first program group (program group A) and a first data including first data (data a and b) accessed by the first program group. A group (service component candidate 31) is extracted from the system to be analyzed. The analysis server 100 also includes third data that does not overlap with the first data among the second program group (program group X) and the second data (data a, c) accessed by the second program group. A second group (service component candidate 32) including (data c) is extracted from the system to be analyzed.

図13は、プログラム解析の処理例を示すフローチャートである。このプログラム解析は、上記のステップS10で実行される。
(S20)分類部121は、分析対象の各プログラムを参照して、プログラム間の呼出関係を取得する。例えば、分類部121は、プログラムに含まれる他のプログラムを呼び出すコマンド(例えば、“CALL”など)を辿ることで、あるプログラムが別のプログラムを呼び出すという呼出関係を取得する。
FIG. 13 is a flowchart illustrating a processing example of program analysis. This program analysis is executed in step S10 described above.
(S20) The classification unit 121 refers to each analysis target program and obtains a calling relationship between the programs. For example, the classification unit 121 acquires a call relationship in which a certain program calls another program by tracing a command (for example, “CALL”) that calls another program included in the program.

(S21)分類部121は、どのプログラムからも呼び出されていないプログラムを起点に設定する。
(S22)分類部121は、起点のプログラムを1つ選択し、当該起点のプログラムからの呼出構造を取得し、当該呼出構造によりプログラム群を特定する。
(S21) The classification unit 121 sets a program that is not called by any program as a starting point.
(S22) The classification unit 121 selects one starting program, acquires a calling structure from the starting program, and identifies a program group based on the calling structure.

(S23)分類部121は、全ての起点のプログラムに対して呼出構造を取得したか否かを判定する。全ての起点のプログラムに対して呼出構造を取得した場合、ステップS24に処理が進む。全ての起点のプログラムに対して呼出構造を取得していない場合、ステップS22に処理が進む。   (S23) The classification unit 121 determines whether a call structure has been acquired for all starting programs. If the call structure is acquired for all starting programs, the process proceeds to step S24. If the call structure has not been acquired for all starting programs, the process proceeds to step S22.

(S24)分類部121は、あるプログラムのアクセス先のデータを取得する。例えば、分類部121は、プログラムに含まれるデータに対する参照や更新を行うコマンド(例えば、“READ”や“WRITE”など)を検出することで、プログラムのアクセス先となっているデータを取得する。   (S24) The classification unit 121 acquires access destination data of a program. For example, the classification unit 121 acquires data that is an access destination of a program by detecting a command (for example, “READ” or “WRITE”) that refers to or updates data included in the program.

(S25)分類部121は、1つのプログラム群を選択し、該当のデータにアクセスするプログラムが該当のプログラム群にあるか否かを判定する。ある場合、ステップS26に処理が進む。ない場合、ステップS27に処理が進む。   (S25) The classification unit 121 selects one program group, and determines whether there is a program that accesses the corresponding data in the corresponding program group. If there is, the process proceeds to step S26. If not, the process proceeds to step S27.

(S26)分類部121は、該当のプログラム群とアクセス先のデータとの関係を示すレコード(アクセス内容がREADかWRITEかといった情報を含む)を関連情報に記録する。   (S26) The classification unit 121 records a record (including information indicating whether the access content is READ or WRITE) indicating the relationship between the corresponding program group and the access destination data in the related information.

(S27)分類部121は、全てのプログラム群に対してデータとの関係を確認したか否かを判定する。全てのプログラム群に対して該当のデータとの関係を確認した場合、ステップS28に処理が進む。全てのプログラム群に対して該当のデータとの関係を確認していない場合、ステップS25に処理が進む。   (S27) The classification unit 121 determines whether or not the relationship with data has been confirmed for all program groups. When the relationship with the corresponding data is confirmed for all the program groups, the process proceeds to step S28. If the relationship with the corresponding data has not been confirmed for all program groups, the process proceeds to step S25.

(S28)分類部121は、対象の全てのデータに対してプログラムとの関係を確認したか否かを判定する。対象の全てのデータに対してプログラムとの関係を確認した場合、ステップS29に処理が進む。対象の全てのデータに対してプログラムとの関係を確認していない場合、ステップS24に処理が進む。   (S28) The classification unit 121 determines whether or not the relationship with the program has been confirmed for all target data. When the relationship with the program is confirmed for all target data, the process proceeds to step S29. If the relationship with the program has not been confirmed for all target data, the process proceeds to step S24.

(S29)分類部121は、プログラム群とデータとの関連情報を出力する。例えば、分類部121は、プログラム群とデータとの関連情報(あるいは、図7で例示した関連情報に基づくプログラム群の関係を表す画像)をディスプレイ11に表示させてもよい。そして、プログラム解析が終了する。   (S29) The classification unit 121 outputs related information between a program group and data. For example, the classification unit 121 may cause the display 11 to display related information between the program group and the data (or an image representing the relationship between the program groups based on the related information illustrated in FIG. 7). Then, program analysis ends.

図14は、共通データ抽出の処理例を示すフローチャートである。この共通データ抽出は、上記のステップS13で実行される。
(S30)分析部123は、分析結果記憶部112に記憶されたサービス部品候補情報を参照して、1つのサービス部品候補を取得する。
FIG. 14 is a flowchart illustrating a processing example of common data extraction. This common data extraction is executed in step S13 described above.
(S30) The analysis unit 123 refers to the service component candidate information stored in the analysis result storage unit 112, and acquires one service component candidate.

(S31)分析部123は、分析結果記憶部112に記憶された関連情報を参照して、該当のサービス部品候補内のデータに対する更新処理(WRITE)を特定する。
(S32)分析部123は、特定した更新処理が、サービス部品候補内のデータを外部(サービス部品候補の外部)から更新するものであるか否かを判定する。外部から更新するものである場合、ステップS33に処理が進む。外部から更新するものでない場合(すなわち、サービス部品候補の内部のプログラム群が更新するものである場合)、ステップS34に処理が進む。
(S31) The analysis unit 123 refers to the related information stored in the analysis result storage unit 112, and specifies update processing (WRITE) for data in the corresponding service component candidate.
(S32) The analysis unit 123 determines whether or not the identified update process is to update the data in the service component candidate from the outside (outside of the service component candidate). In the case of updating from the outside, the process proceeds to step S33. If not updated externally (that is, if the program group inside the service component candidate is to be updated), the process proceeds to step S34.

(S33)分析部123は、該当のサービス部品候補の外部から更新されるデータを、共通データとして、当該サービス部品候補の外部に定義する。分析部123は、分析結果記憶部112に記憶された共通データ情報に、今回取得した共通データのレコードを追加する。この場合の共通データは、グローバルデータである。そして、ステップS37に処理が進む。   (S33) The analysis unit 123 defines the data updated from the outside of the corresponding service component candidate as the common data outside the service component candidate. The analysis unit 123 adds the common data record acquired this time to the common data information stored in the analysis result storage unit 112. The common data in this case is global data. Then, the process proceeds to step S37.

(S34)分析部123は、分析結果記憶部112に記憶された関連情報を参照して、ステップS30で取得したサービス部品候補内のデータに対する参照処理(READ)を特定する。   (S34) The analysis unit 123 refers to the related information stored in the analysis result storage unit 112, and specifies the reference process (READ) for the data in the service component candidate acquired in step S30.

(S35)分析部123は、該当のサービス部品候補内のデータのうち、当該サービス部品候補の内部および外部の両方から参照されるのみのデータがあるか否かを判定する。当該サービス部品候補の内部および外部の両方から参照されるのみのデータがある場合、ステップS36に処理が進む。当該サービス部品候補の内部および外部の両方から参照されるのみのデータがない場合、ステップS37に処理が進む。   (S35) The analysis unit 123 determines whether there is data that is only referred to from both inside and outside of the service component candidate among the data in the corresponding service component candidate. If there is data that is only referred to from both inside and outside of the service component candidate, the process proceeds to step S36. If there is no data that can only be referred to from both inside and outside of the service component candidate, the process proceeds to step S37.

(S36)分析部123は、該当のサービス部品候補の内部および外部の両方から参照されるのみのデータを、共通データとして、当該サービス部品候補の外部に定義する。分析部123は、分析結果記憶部112に記憶された共通データ情報に、今回取得した共通データのレコードを追加する。この場合の共通データは、マスターデータである。   (S36) The analysis unit 123 defines data that is only referred to from both inside and outside the corresponding service component candidate as common data outside the service component candidate. The analysis unit 123 adds the common data record acquired this time to the common data information stored in the analysis result storage unit 112. The common data in this case is master data.

(S37)分析部123は、ステップS30で選択したサービス部品候補内の全てのデータの関係(参照や更新の関係)を取得したか否かを判定する。全てのデータの関係を取得した場合、ステップS38に処理が進む。全てのデータの関係を取得していない場合、ステップS31に処理が進む。   (S37) The analysis unit 123 determines whether all data relationships (reference and update relationships) in the service component candidate selected in step S30 have been acquired. If all data relationships have been acquired, the process proceeds to step S38. If all data relationships have not been acquired, the process proceeds to step S31.

(S38)分析部123は、分析結果記憶部112に記憶されたサービス部品候補情報を参照して、サービス部品候補内で関係がないものが存在するか否かを判定する。サービス部品候補内で関係がないものが存在する場合、ステップS39に処理が進む。サービス部品候補内で関係ないものが存在しない場合、ステップS40に処理が進む。ここで、ステップS38における「関係」とは、「複数のプログラム群の間の関係」である。「複数のプログラム群の間に関係がある」とは、「複数のプログラム群が、該当のサービス部品候補内の同じデータにアクセスすること」である。「複数のプログラム群の間に関係がない」とは、「複数のプログラム群が、該当のサービス部品候補内の同じデータにアクセスしないこと」である。   (S38) The analysis unit 123 refers to the service component candidate information stored in the analysis result storage unit 112, and determines whether there is an unrelated service component candidate. If there is an irrelevant service component candidate, the process proceeds to step S39. If there is no irrelevant service component candidate, the process proceeds to step S40. Here, the “relationship” in step S38 is “relationship between a plurality of program groups”. “There is a relationship among a plurality of program groups” means that “a plurality of program groups access the same data in the corresponding service component candidate”. “There is no relationship between a plurality of program groups” means “a plurality of program groups do not access the same data in the corresponding service component candidate”.

(S39)分析部123は、分析結果記憶部112に記憶された関連情報およびサービス部品候補情報に基づいて、関係がある範囲で部品を分割する。すなわち、分析部123は、該当のサービス部品候補に属する複数のプログラム群を、当該サービス部品候補内の同じデータにアクセスするという関係をもつ単位に分割し、新たな複数のサービス部品候補を作成する。ここで、該当のサービス部品候補内の同じデータにアクセスするという関係をもたないプログラム群については、サービス部品候補(グループ)から除外される。   (S39) The analysis unit 123 divides the parts within a related range based on the related information and the service part candidate information stored in the analysis result storage unit 112. That is, the analysis unit 123 divides a plurality of program groups belonging to the corresponding service component candidate into units having a relationship of accessing the same data in the service component candidate, and creates a plurality of new service component candidates. . Here, a program group having no relationship of accessing the same data in the corresponding service component candidate is excluded from the service component candidates (groups).

(S40)分析部123は、全てのサービス部品候補について共通データ抽出の処理を行ったか否かを判定する。全てのサービス部品候補について共通データ抽出の処理を行った場合、ステップS41に処理が進む。全てのサービス部品候補について共通データ抽出の処理を行っていない場合、ステップS30に処理が進む。   (S40) The analysis unit 123 determines whether common data extraction processing has been performed for all service component candidates. If the common data extraction process has been performed for all service component candidates, the process proceeds to step S41. If the common data extraction process has not been performed for all service component candidates, the process proceeds to step S30.

(S41)分析部123は、各サービス部品候補からの共通データの抽出や、サービス部品候補の分割の結果に基づいて、サービス部品情報を生成する。例えば、分析部123は、この段階までに決定されたサービス部品を赤色の枠を用いて表示するため、サービス部品情報におけるサービス部品のレコードの末尾に“RED”の情報を追加する。分析部123は、生成したサービス部品情報およびステップS35,S36で取得された共通データ情報を出力する。例えば、分析部123は、サービス部品情報および共通データ情報(あるいは、図9で例示したサービス部品や分割されたプログラム群と共通データとの関係を表す画像)をディスプレイ11に表示させてもよい。そして、共通データ抽出が終了する。   (S41) The analysis unit 123 generates service component information based on extraction of common data from each service component candidate and division result of the service component candidates. For example, the analysis unit 123 adds “RED” information to the end of the service component record in the service component information in order to display the service component determined up to this stage using a red frame. The analysis unit 123 outputs the generated service component information and the common data information acquired in steps S35 and S36. For example, the analysis unit 123 may display service component information and common data information (or an image representing the relationship between the service component illustrated in FIG. 9 or the divided program group and the common data) on the display 11. Then, the common data extraction ends.

なお、ステップS31において、更新処理を特定できない場合、分析部123は、ステップS32をスキップしてステップS34を実行する。また、ステップS34において、参照処理を特定できない場合、分析部123は、ステップS35,S36をスキップして、ステップS37を実行する。   If the update process cannot be specified in step S31, the analysis unit 123 skips step S32 and executes step S34. When the reference process cannot be specified in step S34, the analysis unit 123 skips steps S35 and S36 and executes step S37.

図15は、サービス部品分類の処理例を示すフローチャートである。このサービス部品分類は、上記のステップS14で実行される。
(S50)分析部123は、分析結果記憶部112に記憶されたサービス部品候補情報を参照して、サービス部品候補を取得する。
FIG. 15 is a flowchart illustrating a processing example of service component classification. This service component classification is executed in step S14.
(S50) The analysis unit 123 refers to the service component candidate information stored in the analysis result storage unit 112, and acquires a service component candidate.

(S51)分析部123は、分析結果記憶部112に記憶された共通データ情報を参照して、サービス部品候補の全てのデータが共通データであるか否かを判定する。サービス部品候補の全てのデータが共通データである場合、ステップS52に処理が進む。サービス部品候補の全てのデータが共通データでない場合、ステップS53に処理が進む。   (S51) The analysis unit 123 refers to the common data information stored in the analysis result storage unit 112, and determines whether all data of the service component candidates is common data. When all the data of the service component candidates are common data, the process proceeds to step S52. If all the data of the service component candidates are not common data, the process proceeds to step S53.

(S52)分析部123は、該当のサービス部品候補を準サービス部品として抽出する。分析部123は、該当のサービス部品候補に対応する準サービス部品のレコードを、分析結果記憶部112に記憶された準サービス部品情報に追加する。分析部123は、準サービス部品を緑色の枠を用いて表示するため、準サービス部品情報における準サービス部品のレコードの末尾に“GREEN”の情報を追加する。   (S52) The analysis unit 123 extracts the corresponding service component candidate as a quasi-service component. The analysis unit 123 adds the record of the semi-service component corresponding to the corresponding service component candidate to the semi-service component information stored in the analysis result storage unit 112. The analysis unit 123 adds “GREEN” information to the end of the record of the semi-service component in the semi-service component information in order to display the semi-service component using a green frame.

(S53)分析部123は、サービス部品候補情報に登録された全てのサービス部品候補を取得したか否かを判定する。全てのサービス部品候補を取得した場合、ステップS54に処理が進む。全てのサービス部品候補を取得していない場合、ステップS50に処理が進む。   (S53) The analysis unit 123 determines whether all service component candidates registered in the service component candidate information have been acquired. If all service component candidates have been acquired, the process proceeds to step S54. If all the service component candidates have not been acquired, the process proceeds to step S50.

(S54)分析部123は、分析結果記憶部112に記憶された関連情報を参照して、1つのデータを抽出する。
(S55)分析部123は、関連情報に基づいて、該当のデータにのみアクセスするプログラム群があるか否かを判定する。該当のデータにのみアクセスするプログラム群がある場合、ステップS56に処理が進む。該当のデータにのみアクセスするプログラム群がない場合、ステップS58に処理が進む。以下、これらのプログラム群とデータとを、「関係するプログラム群とデータ」と言う。
(S54) The analysis unit 123 refers to the related information stored in the analysis result storage unit 112, and extracts one piece of data.
(S55) The analysis unit 123 determines whether there is a program group that accesses only the corresponding data based on the related information. If there is a program group that accesses only the corresponding data, the process proceeds to step S56. If there is no program group that accesses only the corresponding data, the process proceeds to step S58. Hereinafter, these program groups and data are referred to as “related program groups and data”.

(S56)分析部123は、関係するプログラム群とデータとが抽出した領域を跨がないか否かを判定する。抽出した領域を跨がない場合、ステップS57に処理が進む。抽出した領域を跨ぐ場合、ステップS58に処理が進む。ここで、「抽出した領域」とは、サービス部品または準サービス部品(グループ)に所属するプログラム群およびデータに相当する。例えば、「抽出した領域を跨がない」とは、関係するプログラム群とデータとが同じサービス部品または準サービス部品に属することを示す。また、「抽出した領域を跨ぐ」とは、関係するプログラム群とデータとが異なるサービス部品または準サービス部品に属することを示す。   (S56) The analysis unit 123 determines whether or not the related program group and data are located across the extracted region. If the extracted region does not straddle, the process proceeds to step S57. When straddling the extracted area, the process proceeds to step S58. Here, the “extracted area” corresponds to a program group and data belonging to a service component or a semi-service component (group). For example, “does not straddle the extracted region” indicates that the related program group and data belong to the same service component or quasi-service component. Further, “crossing the extracted area” indicates that the related program group and data belong to different service components or semi-service components.

(S57)分析部123は、該当のプログラム群とデータとを集約した単位(サブサービス部品)を作成する。例えば、分析部123は、サブサービス部品のレコードを、サービス部品情報または準サービス部品情報のうち、該当のサブサービス部品が属するサービス部品または準サービス部品の配下に追加する。上記のように、分析部123は、準サービス部品のプログラム群またはデータに対応するレコードの末尾には、“SUB”の情報を追加する。また、分析部123は、サブサービス部品に、サービス部品IDおよびサブサービス部品IDを付与する。そして、分析部123は、サブサービス部品と上位のサービス部品または準サービス部品との関連を示すレコードも、サービス部品情報または準サービス部品情報に登録する。   (S57) The analysis unit 123 creates a unit (sub service component) in which the corresponding program group and data are aggregated. For example, the analysis unit 123 adds the sub service component record under the service component or the semi-service component to which the sub service component belongs, of the service component information or the semi-service component information. As described above, the analysis unit 123 adds the information “SUB” to the end of the record corresponding to the program group or data of the semi-service component. The analysis unit 123 also assigns a service component ID and a sub service component ID to the sub service component. Then, the analysis unit 123 also registers a record indicating the relationship between the sub service component and the upper service component or the semi-service component in the service component information or the semi-service component information.

(S58)分析部123は、関連情報に含まれる全てのデータに対して関係を調査したか否か(ステップS54〜S57の処理を実行したか否か)を判定する。全てのデータに対して関係を調査した場合、ステップS59に処理が進む。全てのデータに対して関係を調査していない場合、ステップS54に処理が進む。   (S58) The analysis unit 123 determines whether or not all the data included in the related information has been examined for relationships (whether or not the processing in steps S54 to S57 has been performed). If the relationship is examined for all data, the process proceeds to step S59. If the relationship has not been investigated for all data, the process proceeds to step S54.

(S59)分析部123は、サービス部品情報に基づいて、サービス部品を出力する。すなわち、分析部123は、サービス部品に対応するプログラム(またはプログラム群)を示す情報およびデータを示す情報を出力する。例えば、分析部123は、プログラム群およびデータを所定サイズのアイコン(例えば、四角形などの図形)とし、更に、サービス部品に対応するアイコン群を赤色の枠で囲った画像をディスプレイ11に表示させる。   (S59) The analysis unit 123 outputs a service component based on the service component information. That is, the analysis unit 123 outputs information indicating a program (or program group) corresponding to a service component and information indicating data. For example, the analysis unit 123 causes the program group and data to be icons of a predetermined size (for example, a figure such as a rectangle), and further causes the display 11 to display an image in which the icon group corresponding to the service component is surrounded by a red frame.

(S60)分析部123は、準サービス部品情報に基づいて、準サービス部品を出力する。すなわち、分析部123は、準サービス部品に対応するプログラム(またはプログラム群)を示す情報およびデータを示す情報を出力する。例えば、分析部123は、ステップS59で表示したプログラム群およびデータに対応するアイコンのうち、準サービス部品に対応するアイコン群を緑色の枠で囲った画像をディスプレイ11に表示させる。そして、サービス部品分類が終了する。   (S60) The analysis unit 123 outputs the semi-service component based on the semi-service component information. That is, the analysis unit 123 outputs information indicating a program (or program group) corresponding to the semi-service component and information indicating data. For example, the analysis unit 123 causes the display 11 to display an image in which the icon group corresponding to the semi-service component among the icons corresponding to the program group and data displayed in step S59 is surrounded by a green frame. Then, the service component classification ends.

図16は、分類結果の表示例(その1)を示す図である。画面50は、例えば、分析部123により出力された画面情報に基づいて、ディスプレイ11に表示される。画面50は、業務サーバ200により実行されるプログラムおよびデータをマップ化して表示したものである。四角形で示される1つのアイコンは、1つのプログラム群またはデータを示す。なお、分析部123は、プログラム群単位ではなく、プログラム単位にアイコンを表示させてもよい。例えば、分析部123は、ユーザによるアイコンの選択操作に応じて、該当のアイコンに対応するプログラム群またはプログラムを示す情報をディスプレイ11に表示させてもよい。   FIG. 16 is a diagram illustrating a display example (part 1) of the classification result. The screen 50 is displayed on the display 11 based on the screen information output by the analysis unit 123, for example. The screen 50 displays the program and data executed by the business server 200 as a map. One icon indicated by a rectangle indicates one program group or data. Note that the analysis unit 123 may display icons not in units of programs but in units of programs. For example, the analysis unit 123 may display information indicating a program group or a program corresponding to the corresponding icon on the display 11 according to an icon selection operation by the user.

画面50は、枠で囲われた複数の領域を含む。枠R1,R2,R3,R4,R5は、サービス部品を示す枠である。例えば、枠R1,R2,R3,R4,R5の線は前述のように赤色で表示される(ただし、他の色でもよい)。枠R1,R2,R3,R4,R5の内部のプログラム群は、固有データによって関連付けられている。   The screen 50 includes a plurality of areas surrounded by a frame. Frames R1, R2, R3, R4, and R5 are frames indicating service components. For example, the lines of the frames R1, R2, R3, R4, and R5 are displayed in red as described above (however, other colors may be used). The program groups inside the frames R1, R2, R3, R4, and R5 are associated by specific data.

また、枠G1,G2,G3は、準サービス部品を示す枠である。例えば、枠G1,G2,G3の線は、前述のように緑色で表示される(ただし、枠R1,R2,R3,R4,R5と異なっていれば他の色でもよい)。枠G1,G2,G3の内部のデータは共通データである。   Frames G1, G2, and G3 are frames indicating quasi-service components. For example, the lines of the frames G1, G2, and G3 are displayed in green as described above (however, other colors may be used as long as they are different from the frames R1, R2, R3, R4, and R5). The data inside the frames G1, G2, G3 is common data.

このように、分析部123は、サービス部品または準サービス部品に属するプログラムを関連付けるデータの種類が固有データであるか、共通データであるかに応じて、ディスプレイ11(表示装置)によるサービス部品や準サービス部品の表示方法を変える。上記のように枠線の色を変える他にも、線の種類(例えば、実線か破線かなど)や枠内の領域の色を変えて区別可能にするなど、種々の方法が考えられる。   As described above, the analysis unit 123 determines whether the type of data associated with the service component or the program belonging to the quasi-service component is specific data or common data. Change the display method of service parts. In addition to changing the color of the frame line as described above, various methods such as changing the line type (for example, whether it is a solid line or a broken line) and the color of the area in the frame to be distinguishable can be considered.

なお、枠R1,R2,R3,R4,R5および枠G1,G2,G3それぞれには、例えば、所属するプログラムに含まれるコメント文などから抽出された文字列(例えば、“ログイン”や“list,to do”といった文字列など)も表示される。表示される文字列は、例えば、所属するプログラムにおいて出現回数の最多のものである。ユーザは、これらの文字列から該当の枠内のプログラム群やデータがどのような機能に対応するものであるかを把握可能である。   Each of the frames R1, R2, R3, R4, R5 and the frames G1, G2, G3 includes, for example, a character string extracted from a comment sentence included in the program to which the user belongs (for example, “login”, “list, A character string such as “to do” ”is also displayed. For example, the displayed character string has the highest number of appearances in the program to which it belongs. The user can grasp what functions the program group and data in the corresponding frame correspond to from these character strings.

特に、枠G1,G2,G3の内部のプログラム部分で1つの機能に対応しているため、実際にまとめて扱うべきプログラムを集約できる。
このように、分析サーバ100は、分析対象のシステムのプログラムにアクセスされるデータのうち、共通データに含まれない固有データと、共通データとをそれぞれ分離し、分離した領域を業務の切り出しやすい範囲としてユーザに提示する。
In particular, since the programs in the frames G1, G2, and G3 correspond to one function, it is possible to collect programs that should actually be handled collectively.
As described above, the analysis server 100 separates the unique data that is not included in the common data from the data accessed by the analysis target system program, and the common data, and easily separates the separated areas from the work. To the user.

なお、サービス部品や準サービス部品の業務サーバ200からの切り出しやすさは次の通りである。第1に、枠内のデータへの外部からの参照/更新が全くない場合、その枠内のプログラムおよびデータにより実現される機能は、最も切り出しやすい。第2に、枠内のデータへの外部からの更新がない場合、その枠内のプログラムおよびデータにより実現される機能は2番目に切り出しやすい。第3に、枠内のデータへの参照および更新の両方が外部からある場合、その枠内のプログラムおよびデータにより実現される機能は切り出しにくい。   The easiness of extracting service components and semi-service components from the business server 200 is as follows. First, when there is no external reference / update to the data in the frame, the function realized by the program and data in the frame is most easily cut out. Second, when there is no external update to the data in the frame, the function realized by the program and data in the frame is the second most easily cut out. Third, when both reference and update to the data in the frame are from the outside, it is difficult to cut out the function realized by the program and data in the frame.

分析部123は、このように、サービス部品や準サービス部品の内部のデータに対する外部からの参照や更新の有無に応じて、切り出しやすい部分をディスプレイ11に表示させ、ユーザに提示することもできる。例えば、分析部123は、枠R1,R2,R3,R4,R5に対応する各機能は、枠G1,G2,G3に対応する各機能よりも切り出しやすい旨の情報をディスプレイ11に表示させ、ユーザに提示してもよい。準サービス部品は、外部から更新されるデータ(グローバルデータ)を含むことがあるためである。   As described above, the analysis unit 123 can also display a portion that is easy to cut out on the display 11 and present it to the user in accordance with the presence or absence of external reference or update to the data inside the service component or the semi-service component. For example, the analysis unit 123 causes the display 11 to display information indicating that the functions corresponding to the frames R1, R2, R3, R4, and R5 are easier to cut out than the functions corresponding to the frames G1, G2, and G3. May be presented. This is because the semi-service component may include data (global data) updated from the outside.

図17は、分類結果の表示例(その2)を示す図である。分析部123は、例えば、サービス部品のみをディスプレイ11に表示させ、準サービス部品をディスプレイ11に表示させないことも考えられる。この場合、画面60がディスプレイ11に表示される。画面60は、枠R11,R12,R13,R14,R15を含む。枠R11,R12,R13,R14,R15は、それぞれ枠R1,R2,R3,R4,R5に対応するサービス部品を示す。しかし、それ以外のプログラム群やデータについてはグループ化されておらず、独立した点(枠で囲われないアイコン)として表示されている。このため、画面60の表示では、ユーザは、準サービス部品を適切に把握することはできない。したがって、分析部123は、画面60よりも、図16の画面50をディスプレイ11に表示させ、準サービス部品を適切に特定可能にすることが好ましい。   FIG. 17 is a diagram illustrating a display example (part 2) of the classification result. For example, the analysis unit 123 may display only the service component on the display 11 and may not display the quasi-service component on the display 11. In this case, the screen 60 is displayed on the display 11. The screen 60 includes frames R11, R12, R13, R14, and R15. Frames R11, R12, R13, R14, and R15 indicate service components corresponding to the frames R1, R2, R3, R4, and R5, respectively. However, other program groups and data are not grouped and are displayed as independent points (icons not surrounded by a frame). For this reason, in the display of the screen 60, the user cannot appropriately grasp the semi-service component. Therefore, it is preferable that the analysis unit 123 displays the screen 50 of FIG. 16 on the display 11 rather than the screen 60 so that the semi-service component can be appropriately identified.

次に、プログラムおよびデータの分類方法の比較例を説明する。
図18は、分類の比較例を示す図である。ここで、図18では、縦方向の点線により区切られたレーンによってプログラムとデータとのグループを表している。「機能」は、プログラム群に対応する。また、例えば、GUI(Graphical User Interface)を提供する画面の機能と、業務処理を実行する機能とは、WebAPI(Application Programming Interface)によって関連付けられている。
Next, a comparative example of program and data classification methods will be described.
FIG. 18 is a diagram illustrating a comparative example of classification. Here, in FIG. 18, groups of programs and data are represented by lanes separated by vertical dotted lines. “Function” corresponds to a program group. Further, for example, a function of a screen that provides a GUI (Graphical User Interface) and a function of executing a business process are associated by a Web API (Application Programming Interface).

例えば、図18(A)の分類方法のように、システム全体を複数の単位に分割するものの、「共通データ」の区別をせずに、データを何れかの分割単位に含める方法が考えられる。この分類方法では、データは何れかの分割単位に含まれることになり、「共通データ」を明確に区別することができない。分割単位に含まれるデータが、固有データか共通データかを区別できないので、切り出しやすいかどうかを判別することができない。   For example, although the entire system is divided into a plurality of units as in the classification method of FIG. 18A, a method of including data in any of the division units without distinguishing “common data” is conceivable. In this classification method, data is included in any division unit, and “common data” cannot be clearly distinguished. Since it is not possible to distinguish whether the data included in the division unit is unique data or common data, it is not possible to determine whether it is easy to cut out.

また、例えば、図18(B)の分類方法のように、「共通データ」を明確にしてシステム全体を複数の単位に分割するが、「共通データ」にしかアクセスしない機能を全てバラバラに提示することも考えられる。しかし、あまりに細かい単位に分離されてしまうと、個々のプログラム群の扱いが難しくなる。この分類方法では、「共通データ」を明確にできるものの、同じデータにアクセスするという共通項がある場合に、まとめて扱いたいという要望に応えられない。   Also, for example, as in the classification method of FIG. 18B, the “common data” is clarified and the entire system is divided into a plurality of units, but all functions that only access “common data” are presented separately. It is also possible. However, if they are separated into too small units, it becomes difficult to handle individual program groups. In this classification method, although “common data” can be clarified, when there is a common item of accessing the same data, it is not possible to respond to the desire to handle them collectively.

図19は、分析サーバによる分類の例を示す図である。分析サーバ100は、「共通データ」にのみアクセスするプログラムを、個々に扱うものとして抽出するのではなく、同じデータにアクセスするものとして集約した単位を作成する。図19の例では、「共通データ」にのみアクセスする複数の機能を集約した4つの機能を含むグループG10が作成される場合を示している。グループG10は、準サービス部品に対応する。   FIG. 19 is a diagram illustrating an example of classification by the analysis server. The analysis server 100 does not extract a program that accesses only “common data” as one that is handled individually, but creates a unit that is aggregated as one that accesses the same data. The example of FIG. 19 shows a case where a group G10 is created that includes four functions that aggregate a plurality of functions that access only “common data”. Group G10 corresponds to a semi-service component.

また、グループG21,G22,G23は、「固有データ」を介して分離されたプログラム群およびデータの単位である。グループG21,G22,G23は、サービス部品に対応する。   The groups G21, G22, and G23 are program groups and data units separated through “unique data”. Groups G21, G22, and G23 correspond to service components.

このように分析サーバ100によれば、「固有データ」を保持するサービス部品を抽出できる。その上で、同じ「共通データ」にアクセスする複数のプログラムを、まとまった単位として抽出できるようになる。同じ「共通データ」にアクセスする複数のプログラムは、共通の性質をもっている可能性が高く、これら複数のプログラムをまとめて扱える単位を適切に抽出することができる。特に、大規模なシステムを分離する上で、ユーザが扱うには細かくなり過ぎないように、グループを提示可能になる。   As described above, according to the analysis server 100, it is possible to extract a service component that holds “unique data”. In addition, a plurality of programs that access the same “common data” can be extracted as a unit. A plurality of programs that access the same “common data” are likely to have a common property, and a unit that can handle the plurality of programs collectively can be appropriately extracted. In particular, when separating a large-scale system, groups can be presented so as not to be too fine for the user to handle.

また、分析サーバ100は、当該グループについて、固有データを基に分離した単位(サービス部品)と、共通データを基に分離した単位(準サービス部品)とを区別して提示することができる。更に、共通データについては、準サービス部品の分離に利用した共通データD10(分離する単位に利用した共通データ)と、分離した単位から独立の共通データD20とを更に分類することもできる。   Further, the analysis server 100 can distinguish and present a unit (service component) separated based on unique data and a unit (quasi-service component) separated based on common data for the group. Further, with respect to the common data, the common data D10 used for separating the semi-service components (common data used for the unit to be separated) and the common data D20 independent from the separated unit can be further classified.

次に、分析サーバ100の機能を利用して、業務サーバ200の一部機能を分離し、移行先サーバ300に移行する例を説明する。
図20は、既存システムの一部機能の移行例を示す図である。例えば、業務サーバ200では、既存業務システムとして営業支援システムが稼動している。営業支援システムには、多くのプログラムやデータが用いられている。ここで、図20では、“PG”の文字列と数値との結合によりプログラムを表している。
Next, an example in which the functions of the analysis server 100 are used to separate some functions of the business server 200 and migrate to the migration destination server 300 will be described.
FIG. 20 is a diagram illustrating an example of migration of some functions of an existing system. For example, in the business server 200, a sales support system is operating as an existing business system. Many programs and data are used in the sales support system. Here, in FIG. 20, a program is represented by a combination of a character string “PG” and a numerical value.

例えば、営業支援システムは、プログラムPG1,PG2,PG3,PG4,PG5,PG6,PG7を含む(ST1)。プログラムPG1,PG2,PG3,PG4,PG5,PG6,PG7は様々なデータにアクセスする。既存の営業支援システムは、一体となった構造となっていることが多く、システム変更を行おうとすると、どこに影響が及ぶか分からない。そのため、プログラムの修正や保守作業が難しい。   For example, the sales support system includes programs PG1, PG2, PG3, PG4, PG5, PG6, and PG7 (ST1). Programs PG1, PG2, PG3, PG4, PG5, PG6, and PG7 access various data. Existing sales support systems often have an integrated structure, and it is not known where they will be affected if a system change is attempted. Therefore, it is difficult to modify and maintain the program.

そこで、分析サーバ100は、業務サーバ200のプログラム資産を分析し、プログラムPG1,PG2,PG3,PG4,PG5,PG6,PG7および各データを、サービス部品および準サービス部品の機能単位に分類する。   Therefore, the analysis server 100 analyzes the program assets of the business server 200 and classifies the programs PG1, PG2, PG3, PG4, PG5, PG6, PG7 and each data into functional units of service components and semi-service components.

その結果、例えば、分析サーバ100は、営業支援システムを、営業拠点管理機能、取引先管理機能および会計処理機能の3つの機能に分類する(ST2)。営業拠点管理機能は、プログラムPG2,PG7、および、これらの固有データを含む。取引先管理機能は、プログラムPG1,PG5,PG6、および、これらの固有データを含む。会計処理機能は、プログラムPG3,PG4、および、これらの固有データを含む。また、分析サーバ100は、営業拠点管理機能、取引先管理機能および会計処理機能からアクセスされる共通データとして、業務サーバ200のプログラム資産から、予算・実績データを抽出する。   As a result, for example, the analysis server 100 classifies the sales support system into three functions: a sales office management function, a business partner management function, and an accounting processing function (ST2). The sales office management function includes programs PG2 and PG7 and their unique data. The supplier management function includes programs PG1, PG5, PG6 and their unique data. The accounting processing function includes programs PG3 and PG4 and their specific data. Moreover, the analysis server 100 extracts budget / actual data from the program assets of the business server 200 as common data accessed from the sales office management function, the business partner management function, and the accounting processing function.

こうして、分析サーバ100は、プログラム資産に含まれる複数のプログラムを、機能単位に分類し、機能毎に関係するプログラムやデータを明確にすることができる。
機能別の分類によって、各機能に対応するプログラムの修正や保守作業を行い易くなる。例えば、取引先管理機能の変更を行いたい場合、取引先管理機能に関連するプログラムPG1,PG5,PG6およびそれらの固有データが影響範囲となる。このため、ユーザは、分析サーバ100により表示された分類結果を参照することで、プログラムPG1,PG5,PG6およびそれらの固有データを主な変更対象とすればよいと判断することができる。また、変更の影響範囲を絞り込むことで、プログラムの変更に伴うユーザの作業を効率化でき、プログラムの変更を迅速に行えるようになる。
In this way, the analysis server 100 can classify a plurality of programs included in the program asset into functional units and clarify programs and data related to each function.
By classification according to function, it becomes easy to modify and maintain a program corresponding to each function. For example, when it is desired to change the supplier management function, the programs PG1, PG5, PG6 related to the supplier management function and their unique data are in the affected range. For this reason, the user can determine that the programs PG1, PG5, PG6 and their unique data should be mainly changed by referring to the classification result displayed by the analysis server 100. Further, by narrowing down the influence range of the change, the user's work accompanying the change of the program can be made efficient, and the program can be changed quickly.

また、ユーザは、分析サーバ100による分類結果から、システム変更を、更に迅速化することもできる。例えば、分析サーバ100は、固有データに関連付けられるプログラム、および、共通データに関連付けられるプログラムを、分析対象のシステム(現状の業務サーバ200)とは異なるシステム(移行先サーバ300)への移行対象の候補としてもよい。すなわち、取引先管理機能の処理についての変更の頻度が多い場合、取引先管理機能を業務サーバ200から分離し、移行先サーバ300に移行させることもできる(ST3)。   Further, the user can further speed up the system change from the classification result by the analysis server 100. For example, the analysis server 100 transfers a program associated with the unique data and a program associated with the common data to a system to be migrated to a system (migration destination server 300) different from the system to be analyzed (current business server 200). Can also be a candidate. That is, when the frequency of changes in the processing of the supplier management function is high, the supplier management function can be separated from the business server 200 and transferred to the transfer destination server 300 (ST3).

この場合、ユーザは、取引先管理機能に関連するプログラムを修正して、取引先管理機能に対応するプログラムPG1,PG5,PG6およびそれらの固有データを、業務サーバ200から移行先サーバ300に移行させる。業務サーバ200は、取引先管理機能の実行を停止し、移行先サーバ300が取引先管理機能を実行する。ここで、取引先管理機能から業務サーバ200に対する予算・実績データへのアクセスは、所定のインターフェース(例えば、WebAPI)によって定義される。   In this case, the user modifies the program related to the business partner management function, and migrates the programs PG1, PG5, PG6 corresponding to the business partner management function and their unique data from the business server 200 to the migration destination server 300. . The business server 200 stops execution of the supplier management function, and the migration destination server 300 executes the supplier management function. Here, access from the business partner management function to the budget / actual data for the business server 200 is defined by a predetermined interface (for example, WebAPI).

このように、取引先管理機能を、業務サーバ200から移行先サーバ300に切り出すことで、取引先管理機能を変更した際の他の機能への影響を一層小さくすることができる。このため、業務内容の変化に応じて、システム変更を迅速に行えるようになり、業務内容の変化に迅速に対応可能になる。   Thus, by cutting out the supplier management function from the business server 200 to the migration destination server 300, it is possible to further reduce the influence on other functions when the supplier management function is changed. For this reason, it becomes possible to change the system quickly according to the change in the business content, and it is possible to respond quickly to the change in the business content.

ところで、近年では、営業支援システムなどの業務システムは、環境や外部変化(例えば、取引先変更、法改正および拠点追加など)に合わせて迅速に変更できることが好ましい。この点、変更影響を局所化し、業務システムに含まれる個々の機能のリリースサイクルを速めることを可能にする「マイクロサービス」というソフトウェア構造が考えられている。マイクロサービスとは、システム全体を一かたまりのアプリケーションとして開発するのではなく、システムに属する各機能を、独立した軽量なサービスの集まりとして構築する手法である。独立したサービスとするために、データは、サービス毎に管理される。マイクロサービスでは、個々のサービスだけが使うデータをサービス内部に保持し、サービス間で共有するデータを明確にして、各サービスから共有するデータへのアクセス方法を決める。   By the way, in recent years, it is preferable that a business system such as a sales support system can be quickly changed in accordance with an environment and external changes (for example, a supplier change, a law revision, a base addition, etc.). In this regard, a software structure called “micro service” is considered that makes it possible to localize the impact of change and speed up the release cycle of individual functions included in the business system. The micro service is a technique for constructing each function belonging to the system as an independent collection of lightweight services, rather than developing the entire system as a single application. In order to provide an independent service, data is managed for each service. In microservices, data used only by individual services is held inside the service, data shared between services is clarified, and an access method to data shared from each service is determined.

分析サーバ100によれば、既存業務システムについて、ユーザにとって扱いやすい適切な単位で各機能に用いられるプログラムやデータをグループ化し、マイクロサービス化を図ることができるという利点もある。既存業務システムのマイクロサービス化に伴うユーザの作業を省力化することもできる。   According to the analysis server 100, there is an advantage that programs and data used for each function can be grouped in an appropriate unit that is easy to handle for an existing business system, and a micro service can be realized. User work associated with the microservices of existing business systems can also be saved.

なお、第1の実施の形態の情報処理は、処理部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体13に記録できる。   The information processing according to the first embodiment can be realized by causing the processing unit 1b to execute a program. The information processing according to the second embodiment can be realized by causing the CPU 101 to execute a program. The program can be recorded on a computer-readable recording medium 13.

例えば、プログラムを記録した記録媒体13を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。   For example, the program can be distributed by distributing the recording medium 13 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via a network. For example, the computer stores (installs) a program recorded in the recording medium 13 or a program received from another computer in a storage device such as the RAM 102 or the HDD 103, and reads and executes the program from the storage device. Good.

1 分離装置
1a 記憶部
1b 処理部
2 システム
3 表示装置
4 出力画面
4a,4b,4c 画面部品
D1 データ集合
D11 第1のデータセット
D12 第2のデータセット
DESCRIPTION OF SYMBOLS 1 Separator 1a Memory | storage part 1b Processing part 2 System 3 Display apparatus 4 Output screen 4a, 4b, 4c Screen components D1 Data set D11 1st data set D12 2nd data set

Claims (10)

対象のシステムから業務ごとの対応するデータを分離する分離方法であって、コンピュータが、
前記対象のシステムの第1のプログラムにアクセスされる第1のデータと、前記対象のシステムの第2のプログラムにアクセスされる第2のデータとを特定し、
前記第1のプログラムおよび前記第2のプログラムの両方にアクセスされるデータを、複数の業務から参照される、または、更新される共通データとして出力する、
分離方法。
A separation method for separating corresponding data for each business from a target system,
Identifying first data accessed by a first program of the target system and second data accessed by a second program of the target system;
Outputting data accessed by both the first program and the second program as common data that is referred to or updated by a plurality of tasks;
Separation method.
前記特定では、前記対象のシステムの複数のプログラムとデータとの関係に基づいて、前記第1のプログラムおよび前記第1のデータを含む第1のグループと、前記第2のプログラムおよび前記第2のデータのうち前記第1のデータと重複しない第3のデータを含む第2のグループとを前記対象のシステムから抽出する、請求項1記載の分離方法。   In the specifying, based on a relationship between a plurality of programs and data of the target system, the first group including the first program and the first data, the second program, and the second program The separation method according to claim 1, wherein a second group including third data that does not overlap with the first data is extracted from the target system. 前記第1のデータのうち前記第2のデータと重複する部分が前記第2のプログラムにより更新される場合、前記部分を前記共通データと判定し、前記第1のグループから除外する、請求項2記載の分離方法。   The portion of the first data that overlaps with the second data is updated by the second program, and the portion is determined as the common data and excluded from the first group. The separation method described. 前記第1のデータのうち前記共通データ以外の前記第1のプログラムにより更新される他の部分を前記第1のグループの固有データとして出力する、請求項3記載の分離方法。   4. The separation method according to claim 3, wherein the other portion of the first data that is updated by the first program other than the common data is output as the unique data of the first group. 第3のプログラムと第4のプログラムと前記第3および前記第4のプログラムにより参照されるが前記第3および前記第4のプログラムにより更新されない他の共通データとを含む第3のグループを前記対象のシステムから抽出する、請求項4記載の分離方法。   A third group including a third program, a fourth program, and other common data that is referenced by the third and fourth programs but not updated by the third and fourth programs, The separation method according to claim 4, which is extracted from the system. グループに属するプログラムを関連付けるデータの種類が前記固有データであるか、前記共通データであるかに応じて、表示装置による前記グループの表示方法を変える、請求項5記載の分離方法。   The separation method according to claim 5, wherein a display method of the group by a display device is changed according to whether the type of data associated with a program belonging to a group is the specific data or the common data. 前記対象のシステムのプログラムにアクセスされる前記第1および前記第2のデータのうちの前記共通データに含まれない固有データと、前記共通データとをそれぞれ分離し、分離した領域を業務の切り出しやすい範囲としてユーザに提示する、請求項1記載の分離方法。   Of the first and second data accessed by the program of the target system, the unique data not included in the common data and the common data are separated from each other, and the separated area can be easily cut out. The separation method according to claim 1, wherein the separation method is presented to a user as a range. 前記固有データに関連付けられるプログラム、および、前記共通データに関連付けられるプログラムを、前記対象のシステムとは異なるシステムへの移行対象の候補とする、請求項7記載の分離方法。   The separation method according to claim 7, wherein the program associated with the unique data and the program associated with the common data are candidates for migration to a system different from the target system. 対象のシステムから業務ごとの対応するデータを分離する分離装置であって、
前記対象のシステムにおけるプログラム資産を記憶する記憶部と、
前記記憶部を参照して、前記対象のシステムの第1のプログラムにアクセスされる第1のデータと、前記対象のシステムの第2のプログラムにアクセスされる第2のデータとを特定し、前記第1のプログラムおよび前記第2のプログラムの両方にアクセスされるデータを、複数の業務から参照される、または、更新される共通データとして出力する処理部と、
を有する分離装置。
A separation device that separates the corresponding data for each business from the target system,
A storage unit for storing program assets in the target system;
With reference to the storage unit, the first data accessed by the first program of the target system and the second data accessed by the second program of the target system are identified, and A processing unit that outputs data accessed by both the first program and the second program as common data that is referred to or updated by a plurality of tasks;
Separation device having.
対象のシステムから業務ごとの対応するデータを分離する分離プログラムであって、
前記対象のシステムの第1のプログラムにアクセスされる第1のデータと、前記対象のシステムの第2のプログラムにアクセスされる第2のデータとを特定し、
前記第1のプログラムおよび前記第2のプログラムの両方にアクセスされるデータを、複数の業務から参照される、または、更新される共通データとして出力する、
処理をコンピュータに実行させる分離プログラム。
A separation program that separates the corresponding data for each business from the target system,
Identifying first data accessed by a first program of the target system and second data accessed by a second program of the target system;
Outputting data accessed by both the first program and the second program as common data that is referred to or updated by a plurality of tasks;
A separation program that causes a computer to execute processing.
JP2018016936A 2018-02-02 2018-02-02 Separation method, separation device and separation program Active JP7104297B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018016936A JP7104297B2 (en) 2018-02-02 2018-02-02 Separation method, separation device and separation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018016936A JP7104297B2 (en) 2018-02-02 2018-02-02 Separation method, separation device and separation program

Publications (2)

Publication Number Publication Date
JP2019133541A true JP2019133541A (en) 2019-08-08
JP7104297B2 JP7104297B2 (en) 2022-07-21

Family

ID=67545008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018016936A Active JP7104297B2 (en) 2018-02-02 2018-02-02 Separation method, separation device and separation program

Country Status (1)

Country Link
JP (1) JP7104297B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021177377A (en) * 2020-04-14 2021-11-11 アクセンチュア グローバル ソリューションズ リミテッド Shell conversion for enterprise resource planning (erp) system
JP7356013B2 (en) 2019-10-21 2023-10-04 富士通株式会社 Information presentation program, information presentation device, and information presentation method
JP7428599B2 (en) 2020-06-26 2024-02-06 株式会社日立製作所 System construction support device and method
JP7484038B2 (en) 2019-11-21 2024-05-16 日本電気株式会社 Data division device, data division method, and program.

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006302135A (en) * 2005-04-22 2006-11-02 Fujitsu Ltd Application asset analysis program, application asset analysis method and application asset analysis device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006302135A (en) * 2005-04-22 2006-11-02 Fujitsu Ltd Application asset analysis program, application asset analysis method and application asset analysis device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7356013B2 (en) 2019-10-21 2023-10-04 富士通株式会社 Information presentation program, information presentation device, and information presentation method
JP7484038B2 (en) 2019-11-21 2024-05-16 日本電気株式会社 Data division device, data division method, and program.
JP2021177377A (en) * 2020-04-14 2021-11-11 アクセンチュア グローバル ソリューションズ リミテッド Shell conversion for enterprise resource planning (erp) system
US11645091B2 (en) 2020-04-14 2023-05-09 Accenture Global Solutions Limited Shell conversion for an enterprise resource planning (ERP) system
JP7428599B2 (en) 2020-06-26 2024-02-06 株式会社日立製作所 System construction support device and method

Also Published As

Publication number Publication date
JP7104297B2 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
US11943104B2 (en) Application migration system
CN109328335B (en) Intelligent configuration discovery techniques
US8914789B2 (en) Systematic migration of workload based on classification
CN103778178B (en) Method and system for reconfiguring snapshot of virtual machine (VM)
US10698674B2 (en) Systems and methods for entry point-based code analysis and transformation
JP5239075B2 (en) Computer system, method and computer program for managing a service process including a plurality of service steps
US10606450B2 (en) Method and system for visual requirements and component reuse driven rapid application composition
US10901804B2 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
US20110131300A9 (en) Computer system for managing configuration item, and method and computer program therefor
JP7104297B2 (en) Separation method, separation device and separation program
US20130290238A1 (en) Discovery and grouping of related computing resources using machine learning
JPWO2012124018A1 (en) Information processing apparatus, information processing method, and information processing program
US8856775B2 (en) Unstacking software components for migration to virtualized environments
JP5971338B2 (en) Template generation program, template generation method, and template generation apparatus
US9934307B2 (en) Apparatus and method for managing job flows in an information processing system
JP2005242904A (en) Document group analysis device, document group analysis method, document group analysis system, program and storage medium
US11782763B2 (en) Resolution of tickets in a multi-tenant environment
US9369352B1 (en) Method of capturing server and operating system metrics for virtual to physical topology reporting
JP2005190212A (en) Database system, data processing method and program
JP2016146022A (en) Model base development support device, model base development support method, and model base development support program
JP2019101829A (en) Software component management system, computor, and method
JP2015153323A (en) Symbolic execution program, symbolic execution method, and symbolic execution device
JP2013020494A (en) Software execution system, and software execution method, and program
JP2023035466A (en) Information processing program, information processing method, and information processing apparatus
JP6575099B2 (en) Operation management program, operation management device, and operation management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201110

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20201126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20201126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220620

R150 Certificate of patent or registration of utility model

Ref document number: 7104297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150