(57)【要約】【課題】業務システムの現状を効率的に解析する。【解決手段】ジョブ解析支援装置は、複数のジョブの依存関係を示すジョブ関係情報等を参照して、複数のジョブを依存関係に基づいて一列に並べる。ジョブ解析支援装置は、ジョブと、そのジョブの属性を示すジョブ属性情報のセットをジョブセットとして設定し、ジョブセットのリストをジョブリスト画面２８０にて一覧表示させる。ユーザがジョブリスト画面２８０にていずれかのジョブセットを選択すると、選択されたジョブセットに対応するデータセットが一覧表示され、データセットが選択されると、選択されたデータセットに対応する要素セットが一覧表示される。【選択図】図１１
2009163566.tif 000002
【特許請求の範囲】
【請求項１】
前段にあたる１以上のジョブが実行されたことを条件として後段にあたる１以上のジョブが実行されるように依存関係が定められた複数のジョブについて、各ジョブの前段にあたる先行ジョブを示すジョブ関係情報を取得するジョブ関係情報取得部と、
前記ジョブ関係情報を参照して、先行ジョブを設定されていないジョブを先頭ジョブとして検出し、複数の先頭ジョブのそれぞれに対応してメモリ上に複数の暫定リストを生成し、対応する暫定リストに先頭ジョブを登録する暫定リスト生成部と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、先行ジョブの全てがいずれかの暫定リストに登録済であって、自身は暫定リストに未登録のジョブを候補ジョブとして検出し、前記候補ジョブをその先行ジョブが登録されている暫定リストに追加登録する追加登録処理を、前記複数のジョブ全てがいずれかの暫定リストに登録されるまで繰り返す暫定リスト追加部と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、第１の暫定リストに登録されているジョブが第２の暫定リストに登録されているジョブの先行ジョブにあたるときには、前記第２の暫定リストに登録されているジョブを前記第１の暫定リストに転記することにより、前記第１の暫定リストに前記第２の暫定リストを結合する暫定リスト結合部と、
前記複数のジョブを前記依存関係に基づいて一列に並べたリストとして、複数の暫定リストが結合されたジョブリストを画面表示させるジョブリスト表示部と、
を備えることを特徴とするジョブ解析支援装置。
【請求項２】
前記暫定リスト追加部は、前記追加登録処理に際し、前記候補ジョブの先行ジョブが登録されている暫定リストにおいて、前記先行ジョブの直後に前記候補ジョブを追加登録することを特徴とする請求項１に記載のジョブ解析支援装置。
【請求項３】
各ジョブとジョブの属性を示すジョブ属性情報とを対応づけたジョブ内容情報を取得するジョブ内容情報取得部と、
前記ジョブ内容情報を参照して、前記ジョブリストにおいて一列に並べられた各ジョブにジョブ属性情報を追加することにより、ジョブとジョブ属性情報のセットがリスト要素となるように前記ジョブリストを修正するジョブリスト更新部と、を更に備え、
前記ジョブリスト表示部は、修正後のジョブリストの画面表示により、ジョブとジョブ属性情報のセットを一覧表示させることを特徴とする請求項１に記載のジョブ解析支援装置。
【請求項４】
前記ジョブ内容情報取得部は、ジョブ属性情報の一部として、所定の命名規則にしたがってジョブの種別を示すように設定された各ジョブのジョブ名称を取得し、
前記ジョブリスト表示部は、ジョブ名称からジョブの種別を特定し、ジョブの種別に応じてあらかじめ定められた表示態様にて、前記ジョブリストの各リスト要素を画面表示させることを特徴とする請求項３に記載のジョブ解析支援装置。
【請求項５】
ジョブを構成する１以上のプログラムと、各プログラムによりアクセスの対象となる１以上のデータファイルとを示すジョブ構造情報を取得するジョブ構造情報取得部と、
前記ジョブ内容情報と前記ジョブ構造情報を参照して、データファイルと前記データファイルをアクセス対象とするプログラム、前記プログラムを構成要素とするジョブおよび前記ジョブに対応するジョブ属性情報を対応づけたデータセットを生成するデータセット生成部と、
前記ジョブリストにおいてユーザによりいずれかのジョブが選択されたとき、前記選択されたジョブを含む１以上のデータセットをデータセットリストとして画面表示させるデータセットリスト表示部と、
を更に備えることを特徴とする請求項３に記載のジョブ解析支援装置。
【請求項６】
前記ジョブ構造情報取得部は、ジョブ制御言語（ＪＣＬ:Job Control Language）によって記述されたコードから前記ジョブ構造情報を取得することを特徴とする請求項５に記載のジョブ解析支援装置。
【請求項７】
データファイルに含まれる１以上のデータ要素のデータ名宣言およびデータ型宣言を示すデータ宣言情報を取得するデータ宣言情報取得部と、
前記データファイルに含まれる１以上のデータ要素の意味とデータ型を示す設計文書であるデータ定義文書ファイルを取得するデータ定義文書取得部と、
前記データ宣言情報と前記データ定義文書ファイルを参照して、データ要素の意味、データ名およびデータ型とを対応づけた要素セットを生成する要素セット生成部と、
前記データセットリストにおいてユーザによりいずれかのデータセットが選択されたとき、前記選択されたデータセットに関連する１以上のデータ要素について、１以上の要素セットを要素セットリストとして画面表示させる要素セットリスト表示部と、
を備えることを特徴とする請求項５に記載のジョブ解析支援装置。
【請求項８】
前段にあたる１以上のジョブが実行されたことを条件として後段にあたる１以上のジョブが実行されるように依存関係が定められた複数のジョブについて、各ジョブの前段にあたる先行ジョブを示すジョブ関係情報を取得する機能と、
前記ジョブ関係情報を参照して、先行ジョブを設定されていないジョブを先頭ジョブとして検出し、複数の先頭ジョブのそれぞれに対応してメモリ上に複数の暫定リストを生成し、対応する暫定リストに先頭ジョブを登録する機能と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、先行ジョブの全てがいずれかの暫定リストに登録済であって、自身は暫定リストに未登録のジョブを候補ジョブとして検出し、前記候補ジョブをその先行ジョブが登録されている暫定リストに追加登録する追加登録処理を、前記複数のジョブ全てがいずれかの暫定リストに登録されるまで繰り返す機能と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、第１の暫定リストに登録されているジョブが第２の暫定リストに登録されているジョブの先行ジョブにあたるときには、前記第２の暫定リストに登録されているジョブを前記第１の暫定リストに転記することにより、前記第１の暫定リストに前記第２の暫定リストを結合する機能と、
前記複数のジョブを前記依存関係に基づいて一列に並べたリストとして、複数の暫定リストが結合されたジョブリストを画面表示させる機能と、
をコンピュータに発揮させることを特徴とするジョブ解析支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、業務システムに関連し、特に、業務システムの現状を解析するための技術、に関する。
【背景技術】
【０００２】
企業や公共施設などの運用を支える業務システム、いわゆるエンタープライズシステム（Enterprise System）は、今や、大小さまざまな組織の基盤として導入されている。業務システムは、ノード端末やデータベースから得られるデータを集計、蓄積、解析、加工した上でより付加価値の高い情報を出力する。業務システムは複雑化する組織マネジメントをより効率化するために発展を続けている。
【０００３】
業務システムは、ジョブ（Job）の集合体としてモデリングされることが多い。ジョブとは、データベースの更新処理や、各ノード端末から得られたデータに対する演算処理など、システムにおける基本的な実行単位である。業務システムによっては、ジョブの数は数千から時には数万にも及ぶ。更に、ジョブを構成するプログラムファイルの数に至っては、数十万、時には数百万にも及ぶ。業務システムは、長年にわたって稼働を続けるため、稼働後も、ジョブやプログラムファイル、データ項目等の追加、修正、廃止といったさまざまな保守作業を必要とする。
【特許文献１】特開２００２−３５８２２４号公報
【特許文献２】特開２００６−２６８５０７号公報
【特許文献３】特開２００７−２６５０２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
業務システムの長期運用のためには、業務システムの全体像は常に明快でなければならない。通常、ジョブやプログラムファイル、データ項目等の意味は、設計文書としてドキュメント化される。しかし、設計文書の記載が常に明瞭であるとは限らないし、プログラマが常に設計文書を正しく怠りなく記載するとも限らない。また、設計文書そのものが散逸してしまうこともある。このように設計文書の信頼性は、プログラマの「心がけ」に大きく依存する。いったん業務システムと設計文書が乖離してしまうと、業務システムはブラックボックス化しかねない。
【０００５】
本発明は、上記課題に基づいて完成された発明であり、その主たる目的は、業務システムの現状を効率的に解析するための技術、を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は、ジョブ解析支援装置に関する。
この装置は、複数のジョブの依存関係を示すジョブ関係情報を参照して、複数の先頭ジョブのそれぞれに対応して複数の暫定リストを生成し、対応する暫定リストに先頭ジョブを登録する。次に、先行ジョブの全てがいずれかの暫定リストに登録済であって、自身は暫定リストに未登録のジョブを候補ジョブとして検出し、候補ジョブをその先行ジョブが登録されている暫定リストに追加登録する追加登録処理を、複数のジョブ全てがいずれかの暫定リストに登録されるまで繰り返す。第１の暫定リストに登録されているジョブが第２の暫定リストに登録されているジョブの先行ジョブにあたるときには、第２の暫定リストに登録されているジョブを第１の暫定リストに転記することにより、第１の暫定リストに第２の暫定リストを結合する。複数のジョブを依存関係に基づいて一列に並べたリストとして、複数の暫定リストが結合されたジョブリストを画面表示させる。
【０００７】
なお、以上に示した構成要素の任意の組合せ、本発明を方法、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、業務システムの現状を効率的に解析しやすくなる。
【発明を実施するための最良の形態】
【０００９】
図１は、業務システム２２０のハードウェア構成図である。
業務システム２２０は、企業や公共施設のような組織の業務を管理するために導入される。業務システム２２０は、地理的に分散された複数の組織を統合するシステムとして構成されてもよい。
【００１０】
本実施例における業務システム２２０は、ジョブ管理装置２３０、ジョブ実行装置群２００および外部記憶装置２１０を含む。ジョブ管理装置２３０、ジョブ実行装置群２００および外部記憶装置２１０は通信ネットワークにより互いに接続されている。
ジョブ管理装置２３０は、各ジョブの実行条件に基づいて、複数のジョブをジョブ実行装置群２００に実行させる。ジョブ実行装置群２００は、複数のジョブ実行装置２０２を含む。各ジョブ実行装置２０２は、ジョブ管理装置２３０から割り当てられたジョブを実行する。ジョブ管理装置２３０は、あらかじめ定められた割当ルールに応じて、いずれかのジョブ実行装置２０２にジョブを割り当ててもよい。あるいは、各ジョブ実行装置２０２の処理負荷が分散するように、他のジョブ実行装置２０２よりも処理負荷が軽い状態にあるジョブ実行装置２０２に対して優先的にジョブを割り当ててもよい。
ジョブを構成するプログラムはあらかじめジョブ実行装置２０２が保持しておいてもよい。あるいは、ジョブ実行指示に際してジョブ管理装置２３０からジョブ実行装置２０２にプログラムをダウンロードしてもよい。ジョブ実行装置２０２は、ジョブの実行状態をジョブ管理装置２３０に通知する。
【００１１】
外部記憶装置２１０は、業務のためのさまざまなデータを保存する。ジョブ実行装置２０２は、ジョブの実行に際して、外部記憶装置２１０とデータを送受する。また、ジョブ実行装置２０２は、外部記憶装置２１０から取得したデータや図示しない他のデータベース、ノード端末等から取得したデータに基づいてジョブを実行する。
【００１２】
まとめると、外部記憶装置２１０のデータを変数として、ジョブ実行装置２０２はさまざまなジョブを実行する。ジョブ管理装置２３０は、各ジョブの実行条件に基づいてジョブの実行タイミングを制御する。このように、外部記憶装置２１０から得られるデータに基づいて、複数のジョブがスケジュールにしたがって実行されることにより、業務システム２２０全体の運用がなされている。
【００１３】
ジョブは、実行に際してさまざまなファイルに対する「書き込み」や「読み出し」を実行する。以下、ジョブからアクセス対象となるファイルのことを「データファイル」とよぶ。データファイルの多くは、通常、外部記憶装置２１０に保持される。業務システム２２０は、長期、時には、数十年にもわたる稼働を想定して設計される。また、業務システム２２０を構成するジョブ、プログラム、データファイル等は、組織業務の変化に対応して、適宜、改変される。
ジョブ解析支援装置１００は、ジョブ、各ジョブを構成するプログラム、各プログラムからアクセスされるデータファイル等を解析し、業務システム２２０の現状をユーザにわかりやすい形式にて示すための装置である。
【００１４】
図２は、業務システム２２０の構成図である。
業務システム２２０の構成は、
Ａ．ジョブ関係：ジョブとジョブの関係
Ｂ．ジョブ構造：ジョブとプログラム、プログラムとデータファイルの関係
Ｃ．データ構造：データファイルとデータ要素の関係
の３段階に階層化できる。
【００１５】
Ａ．ジョブ関係：ジョブとジョブの関係
業務システム２２０には、１以上のフレーム（Frame）が含まれ、フレームには１以上のネット（NET）が含まれる。ネットは１以上のジョブを含む。このように、フレーム、ネット、ジョブの順に業務システム２２０の処理単位は細分化される。ネットは、所定の処理に関わるジョブをグループ化した概念であり、フレームは、所定の処理に関わるネットをグループ化した概念である。ジョブは、フレームおよびネットにより所属先を特定される。
【００１６】
複数のジョブの間には、前段にあたるジョブの実行が完了してから後段にあたるジョブの実行が開始される、という依存関係がある。たとえば、ジョブ１の実行結果に基づいて、ジョブ２とジョブ３が実行されるとする。この場合、ジョブ２やジョブ３はジョブ１の実行が完了しなければ実行できないため、ジョブ１に依存していることになる。一方、ジョブ２とジョブ３の間には依存関係が成立しない。各ジョブの所属や依存関係は「ジョブ関係情報２４０」として登録されている。ジョブ管理装置２３０は、ジョブ関係情報２４０を参照して、各ジョブの実行スケジュールを制御する。ジョブ関係情報２４０は、ジョブ管理装置２３０のための情報であって、人間のために可読性を考慮した情報ではない。
【００１７】
そこで、プログラマは、ジョブの追加や削除、依存関係の変更等が発生したときには、適宜、ジョブ関係文書２４２を更新しておく。ジョブ関係文書２４２は、人間にわかりやすくジョブ関係を説明するための設計文書である。
【００１８】
Ｂ：ジョブ構造：ジョブとプログラム、プログラムとデータファイルの関係
ジョブは、１以上のプログラムの集合体である。プログラムはさまざまなデータファイルにアクセスする。たとえば、あるプログラムｐ１がデータファイルｄ１にデータＡを書き込むと、別のプログラムｐ２はデータファイルｄ１のデータＡに基づいて自処理を実行する。このように、各プログラムはデータファイルを介して連携する。結果として、各ジョブはデータファイルを介して連携することになる。
【００１９】
ジョブとプログラム、および、プログラムとデータファイルの関係は「第１ジョブ構造情報２４４」として登録されている。本実施例の第１ジョブ構造情報２４４は、ジョブ制御言語（ＪＣＬ：Job Control Language）によって記述される。第１ジョブ構造情報２４４は、一のジョブとそのジョブを構成する１以上のプログラム、各プログラムによりアクセスの対象となるデータファイルの関係を示す。同図に示すジョブは、プログラム１〜３の３つのプログラムから構成されていることがわかる。このうち、プログラム３は、データファイル（Ｄファイル）ｂ、ｃ、ｅ、ｆの４つのデータファイルをアクセス対象としていることがわかる。第１ジョブ構造情報２４４については、図１２に関連しても後述する。
【００２０】
本実施例における第１ジョブ構造情報２４４は、ＪＣＬにより記述されるため、人間が第１ジョブ構造情報２４４を読み下すことは可能である。ただし、ＪＣＬはあくまでもプログラミング言語であり、ジョブ、プログラム、データファイルの関係を人間に理解させるために最適な形式ではない。
【００２１】
そこで、プログラマは、ジョブやプログラム、データファイルの追加や削除、対応関係の変更等が発生したときには、適宜、ジョブ構造設計文書２４８を更新しておく。ジョブ構造設計文書２４８は、人間にわかりやすくジョブ構造を説明するための設計文書である。
【００２２】
更に、プログラムとデータファイル、データファイルとレイアウトファイルの関係は「第２ジョブ構造情報２４６」として登録されている。レイアウトファイルとは、データファイルに含まれる１以上のデータ要素について、データ型とデータ名を宣言するファイルである。本実施例の第２ジョブ構造情報２４６は、ＣＯＢＯＬ（COmmon Business Oriented Language）によって記述される。同図に示すプログラム３は、データファイルｂ、ｃ、ｅ、ｆの４つのデータファイルをアクセス対象としていることがわかる。このうち、データファイルｂに含まれる各データ要素のデータ型やデータ名は、レイアウトファイルｂにて宣言されていることがわかる。
【００２３】
本実施例における第２ジョブ構造情報２４６は、ＣＯＢＯＬにより記述されるため、人間が第２ジョブ構造情報２４６を読み下すことは可能である。ただし、ＣＯＢＯＬもプログラミング言語であり、プログラム、データファイル、レイアウトファイルの関係を人間に理解させる上で最適な形式ではない。
【００２４】
そこで、プログラマは、プログラムやデータファイル、レイアウトファイルの追加や削除、対応関係の変更等が発生したときには、適宜、ジョブ構造設計文書２４８を更新しておく。
【００２５】
Ｃ：データ構造：データファイルとデータ要素の関係
データ宣言情報２５０は、データファイルに含まれる１以上のデータ要素のデータ型とデータ名を宣言するレイアウトファイルである。同図に示すデータ宣言情報２５０は、データ要素１〜４という４つのデータ要素のデータ型とデータ名を宣言している。本実施例におけるデータ宣言情報２５０も、ＣＯＢＯＬにより記述される。データ宣言情報２５０については、図１４に関連しても後述する。
【００２６】
ＣＯＢＯＬにより記述されているため、人間がデータ宣言情報２５０を読み下すことは可能である。通常、プログラマは、データファイルに含まれるデータ要素のデータ型やデータ名を変更するときには、適宜、データ定義文書ファイル２５２も更新しておく。データ定義文書ファイル２５２は、業務システム２２０において使用されるさまざまなデータ要素を説明するための設計文書である。
【００２７】
このように、業務システム２２０は、Ａ．ジョブ関係、Ｂ．ジョブ構造、Ｃ．データ構造の３段階に階層化される。業務システム２２０の現状は、ジョブ関係情報２４０、第１ジョブ構造情報２４４、第２ジョブ構造情報２４６、データ宣言情報２５０（以下、これらを「現状情報」とよぶ）により示される。しかし、人間から見た可読性を必ずしも考慮しないこれらの現状情報から、巨大な業務システム２２０の全容を把握することは困難である。そこで、各階層に対応して、ジョブ関係文書２４２、ジョブ構造設計文書２４８、データ定義文書ファイル２５２という設計文書（以下、これらを「文書情報」とよぶ）が用意される。
【００２８】
しかし、業務システム２２０の長年の運用の結果として、徐々に現状情報と文書情報が乖離しやすくなる。いったん文書情報が現状情報から乖離してしまうと、現状情報にアクセスしなければ、業務システム２２０の現状を正確に把握できなくなってしまう。すなわち、
文書情報：人間にとってわかりやすいが、現状から乖離しやすい。
現状情報：人間にとってわかりにくいが、現状を正しく示している。
といえる。
ジョブ解析支援装置１００は、この現状情報に基づいて、業務システム２２０の正しい現状を解析し、業務システム２２０のＡ．ジョブ関係、Ｂ．ジョブ構造、Ｃ．データ構造をユーザにわかりやすく示すための装置である。以下においては、ジョブ解析支援装置１００が現状情報を解析し、ユーザにわかりやすい形式にて現状情報を示すまでの処理過程のことを「現状解析処理」とよぶ。
【００２９】
図３は、現状解析処理の処理過程の概略を示す図である。
現状解析処理においては、Ｓ１０、Ｓ１２、Ｓ１４、Ｓ１６の４つの処理が順次実行される。
１．ジョブの直列化（Ｓ１０）
ジョブ関係情報２４０を参照し、ジョブの依存関係を反映させた並び順にて複数のジョブを一列に並べる。一列に並べられたジョブは「ジョブリスト」として画面表示されることになる。ジョブの直列化については、図５、図６、図７（ａ）、図７（ｂ）、図８（ａ）、図８（ｂ）、図９（ａ）、図９（ｂ）に関連して詳述する。
２．ジョブリストの修正（Ｓ１２）
ジョブ関係情報２４０等を参照し、各ジョブの属性を示すジョブ属性情報をジョブと対応づけた「ジョブセット」を作成する。ジョブセットがリスト要素となるように、ジョブリストを修正する。ジョブリストの修正については、図１０、図１１に関連して詳述する。
３．データセットリストの作成（Ｓ１４）
ＪＣＬで記述された第１ジョブ構造情報２４４やジョブセット等を参照し、データファイル、プログラム、ジョブ、ジョブ属性情報を対応づけた「データセット」を作成する。データセットがリスト要素となる「データセットリスト」が画面表示されることになる。データセットの作成については、図１２、図１３に関連して詳述する。
４．要素セットリストの作成（Ｓ１６）
ＣＯＢＯＬで記述されたデータ宣言情報２５０やデータ定義文書ファイル２５２等を参照し、データ要素ごとにデータの意味、データ名やデータ型を対応づけた「要素セット」を作成する。要素セットをリスト要素とする「要素セットリスト」が画面表示されることになる。要素セットの作成については、図１４、図１５に関連して詳述する。
【００３０】
図４は、ジョブ解析支援装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
ここでは、主として各機能ブロックの発揮すべき機能について述べ、その具体的な作用については、図５以降に関連して説明する。
【００３１】
ジョブ解析支援装置１００は、ユーザインタフェース処理部１１０、データ処理部１４０およびデータ保持部１６０を含む。
ユーザインタフェース処理部１１０は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。
データ処理部１４０は、ユーザインタフェース処理部１１０から取得されたデータをもとにして各種のデータ処理を実行する。データ処理部１４０は、ユーザインタフェース処理部１１０とデータ保持部１６０の間のインタフェースの役割も果たす。
データ保持部１６０は、あらかじめ用意された各種の設定データや、データ処理部１４０から受け取ったデータを格納する。
【００３２】
ユーザインタフェース処理部１１０：
ユーザインタフェース処理部１１０は、入力部１１２と表示部１１４を含む。
入力部１１２は、ユーザからの入力操作を受け付ける。入力部１１２は、ジョブ関係情報取得部１１６、ジョブ内容情報取得部１１８、ジョブ構造情報取得部１２０、データ宣言情報取得部１２２およびデータ定義文書取得部１２４を含む。ジョブ関係情報取得部１１６は、ジョブ関係情報２４０を取得する。ジョブ内容情報取得部１１８は、文書情報の一部として「ジョブ内容情報２５８」を取得する。ジョブ内容情報２５８は、ジョブとジョブの属性を示すジョブ属性情報とを対応づけた情報である。ジョブ内容情報２５８については図１０に関連しても後述する。ジョブ構造情報取得部１２０は、第１ジョブ構造情報２４４と第２ジョブ構造情報２４６を取得する。データ宣言情報取得部１２２は、データ宣言情報２５０を取得する。データ定義文書取得部１２４は、データ定義文書ファイル２５２を取得する。入力部１１２は、このほかにも、ジョブ関係文書２４２やジョブ構造設計文書２４８等の各種情報も取得する。
【００３３】
表示部１１４は、ユーザに対して各種情報を表示する。
表示部１１４は、ジョブリスト表示部１２６、データセットリスト表示部１２８および要素セットリスト表示部１３０を含む。ジョブリスト表示部１２６は、後の図１１に示すジョブリスト画面２８０にてジョブリストを画面表示させる。データセットリスト表示部１２８は、後の図１３に示すデータセットリスト画面３３０にてデータセットリストを画面表示させる。要素セットリスト表示部１３０は、後の図１５に示す要素セットリスト画面３５０にて要素セットリストを画面表示させる。
【００３４】
データ処理部１４０：
データ処理部１４０は、ジョブリスト生成部１４２、データセット生成部１４４および要素セット生成部１４６を含む。ジョブリスト生成部１４２は、図３に示した現状解析処理過程のうち、「ジョブ直列化（Ｓ１０）」、「ジョブリスト修正（Ｓ１２）」を実行する。データセット生成部１４４は「データセットリスト作成（Ｓ１４）」、要素セット生成部１４６は「要素セットリスト作成（Ｓ１６）」を実行する。
【００３５】
ジョブリスト生成部１４２は、暫定リスト生成部１４８、暫定リスト追加部１５０、暫定リスト結合部１５２およびジョブリスト更新部１５４を含む。暫定リスト生成部１４８、暫定リスト追加部１５０、暫定リスト結合部１５２は、「ジョブ直列化（Ｓ１０）」を実行する。暫定リスト生成部１４８は、各ジョブの依存関係からジョブリストの元となる「暫定リスト」をメモリ上に生成し、暫定リスト追加部１５０は、各ジョブをいずれかの暫定リストに追加していく。そして、暫定リスト結合部１５２は、複数の暫定リストを結合してジョブリストを作成する。ジョブリスト更新部１５４は、「ジョブリスト修正（Ｓ１２）」を実行する。
【００３６】
データ保持部１６０：
データ保持部１６０は、ジョブ関係情報２４０を保持するジョブ関係情報保持部１６２、ジョブ内容情報を保持するジョブ内容情報保持部１６４、第１ジョブ構造情報２４４と第２ジョブ構造情報２４６を保持するジョブ構造情報保持部１６８、データ宣言情報２５０を保持するデータ宣言情報保持部１７０、データ定義文書ファイル２５２を保持するデータ定義文書保持部１７２を含む。データ保持部１６０は、このほかにもさまざまな現状情報、文書情報も保持する。
【００３７】
以下においては、図３に示した現状解析処理のＳ１０、Ｓ１２、Ｓ１４、Ｓ１６の４つの処理内容と各処理に関わるユーザインタフェースについて順次説明する。
［１．ジョブ直列化］
【００３８】
図５は、ジョブの依存関係を示す模式図である。
既述の通り、ジョブの依存関係はジョブ関係情報２４０において設定される。図５は、ジョブＡ〜Ｇの７つのジョブの依存関係を視覚的に示している。以下、「ジョブ１の実行完了」を実行開始条件とするジョブ２のことを、ジョブ１の「後行ジョブ」とよぶ。また、ジョブ１のことをジョブ２の「先行ジョブ」とよぶ。同図の場合、ジョブＢやジョブＤはジョブＡの後行ジョブである。ジョブＡはジョブＢとジョブＤにとって先行ジョブである。ジョブＣは、直接的にはジョブＢの後行ジョブであり、間接的にはジョブＡの後行ジョブである。以下、ジョブＣに対するジョブＢのように、あるジョブに対する直接的な先行ジョブのことを「狭義の先行ジョブ」とよぶ。また、ジョブＣに対するジョブＡのように、あるジョブに対する間接的な先行ジョブまで含めていうときには「広義の先行ジョブ」とよぶ。本明細書においては、特に断らない限り、単に「先行ジョブ」というときには「狭義の先行ジョブ」を指す。
【００３９】
ジョブ管理装置２３０は、ジョブの依存関係とジョブの実行状況に応じて、各ジョブの実行可否を判定しながら、実行可能なジョブをジョブ実行装置２０２に次々と実行させる。同図によれば、ジョブＡとジョブＧには、先行ジョブがない。このため、ジョブＡとジョブＧはいつでも実行開始可能である。以下、このような先行ジョブを持たないジョブのことを「先頭ジョブ」とよぶ。
【００４０】
図６は、図５に示したジョブの依存関係を設定するジョブ関係情報２４０のデータ構造図である。
ジョブ関係情報２４０は、ジョブの依存関係だけでなく、ジョブの所属等に関する情報も含むが、ここでは、ジョブの依存関係だけを対象として説明する。対象ジョブ欄２５４は、図５に示したジョブＡ〜Ｇの７つのジョブを示す。先行ジョブ欄２５６は、対象ジョブ欄２５４に示す各ジョブの先行ジョブを示す。同図によれば、ジョブＡの先行ジョブはないが、ジョブＢの先行ジョブはジョブＡである。また、ジョブＦの先行ジョブはジョブＣ、Ｅ、Ｇの３つである。ジョブ関係情報２４０においては、このような形式にてジョブ間の依存関係が定義されている。
【００４１】
人間にとって、図６のデータ構造形式よりも図５の模式図の方がジョブの依存関係を把握しやすい。このため、ジョブ関係文書２４２では、図５に示した形式にて、各ジョブの依存関係を図示することが多い。ただし、図５のような形式にてジョブの依存関係を図示する場合、ジョブの依存関係が頻繁に変更されると図そのものが乱雑となりやすい。
そこで、本実施例における「１．ジョブ直列化」処理は、ジョブの依存関係を反映させた並び順にてジョブＡ〜Ｆを一列に並べることを目的とする。
【００４２】
図７（ａ）は、ジョブの直列化における暫定リスト生成過程を示す模式図である。
同図斜線部は、先行ジョブが設定されていない領域を示す。まず、暫定リスト生成部１４８は、ジョブ関係情報２４０を参照して先頭ジョブを検出する。先頭ジョブは、先行ジョブを１つも設定されていないジョブであり、同図においてはジョブＡとジョブＧが該当する。暫定リスト生成部１４８は、暫定リストＡと暫定リストＢを生成する。より具体的には、暫定リスト生成部１４８はヒープメモリ上に２つの領域を確保し、それぞれを暫定リストＡ、暫定リストＢに対応づける。暫定リスト生成部１４８は、ジョブＡを暫定リストＡ、ジョブＢを暫定リストＢに登録する（Ｓ１、Ｓ２）。より具体的には、暫定リスト生成部１４８はヒープメモリ上の暫定リストＡに対応する領域に、ジョブＡのＩＤを記録し、暫定リストＢに対応する領域に、ジョブＢのＩＤを記録する。
【００４３】
図７（ｂ）は、ジョブの直列化における追加登録処理のうち第１過程を示す模式図である。
同図斜線部は、先行ジョブが設定されていない領域と既に暫定リストに登録された先行ジョブに該当する領域を示す。暫定リスト追加部１５０は、ジョブ関係情報２４０や各暫定リストの登録内容を参照して、全ての先行ジョブがいずれかの暫定リストに登録され、かつ、自らはいずれの暫定リストにも登録されていないジョブを候補ジョブとして検出する。同図においては、ジョブＢとジョブＤが該当する。暫定リスト追加部１５０は、このような候補ジョブをその先行ジョブと同じ暫定リストに登録する。同図の場合、暫定リスト追加部１５０は、候補ジョブＤをその先行ジョブＡと同じ暫定リストＡに登録する（Ｓ３）。このとき、ジョブＤは、ジョブＡの直後に登録される。暫定リストＡにはジョブＡ、Ｄが並ぶ。次に、暫定リスト追加部１５０は、候補ジョブＢを、同じくその先行ジョブＡと同じ暫定リストＡに登録する（Ｓ４）。このとき、ジョブＢは、ジョブＡの直後に登録される。結果として、暫定リストＡにはジョブＡ、Ｂ、Ｄが並ぶ。
なお、先行ジョブが複数あるときには、任意の先行ジョブを選択し、選択した先行ジョブの直後に候補ジョブを登録すればよい。ここでは、ジョブＤを暫定リストＡに登録してからジョブＢを暫定リストＡに登録したが、登録順序は逆でもよい。
候補ジョブを特定してから、いずれかの暫定リストに登録する処理のことを「追加登録処理」とよぶ。追加登録処理は候補ジョブが無くなるまで繰り返される。
【００４４】
図８（ａ）は、ジョブの直列化における追加登録処理のうち第２過程を示す模式図である。
暫定リスト追加部１５０は、次の候補ジョブを検出する。同図においては、ジョブＣとジョブＥが検出される。暫定リスト追加部１５０は、候補ジョブＥを、その先行ジョブＤと同じ暫定リストＡに登録する（Ｓ５）。このとき、候補ジョブＥは、先行ジョブＤの直後に登録される。次に、暫定リスト追加部１５０は、候補ジョブＣを、同じくその先行ジョブＢと同じ暫定リストＡに登録する（Ｓ６）。このとき、候補ジョブＣは、先行ジョブＢの直後に登録される。
結果として、暫定リストＡには、ジョブＡ、Ｂ、Ｃ、Ｄ、Ｅの順に登録される。
【００４５】
図８（ｂ）は、ジョブの直列化における追加登録処理のうち第３過程を示す模式図である。
暫定リスト追加部１５０は、次の候補ジョブを検出する。同図においては、最後の候補ジョブとしてジョブＦが検出される。暫定リスト追加部１５０は、候補ジョブＦを、その先行ジョブＧと同じ暫定リストＢに登録する（Ｓ７）。このとき、候補ジョブＦは、先行ジョブＧの直後に登録される。なお、ジョブＧだけでなくジョブＣやジョブＥもジョブＦの先行ジョブであるため、ジョブＦは暫定リストＡに登録されてもよい。
候補ジョブが無くなったため、追加登録処理は終了する。
【００４６】
図９（ａ）は、ジョブの直列化における暫定リスト結合過程を示す模式図である。
暫定リスト結合部１５２は、暫定リストｐのジョブ１が、別の暫定リストｑにおけるジョブ２の先行ジョブである場合、暫定リストｐの後ろに暫定リストｑを結合する。同図の場合、暫定リストＡのジョブＣやジョブＥは、別の暫定リストＢにおけるジョブＦの先行ジョブとなっている。暫定リスト結合部１５２は、ジョブ関係情報２４０や各暫定リストを参照して、ジョブＦのように別の暫定リストに先行ジョブを有するようなジョブを検出する。同図の場合、暫定リスト結合部１５２は、暫定リストＡの後ろに暫定リストＢを結合する。
【００４７】
図９（ｂ）は、ジョブの直列化完了時のジョブリストを示す模式図である。
暫定リスト結合部１５２は、複数の暫定リストを一つに結合して「ジョブリスト」を生成する。同図においては、ジョブは、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｇ、Ｆの順に一列に並べられる。図５を再び参照すると、ジョブＡ、Ｂ、Ｃという流れと、Ｄ、Ｅという流れ、Ｇ、Ｆという流れの３つの流れがあることがわかる。したがって、図７（ａ）から図９（ｂ）にかけて説明したアルゴリズムによれば、複数のジョブをその依存関係を反映した並び順にて一列に並べることができる。
【００４８】
別例として、仮に、図７（ｂ）において、候補ジョブＢを暫定リストＡに登録した後、候補ジョブＤを暫定リストＡに登録したとする。この場合、暫定リストＡ、Ｂの登録内容は、
暫定リストＡ：Ａ、Ｄ、Ｂ
暫定リストＢ：Ｇ
となる。
【００４９】
次に、図８（ａ）において、候補ジョブＥ、候補ジョブＣの順に暫定リストＡに登録したとする。この場合、暫定リストＡ、Ｂの登録内容は、
暫定リストＡ：Ａ、Ｄ、Ｅ、Ｂ、Ｃ
暫定リストＢ：Ｇ
となる。
【００５０】
次に、図８（ｂ）において、候補ジョブＦの先行ジョブをジョブＥとし、候補ジョブＦを暫定リストＡに登録したとする。この場合、暫定リストＡ、Ｂの登録内容は、
暫定リストＡ：Ａ、Ｄ、Ｅ、Ｆ、Ｂ、Ｃ
暫定リストＢ：Ｇ
となる。
【００５１】
ここで、ジョブＧは、ジョブＦの先行ジョブなので、暫定リストＢに対して暫定リストＡを結合すると、ジョブリストとして、Ｇ、Ａ、Ｄ、Ｅ、Ｆ、Ｂ、Ｃの順にジョブが並ぶことになる。図５を参照すると、ジョブＧという流れと、Ａ、Ｄ、Ｅ、Ｆという流れ、Ｂ、Ｃという流れの３つの流れがあることがわかる。したがって、図７（ａ）から図９（ｂ）にかけて説明したアルゴリズムにしたがった上記別例においても、複数のジョブをその依存関係を反映した並び順にて一列に並べることができる。
ここでは、説明を簡単にするためにジョブＡ〜Ｇの７つのジョブを例として説明したが、ジョブの数が更に多いときでも、依存関係が更に複雑などきにも、先頭ジョブの数だけ暫定リストを作ることで大きな流れを設定し、各候補ジョブを狭義の先行ジョブの直後に連結していく上記アルゴリズムは有効に機能する。
［２．ジョブリスト修正］
【００５２】
図１０は、ジョブセットの生成過程を示す模式図である。
ジョブリスト更新部１５４は、次に、ジョブとジョブの属性情報を対応づけたジョブセットをジョブごとに生成する。ジョブの属性情報の一部はジョブ関係情報２４０により定義される。フレーム欄２６０はフレームを示す。ネットＩＤ欄２６２はネットのＩＤを示す。ネット名欄２６４はネットの名称を示す。ジョブＩＤ欄２６６はジョブのＩＤを示す。このほかにも、ジョブ関係情報２４０には、図６に示したように各ジョブの先行ジョブも定義されている。ここでは、ジョブの依存関係以外のジョブ属性情報を対象として説明する。
【００５３】
ジョブ内容情報２５８は、文書情報の一部であって、各ジョブの処理内容を定義した設計文書である。ジョブ内容情報２５８は、ジョブ関係文書２４２やジョブ構造設計文書２４８の一部として提供されてもよい。ジョブＩＤ欄２６８はジョブのＩＤを示す。ジョブ名欄２７０はジョブの名称を示す。ジョブ内容欄２７２はジョブの処理内容を示す。ジョブリスト更新部１５４は、ジョブ関係情報２４０のジョブＩＤ欄２６６とジョブ内容情報２５８のジョブＩＤ欄２６８に登録されているジョブのＩＤをキーとして、ジョブごとにジョブセット２７４を生成する。同図に示すジョブセット２７４は、ジョブＩＤ＝Ｂのジョブについて、フレーム、ネットのＩＤ、ネットの名称、ジョブのＩＤ、ジョブの名称、ジョブの処理内容といった各種ジョブ属性情報を含む。これら以外にも、先行ジョブ等の各種情報が含まれてもよい。
このような処理方法により、ジョブとさまざまなジョブ属性情報を対応づけたジョブセットがジョブごとに生成される。
【００５４】
図１１は、ジョブリスト画面２８０の画面図である。
ジョブリスト更新部１５４は、各ジョブにジョブ属性情報を追加し、「１．ジョブ直列化」処理により生成された「ジョブをリスト要素とするジョブリスト」から、「ジョブセットをリスト要素とするジョブリスト」を生成する。いいかえれば、「１．ジョブ直列化」により決定された並び順にてジョブセットを並べたジョブリストを生成する。ジョブリスト表示部１２６は、ジョブセットをリスト要素とするジョブリストをジョブリスト画面２８０にて画面表示させる。
【００５５】
ジョブリスト画面２８０により、ユーザは、業務システム２２０に含まれる膨大なジョブのジョブ属性情報をまとめて閲覧できる。各ジョブセットは、ジョブの依存関係を反映したかたちで並べられるため、リスト形式であっても、ユーザはジョブの依存関係を理解しやすくなる。
【００５６】
本実施例におけるジョブの名称は、あらかじめ定められた命名規則にしたがって設定される。ジョブは、「１．入力の検出」、「２．外部記憶装置２１０からのデータの受信」、「３．受信されたデータの処理」、「４．データの外部記憶装置２１０への記録」のようにその処理内容に応じていくつかの種別に分類される。そして、「１．入力の検出」に分類されるジョブの名称には、サフィックス（接尾辞）として「ＳＴ」が設定される。同図においては、ジョブＡとジョブＧが該当する。
【００５７】
ジョブリスト表示部１２６は、サフィックス「ＳＴ」が設定されているジョブに関するジョブセットを、他のジョブに関するジョブセットとは視覚的に識別可能な態様にて表示させる。たとえば、ジョブリスト画面２８０において、サフィックス「ＳＴ」が設定されている、すなわち、「１．入力の検出」に関わるジョブのジョブセットを、他のジョブセットとは異なる文字色、背景色、フォント、文字サイズにて表示させてもよい。同様に、「２．外部記憶装置２１０からのデータの受信」に分類されるジョブの名称には、サフィックス（接尾辞）として「Ｓ」が設定される。同図においては、ジョブＢとジョブＤが該当する。ジョブリスト表示部１２６は、サフィックス「Ｓ」が設定されているジョブに関するジョブセットを、他のジョブに関するジョブセットとは視覚的に識別可能な態様にて表示させる。たとえば、ジョブリスト画面２８０において、サフィックス「Ｓ」が設定されている、すなわち、「２．外部記憶装置２１０からのデータの受信」に関わるジョブのジョブセットだけを青色表示してもよい。
このような態様によれば、各ジョブの種別や関係をユーザにわかりやすく示すことができる。
【００５８】
ジョブリストに示されるジョブの処理内容は、文書情報であるジョブ内容情報２５８に由来する。ユーザは、ジョブリスト画面２８０を参照することにより、ジョブ内容情報２５８の記載不備部分を効率的に割り出すことができる。結果として、ジョブリストが文書情報更新の必要性をユーザに認識させることになる。
【００５９】
ユーザが、いずれかのジョブセットをマウス等の入力デバイスにて選択すると、選択されたジョブに関わるデータセットのリストが画面表示される。データセットリストの画面表示については図１３に関連して説明する。
［３．データセットリスト作成］
【００６０】
図１２は、データセットの作成過程を示す模式図である。
データセット生成部１４４は、次に、ジョブ、プログラム、データファイルを対応づけたデータセットを生成する。データセット生成部１４４は、先ほど生成したジョブリスト２８４と、ＪＣＬで記述された第１ジョブ構造情報２４４、アサイン情報２９８から、データファイルごとにデータセット２８２を生成する。ジョブリスト２８４において、フレーム欄２８６はフレーム、ネットＩＤ欄２８８はネットのＩＤ、ネット名欄２９０はネットの名称、ジョブＩＤ欄２９２はジョブのＩＤ、ジョブ名欄２９４はジョブの名称、ジョブ内容欄２９６はジョブの処理内容を示す。
【００６１】
アサイン情報２９８は、現状情報の一部であって、データファイルの別名（以下、「アサイン（assign）」とよぶ）とレイアウトファイルを対応づける。アサイン欄３００はアサインを示す。宣言ファイル欄３０２は、アサインにて特定されるデータファイルのデータ要素を宣言するレイアウトファイル、すなわち、データ宣言情報２５０の名前を示す。アサイン情報２９８は、ＣＯＢＯＬにて既述された第２ジョブ構造情報２４６から抽出されるが、文書情報の一部として提供されてもよい。
【００６２】
第１ジョブ構造情報２４４は、ＪＣＬにより既述され、ジョブ、プログラム、データファイルの関係を定義する。同図に示す第１ジョブ構造情報２４４は、ジョブＢに関する。プログラム名領域３０４には、ジョブＢを構成するプログラムの名称が定義される。Ｉ／Ｏ領域３０６は、このプログラムがデータファイルを入力元としてアクセスするか（Ｉ）、出力先としてアクセスするか（Ｏ）といった入出力の別を示す。アサイン領域３０８は、アクセス対象となるデータファイルのアサインを示す。パス領域３１０は、アクセス対象となるデータファイルのパスを示す。
【００６３】
データセット生成部１４４は、ジョブＢの第１ジョブ構造情報２４４と、ジョブリスト２８４におけるジョブＢのジョブセットを参照し、第１ジョブ構造情報２４４に現れる各データファイルについてデータセットを生成する。同図のデータセット２８２は、ジョブＢ、プログラム「SEMP350」のアクセス対象となるアサイン「SYSHDD」のデータファイルに関する。データセット２８２において、アサイン欄３１４にはアサイン領域３０８のアサインがそのまま登録される。データセット名欄３１２には、パス領域３１０に示されされるパス付きのデータファイル名が登録される。プログラム欄３１８は、プログラム名領域３０４に示されるプログラムの名前「SEMP350」が登録される。Ｉ／Ｏ欄３１６には、データファイル「SYSHDD」へのプログラム「SEMP350」のアクセス種別である「Ｉ（読み出し）」が登録される。ジョブＩＤ欄３２２とジョブ名欄３２０は、プログラム「SEMP350」が属するジョブのＩＤと名称を示す。これらの情報は、ジョブのＩＤと名称はジョブリスト２８４から取得される。データセット生成部１４４は、ジョブのＩＤや名称をキーとして、ジョブリスト２８４と第１ジョブ構造情報２４４から該当情報を抽出してデータセット２８２を生成する。
【００６４】
更に、データセット生成部１４４は、アサイン欄３１４のアサインをキーとして、宣言ファイル欄３０２に示されるレイアウトファイル名を適切なデータセット２８２の宣言ファイル欄３２４に登録する。なお、このほかにもデータファイルの登録内容を説明するため情報をデータセットの一部として、文書情報から抽出してもよい。
【００６５】
図１３は、データセットリスト画面３３０の画面図である。
図１１のジョブリスト画面２８０において、ユーザがジョブＢのジョブセットを選択すると、図１３に示すようにジョブＢに関わるデータセットがリスト表示される。データセットリスト表示部１２８は、ジョブＢがジョブＩＤ欄３２２に登録されているデータセットを検出し、該当データセットを並べたデータセットリストをデータセットリスト画面３３０にて表示させる。
【００６６】
同図によれば、ジョブＢは「SEMP360」という名前のプログラムを含み、このプログラムは「SYS021」というアサインにて指定されるデータファイルからデータを読み出していることがわかる。ただし、データファイル「SYS021」のデータセット名には「&dummy」と指定されている。これは、データファイル「SYS021」が、既に無効であることを示す。プログラム「SEMP360」がアクセス対象とするデータファイルの全てに「&dummy」が指定されていれば、プログラム「SEMP360」は、無効なプログラム（以下、「ダミープログラム」とよぶ）である。この場合、プログラム「SEMP360」をジョブ管理装置２３０等のディスク上から削除できる。また、ジョブＢがアクセス対象とするデータファイルの全てに「&dummy」が指定されていれば、ジョブＢは、無効なジョブ（以下、「ダミージョブ」とよぶ）である。この場合、ジョブＢそのものをディスク上から削除できる。
【００６７】
データセットリスト画面３３０により、ダミープログラムやダミージョブを、データファイルとの関係に基づいて効率的に検出できる。データセット生成部１４４は、無効なデータファイル、ダミープログラム、ダミージョブを上記アルゴリズムにて自動的に検出し、必要であれば自動的に削除してもよい。
【００６８】
ユーザが、いずれかのデータセットをマウス等の入力デバイスにて選択すると、選択されたデータセットに関係するデータ要素について、要素セットのリストが画面表示される。要素セットリストの画面表示については図１５に関連して説明する。
［４．要素セットリストの作成］
【００６９】
図１４は、要素セットの作成過程を示す模式図である。
要素セット生成部１４６は、次に、データ宣言情報２５０とデータ定義文書ファイル２５２を参照し、データ要素ごとに名称、意味、データ型を対応づけた要素セットを生成する。
【００７０】
データ宣言情報２５０は、データファイル「SYSHDD」に対応づけられるレイアウトファイルであり、ＣＯＢＯＬで記述される。データ宣言情報２５０を含むレイアウトファイルのファイル名は、「CBL1」である。データファイル「SYSHDD」とレイアウトファイル「CBL1」の対応は、第２ジョブ構造情報２４６、特に、第２ジョブ構造情報２４６に由来するアサイン情報２９８により示される。データ宣言情報２５０は、データファイル「SYSHDD」に含まれるさまざまなデータ要素（変数等）を宣言するためのファイルである。データ名宣言領域３３２はデータ要素の名称「HOJIN-CD」、データ型宣言領域３３４はデータ要素のデータ型（X(2)）を示す。
【００７１】
データ定義文書ファイル２５２は、レイアウトファイル「CBL1」において宣言される各データ要素の意味とデータ型を説明するための設計文書である。データ意味定義領域３３６はデータ要素の意味、データ型定義領域３３８はデータ型を示す。
【００７２】
要素セット生成部１４６は、データファイル「SYSHDD」の各データ要素を宣言するデータ宣言情報２５０（現状情報）と、データファイル「SYSHDD」の各データ要素を説明するデータ宣言情報２５０（文書情報）を選択し、データ要素ごとに要素セット３４０を生成する。
【００７３】
要素セット生成部１４６は、データ宣言情報２５０における各データ要素の宣言順と、データ定義文書ファイル２５２における各データ要素の定義順にしたがって、要素セットを仮生成する。たとえば、データ宣言情報２５０で最初に宣言されるデータ要素「HOJIN-CD」と、データ定義文書ファイル２５２で最初に定義されるデータ要素「法人」を同じデータ要素であると仮定して、要素セット３４０を生成する。ただし、要素セット生成部１４６は、データ型宣言領域３３４にて定義されるデータ型とデータ型定義領域３３８にて定義されるデータ型が一致することを確認し、一致しなければ、同じ要素セット３４０とはしない。
【００７４】
通常、データ宣言情報２５０におけるデータ要素の宣言順と、データ定義文書ファイル２５２におけるデータ要素の定義順は一致することが多い。一般的傾向として、データ宣言情報２５０のデータ要素の宣言順と同じ順序にてデータ要素をデータ定義文書ファイル２５２に定義することが多いためである。要素セット生成部１４６が要素セットを生成した後も、ユーザが各要素セットの内容を確認し、手動にてこれらの要素セットの内容を修正できることが望ましい。
【００７５】
図１５は、要素セットリスト画面３５０の画面図である。
図１３のデータセットリスト画面３３０において、ユーザがデータファイル「SYSHDD」のデータセットを選択すると、図１５に示すようにデータファイル「SYSHDD」に関わる要素セットがリスト表示される。要素セットリスト表示部１３０は、データファイル「SYSHDD」についての要素セットを検出し、該当要素セットを並べた要素セットリストを要素セットリスト画面３５０にて表示させる。
【００７６】
以上、ジョブ解析支援装置１００を実施例に基づいて説明した。
一般的には、現状情報と文書情報が乖離してしまうと、業務システム２２０がブラックボックス化しやすくなる。従来、コーディング・ルールや設計文書の形式の厳格化などにより、現状情報と文書情報の両面から、業務システム２２０のブラックボックス化を防ぐための努力がなされている。しかし、このような対策は属人的スキルに依存する部分が大きい。
【００７７】
ジョブ解析支援装置１００は、業務システム２２０のありのままを示す現状情報に基づきつつ、必要に応じて既存の文書情報を参照しながら、Ａ．ジョブ関係、Ｂ．ジョブ構造、Ｃ．データ構造という３つの側面をジョブリスト画面２８０、データセットリスト画面３３０、要素セットリスト画面３５０の形態にて、リスト形式にて示す。リスト形式であるため、既存の表計算ソフトウェアによる処理に馴染みやすい。したがって、これらの各種リストから、更に、視覚的にわかりやすい形態にて業務システム２２０の全容を示しやすくなる。
【００７８】
ジョブ解析支援装置１００は、複雑な依存関係を有するジョブを一列に並べる。［１．ジョブの直列化］に関連して説明したアルゴリズムによれば、ジョブの依存関係を反映させた並び順にてジョブを並べることができる。リスト形式であっても、ユーザはある程度ジョブの依存関係を読み取りやすくなる。
【００７９】
その上で、ジョブ関係情報２４０とジョブ内容情報２５８からジョブセットを生成する。ジョブセットリストによれば、ジョブと所属、名称、処理内容等の各種ジョブ属性情報をジョブリスト画面２８０にてまとめて示すことができる。ジョブの種別に応じてジョブセットの表示態様を変えることにより、ユーザは各ジョブの種別を直感的に理解しやすくなる。
【００８０】
また、ジョブリスト画面２８０にてジョブが選択されると、選択されたジョブに関わるデータファイルの情報がリスト表示される。データファイルリストによれば、ユーザは、ジョブとプログラム、データファイルの関係をまとめて確認できる。
２００７年現在においても、多くの業務システムにおいて、２０年以上も昔のＣＯＢＯＬベースのジョブが稼働している。その一方、保守作業の結果、既に役割を終えたジョブ、いわゆる「ダミージョブ」も多い。本来、ダミージョブはディスクから除去すべきである。しかし、ダミージョブに見えるジョブが実際はダミージョブではない可能性を排除できない場合、除去せずに残しておくことがある。ダミージョブの過度の増加は、いわゆるＴＣＯ（Total Cost of Ownership）の悪化につながるため好ましいことではない。ジョブ解析支援装置１００によれば、データファイルリストにより、ダミープログラムやダミージョブを効率的に検出しやすくなる。
【００８１】
更に、データセットリスト画面３３０にてデータファイルが選択されると、選択されたデータファイルに関わるデータ要素の情報がリスト表示される。要素セットリストによれば、ユーザは、データファイルとデータ要素の関係をまとめて確認できる。
【００８２】
このように、ジョブ解析支援装置１００によれば、業務システム２２０の現状情報をユーザにわかりやすく示すことができる。また、適宜、文書情報も取り込んで示すため、文書情報において欠けている部分や古い部分を現状情報との関係から見つけ出しやすくなる。
【００８３】
以上、本発明について実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００８４】
【図１】業務システムのハードウェア構成図である。
【図２】業務システムの構成図である。
【図３】現状解析処理の処理過程の概略を示す図である。
【図４】ジョブ解析支援装置の機能ブロック図である。
【図５】ジョブの依存関係を示す模式図である。
【図６】図５に示したジョブの依存関係を設定するジョブ関係情報のデータ構造図である。
【図７】（ａ）ジョブの直列化における暫定リスト生成過程を示す模式図である。（ｂ）ジョブの直列化における追加登録処理のうち第１過程を示す模式図である。
【図８】（ａ）ジョブの直列化における追加登録処理のうち第２過程を示す模式図である。（ｂ）ジョブの直列化における追加登録処理のうち第３過程を示す模式図である。
【図９】（ａ）ジョブの直列化における暫定リスト結合過程を示す模式図である。（ｂ）ジョブの直列化完了時のジョブリストを示す模式図である。
【図１０】ジョブセットの生成過程を示す模式図である。
【図１１】ジョブリスト画面の画面図である。
【図１２】データセットの作成過程を示す模式図である。
【図１３】データセットリスト画面の画面図である。
【図１４】要素セットの作成過程を示す模式図である。
【図１５】要素セットリスト画面の画面図である。
【符号の説明】
【００８５】
１００  ジョブ解析支援装置、  １１０  ユーザインタフェース処理部、  １１２  入力部、  １１４  表示部、  １１６  ジョブ関係情報取得部、  １１８  ジョブ内容情報取得部、  １２０  ジョブ構造情報取得部、  １２２  データ宣言情報取得部、  １２４  データ定義文書取得部、  １２６  ジョブリスト表示部、  １２８  データセットリスト表示部、  １３０  要素セットリスト表示部、１４０  データ処理部、  １４２  ジョブリスト生成部、  １４４  データセット生成部、  １４６  要素セット生成部、  １４８  暫定リスト生成部、  １５０  暫定リスト追加部、  １５２  暫定リスト結合部、  １５４  ジョブリスト更新部、  １６０  データ保持部、  １６２  ジョブ関係情報保持部、  １６４  ジョブ内容情報保持部、  １６８  ジョブ構造情報保持部、  １７０  データ宣言情報保持部、  １７２  データ定義文書保持部、  ２０２  ジョブ実行装置、  ２００  ジョブ実行装置群、  ２１０  外部記憶装置、  ２２０  業務システム、  ２３０  ジョブ管理装置、  ２４０  ジョブ関係情報、  ２４２  ジョブ関係文書、  ２４４  第１ジョブ構造情報、  ２４６  第２ジョブ構造情報、  ２４８  ジョブ構造設計文書、  ２５０  データ宣言情報、  ２５２  データ定義文書ファイル、  ２５８  ジョブ内容情報、  ２７４  ジョブセット、  ２８０  ジョブリスト画面、  ２９８  アサイン情報、  ３３０  データセットリスト画面、  ３４０  要素セット、  ３５０  要素セットリスト画面。
【図１】
2009163566.tif 000003
【図２】
2009163566.tif 000004
【図３】
2009163566.tif 000005
【図４】
2009163566.tif 000006
【図５】
2009163566.tif 000007
【図６】
2009163566.tif 000008
【図７】
2009163566.tif 000009
【図８】
2009163566.tif 000010
【図９】
2009163566.tif 000011
【図１０】
2009163566.tif 000012
【図１１】
2009163566.tif 000013
【図１２】
2009163566.tif 000014
【図１３】
2009163566.tif 000015
【図１４】
2009163566.tif 000016
【図１５】
2009163566.tif 000017