(57)【要約】【課題】  業務機能、プログラム、物理データ等の対応付けに基づいて、ユーザに指定された業務機能を実現する業務仕様の作成を支援する業務仕様作成支援システムを提供することにある。【解決手段】  プログラムと入出力物理データを頂点とするグラフである物理モデル、業務機能と入出力論理データを頂点とするグラフである業務モデル、業務機能とプログラム機能の対応及び論理データと物理データの対応表である対応モデルを記憶し、ユーザが指定した業務機能に対し、対応する物理モデルを分析して業務機能に対応する部分グラフを計算して表示し、ユーザからの修正指示に応じて業務モデル及び対応モデルを修正する。【選択図】  図２
2006285707.tif 000002
【特許請求の範囲】
【請求項１】
解析対象のプログラムをもとに、業務機能を実行するプログラムと該プログラムの入出力となる物理データの関係を示す業務仕様を抽出する業務仕様作成支援システムにおいて、
前記解析対象のプログラムと該プログラムに対応する物理データの入出力関係を格納する物理モデルデータベースと、
前記業務機能と該業務機能に関する論理データとの対応を格納する業務モデルデータベースと、
前記物理データと前記論理データとの対応及び前記業務機能と該業務機能を実行するプログラムの対応を格納する対応モデルデータベースと、
ユーザによって指定された業務機能をもとに、該指定された業務機能に対応する論理データを前記業務モデルデータベースから取得し、該取得された論理データに対応する物理データを前記対応モデルデータベースから取得し、前記物理モデルデータベースに格納されたプログラムと物理データの入出力関係に基づいて、前記取得された物理データを起点とした他の物理データへの経路を取得して、該取得された経路に基づいて、前記取得された物理データと前記指定された業務機能との関係図を生成するデータ起点処理部とを備えることを特徴とする業務仕様作成支援システム。
【請求項２】
前記データ起点処理部は、前記取得された経路の終点の物理データが、前記取得された物理データに含まれている場合は、該経路に含まれる物理データ及びプログラムにマークを付けて、該物理データまたはプログラムと該マークとを対応付けて前記物理モデルに格納することを特徴とする請求項１記載の業務仕様作成支援システム。
【請求項３】
前記業務仕様作成支援システムはさらに、
ユーザによって指定された業務機能をもとに、該指定された業務機能に対応するプログラムを前記対応モデルデータベースから取得し、前記物理モデルデータベースに格納されたプログラムと物理データの入出力関係に基づいて、前記取得されたプログラムを起点とした他のプログラムへの経路を取得して、該取得された経路に基づいて、前記取得されたプログラムと前記指定された業務仕様との関係図を生成する機能起点処理部を備えることを特徴とする請求項１記載の業務仕様作成支援システム。
【請求項４】
前記関係図と前記マークを対応付けて表示した表示情報を生成する表示部とを備えることを特徴とする請求項２記載の業務仕様作成支援システム。
【請求項５】
解析対象のプログラムをもとに、業務機能を実行するプログラムと該プログラムの入出力となる物理データの関係を示す業務仕様を抽出する業務仕様作成支援システムにおける業務仕様作成支援方法であって、
前記業務仕様抽出システムの物理モデルデータベースは、前記解析対象のプログラムと該プログラムに対応する物理データの入出力関係を格納し、
前記業務仕様抽出システムの業務モデルデータベースは、前記業務機能と該業務機能に関する論理データとの対応を格納し、
前記業務仕様抽出システムの対応モデルデータベースは、前記物理データと前記論理データとの対応及び前記業務機能と該業務機能を実行するプログラムの対応を格納し、
前記業務仕様抽出システムのデータ起点処理部は、ユーザによって指定された業務機能をもとに、該指定された業務機能に対応する論理データを前記業務モデルデータベースから取得し、該取得された論理データに対応する物理データを前記対応モデルデータベースから取得し、前記物理モデルデータベースに格納されたプログラムと物理データの入出力関係に基づいて、前記取得された物理データを起点とした他の物理データへの経路を取得して、該取得された経路に基づいて、前記取得された物理データと前記指定された業務仕様との関係図を生成することを備えることを特徴とする業務仕様作成支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムで使用されているプログラムの解析を行い、プログラムの理解を支援する業務仕様作成支援システムに関する。
【背景技術】
【０００２】
情報システムで使用されているプログラムの解析を行うことにより、情報システムの理解を支援するリバースエンジニアリング支援システムは、広く使用されている。
【０００３】
しかし、一般に資産解析による情報システムの仕様抽出処理は、計算機システムに近い低レベルの仕様情報を抽出する目的では有効であるが、業務に近い高レベルの仕様の抽出を行う目的では有効ではない。これは、解析によりプログラムに対し機械的に意味付けを行うことには限界があるからである。情報システムの業務的な理解のためには、解析で得た情報に対し、作業者が意味解釈作業を行うことが必要であるが、このような作業を支援する技術として、例えば、特許文献１に示すシステムは、プログラムのモジュール構造や構文構造等の階層化された情報に対し、作業者が意味情報を付加していく過程を支援する技術を開示している。
【０００４】
【特許文献１】特開9-101884号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、業務的に意味のある処理プログラムの集合は、情報システムとしてひとまとまりの構造として管理されているとは限らず、すでにある構造に対して意味付けを行うこのようなやり方には限界がある。例えば、全体として意味をなす一連の命令が、単にソースプログラムの一部として書かれており、その前後には特に構文上の区切りが無いということが考えられるからである。
【０００６】
本発明の目的は、業務機能、プログラム、物理データ等の対応付けに基づいて、指定された業務機能を実現する業務仕様の作成を支援する業務仕様作成支援システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は、解析対象のプログラムと物理データの入出力関係を格納する物理モデルデータベースと、業務機能と論理データとの対応を格納する業務モデルデータベースと、物理データと論理データとの対応及び業務機能とそれを実行するプログラムの対応を格納する対応モデルデータベースと、これら各データベースに格納された情報をもとに、予め指定された業務機能と、その業務機能に対応する物理データの関係を示す構成を採用した。
【発明の効果】
【０００８】
本発明によれば、物理データとプログラムの関係をもとに、ユーザによって指定された業務機能を実現する業務仕様の作成を支援することができる。
【発明を実施するための最良の形態】
【０００９】
以下に、本発明の一実施形態を、図面を用いて詳細に説明する。
【００１０】
図1は、本発明の一実施形態である業務仕様作成支援システムの構成図を示す。本システムは、バス等で接続されたCPU31、ディスプレイ装置32、キーボード33、マウス等の指示装置34、ディスク装置20、メモリ10で構成される。メモリ10は、制御部40、プログラム解析部41、データ起点処理部42、機能起点処理部43、表示部44、モデル登録／修正部45の各プログラムを含む。ディスク装置20は、対象プログラム21、物理モデル22、対応モデル23、業務モデル24の各データベースを含む。
【００１１】
対象プログラム21は、図１に示すシステムの解析対象であるプログラムの集合である。ここで、「プログラム」とは、ジョブ制御言語の記述、汎用プログラム言語で書かれたソースプログラムの全体、または、関数、手続きなどその一部分等、手続きを定義する任意のものを意味する。特に、実行時の環境や入力データの値によって決まる、プログラム中の特定の実行文の系列を「プログラム」としても良い。
【００１２】
図2は、物理モデル22及び業務モデル24のグラフ構造を示す図である。物理モデルのグラフ構造（図2の右側）では、グラフの頂点は、プログラム54又は物理データ53である。物理データ53は、レコード、レコードの集合を保存するプログラム中の変数、ファイル、テーブル等任意のものである。また、プログラム頂点と物理データ頂点は向きのある辺で接続され、データの入出力を表す。このような情報は、従来のプログラム解析技術を用いて対象プログラム21を解析することにより、得ることができる。
【００１３】
業務モデルのグラフ構造（図2の左側）は、物理モデルと同等の構造であるが、グラフの頂点は、業務機能52及び論理データ51である。業務モデル及び対応モデルは、システム解析開始時にユーザにより入力された後、機能起点処理部43と、データ起点処理部42の処理で示される物理モデルとの差異により、ユーザにより修正される。初期の業務モデルは、ユーザの知り得る概略のモデルを使用しても良いし、業務システムや、アプリケーションの型における標準モデルを用いても良い。初期の対応モデルは、既知の概略モデルを使用してもよい。
【００１４】
なお、図2に示す物理モデル22及び業務モデル24においては、矢印に沿うループは無いものとし、プログラムの実行順序は、この矢印の方向に沿うものとする。このような仮定は、バッチシステム（実行プログラムとファイル）では通常成り立つが、オンラインシステムやその他の場合でも、実行されるプログラムの系列を評価し、更新毎のデータのインスタンスを区別すれば成立する。
【００１５】
また、本実施形態では、物理モデル22と業務モデル24との間の対応を対応モデル23により管理する。対応モデル23は、図2において点線58及び59で示される。対応モデル23のデータ構造は、後述する図5で示す。
【００１６】
図3は、物理モデル22のデータ構造例を示す図である。図3のプログラム表60及び物理データ表61は、後に述べる検索のアルゴリズムにおいて、それぞれ、プログラム63及び物理データ65に関する作業状態をマーク欄64または66に記録するのに用いられる。処理の初期状態では、マーク欄64及び66はクリアされ空白であるものとする。図3の物理I/O関連表62は、実際のグラフの構造（プログラム67と物理データ68の入出力関係）を定義する。例えば、レコード71は、物理データFILE-aがプログラムPGM-xの入力データであることを示す。
【００１７】
図4は、業務モデル24のデータ構造例を示す図であり、業務I/O関連表82は、グラフの構造（業務機能87に対応する論理データ88と、その論理データが入力データであるか出力データであるかを示すI/O区分89）を定義する。
【００１８】
図5は、対応モデル23のデータ構造例を示す図であり、論理データ93と物理データ94との対応を示すデータ対応モデル91と、業務機能95とプログラム96との対応を示す機能対応モデル92から構成される。例えば、データ対応モデル91のレコード97は、論理データ「受注」が、物理データ「FILE-a」に対応していることを示す（図2の点線58に相当する。）。また、機能対応モデル92では、業務機能「受注登録」に対し、「PGM-x、PGM-z、PGM-w」の3つのプログラムが対応していることを示す（図2の点線59に相当する）。
【００１９】
図6は、図1に示すシステムの処理の概要を説明するフローチャートである。
まず、制御部40は、キーボード33又は指示装置34から入力されたユーザからの解析指示を読み込み、プログラム解析部41を起動して対象プログラム21を解析し、物理モデル22を作成する（ステップ101）。次に、制御部40は、ユーザによって入力されたモデル登録指示を読み込み、モデル登録/修正部45を起動する。モデル登録/修正部45は、ユーザから入力された業務モデル及び対応モデルを読み込んで、業務モデル24及び対応モデル23の登録を行う（ステップ102）。次に、制御部40は、ユーザからの指示が、データ起点処理か、機能起点処理か、終了かを判断する（ステップ103）。
【００２０】
ステップ103の判断の結果、ユーザからの指示が「データ起点処理」である場合は、制御部40は、ユーザによって指定された業務機能に対し、データ起点処理部42を起動し、処理の結果を画面表示する（ステップ104）。ここで、データ起点処理は、業務モデル／対応モデルのデータを起点に、物理モデルから、指定された業務機能に対応する部分グラフを抜き出す処理である。ステップ104の詳細については、図7において説明する。
【００２１】
ステップ103の判断の結果、ユーザからの指示が「業務起点処理」である場合は、制御部40は、ユーザによって指定された業務機能に対し、機能起点処理部43を起動し、処理の結果を画面表示する（ステップ105）。ここで、機能起点処理は、業務モデル／対応モデルの機能部分を起点に、物理モデルより、指定された業務機能に対応する部分グラフを抜き出す処理である。ステップ105の詳細については、図12において説明する。
【００２２】
ステップ104、105で表示された画面によって、ユーザによる修正要否、修正方式の入力を受け付ける。この入力を受けて、制御部40は、対応するユーザの業務モデルまたは対応モデルを更新し（ステップ106）、再び、指示を受け付ける状態に戻る（ステップ103）。このように、ステップ103〜106の過程を繰り返すことにより、ユーザは、業務モデルと物理モデルの差異を確認して修正指示を行うことにより、業務モデル、及び対応モデルの精度を高めていくことができる。
【００２３】
図7は、図6におけるステップ104（データ起点処理）の詳細を示すフローチャートである。
まず、データ起点処理部42は、業務モデル24に含まれる業務I/O関連表82の業務機能欄87を、ユーザによって指定された業務機能に従って検索することにより、関連する論理データの集合Sを得る（ステップ111）。例えば、ユーザによって指定された業務機能が「受注登録」である場合は、データ起点処理部42は、「受注登録」をキーとして業務I/O関連表82の業務機能欄87を検索し、「受注」、「担当者」、「受注伝票」の3つの論理データを含む集合Sを得て、Sをメモリ10の図示しない記憶領域に格納する。
【００２４】
次に、データ起点処理部42は、ステップ111で抽出した論理データ（の集合S）をキーとして、データ対応モデル91（図５）の論理データ欄93を検索することにより、対象の論理データの集合に対応する物理データの集合sを得る（ステップ112）。例えば、ステップ111で得られた論理データの集合Sは、S=｛受注、担当者、受注伝票｝なので、データ起点処理部42は、その集合Sの要素をキーとしてデータ対応モデル91の論理データ欄93を検索し、物理データの集合ｓ＝｛FILE-a、FILE-c｝を得る（図5に示す例では、論理データ「担当者」に対応する物理データが不明である場合を想定している）。さらに、このsをメモリ10の図示しない記憶領域に格納する。
【００２５】
次に、データ起点処理部42は、ステップ112で得た物理データの集合sの中から1つのデータを選択して、メモリ10の図示しない記憶領域に含まれる変数vに格納する（ステップ113）。次に、データ起点処理部42は、物理モデル上で、物理データvを起点としてグラフの辺を矢印の方向にたどる検索を行い、vからグラフ上の任意のデータに至る経路の集合を得て、この経路の集合を、メモリ10の図示しない記憶領域に含まれる変数Pに格納する（ステップ114）。例えば、図2のグラフで、FILE-aを起点に考えた場合、ステップ114で得られる経路の集合Pは、P＝{(FILE-a)、(FILE-a→PGM-x→FILE-n) 、(FILE-a→PGM-x→FILE-m)、(FILE-a→PGM-x→FILE-n→PGM-y→FILE-o)、(FILE-a→PGM-x→FILE-m→PGM-z→FILE-d)、(FILE-a→PGM-x→FILE-n→PGM-y→FILE-o→PGM-w→FILE-c)、(FILE-a→PGM-x→FILE-m→PGM-y→FILE-d→PGM-w→FILE-c)}となる。
【００２６】
次に、データ起点処理部42は、ステップ114で得られた変数Pの中から選択した１つの経路を、メモリ10の図示しない記憶領域に含まれる変数pに格納する（ステップ115）。ここで、変数pの最後の頂点が、ステップ112で得られたデータの集合sに含まれる場合、ステップ115で選択された経路p上の全ての頂点に、○を付ける（ステップ116）。ここで、頂点とは、ある経路に含まれる物理データ及びプログラムを意味する。例えば、経路「FILE-a→PGM-x→FILE-n→PGM-y→FILE-o→PGM-w→FILE-c」は、最後の頂点「FILE-c」が、集合sに含まれている為、この経路の頂点である「FILE-a、PGM-x、FILE-n、PGM-y、FILE-o、PGM-w、FILE-c」に対しては、プログラム表60及び物理データ表61（図３）の対応するレコードのマーク欄64、66に「○」が格納される。
【００２７】
ステップ114で得られた変数Pに含まれるすべての経路に対してステップ115〜116の処理を行い（ステップ117）、さらにステップ112で得られた集合ｓに含まれるすべての物理データに対してステップ113〜117の処理を行う（ステップ118）。例えば、図８に示すグラフにおいて、物理データの起点の集合を、{FILE-a、FILE-c}として処理を実行すると、プログラム表60及び物理データ表61の、「FILE-a、PGM-x、FILE-n、FILE-m、PGM-y、PGM-z、FILE-o、FILE-d、PGM-w、FILE-c」に対応するレコード欄64、66に「○」が格納される。
【００２８】
次に、データ起点処理部42は、ステップ116で○が付いたプログラムが入出力する物理データの内、マーク○が付いていない物理データに、マーク△を付ける(ステップ119)。図8の例では、FILE-bが該当する（FILE-bの入力プログラムに○マークが付いていない。）。そして、物理データ表61の「FILE-b」に対応するレコードのマーク欄66に、△が格納される。この頂点「FILE-b」は、指定された業務機能が入出力すると推論されたが、現時点の業務モデル及び対応モデルから欠落しているものである。
【００２９】
次に、データ起点処理部42は、ステップ116でマーク○が付いた物理データの内、マーク○が付いていないプログラムから入出力される物理データに、マーク△を付ける(ステップ120)。図8の例においては、物理データFILE-dが該当する（物理データFILE-dを入力データとするプログラムは、PGM-w以外にもう一つ存在する。）。この頂点は、指定された業務機能が入出力すると推論されたが、現時点の業務モデル及び対応モデルから欠落しているものである。図8は、データ起点処理によりマーク付けされた頂点を示す。これらは、図7に示すステップ111〜121のデータ起点処理により認識された部分グラフを表している。
【００３０】
最後に、表示部44は、ステップ120までの処理の結果の部分グラフをディスプレイ装置に送信し、ディスプレイ装置は、処理の結果の部分グラフを図形的に表示する（ステップ121）。図8は、データ起点処理によりマーク付けされた頂点を示す。この際、業務モデルとの関連を表す情報も、合わせて表示し、部分グラフに含まれるプログラムや、部分グラフの端になる物理データが、業務モデル／対応モデルと合っているかを示す。
【００３１】
図9は、図7のステップ121において表示された処理結果の画面例を示す。枠線130は、論理データ「受注」を示しており、枠線130で囲まれた物理データFILE-aを示す図形131は、論理データ「受注」と、物理データFILE-aが対応モデルで表現されていることを示している（図5のデータ対応モデル91のレコード97）。これに対し、物理データFILE-bやFILE-dを表す図形135、136がそのような枠を持たないのは、業務モデル（図5）と対応付けられていないことを示している。また、論理データ「担当者」を表す枠線137が物理データ表す図形を含まないのは、論理データ「担当者」に対応する物理データが不明であること、即ち、対応する物理データを表す情報がデータ対応モデルに存在していないことを示す（図5のデータ対応モデル91のレコード98）。
【００３２】
枠線132は、業務機能「受注登録」を示しており、枠線132で囲まれた物理データやプログラムをあらわす図形は、データ起点処理（図7）により処理された物理データ及びプログラムである。例えば、プログラムPGM-x、PGM-z、PGM-w、に対応する図形138、139、140が強調表示されているのは、現時点の対応モデルと合致しているからであり、PGM-yに対応する図形133が強調表示されていないのは、PGM-yは、データ起点処理で処理されたプログラムであるが、業務モデルとは対応付けられていないからである。
【００３３】
ユーザは、このような画面を確認し、修正要否、修正方式の判断を行う。例えば、図9の例で想定されるユーザの修正指示は、以下のようなものである。
（１）プログラムPGM-yを、業務機能「受注登録」に対応付ける。
（２）物理データFILE-bを、論理データ「担当者」に対応付ける。
（３）業務モデルに新たな出力データとして、論理データ「納期照会」を登録し、物理データFILE-dを、論理データ「納期照会」に対応付ける。
【００３４】
制御部40は、ユーザのこのような指示を、マウス等の指示装置34から読み込み、データ起点処理部43は、図７のステップ116において、業務モデル及び対応モデルの更新処理を行う。図8、図9の例では、論理データが業務モデルに欠けている場合、または論理データが認識されていたとしても対応モデルが不明である場合の例示である。
【００３５】
図10は、業務モデルと物理モデルの他のパターンを示す例である。図10の例では、物理データが本来「FILE-a」160〜「FILE-d」163の4つでよいのに対し、物理データ「FILE-e」164、「FILE-f」165が余分に指定されていたとする。このような状況でデータ起点処理（図7）を行った場合、グラフは、指定した物理データの集合のサブセットを端の頂点として持つ複数のグラフに分かれる。このような部分グラフを図１０の点線の枠線166、167、168で示す。つまり、図10は、ある物理データが、業務の流れに入るか、それとも業務の流れに関係ないかが画面上で区別されている。
【００３６】
図10に示すような部分グラフは、余分なデータが業務モデルに含まれている場合の他、業務モデルの業務機能の粒度が実際のものよりも荒く、より詳細な分割が可能な場合にも、現われ得る。このような部分グラフの判別は、データ起点処理においてマーク付けを行う際、グラフの連結成分を表す識別子をマーク欄に入れることにより、行うことができる。
【００３７】
図11は、データやグラフが図10に示すような場合の、データ起点処理（図7）のステップ116の処理を説明するフローチャートである。
【００３８】
まず、データ起点処理部42は、経路pの最後の頂点が、指定された物理データの集合sに含まれるかどうかを判定する（ステップ181）。含まれていなければ、処理は終了する。含まれている場合は、データ起点処理部42は、経路p上に含まれる物理データの集合sの要素である頂点に対応する物理データ表61のマーク欄66に○を記憶し（ステップ182）、経路pを集合sの要素で区切った区間を1つ選択する（ステップ183）。
【００３９】
データ起点処理部42は、ステップ183で選択された区間の各頂点を調べ、頂点の中に連結成分の識別子が付加されたものがあるかどうかを調べる（ステップ184）。識別子が付加された頂点がなければ、データ起点処理部42は新しい識別子を発番し、その区間の全頂点に付加する（ステップ185）。識別子が付加された頂点があり、かつ、区間全体で識別子が唯1つだけであれば、データ起点処理部42は、この識別子を区間の全頂点に付加する（ステップ186）。区間中で識別子が複数ある場合には、データ起点処理部42は、このうちの1つを選択し、他の識別子をその選択した識別子に置き換える（ステップ187）。なお、この識別子置き換え処理は、物理モデル全体に対して行われる。その後、データ起点処理部42は、その選択された識別子を、対象区間の全頂点に付加する（ステップ186）。
【００４０】
データ起点処理部42は、経路p上の未処理の区間がなくなるまで、ステップ183〜187の処理を行う（ステップ188）。以上の処理で、部分グラフの内部の頂点に、連結成分毎に識別子を設定することができ、図１０のような表示が可能になる。ディスプレイ装置に図１１のような点線を表示することにより、ユーザは、余分に指定されたデータや、分割可能な業務機能を確認し、以下のような指示を行うことができる。
（１）物理データFILE-eに対応する、業務モデル、対応モデルを削除する。
（２）物理データFILE-fに対応する、業務モデル、対応モデルを削除する。
（３）業務機能を、枠線166、167、168の範囲に分割し、分割した機能のそれぞれに、含まれるプログラムを対応づける。
【００４１】
制御部40は、ユーザのこのような指示を、マウス等の指示装置34から読み込み、データ起点処理部43は、図７のステップ116において、業務モデル及び対応モデルの更新処理を行う。
【００４２】
図１２は、図6のステップ105（機能起点処理）の詳細を示すフローチャートである。
まず、機能起点処理部43は、機能対応モデル92の業務機能欄95を、ユーザによって指定された業務機能で検索することにより、対象の業務機能が対応するプログラムの集合Fを得る（ステップ141）。例えば、指定された業務機能が「受注登録」の場合、図5に示すように、集合Fの内容は、F＝{PGM-x、PGM-z、PGM-w}となる。
【００４３】
次に、機能起点処理部43は、集合Fから1つのプログラムを選択して、メモリ10の図示しない記憶領域に含まれる変数fに格納する（ステップ142）。機能起点処理部43は、物理モデル上で、物理データfを起点としてグラフの辺を矢印の方向にたどる検索を行い、fを起点として任意の頂点に至る経路の集合を得て、この経路の集合を、メモリ10の図示しない記憶領域に含まれる変数Pに格納する（ステップ143）。
【００４４】
機能起点処理部43は、ステップ143で得られた経路の集合Pより1つの経路を取り出し、メモリ10の図示しない記憶領域に含まれる変数pに格納する（ステップ144）。経路pの最後の頂点が、ステップ141で取得したプログラムの集合Fに含まれる場合、機能起点処理部43は、経路pのすべての頂点（プログラムまたは物理データ）の物理モデル（プログラム表60または物理データ表61）に対応するレコードのマーク欄64、66に○を記憶する（ステップ145）。ステップ143で得られた変数Pに含まれるすべての経路に対してステップ144〜145の処理を行い（ステップ146）、さらにステップ140で得られた集合Fに含まれるすべての物理データに対してステップ141〜146の処理を行う（ステップ147）。図13に示すグラフにおいて、プログラムの集合を、{PGM-x、PGM-z、PGM-w}として処理を実行すると、プログラム表60及び物理データ表61の、「PGM-x、FILE-n、FILE-m、PGM-y、PGM-z、FILE-o、FILE-d、PGM-w」に相当するレコードのマーク欄に「○」が記入される（ステップ145）。これらの頂点は、指定された業務機能に対応すると推定されたものである。
【００４５】
次に、機能起点処理部42は、ステップ145において○マークが付いたプログラムが入出力する物理データのうち、(1)○マークが付いたプログラムが、入力又は出力のみを行う物理データ、又は(2)○マークが付いていないプログラムに入力される物理データに、△マークを付ける（ステップ148）。例えば、図13では、FILE-a、FILE-b、FILE-cに対し、マーク△を付ける。これらのマークが付けられた頂点は、指定された業務機能の入出力データの候補となる。以上の機能起点処理により、指定した業務機能に相当する部分グラフを抜き出すことができた。
【００４６】
最後に、機能起点処理部42は、ステップ141〜148の処理で得た部分グラフをディスプレイ装置32に送信し、ディスプレイ装置32は、その部分グラフを表示する（ステップ149）。ユーザは、図９と同様の表示を確認し、機能起点処理部42は、業務モデル、対応モデルの更新を行う。
【００４７】
以上述べたように、本実施形態で示す業務仕様作成支援システムは、多数のプログラムより構成される情報システムを、プログラム解析の技術を元にして理解する過程を支援することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態である業務仕様作成支援システムのシステム構成図である。
【図２】業務モデル24、物理モデル22、対応モデル23のグラフ構造を示す図である。
【図３】物理モデル22のデータテーブルの例を示す図である。
【図４】業務モデル24のデータテーブルの例を示す図である。
【図５】対応モデル23のデータテーブルの例を示す図である。
【図６】本システムの処理の概要を示すフローチャートである。
【図７】図6のステップ104の処理を詳細に説明したフローチャートである。
【図８】図7のデータ起点処理により選択された部分グラフの例である。
【図９】図7の処理の結果がディスプレイ装置に表示された画面例を示す図である
【図１０】図7の処理の結果がディスプレイ装置に表示された別の画面例を示す図である。
【図１１】部分グラフの連結成分判定の為のステップ116の処理を示すフローチャートである。
【図１２】図6のステップ105の処理を詳細に説明したフローチャートである。
【図１３】図6の機能起点処理により選択された部分グラフの例である。
【符号の説明】
【００４９】
10：メモリ、20：ディスク装置、31：CPU、32：ディスプレイ装置、33：キーボード、34：指示装置、21：対象プログラム、22：物理モデル、23：対応モデル、24：業務モデル、40：制御部、41：プログラム解析部、42：データ起点処理部、43：機能起点処理部、44：表示部、45：モデル登録／修正部
【図１】
2006285707.tif 000003
【図２】
2006285707.tif 000004
【図３】
2006285707.tif 000005
【図４】
2006285707.tif 000006
【図５】
2006285707.tif 000007
【図６】
2006285707.tif 000008
【図７】
2006285707.tif 000009
【図８】
2006285707.tif 000010
【図９】
2006285707.tif 000011
【図１０】
2006285707.tif 000012
【図１１】
2006285707.tif 000013
【図１２】
2006285707.tif 000014
【図１３】
2006285707.tif 000015