JPWO2016143019A1 - 業務仕様再生装置および業務仕様再生方法 - Google Patents

業務仕様再生装置および業務仕様再生方法 Download PDF

Info

Publication number
JPWO2016143019A1
JPWO2016143019A1 JP2017504339A JP2017504339A JPWO2016143019A1 JP WO2016143019 A1 JPWO2016143019 A1 JP WO2016143019A1 JP 2017504339 A JP2017504339 A JP 2017504339A JP 2017504339 A JP2017504339 A JP 2017504339A JP WO2016143019 A1 JPWO2016143019 A1 JP WO2016143019A1
Authority
JP
Japan
Prior art keywords
code
business
processing
extracted
record
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
JP2017504339A
Other languages
English (en)
Other versions
JP6178537B2 (ja
Inventor
結 渡邊
結 渡邊
敬志 大島
敬志 大島
三部 良太
良太 三部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2016143019A1 publication Critical patent/JPWO2016143019A1/ja
Application granted granted Critical
Publication of JP6178537B2 publication Critical patent/JP6178537B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生を可能とする。【解決手段】業務仕様再生装置100を、仕様再生対象である業務システムのソースコード、業務単位の画面遷移リスト、およびアクセス基点リストを格納した記憶装置101と、アクセス基点リストが示す該当処理に関して、業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、アクセス基点リストが示すコード片および所属ソースに基づきソースコードから抽出し、加工処理と実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と画面遷移リストとに基づいて業務単位の決定表を生成し出力装置106に表示する処理を実行する演算装置104を含む構成とする。

Description

本発明は、業務仕様再生装置および業務仕様再生方法に関する。
業務システムのリプレイスや保守開発に際し、該当業務システムを利用する業務のうち追加、変更が生じる業務に関しては、その要件がユーザから具体的に提示されることが一般的である。一方、そうした追加、変更が生じないその他の業務については、現行システム仕様に準ずるといった形で通知される程度で、明示的に仕様が提示されないことがある。そのため、現行システムの振る舞いから、現行の各業務に対するシステム仕様を再生する必要がある。
ところが、長年利用されてきた業務システムでは、開発時に作成された要件や仕様に関するドキュメントが保管、保守されていないケースが頻発する。その結果、要件定義担当者は、既存システムの利用部門や運用部門に対するヒアリングやシステムの振る舞いを調査するなどし、システム仕様の再生を行うこととなる。他方、そうしたヒアリングの対象となる運用部門は、既存システムの利用者である業務部門の業務には精通していない場合が多い。そのため、業務仕様の把握漏れや調査遅延が生じ、要件定義工程の長期化、高コスト化が起こりやすくなってしまうという問題がある。
こうした業務システムのシステム仕様を再生する従来技術として、以下の技術が提案されている。すなわち、ソースプログラムから、従来に比較して、細かく、かつ一定の粒度により、業務モデル及び物理モデルを対応させて抽出するとの目的の下、ソースプログラムのソースコードから、コード種類、コード組合せ及びコード配置と、処理機能を示す単位プログラムとの対応関係が予め設定された第1ルールに従い、ソースコードから、処理機能に対応する単位プログラムを抽出する処理機能抽出部と、単位プログラムの処理機能の種類、組合せ及び配置順番と、単位プログラムの配置順番の変更、統廃合処理との対応関係を予め設定した第2ルールに従い、単位プログラムの配置順の変更、統合及び廃棄の統廃合処理を行い、物理モデルとして出力する処理機能統廃合部とを有するリバースエンジニアリング支援装置(特許文献1参照)などが提案されている。
特許第4820924号公報
従来技術によれば、ソースコードから各業務に対応したシステム仕様情報を得ることができる。しかし、業務とシステム仕様との対応関係を定めたルールを予め用意することが前提であり、そうした対応関係に精通する人物やドキュメントの存在は必須条件となってしまう。上述のように、開発時に作成される要件や仕様に関するドキュメントが保管、保守されていない状況にあれば、従来技術により仕様再生は実行出来ない。また同様に、システム運用部門が該当業務に精通していない場合も、従来技術による仕様再生は実行出来ない。
そこで本発明の目的は、要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生を可能とする技術を提供することにある。
上記課題を解決する本発明の業務仕様再生装置は、仕様再生対象である業務システムのソースコードと、業務単位の画面遷移リストと、業務データを所定処理に利用する前記ソースコード中の各コード片と該当業務データの所属ソースの関係を規定したアクセス基点リストと、を格納した記憶装置と、前記アクセス基点リストが示す該当処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行する演算装置とを備えることを特徴とする。
また、本発明の業務仕様再生方法は、仕様再生対象である業務システムのソースコードと、業務単位の画面遷移リストと、業務データを所定処理に利用する前記ソースコード中の各コード片と該当業務データの所属ソースの関係を規定したアクセス基点リストと、を格納した記憶装置を備えた情報処理装置が、前記アクセス基点リストが示す該当処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行することを特徴とする。
本発明によれば、要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生が可能となる。
本実施形態における業務仕様再生装置の構成例を示す図である。 本実施形態の業務仕様再生方法の処理手順例1を示すフロー図である。 本実施形態における対象業務システムのソースコードの例を示す図である。 本実施形態における対象業務システムの業務データアクセス基点リストの例を示す図である。 本実施形態における対象業務システムの業務に対応する画面遷移リストの例を示す図である。 本実施形態における業務処理コードテーブルの例を示す図である。 本実施形態の業務仕様再生方法の処理手順例2を示すフロー図である。 本実施形態における画面別業務処理コードの依存関係テーブルの例を示す図である 本実施形態の業務仕様再生方法の処理手順例3を示すフロー図である。 本実施形態における画面別業務データ出力処理の抽出結果の例を示す図である。 本実施形態の業務仕様再生方法の処理手順例4を示すフロー図である。 本実施形態における業務データ出力処理ごとの加工処理の抽出結果の例を示す図である。 本実施形態における業務データ加工処理テーブルの例を示す図である。 本実施形態における業務データ加工処理ごとの実行条件候補の抽出結果の例を示す図である。 本実施形態における実行判定処理テーブルの例を示す図である。 本実施形態における業務データ加工処理の実行条件の例を示す図である。 本実施形態における画面単位決定表の例を示す図である。 本実施形態における業務単位決定表の例を示す図である。
−−−システム構成の例−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態の業務仕様再生装置100の構成例を示す図である。図1に示す業務仕様再生装置100は、要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生を可能とする情報処理装置である。換言すると、要件定義担当者が容易に参照できる情報から、既存の業務システムが、ユーザの行うどの業務に対応して、どのような条件下でどの業務データをどのように加工してどの業務データを生成するのかを示すシステム仕様を再生するための情報処理装置である。
こうした業務仕様再生装置100のハードウェア構成は以下の如くとなる。業務仕様再生装置100は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置101、RAMなど揮発性記憶素子で構成されるメモリ103、メモリ103に保持されるプログラム110〜115を実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPU104(演算装置)、担当者等からのデータ入力や指示を受け付けるキーボードやマウス等の入力装置105、処理結果を出力するディスプレイ等の出力装置106を備える。
なお、メモリ103内には、本実施形態の業務仕様再生装置100として必要な機能を実装する為のプログラム110〜115が記憶されている。また、記憶装置101内には、各種処理に必要なデータ類121〜128が記憶されている。これらデータ類121〜128の詳細については後述する。
−−−機能の例−−−
続いて、本実施形態の業務仕様再生装置100が備える機能について説明する。上述したように、以下に説明する機能は、例えば業務仕様再生装置100がメモリ103で備えるプログラム110〜115をそれぞれ実行することで実装される機能と言える。
こうした業務仕様再生装置100は、業務仕様再生対象となる業務システムのソースコードを、記憶装置101上のソースコード120として保存する機能を備えている。このソースコード120は、業務仕様再生装置100を用いて仕様再生を行う担当者が、業務仕様再生対象の業務システムのソースコードを入力装置105から適宜に入力したものである。
また、業務仕様再生装置100は、上述の担当者が入力装置105から入力する業務データアクセス基点リストを、記憶装置101上の業務データアクセス基点リスト121として保存する機能を備えている。業務データアクセス基点とは、上述の業務システムのソースコード120に含まれるコード片のうち業務システムの画面上のデータ項目または業務システムのDBシステム上のデータ項目に対するアクセス処理を記述している1つのコード片と、そのコード片のアクセス先データ項目と、このコード片のアクセス先データ項目を持つ画面またはDBテーブルの名前と、このコード片で行われるアクセス処理の種別との組み合わせで構成されたものである。上述のアクセス処理の種別は、「参照」または「出力」である。この業務データアクセス基点リストは、上述の担当者が、ソースコード上の設定ファイル等を参照して作成して入力装置105から入力したものとである。
また、業務仕様再生装置100は、上述の担当者が入力装置105から入力する、業務単位の画面遷移リストを、記憶装置101上の業務単位の画面遷移リスト122として保存する機能を備えている。業務単位の画面遷移とは、業務システムの利用者が1つの業務を実施する際に発生する業務システム上の画面遷移の情報であり、利用者が行う業務名と、利用者が業務データを入力する遷移元画面名と、利用者が業務システムからの出力を受け取る遷移先画面名との組み合わせで構成されている。この画面遷移リストは、上述の担当者が、ユーザマニュアル等を参照して作成して入力装置105から入力したものである。
また、業務仕様再生装置100は、上述の業務データアクセス基点リスト121の各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と、そのアクセス基点からの実行パスに含まれるコード片を、ソースコード120から抽出して、業務処理コードテーブル123に格納する機能を備えている。上述の業務処理コードは、画面名と、その画面上のデータを参照するアクセス基点と、そのコード片が実行される際に同時に実行される可能性があるコード片の集合との組み合わせで構成されている。この機能は、上述の実行パス抽出プログラム110を実行することで業務仕様再生システム100に実装される機能である。
また、業務仕様再生装置100は、業務処理コードテーブル123の所定のレコードを、ソースコード120に照合し、所定のレコードのコード片の集合に含まれるコード片それぞれのデータ依存先と制御依存先にあたるコード片を特定し、業務処理コード依存関係テーブル124に格納する機能を備えている。この業務処理コード依存関係テーブルは、1つの業務処理コードに含まれるコード片それぞれについて1つのレコードをもち、当該業務処理コード依存関係レコードは、1つのコード片と、そのコード片のデータ依存先のコード片と、制御依存先のコード片との組み合わせで構成されている。この機能は、上述の依存関係解析プログラム111を実行することで業務仕様再生システム100に実装される機能である。
また、業務仕様再生装置100は、業務処理コード依存関係テーブル124の所定のレコードを、業務データアクセス基点リスト121と照合して、画面またはDBのデータ項目への出力処理を行うコード片の業務処理コード依存関係レコードと、そのコード片で出力されるデータの値を生成する処理を行うコード片を持つレコードを抽出して、抽出したレコードと加工処理種別とアクセスする業務データの情報を組み合わせたレコードを業務データ加工処理テーブル125に格納する機能を備えている。
上述の加工処理種別は、業務データへの「参照」または「出力」または演算である。この機能は、上述の業務データ加工処理抽出プログラム112を実行することで業務仕様再生システム100に実装される機能である。
また、業務仕様再生装置100は、業務データ加工処理テーブル125の所定のレコードを、業務処理コード依存関係テーブル124と照合して、各レコードの実行条件を特定し、各レコードと実行条件の組み合わせを業務データ加工処理テーブル126の各レコード上に更新し、特定した実行条件を、実行判定処理テーブル126に格納する機能を備えている。実行条件は、実行条件の識別子と、実行条件種別と、実行条件を判定する判定コード片と、実行条件に影響する業務データと、実行条件に影響する演算を行うコード片の組み合わせである。この機能は、上述の実行判定処理抽出プログラム113を実行することで業務仕様再生システム100に実装される機能である。
また、業務仕様再生装置100は、業務データ加工処理テーブル125と、実行判定処理テーブル126から、画面単位決定表を作成し、画面単位決定表127に格納する機能を備えている。この機能は、上述の決定表作成プログラム114を実行することで業務仕様再生システム100に実装される機能である。
また、業務仕様再生装置100は、画面単位決定表127を、業務単位の画面遷移リスト122に照合し、1つの業務に対応する1つ以上の画面遷移に対応する画面単位決定表を1つの決定表の形式に合成し、業務単位決定表128へ格納する機能を備えている。この機能は、上述の決定表合成プログラム115を実行することで業務仕様再生システム100に実装される機能である。
また、業務仕様再生装置100は、記憶装置101上のデータ120〜131を、業務仕様再生装置100を用いて仕様再生を行う担当者に開示する機能を備えている。この機能は、記憶装置101上のデータ120〜131を出力装置106に出力することで、業務仕様再生システム100で実現される機能である。
−−−処理フローの例−−−
以下、本実施形態における業務仕様再生装置を用いた業務仕様再生方法の実際手順について図に基づき説明する。以下で説明する業務仕様再生方法に対応する各種動作は、業務仕様再生装置100がメモリ103における各プログラム110〜115実行することで実現される。そして、これらのプログラム110〜115、以下に説明される各種の動作を行うためのコードから構成されている。
図2は、本実施形態における業務仕様再生方法の処理手順例1を示すフロー図である。ここでまず、業務仕様再生装置100を利用する担当者は、業務仕様再生対象となる業務システムのソースコード120と、業務データアクセス基点リスト121と、業務単位の画面遷移リスト122とを、入力装置105を介して業務仕様再生装置100へ入力する。一方、業務仕様再生装置100は、入力装置105を介して上述のソースコード120、業務データアクセス基点リスト121、および業務単位の画面遷移リスト122を読み込む(S1010)。
上述のソースコード120は、図3に例示すように、既存システム(業務仕様再生対象である業務システム)の現在の実装プログラムに対応した、ソースコードファイルである。図3で例示するソースコードはJava(登録商標)言語で記述されたプログラムの一部を示している。既存システムにおけるソースコードは、要件や仕様に関する開発当初のドキュメント等とは異なり、現行のものが保守されている可能性が高いため、担当者は比較的容易に入手することができる。なお、業務仕様再生装置100は、ソースコード120を記述したプログラム言語やコンパイル状態に対応したソースコード解析機能を持つ必要がある。
また、上述の業務単位の画面遷移リスト120は、図5に例示するように、当該業務単位の画面遷移リスト120上のレコード番号(図中では「#」)をキーとして、1つの画面遷移における遷移元画面名および遷移先画面名と、その画面遷移が発生する業務名が対応付けられたレコードの集合体となっている。担当者は、業務単位の画面遷移リスト120の各レコードを、業務システムの利用マニュアルを参照して作成することができる。利用マニュアルはソースコードと同じく運用中に継続的に利用されるため、開発時のドキュメントと比較して保守されている可能性が高い。加えて、利用マニュアルは利用者に読解されることを前提として作成されるため、担当者がこれを読解して業務単位の画面遷移情報を取得することは比較的容易である。また、業務システムの運用保守担当者が利用者の業務にアクセスできない場合は、業務システム自体の実行ログから画面と業務の対応関係を抽出しても良い。
また、上述の業務データアクセス基点リスト121は、図4に例示するように、当該業務データアクセス基点リスト121上のレコード番号(図中では「#」)をキーとして、ソースコード120上のコード片の1つを示すアクセス基点と、そのアクセス基点で行われるデータアクセス処理の種別(図中では「処理」)と、アクセスされる業務データ名と、その業務データが所属している画面やDBテーブルの名称(図中では「業務データ所属))が対応付けられたレコードの集合体となっている。この業務データアクセス基点リスト121のレコードは、業務単位の画面遷移リスト122の情報に基づいて、一般的なリバース解析アルゴリズム等でソースコードを解析することで作成できる。
ここで図2のフローの説明に戻る。続いて業務仕様再生装置100は、ステップS10110で読み込んだソースコード120から画面毎の実行パスを抽出する(S1020)。この場合、業務仕様再生装置100は、実行パス抽出プログラム110を実行することにより、下記の処理を実行する。
まず、業務仕様再生装置100は、ソースコード120を構成するモジュール間の呼び出し関係を特定しておく。図3に示したJava(登録商標)言語で記述されたソースコード120の場合、業務仕様再生装置100は、クラスごとのフィールドおよびメソッドを1モジュールとして、モジュール毎に呼び出し元モジュールと呼び出し先モジュールを特定する。
加えて業務仕様再生装置100は、業務データアクセス基点リスト121から、データアクセス処理の種別が「参照」であり、かつ、業務データの所属元が何れかの画面であるレコードを抽出する。さらに業務仕様再生装置100は、ここで抽出したレコードから、業務データの所属元の画面名が共通のレコードのアクセス基点を、業務データの所属元の画面ごとに抽出する。その結果、業務仕様再生装置100は、業務データの所属元の画面ごとに、その画面のデータを参照するアクセス基点の集合が得られる。
続いて、業務仕様再生装置100は、業務データの所属元の画面ごとに、その画面のデータを参照するアクセス基点をコード片として含むモジュールを、ソースコード120から特定する。業務仕様再生装置100は、ここで特定したモジュールからの呼び出し先モジュールを再帰的に辿ることで、そのモジュールを起点とした実行パスを抽出する。その結果、業務仕様再生装置100は、業務データの所属元の画面ごとに、業務データを参照した結果を利用して処理している可能性のあるモジュールの集合が得られる。
最後に業務仕様再生装置100は、業務処理コードテーブル123として、図6に例示するように、業務データの所属元の画面(図中では「画面」)をキーとして、その画面上のデータを参照するコード片を含むモジュールの集合(図中では「参照モジュール」)と、そこから呼び出されるモジュールの集合(図中では「実行モジュール」)とが対応付けられたレコードの集合を、記憶装置101に格納する。
ここで再び図2のフローの説明に戻る。次に業務仕様再生装置100は、ソースコード120と業務処理コードテーブル123から、コード片間の依存関係を抽出する(S1030)。この場合、業務仕様再生装置100は、依存関係解析プログラム111を実行することにより、業務処理コードテーブル123の各レコードに対して、図7に示すステップS1031〜S1039の各処理を、以下のフローに沿って実行する。
まず業務仕様再生装置100は、業務処理コードテーブル123のレコードを1つ選択し、そのレコードの「参照モジュール」および「実行モジュール」をソースコード120と照合し、ソースコード120からこれらのモジュールとそのモジュールを構成するコード片の集合を抽出する(S1031)。
次に業務仕様再生装置100は、上述のステップS1031で抽出したモジュールのうち未処理の1つを選択する(S1032)。また業務仕様再生装置100は、ここで選択したモジュールに対して、モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定する(S1033〜S1037)。
この場合の業務仕様再生装置100は、コード片のデータ依存先を特定するに際し、モジュール内の変数間のデータフローを作成し(S1033)、各コード片からデータフローを遡った先のコード片の集合を特定し取得する(S1034)。ただし、該当コード片で他のモジュールを呼び出してその帰り値を格納している場合は、呼び出しているモジュールの返り値をデータ依存先の集合に加える。また業務仕様再生装置100は、コード片の制御依存先を特定するに際し、モジュール内のコード片間の制御フローを生成し(S1035)、各コード片から制御フローを遡った先のコード片の集合を特定し取得する(S1036)。
図3に例示したJava(登録商標)ソースコードの場合、各コード片の制御依存先コード片はIF文を表すコード片やメソッド定義を表すコード片が該当する。また、IF文のような条件を判定するコード片に制御依存している場合は、その条件判定結果がどのような場合に該当コード片が実行されるのかを含めた情報も含む。
ただし、モジュール内のコード片のうち、メソッド定義のようなモジュールの先頭を表すコード片の制御依存先は、上述のステップS1020で特定したモジュール間の呼び出し関係に基づき、呼び出し元モジュール内で呼出し命令が記述されているコード片とする。ただしこのとき、ステップS1031で選択したレコードの「参照モジュール」に含まれるモジュールの先頭を表すコード片の制御依存先は、コード片ではなくこのレコードの「画面」とする。
最後に業務仕様再生装置100は、図8に例示するように、画面名(図8では省略)と抽出したコード片の組をキーとして、そのコード片のデータ依存先コード片の集合(図8では「データ依存先コード片」)と、そのコード片の制御依存先コード片の集合(図8では「制御依存先コード片」)を対応付けたレコードの集合を、業務処理コード依存関係テーブル124に格納する(S1037)。
次に業務仕様再生装置100は、上述のステップS1031で抽出したモジュールのうちステップS1032でまだ選択していないモジュールが残っていれば(S1038:YES)、ステップS1032へ戻って続く処理を繰り返す。
さらに業務仕様再生装置100は、上述のステップS1031でまだ選択していない業務処理コードテーブル123のレコードが残っていれば(S1039:YES)、上述のステップS1031へ戻って続く処理を繰り返す。他方、そうでなければ(S1039:NO)、業務仕様再生装置100は、次のステップS1040へ処理を移行する。
ここで再び図2のフローの説明において戻る。次に業務仕様再生装置100は、業務処理コード依存関係テーブル124から、業務データの加工処理を抽出する(S1040)。この場合、業務仕様再生装置100は、業務データ加工処理抽出プログラム112を実行することにより、業務処理コード依存関係テーブル124のレコードのうち、画面が共通のレコード集合ごとに、図9に示すステップS1041〜S1048の各処理をフローに従って実行する。
ここまず、業務仕様再生装置100は、1つの画面を選択し、その画面を起点とした実行パスに含まれるコード片の依存関係を業務処理コード依存関係テーブル124から抽出する。ここで業務仕様再生装置100は、業務処理コードテーブル123のレコードを1つ選択し、そのレコードの「参照モジュール」および「実行モジュール」を業務処理コード依存関係テーブル124と照合し、業務処理コード依存関係テーブル124からこれらのモジュールを構成するコード片に合致するレコードを抽出する(S1041)。
次に業務仕様再生装置100は、上述のステップS1041で抽出したレコードと、業務データアクセス基点リスト121を照合し、業務データアクセス基点リスト121のレコードのうち、処理が「出力」であるレコードのコード片と一致するコード片を持つレコードを1つ選択する(S1042)。
ここで選択されるコード片は、業務データに対する出力処理を行うアクセス基点に対応するコード片である。例として、図8に示した「旅費精算申請画面」の業務処理コード依存関係テーブル124のレコード集合に対して、図4に示した業務データアクセス基点リスト121を照合して、処理が出力であるコード片について業務データアクセス基点リスト121と業務処理コード依存関係テーブル124それぞれの該当レコードの情報を抽出した例を図10に示す。図10では簡単のため業務データ項目と業務データの所属を1つのカラム(図10では「業務データ」)にまとめている。
次に業務仕様再生装置100は、上述のステップS1042で選択した、その「出力」処理までのデータフローに含まれるコード片を、ステップS1041で業務処理コード依存関係テーブル124から抽出したコード片の中から抽出する(S1043)。
例として、図10で示した出力処理を行うコード片である「PlaceMastaerDAO」モジュールの127行目(図4では“PlaceMastaerDAO#127”)を起点として、図8に示した「旅費精算申請画面」の業務処理コード依存関係テーブル124のレコード集合に対して、データ依存先のコード片のレコードを再帰的に抽出した結果の一部を図12に示す。ここでは、旅費精算申請画面から「MainPGM」モジュールが呼び出されてから、「PlaceMastaerDAO」モジュールでDBの「PlaceMasterSub」テーブルに値が格納されるまでの間に、その値の加工に関わる可能性のあるコード片が抽出されている。
最後に業務仕様再生装置100は、これらのコード片のうち、業務データの加工に関連するコードデータのみを抽出し、業務データ加工処理テーブル125に格納する(S1044〜1046)。
この場合まず、業務仕様再生装置100は、図12に示したようなレコード集合(ステップS1043で抽出したレコード集合)に対して、業務データアクセス基点リスト121を照合して、業務データの参照を行うコード片を持つレコードを特定し、参照している業務データを対応付ける(S1044)。図12の例では、「MainPGM#348」、「MainPGM#347」、および「MainPGM#335」の3つのコード片が、「旅費精算申請画面」の「添付領収書」、「交通費」、および「行き先」の業務データを参照するアクセス基点に対応している。
そして業務仕様再生装置100は、出力処理を行うコード片に対して抽出したレコード集合に対して、業務データを参照しているコード片から、業務データを出力しているコード片までのデータフロー上に登場するコード片のみを抽出する(S1045)。これらのコード片の集合は、該当業務システムがある業務データをDBまたは画面へ出力する際の、既存業務データの値の取得から、その値を用いた演算を経て、演算結果を出力するまでの一連の業務データ加工処理を行うコード片である。業務データ加工処理テーブル125は、ここで抽出されたコード片と、出力処理を行うコード片と、呼び出し元の画面名とをキーとして、コード片のデータ依存先と制御依存先、およびそのコード片で行われる処理の種別と、加工する業務データを対応付けたものである。処理の種別と加工する業務データは、業務データアクセス基点に一致するコード片の場合はその処理及び業務データが対応し、それ以外のコード片の処理は演算とし業務データは対応しない。
最後に業務仕様再生装置100は、上述のステップS1041で選択した業務処理コードレコードの「画面」と、ステップS1042で選択した出力コード片に対応するアクセス基点をキーとして、ステップS1045で抽出したコード片に対応する業務処理コード依存関係テーブルのレコードと、ステップS1045で特定した業務データに対する処理種別および対象業務データの情報を、業務データ加工処理テーブル125に格納する(S1046)。
図12のレコードとして示した例の場合は、「PlaceMastaerDAO#127」を起点として「MainPGM#348」、「MainPGM#347」、「MainPGM#335」の3つのコード片いずれかにたどり着くデータ依存パス上のコード片のみを抽出した結果、図13に示す12レコードが業務データ加工処理テーブル125に格納される(図13では、レコードのキーである画面名と出力アクセス基点を省略している)。
その後、業務仕様再生装置100は、上述のステップS1042で照合した出力コード片のうち選択していないコード片が残っている場合(S1047:YES)、処理をS1042に戻して続く処理を繰り返す。
また業務仕様再生装置100は、業務処理コードテーブルのレコードのうちまだステップS1041で選択していないレコードが残っている場合(S1048:YES)、上述のステップS1041へ処理を戻し、続く処理を繰り返す。他方、そうでなければ(S1048:NO)、業務仕様再生装置100は、次のステップS1050へ処理を移行する。
ここで再び図2のフローの説明に戻る。次に業務仕様再生装置100は、業務処理コード依存関係テーブル124から、実行判定処理を抽出する(S1050)。
この場合、業務仕様再生装置100は、実行判定処理抽出プログラム113を実行することにより、業務データ加工処理テーブル125のレコードのうち画面が共通のレコード集合ごとに、図11のステップS1051〜S1059に示す下記の各処理を実行する。
この場合まず、業務仕様再生装置100は、業務処理コードテーブル123から未処理のレコードを1つ選択し、業務データ加工処理テーブル125から該当画面に対応するレコード集合を抽出する(S1051)。
続いて業務仕様再生装置100は、上述のステップS1051で業務データ加工処理テーブル125から抽出したレコードの「制御依存先」に含まれるコード片の和集合について、業務処理コード依存関係テーブル124に照合し、合致するコード片を持つレコードを上述のステップS1051で選択した画面からのデータ加工処理に対応する実行条件候補として抽出する(S1052)。
続いて業務仕様再生装置100は、実行条件候補のレコードのうち1つを選択し(S1053)、その種別に応じて以下の処理(S1054〜S1058)を行い、実行条件と、条件判定のために参照する業務データと、条件判定のための業務データ参照および演算処理を行うコード片集合とを対応付ける(S1059)。
図14は、図13で示した「旅費精算申請画面」で画面上の3つの業務データの値を参照して「PlaceMasterSub」テーブルへ格納するまでの加工処理を表す業務データ加工処理テーブル125のレコードから、実行条件候補を抽出した例である。図13で示したレコードには、図14で示す「#c1」から「#c7」までの7つのコード片が制御依存先として含まれているため、これらが実行条件候補として抽出される。そして図15は、図14で示した実行条件候補それぞれに対して、実行条件と、条件判定のために参照する業務データと、条件判定のための演算コード片を対応付けた実行判定処理テーブルのレコードの例である。
上述の実行条件候補のレコードのコード片が実行モジュールの冒頭にあたるコード片である場合は、該当画面からの呼び出しで無条件に実行されるとみなすため、業務仕様再生装置100は、実行条件を画面名とし、参照業務データと演算コード片は無しとする(S1054)。図14に示す実行条件候補のうち、「#c7」のコード片「MainPGM#333」はこれらのコード片を呼び出す画面である「旅費精算申請画面」から呼び出される実行モジュールの冒頭の定義文にあたるため、ステップS1054の処理により実行条件が画面呼び出しとなり、参照する業務データやその演算コード片はない(図15#7)。
一方、実行条件候補のレコードのコード片が参照モジュールの冒頭である場合、業務仕様再生装置100は、業務処理コード依存関係テーブル124からモジュールの呼び出し元コード片を特定し、そのコード片の制御フローをさかのぼることで、上述の条件判定文または画面から呼び出されるモジュールのうち1つ以上の実行条件候補のコード片に到達する(S1055)。このとき業務仕様再生装置100は、この実行条件候補を、到達した実行条件候補のコード片の分岐条件の積として表す(S1056)。
図14に示す実行条件候補のうち、「#c1」から「#c4」までのコード片は参照メソッドの冒頭を表す定義文である。そのため、ステップS1055〜S1056で、呼び出し元メソッドの制御フローを遡り、いずれも条件候補の「#c6」と「#c5」が「False」の場合に実行されることが分かる。
実行条件候補のレコードのコード片が上記いずれにも当てはまらない場合、業務仕様再生装置100は、そのコード片で行われている条件判定処理をステップS1042で選択する業務データ出力処理とみなした場合のステップS1042〜S1045の処理を行うことで業務処理コード依存関係テーブル124からデータフローをさかのぼって業務データ加工処理にあたる業務データの参照を行うコード片とその値を加工する演算コード片を抽出する(S1057)。ここで抽出したコード片は、実行条件候補となるコード片の判定に影響を与える業務データと、その業務データを用いた判定のための演算処理であるため、業務仕様再生装置100は、これらをこの実行条件候補の参照および演算処理コード片とする(S1058)。
図14に示す実行条件候補のうち、残る「#c6」と「#c5」はそれぞれIF文の条件判定を行っているため、業務仕様再生装置100は、ステップS1057でそれぞれのデータフローを遡り、業務データを参照しているコード片から関連する業務データを特定する。
実行条件候補「#c5」は、データ依存先のコード片「MainPGM#347」および「MainPGM#348」がそれぞれ業務データの参照を行っているアクセス基点であるため、これら2つのコード片が参照している業務データが参照業務データとなり、演算コード片は無しとなる。一方、実行条件候補「#c6」はデータ依存先が「MainPGM#341」であるが、これは業務データアクセス基点に対応するコード片ではないため、このコード片「MainPGM#341」がデータ依存している業務データアクセス基点が参照している業務データを参照業務データとして持ち、「MainPGM#341」は演算コード片として持つ。
図15に示す実行条件により、図13で示した出力の加工処理は、「旅費精算申請画面」からの呼び出しで無条件に実行される処理と、業務データ「交通費」「添付領収書」の値で実行可否が定まる「MainPGM#349」と、業務データ「行先」の値で実行可否が定まる「MainPGM#344」の2つの条件と、その結果の組み合わせによって実行可否が定まる処理から成ることがわかる。
業務仕様再生装置100は、ステップS1053〜S1059までの処理を、ステップS1053で選択する実行条件候補がなくなるまで繰り返す。その後、業務仕様再生装置100は、ステップS1051で選択できるレコードがなくなるまでステップS1050の処理を繰り返す。
ここで再び図2のフローの説明に戻る。次に業務仕様再生装置100は、業務データの加工処理とその実行判定処理の情報に基づき、画面単位決定表を作成する(S1060)。この場合、業務仕様再生装置100は、決定表生成プログラム114を実行することにより、業務データ加工処理テーブル125と実行判定処理テーブル126を照合して、下記の処理を実行する。
まず業務仕様再生装置100は、業務データ加工処理テーブル125のレコードごとに、実行判定処理テーブル126を照合して、制御依存先と実行判定処理のコード片の一致から、業務データ加工処理ごとの実行条件を特定する。図16は、図13で示した出力の加工処理ごとに実行条件を特定した例である。「旅費精算申請画面」の「行先」を参照するコード片は画面呼び出しの際に必ず実行され、「旅費精算申請画面」の「交通費」を参照する処理はコード片「MainPGM#344」の判定が「False」の場合のみ実行され、以降出力までの演算処理及び出力は、コード片「MainPGM#344」および「MainPGM#349」の判定がいずれも「False」の場合のみ実行されるという対応関係が分かる。
次に業務仕様再生装置100は、業務データ加工処理ごとの実行条件の対応関係から、決定表を作成する。まず業務仕様再生装置100は、実行判定処理テーブル126のレコードのうち、コード片が条件判定文であるレコードを抽出し、条件判定のために参照している業務データによって分類して、決定表の「Configure」行とする。次に業務仕様再生装置100は、業務データ加工処理テーブル125のレコードから業務データの出力処理を行っているレコードを抽出し、出力先の業務データによって分類して、決定表の「Action」行のうち出力行とする。業務データ加工処理テーブル125の残りの参照および演算のコード片を持つレコードは、「Action」行の参照および演算行とする。
最後に業務仕様再生装置100は、業務データ加工処理ごとの実行条件の対応関係から、決定表上のケース列を作成する。この場合の業務仕様再生装置100は、「Action」行にあたる業務データ加工処理テーブル125のレコード毎に、その実行条件を「Configure」行の正否の組み合わせで表す。
図17は図16で特定した対応関係に基づいて業務仕様再生装置100が作成した決定表である。「PlaceMasterSub」テーブルへの出力は、「旅費精算申請画面」上の「行先」、「交通費」、および「添付領収書」の3種類の業務データの値によって定まる2つの条件で実行可否が定まり、出力される業務データの値も「行先」、「交通費」、および「添付領収書」の3種類の業務データの値から加工されることが分かる。
続いて業務仕様再生装置100は、同じ業務に属する画面遷移に対応する画面単位決定表を合成した業務単位の決定表を作成する(S1070)。この場合、業務仕様再生装置100は、決定表合成プログラム114を実行することにより、画面決定表127に含まれる画面ごとの決定表から、業務単位の画面遷移リスト122と照合して、1つの業務の遷移元画面と合致する画面の画面単位決定表を、1つの決定表として合成する。
この決定表の合成に際し、業務仕様再生装置100は、まず合成元の決定表それぞれに含まれる「Configure」行と「Action」行の行、および「Case」列をそれぞれ独立のまま合成したのち、まず「Configure」行で同一条件を表す列を1つの列にまとめる。次に業務仕様再生装置100は、「Case」列それぞれについて、「Configure」行の値のうち未定義のもの(他の決定表から合成された条件)については未定義すなわちその条件判定結果に影響されないものとし、その結果、条件の組み合わせとして等価な「Case」を1つの行にまとめる。
図5に示した業務単位の画面遷移リスト122から「交通費申請」業務の決定表を合成する場合、遷移元画面は「旅費申請画面」のみであるため、図18に例示するような「旅費申請画面」に対応する画面単位決定表が出力されることとなる。
最後に業務仕様再生装置100は、業務単位決定表126を出力装置106に出力し(S1080)、処理を終了する。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、既存の業務システムのソースコードから、ユーザの行うどの業務に対応して、どのような条件下でどの業務データをどのように加工してどの業務データを生成するのかを示すシステム仕様情報を再生できる。そのため、要件定義担当者において、業務仕様の把握漏れを防ぐことができる上に、現行システムの仕様を踏襲すべき部分とそうでない部分の識別作業に注力することが可能となる。ひいては、要件定義工程の短期化、省コスト化が可能となる。
従って、要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生が可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の仕様再生装置において、前記演算装置は、前記アクセス基点リストが示す出力処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行するものである、としてもよい。
これによれば、業務システムの仕様においてユーザ理解が容易な出力処理に関して、加工処理および実行判定処理を双方踏まえた決定表を生成し、提示することが可能となる。
また、本実施形態の仕様再生装置において、前記演算装置は、前記業務単位の決定表を生成する処理に際し、前記ソースコードから前記画面遷移リストにおける画面毎の実行パスを抽出して、前記抽出した該当実行パス中のコード片間の依存関係を特定し、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成するものであるとしてもよい。
これによれば、業務単位の決定表をより効率的に生成し、ひいては、要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生が可能となる。
また、本実施形態の仕様再生装置において、前記演算装置は、前記業務単位の決定表を生成する処理に際し、前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成するものであるとしてもよい。
これによれば、実行パス中のコード片間の依存関係をより効率的に特定し、ひいては業務単位の決定表をより効率的に生成して、要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生が可能となる。
また、本実施形態の仕様再生装置において、前記演算装置は、前記業務単位の決定表を生成する処理に際し、前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、前記業務処理コードテーブルにおける所定レコードの所定モジュールを業務処理コード依存関係テーブルと照合し、該当モジュールを構成するコード片に合致するレコードを抽出し、前記抽出したレコードと前記アクセス基点リストを照合し、前記アクセス基点リストのレコードのうち、処理が出力であるレコードのコード片と一致するコード片を持つレコードを選択し、前記選択した、前記出力の処理までのデータフローに含まれるコード片を、前記抽出したコード片の中から抽出し、前記コード片のうち業務データの加工処理に含まれるものを抽出し、前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれる前記コード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成するものである、としてもよい。
これによれば、出力処理コード片ごとに、その業務データの加工処理を抽出して、前記実行判定処理の抽出等を効率化し、ひいては業務単位の決定表をより効率的に生成して、要件等のドキュメント類や知見豊富な担当者の存在が無い状況下でも、既存の業務システムから効率的かつ確実な仕様の再生が可能となる。
また、本実施形態の業務仕様再生方法において、前記情報処理装置が、前記アクセス基点リストが示す出力処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行する、としてもよい。
また、本実施形態の業務仕様再生方法において、前記情報処理装置が、前記業務単位の決定表を生成する処理に際し、前記ソースコードから前記画面遷移リストにおける画面毎の実行パスを抽出して、前記抽出した該当実行パス中のコード片間の依存関係を特定し、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成する、としてもよい。
また、本実施形態の業務仕様再生方法において、前記情報処理装置が、前記業務単位の決定表を生成する処理に際し、前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成する、としてもよい。
また、本実施形態の業務仕様再生方法において、前記情報処理装置が、前記業務単位の決定表を生成する処理に際し、前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、前記業務処理コードテーブルにおける所定レコードの所定モジュールを業務処理コード依存関係テーブルと照合し、該当モジュールを構成するコード片に合致するレコードを抽出し、前記抽出したレコードと前記アクセス基点リストを照合し、前記アクセス基点リストのレコードのうち、処理が出力であるレコードのコード片と一致するコード片を持つレコードを選択し、前記選択した、前記出力の処理までのデータフローに含まれるコード片を、前記抽出したコード片の中から抽出し、前記コード片のうち業務データの加工処理に含まれるものを抽出し、前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれる前記コード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成する、としてもよい。
100 業務仕様再生装置
101 記憶装置
103 メモリ
104 演算装置
105 入力装置
106 出力装置
110 実行パス抽出プログラム
111 依存関係解析プログラム
112 業務データ加工処理抽出プログラム
113 実行判定処理抽出プログラム
114 決定表生成プログラム
115 決定表合成プログラム
120 ソースコード
121 業務データアクセス基点リスト
122 業務単位の画面遷移リスト
123 業務処理コード依存関係テーブル
124 業務処理コード依存関係テーブル
125 業務データ加工処理テーブル
126 実行判定処理テーブル
127 画面単位決定表
128 業務単位決定表

Claims (10)

  1. 仕様再生対象である業務システムのソースコードと、業務単位の画面遷移リストと、業務データを所定処理に利用する前記ソースコード中の各コード片と該当業務データの所属ソースの関係を規定したアクセス基点リストと、を格納した記憶装置と、
    前記アクセス基点リストが示す該当処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行する演算装置と、
    を備えることを特徴とする業務仕様再生装置。
  2. 前記演算装置は、
    前記アクセス基点リストが示す出力処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行するものである、
    ことを特徴とする請求項1に記載の業務仕様再生装置。
  3. 前記演算装置は、
    前記業務単位の決定表を生成する処理に際し、
    前記ソースコードから前記画面遷移リストにおける画面毎の実行パスを抽出して、前記抽出した該当実行パス中のコード片間の依存関係を特定し、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成するものである、
    ことを特徴とする請求項1に記載の業務仕様再生装置。
  4. 前記演算装置は、
    前記業務単位の決定表を生成する処理に際し、
    前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、
    前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、
    前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成するものである、
    するものである、
    ことを特徴とする請求項1に記載の業務仕様再生装置。
  5. 前記演算装置は、
    前記業務単位の決定表を生成する処理に際し、
    前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、
    前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、
    前記業務処理コードテーブルにおける所定レコードの所定モジュールを業務処理コード依存関係テーブルと照合し、該当モジュールを構成するコード片に合致するレコードを抽出し、
    前記抽出したレコードと前記アクセス基点リストを照合し、前記アクセス基点リストのレコードのうち、処理が出力であるレコードのコード片と一致するコード片を持つレコードを選択し、
    前記選択した、前記出力の処理までのデータフローに含まれるコード片を、前記抽出したコード片の中から抽出し、前記コード片のうち業務データの加工処理に含まれるものを抽出し、
    前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれる前記コード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成するものである、
    ことを特徴とする請求項1に記載の業務仕様再生装置。
  6. 仕様再生対象である業務システムのソースコードと、業務単位の画面遷移リストと、業務データを所定処理に利用する前記ソースコード中の各コード片と該当業務データの所属ソースの関係を規定したアクセス基点リストと、を格納した記憶装置を備えた情報処理装置が、
    前記アクセス基点リストが示す該当処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行する、
    ことを特徴とする業務仕様再生方法。
  7. 前記情報処理装置が、
    前記アクセス基点リストが示す出力処理に関して、前記業務システムで実行される業務データの一連の加工処理および当該加工処理の実行判定処理に各々対応したコード片群を、前記アクセス基点リストが示す前記コード片および所属ソースに基づき前記ソースコードから抽出し、前記加工処理と前記実行判定処理の各コード片群の対応関係を特定し、当該特定した対応関係と前記画面遷移リストとに基づいて業務単位の決定表を生成し出力装置に表示する処理を実行する、
    ことを特徴とする請求項6に記載の業務仕様再生方法。
  8. 前記情報処理装置が、
    前記業務単位の決定表を生成する処理に際し、
    前記ソースコードから前記画面遷移リストにおける画面毎の実行パスを抽出して、前記抽出した該当実行パス中のコード片間の依存関係を特定し、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成する、
    ことを特徴とする請求項6に記載の業務仕様再生方法。
  9. 前記情報処理装置が、
    前記業務単位の決定表を生成する処理に際し、
    前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、
    前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、
    前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれるコード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成する、
    ことを特徴とする請求項6に記載の業務仕様再生方法。
  10. 前記情報処理装置が、
    前記業務単位の決定表を生成する処理に際し、
    前記アクセス基点リストの各レコードから、共通の画面のデータ項目に対する参照処理を含むレコードを抽出し、この抽出したレコードに含まれる画面ごとに、該当レコードに含まれるアクセス基点と前記アクセス基点からの実行パスに含まれるコード片を、前記ソースコードから抽出して業務処理コードテーブルに格納し、
    前記業務処理コードテーブルの各レコードに対して、 該当レコードの参照モジュールおよび実行モジュールを前記ソースコードと照合し、前記ソースコードから前記各モジュールと該当モジュールを構成するコード片の集合を抽出し、前記抽出したモジュールに対し、該当モジュール内のデータフローと制御フローから、コード片ごとのデータ依存先コード片と制御依存先コード片を特定し、該当画面名と前記抽出したコード片の組をキーとして、該当コード片のデータ依存先コード片の集合と、該当コード片の制御依存先コード片の集合を対応付けたレコードの集合を、業務処理コード依存関係テーブルに格納し、
    前記業務処理コードテーブルにおける所定レコードの所定モジュールを業務処理コード依存関係テーブルと照合し、該当モジュールを構成するコード片に合致するレコードを抽出し、
    前記抽出したレコードと前記アクセス基点リストを照合し、前記アクセス基点リストのレコードのうち、処理が出力であるレコードのコード片と一致するコード片を持つレコードを選択し、
    前記選択した、前記出力の処理までのデータフローに含まれるコード片を、前記抽出したコード片の中から抽出し、前記コード片のうち業務データの加工処理に含まれるものを抽出し、
    前記業務処理コード依存関係テーブルから、前記業務データの加工処理に含まれる前記コード片の実行判定処理を抽出して、該当業務データの加工処理およびその実行判定処理の情報に基づき画面単位決定表を作成し、同じ業務に属する画面遷移に対応する画面単位決定表を合成して業務単位の決定表を生成する、
    ことを特徴とする請求項6に記載の業務仕様再生方法。
JP2017504339A 2015-03-09 2015-03-09 業務仕様再生装置および業務仕様再生方法 Expired - Fee Related JP6178537B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/056781 WO2016143019A1 (ja) 2015-03-09 2015-03-09 業務仕様再生装置および業務仕様再生方法

Publications (2)

Publication Number Publication Date
JPWO2016143019A1 true JPWO2016143019A1 (ja) 2017-04-27
JP6178537B2 JP6178537B2 (ja) 2017-08-09

Family

ID=56878857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017504339A Expired - Fee Related JP6178537B2 (ja) 2015-03-09 2015-03-09 業務仕様再生装置および業務仕様再生方法

Country Status (2)

Country Link
JP (1) JP6178537B2 (ja)
WO (1) WO2016143019A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012108607A (ja) * 2010-11-15 2012-06-07 Nippon Telegr & Teleph Corp <Ntt> システム分析方法、システム分析装置及びシステム分析プログラム
WO2013054581A1 (ja) * 2011-10-12 2013-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 業務仕様からワークフローを生成する方法、プログラム及びシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012108607A (ja) * 2010-11-15 2012-06-07 Nippon Telegr & Teleph Corp <Ntt> システム分析方法、システム分析装置及びシステム分析プログラム
WO2013054581A1 (ja) * 2011-10-12 2013-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 業務仕様からワークフローを生成する方法、プログラム及びシステム

Also Published As

Publication number Publication date
WO2016143019A1 (ja) 2016-09-15
JP6178537B2 (ja) 2017-08-09

Similar Documents

Publication Publication Date Title
CN106020950B (zh) 基于复杂网络分析的函数调用图关键节点识别和标识方法
AU2018272840B2 (en) Automated dependency analyzer for heterogeneously programmed data processing system
CN107430851B (zh) 发言提示装置及发言提示方法
CN103597469A (zh) 集成开发环境中的实况浏览器工具
US20230029278A1 (en) Efficient explorer for recorded meetings
JP2021192237A (ja) 関連スコア算出システム、方法およびプログラム
JP2023107143A (ja) 匿名化装置及びプログラム
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
JP6178537B2 (ja) 業務仕様再生装置および業務仕様再生方法
JP2008112363A (ja) 文書処理装置および文書処理プログラム
US20150128109A1 (en) Structure analysis device and program
JP2015102878A (ja) プログラム関連分析方法
JP6287506B2 (ja) データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置
US9128807B2 (en) Module structural analysis supporting device and program
CN112883343A (zh) 一种程序代码的混淆方法及装置
JPWO2017072872A1 (ja) 業務プログラム生成支援システムおよび業務プログラム生成支援方法
JP5358981B2 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム
JP4405571B1 (ja) プログラム
US20190050467A1 (en) Method and System for Content Creation and Management
JP2015045904A (ja) 情報処理装置及び方法
US9792197B2 (en) Apparatus and program
JP2019144873A (ja) ブロック線図解析装置
JP5605233B2 (ja) 解析装置、解析プログラム及び解析方法
JP2013105286A (ja) プログラム自動生成装置およびプログラム自動生成方法
CN116860227B (zh) 一种基于大数据etl脚本编排的数据开发系统及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170713

R150 Certificate of patent or registration of utility model

Ref document number: 6178537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees