(57)【特許請求の範囲】
【請求項１】
第１のバッチ処理プログラムに業務処理パターン名称を付加する作業を、計算機を用いて支援する方法において、前記第１のバッチ処理プログラムおよび前記第１のバッチ処理プログラムに対応するバッチ処理設計情報を入力情報とし、第２のバッチ処理プログラムの第２の入出力処理および第２の制御構造に関する第２のキーワード、及び、前記第２のバッチ処理プログラムの前記第２の入出力処理および前記第２の制御構造に対応する業務処理内容をパターン化した業務処理パターンを含むバッチ基本モデルを有し、前記第１のバッチ処理プログラムの第１の入出力処理および第１の制御構造を特定し、前記第２のバッチ処理プログラムの前記第２の入出力処理および前記第２の制御構造に関する前記第２のキーワードを参照して、特定した前記第１の入出力処理および前記第１の制御構造に対応する第１のキーワードを前記バッチ基本モデルから抽出し、抽出した前記第１のキーワードに一致する語句を前記バッチ処理設計情報から検索し、前記語句を検索できたとき、前記第２の入出力処理および前記第２の制御構造を介して、抽出した前記第１のキーワードに対応する業務処理パターン名称を前記第１のバッチ処理プログラムに付加することを特徴とするバッチ処理プログラム分析方法。
【請求項２】
請求項1のバッチ処理プログラム分析方法において、前記バッチ基本モデルが有する前記第２のバッチ処理プログラムの前記第２の入出力処理および前記第２の制御構造、並びに、前記業務処理パターンに基づいて、前記第１のバッチ処理プログラムのループ処理区間ごとに対応する前記業務処理パターン名称を付加することを特徴とするバッチ処理プログラム分析方法。
【請求項３】
請求項1のバッチ処理プログラム分析方法において、前記第１のバッチ処理プログラムのループ処理区間に含まれる入力データ数および出力データ数を比較して、前記入力データ数と前記出力データ数の比が１：１であった場合、前記第１のバッチ処理プログラムのループキー項目の値が変化した時に所定の処理を実行する分岐処理があるかどうか検索することでループ構造を判定し、前記比がＮ：１であり、かつ、ループキー項目が２つ存在する場合、前記第１のバッチ処理プログラムの前記２つのループキー項目の値を比較して、その結果によって異なる処理を実行する分岐処理があるかどうか検索することで、ループ構造を判定し、前記比が１：Ｎの場合、または、前記比がＮ：１であり、かつ、ループキー項目が1つである場合、ループ構造の判定作業を省略することを特徴とするバッチ処理プログラム分析方法。
【請求項４】
請求項1のバッチ処理プログラム分析方法において、前記バッチ処理設計情報に含まれる前記語句を前記第１のキーワードで検索する場合に、前記バッチ基本モデルに含まれる前記業務処理パターンと前記第１のバッチ処理プログラムのループ処理区間に含まれる入力データ数と出力データ数の比に対応関係があることを利用して、前記比が１：１、１：Ｎ、Ｎ：１のいずれであるかによって前記第１のキーワードを前記バッチ基本モデルから選択的に抽出することを特徴とするバッチ処理プログラム分析方法。
【請求項５】
第１のバッチ処理プログラムに業務処理パターン名称を付加する作業を支援するバッチ処理プログラム分析装置は、前記第１のバッチ処理プログラムおよび前記第１のバッチ処理プログラムに対応するバッチ処理設計情報を入力する手段、第２のバッチ処理プログラムの第２の入出力処理および第２の制御構造に関する第２のキーワード、及び、前記第２のバッチ処理プログラムの前記第２の入出力処理および前記第２の制御構造に対応する業務処理内容をパターン化した業務処理パターンを含むバッチ基本モデルを保持する手段、前記第１のバッチ処理プログラムの第１の入出力処理および第１の制御構造を特定する手段、前記第２のバッチ処理プログラムの前記第２の入出力処理および前記第２の制御構造に関する前記第２のキーワードを参照して、特定した前記第１の入出力処理および前記第１の制御構造に対応する第１のキーワードを前記バッチ基本モデルから抽出する手段、抽出した前記第１のキーワードに一致する語句を前記バッチ処理設計情報から検索する手段、及び、前記語句を検索できたとき、前記第２の入出力処理および前記第２の制御構造を介して、抽出した前記第１のキーワードに対応する業務処理パターン名称を前記第１のバッチ処理プログラムに付加する手段を有することを特徴とするバッチ処理プログラム分析装置。
【請求項６】
請求項５のバッチ処理プログラム分析装置において、前記付加する手段は、前記バッチ基本モデルが有する前記第２のバッチ処理プログラムの前記第２の入出力処理および前記第２の制御構造、並びに、前記業務処理パターンに基づいて、前記第１のバッチ処理プログラムのループ処理区間ごとに対応する前記業務処理パターン名称を付加することを特徴とするバッチ処理プログラム分析装置。
【請求項７】
請求項５のバッチ処理プログラム分析装置において、前記第１のバッチ処理プログラムのループ処理区間に含まれる入力データ数および出力データ数を比較して、前記入力データ数と前記出力データ数の比が１：１であった場合、前記第１のバッチ処理プログラムのループキー項目の値が変化した時に所定の処理を実行する分岐処理があるかどうか検索することでループ構造を判定する手段、前記比がＮ：１であり、かつ、ループキー項目が２つ存在する場合、前記第１のバッチ処理プログラムの前記２つのループキー項目の値を比較して、その結果によって異なる処理を実行する分岐処理があるかどうか検索することで、ループ構造を判定する手段、前記比が１：Ｎの場合、または、前記比がＮ：１であり、かつ、ループキー項目が1つである場合、ループ構造の判定作業を省略する手段を有することを特徴とするバッチ処理プログラム分析装置。
【請求項８】
請求項５のバッチ処理プログラム分析装置において、前記バッチ処理設計情報に含まれる前記語句を前記第１のキーワードで検索する場合に、前記バッチ基本モデルに含まれる前記業務処理パターンと前記第１のバッチ処理プログラムのループ処理区間に含まれる入力データ数と出力データ数の比に対応関係があることを利用して、前記比が１：１、１：Ｎ、Ｎ：１のいずれであるかによって前記第１のキーワードを前記バッチ基本モデルから選択的に抽出する手段を有することを特徴とするバッチ処理プログラム分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、金融、公共、産業、流通などのバッチ処理システムに用いる、バッチ処理プログラム分析方法並びにそれを用いた装置に関する。
【背景技術】
【０００２】
従来より、現行システム資産を分析し、現行システムの理解を支援する情報を提供する技術が知られている。特に、人間である作業者が現行システムの業務的な意味を解釈する作業を効率化するため、情報システムの要素に業務的な意味情報を付加する作業を支援する手法が提案されている(例えば、特許文献１参照)。
【０００３】
この特許文献1に記載の技術は、リバースエンジニアリングツールが出力する計算機システムに近い低レベルの仕様情報に対して、業務的に意味のある集合を見出し、これに意味を付加する作業を支援するものである。ここでは、計算機システムの仕様情報は物理モデル、業務的な仕様情報は業務モデル、物理モデルおよび業務モデルの関係を対応モデルと定義している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−５２３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献1に記載された業務仕様作成支援技術では、ユーザが業務モデルおよび対応モデルの初期値を入力し、システムが物理モデルと業務モデルとの比較をユーザに示すことにより、ユーザが業務モデルおよび対応モデルを修正して精度を向上していく過程を支援するものであり、情報システムに含まれるバッチ処理プログラム数が数千〜数万であることを考えると、ユーザが業務モデルおよび対応モデルを修正するやり方には限界がある。
【０００６】
また、情報システムの保守作業および次期システムへの移行作業を行う場合、現行システム分析が最初の作業であり、分析結果は次の設計作業への入力情報になる。ユーザの設計作業効率を向上させるためには、バッチ処理プログラムに対して業務機能の内容を意味付ける必要があるが、特許文献１に記載された業務仕様作成支援技術は、業務機能と論理データの入出力関係を出力することに留まり、業務機能そのものに関する情報をユーザに提示しない。
【０００７】
このような背景に鑑みて本発明がなされたのであり、本発明はユーザに対してプログラムごとに業務モデルおよび対応モデルの作成を要求せず、現行システム資産として存在するバッチ処理プログラムおよびバッチ処理設計情報を入力情報として、バッチ処理プログラムに対する業務的な意味付け作業を支援することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、バッチ処理プログラムの入出力処理および制御構造が定型的であること、バッチ処理プログラムの業務処理内容がパターン化できること、バッチ処理プログラムの入出力処理および制御構造と業務処理内容との間に対応関係があることに着目し、バッチ処理プログラムおよびバッチ処理設計情報から特定の入出力処理および制御構造に関する情報を抽出し、その抽出結果を業務的な意味情報に変換する。
【０００９】
また、バッチ処理プログラムの定型的な構造、業務処理パターン、および両者を結び付ける変換規則を含む、個別のプログラムごとに業務仕様の定型モデルおよび変換規則を参照して、バッチ処理プログラムの業務機能に対する意味付ける際に、プログラムごとに一段抽象化された定型モデルを付加することで、業務理解作業をパターン化する。
【発明の効果】
【００１０】
本発明によれば、バッチ処理プログラムおよびバッチ処理設計情報をバッチ処理の定型的な制御構造に対応付けを行うことで、業務的な意味付け作業の効率化を支援することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係るバッチ処理プログラム分析方法並びにそれを用いた装置を含むシステムの構成例を示す機能ブロック図である。
【図２】本実施形態に係るバッチ処理プログラムの一例を示す図である。
【図３】本実施形態に係るバッチ処理設計情報の一例を示す図である。
【図４】本実施形態に係る解析制御部の処理を説明するためのフローチャートである。
【図５】本実施形態に係るバッチ処理モデル特定結果テーブルのデータ構成の一例を示す図である。
【図６】本実施形態に係るループ処理区間テーブルのデータ構成の一例を示す図である。
【図７】本実施形態に係る入出力情報解析部の処理を説明するためのフローチャートである。
【図８】本実施形態に係る入出力情報解析結果テーブルのデータ構成の一例を示す図である。
【図９】本実施形態に係るループ構造解析部の処理を説明するためのフローチャートである。
【図１０】本実施形態に係る処理パターン解析部の処理を説明するためのフローチャートである。
【図１１】バッチ基本モデルの一例を示す。
【発明を実施するための形態】
【００１２】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００１３】
図１は、本実施形態に係るバッチ処理プログラム分析方法並びにそれを用いた装置を含むシステムの構成例を示す機能ブロック図である。本システムは、計算機1、入力情報記録媒体31、出力情報記録媒体41で構成される。
【００１４】
計算機1は、バス等で接続されたＣＰＵ10、メモリ11、ディスク装置12、入力装置13、出力装置14を含む。メモリ11は、本発明の処理全体の流れを制御する解析制御部21、解析対象のプログラムのデータ項目を抽出する入出力情報解析部22、解析対象のプログラムに含まれるループの構造を調べるループ構造解析部23、解析対象のプログラムの構造から処理パターンを判断する処理パターン解析部24を含む。また、ディスク装置12は、バッチ基本モデル25を含む。バッチ基本モデル25は、バッチ処理プログラムの定型的な入出力部品および制御構造に関する情報、バッチ処理の業務処理内容をパターン化した情報、バッチ処理プログラムの入出力部品および制御構造と業務処理内容の対応関係を示す情報を含む。
【００１５】
入力情報記録媒体31に存在する、バッチ処理プログラム32およびバッチ処理設計情報33は、本システムの分析対象である。
【００１６】
出力情報記録媒体41上に存在する、バッチ処理モデル特定結果42は、本システムの分析結果である。この情報を作業者が利用する。
【００１７】
図２は、本実施形態に係るバッチ処理プログラム32の一例を示す図である。
【００１８】
ここで「プログラム」とは、業務処理を実行するための、ジョブ制御言語の記述、汎用プログラム言語で記述されたソースコード全体およびその一部、プログラム中で処理されるデータ定義情報を含む。
【００１９】
バッチ処理プログラム32は「プログラム」の一部を抜粋したものである。本プログラムは、ファイルのオープンやデータの初期化などの前処理を行い、入力ファイルからレコードを１件ずつ読込み、プログラムの制御構造に従ってデータ処理を実行し、その結果を1件ずつ出力ファイルに書出し、ファイルのクローズなどの後処理を行うものである。一般的にバッチ処理プログラムの制御構造は、複数のレコードを効率良く処理するため、ループ処理である。
【００２０】
なお、本システムでは、データ入力、業務処理、データ出力を繰り返し行う単位を基本的なループ単位として扱い、この１区間をループ処理区間と定義する。例えば、1つのプログラム内で独立してデータのループ処理を行う部分が３箇所存在する場合、３つのループ処理区間が存在する。一方、プログラム内に複数のループが存在しても、入れ子構造のループを使ってデータ入出力処理をしている場合は、外側の大ループのみがループ処理区間であり、内側の小ループはループ処理区間とはならず、外側の大ループと同一のループ処理区間の一部となる。
【００２１】
図３は、本実施形態に係るバッチ処理設計情報33の一例を示す図である。バッチ処理設計情報33は、バッチ処理プログラム32を自然言語で記述したものであり、業務処理内容に対応する。入力情報34には、バッチ処理の入力データ名称一覧が記述される。処理内容35には、バッチ処理の流れが詳細に記述される。出力情報36には、バッチ処理の出力データ名称一覧が記述される。
【００２２】
図４は、本実施形態に係る解析制御部41の処理を説明するためのフローチャートである。まず、解析制御部41は、入力情報記録媒体31から入力されたバッチ処理プログラム32を読込み、メモリ11の図示しない領域に展開する(ステップ101)。次に、解析制御部41は、バッチ処理プログラム32の先頭から順番に、バッチ処理のループ処理が開始される箇所を検索し、また、そのループ処理が終了する箇所を検索し、メモリ内のループ処理区間テーブル109（図６を用いて後述）に検索結果を記述し、プログラムの最後まで検索して、プログラムに含まれる全てのループ処理の開始箇所および終了箇所をループ処理区間テーブル109に格納する (ステップ102)。
【００２３】
次に、解析制御部41は、ループ処理区間テーブル109から１つのループ処理区間を選択する(ステップ103)。次に、解析制御部41は、バッチ処理プログラムの入出力処理を分析する（図７を用いて後述）ために、入出力情報解析部22を呼出し、戻り値を受信する、即ち、入出力情報解析部２２の処理が完了したことを示す情報を検知する (ステップ104)。ステップ104の詳細については、図７において説明する。次に、解析制御部41は、バッチ処理プログラムの制御構造、特に、ループ処理構造を分析する（図９を用いて後述）ために、ループ構造解析部23を呼出し、戻り値を受信する、即ち、ループ構造解析部２３の処理が完了したことを検知する(ステップ105)。ステップ105の詳細については、図９において説明する。
【００２４】
次に、解析制御部41は、バッチ処理プログラムの業務処理パターンを特定する（図１０を用いて後述）ために、処理パターン解析部24を呼出し、戻り値を受信する、即ち、処理パターン解析部２４の処理が完了したことを検知する(ステップ106)。ステップ106の詳細については、図１０において説明する。次に、各解析部から受信した戻り値を元に、バッチ処理解析結果情報を生成し、バッチ処理モデル特定結果42に出力する。
【００２５】
図５は、本実施形態に係るバッチ処理モデル特定結果42のデータ構成の一例を示す図である。バッチ処理モデル特定結果４２は、バッチ処理プログラム３１およびバッチ処理設計情報３２を本システムで分析した結果情報であり、業務理解を支援する情報を含む。バッチ処理モデル特定結果42は、プログラム内のループ処理区間ＩＤごとに、データ形式47、データアクセス方式48、ループキー項目数４９、ループ構造名称50、および処理パターン名称51を含む。ループキー項目（別名、ループ制御変数）は、バッチ処理でループ処理を実行するための制御変数であり、その変数の数がループキー項目数４９に格納される。例えば、下記のループ処理における変数ｋがループキー項目である。
【００２６】
ｆｏｒ（ｋ＝０；ｋ＜１００；ｋ＋＋）｛
ｆｕｎｃｔｉｏｎ（）；
｝
図６は、本実施形態に係るループ処理区間テーブル109のデータ構成の一例を示す図である。先述したように、1つのプログラム内に複数のループ処理を含む場合、それぞれを異なるループ処理区間として区別する。本システムでは、入力情報としてバッチ処理プログラム32とバッチ処理設計情報33が存在するため、この２つの入力情報の間で分析対象とするループ処理区間を一致させる必要がある。そこで、ループ処理区間テーブル109に対応関係を記述する。ループ処理区間テーブル109は、プログラム名称110と、ループ処理区間ごとに定められたループ処理区間ＩＤ111と、このＩＤ111に対応するバッチ処理プログラム32の開始行番号112および終了行番号113と、このＩＤ111に対応するバッチ処理設計情報33の開始行番号114および終了行番号115から構成される。
【００２７】
以下のステップでは、1つのループ処理区間を対象に説明を行う。
【００２８】
図７は、本実施形態に係る入出力情報解析部22の処理を説明するためのフローチャートである。なお、入出力情報解析部22は、従来のプログラム解析技術を用いて実現可能な処理である。まず、入出力情報解析部22は、ループ処理区間の先頭からバッチ処理プログラム32を追跡し、プログラム内で処理されるデータ項目を検索する(ステップ201)。次に、入出力情報解析部22は、検索したデータ項目に対して、データ名称、Ｉ／Ｏ区分、データ形式、データアクセス方式、解析対象のプログラムの内容に基づいてデータ属性を判定する(ステップ202)。
【００２９】
次に、入出力情報解析部は前ステップの判定結果を、プログラム名称およびループ処理区間ＩＤとの対応関係を明示した上で、メモリ内の入出力情報解析結果テーブル205（図８を用いて後述）に出力する(ステップ203)。なお、入出力情報解析結果テーブル205はメモリ11の図示しない領域に展開される。次に、入出力情報解析部22は、ループ処理区間内の全てのデータ項目を処理したことを確認し、未処理のデータ項目があればステップ201〜203を繰り返し実行する(ステップ204)。
【００３０】
図８は、本実施形態に係る入出力情報解析結果テーブル205のデータ構成の一例を示す図であり、プログラム名称206およびループ処理区間ＩＤ207と、そのループ処理区間内に含まれるデータ名称208と、データが入力データおよび出力データのいずれであるかを示すＩ／Ｏ区分209と、データ形式の種類を示すデータ形式210、プログラムがデータに対してどのようにアクセスするかを示すデータアクセス方式211 、データの属性を示すデータ属性212で構成される。例えば、バッチ処理プログラムPGM__XのLoop_01区間では、File_Aというトランザクションファイルをシーケンシャルに読込み、File_Bというマスタファイルをシーケンシャルに読み込み、File_Cというトランザクションファイルをシーケンシャルに書き込むことを表す。
【００３１】
図９は、本実施形態に係るループ構造解析部23の処理を説明するためのフローチャートである。まず、ループ構造解析部23は、入出力情報解析結果テーブル205を参照し、１つのループ処理区間内に含まれる入力データ数および出力データ数を算出する(ステップ301)。但し、このデータ数の算出は、データ属性212がトランザクション又はマスタとなっているデータを対象とし、データ属性212がログやエラー等は対象外とする。
【００３２】
次に、ループ構造解析部23は、ループ処理区間内の入力データ数と出力データ数の比を判断する(ステップ302)。ステップ302において、入出力データ数の比が１：１であった場合、ループ構造解析部23はバッチ処理プログラム32のループキー項目を検索する(ステップ303)。次に、ループ構造解析部23は、ループ処理区間内に、ループキー項目の値が変化した時に所定の処理を実行する分岐処理があるかどうか検索する、即ち、バッチ処理プログラム３２のソースコードから、該当する記述を検索することで、ループ構造を判断する(ステップ304)。
【００３３】
また、ステップ302において、入出力データ数の比がＮ：１であった場合、ループ構造解析部23はバッチ処理プログラム32からループキー項目を検索する(ステップ305)。次に、ループ構造解析部23は、バッチ処理プログラム32から２つ目のループキー項目を検索する(ステップ306)。即ち、１つのループ処理を行う際に、２つのループキー（ループ制御変数）を使う場合があり、この場合の２つ目のループキー項目を検索する。次に、ループ構造解析部23は、ループキー項目が２つ存在するかどうか判断し、ループキー項目が1つしか存在しない場合はステップ308をスキップし、ループキー項目が２つ存在する場合はステップ308を実行する(ステップ307)。次に、ループ構造解析部23は、ループ処理区間内に、２つのループキー項目のそれぞれの値を比較して、その結果によって異なる処理を実行する分岐処理があるかどうか検索する、即ち、バッチ処理プログラム３２のソースコードから、該当する記述を検索することで、ループ構造を判定する(ステップ308)。
【００３４】
なお、ステップ302において入出力データ数の比が１：Ｎであった場合、ループ構造を判断するための処理は不要である。次に、ループ構造解析部23は、ステップ301〜ステップ308までの処理結果として、プログラム名称およびループ処理区間ＩＤと対応付けて、図５に示すバッチ処理モデル特定結果テーブルに格納されている入力データ数、出力データ数、データ形式、データアクセス方式、ループキー項目数、およびループ構造名称、を出力する(ステップ309)。
【００３５】
図１０は、本実施形態に係る処理パターン解析部24の処理を説明するためのフローチャートである。まず、処理パターン解析部24は、図３に示すバッチ処理設計情報33を読込み、メモリ11上の図示しない領域に展開する(ステップ401)。次に、処理パターン解析部24は、図８に示す入出力情報解析結果テーブル205を参照し、分析中のループ処理区間に含まれる全データのデータ名称を取得する(ステップ402)。次に、処理パターン解析部24は、バッチ処理設計情報33の入力情報34および出力情報36を検索し、ステップ402で取得したデータ名称と同一のデータ名称を含む区間をバッチ処理設計情報のループ処理区間として特定し、ループ処理区間テーブル109のバッチ処理設計情報開始行番号114およびバッチ処理設計情報終了行番号115に格納する(ステップ403)。次に、処理パターン解析部24は、ループ構造解析部23で算出した、入出力データ数の比を参照する(ステップ404)。
【００３６】
ここで、以下の処理で参照するバッチ基本モデル２５のデータ構成の一例を図１１に示す。先述したように、バッチ基本モデル２５は、バッチ処理プログラムの入出力部品および制御構造と業務処理内容との対応関係を示す情報を含む。図１１に示す例では、入力データ数が２、出力データ数が１、すなわち、入出力データ数の比がＮ：１であり、ループ構造がキーブレイクであるような場合、この構造に対応する業務処理パターンは「更新」であること示している。なお、これらの対応関係は、電子情報通信学会論文誌D, Vol.J83-D1 No.10, pp.1055-1069, 多次元部品化方式によるソフトウェア開発の自動化―バッチプログラム用スケルトンの作成とその十分性―にて述べられている。
【００３７】
次に、ループ構造解析部は入出力データ数の比を判断し、処理を振り分ける(ステップ405)。これは、バッチ基本モデル25と入出力データ数の比には対応関係があり、入出力データ数の比で処理パターンの候補を絞り込むことによって、次ステップ以降の作業を効率化するためである。この処理パターンの候補は、図１のバッチ基本モデル２５に格納されており、バッチ処理の業務処理内容を、入出力データの比に基づいてパターン化した情報である。バッチ処理の業務処理では、入出力データの比と処理パターンとの間には対応関係が見られる。
【００３８】
ステップ405において、入出力データ数の比が１：１であった場合、処理パターン解析部24はバッチ基本モデルの業務処理パターン（例えば、単純なファイル変換、レコードの抽出、あるいはレコードの集計など）から、データ入出力比が１：１である処理のキーワード（例えば、「変換」、「抽出」あるいは「集計」といった、バッチ業務処理パターンの特徴的な用語）を読込む(ステップ406)。
【００３９】
ステップ405において、入出力データ数の比が１：Ｎであった場合、処理パターン解析部24はバッチ基本モデルの業務処理パターンから、データ入出力比が１：Ｎである処理のキーワードを読込む(ステップ407)。ステップ405において、入出力データ数の比がＮ：１であった場合、処理パターン解析部24はバッチ基本モデルの業務処理パターンから、データ入出力比がＮ：１である処理のキーワードを読込む(ステップ408)。
【００４０】
次に、処理パターン解析部24は、前ステップで指定したキーワードに一致する語句をバッチ処理設計情報33の処理内容35から検索し、業務処理パターンを判断する (ステップ409)。即ち、キーワード検索によって、処理パターン名称を判断する。判断の根拠となる情報は、図１のバッチ基本モデル２５に格納された、バッチ処理プログラムの入出力部品および制御構造と業務処理内容との対応関係を示す情報である。なお、検索の対象範囲はループ処理区間内とし、区間外の情報は読み飛ばす。次に、処理パターン解析部24は処理パターン名称を出力する(ステップ410)。
【００４１】
図１０のステップ403において、バッチ処理設計情報33のデータ項目名称が一意で無い場合、ループ処理区間を特定できないことがある。その場合、作業者がバッチ処理プログラム32およびバッチ処理設計情報33のデータ項目の対応を目視で確認し、ループ処理区間テーブル109を正しい値に修正する。
【符号の説明】
【００４２】
１    計算機
１０  CPU
１１  メモリ
１２  ディスク装置
１３  入力装置
１４  出力装置
２１  解析制御部
２２  入出力情報解析部
２３  ループ構造解析部
２４  処理パターン解析部
２５  バッチ基本モデル
３１  入力記録媒体
３２  バッチ処理プログラム
３３  バッチ処理設計情報
４１  出力情報記録媒体
４２  バッチ処理モデル特定結果。
【図１】
0005514682.tif 000002
【図２】
0005514682.tif 000003
【図３】
0005514682.tif 000004
【図４】
0005514682.tif 000005
【図５】
0005514682.tif 000006
【図６】
0005514682.tif 000007
【図７】
0005514682.tif 000008
【図８】
0005514682.tif 000009
【図９】
0005514682.tif 000010
【図１０】
0005514682.tif 000011
【図１１】
0005514682.tif 000012