(57)【特許請求の範囲】
【請求項１】
モジュール識別子に対して、このモジュールが呼び出す下位モジュールのモジュール識別子を関連付けて記憶する関連性情報記憶手段と、
モジュール識別子に対して、このモジュールが呼び出された呼出回数を記憶する呼出回数情報記憶手段と、
クライアント端末に接続される制御手段とを備えたモジュール解析システムであって、
前記制御手段が、
解析対象システムを構成するモジュール毎に、下位モジュールを特定し、両者のモジュール識別子を関連づけて前記関連性情報記憶手段に登録する手段と、
モジュール毎に呼出回数を算出し、モジュール識別子毎に呼出回数を前記呼出回数情報記憶手段に登録する手段と、
前記クライアント端末から、検索対象モジュールのモジュール識別子を取得した場合、前記検索対象モジュールのモジュール識別子に関連付けられた下位モジュールのモジュール識別子を前記関連性情報記憶手段から取得し、
前記取得した下位モジュールのモジュール識別子に関連付けられた他の下位モジュールのモジュール識別子を所定階層まで取得し、
前記取得したモジュール識別子を、階層に分けて表示する展開表示を含むモジュール構造図を生成する手段と、
前記呼出回数情報記憶手段から、前記モジュール構造図に表示されるモジュール識別子についての呼出回数を取得し、
前記モジュール構造図において、前記呼出回数に応じて各モジュール識別子の表示方法を変更する手段と、
前記モジュール構造図において、同じモジュール識別子が複数、含まれる場合、先行して表示されたモジュール識別子の表示位置から、後続して表示されるモジュール識別子の表示位置までの距離に応じて展開表示の要否を判定し、判定結果に応じて、前記下位モジュールの展開表示を集約する手段と、
前記モジュール構造図を前記クライアント端末に出力する手段と
を備えたことを特徴とするモジュール解析システム。
【請求項２】
前記下位モジュールの特定は、モジュールのソースコードに含まれるプログラム識別子
、画面識別子、データベース識別子のいずれかを用いて行なうことを特徴とする請求項１に記載のモジュール解析システム。
【請求項３】
前記制御手段が、下位モジュールの種類を特定し、
前記モジュール構造図において、下位モジュールの種類に応じて、前記下位モジュールのモジュール識別子の表示方法を変更することを特徴とする請求項１又は２のいずれか一つに記載のモジュール解析システム。
【請求項４】
下位モジュールの内容を解析して複雑度を評価し、
前記モジュール構造図において、下位モジュールの複雑度に応じて、前記下位モジュールのモジュール識別子の表示方法を変更することを特徴とする請求項１〜３のいずれか一つに記載のモジュール解析システム。
【請求項５】
検索対象外モジュールを登録した除外情報記憶手段を更に備え、
前記モジュール構造図において、前記除外情報記憶手段に登録されている検索対象外モジュールのモジュール識別子の表示を削除することを特徴とする請求項１〜４のいずれか一つに記載のモジュール解析システム。
【請求項６】
前記制御手段が、各モジュールを起動した場合において、他のモジュールの呼出ログを取得し、
前記呼出ログを用いて、前記関連性情報記憶手段に記憶された情報を修正することを特徴とする請求項１〜５のいずれか一つに記載のモジュール解析システム。
【請求項７】
利用者ＩＤ、スキルレベルに関するデータを含む利用者管理レコードが記録されている利用者データ記憶部、
見出し語、スキルレベル、翻訳語に関するデータを含む単語レコードが記録されている辞書データ記憶部を更に備え、
前記制御手段が、更に、
前記利用者データ記憶部を用いて、利用者の利用者ＩＤに対応するスキルレベルを特定し、
前記辞書データ記憶部から、解析対象システムを構成するモジュールのソースコードに含まれる単語を翻訳対象語として抽出し、
前記翻訳対象語が、前記辞書データ記憶部に記録された単語レコードの見出し語として登録されている場合、前記特定したスキルレベルに応じた翻訳語を抽出して表示することを特徴とする請求項１〜６に記載のモジュール解析システム。
【請求項８】
モジュール識別子に対して、このモジュールが呼び出す下位モジュールのモジュール識別子を関連付けて記憶する関連性情報記憶手段と、
モジュール識別子に対して、このモジュールが呼び出された呼出回数を記憶する呼出回数情報記憶手段と、
クライアント端末に接続される制御手段とを備えたモジュール解析システムを用いて、モジュールを解析する方法であって、
前記制御手段が、
解析対象システムを構成するモジュール毎に、下位モジュールを特定し、両者のモジュール識別子を関連づけて前記関連性情報記憶手段に登録する段階と、
モジュール毎に呼出回数を算出し、モジュール識別子毎に呼出回数を前記呼出回数情報記憶手段に登録する段階と、
前記クライアント端末から、検索対象モジュールのモジュール識別子を取得した場合、前記検索対象モジュールのモジュール識別子に関連付けられた下位モジュールのモジュール識別子を前記関連性情報記憶手段から取得し、
前記取得した下位モジュールのモジュール識別子に関連付けられた他の下位モジュールのモジュール識別子を所定階層まで取得し、
前記取得したモジュール識別子を、階層に分けて表示する展開表示を含むモジュール構造図を生成する段階と、
前記呼出回数情報記憶手段から、前記モジュール構造図に表示されるモジュール識別子についての呼出回数を取得し、
前記モジュール構造図において、前記呼出回数に応じて各モジュール識別子の表示方法を変更する段階と、
前記モジュール構造図において、同じモジュール識別子が複数、含まれる場合、先行して表示されたモジュール識別子の表示位置から、後続して表示されるモジュール識別子の表示位置までの距離に応じて展開表示の要否を判定し、判定結果に応じて、前記下位モジュールの展開表示を集約する段階と、
前記モジュール構造図を前記クライアント端末に出力する段階と
を実行することを特徴とするモジュール解析方法。
【請求項９】
モジュール識別子に対して、このモジュールが呼び出す下位モジュールのモジュール識別子を関連付けて記憶する関連性情報記憶手段と、
モジュール識別子に対して、このモジュールが呼び出された呼出回数を記憶する呼出回数情報記憶手段と、
クライアント端末に接続される制御手段とを備えたモジュール解析システムを用いて、モジュールを解析するためのプログラムであって、
前記制御手段を、
解析対象システムを構成するモジュール毎に、下位モジュールを特定し、両者のモジュール識別子を関連づけて前記関連性情報記憶手段に登録する手段、
モジュール毎に呼出回数を算出し、モジュール識別子毎に呼出回数を前記呼出回数情報記憶手段に登録する手段、
前記クライアント端末から、検索対象モジュールのモジュール識別子を取得した場合、前記検索対象モジュールのモジュール識別子に関連付けられた下位モジュールのモジュール識別子を前記関連性情報記憶手段から取得し、
前記取得した下位モジュールのモジュール識別子に関連付けられた他の下位モジュールのモジュール識別子を所定階層まで取得し、
前記取得したモジュール識別子を、階層に分けて表示する展開表示を含むモジュール構造図を生成する手段、
前記呼出回数情報記憶手段から、前記モジュール構造図に表示されるモジュール識別子についての呼出回数を取得し、
前記モジュール構造図において、前記呼出回数に応じて各モジュール識別子の表示方法を変更する手段、
前記モジュール構造図において、同じモジュール識別子が複数、含まれる場合、先行して表示されたモジュール識別子の表示位置から、後続して表示されるモジュール識別子の表示位置までの距離に応じて展開表示の要否を判定し、判定結果に応じて、前記下位モジュールの展開表示を集約する手段、
前記モジュール構造図を前記クライアント端末に出力する手段
として機能させることを特徴とするモジュール解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュールから構成されたシステム構造を可視化するためのモジュール解析システム、モジュール解析方法及びモジュール解析プログラムに関する。
【背景技術】
【０００２】
既存のシステムについて、新たな機能追加や機能修正のために、プログラムを部分的に変更することがある。この場合、変更作業が、他のシステム構成にどのような影響を与えるかを調査する必要がある。最近のシステム開発においては、各機能を部品化したモジュールを組み合わせて構築する場合がある。ここでは、一つのモジュールが他のモジュールを呼び出すことにより、モジュール相互に関連性が生じる。このような場合、システムにおいて使用されるモジュール数が多い場合、相互関係が複雑になり、モジュール変更による影響範囲の調査に手間がかかる。更に、大規模なシステムの場合、サブシステムに分割して個別に設計開発を行なうこともあり、サブシステム間の整合性や均一性の違いにより、影響範囲の特定が難しい場合もある。
【０００３】
そこで、システムの変更に伴う影響範囲を把握するための技術が検討されている（例えば、特許文献１を参照。）。この文献に記載されたシステムにおいては、ドキュメント及びプログラム（モジュール）の成果物を管理する。このため、機能情報テーブル、モジュール情報テーブル、機能−モジュール関連テーブル、モジュール間関連情報テーブルを備える。成果物を登録する際に、機能情報テーブルに基づいて機能の構成に必要なモジュールの選択をガイドし、モジュール情報テーブルに基づいてモジュールに関連する機能の選択をガイドする。更に、モジュール間関連情報テーブルに基づいてモジュールに関連する他のモジュールの選択をガイドする。そして、システム変更に伴う影響範囲を検索するとき、検索キーとして入力された情報に従って機能−モジュール関連テーブルやモジュール間関連情報テーブルを検索する。
【０００４】
また、ソフトウェア資産の再利用や改造を行なう単位で影響する内容を出力するためのソフトウェア資産管理システムも検討されている（例えば、特許文献２を参照。）。この文献に記載されたシステムにおいては、ソフトウェア開発において、ドキュメント及びプログラムの成果物を管理する。このため、システムの機能の情報を保持する機能情報と、モジュールの情報を保持するモジュール情報とを備える。成果物を登録する際には、設計情報を識別して設計情報の関連を示すタグ情報を成果物に付加する。そして、システム変更に伴う影響範囲を検索する際には、システムに備えた機能とモジュール間の関連情報を保持する機能―モジュール関連情報、モジュール間の関係を保持するモジュール間関連情報を検索してタグを付けられた設計情報と関連情報を抽出して、システム間の修正時に影響がある成果物及び設計情報を検索可能にする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１０００７８号公報（第１頁、図１）
【特許文献２】特開２００８−１２３４３２号公報（第１頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献に記載されたシステムにおいては、各モジュールの関係を表示する画面を出力する。これにより、視覚的に各モジュールの関連性を把握することができる。しか
しながら、大きなシステムにおいては、多くのモジュールが利用されているため、各モジュールの関係を単に表示しただけでは、影響範囲の把握が困難な場合がある。
【０００７】
本発明は、上記問題点を解決するためになされたものであり、その目的は、各モジュールの影響度を効率的に把握できるようにするためのモジュール解析システム、モジュール解析方法及びモジュール解析プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記問題点を解決するために、請求項１に記載の発明は、モジュール識別子に対して、
このモジュールが呼び出す下位モジュールのモジュール識別子を関連付けて記憶する関連性情報記憶手段と、モジュール識別子に対して、このモジュールが呼び出された呼出回数を記憶する呼出回数情報記憶手段と、クライアント端末に接続される制御手段とを備えたモジュール解析システムであって、前記制御手段が、解析対象システムを構成するモジュール毎に、下位モジュールを特定し、両者のモジュール識別子を関連づけて前記関連性情報記憶手段に登録する手段と、モジュール毎に呼出回数を算出し、モジュール識別子毎に呼出回数を前記呼出回数情報記憶手段に登録する手段と、前記クライアント端末から、検索対象モジュールのモジュール識別子を取得した場合、前記検索対象モジュールのモジュール識別子に関連付けられた下位モジュールのモジュール識別子を前記関連性情報記憶手段から取得し、前記取得した下位モジュールのモジュール識別子に関連付けられた他の下位モジュールのモジュール識別子を所定階層まで取得し、前記取得したモジュール識別子を、階層に分けて表示する展開表示を含むモジュール構造図を生成する手段と、前記呼出回数情報記憶手段から、前記モジュール構造図に表示されるモジュール識別子についての呼出回数を取得し、前記モジュール構造図において、前記呼出回数に応じて各モジュール識別子の表示方法を変更する手段と、前記モジュール構造図において、同じモジュール識別子が複数、含まれる場合、先行して表示されたモジュール識別子の表示位置から、後続して表示されるモジュール識別子の表示位置までの距離に応じて展開表示の要否を判定し、判定結果に応じて、前記下位モジュールの展開表示を集約する手段と、前記モジュール構造図を前記クライアント端末に出力する手段とを備えることを要旨とする。
【０００９】
請求項２に記載の発明は、請求項１に記載のモジュール解析システムにおいて、前記下位モジュールの特定は、モジュールのソースコードに含まれるプログラム識別子、画面識別子、データベース識別子のいずれかを用いて行なうことを要旨とする。
【００１２】
請求項３に記載の発明は、請求項１又は２のいずれか一つに記載のモジュール解析システムにおいて、前記制御手段が、下位モジュールの種類を特定し、前記モジュール構造図において、下位モジュールの種類に応じて、前記下位モジュールのモジュール識別子の表示方法を変更することを要旨とする。
【００１３】
請求項４に記載の発明は、請求項１〜３のいずれか一つに記載のモジュール解析システムにおいて、下位モジュールの内容を解析して複雑度を評価し、前記モジュール構造図において、下位モジュールの複雑度に応じて、前記下位モジュールのモジュール識別子の表示方法を変更することを要旨とする。
【００１４】
請求項５に記載の発明は、請求項１〜４のいずれか一つに記載のモジュール解析システムにおいて、検索対象外モジュールを登録した除外情報記憶手段を更に備え、前記モジュール構造図において、前記除外情報記憶手段に登録されている検索対象外モジュールのモジュール識別子の表示を削除することを要旨とする。
【００１５】
請求項６に記載の発明は、請求項１〜５のいずれか一つに記載のモジュール解析システムにおいて、前記制御手段が、各モジュールを起動した場合において、他のモジュールの呼出ログを取得し、前記呼出ログを用いて、前記関連性情報記憶手段に記憶された情報を修正することを要旨とする。
請求項７に記載の発明は、請求項１〜６のいずれか一つに記載のモジュール解析システムにおいて、利用者ＩＤ、スキルレベルに関するデータを含む利用者管理レコードが記録されている利用者データ記憶部、見出し語、スキルレベル、翻訳語に関するデータを含む単語レコードが記録されている辞書データ記憶部を更に備え、前記制御手段が、更に、前記利用者データ記憶部を用いて、利用者の利用者ＩＤに対応するスキルレベルを特定し、前記辞書データ記憶部から、解析対象システムを構成するモジュールのソースコードに含まれる単語を翻訳対象語として抽出し、前記翻訳対象語が、前記辞書データ記憶部に記録された単語レコードの見出し語として登録されている場合、前記特定したスキルレベルに応じた翻訳語を抽出して表示することを要旨とする。
【００１６】
請求項８に記載の発明は、モジュール識別子に対して、このモジュールが呼び出す下位モジュールのモジュール識別子を関連付けて記憶する関連性情報記憶手段と、モジュール識別子に対して、このモジュールが呼び出された呼出回数を記憶する呼出回数情報記憶手段と、クライアント端末に接続される制御手段とを備えたモジュール解析システムを用いて、モジュールを解析する方法であって、前記制御手段が、解析対象システムを構成するモジュール毎に、下位モジュールを特定し、両者のモジュール識別子を関連づけて前記関連性情報記憶手段に登録する段階と、モジュール毎に呼出回数を算出し、モジュール識別子毎に呼出回数を前記呼出回数情報記憶手段に登録する段階と、前記クライアント端末から、検索対象モジュールのモジュール識別子を取得した場合、前記検索対象モジュールのモジュール識別子に関連付けられた下位モジュールのモジュール識別子を前記関連性情報記憶手段から取得し、前記取得した下位モジュールのモジュール識別子に関連付けられた他の下位モジュールのモジュール識別子を所定階層まで取得し、前記取得したモジュール識別子を、階層に分けて表示する展開表示を含むモジュール構造図を生成する段階と、前記呼出回数情報記憶手段から、前記モジュール構造図に表示されるモジュール識別子についての呼出回数を取得し、前記モジュール構造図において、前記呼出回数に応じて各モジュール識別子の表示方法を変更する段階と、前記モジュール構造図において、同じモジュール識別子が複数、含まれる場合、先行して表示されたモジュール識別子の表示位置から、後続して表示されるモジュール識別子の表示位置までの距離に応じて展開表示の要否を
判定し、判定結果に応じて、前記下位モジュールの展開表示を集約する段階と、前記モジュール構造図を前記クライアント端末に出力する段階とを実行することを要旨とする。
【００１７】
請求項９に記載の発明は、モジュール識別子に対して、このモジュールが呼び出す下位モジュールのモジュール識別子を関連付けて記憶する関連性情報記憶手段と、モジュール識別子に対して、このモジュールが呼び出された呼出回数を記憶する呼出回数情報記憶手段と、クライアント端末に接続される制御手段とを備えたモジュール解析システムを用いて、を解析するためのプログラムであって、前記制御手段を、解析対象システムを構成するモジュール毎に、下位モジュールを特定し、両者のモジュール識別子を関連づけて前記関連性情報記憶手段に登録する手段、モジュール毎に呼出回数を算出し、モジュール識別子毎に呼出回数を前記呼出回数情報記憶手段に登録する手段、前記クライアント端末から、検索対象モジュールのモジュール識別子を取得した場合、前記検索対象モジュールのモジュール識別子に関連付けられた下位モジュールのモジュール識別子を前記関連性情報記憶手段から取得し、前記取得した下位モジュールのモジュール識別子に関連付けられた他の下位モジュールのモジュール識別子を所定階層まで取得し、前記取得したモジュール識別子を、階層に分けて表示する展開表示を含むモジュール構造図を生成する手段、前記呼出回数情報記憶手段から、前記モジュール構造図に表示されるモジュール識別子についての呼出回数を取得し、前記モジュール構造図において、前記呼出回数に応じて各モジュール識別子の表示方法を変更する手段、前記モジュール構造図において、同じモジュール識別子が複数、含まれる場合、先行して表示されたモジュール識別子の表示位置から、後続して表示されるモジュール識別子の表示位置までの距離に応じて展開表示の要否を判定し、判定結果に応じて、前記下位モジュールの展開表示を集約する手段、前記モジュール構造図を前記クライアント端末に出力する手段として機能させることを要旨とする。
【００１８】
（作用）
請求項１、８、９に記載の発明によれば、制御手段が、解析対象システムを構成するモジュール毎に、下位モジュールを特定し、両者のモジュール識別子を関連づけて関連性情報記憶手段に登録する。更に、モジュール毎に呼出回数を算出し、モジュール識別子毎に呼出回数を呼出回数情報記憶手段に登録する。そして、クライアント端末から、検索対象モジュールのモジュール識別子を取得した場合、検索対象モジュールのモジュール識別子に関連付けられた下位モジュールのモジュール識別子を関連性情報記憶手段から取得する。次に、取得した下位モジュールのモジュール識別子に関連付けられた他の下位モジュールのモジュール識別子を所定階層まで取得し、取得したモジュール識別子を、階層に分けて表示する展開表示を含むモジュール構造図を生成する。更に、呼出回数情報記憶手段からモジュール構造図に表示されるモジュール識別子についての呼出回数を取得し、モジュール構造図において、呼出回数に応じて各モジュール識別子の表示方法を変更する。そして、モジュール構造図をクライアント端末に出力する。これにより、呼出関係に応じて関連モジュールを特定し、このモジュールの影響度を効率的に把握することできる。
【００１９】
請求項２に記載の発明によれば、下位モジュールの特定は、モジュールのソースコードに含まれるプログラム識別子、画面識別子、データベース識別子のいずれかを用いて行なう。これにより、システムを構成する各要素によって関連モジュールを特定することができる。
【００２１】
本発明によれば、展開表示の集約は、モジュール構造図において、同じモジュール識別子が複数、含まれる場合、先行して表示されたモジュール識別子の表示位置から、後続して表示されるモジュール識別子の表示位置までの距離に応じて展開表示の要否を判定する。これにより、展開表示の繰り返しを抑制するとともに、展開状況を提供することができる。
【００２２】
請求項３に記載の発明によれば、制御手段が、下位モジュールの種類を特定し、モジュール構造図において、下位モジュールのモジュール識別子の表示方法を変更する。これにより、モジュール構造図において、モジュールの種類に応じた影響度を把握することができる。
【００２３】
請求項４に記載の発明によれば、下位モジュールの内容を解析して複雑度を評価し、モジュール構造図において、下位モジュールのモジュール識別子の表示方法を変更する。これにより、モジュール構造図において、モジュールの複雑度に応じた影響度を把握することができる。
【００２４】
請求項５に記載の発明によれば、モジュール構造図において、除外情報記憶手段に登録されている検索対象外モジュールのモジュール識別子の表示を削除する。これにより、不必要なモジュールの表示を削除し、モジュール構造図を簡略化することができる。
【００２５】
請求項６に記載の発明によれば、制御手段が、モジュールを起動した場合において、他のモジュールの呼出ログを取得する。そして、呼出ログを用いて、関連性情報記憶手段に
記憶された情報を修正する。これにより、実際の動作状況に応じて、モジュール間の関連性を見直すことができる。
請求項７に記載の発明によれば、制御手段が、更に、前記利用者データ記憶部を用いて、利用者の利用者ＩＤに対応するスキルレベルを特定し、前記辞書データ記憶部から、解析対象システムを構成するモジュールのソースコードに含まれる単語を翻訳対象語として抽出し、前記翻訳対象語が、前記辞書データ記憶部に記録された単語レコードの見出し語として登録されている場合、前記特定したスキルレベルに応じた翻訳語を抽出して表示する。これにより、スキルレベルに応じて、理解しやすい翻訳文を提供することができる。
【発明の効果】
【００２６】
本発明によれば、各モジュールの影響度を効率的に把握できるようにするためのモジュール解析システム、モジュール解析方法及びモジュール解析プログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態のシステム概略図。
【図２】本発明の各データ記憶部に記録されたデータの説明図であって、（ａ）は利用者データ記憶部、（ｂ）は辞書データ記憶部、（ｃ）は関連性データ記憶部に記録されたデータの説明図。
【図３】本発明の実施形態における処理手順の説明図。
【図４】本発明の実施形態における処理手順の説明図。
【図５】本発明の実施形態における処理手順の説明図。
【図６】本発明の実施形態における処理手順の説明図。
【図７】本発明の実施形態における画面展開の説明図。
【図８】設計書、モジュール、データベースの関係の説明図。
【図９】各モジュールの関連性の説明図。
【図１０】他の実施形態における処理手順の説明図。
【発明を実施するための形態】
【００２８】
以下、本発明を具体化した一実施形態を、図１〜図９を用いて説明する。本実施形態では、設計書に基づいて設計されたシステム（解析対象システム）において利用されるモジュールを解析するためのモジュール解析システムを想定する。この解析対象システムでは、データベースに記録されたデータを用いて各種情報処理を実行する。本実施形態のモジュール解析システムでは、図１に示すように、クライアント端末１０、プログラム管理サーバ３０に接続された解析サーバ２０を用いる。
【００２９】
クライアント端末１０は、モジュールの解析を行なう担当者が使用するコンピュータ端末である。このクライアント端末１０は、ネットワークを介してデータを送信する機能や、受信したデータを表示する機能等を有する。このため、クライアント端末１０は、図示しない制御部、キーボード、マウス等の入力手段、ディスプレイ等の出力手段、通信手段等を備えている。
【００３０】
プログラム管理サーバ３０には、システム開発において作成された設計書やプログラムリソースが蓄積される。このため、プログラム管理サーバ３０は、設計書データ記憶部３１、プログラムリソース記憶部３２を備えている。
【００３１】
設計書データ記憶部３１には、システム開発時における基本設計や詳細設計において作成された設計書に関するファイルが記録されている。設計書データ記憶部３１に記録されている設計書ファイルには、図８に示すように、システムを特定するためのシステム情報（システムＩＤ）に関連付けられて、このシステムにおいて利用される画面の設計書データ（画面設計書ファイル）やデータベースの設計書データ（ＤＢ設計書ファイル）が記録される。画面設計書ファイルには、画面名、画面ＩＤが記録されるとともに、この画面において用いられるプログラムのプログラムＩＤが記録される。また、ＤＢ設計書ファイルには、データベース名、データベースＩＤ、テーブル名、テーブルＩＤ、項目名、項目ＩＤ、項目定義に関するデータが含まれる。
【００３２】
プログラムリソース記憶部３２には、システムにおいて用いられているモジュールのプログラムリソースが記録されている。このプログラムリソースには、図８に示すように、ＨＴＭＬによって作成された画面制御モジュール、Ｊａｖａ（登録商標）によって作成さ
れたプログラムモジュール、データベースに対する一連の処理手順を一つのＤＢ処理プログラムにまとめたストアドプロシージャ（ＳＰ）モジュール等が含まれる。画面制御モジュールは、各モジュールを特定するための画面名、画面ＩＤとともに、この画面において用いられるプログラムのプログラムＩＤや、呼び出す他の画面の画面ＩＤを保持している。プログラムモジュールは、各モジュールを特定するためのプログラム名、プログラムＩＤとともに、このプログラムにおいて用いられるストアドプロシージャのストアドプロシージャＩＤを保持している。ＳＰモジュールは、各モジュールを特定するためのストアドプロシージャ名、ストアドプロシージャＩＤとともに、このモジュールにおいて用いられるデータベース名、データベースＩＤ、テーブル名、テーブルＩＤ、項目名、項目ＩＤを保持している。
【００３３】
このようなモジュールにおいては、図９に示すように、特定の画面から他の画面を呼び出したり、画面上における特定の操作により特定のプログラムを実行させたりすることができる。また、データベースを操作する場合には、ストアドプロシージャを呼び出す。このように、各モジュール（画面、プログラム、ストアドプロシージャ）には、呼び出すモジュールと呼び出されるモジュールとの間で関連性がある。ここでは、呼び出すモジュールを上位階層、呼び出されるモジュールを下位階層とする。具体的には、画面制御モジュールに記録されているプログラムＩＤにより、プログラムモジュールを画面制御モジュールの下位モジュールとして特定することができる。プログラムモジュールに記録されているストアドプロシージャＩＤにより、ＳＰモジュールをプログラムモジュールの下位モジュールとして特定することができる。そして、ＳＰモジュールに記録されているデータベースＩＤ、テーブルＩＤ、項目ＩＤ等により、このＳＰモジュールが利用するデータベースを特定することができる。これにより、画面からデータベースの項目までに関係するモジュールの関連性を特定することができる。
【００３４】
解析サーバ２０は、制御部２１、利用者データ記憶部２２、辞書データ記憶部２３、関連性データ記憶部２５を備えている。
この制御部２１は、図示しないＣＰＵ等の制御手段、ＲＡＭ及びＲＯＭ等のメモリを有し、モジュール解析処理を実行する。具体的には、後述する各処理（関連性登録段階、検索受付段階、設計書検索段階、影響範囲検索段階、展開表示段階、コード表示段階等の各処理）を実行する。このためのモジュール解析プログラムを実行することにより、解析サーバ２０の制御部２１は、図１に示すように、関連性登録手段２１１、検索受付手段２１２、設計書検索手段２１３、影響範囲検索手段２１４、展開表示手段２１５、コード表示手段２１６として機能する。
【００３５】
関連性登録手段２１１は、プログラム管理サーバ３０から、解析対象システムの設計書や、この設計書により作成されたプログラムを取得する処理を実行する。更に、関連性登録手段２１１は、解析対象システムを構成するモジュールの関連性を評価し、関連性データ記憶部２５に登録する処理を実行する。
【００３６】
検索受付手段２１２は、クライアント端末１０から検索要求を受け付ける処理を実行する。この検索受付手段２１２は、後述する設計書検索手段２１３、影響範囲検索手段２１４に処理を引き継ぐ。
【００３７】
設計書検索手段２１３は、設計書に含まれる画面名やデータベース名を用いて、関連するモジュールを検索する処理を実行する。そして、設計書検索手段２１３は、クライアント端末１０のディスプレイに、検索結果を出力する処理を実行する。
【００３８】
影響範囲検索手段２１４は、モジュールを特定して、このモジュールに関連する他のモジュールを検索する処理を実行する。そして、影響範囲検索手段２１４は、クライアント
端末１０のディスプレイに、検索結果を表示する処理を実行する。
【００３９】
展開表示手段２１５は、クライアント端末１０において、特定されたモジュールに関連する他のモジュールのモジュール識別子をツリー構造により表示する処理を実行する。この展開表示手段２１５は、モジュール種別毎に表示方法を変更するために、種別色分けテーブルを保持している。この種別色分けテーブルにおいては、モジュール種別に対応して表示色が記録されている。また、展開表示手段２１５は、各モジュールの統計値に応じて表示方法を変更するために、統計評価色分けテーブルを保持している。この統計評価色分けテーブルにおいては、色分けを行なう閾値となる統計値（本実施形態では、第１、第２基準値）に対して表示色が記録されている。更に、展開表示手段２１５は、モジュール構造図において検索対象外とするモジュールＩＤを記録するための対象外ＩＤメモリ（除外情報記憶手段）を備える。
コード表示手段２１６は、クライアント端末１０において、モジュールのソースコードを表示するとともに、このソースコードを翻訳した結果を出力する処理を実行する。
【００４０】
利用者データ記憶部２２には、図２（ａ）に示すように、本システムを利用する担当者を管理するための利用者管理レコード２２０が記録されている。この利用者管理レコード２２０は、担当者が登録された場合に記録される。利用者管理レコード２２０は、利用者ＩＤ、スキルレベルに関するデータを含んで構成される。
【００４１】
利用者ＩＤデータ領域には、各担当者を特定するための識別子に関するデータが記録されている。
スキルレベルデータ領域には、この担当者のスキルを評価したレベルに関するデータが記録されている。
【００４２】
辞書データ記憶部２３には、図２（ｂ）に示すように、ソースコードを翻訳するための単語レコード２３０が記録されている。この単語レコード２３０は、ソースコードに含まれる単語が登録された場合に記録される。単語レコード２３０は、見出し語、スキルレベル、翻訳語に関するデータを含んで構成される。
【００４３】
見出し語データ領域には、ソースコードに用いられる単語（コマンド名や変数名等）に関するデータが記録されている。
スキルレベルデータ領域には、利用者のスキルを評価したレベルを特定するための識別子に関するデータが記録されている。
翻訳語データ領域には、この見出し語を、スキルレベルに応じて翻訳した内容に関するデータが記録されている。
【００４４】
関連性データ記憶部２５は、関連性情報記憶手段、呼出回数情報記憶手段として機能する。この関連性データ記憶部２５には、図２（ｃ）に示すように、各モジュールの関連性を示した関連性管理レコード２５０が記憶されている。この関連性管理レコード２５０は、後述する関連性登録処理を実行した場合に記録される。関連性管理レコード２５０は、システムＩＤ、対象モジュール、モジュール種別、設計書キー、リソース格納先、下位モジュール、呼出回数、呼出頻度に関するデータを含んで構成される。
【００４５】
システムＩＤデータ領域には、モジュールが利用されているシステムを特定するための識別子に関するデータが記録される。
対象モジュールデータ領域には、このシステムにおいて利用されている各モジュールを特定するためのモジュール識別子に関するデータが記録される。これらのモジュールＩＤには、画面ＩＤ，プログラムＩＤ、ストアドプロシージャＩＤ（ＳＰＩＤ）等を用いる。
【００４６】
モジュール種別データ領域には、このモジュールの種類（例えば、ＨＴＭＬ、サーブレット、カスタマ、テーブル等）を特定するための識別子に関するデータが記録される。
設計書キーデータ領域には、このモジュールについての設計書に記載されているキー情報（画面名、ＤＢテーブル名等）に関するデータが記録される。
【００４７】
リソース格納先データ領域には、このモジュールのプログラムリソースが格納されている場所を特定するための情報が記録されている。このリソース格納先データを用いることにより、プログラムリソース記憶部３２から、このモジュールのソースコードを取得することができる。
【００４８】
下位モジュールデータ領域には、このモジュールが呼び出す他のモジュール（下位モジュール）を特定するためのモジュール識別子に関するデータが記録される。複数の下位モジュールを呼び出す場合には、すべての下位モジュールのモジュールＩＤが記録される。
【００４９】
呼出回数データ領域には、このモジュールが他の上位モジュールによって呼び出される回数に関するデータが記録される。呼出回数が多いモジュールは、利用頻度が高いモジュールであることを示している。
【００５０】
呼出頻度データ領域には、このモジュールが呼び出される割合についての統計値に関するデータが記録される。本実施形態では、統計値として呼出頻度を用いる。この呼出頻度は、〔モジュールの呼出回数〕／〔全モジュールの呼出回数の総数〕により算出される。
【００５１】
上記のように構成されたモジュール解析システムを用いて、解析対象システムに利用されるモジュールを解析するための処理手順を、図３〜図６に従って説明する。ここでは、関連性登録処理（図３）、関連性表示処理（図４）、展開制御処理（図５）、コード表示処理（図６）の順番に説明する。
【００５２】
（関連性登録処理）
まず、関連性登録処理を、図３に従って説明する。この関連性登録処理においては、解析サーバ２０が、定期的にプログラム管理サーバ３０にアクセスし、バッチ処理により実行される。
【００５３】
ここでは、解析サーバ２０の制御部２１は、関連性情報の取得処理を実行する（ステップＳ１−１）。具体的には、制御部２１の関連性登録手段２１１が、プログラム管理サーバ３０にアクセスし、設計書データ記憶部３１から設計書ファイルを取得する。そして、関連性登録手段２１１は、設計書ファイルの中からシステム情報や設計書キー情報（画面名、ＤＢテーブル名等）を取得する。
【００５４】
次に、関連性登録手段２１１は、プログラムリソース記憶部３２に記録されているモジュール（画面制御モジュール、プログラムモジュール、ＳＰモジュール）を、順次、処理対象として抽出する。そして、関連性登録手段２１１は、抽出した処理対象のモジュールのソースコードに含まれる画面名、画面ＩＤ、ＤＢテーブル名、プログラムＩＤ、ストアドプロシージャＩＤ等を取得する。ここで取得した画面ＩＤ、プログラムＩＤ、ストアドプロシージャＩＤが、処理対象のモジュールが呼び出す下位階層の関連モジュールのモジュールＩＤである。
【００５５】
次に、解析サーバ２０の制御部２１は、関連性情報の登録処理を実行する（ステップＳ１−２）。具体的には、制御部２１の関連性登録手段２１１は、取得した各モジュールについて、モジュールＩＤを記録した関連性管理レコード２５０を生成し、関連性データ記憶部２５に記録する。ここでは、関連性登録手段２１１は、このモジュールの拡張子によ
りモジュール種別を特定し、関連性管理レコード２５０に記録する。更に、関連性登録手段２１１は、設計書データ記憶部３１から取得した設計書キー情報を、関連性管理レコード２５０に記録する。これらの処理を、プログラムリソース記憶部３２に記録されているすべてのモジュールについて繰り返す。
【００５６】
次に、解析サーバ２０の制御部２１は、呼出回数の算出処理を実行する（ステップＳ１−３）。具体的には、制御部２１の関連性登録手段２１１は、関連性データ記憶部２５に記録されている関連性管理レコード２５０のモジュールＩＤを順次、処理対象ＩＤとして特定し、この処理対象ＩＤが下位モジュールデータ領域に記録されている関連性管理レコード２５０のレコード数を計数することにより、呼出回数を算出する。
【００５７】
次に、解析サーバ２０の制御部２１は、呼出回数の登録処理を実行する（ステップＳ１−４）。具体的には、制御部２１の関連性登録手段２１１は、処理対象ＩＤの関連性管理レコード２５０の呼出回数データ領域に、ステップＳ１−３において算出した呼出回数を記録する。この処理を、すべての関連性管理レコード２５０について繰り返す。
【００５８】
次に、解析サーバ２０の制御部２１は、呼出回数の統計評価処理を実行する（ステップＳ１−５）。具体的には、制御部２１の関連性登録手段２１１は、すべての関連性管理レコード２５０に記録されている呼出回数を取得し、呼出回数を合計した呼出総数を算出する。そして、関連性登録手段２１１は、各関連性管理レコード２５０に記録されている呼出回数を呼出総数で除算することにより呼出頻度を算出する。
【００５９】
次に、解析サーバ２０の制御部２１は、統計評価結果の登録処理を実行する（ステップＳ１−６）。具体的には、制御部２１の関連性登録手段２１１は、ステップＳ１−５において算出した呼出頻度を各関連性管理レコード２５０に記録する。
【００６０】
（関連性表示処理）
次に、図４を用いて、関連性表示処理を説明する。各モジュールの関連性を評価する場合、担当者は、クライアント端末１０を用いて、解析サーバ２０にアクセスする。
【００６１】
まず、解析サーバ２０の制御部２１は、ログイン処理を実行する（ステップＳ２−１）。具体的には、制御部２１の検索受付手段２１２は、クライアント端末１０のディスプレイにログイン画面を出力する。このログイン画面には、利用者ＩＤの入力欄が設けられている。この入力欄に利用者ＩＤが入力された場合、検索受付手段２１２は、クライアント端末１０から利用者ＩＤを取得し、利用者データ記憶部２２を用いて利用者認証を行なう。利用者認証を完了した場合、検索受付手段２１２は、図７に示すように、クライアント端末１０のディスプレイに、検索受付画面５００を出力する。この検索受付画面５００においては、設計書検索と影響範囲検索とを行なうことができる。設計書に基づいて、モジュールを特定する場合には設計書検索画面を利用する。一方、評価対象のモジュールが特定できている場合には、影響範囲検索画面を利用する。
【００６２】
設計書検索画面には、検索条件入力欄が設けられている。検索条件入力欄には、設計書において使用されている画面名やデータベーステーブル名を入力する。この場合、解析サーバ２０の制御部２１は、設計書検索処理を実行する（ステップＳ２−２）。具体的には、制御部２１の検索受付手段２１２は、設計書検索手段２１３に処理を引き継ぐ。この場合、設計書検索手段２１３は、関連性データ記憶部２５において、検索条件入力欄に入力されたキーワードが設計書キーデータ領域に記録されている関連性管理レコード２５０を抽出する。
【００６３】
そして、設計書検索手段２１３は、クライアント端末１０のディスプレイに、図７に示
す設計書検索結果画面５０１を出力する。この設計書検索結果画面５０１には、抽出した関連性管理レコード２５０に記録されているモジュール情報（モジュールＩＤ、モジュール名）を一覧表示させる。これにより、担当者は、設計書に関連するモジュールを把握することができる。
【００６４】
一方、影響範囲検索画面には、モジュール種別、検索方向、モジュール名の検索条件の入力欄が設けられている。モジュール種別入力欄においては、モジュールの種類（画面、プログラム、ストアドプロシージャ等）を入力する。検索方向入力欄においては、上位方向、下位方向を指定する。モジュール名入力欄には、解析対象モジュールを特定するためのキーワード（モジュールＩＤ等）を入力する。この場合、解析サーバ２０の制御部２１は、影響範囲検索処理を実行する（ステップＳ２−３）。具体的には、制御部２１の検索受付手段２１２は、影響範囲検索手段２１４に処理を引き継ぐ。この場合、ここでは、設計書検索（ステップＳ２−２）において把握したモジュール情報を入力することができる。また、予めモジュール情報を把握している場合には、設計書検索処理（ステップＳ２−２）を省略することができる。影響範囲検索画面において検索条件が設定された場合、影響範囲検索手段２１４は、関連性データ記憶部２５を用いて、検索条件（モジュール種別、モジュール名）に一致する関連性管理レコード２５０を抽出する。
【００６５】
次に、解析サーバ２０の制御部２１は、モジュール特定処理を実行する（ステップＳ２−４）。具体的には、制御部２１の影響範囲検索手段２１４は、クライアント端末１０のディスプレイに、図７に示すモジュール検索結果画面５０２を出力する。このモジュール検索結果画面５０２には、ステップＳ２−３において抽出した関連性管理レコード２５０に記録されているモジュール情報（モジュールＩＤ、モジュール名）の一覧表示を含める。ここで、モジュール検索結果画面５０２において、所望のモジュール（解析対象モジュール）を選択する。この場合、影響範囲検索手段２１４は、モジュール検索結果画面５０２において選択された解析対象モジュールのモジュールＩＤを特定する。
【００６６】
次に、解析サーバ２０の制御部２１は、関連モジュールの検索処理を実行する（ステップＳ２−５）。ここでは、検索方向によって検索方法が異なる。
検索方向として「下位方向」が選択されている場合には、制御部２１の影響範囲検索手段２１４は、解析対象モジュールのモジュールＩＤが対象モジュールデータ領域に記録された関連性管理レコード２５０を関連性データ記憶部２５から取得する。そして、影響範囲検索手段２１４は、この関連性管理レコード２５０の下位モジュールデータ領域に記録されているモジュールＩＤ（下位モジュールＩＤ）を取得する。更に、影響範囲検索手段２１４は、取得した下位モジュールＩＤが対象モジュールデータ領域に記録された関連性管理レコード２５０を、関連性データ記憶部２５において検索する。そして、解析対象のモジュールＩＤに関連するすべての下位モジュールのモジュールＩＤを、モジュール相互の関連性に基づいて特定する。
【００６７】
一方、検索方向として「上位方向」が選択されている場合には、制御部２１の影響範囲検索手段２１４は、解析対象モジュールのモジュールＩＤが下位モジュールデータ領域に記録された関連性管理レコード２５０を関連性データ記憶部２５から取得する。そして、影響範囲検索手段２１４は、この関連性管理レコード２５０の対象モジュールデータ領域に記録されているモジュールＩＤ（上位モジュールＩＤ）を取得する。更に、影響範囲検索手段２１４は、上位モジュールＩＤが下位モジュールデータ領域に記録された関連性管理レコード２５０を、関連性データ記憶部２５において検索する。そして、解析対象のモジュールＩＤに関連するすべての上位モジュールのモジュールＩＤ、モジュール相互の関連性に基づいて特定する。
【００６８】
そして、影響範囲検索手段２１４は、クライアント端末１０のディスプレイに、図７に
示す影響範囲表示画面５０３を出力する。この影響範囲表示画面５０３には、特定したすべてのモジュールの関連性管理レコード２５０に記録されているモジュール情報（モジュール種別、モジュールＩＤ、モジュール名）の一覧表示を含める。更に、この影響範囲表示画面５０３には、モジュール構造図表示ボタンを含める。また、影響範囲表示画面５０３には、モジュール毎に、モジュールのプログラムリソースを取得するためのリンクアイコンを含める。このリンクアイコンには、リソース格納先に関するデータを記録しておく。
【００６９】
影響範囲表示画面５０３において、モジュール構造図表示ボタンが選択された場合、解析サーバ２０の制御部２１は、モジュール構造図の表示処理を実行する（ステップＳ２−６）。具体的には、制御部２１の展開表示手段２１５は、クライアント端末１０のディスプレイに、図７に示すモジュール構造図表示画面５０４を出力する。このモジュール構造図表示画面５０４には、解析対象のモジュールのモジュールＩＤをルートノードとして、このモジュールに直接的に関連する他のモジュールのモジュールＩＤをツリー構造の子ノードとして表示する。ここで、検索方向として「下位方向」が選択されている場合には、解析対象モジュールが呼び出す他のモジュールのモジュールＩＤをリンクして表示する。一方、検索方向として「上位方向」が選択されている場合には、解析対象のモジュールを呼び出す他のモジュールをリンクして表示する。
【００７０】
このモジュール構造図表示画面５０４には、「展開表示」ボタン、「種別色分け」ボタン、「呼出頻度」ボタン、「検索対象外設定」ボタンが含まれる。
モジュール構造図表示画面５０４において「展開表示」ボタンが選択された場合、解析サーバ２０の制御部２１は、展開制御処理を実行する（ステップＳ２−７）。ここでは、解析対象モジュールにリンクされた子ノードのモジュールに関連付けられている関連モジュールを、ツリー構造において展開表示する。具体的な処理については、図５を用いて後述する。なお、以下のモジュール種別に応じた表示変更処理（ステップＳ２−８）〜検索対象外の除去処理（ステップＳ２−１０）は、ツリー構造における展開表示においても利用することができる。
【００７１】
モジュール構造図表示画面５０４において「種別色分け」ボタンが選択された場合、解析サーバ２０の制御部２１は、モジュール種別に応じた表示変更処理を実行する（ステップＳ２−８）。具体的には、制御部２１の展開表示手段２１５は、モジュール構造図表示画面５０４に表示されている各モジュールのモジュール種別を関連性管理レコード２５０から取得する。そして、展開表示手段２１５は、種別色分けテーブルを用いて、モジュール構造図表示画面５０４に含まれるモジュールＩＤを、モジュール種別毎に色分けして表示する。
【００７２】
モジュール構造図表示画面５０４において「呼出頻度」ボタンが選択された場合、解析サーバ２０の制御部２１は、統計評価結果に応じた表示変更処理を実行する（ステップＳ２−９）。具体的には、制御部２１の展開表示手段２１５は、モジュール構造図表示画面５０４に表示されている各モジュールの呼出頻度を関連性管理レコード２５０から取得する。そして、展開表示手段２１５は、統計評価色分けテーブルを用いて、モジュール構造図表示画面５０４に含まれるモジュールＩＤを、呼出頻度に応じて色分けして表示する。ここでは、第１基準値よりも呼出頻度が高いモジュールについては第１色（例えば赤色）、第２基準値よりも呼出頻度が高いモジュールについては第２色（例えば黄色）、第２基準値よりも呼出頻度が低いモジュールについては第３色（例えば黒色）のように変更する。
【００７３】
モジュール構造図表示画面５０４において「検索対象外設定」ボタンが選択された場合、解析サーバ２０の制御部２１は、検索対象外の除去処理を実行する（ステップＳ２−１
０）。具体的には、制御部２１の展開表示手段２１５は、クライアント端末１０のディスプレイに、除外対象登録画面を出力する。この除外対象登録画面においては、関連モジュールのモジュールＩＤに対してチェックボックス及び入力完了ボタンが設けられている。ここで、検索対象外とするモジュールのチェックボックスを選択する。そして、展開表示手段２１５が、入力完了ボタンの選択を検知した場合、対象外ＩＤメモリに表示対象外モジュールのモジュールＩＤを記録する。そして、展開表示手段２１５は、モジュール構造図表示画面５０４において、対象外ＩＤメモリに記録されたモジュールＩＤの表示を削除して、残ったモジュールＩＤを用いて、ツリー構造に展開する。
【００７４】
一方、影響範囲表示画面５０３において、リンクアイコンが選択された場合、解析サーバ２０の制御部２１は、コード表示処理を実行する（ステップＳ２−１１）。この処理は、図６を用いて後述する。
【００７５】
（展開制御処理）
次に、展開制御処理を、図５に従って説明する。この処理は、モジュール構造図において「展開表示」ボタンが選択された場合に実行される。この処理においては、展開されたモジュールＩＤにおいて、初出の場合のみ、他階層への展開表示を行ない、再掲の場合には、他階層への展開表示を省略した表示を行なう。
【００７６】
ここでは、まず、解析サーバ２０の制御部２１は、モジュール構造図において、最初のモジュールの特定処理を実行する（ステップＳ３−１）。具体的には、制御部２１の展開表示手段２１５は、モジュール構造図表示画面５０４に表示されたツリー構造において、関連モジュールとして最上段に表示されたモジュールのモジュールＩＤを特定する。
【００７７】
次に、解析サーバ２０の制御部２１は、他階層への展開があるかどうかについての判定処理を実行する（ステップＳ３−２）。具体的には、制御部２１の展開表示手段２１５は、ステップＳ２−５において特定した他のモジュールとの関連性により判断する。上位モジュールや下位モジュールのモジュールＩＤが特定されている場合には、他階層への展開があると判定する。
【００７８】
他階層への展開がある場合（ステップＳ３−２において「ＹＥＳ」の場合）、解析サーバ２０の制御部２１は、ツリー構造において、関連モジュールのモジュールＩＤは初出かどうかについての判定処理を実行する（ステップＳ３−３）。具体的には、制御部２１の展開表示手段２１５は、特定した上位モジュールや下位モジュールのモジュールＩＤが、モジュール構造図表示画面５０４に表示されたツリー構造の上段に含まれているかどうかにより判定する。ツリー構造の上段にモジュールＩＤが含まれていない場合には初出となる。
【００７９】
初出の場合（ステップＳ３−３において「ＹＥＳ」の場合）、解析サーバ２０の制御部２１は、他階層への展開情報の付加処理を実行する（ステップＳ３−４）。具体的には、制御部２１の展開表示手段２１５は、この関連モジュールについても展開制御処理を実行する。本実施形態では、リーフノードに到達するまで展開制御処理を繰り返す。
【００８０】
そして、解析サーバ２０の制御部２１は、終了かどうかについての判定処理を実行する（ステップＳ３−５）。具体的には、制御部２１の展開表示手段２１５は、モジュール構造図に表示されているすべての関連モジュールについての展開を終了したかどうかを判定する。他階層への展開がない場合（ステップＳ３−２において「ＮＯ」の場合）、初出でない場合（ステップＳ３−３において「ＮＯ」の場合）にも、この処理（ステップＳ３−５）を実行する。
【００８１】
すべての関連モジュールについての展開を終了した場合（ステップＳ３−５において「ＹＥＳ」の場合）には、展開制御処理を終了する。
一方、展開を終了していない関連モジュールが残っている場合（ステップＳ３−５において「ＮＯ」の場合）、解析サーバ２０の制御部２１は、次のモジュールの特定処理を実行する（ステップＳ３−６）。具体的には、制御部２１の展開表示手段２１５は、モジュール展開図において次段のモジュールを特定する。そして、ステップＳ３−２からの処理を繰り返す。
【００８２】
（コード表示処理）
次に、コード表示処理を、図６に従って説明する。この処理は、影響範囲表示画面５０３において、リンクアイコンが選択された場合に実行される。
【００８３】
ここでは、まず、解析サーバ２０の制御部２１は、第１フレーム表示処理を実行する（ステップＳ４−１）。具体的には、制御部２１のコード表示手段２１６は、クライアント端末１０のディスプレイに、図７に示すコード翻訳画面５０５を出力する。このコード翻訳画面５０５は、コードを表示する左フレーム（第１フレーム）と、このソースコードの翻訳語を表示する右フレーム（第２フレーム）から構成される。ここで、コード表示手段２１６は、選択されたリンクアイコンのモジュールＩＤの関連性管理レコード２５０に記録されたリソース格納先を取得する。そして、コード表示手段２１６は、このリソース格納先を用いて、プログラムリソース記憶部３２から、対象モジュールのソースコードを取得し、コード翻訳画面の左フレームに出力する。
【００８４】
次に、解析サーバ２０の制御部２１は、ネスト構造毎に表示変更処理を実行する（ステップＳ４−２）。具体的には、制御部２１のコード表示手段２１６は、左フレームに表示されたソースコードにおいて、ネスト構造を特定する。そして、コード表示手段２１６は、ネスト構造毎に、ソースコードの表示色を変更する。
【００８５】
また、解析サーバ２０の制御部２１は、第２フレーム表示処理を実行する（ステップＳ４−３）。具体的には、制御部２１のコード表示手段２１６は、プログラムリソース記憶部３２から取得したモジュールのソースコードを、第１フレームのソースコードの表示行と一致するように、第２フレームに表示する。
【００８６】
次に、解析サーバ２０の制御部２１は、スキルレベルの特定処理を実行する（ステップＳ４−４）。具体的には、制御部２１のコード表示手段２１６は、ログイン処理（ステップＳ２−１）において特定した利用者管理レコード２２０に記録されたスキルレベルを取得する。
【００８７】
次に、解析サーバ２０の制御部２１は、翻訳対象語の特定処理を実行する（ステップＳ４−５）。具体的には、制御部２１のコード表示手段２１６は、第２フレームに表示されたソースコードに含まれる単語を、順次、翻訳対象語として抽出する。
【００８８】
次に、解析サーバ２０の制御部２１は、翻訳処理を実行する（ステップＳ４−６）。具体的には、制御部２１のコード表示手段２１６は、抽出した翻訳対象語と、辞書データ記憶部２３に記録された単語レコード２３０に記録された見出し語とを比較する。翻訳対象語が見出し語として登録されている場合、コード表示手段２１６は、ステップＳ４−４において特定したスキルレベルに応じた翻訳語を単語レコード２３０から抽出する。なお、翻訳対象語が見出し語として登録されていない場合や、スキルレベルに応じた翻訳語が登録されていない場合には、そのままソースコードを残しておく。
【００８９】
本実施形態によれば、以下のような効果を得ることができる。
（１）本実施形態においては、関連性データ記憶部２５には、各モジュールの関連性を示した関連性管理レコード２５０が記憶されている。そして、解析サーバ２０の制御部２１は、関連モジュールの検索処理（ステップＳ２−５）、モジュール構造図の表示処理（ステップＳ２−６）を実行する。これにより、特定のモジュールについて、このモジュールに関連する他のモジュールを把握することができる。従って、特定のモジュールを修正する場合に、この修正による他のモジュールの影響範囲を把握することができる。
【００９０】
（２）本実施形態においては、関連性表示処理において、検索方向として「上位方向」や「下位方向」を選択する。解析サーバ２０の制御部２１は、この検索方向に応じて、関連モジュールの検索処理を実行する（ステップＳ２−５）。これにより、呼び出ずモジュールや呼び出されるモジュールについての影響を把握することができる。
【００９１】
（３）本実施形態の関連性表示処理においては、解析サーバ２０の制御部２１は、モジュール種別に応じた表示変更処理を実行する（ステップＳ２−８）。これにより、影響を受ける関連モジュールの種類を効率的に把握することができる。
【００９２】
（４）本実施形態の関連性表示処理においては、解析サーバ２０の制御部２１は、統計評価結果に応じた表示変更処理を実行する（ステップＳ２−９）。これにより、影響を受ける関連モジュールにおける影響の大きさを把握することができる。
【００９３】
（５）本実施形態の関連性表示処理においては、解析サーバ２０の制御部２１は、検索対象外の除去処理を実行する（ステップＳ２−１０）。これにより、表示する必要がないモジュールを除外することにより、モジュール構造図を簡略化することができる。
【００９４】
（６）本実施形態においては、展開制御処理において、関連モジュールのモジュールＩＤが初出の場合（ステップＳ３−３において「ＹＥＳ」の場合）、解析サーバ２０の制御部２１は、他階層への展開情報の付加処理を実行する（ステップＳ３−４）。これにより、直接的に影響を受ける関連モジュールだけではなく、間接的に影響を受けるモジュールを把握することができる。
【００９５】
一方、関連モジュールのモジュールＩＤが初出でない場合（ステップＳ３−３において「ＮＯ」の場合）、他階層への展開情報の付加処理（ステップＳ３−４）を実行しない。これにより、展開表示を集約して、同じ表示の繰り返しを抑制することにより、見やすいモジュール構造図を生成することができる。
【００９６】
（７）本実施形態においては、コード表示処理において、解析サーバ２０の制御部２１は、ネスト構造毎に表示変更処理を実行する（ステップＳ４−２）。また、解析サーバ２０の制御部２１は、翻訳処理を実行する（ステップＳ４−６）。これにより、ソースコードと翻訳文との関係を容易に把握することができる。
【００９７】
更に、解析サーバ２０の制御部２１は、スキルレベルの取得処理を実行する（ステップＳ４−４）。これにより、スキルレベルに応じて、理解しやすい翻訳文を提供することができる。
【００９８】
なお、上記各実施形態は以下のように変更してもよい。
・  上記実施形態では、解析サーバ２０の制御部２１は、モジュール構造図の表示処理を実行する（ステップＳ２−６）。このモジュール構造図表示画面５０４には、解析対象のモジュールのモジュールＩＤをルートノードとして、このモジュールに直接的に関連する他のモジュールのモジュールＩＤをツリー構造の子ノードとして表示する。ここで、ルートノードを変更して表示できるようにしてもよい。例えば、モジュール構造図表示画面
５０４に表示された子ノードが選択された場合、選択された子ノードをルートノードとして、このモジュールに直接的に関連する他のモジュールのモジュールＩＤをツリー構造の子ノードとして表示する。これにより、任意のモジュールに関連する他のモジュールを、ツリー構造により表示することができる。
【００９９】
・  上記実施形態では、解析サーバ２０の制御部２１は、翻訳処理を実行する（ステップＳ４−６）。具体的には、制御部２１のコード表示手段２１６は、抽出した翻訳対象語と、辞書データ記憶部２３に記録された単語レコード２３０に記録された見出し語とを比較する。ここで、解析対象システムの利用分野に応じて、翻訳に用いる辞書を変更するようにしてもよい。この場合、辞書データ記憶部２３の単語レコード２３０に利用分野を記録しておく。そして、コード表示手段２１６は、解析対象システムに記録されているコメント文から、このシステムの利用分野に関する情報を取得し、この利用分野の単語レコード２３０を用いて翻訳処理を実行する。これにより、解析対象システムの利用分野に応じて、的確な翻訳を行なうことができる。
【０１００】
・  上記実施形態では、関連性データ記憶部２５に、モジュールの評価結果（統計評価結果）として呼出頻度を記録する。そして、関連性表示処理において、統計処理結果に応じて、表示変更処理を実行する（ステップＳ２−９）。表示の変更方法はこれに限定されるものではない。例えば、各モジュールにおけるコード数、複雑度、利用変数の種類等の評価結果によって表示方法を変更することも可能である。このコード数については、関連性登録手段２１１は、関連モジュールのソースコードの行数を計数する。また、複雑度については、関連性登録手段２１１は、関連モジュールのソースコードにおける繰り返し回数、判断分岐数、ネスティング数等を計数する。そして、この計数値と基準値との比較により評価結果を算出する。また、利用変数の種類については、関連性登録手段２１１は、変数に付与されたアクセス修飾子（public， private，protected ）に応じて表示方法を変更する。
【０１０１】
・  上記実施形態では、関連性表示処理において、統計処理結果に応じて、表示変更処理を実行する（ステップＳ２−９）。ここでは、表示色を変更する。表示方法の変更は、これに限定されるものではない。例えば、モジュールＩＤを表わすフォントや文字の大きさを変更するようにしてもよい。
【０１０２】
・  上記実施形態では、展開制御処理において、初出の場合（ステップＳ３−３において「ＹＥＳ」の場合）、解析サーバ２０の制御部２１は、他階層への展開情報の付加処理を実行する（ステップＳ３−４）。展開表示の集約方法は、これに限定されるものではない。展開されたモジュールＩＤにおいて、初出でない場合には、初出のモジュールＩＤの表示位置にジャンプするためのリンクを設定するようにしてもよい。これにより、初出のモジュールＩＤの表示位置において、展開表示（他階層への展開情報）を確認することができる。
【０１０３】
・  上記実施形態では、展開制御処理において、初出の場合（ステップＳ３−３において「ＹＥＳ」の場合）、解析サーバ２０の制御部２１は、他階層への展開情報の付加処理を実行する（ステップＳ３−４）。展開表示の集約方法は、これに限定されるものではない。同じ関連モジュールのモジュールＩＤについて、先の表示位置から基準段数以上、離れている場所に検出した場合には、再度、展開表示するようにしてもよい。この処理を、図１０を用いて説明する。この場合、展開表示手段２１５に、展開表示の要否を判定するための基準値を保持させておく。
【０１０４】
まず、解析サーバ２０の制御部２１は、ステップＳ３−１〜Ｓ３−３と同様に、最初のモジュールの特定処理（ステップＳ５−１）、他階層への展開があるかどうかについての
判定処理（ステップＳ５−２）、初出かどうかについての判定処理（ステップＳ５−３）を実行する。
【０１０５】
初出の場合（ステップＳ５−３において「ＹＥＳ」の場合）、ステップＳ３−４と同様に、解析サーバ２０の制御部２１は、他階層への展開情報の付加処理を実行する（ステップＳ５−４）。
【０１０６】
一方、初出でない場合（ステップＳ５−３において「ＮＯ」の場合）、解析サーバ２０の制御部２１は、同じモジュールの展開表示の表示位置からの距離の算出処理を実行する（ステップＳ５−５）。具体的には、制御部２１の展開表示手段２１５は、ツリー構造において、同じ関連モジュールのモジュールＩＤであって、先に展開表示した位置から現在のモジュールの表示位置までの距離（段数）を算出する。
【０１０７】
次に、解析サーバ２０の制御部２１は、距離が基準値以上かどうかについての判定処理を実行する（ステップＳ５−６）。具体的には、制御部２１の展開表示手段２１５は、算出した距離（段数）と基準値とを比較する。
【０１０８】
距離が基準値以上の場合（ステップＳ５−６において「ＹＥＳ」の場合）、解析サーバ２０の制御部２１は、他階層への展開情報の付加処理を実行する（ステップＳ５−４）。
一方、距離が基準値以上に達していない場合（ステップＳ５−６において「ＮＯ」の場合）、ステップＳ３−５と同様に、解析サーバ２０の制御部２１は、終了かどうかについての判定処理を実行する（ステップＳ５−７）。
すべての関連モジュールについての展開を終了した場合（ステップＳ５−７において「ＹＥＳ」の場合）には、展開制御処理を終了する。
【０１０９】
そして、展開を終了していないモジュールが残っている場合（ステップＳ５−７において「ＮＯ」の場合）、解析サーバ２０の制御部２１は、ステップＳ３−６と同様に、次のモジュールの特定処理を実行する（ステップＳ５−８）。
これにより、先に展開表示した位置から遠い場合には、再度、他の階層への展開表示を行なうことにより、容易に展開内容の確認を容易にすることができる。
【０１１０】
・  上記実施形態では、解析サーバ２０の制御部２１は、関連性情報の取得処理を実行する（ステップＳ１−１）。ここでは、ソースコードを解析することにより、各モジュールの関連性を特定する。関連性の特定方法はこれに限定されるものではない。例えば、動作ログを記録して、この動作ログにより、関連性を再評価することも可能である。この場合には、各モジュールを実際に動作させ、すべての動作状態に基づいて、各モジュールが呼び出した他のモジュールについての動作ログ（呼出ログ）を動作ログ記憶部に記録する。そして、この呼出ログに記録されているモジュールの関連性と、関連性データ記憶部２５に記録されている関連性とを比較する。そして、呼出ログにおいてモジュール間の呼び出しを確認できない場合には、これらのモジュールについての関連性を、関連性データ記憶部２５の関連性管理レコード２５０において修正する。これにより、ソースコード上ではモジュール間の関連性がある場合にも、実際に使われていない場合には、関連性を修正することができる。
【０１１１】
・  上記実施形態では、解析サーバ２０の制御部２１は、他階層への展開情報の付加処理を実行する（ステップＳ３−４）。具体的には、制御部２１の展開表示手段２１５は、リーフノードに到達するまで展開制御処理を繰り返す。これに代えて、他階層における展開制御処理は、予め定められた所定の階層まで実行するようにしてもよい。この場合には、展開表示手段２１５は、展開する基準階層数に関するデータを保持させておく。そして、展開表示手段２１５は、展開した階層を計数し、基準階層数に達した場合には、他の階
層への展開を終了する。
【０１１２】
・  上記実施形態では、解析サーバ２０の制御部２１は、翻訳処理を実行する（ステップＳ４−６）。ここでは、辞書データ記憶部２３を用いて、翻訳対象語を翻訳する。この場合、ソースコードの構造に応じて、意訳するようにしてもよい。この場合には、辞書データ記憶部２３には、見出し語を含む構文に応じて、意訳する翻訳パターンを記録しておく。例えば、翻訳語の品詞を特定して、日本語として読みやすい順番に並び替える。
【符号の説明】
【０１１３】
１０…クライアント端末、２０…解析サーバ、２１…制御部、２１１…関連性登録手段、２１２…検索受付手段、２１３…設計書検索手段、２１４…影響範囲検索手段、２１５…展開表示手段、２１６…コード表示手段、２２…利用者データ記憶部、２３…辞書データ記憶部、２５…関連性データ記憶部、３０…プログラム管理サーバ、３１…設計書データ記憶部、３２…プログラムリソース記憶部。
【図１】
0005422589.tif 000002
【図２】
0005422589.tif 000003
【図３】
0005422589.tif 000004
【図４】
0005422589.tif 000005
【図５】
0005422589.tif 000006
【図６】
0005422589.tif 000007
【図７】
0005422589.tif 000008
【図８】
0005422589.tif 000009
【図９】
0005422589.tif 000010
【図１０】
0005422589.tif 000011