"情報処理システムに使用されるソースプログラムに記述された業務仕様の抽出を行い、前記ソースプログラムの解析を支援するリバースエンジニアリング支援装置において、前記ソースプログラムのソースコードを構成するコードから、前記コードの種類、コードの組み合わせ及びコードの配置順序と、予め設定した処理機能を示す単位プログラムとの対応関係が予め設定された第1ルールに従い、前記ソースプログラムのソースコードから、前記処理機能に対応する単位プログラムを抽出する処理機能抽出部と、前記単位プログラムの処理機能の種類、組み合わせ及び配置の順番と、前記単位プログラムの配置の順番の変更、統合及び廃棄を示す統廃合処理との対応関係を予め設定した第2ルールに従い、前記ソースプログラムにおける前記単位プログラムの配置順の変更、統合及び廃棄の統廃合処理を行い、統廃合処理の結果として得られた単位プログラムを物理モデルとして出力する処理機能統廃合部とを有することを特徴とするリバースエンジニアリング支援装置。前記物理モデルの処理機能の種類及び配置順序と、前記物理モデルから構成される一般業務モデルとの対応関係を示す予め設定された第3ルールが記述された第3ルールテーブルから、前記処理機能統廃合部から出力される前記物理モデルの処理機能及び順序と一致する前記一般業務モデルを検索し、一致した一般業務モデルを前記物理モデルに対応付ける業務モデル特定部をさらに有することを特徴とする請求項1に記載のリバースエンジニアリング支援装置。前記業務モデル特定部が、前記一般業務モデルの名称、当該一般業務の処理対象及び処理における制約条件の組み合わせと、特定の業務ドメインを示す業務モデルの名称であるドメイン特化業務名との対応関係を示す予め設定された第4ルールが記述された第4ルールテーブルから、前記一般業務モデルと一致する前記組み合わせを検索し、検索された前記ドメイン特化業務名を前記一般業務モデルに付与することを特徴とする請求項2に記載のリバースエンジニアリング支援装置。情報処理システムに使用されるソースプログラムに記述された業務仕様の抽出を行い、前記ソースプログラムの解析を支援するリバースエンジニアリング支援装置を動作させるリバースエンジニアリング支援方法において、処理機能抽出部が、前記ソースプログラムのソースコードを構成するコードから、前記コードの種類、コードの組み合わせ及びコードの配置順序と、予め設定した処理機能を示す単位プログラムとの対応関係が予め設定された第1ルールに従い、前記ソースプログラムのソースコードから、前記処理機能に対応する単位プログラムを抽出する過程と、処理機能統廃合部が、前記単位プログラムの処理機能の種類、組み合わせ及び配置の順番と、前記単位プログラムの配置の順番の変更、統合及び廃棄を示す統廃合処理との対応関係を予め設定した第2ルールに従い、前記ソースプログラムにおける前記単位プログラムの配置順の変更、統合及び廃棄の統廃合処理を行い、統廃合処理の結果として得られた単位プログラムを物理モデルとして出力する過程とを有することを特徴とするリバースエンジニアリング支援方法。情報処理システムに使用されるソースプログラムにおける業務仕様の抽出を行い、前記ソースプログラムの解析を支援するリバースエンジニアリング支援装置をコンピュータに実行させるプログラムであり、処理機能抽出部が、前記ソースプログラムのソースコードを構成するコードから、前記コードの種類、コードの組み合わせ及びコードの配置順序と、予め設定した処理機能を示す単位プログラムとの対応関係が予め設定された第1ルールに従い、前記ソースプログラムのソースコードから、前記処理機能に対応する単位プログラムを抽出する処理と、処理機能統廃合部が、前記単位プログラムの処理機能の種類、組み合わせ及び配置の順番と、前記単位プログラムの配置の順番の変更、統合及び廃棄を示す統廃合処理との対応関係を予め設定した第2ルールに従い、前記ソースプログラムにおける前記単位プログラムの配置順の変更、統合及び廃棄の統廃合処理を行い、統廃合処理の結果として得られた単位プログラムを物理モデルとして出力する処理とをコンピュータに実行させるためのプログラム。リバースエンジニアリングにおいては、業務と情報処理システムとの関係を理解するためには、処理される業務内容を示す業務モデルと、ソースコードから抽出した処理を示す物理モデルとに対し、以下の3つの条件が必要になる。a.業務モデルと物理モデルとの対応関係があるb.業務モデルと物理モデルとが一定かつ適切な粒度のプロセスに分割されているc.業務モデルと物理モデルとに対し、適切な名称が付与されている業務モデルはユーザが理解できる名称であり、物理モデルはプログラム作成者が理解できる名称である必要があるところが、特許文献1の業務仕様抽出支援システムは、業務モデルと物理モデルとの対応関係は示されているが、業務モデルと物理モデルとが適切な粒度に分割されているとは言えない。すなわち、リエンジニアリングやリビルドなどで業務の改革及び改善のため、業務の取捨選択や共通化を検討する際、業務モデルを荒い粒度で行うと、業務で行われている処理の解析が十分にできない。例えば、特許文献1の業務仕様抽出支援システムは、図12において、ソースプログラムの処理が国内と国外とにおける登録業務に分離される。しかしながら、国外における登録業務受注場所=2にPGM_B及びPGM_Cが必要な物理モデルであることは判るが、この物理モデルがどのような処理を行っているかが判らない。このため、改革及び改善を行う際に、取捨選択を行う情報が不十分であり、業務の内容を検討することができない。例えば、図11に示す登録業務を受注場所による2つのバリエーションに分割するのではなく、2つのバリエーションの違いが分かる程度の粒度に分割する必要がある。図13は、物理モデルのグラフであり、一例として、ソースプログラムにおけるPGM_X、PGM_A、PGM_B及びPGM_Cを物理モデルの単位とし、この物理モデルに対して業務モデルを設定している。これにより、国内の登録業務受注場所=1と、国外の登録業務受注場所=2との違いが明確となる。国外の登録業務と国内の登録業務との共通な業務及び異なる業務を判定することにより、国内の登録業務にも、リスク情報に関する処理を入れるなどの、業務の改善を容易に行うことができる。したがって、特許文献1の業務仕様抽出支援システムにおける物理モデルと業務モデルとの粒度は、業務の解析を行うためには不十分な大きさである。このため、従来においては、業務の解析に対応できるように、業務モデルに関しては、ソースプログラムのドキュメント調査、あるいはユーザからのヒアリングをもとに、リバースエンジニアリングの担当者が適切と思う粒度の業務単位に作成していた。同様に、物理モデルに関してはプログラム機能を分割の単位としていた。このため、リエンジニアリングの担当者毎に業務モデルの粒度が異なって、汎用性のないものとなっている。同様に、物理モデルの粒度をプログラム機能を分割の単位としているため、粒度が一定か否かはプログラムの設計によって異なり、結果として一定の粒度にはならない。したがって、業務モデルを荒い粒度で設定する場合、担当者毎に粒度の設定が異なってしまい、実際には同じ業務であっても、異なる粒度で設定されてることになり、同じソースプログラムから抽出されたにもかかわらず、結果的に同一の業務とは認識できず、改善における共通化などができなくなる。また、特許文献1の業務仕様抽出支援システムは、業務モデルと物理モデルとに適切な名称を付与する処理を行っていない。このため、担当者は、業務仕様抽出支援システムの提示する物理モデルプログラム機能名、物理データ名、プログラム機能を分割する条件式に対応させ、業務モデル業務機能名、論理データ名から内容を類推し、物理モデル及び業務モデルに対して適切な名称を付与する必要があり、名称付与の作業に手間がかかってしまう。したがって、担当者の知識によるため、ユーザが理解できる業務モデルの名称や、プログラム作成者が理解できる物理モデルの名称とはならず、改革及び改善の差異に効率的な処理が行えない。本発明は、このような事情に鑑みてなされたもので、その目的は、情報処理システムに使用されるソースプログラムから、従来に比較して、細かく、かつ一定の粒度により、業務モデル及び物理モデルを対応させて抽出し、かつ業務仕様の改革及び改善を行う際、ユーザまたはプログラム作成者が容易に理解できる名称を業務モデル及び物理モデルの双方に与えることが可能なリバースエンジニアリング支援装置、リバースエンジニアリング支援方法及びそのプログラムを提供することを目的としている。本発明のリバースエンジニアリング支援装置は、情報処理システムに使用されるソースプログラムに記述された業務仕様の抽出を行い、前記ソースプログラムの解析を支援するリバースエンジニアリング支援装置において、前記ソースプログラムのソースコードを構成するコードから、前記コードの種類、コードの組み合わせ及びコードの配置順序と、予め設定した処理機能を示す単位プログラムとの対応関係が予め設定された第1ルールに従い、前記ソースプログラムのソースコードから、前記処理機能に対応する単位プログラムを抽出する処理機能抽出部と、前記単位プログラムの処理機能の種類、組み合わせ及び配置の順番と、前記単位プログラムの配置の順番の変更、統合及び廃棄を示す統廃合処理との対応関係を予め設定した第2ルールに従い、前記ソースプログラムにおける前記単位プログラムの配置順の変更、統合及び廃棄の統廃合処理を行い、統廃合処理の結果として得られた単位プログラムを物理モデルとして出力する処理機能統廃合部とを有することを特徴とする。本発明のリバースエンジニアリング支援装置は、前記物理モデルの処理機能の種類及び配置順序と、前記物理モデルから構成される一般業務モデルとの対応関係を示す予め設定された第3ルールが記述された第3ルールテーブルから、前記処理機能統廃合部から出力される前記物理モデルの処理機能及び順序と一致する前記一般業務モデルを検索し、一致した一般業務モデルを前記物理モデルに対応付ける業務モデル特定部をさらに有することを特徴とする。本発明のリバースエンジニアリング支援装置は、前記業務モデル特定部が、前記一般業務モデルの名称、当該一般業務の処理対象及び処理における制約条件の組み合わせと、特定の業務ドメインを示す業務モデルの名称であるドメイン特化業務名との対応関係を示す予め設定された第4ルールが記述された第4ルールテーブルから、前記一般業務モデルと一致する前記組み合わせを検索し、検索された前記ドメイン特化業務名を前記一般業務モデルに付与することを特徴とする。本発明のリバースエンジニアリング支援方法は、情報処理システムに使用されるソースプログラムに記述された業務仕様の抽出を行い、前記ソースプログラムの解析を支援するリバースエンジニアリング支援装置を動作させる方法であり、処理機能抽出部が、前記ソースプログラムのソースコードを構成するコードから、前記コードの種類、コードの組み合わせ及びコードの配置順序と、予め設定した処理機能を示す単位プログラムとの対応関係が予め設定された第1ルールに従い、前記ソースプログラムのソースコードから、前記処理機能に対応する単位プログラムを抽出する過程と、処理機能統廃合部が、前記単位プログラムの処理機能の種類、組み合わせ及び配置の順番と、前記単位プログラムの配置の順番の変更、統合及び廃棄を示す統廃合処理との対応関係を予め設定した第2ルールに従い、前記ソースプログラムにおける前記単位プログラムの配置順の変更、統合及び廃棄の統廃合処理を行い、統廃合処理の結果として得られた単位プログラムを物理モデルとして出力する過程とを有することを特徴とする。本発明のプログラムは、情報処理システムに使用されるソースプログラムに記述された業務仕様の抽出を行い、前記ソースプログラムの解析を支援するリバースエンジニアリング支援装置をコンピュータに実行させるプログラムであり、処理機能抽出部が、前記ソースプログラムのソースコードを構成するコードから、前記コードの種類、コードの組み合わせ及びコードの配置順序と、予め設定した処理機能を示す単位プログラムとの対応関係が予め設定された第1ルールに従い、前記ソースプログラムのソースコードから、前記処理機能に対応する単位プログラムを抽出する処理と、処理機能統廃合部が、前記単位プログラムの処理機能の種類、組み合わせ及び配置の順番と、前記単位プログラムの配置の順番の変更、統合及び廃棄を示す統廃合処理との対応関係を予め設定した第2ルールに従い、前記ソースプログラムにおける前記単位プログラムの配置順の変更、統合及び廃棄の統廃合処理を行い、統廃合処理の結果として得られた単位プログラムを物理モデルとして出力する処理とをコンピュータに実行させるためのプログラムである。この発明によれば、情報処理システムに使用されるソースプログラムから、第1ルールにより処理機能に対応したコードを単位プログラムとして抽出するため、予め設定した一定の大きさの粒度に分割することができ、かつプログラムを構成する各コードの処理機能毎に単位プログラムを抽出するため、プログラムを従来に比較してより粒度の細かな物理単位に分割することができ、物理モデルから業務モデルを抽出する際に、より詳細なドメインに特化した分類で業務モデルの抽出を行うことが可能となる。また、この発明によれば、第1のルールにより抽出した単位プログラムを、第2ルールにより処理機能に対応させた統廃合処理を行うことにより、異なる位置に配置されている統合可能な単位プログラムの統廃合による整理を行うことができ、異なる配置にあり同一の処理を行う無駄に配置された単位プログラムを無くし、機能処理として整理された状態で物理モデルの抽出を行うことができ、業務仕様の改革及び改善を効率的に行うことが可能となる。以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態によるリバースエンジニアリング支援装置の構成を示す概略ブロック図である。図1において、本実施形態によるリバースエンジニアリング支援装置は、ソースコード入力部10、処理機能抽出部11、処理機能統廃合部12、業務モデル特定部13、結果出力部14、処理記憶部15、第1ルール記憶部16、第2ルール記憶部17、第3ルール記憶部18及び第4ルール記憶部19を備えている。ソースコード入力部10は、外部装置から物理モデル及び業務モデルを抽出する解析対象のソースプログラムを入力し、処理記憶部15に書き込んで記憶させる。第1ルール記憶部16には、適切な大きさの粒度にて物理モデルを抽出するために用いる第1ルールを定義する第1ルールテーブルが記憶されている。この第1ルールテーブルには、コードの種類と、そのコードの組み合わせと、そのコードの配置とに対応し、各コードの組み合わせによる処理機能を示す単位プログラムとの対応関係が示されている。第1ルールに記述されたルールと一致するコードの組み合わせが単位プログラムとして定義される。単位プログラムとしては、ソースコードの構造であるプログラム中のループ、条件式、外部入出力、代入式などの配置場所とそれぞれのコード関連組み合わせとから、処理機能に対応付けられている。ここで、本実施形態において、処理機能としては、例えばデータベース等で用いられる集合を操作する関係代数などにより実行される選択、集約、和、射影、...など、また他に検索、選択、登録などの機能を示す語彙を予め設定して用いることにより、これらの機能を処理するプログラム単位を単位プログラムと定義している。図2は、ソースコードから単位プログラムを抽出する際に用いられる第1ルールが記述された第1ルールテーブルの概要を説明する図である。図2aは、第1ルールの例として、選択の処理機能の物理モデルと、集約の処理機能の物理モデルとの各々に対応させるための、プログラムソースコード中のループ、条件式、外部入出力、代入式などの配置場所配置の順番及びそれぞれのコードの関連が記載された、すなわちコードの種類、コードの組み合わせ及びコードの配置と、このコードの組み合わせによる処理機能を示す単位プログラムとの対応関係が第1ルールとして第1ルールテーブルとして記述されている。図2bには、第1ルールの説明のために用いるソースコードのテキストファイルを示すものである。図2cは、抽出された結果として出力される単位プログラムの例を示す第1出力テーブルである。この第1出力テーブルは、ソースプログラムから抽出された単位プログラム毎に付与されたプログラムIDと、このプログラムIDに対応した単位プログラムの処理機能の種類、制約条件、単位プログラムに対する入力、単位プログラムからの出力とから構成されている。ここで、制約条件は、単位プログラム毎の抽出条件に対応して設定されており、例えば図2cの場合、処理機能選択の抽出条件に対してB.状態B[i].joutai==入荷済みNYUUKA-ZUMIが設定され、処理機能集約の抽出条件に対してB1.在庫場所B1[i].zaikoBasho、B1.商品コードB1[i].shohinCodeが設定されている。すなわち、制約条件は、比較する条件節内に記載された条件式、あるいは条件式内で比較される変数のいずれかである後述されるドメイン特化業務名を付加する際には双方が物理モデルから抽出される。図2aにおいて、処理機能選択は、ソースコードからの単位プログラムとしてのコードの組み合わせの抽出条件として変数と定数とを比較する条件節内に代入式があり、代入処理が行われていること、...などの複数の抽出条件が設定されている。また、処理機能選択は、抽出結果として、入力条件節外で出力オブジェクトに代入しているオブジェクト、出力条件節内で出力しているオブジェクト及び制約条件として条件式を出力するように設定されている。また、図2aにおいて、処理機能集約は、ソースコードからの単位プログラムとしてのコードの抽出条件としてループ内で以下の条件を満たす場合:変数=変数を条件式とする条件節内に代入式があり、代入処理が行われ、かつ条件節の外部に代入式があり、代入処理が行われている...などの複数の抽出条件が設定されている。また、図2cの第1出力テーブルに示されているように、処理機能集約は、抽出結果として、入力ループ内で入力されているオブジェクト、出力条件節内で出力されているオブジェクト及び制約条件として条件式内で比較される変数を出力するように設定されている。処理機能抽出部11は、処理記憶部15から解析対象のソースコードを読み込み、第1ルールに従って、処理機能の機能毎の物理モデルを抽出する。第2ルール記憶部17には、プログラムの処理機能の並び順により、単位プログラムの処理機能に対応して、1つまたは複数の単位プログラムからなる物理モデルに統廃合し、ソースコードからの物理モデルの抽出処理を行うために用いる第2ルールを定義する第2ルールテーブルが記憶されている。この第2ルールテーブルには、プログラムの配列順とプログラムの組み合わせに対応して、物理モデルとの対応関係が示されている。図3は、単位プログラムを統廃合して物理モデルを生成する際に用いられる第2ルールが記述された第2ルールテーブルの概要を説明する図である。図3aは、第2ルールの例として、プログラムの配列及び処理機能選択、集約及び和により、単位プログラムを統廃合処理して、物理モデルを生成するためのルールの一例が記載されている。図3bには、第1ルールにより処理機能抽出部11が抽出した出力結果のテーブルの一例を示す図である。図3cは、第2ルールにより統廃合処理の結果出力される物理モデルの構成を示すテーブルの図である。物理モデルは、物理モデルIDに対応し、統廃合されたプログラムIDと、初期機能と、制約条件と、入力及び出力のオブジェクトとから構成されている。ここで、物理モデルの制約条件は、統廃合したプログラムにおける制約条件が反映される。また、物理モデルの入力及び出力に関しては、それぞれ統廃合のプログラムの並び順に基づき、各プログラムの入力及び出力のオブジェクトに対応して再設定される。図3aにおいて、第2ルールとして、処理機能選択のプログラムは、一つ前のプログラムの処理機能が集約以外の場合、配列の順番を入れ替える、連続する選択は一つの選択にまとめて、制約条件をアンド論理積演算で繋げる、連続する和は一つの和にまとめる、...などのルールが記載されている。処理機能統廃合部12は、第2ルールに従い、各処理機能のプログラムを、プログラムの配列順及び組み合わせに対応して統廃合し、物理モデルの生成を行う。第3ルール記憶部18には、物理モデルの処理機能の並び順と組み合わせとにより、1つまたは2つの物理モデルからなる一般業務モデルに対応させる処理を行うために用いる第3ルールを定義する第3ルールテーブルが記憶されている。この第3ルールテーブルには、物理モデルの配列順と物理モデルの組み合わせに対応して、一般業務モデルの業務名との対応関係が示されている。図4は、物理モデルに対して一般業務モデルの業務名一般業務モデル名を付加する際に用いる、上述した第3ルールが記述された第3ルールテーブルの概要を説明する図である。図4aは、第3ルールテーブルの構成を示すものであり、物理モデルの処理機能及び配置並び順の順み合わせと、この組み合わせに対応する一般業務モデル名との対応の一例が示されている。図4bは、物理モデルから一般業務モデルを抽出した際に出力される第3出力テーブルの構成を示す図である。この図4bは、業務モデルを識別する業務モデルIDに対応して、業務モデルIDの示す業務モデルに対応する物理モデルを示す物理モデルIDと、物理モデルIDの示す物理モデルを構成する単位プログラムを示すプログラムIDと、物理モデルIDが示す物理モデルの処理機能と、物理モデルIDが示す物理モデルの制約条件と、物理モデルに入力されるオブジェクトと、物理モデルから出力されるオブジェクトと、この業務モデルの一般業務名との対応を示している。業務モデル特定部13は、第3ルールに従い、各物理モデルを、物理モデルの配列順及び組み合わせに対応して統合し、一般業務モデルの生成を行う。第4ルール記憶部18には、一般業務モデルの業務名、処理対象、制約条件と、ドメイン特化業務名と対応関係を示し、一般業務モデルの処理内容に応じてドメイン特化業務名を付与するための第4ルールを定義する第4ルールテーブルが記憶されている。図5は、一般業務モデルに対してドメイン特化業務名を付加する際に用いる第4ルールが記述された第4ルールテーブルの概要を説明する図である。図5aは、第4ルールテーブルの構成を示すものであり、一般業務名、処理対象、制約条件の組み合わせと、この組み合わせに対応するドメイン特化業務名との対応の一例が示されている。図5bは、第4ルールによる処理結果として出力される結果テーブルを示す図である。一般業務モデルの業務デルID毎に、各業務モデルを構成する物理モデルの物理モデルIDと、物理モデルに統廃合されたプログラムのプログラムIDと、物理モデルの制約条件、物理モデルが入力及び出力するオブジェクトと、業務モデルIDのドメイン特化業務名との対応が記載されたテーブルの図である。処理機能統廃合部12は、第2ルールに従い、一般業務モデルの処理対象のドメインに対応して、ドメイン特化業務名を各一般業務モデルに対して付与する処理を行う。<処理機能抽出処理>次に、図1、図2、図6及び図7を用いて、処理機能抽出部11が行う処理機能抽出処理について説明する。処理機能抽出部11は、ソースコード入力部10が処理記憶部15に書き込んで記憶させたソースプログラムを読み出す。図6は、物理モデル及び業務モデルの抽出対象のソースプログラムとオブジェクト及びソースプログラム間の入力関係の一例を示す図である。このソースプログラムは、プログラムPGM-1、PGM-2、PGM-3、PGM-4、PGM-5、PGM-6、PGM-7及びPGM-8から構成され、初期入力オブジェクトとしてファイルFILE-A、FILE-D及びFILE-Gを読み込み、最終出力オブジェクトとしてFILE-Kを出力する。そして、処理機能抽出部11は、ソースプログラムにおける各PGMのソースコードから、ループ、条件式、外部入出力、代入式などのコードの種類、コードの配置を示す第1ルールパラメータを抽出する。この第1パラメータ抽出の際、処理機能抽出部11は、ソースプログラムに入力されるオブジェクトを処理する順番に、第1ルールパラメータの抽出処理を行う。すなわち、初期入力オブジェクトが入力されるプログラムから順次処理を開始し、そのプログラムから出力される出力オブジェクトが、入力オブジェクトとして入力されるプログラムの順に、第1ルールパラメータの抽出を行う。例えば、処理機能抽出部11は、FILE-Aを入力するプログラムPGM-1から抽出処理を開始し、他のプログラムからの出力と統合処理を行うプログラムPGM-6において一旦停止し、ソースプログラムに入力される他のFILE-Dを処理するプログラムPGM-3から抽出処理を再開する。同様に、処理機能抽出部11は、他のプログラムからの出力と統合処理を行うプログラムPGM-5において一旦停止し、ソースプログラムに入力される他のFILE-Gを処理するプログラムPGM-5から抽出処理を再開し、このとき、プログラムPGM-5がプログラムPGM-4から出力されるオブジェクトFILE-Fを入力していることを検出し、プログラムPGM-5への入力をFILE-FとFILGとして、プログラムPGM-5からの単位プログラムの抽出を行う。次に、処理機能抽出部11は、PGM-6に入力されるオブジェクトであるFILE-C及びFILE-Hを出力するプログラムPGM-2及びPGM-5の抽出処理が終了したことを検出すると、FILE-C及びFILE-Hを入力とするプログラムPGM-6に対し、単位プログラムを抽出する処理を行う。そして、処理機能抽出部11は、プログラムPGM-6からプログラムPGM-8までの各プログラムから、入力及び出力されるオブジェクトを含め、単位プログラムの抽出処理を行う。次に、処理機能抽出部11は、第1ルール記憶部16の第1ルールテーブルにおいて、抽出した第1ルールパラメータに対応するパラーメータを検索しパターンマッチング処理、第1ルールパラメータと一致するパラーメータに対応して記憶されている処理機能を抽出し、第1ルールパラメータに対応した処理機能を読み出す。例えば、プログラムPGM-2が、図2bに示すソースコードの場合、ソースコードPは変数B[i],joutaiと、定数NYUUKA-ZUMIを比較する条件節内if文節で代入の処理として代入B1[j]=B[i]する構造をしており、ソースコードQはループwhile文内で、変数oldData.zaikoBasho=変数newData.zaikoBashoを条件式とする条件節if文節内において、代入C.data1=oldData.data1しており、同一ループ内の同じ条件式の外部にて代入oldData=newDataする構造をしている。したがって、処理機能抽出部11は、ソースコードPから抽出した第1ルールパラメータを抽出条件として、パターンマッチングにより第1ルールテーブルを検索し、一致する抽出条件に対応する処理機能である選択を読み出し、処理機能選択の単位プログラムとしてプログラムID2を付与する。同様に、処理機能抽出部11は、ソースコードQから抽出した第1ルールパラメータを抽出条件として、パターンマッチングにより第1ルールテーブルを検索し、一致する抽出条件に対応する処理機能である集約を読み出し、処理機能集約の単位プログラムとしてプログラムID2を付与する。すなわち、処理機能抽出部11は、プログラムPGM-2のソースコードと、第1ルールとのパターンマッチングにより、プログラムPGM-2が、処理機能選択及び集約から構成されており、それぞれ状態==入荷済みという条件によりデータを選択するという処理機能選択の単位プログラムと、その選択された結果を在庫場所と商品コードとにより集約するという処理機能集約の単位プログラムとから構成されていることを検出し、処理機能単位にソースコードを構成するプログラムを分割している。このプログラムを処理機能単位に分割することにより、ソースプログラムから、従来に比較してより細かく、かつ一定の粒度により、後述する物理モデルを抽出することが可能となる。そして、処理機能抽出部11は、処理結果として、図3bに示す、ソースプログラムから抽出し単位プログラム毎に付与されたプログラムIDと、このプログラムIDに対応した単位プログラムの処理機能の種類、制約条件、単位プログラムに対する入力、単位プログラムからの出力とからなる第1出力テーブルを、処理記憶部15に書き込んで記憶させる。次に、図7は、処理機能抽出部11がソースプログラムのソースコードのプログラムを、抽出した単位プログラムに置き換えた単位プログラムのグラフである単位プログラムグラフの構成の一例を示す図である。すなわち、処理機能抽出部11は、図6に示すソースプログラムのグラフを、単位プログラムの抽出結果に対応させた図7に示す単位プログラムグラフの関係として図3bを生成し、処理記憶部15に書き込んで記憶させる。<処理機能統廃合処理>次に、図1、図3、図7及び図8を用いて、処理機能抽出部11が行う処理機能抽出処理について説明する。図8は、図7における単位プログラムグラフにおける単位プログラムを統廃合して生成した物理モデルによる物理モデルグラフを示す図である。処理機能統廃合部12は、処理機能抽出部11が処理記憶部15に書き込んで記憶させた図3bに示す第1出力テーブルを読み出す。また、処理機能統廃合部12は、第2ルール記憶部17に記憶されている第2ルールテーブルを読み出す。次に、処理機能統廃合部12は、図8の単位プログラムグラフにおける単位プログラムの配列と、第1出力テーブルにおける各単位プログラムの処理機能の記述とから、ソースプログラムに入力されるオブジェクトから順番に、単位プログラムの配列順並び順と、単位プログラムの機能の組み合わせと等からなる第2ルールパラメータを抽出する。ここで、処理機能統廃合部12は、初期入力オブジェクトが入力される単位プログラムから順次処理を開始し、その単位プログラムから出力される出力オブジェクトが、入力オブジェクトとして入力される単位プログラムの順に、第2ルールパラメータの抽出を行う。そして、処理機能統廃合部12は、第1出力テーブルから抽出された第2ルールパラメータと、第2ルールテーブルに記述された第2ルールにおける各ルールに記述されたパラーメータとマッチングすることにより一致する第2ルールパラメータに一致するパラメータが記載されたルールを検索し、第2ルールパラメータと一致したルールに基づいた統廃合の処理を行う。このとき、処理機能統廃合部12は、第2ルールに記述された順番に、ルールに基づいた統廃合処理を行う。例えば、処理機能統廃合部12は、図7に示す単位プログラムの処理順番において、処理機能選択のプログラムID7の前に配置された処理機能選択のプログラムID3及びID4の間に、処理機能集約の単位プログラムが配置されておらず、第2ルールにおける選択は、一つ前の処理機能が集約以外の場合、順番を入れ替えるとするルールに対応することを検出する。そして、処理機能統廃合部12は、プログラムID4及びID5の各々の配列位置の次の配列位置にプログラムID7選択を配置し、プログラムID6及びプログラムID8の間にあるプログラムID7選択を削除廃棄する。次に、処理機能統廃合部12は、プログラムID1及びID2の単位プログラムが双方ともに処理機能選択であり、第2ルールにおける連続する選択は一つの選択にまとめ、制約条件をアンドで繋げるとするルールに対応することを検出する。そして、処理機能統廃合部12は、処理機能選択のプログラムID1及びID2の単位プログラムを、処理機能選択の物理モデルとして統合し、識別情報として物理モデルID1を付与する。同様に、処理機能統廃合部12は、処理機能選択のプログラムID3、ID4及びID7の単位プログラムも、第2ルールにおける連続する選択は一つの選択にまとめ、制約条件をアンドで繋げるとするルールに対応することを検出する。そして、処理機能統廃合部12は、プログラムID3、ID4及びID7の単位プログラムの統廃合処理を行い、処理機能選択の物理モデルとして統合し、識別情報として物理モデルID3を付与する。また、処理機能統廃合部12は、処理機能選択のプログラムID5及びID7の単位プログラムも、第2ルールにおける連続する選択は一つの選択にまとめ、制約条件をアンドで繋げるとするルールに対応することを検出する。そして、処理機能統廃合部12は、プログラムID5処理機能選択及びID7の単位プログラムの統廃合処理を行い、処理機能選択の物理モデルとして統合し、識別情報として物理モデルID3を付与する。次に、処理機能統廃合部12は、処理機能和のプログラムID5処理機能和及びID6が連続していることより、第2ルールにおける連続する和は一つの和にまとめるとするルールに対応することを検出する。そして、処理機能統廃合部12は、プログラムID5処理機能和及びID6の単位プログラムの統廃合処理を行い、処理機能和の物理モデルとして統合し、識別情報として物理モデルID5を付与する。また、処理機能統廃合部12は、処理機能集約のプログラムID2及びID8の各々を、それぞれ処理機能集約の物理モデルとし、識別情報として物理モデルID2、ID6を付与する。上述したように、処理機能統廃合部12は、処理機能抽出部11の抽出した単位プログラムを、図7に示す単位プログラムグラフと図3cに示す第1出力テーブルとを参照することにより、第2ルールに従って機能処理の種類とその配列順とにより統廃合して生成した物理モデルを、図8に示す物理モデルの配列を示す物理モデルグラフに対応する第2出力テーブル図3cを生成し、処理記憶部15に書き込んで記憶させる。すなわち、処理機能統廃合部12は、物理モデル毎に、物理モデルを識別する物理モデルIDと対応し、物理モデルIDの示す物理モデルとして構成された単位プログラムのプログラムID、物理モデルの処理機能、制約条件、物理モデルに入力されるオブジェクト、物理モデルから出力されるオブジェクトとが対応付けた、図3cに示す第2出力テーブルを、処理記憶部15に書き込んで記憶させる。また、処理機能統廃合部12は、統廃合した結果として得られる物理モデルの入力及び出力されるオブジェクトを、統廃合する単位プログラムの入力及び出力されるオブジェクトに対応して、統廃合された物理モデル自身及び前段及び後段の物理モデルの入力及び出力されるオブジェクトを変更する。<業務モデル特定処理>次に、図1、図3、図4、図5及び図9を用いて、業務モデル特定部14が行う業務モデル特定処理について説明する。業務モデル特定部13は、処理機能統廃合部12が処理記憶部15に書き込んで記憶させた図8の物理モデルグラフの構成に対応する図3cに示す第2出力テーブルを読み出す。また、処理機能統廃合部12は、第3ルール記憶部18に記憶されている図4aに示す第3ルールテーブルを読み出す。次に、業務モデル特定部13は、図3cに示す第2出力テーブルから、各物理モデルの処理機能の種類と物理モデルの並び順を、第3ルールテーブルに記述された第3ルールとマッチングすることにより、物理モデルの処理機能の種類とその並び順配置順と第3ルールパラメータが一致するルールを検索し、この一致するルールに対応して記憶されている一般業務モデル名を第3ルールから抽出する。ここで、業務モデル特定部13は、初期入力オブジェクトが入力される物理モデルから順次処理を開始し、その物理プログラムから出力される出力オブジェクトが、入力オブジェクトとして入力される物理モデルの順に、順次第3ルールパラメータの抽出を行う。そして、業務モデル特定部13は、連続する各物理モデルの単位プログラムグラフにおける単位プログラムの配列並び順と、第1出力テーブルにおける各単位プログラムの処理機能の記述とから、図8の物理モデルグラフが示すソースプログラムに入力されるオブジェクトから順番に、一般業務モデルの名称である一般業務モデル名の付与を、図9に示す物理モデルグラフに示すように行う。図9は、物理モデルグラフにおける物理モデルIDと、業務モデルIDと、各業務モデルの業務モデル名との対応を示す図である。例えば、図4aに示す第3ルールテーブルにおいて、物理モデルID1の物理モデルの処理機能が選択であり、物理モデルID2の物理モデルの処理機能が集約であり、物理モデルID1及びID2の物理モデルが、処理機能和の物理モデルの前段において連続して配置されているため、物理モデルID1及びID2の物理モデルは、一般業務モデルの明細集計に該当する第3ルールの一例。このため、業務モデル特定部13は、第3ルールに従い、物理モデルID1及びID2の物理モデルを統合し、一つの一般業務モデルとして、明細集計を名称として付与するとともに、識別情報として業務モデルID1を付与する。また、物理モデルID3及びID4の物理モデルは、それぞれ単独で和の前段に配置され、処理内容が選択であるため、一般モデルの情報抽出に該当する第3ルールの一例。このため、業務モデル特定部13は、第3ルールに従い、物理モデルID3及びID4の物理モデルの各々に対し、一般業務モデルとして、情報抽出を名称として付与するとともに、物理モデルID3及びID4の物理モデルの各々に対して識別情報として業務モデルID2、ID3を付与する。また、物理モデルID5及びID6の物理モデルの各々は、物理モデルの配置が連続しており、かつ処理機能和と処理機能集約との順番であるため、一般業務モデルの全集計に該当する第3ルールの一例。このため、業務モデル特定部13は、第3ルールに従い、物理モデルID5及びID6の物理モデルを統合し、一つの一般業務モデルとして、全集計を名称として付与するとともに、物理モデルID3及びID4の物理モデルを統合した一般業務モデルに対して識別情報として業務モデルID4を付与する。上述したように、業務モデル特定部13は、各物理モデルの統合等の処理を行い、各物理モデルに対して一般業務モデル名及び業務モデルIDを付与し、図3cに示す第2出力テーブルの記述に基づいて、図4bに示す第3出力テーブルを生成し、生成した第3出力テーブルを処理記憶部15に書き込み記憶させる。ここで、第3出力テーブルは、各一般業務モデルの業務モデルIDと、この業務モデルIDの示す一般業務モデルに対応する物理モデルの物理モデルID、物理モデルを構成する単位プログラムのプログラムID、物理モデルの処理機能、物理モデルの制約条件、物理モデルに入力されるオブジェクト、物理モデルが出力するオブジェクトとからなるテーブルである。次に、業務モデル特定部13は、自身が処理記憶部15に書き込んで記憶させた図4に示す第3出力テーブルと、第4ルール記憶部19に記憶されている図5aに示す第4ルールテーブルを読み出す。そして、業務モデル特定部13は、図5aに示す第4ルールテーブルに記述された第4ルールに従い、すなわち第4ルールと第3出力テーブルの記述とのマッチングを行い、一般業務モデル名、処理対象及び制約条件との組み合わせとにより、一般業務モデル毎に、ドメイン特化業務名を付与する処理を行う。図10は、物理モデルグラフにおける物理モデルIDと、業務モデルIDと、業務モデルに付与されたドメイン特化業務名との対応を示す図である。上述したように、業務モデル特定部13は、この図9に示すように、物理モデルを一般業務モデルである業務モデルに変換し、この一般業務モデルに対して一般業務モデル名を付与する。また、業務モデル特定部13は、統合した結果として得られる一般業務モデルの入力及び出力されるオブジェクトを、統廃合する物理モデルの入力及び出力されるオブジェクトに対応して、統合された一般業務モデル自身及び前段及び後段の一般業務モデルの入力及び出力されるオブジェクトを変更する。次に、業務モデル特定部13は、付与した一般業務モデル名と、この一般業務モデルの処理対象と、この一般業務モデルの制約条件とにより、第4ルールに従い、各一般業務モデルに対してドメイン特化業務名を付与する処理を行う。すなわち、業務モデル特定部13は、第4ルールテーブルから、一般業務モデルの一般業務モデル名と、この一般業務モデルの処理対象と、この一般業務モデルの制約条件と一致するルールを検索し、検索されたルールに対応して記憶されているドメイン特化業務名を、検索対象とした一般業務モデルに付与する。例えば、業務モデル特定部13は、第3出力テーブルから、業務モデルID1の一般業務モデルが一般業務モデル名として明細集計であり、処理対象が入荷情報であり、かつ制約条件が入荷日==本日であることを検出する。そして、業務モデル特定部13は、業務モデルID1の一般業務モデル名、処理対象及び制約条件の組み合わせと、図5aに示す第4ルールとのマッチングを行う。マッチングにおいて、業務モデル特定部13は、一般業務モデル名が明細集計であり、処理対象が入荷情報であり、かつ制約条件に入荷日==本日である組み合わせを第4ルールにおいて検出する。この結果、業務モデル特定部13は、業務モデルID1の一般業務モデル名、処理対象及び制約条件の組み合わせと、第4ルールにて一致した組み合わせに対応するドメイン特化業務名である当日入荷集計を読み出し、業務モデルID1に付与する。ここで、処理対象の抽出は、制約条件に用いられているデータの名称から推定、例えば上述の場合、入荷日を示すデータの名称から入荷についての処理であることを推定する。また、業務モデル特定部13は、第3出力テーブルから、業務モデルID2の一般業務モデルが、一般業務モデル名が情報抽出であり、処理対象が在庫抽出情報であり、制約条件にα倉庫が含まれていることを検出する。そして、業務モデル特定部13は、業務モデルID2の一般業務モデル名、処理対象及び制約条件の組み合わせと、第4ルールとをマッチングする。この結果、業務モデル特定部13は、業務モデルID2の一般業務モデル名、処理対象及び制約条件の組み合わせと、第4ルールにて一致した組み合わせに対応するドメイン特化業務名であるα倉庫在庫抽出を読み出し、業務モデルID2に付与する。また、業務モデル特定部13は、第3出力テーブルから、業務モデルID3の一般業務モデルが、一般業務モデル名が情報抽出であり、処理対象が在庫抽出情報であり、制約条件に入荷日>本日-10営業日が含まれていることを検出する。そして、業務モデル特定部13は、業務モデルID3の一般業務モデル名、処理対象及び制約条件の組み合わせと、第4ルールとをマッチングする。この結果、業務モデル特定部13は、業務モデルID3の一般業務モデル名、処理対象及び制約条件の組み合わせと、第4ルールにて一致した組み合わせに対応するドメイン特化業務名である最新在庫抽出を読み出し、業務モデルID3に付与する。また、業務モデル特定部13は、第3出力テーブルから、業務モデルID4の一般業務モデルが一般業務モデル名として全集計であり、処理対象が在庫情報であり、かつ制約条件が在庫場所、商品コードであることを検出する。そして、業務モデル特定部13は、業務モデルID4の一般業務モデル名、処理対象及び制約条件の組み合わせと、図5aに示す第4ルールとのマッチングを行う。マッチングにおいて、業務モデル特定部13は、一般業務モデル名が全集計であり、処理対象が在庫情報であり、かつ制約条件に在庫場所、商品コードである組み合わせを第4ルールにおいて検出する。この結果、業務モデル特定部13は、業務モデルID4の一般業務モデル名、処理対象及び制約条件の組み合わせと、第4ルールにて一致した組み合わせに対応するドメイン特化業務名である全在庫集計を読み出し、業務モデルID4に付与する。そして、業務モデル特定部13は、図4における全ての一般業務モデルに対するドメイン特化業務名の付与が終了すると、図4に示す第3出力テーブルに対し、各業務モデルに対して付与したドメイン特化業務名を付加した図5bに示す第4出力テーブルを生成し、処理記憶部15に書き込んで記憶させる。また、業務モデル特定部13は、図9の物理モデルグラフに対して、各物理モデル及び業務モデルの対応関係と、業務モデル及び業務モデルに付与されたドメイン特化業務名の対応関係を示す記述を付加した図10の物理モデルグラフを生成し、処理記憶部15に書き込んで記憶させる。<結果出力処理>そして、結果出力部14は、ソースプログラムからの物理モデル及び業務モデルの抽出処理が終了すると、図5bの第4出力テーーブルと、図10のドメイン特化業務名が付与された物理モデルグラフとを読み出し、図示しない表示装置に対して表示する。上述したように、本実施形態においては、ソースコードにおけるコードの種類とその組み合わせと配置順等の組み合わせと、その組み合わせにより実現される処理機能との対応を示す第1ルールにより、ソースコードを従来に比較してより細かく一定の粒度の単位プログラムに分割するため、単位プログラムの統廃合処理、すなわちソースコードにおける処理を機能的に整理し、リバースエンジニアリングが行いやすい物理モデルを抽出することができる。また、本実施形態においては、第2ルールにより、ソースコードを処理機能毎に分割した単位プログラムの配置を、ソースプログラムの動作を変更させない条件下により変更し、かつ連続する同一の処理機能を有する単位プログラムの統合を行う統廃合処理を行い、処理機能に対応した物理モデルの抽出を行うため、ソースコードにおいて異なる位置に無駄に設けられた同一の処理機能の単位プログラムを統合し、全体のソースコードを表現する物理モデルを、ソースコードの機能を整理した状態において抽出することができ、かつ業務的な意味をわかりやすくし、業務モデルを抽出する際に、ドメインモデルである第3ルールとのマッチングが容易に行える。また、本実施形態においては、第3ルールの物理モデルの種類及び配置順の組み合わせにより、一つあるいは複数の物理モデルを一般業務モデルに変換するため、一般業務モデルが常に一定の条件で抽出することができ、従来のように、物理モデルと業務モデルとの対応が異なることなく、予め設定した第3ルールに従った均一な対応関係にある物理モデルと業務モデルとを、抽出対象のソースコードから抽出させることができる。また、本実施形態においては、物理モデルに処理機能の名称選択、集約、和、射影などを付与し、かつ一般業務モデルの一般業務モデル名と処理対象と制約条件と、第4ルールにおいて一致する一般業務モデル名と処理対象と制約条件とに対応付けられたドメイン特化業務名を読み出し、この一般業務モデル名と処理対象と制約条件一致した一般業務モデルに対して、読み出したドメイン特化業務名を付与するため、従来のように、名称付与の属人性や外部知識の必要性を排除することができ、名称を付与する工程を省くことができ、かつ処理を高速化することができる。また、本実施形態においては、プログラムを作成する担当者に理解できる物理モデルの名称が付与され、また抽出した業務モデルに対して、システムの改革及び改善を行う作業者に容易に理解できるドメイン特化業務名が付与されるため、業務的な意味を分かり易くし、リバースエンジニアリングの効率を向上させることができる。また、図1におけるソースコード入力部10、処理機能抽出部11、処理機能統廃合部12、業務モデル特定部13、結果出力部14各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより物理モデル及び業務モデルの抽出処理を行ってもよい。なお、ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものとする。また、コンピュータシステムは、WWWシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。"