(57)【特許請求の範囲】
【請求項１】
設定された解析条件に基づいて、読み込まれたプログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析部と、
前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割部と、
前記モジュールを記憶装置に蓄積するモジュール蓄積制御部と、
他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照部と、
前記所望のモジュールについて評価を受け付けるモジュール評価部と、
を備え、
前記モジュール分割部は、
前記見込み値が前記既定の閾値との関係で前記所定の条件を満たす場合であっても、前記所定の条件を満たす単位処理とそれに続く前記他の単位処理との間で分割することが規制される分割制約条件を満たすときには、前記所定の条件を満たす前記単位処理とそれに続く前記他の単位処理との間で分割せず、単位処理のまとまりで構成されるモジュールを作成することを特徴とするプログラムの統合解析管理装置。
【請求項２】
前記プログラム解析部は、
前記解析条件に基づく前記見込み値として、前記複数の単位処理を各々実行した際の処理量に相当するデータ量を解析することを特徴とする請求項１に記載のプログラムの統合解析管理装置。
【請求項３】
前記モジュール蓄積制御部は、
前記モジュールを蓄積する際に併せて、前記モジュールに関する概要を蓄積することを特徴とする請求項１に記載のプログラムの統合解析管理装置。
【請求項４】
前記モジュール評価部は、
前記所望のモジュールについて評価を受け付ける画面を表示させ、前記画面に入力された所望の評価を登録して蓄積することを特徴とする請求項１に記載のプログラムの統合解析管理装置。
【請求項５】
プログラムを統合して解析及び管理する統合解析管理装置におけるプログラムの統合解析管理方法において、
前記統合解析管理装置が、設定された解析条件に基づいて、読み込まれた前記プログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析工程と、
前記統合解析管理装置が、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割工程と、
前記統合解析管理装置が、前記モジュールを記憶装置に蓄積するモジュール蓄積工程と、
前記統合解析管理装置が、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、
前記統合解析管理装置が、前記所望のモジュールについて評価を受け付けるモジュール評価工程と、
を実行し、
前記モジュール分割工程では、
前記統合解析管理装置が、前記見込み値が前記既定の閾値との関係で前記所定の条件を満たす場合であっても、前記所定の条件を満たす単位処理とそれに続く前記他の単位処理との間で分割することが規制される分割制約条件を満たすときには、前記所定の条件を満たす前記単位処理とそれに続く前記他の単位処理との間で分割せず、単位処理のまとまりで構成されるモジュールを作成することを特徴とするプログラムの統合解析管理方法。
【請求項６】
前記プログラム解析工程では、
前記統合解析管理装置が、前記解析条件に基づく前記見込み値として、前記複数の単位処理を各々実行した際の処理量に相当するデータ量を解析することを特徴とする請求項５に記載のプログラムの統合解析管理方法。
【請求項７】
前記モジュール蓄積工程では、
前記統合解析管理装置が、前記モジュールを蓄積する際に併せて、前記モジュールに関する概要を蓄積することを特徴とする請求項５に記載のプログラムの統合解析管理方法。
【請求項８】
前記モジュール評価工程では、
前記統合解析管理装置が、前記所望のモジュールについて評価を受け付ける画面を表示させ、前記画面に入力された所望の評価を登録して蓄積することを特徴とする請求項５に記載のプログラムの統合解析管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの統合解析管理装置及びその統合解析管理方法に関し、特に、抽出したデータに所定の処理を施した上でこの処理後のデータを外部に引き渡すＥＴＬ（Ｅｘｔｒａｃｔ  Ｔｒａｎｓｆｏｒｍ  Ｌｏａｄ）プログラムの統合解析管理装置に適用して好適なものである。
【背景技術】
【０００２】
近年、企業内に散在する情報資産を統合、分析するデータマネージメントが注目されており、様々な形式のデータを統合して活用するためにＥＴＬツールが利用されている。このようなＥＴＬツールを利用することにより、あるデータ処理プログラムを実装しようとした場合、ＧＵＩによって直感的にアイコンをドラッグ＆ドロップするだけで、ほぼプログラミングを必要とせず、そのデータ処理プログラムを作成することができる。データ処理システムを開発する場合、複雑で大規模となることも多く、一般的には、生産性・保守性・再利用性等の観点から複数のプログラムに分割されて開発・管理される。例えば、特許文献１では、プログラムのデータサイズが閾値を超えるところで分割するという方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５４１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方法ではデータ量の変化で分割点(区切り)を判定することができず、意味のあるデータ処理単位でのプログラムの分割および管理はできなかった。また、ＥＴＬプログラムを実装する場合、複雑で大規模なシステムとなることが多く複数の作成者ごとに千差万別な仕上がりとなってしまい、その後のメンテナンスを実施し難くシステム全体として品質の低下に繋がってしてしまうという問題点があった。【０００５】
本発明は以上の点を考慮してなされたもので、メンテナンスを実施し易くしてシステム全体として高い品質を確保できるＥＴＬプログラムの統合解析管理装置及びその統合解析管理方法を提案しようとするものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため、本発明においては、設定された解析条件に基づいて、読み込まれたプログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析部と、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割部と、前記モジュールを記憶装置に蓄積するモジュール蓄積制御部と、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、前記所望のモジュールについて評価を受け付けるモジュール評価部と、を備えることを特徴とする。【０００７】
また、本発明においては、プログラムを統合して解析及び管理する統合解析管理装置におけるプログラムの統合解析管理方法において、前記プログラムの統合解析管理装置が、設定された解析条件に基づいて、読み込まれた前記プログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析工程と、前記統合解析管理装置が、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割工程と、前記統合解析管理装置が、前記モジュールを記憶装置に蓄積するモジュール蓄積工程と、前記統合解析管理装置が、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、前記統合解析管理装置が、前記所望のモジュールについて評価を受け付けるモジュール評価工程と、を実行することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、メンテナンスを実施し易くしてシステム全体として高い品質を確保することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態によるプログラムの統合解析管理装置の概略構成を示すブロック図である。
【図２】図１に示す解析パラメータ管理テーブルのテーブル構成例を示す図である。
【図３】図１に示すモジュール情報管理テーブルのテーブル構成例を示す図である。
【図４】図１に示す活用履歴管理テーブルのテーブル構成例を示す図である。
【図５】本実施の形態におけるソフトウェア構成の一例を示すブロック図である。
【図６】統合解析管理処理のうちの前半の処理一例を示すフローチャートである。
【図７】図６に示す統合解析管理処理の続きである後半の処理の一例を示すフローチャートである。
【図８】図６に示す解析条件の入力方法の一例を示す図である。
【図９】図６に示す解析方法の詳細な一例を示す図である。
【図１０】図６及び図７に示す分割に関する処理の一例を示す図である。
【図１１】図４に示すモジュール評価処理の詳細を示すフローチャートである。
【図１２】図１１に示すパターンマッチ処理の詳細を示すフローチャートである。
【図１３】モジュール蓄積インターフェース画面の一例を示す図である。
【図１４】評価方法におけるチューニング方法の一例を示す図である。
【図１５】参照評価処理の一例を示すフローチャートである。
【図１６】検索条件入力画面及び検索結果表示画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面について、本発明の一実施の形態について詳述する。
【００１１】
（１）本実施の形態によるプログラムの統合解析管理装置の構成
図１は、本実施の形態によるプログラムの統合解析管理装置の概略構成を示す。統合解析管理装置は、主としてシステム装置１００を備えており、さらにはクライアント端末１０１及びネットワーク１０２を備えている。
【００１２】
まず、システム装置１００の概要について説明すると、このシステム装置１００は、入力された所定のプログラム、例えばＥＴＬ（Ｅｘｔｒａｃｔ  Ｔｒａｎｓｆｏｒｍ  Ｌｏａｄ）プログラムの構成を解析し、その後、当該ＥＴＬプログラムを構成する複数の単位処理を後述するように必要に応じて分割し、当該分割された単位処理のまとまりで構成されるモジュールを、後述するモジュール群４１として蓄積する機能を有する（以下「解析蓄積機能」という）。なお、本実施の形態では、上述した単位処理を、通常用いられる意味とは別に「ステップ」と呼ぶものとする。
【００１３】
一方、クライアント端末１０１は、ユーザによって操作されるコンピュータである。クライアント端末１０１は、当該モジュールに関する情報（以下「モジュール情報」という）を、新たなＥＴＬプログラムを作成して他の実装を試みるユーザに提示する一方、当該モジュールが実際に役立ったか否かについてユーザに評価させる機能を有する（以下「参照評価機能」という）。すなわち、クライアント端末１０１は、システム装置１００に蓄積されたモジュール群４１を検索する際にユーザによって操作される。
【００１４】
システム装置１００は、ＣＰＵ１、主記憶装置２及び補助記憶装置３，４を備えている。なお、補助記憶装置３，４は一体であっても良い。ＣＰＵ１は、システム装置１００全体を制御している。
【００１５】
主記憶装置２は、メインメモリに相当し、ＣＰＵ１によって実行されるソフトウェアが記憶されている。主記憶装置２では、読み込み部２１、条件設定部２２、プログラム解析部２３、モジュール分割部２４、モジュール蓄積制御部２５、モジュール評価部２６及び表示制御部２７が動作している。
【００１６】
補助記憶装置３は、例えば、ハードディスク装置またはフラッシュメモリであり、主としてテーブルを格納する。この補助記憶装置３は、後述する解析パラメータ管理テーブル３１、モジュール情報管理テーブル３２及び活用履歴管理テーブル３３を有する。これら各テーブルの詳細については後述する。
【００１７】
一方、図１に示す補助記憶装置４は、例えば、ハードディスク装置またはフラッシュメモリであり、主としてプログラム、データを格納する。この補助記憶装置４は、モジュール群４１を有する。モジュール群４１についての詳細は後述する。
【００１８】
図２は、図１に示す解析パラメータ管理テーブル３１のテーブル構成例を示す。解析パラメータ管理テーブル３１は、上述した分割の際にトレンドに応じて分割可能にするためにレコードが変更される。
【００１９】
解析パラメータ管理テーブル３１は、そのカラムとして、図示のように、システム要件パターン、解析ＩＤ、例えば３つの分割閾値（第１の分割閾値、第２の分割閾値及び第３の分割閾値）、平均分割モジュール数、活用回数、並びに活用日時を有する。本実施の形態では、第１の分割閾値として基準ステップが、第２の分割閾値として割合［％］が、第３の分割閾値として大小関係が、例示されている。
【００２０】
システム要件パターンは、「パターン１００」であると（例えばレコード群３１Ａ，３１Ｂ，３１Ｃ）、ファイルシステムからデータを読み込み、所定ステップ以上の複雑な加工を実施することを示している。一方、システム要件パターンは、「パターン２００」であると（例えばレコード群３１Ｄ，３１Ｅ，３１Ｆ）、モジュール情報管理テーブル３２からデータを読み込み、簡潔な加工を実施することを示している。
【００２１】
第１の分割閾値としての基準ステップは、分割されるべきステップの基準ステップを表し、例えば、初期ステップ、最大ステップ及び最少ステップが例示されている。
【００２２】
第２の分割閾値としての割合［％］は、各ステップにおいてデータ量がどの程度であるかに応じて分割対象とすべきか否かを判定するための比率を示している。
【００２３】
第３の分割閾値としての大小関係は、第２の分割閾値として割合％が設定されている場合、上記データ量がその割合［％］との関係でどのような状態になった（例えば、以上または以下）ことを契機として各ステップを分割対象とすべきかを表している。
【００２４】
解析ＩＤは、設定された解析条件に基づく解析同士を区別するための識別子である。本実施の形態では、パターン１００の閾値が、例えば解析ＩＤが１０３，１０２，１０１の順序で順位付けがなされている一方、パターン２００の閾値が、例えば解析ＩＤが２０１，２０２，２０３の順序で順位付けがなされている。
【００２５】
平均分割モジュール数は、モジュール分割部２４によって１つのＥＴＬプログラムがステップのまとまりであるモジュールに分割される平均回数を表している。活用回数は、レコード３１Ａなどごとに、その後参照された活用回数を表す。活用日時は、そのように参照された日時を表す。
【００２６】
図３は、図１に示すモジュール情報管理テーブル３２のテーブル構成例を示す。モジュール情報管理テーブル３２は、モジュール情報の参照時に、キーワード、カテゴリ及び／またはタグで検索可能とするためのテーブルである。モジュール情報管理テーブル３２の詳細については後述する。
【００２７】
図４は、図１に示す活用履歴管理テーブル３３のテーブル構成例を示す。モジュール情報管理テーブル３２は、図示のように、そのカラムとして、モジュールＩＤ、モジュール名、モジュール概要、解析ＩＤ、ステップ合計数、入力形式、出力形式、１番目、２番目、・・・、ｎ番目（ｎ：自然数）、カテゴリ、タグ、活用回数、活用ユーザ、活用日時、及び評価コメントを有する。
【００２８】
活用履歴管理テーブル３３は、ユーザに最適なモジュールを推薦するために、以下の活用履歴管理テーブル３３は、図４上部に示すように、そのカラムとして、ユーザ及び活用モジュールＩＤを有する。ユーザは、他のユーザが使用したモジュールの活用を試みようとしているユーザを表している。活用モジュールＩＤは、図３に示すモジュールＩＤに対応しており、ユーザによって活用されたモジュールを識別するための識別子である。
【００２９】
ここで、例えば、ユーザＡがモジュール候補を推薦される場合を挙げると、ユーザＡは、図４上部に示すように、活用モジュールＩＤが「１」であるため、この活用モジュールＩＤが「１」である活用モジュールＩＤを含むモジュールを利用した他のユーザとしてユーザＢ，Ｃ，Ｄが検索される。これにより、図４下部に示すようにユーザＡに対しては、当該他のユーザＢ，Ｃ，Ｄに関連付けられたモジュール「２」、モジュール「３」及びモジュール「４」が推薦されるようになる。
【００３０】
（２）ソフトウェアの機能
図５は、本実施の形態におけるソフトウェア構成の一例を示す。
【００３１】
（２−１）解析蓄積機能
まず、解析蓄積機能に関連する構成は次のようになっている。読み込み部２１は、入力されたＥＴＬプログラムを読み込む。条件設定部２２は、ユーザの入力に応じて、例えばデータ量、制約条件及びシステム条件を含む解析条件を設定する。
【００３２】
プログラム解析部２３は、入出力のデータ量に基づいて各ステップのデータ量を算出する解析処理を実行する。既に説明したように本実施の形態において「ステップ」とは、一般的な表現のステップ（手順）とは異なり、上述した単位処理を表す。また同様に、上述のように分割された「単位処理のまとまり」を「モジュール」と定義して用いる。
【００３３】
モジュール分割部２４は、ＥＴＬプログラムを構成する複数のステップを各々実行することに伴って算出される見込み値（例えば入出力のデータ量）が既定の閾値との関係で所定の条件（以下「分割閾値条件」という）を満たすか否かを判定する。具体的には、モジュール分割部２４は、上記入出力のデータ量が既定の閾値を超える（若しくは以上）又は下回る（若しくは以下）分割点ごとに、上記分割閾値条件を満たすステップと、それに続く他のステップとの間の分割点で必要に応じてステップ同士を分割し、当該分割されたステップのまとまりで構成されるモジュールを作成する。
【００３４】
モジュール蓄積制御部２５は、当該モジュールをモジュール群４１の一部として補助記憶装置４に格納するとともに、当該モジュールに関するモジュール情報をモジュール情報管理テーブル３２に蓄積する。
【００３５】
（２−２）参照評価機能
モジュール評価部２６は、ユーザによって入力された解析条件に応じて、モジュール情報管理テーブル３２に格納されているモジュール情報を検索して表示制御部２７に表示させたり、表示制御部２７によって表示されたモジュール情報に関してユーザが入力した評価内容であるモジュール評価をモジュール情報管理テーブル３２に新規に登録したり登録済みのモジュール情報を更新する機能を有する。モジュール評価部２６の機能の詳細については後述する。
【００３６】
図１に示す表示制御部２７は、具体的な表示内容については後述するが、モジュール情報管理テーブル３２から検索したモジュール情報などを表示する機能を有する。
【００３７】
（３）ＥＴＬプログラムの統合解析管理方法
本実施の形態による統合解析管理装置の概略構成は以上のようであり、次に、この統合解析管理装置において実行されるプログラムの統合解析管理方法として統合解析管理装置の動作例について説明する。
【００３８】
（３−１）統合解析管理処理
図６は、統合解析管理処理のうちの前半の処理一例を示し、図７は、図６に示す統合解析管理処理の続きである後半の処理の一例を示す。図８は、図６に示す解析条件の入力方法の一例を示し、図９は、図６に示す解析方法の詳細な一例を示し、図１０は、図６及び図７に示す分割に関する処理の一例を示す。
【００３９】
（３−１−１）解析蓄積
まず、読み込み部２１が、入力されたＥＴＬプログラムを読み込む（図６のＳ１）。次に条件設定部２２が、ユーザによって入力された解析条件を設定する（図６のＳ２）。ここで、解析条件は、例えば、解析データ量、分割制約条件及びシステム要件パターンを含んでいる。
【００４０】
このような解析条件の入力画面は、図８左側に示すように構成されており、解析時に入力として与えるべきデータ量としての解析データ量［バイト］を入力可能な解析データ量入力欄２７Ａと、分割されるべき際の閾値（後述する分割閾値に相当）を自動的に設定するためのシステム要件パターンを入力可能なシステム要件パターン２７Ｂと、分割すると機能的に意味をなさなくなるステップのまとまり、または、機能的に有用であると明らかなステップの集合について分割対象としないようにするための条件（以下「分割制約条件」という）を設定可能な制約条件設定ボタン２７Ｃと、設定された解析条件に基づいて検索を実行するための操作部としての検索実行ボタン２７Ｄと、を含んでいる。
【００４１】
なお、制約条件設定ボタン２７Ｃを押下した際には、図８下部に示すように分割されるべきでないステップのまとまりが、ユーザによるマウスポインタの操作に応じて囲い込まれることにより区別され、分割制約条件として登録される。
【００４２】
プログラム解析部２３は、各ステップにおける入出力のデータ量を算出する解析処理を実行する。この解析処理では、プログラム解析部２３が、上述した解析条件で指定した解析データ量に応じて解析用データを自動的に生成し（図６のＳ３）、この解析データを用いて解析対象プログラムを実行する（図６のＳ４）。なお、解析用データのフォーマットは、例えばＣＳＶ、テキスト、データベースまたはＪＳＯＮなど様々な形式を採用することができる。
【００４３】
具体的には、図９中央左に示すように、「ＣＳＶ入力」というステップ名の初期ステップ（第１のステップ）では、ステップフィールドとの関係画面に示す情報に基づいて上記解析対象プログラムが実行される。その結果、図９下部右に示す実行結果のように「ＣＳＶ入力」というステップ名の初期ステップでは、１００００行×（６＋５）バイト＝１１０Ｋバイト／ステップの出力がなされるものと解析される。一方、「フィールド分割」というステップ名のその次のステップ（以下「第２のステップ」という）では、１００００行×（６＋５＋１）バイト＝１２０Ｋバイト／ステップの出力がなされるものと解析される。
【００４４】
本実施の形態では、上述のような解析に加えて、さらに、図９下部右に示す実行結果のように「ＣＳＶ入力」というステップ名の初期ステップでは、処理時間に相当する時間が２．７ｓ（秒）であることから、ステップ当りの実行時間（ｍｓ単位）及び速度も取得できるため、これらの値で重み付けして解析するようにしても良い。
【００４５】
次に、モジュール分割部２４は、ステップ数に達するまで、次のような演算ループを実施する（図６のＳ５，Ｓ９）。まず、モジュール分割部２４は、この解析対象プログラムにおける各ステップを実行した際に入出力されるデータ量を取得し（図６のＳ６）、このデータ量が所定の閾値（以下「分割閾値」という）との比較において分割閾値条件を満たすか否かについて判定する（図６のＳ７）。なお、ここでいうデータ量は、一例として、各ステップの入力データ量±当該各ステップの実行により増えたまたは減った差分データ量を示すものとする。
【００４６】
具体的には、モジュール分割部２４は、ＥＴＬプログラムを構成する各モジュールにおいて入出力のデータ量が上記分割閾値条件を満たす、すなわち、分割閾値を超える（若しくは以上）または下回る（若しくは以下）部分ごとに必要に応じてモジュールを分割する必要があるか否かを判定する。
【００４７】
例えば、モジュール分割部２４は、解析条件の一部であるシステム要件パターンに応じて、図１０に示す各ステップにおける時間に対する解析データ量のように解析された場合、一例として、各ステップの解析データ量のうち、例えば初期ステップの解析データの５０％という分割閾値ＤＴ以下となるステップを分割候補とする。具体的には、モジュール分割部２４は、「選択／名称変更１」及び「行整列２」というステップ名の２つのステップを分割候補として選択する。
【００４８】
なお、その後のステップ、つまり「選択／名称変更２」及び「テキストファイル出力」というステップ名の２つのステップも分割閾値ＤＴ以下であるが、既に説明したようにモジュール分割部２４は、分割制約条件が課されているこれら２つのステップのまとまりについては各ステップへの分割候補から除外する。
【００４９】
以上のようにモジュール分割部２４は、分割閾値条件を満たす場合、このステップを分割候補に設定し（図６のＳ８）、分割閾値条件を満たした回数分カウントアップしてその合計値を「分割候補数」として設定する。モジュール分割部２４は、そのような分割候補によって、図１０下部に示すように、各ステップを、例えば、「ＣＳＶ入力」、「フィールド分割」、「行整列」及び「選択／名前変更１」というステップ名の４つのステップで構成されるモジュールＡと、「ＳＱＬ分実行」、「データ検証」及び「行整列２」という２つのステップで構成されるモジュールＢと、分割制約条件が課されて分割されなかった「行結合」、「選択／名前変更２」及び「テキストファイル出力」というステップ名の３つのステップで構成されるモジュールＣと、に分割する。
【００５０】
モジュール分割部２４は、上記分割候補数分に亘り次のような分割ループを実行する（図７のＳ１０，Ｓ１４）。この分割ループでは、モジュール分割部２４が、分割制約条件が設定されているか否かを判定する（図７のＳ１１）。ここで、分割制約条件は、分割閾値条件を満たす場合であっても、対象とするステップのまとまりを途中で分割しない方が良い場合に、分割を実施しないようにすべき場合の条件を表している。
【００５１】
モジュール分割部２４は、分割制約条件が設定されている場合には、当該対象とするステップのまとまりを分割候補から除外する一方（図７のＳ１２）、分割制約条件が設定されない場合には当該対象とするステップのまとまりを分割してこれらステップのまとまりで構成されるモジュールを作成する（図７のＳ１３）。モジュール分割部２４は、１つのＥＴＬプログラムにおいてステップのまとまりごとに実際に分割した回数を分割数として管理している。
【００５２】
以上のような分割ループの実行が完了すると、以下に示すモジュール評価処理を実行する（図７のＳ１５）。
【００５３】
（３−１−２）モジュール評価
図１１は、図４に示すモジュール評価処理の詳細を示し、図１２は、図１１に示すパターンマッチ処理の詳細を示す。図１３は、モジュール蓄積インターフェース画面の一例を示し、図１４は、評価方法におけるチューニング方法の一例を示す。
【００５４】
このモジュール評価処理では、モジュール評価部２６が上記分割数に達するまで評価ループを実施する（図１１のＳ２１，Ｓ２４）。まず、モジュール評価部２６は、モジュール情報管理テーブル３２のモジュール情報を取得する（図１１のＳ２２）。次に処理工程Ｓ２３では、モジュール評価部２６が以下のようにパターンマッチ判定処理を実行する（図１１のＳ２３）。
【００５５】
このパターンマッチ処理では、まず、モジュール評価部２６が、評価対象である分割後プログラムの解析ＩＤを取得する（図１２のＳ３１）。次にモジュール評価部２６は、このように取得された解析ＩＤが付されたモジュールに関するモジュール情報がモジュール情報管理テーブル３２に存在するか否かを判定する（図１２のＳ３２）。
【００５６】
モジュール評価部２６は、このようなモジュール情報が存在しない場合には評価を「不明」に設定する一方（図１２のＳ３３）、このようなモジュール情報が存在する場合にはモジュール情報管理テーブル３２（図３参照）を検索して活用回数が１以上のモジュール情報が存在するか否かを判定する（図１２のＳ３４）。
【００５７】
モジュール評価部２６は、活用回数が１以上のモジュール情報が存在しない場合には評価を「×（最低）」に設定する一方（図１２のＳ３５）、活用回数が１以上のモジュール情報が存在する場合には、最も活用回数が多いモジュールのモジュール情報を取得する（図１２のＳ３６）。
【００５８】
次にモジュール評価部２６は、評価対象である分割後プログラムを構成するステップの数（ステップ数）が±５という条件を満たすか否かを判定する（図１２のＳ３７）。
【００５９】
モジュール評価部２６は、この条件を満たさない場合には評価を「△（低）」に設定する一方（図１２のＳ３８）、この条件を満たす場合にはステップ一覧の同一性を比較する（図１２のＳ３９）。すなわち、モジュール評価部２６は、ステップ一覧に含まれる各ステップが同一であるか否かを判定する。
【００６０】
次にモジュール評価部２６は、ステップ順序の同一性を比較する（図１２のＳ４０）。すなわち、モジュール評価部２６は、各ステップの順序が一致しているか否かを判定する。
【００６１】
次にモジュール評価部２６は、最も一致している評価対象である分割後プログラムの評価を「◎（最良）」に設定する（図１２のＳ４１）。
【００６２】
次にモジュール評価部２６は、それ以外の評価対象である分割後プログラムの評価を「○（良）」に設定する（図１２のＳ４２）。
【００６３】
以上のようにモジュール評価部２６は、上記分割数に亘って以上のような処理を繰り返す（図１１のＳ２１，２４）。
【００６４】
モジュール評価部２６は、表示制御部２７に、以上のような各評価結果をリスト状にした評価結果一覧を作成し（図１１のＳ２５）、図１３（Ａ）に示すように、この評価結果一覧に基づくモジュール蓄積インターフェース画面を表示させる（図７のＳ１６）。
【００６５】
このモジュール蓄積インターフェース画面には、図１３（Ａ）に示すようなモジュール情報が表された評価結果一覧の他にも、図１３（Ｂ）に示すような推薦すべき度合い（以下「おすすめ度」という）に関する説明が表されている。このおすすめ度は、モジュール情報管理テーブル３２において管理されている活用回数と、モジュールを構成しているステップ合計数と、各ステップとの関係から定義される。
【００６６】
ユーザは、以上のようなモジュール蓄積インターフェース画面における評価結果一覧を参照しつつ、例えば、図１３（Ｂ）に示すおすすめ度がより高い「◎」のモジュール情報を選択すべく、左側の該当チェックボックス２７Ｆにチェックマークを付ける一方、必要に応じてモジュール概要入力欄２７Ｇにモジュール概要を入力し、登録ボタン２７Ｈを押下する。
【００６７】
これにより、モジュール評価部２６は、チェックボックス２７Ｆにチェックマークが付されたモジュール情報をモジュール情報管理テーブル３２に登録し、その後これを参照可能とする。
【００６８】
図１４は、図１３に示す評価方法の応用例を示す。本実施の形態では、モジュール評価部２６が、図１３（Ｂ）に示すおすすめ度「◎」、「○」、「△」及び「×」という４段階の評価に加えて、次のような評価手法を採用してもよい。
【００６９】
具体的には、図１３に示す評価方法の結果、例えばステップＡ、ステップＣ及びステップＤで構成されるプログラム「２」が最適な構成（図示の「◎」）とされていた場合において、例えばステップＡ、ステップＢ、ステップＣ、ステップＤ及びステップＥで構成される最も左側のモジュール（図示のベストプログラムに相当）が好適であった場合、モジュール評価部２６は、ステップの種類及び順序性の比較処理を実行した後、プログラム「２」の構成を、次のように変更するよう推薦する。すなわち、モジュール評価部２６は、このベストプログラムのステップ構成に似せるよう、プログラム「２」を構成するステップＡとステップＣとの間にステップＢを挿入するとともに、ステップＤの次にステップＥを追加することを提案する。
【００７０】
上述したステップの種類の比較処理では、モジュール評価部２６が、プログラム「１」についてはベストプログラムと比較した結果、６ステップ中５ステップが同一であり、プログラム「２」についてはベストプログラムと比較した結果、３つのステップ中３つのステップが同一であるなどというようにステップの比較を実施する。一方、上述したステップの順序性の比較処理では、モジュール評価部２６が、プログラム「１」についてはベストプログラムと比較した結果、４つのステップ間の繋がりが同一であり、プログラム「２」についてはベストプログラムと比較した結果、１つのステップ間の繋がりが同一であるなどというようにステップ同士の比較を実施している。
【００７１】
（３−１−３）参照評価機能
図１５は、参照評価処理の一例を示すとともに、図１６は、参照評価処理の実行に伴い表示される画面例を示す。
【００７２】
モジュール評価部２６は、ユーザによって入力された所望の検索条件に応じて（図１５のＳ５１）、モジュール情報管理テーブル３２に格納されているモジュール情報を検索して取得する（図１５のＳ５２）。具体的な操作としては、図１６上部に示す検索条件入力画面において、ユーザが、キーワード２７Ｎに所望のキーワードを入力したりカテゴリ２７Ｏ及び／またはタグ２７Ｐを操作して所望の内容を入力した後に、検索ボタン２７Ｑを押下することにより、モジュール評価部２６が上述した検索処理を実行する。
【００７３】
さらにモジュール評価部２６は、表示制御部２７に、上記解析条件に該当するモジュール情報を表示させる（図１５のＳ５３）。具体的な表示例としては、図１６下部に示す検索結果表示画面のように、上述のように取得されたモジュール情報が順位付けられて表示される。
【００７４】
この検索結果表示画面では、取得されたモジュール情報として、例えば順位、カテゴリ、モジュール（図示のモジュールに相当）、概要、及び活用回数が表示されている。順位１位のモジュール情報は、活用回数が１１９回であり、他人による過去の活用回数が最も多くなっていることが容易に視認することができる。
【００７５】
モジュール評価部２６は、表示制御部２７によって表示されたモジュール情報に応じて評価内容であるモジュール評価がユーザによって入力されると（図１５のＳ５４）、モジュール情報管理テーブル３２に新規に登録したり登録済みのモジュール情報を更新する（図１５のＳ５５）。
【００７６】
以上のようにすると、ユーザが新たにＥＴＬプログラムを作成する際に、過去に作成したステップのまとまりを参照して再利用が可能となるため、メンテナンスを実施し易くしてシステム全体として高い品質を確保することができる。
【００７７】
（４）その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。また、上記実施形態における各処理ブロックを含むプログラムは、例えばコンピュータが読み取り可能な非一時的記憶媒体に格納されている形態であっても良い。
【産業上の利用可能性】
【００７８】
本発明は、例えば、ＥＴＬ（Ｅｘｔｒａｃｔ  Ｔｒａｎｓｆｏｒｍ  Ｌｏａｄ）プログラムのようなプログラムの統合解析管理装置及びその統合解析管理方法に広く適用することができる。
【符号の説明】
【００７９】
２１……読み込み部、２２……条件設定部、２３……プログラム解析部、２４……モジュール分割部、２５……モジュール蓄積制御部、２６……モジュール評価部、３１……解析パラメータ管理テーブル、３２……モジュール情報管理テーブル、３３……活用履歴管理テーブル、４１……モジュール群、１００……統合解析管理装置。
【図１】
0006667714.tif 000002
【図２】
0006667714.tif 000003
【図３】
0006667714.tif 000004
【図４】
0006667714.tif 000005
【図５】
0006667714.tif 000006
【図６】
0006667714.tif 000007
【図７】
0006667714.tif 000008
【図８】
0006667714.tif 000009
【図９】
0006667714.tif 000010
【図１０】
0006667714.tif 000011
【図１１】
0006667714.tif 000012
【図１２】
0006667714.tif 000013
【図１３】
0006667714.tif 000014
【図１４】
0006667714.tif 000015
【図１５】
0006667714.tif 000016
【図１６】
0006667714.tif 000017