"解析対象のファイルを読み込む解析対象ファイル読込部と、前記ファイルから、関数を抽出する関数情報抽出部と、通信情報判定用情報を参照して、前記関数のソースファイルから、モジュール間で通信を行うための通信用ソースコードを抽出する通信情報抽出部と、ここで、前記通信情報判定用情報は、モジュール間で通信を行うためのソースコードパターンが格納され、前記通信用ソースコードの関連性を解析するモジュール関連性解析部と、前記解析に基づいて、モジュール間の通信関係を含むソフトウェア構造を表示するモジュール関係表示部とを備えるソフトウェア構造解析装置。前記ソフトウェア構造解析装置は、前記ファイルからクラス情報を抽出するクラス情報抽出部を更に備え、前記モジュール関係表示部は、クラス情報を含んだソフトウェア構造を表示する請求項1に記載のソフトウェア構造解析装置。前記ソフトウェア構造解析装置は、前記解析対象のファイルを一括で読み込む解析対象フォルダ選択部を更に備える請求項1又は2に記載のソフトウェア構造解析装置。前記ソフトウェア構造解析装置は、前記モジュール間の通信関係の有無を、前記解析の結果から、ユーザに判断させる画面を表示する通信情報関連性確認部を更に備える請求項1乃至3のいずれか1項に記載のソフトウェア構造解析装置。解析対象ファイル読込部が、解析対象のファイルを読み込むステップと、関数情報抽出部が、前記ファイルから、関数を抽出するステップと、通信情報抽出部が、通信情報判定用情報を参照するステップと、ここで、前記通信情報判定用情報は、モジュール間で通信を行うためのソースコードパターンが格納され、通信情報抽出部が、前記関数のソースファイルから、モジュール間で通信を行うための通信用ソースコードを抽出するステップと、モジュール関連性解析部が、前記通信用ソースコードの関連性を解析するステップと、モジュール関係表示部が、前記解析に基づいて、モジュール間の通信関係を含むソフトウェア構造を表示するステップとを含むソフトウェア構造解析方法。前記ソフトウェア構造解析方法は、クラス情報抽出部が、前記ファイルからクラス情報を抽出するステップを更に含み、前記表示するステップは、クラス情報を含んだソフトウェア構造を表示するステップを更に含む請求項5に記載のソフトウェア構造解析方法。前記ソフトウェア構造解析方法は、解析対象フォルダ選択部が、前記解析対象のファイルを一括で読み込むステップを更に含む請求項5又は6に記載のソフトウェア構造解析方法。前記ソフトウェア構造解析方法は、通信情報関連性確認部が、前記モジュール間の通信関係の有無を、前記解析の結果から、ユーザに判断させる画面を表示するステップを更に含む請求項5乃至7のいずれか1項に記載のソフトウェア構造解析方法。請求項5乃至8のいずれか1項に記載のソフトウェア構造解析方法をコンピュータに実行させるためのプログラム。本発明の目的は、TCP/IP等の通信によるソースファイルの関連性を明示できるソフトウェア構造解析装置を提供することである。上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号符号が付加されている。ただし、付加された番号符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。本発明のソフトウェア構造解析装置10は、解析対象ファイル読込部22と、前記ファイルから、関数を抽出する関数情報抽出部23と、通信情報判定用情報34を参照して、前記関数のソースファイルから、モジュール間で通信を行うための通信用ソースコードを抽出する通信情報抽出部25と、前記通信用ソースコードの関連性を解析するモジュール関連性解析部26と、前記解析に基づいて、モジュール間の通信関係を含むソフトウェア構造を表示するモジュール関係表示部28とを備える。本発明のソフトウェア構造解析方法は、ソフトウェア構造解析装置により実施されるソフトウェア構造解析方法である。解析対象ファイル読込部が、解析対象のファイルを読み込むステップと、関数情報抽出部が、前記ファイルから、関数を抽出するステップと、通信情報抽出部が、通信情報判定用情報を参照するステップと、通信情報抽出部が、前記関数のソースファイルから、モジュール間で通信を行うための通信用ソースコードを抽出するステップと、モジュール関連性解析部が、前記通信用ソースコードの関連性を解析するステップと、モジュール関係表示部が、前記解析に基づいて、モジュール間の通信関係を含むソフトウェア構造を表示するステップとを含む。本発明によれば、TCP/IP等の通信によるソースファイルの関連性を明示できるソフトウェア構造解析装置を提供することができる。添付図面を参照して、本発明の実施形態によるソフトウェア構造解析装置10を以下に説明する。[構成の説明]はじめに、本実施形態におけるソフトウェア構造解析装置10の構成の説明を行う。図1は、本発明の実施形態におけるソフトウェア構造解析装置10のブロック図である。本実施形態のソフトウェア構造解析装置10は、入力装置1、データ処理装置2、記憶装置3及び表示装置4を備える。入力装置1は、キーボードやマウス等の、ユーザがソフトウェア構造解析装置10を操作するための入力手段である。データ処理装置2は、CPUCentralProcessingUnit及びメモリを備え、プログラム制御により、ソフトウェア構造を解析する。記憶装置3は、HDDHardDiskDrive等であり、本実施形態によるソフトウェア構造解析装置10のソフトウェア構造解析に必要な情報を記録する。表示装置4は、LCDLiquidCrystalDisplay等のディスプレイ装置であり、本実施形態によるソフトウェア構造解析装置10のソフトウェア構造解析結果等を表示する。次に、データ処理装置2及び記憶装置3の構成について、詳しく説明する。データ処理装置2は、解析対象フォルダ選択部21、解析対象ファイルソースファイル読込部22、関数メソッド情報抽出部23、クラス情報抽出部24、通信情報抽出部25、モジュール関連性解析部26、通信情報関連性確認部27及びモジュール関係表示部28を備える。記憶装置3は、ファイル情報31、関数メソッド情報32、クラス情報33、通信情報判定用情報34、通信情報35及びモジュール関係情報36を備える。解析対象フォルダ選択部21は、解析対象とするソースファイルが含まれるフォルダを選択する。解析対象ファイルソースファイル読込部22は、解析対象フォルダ選択部21によって選択されたフォルダから、解析の対象となるソースファイルを読み込む。解析対象ファイルソースファイル読込部22は、解析の対象となるソースファイルを記憶装置3のファイル情報31に記録する。関数メソッド情報抽出部23は、ファイル情報31から、関数メソッドの情報を抽出し、関数メソッド情報32として記憶装置3に格納する。クラス情報抽出部24は、ファイル情報31から、クラスの情報を抽出し、クラス情報33として、記憶装置3に格納する。通信情報抽出部25は、通信情報判定用情報34に基づいて、関数メソッド情報32から、他のモジュールと通信するためのコード情報を抽出し、通信情報35として記憶装置3に格納する。通信情報判定用情報34は、モジュール間で通信を行うためのソースコードパターンが格納されている。モジュール関連性解析部26は、関数メソッド情報32、クラス情報33及び通信情報35に基づいて、関数、クラス、モジュール間通信の関連性を解析し、モジュール関係情報36として、解析結果を記憶装置3に格納する。通信情報関連性確認部27は、モジュール関連性解析部26の解析結果から、完全に自動で解析することが難しい通信情報の関連性については、ユーザにモジュール間の通信関係の有無を判断させる画面を表示する。このようにすることで、解析結果が正しいかどうかをユーザが確認することができる。通信情報関連性確認部27は、ユーザにより決定された情報をモジュール関係情報36として記憶装置3に格納する。モジュール関係表示手段28は、記憶装置3に格納されたモジュール関係情報36を、関数のコールグラフや、モジュール関連図などによりユーザに分かりやすく表示する。[動作方法の説明]次に、本実施形態におけるソフトウェア構造解析装置10において、ソフトウェア構造解析方法の説明を行う。図2は、本発明の実施形態におけるソフトウェア構造解析装置10のソフトウェア構造解析方法のフローチャートである。ステップS1解析対象フォルダ選択部21は、ユーザによって選択された解析対象のソースファイルが含まれるフォルダを選択する。ステップS2解析対象ファイルソースファイル読込部22は、解析対象のソースファイルが含まれるフォルダから、ソースファイルを1つ読み込む。ステップS3関数メソッド情報抽出部23は、ファイル情報31から、関数メソッドの情報を抽出し、関数メソッド情報32として記憶装置3に格納する。クラス情報抽出部24は、ファイル情報31から、クラスの情報を抽出し、クラス情報33として、記憶装置3に格納する。ステップS4通信情報抽出部25は、通信情報判定用情報34に基づいて、関数メソッド情報32から、他のモジュールと通信するためのコード情報を抽出し、通信情報35として記憶装置3に格納する。通信情報判定用情報34は、モジュール間で通信を行うためのソースコードパターンが格納されている。通信情報抽出部25は、このコードパターンとマッチングさせることで、他のモジュールと通信するためのコード情報である通信情報35を作成する。例えば、他のモジュールとの通信が、TCP/IPのソケット通信部を対象である場合には、まず、通信情報抽出部25が、ソケット通信によるクライアントソケット生成部のコードを抽出する。Java登録商標言語の場合には、Socketcs=newSockethostname,5555;等である。次に、通信情報抽出部25が、このクライアントソケットに対応したサーバソケットであると予測されるコードを抽出する。この場合、ServerSocketss=newServerSocket5555;、Socketconn=ss.accept;等である。通信情報判定用情報34には、上述のようなTCP/IP通信を利用するためのコードパターンが格納されている。また、他の例として、他のモジュールとの通信が、httpHypertextTransferProtocol通信であり、解析対象のソースコードが、Servlet、CGIスクリプト等である場合には、URLnetUrl=newURLhttp://www.aa.bb.com/myservlet;、connection=HttpURLConnectionnetUrl.openConnection;、connection.setRequestMethodPOST;等が、通信情報判定用情報34のコードパターンの候補となる。ステップS5解析対象ファイルソースファイル読込部22は、フォルダ内の全てのソースファイルを読み込んだ場合には、ステップS6へ進み、読み込んでいない場合には、ステップS2へ進む。ステップS6モジュール関連性解析部27は、関数の呼び出し関係解析及びクラス呼び出し関係解析を行う。ステップS7モジュール関連性解析部27は、通信情報35の各々に対しての関連性の解析を行う。また、通信情報関連性確認部28は、通信情報35の各々に対しての関連性を自動で決定できない情報に対しては、ユーザが目視で判定することができるように、ユーザに解析の結果に対して、関連性があるかどうかを判断させるための画面を表示する。モジュール関連性解析部27は、ステップS4で抽出した通信情報35に対して、クライアントソケットが利用している通信ポート番号等を利用して、対応していると予測されるクライアントソケットとサーバソケットの組を自動抽出する。モジュール関連性解析部26は、更に、実際にこれらが通信していると見なせるかどうかを判断する。判断基準としては、これらのソケットが実際に通信を行っている部分send,recv命令の部分などに着目し、通信データの大きさや、ソケットタイプがあっているかどうかで判定する。ステップS8モジュール関係表示部28は、ユーザに対して通信情報を考慮したモジュール関係表示を行い、ソフトウェア構造解析処理を終了する。本発明の実施形態のソフトウェア構造解析装置10によれば、TCP/IP等の通信によるソースファイルの関連性を明示できるソフトウェア構造解析装置を提供することができる。これにより、複数のモジュールが通信するシステムの全体構造の可視化が可能となる。また、プログラム改修時の影響範囲を抽出する際、改修対象のプログラムに対応するモジュールと、ネットワークを介して通信するモジュールとの影響範囲も抽出することができる。本発明の実施形態のソフトウェア構造解析装置10は、通信によるモジュールの関連性も把握できるため、一般のソフトウェア構造解析装置よりも、より詳細なモジュール間の関連を把握することができる。そのため、プログラムの改修が重なる等の理由により、最新のプログラムの状態に対応する仕様書がない等、ブラックボックス化しているソフトウェアの構造を把握する用途にも、利用することができる。以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。"