(57)【要約】      （修正有）【課題】設計の意図まで汲み取ったモジュール分割を実現すると供に、作成者依存性を廃しつつソフトウェア構造解析が行えるソースプログラム解析装置を提供する。【解決手段】ソースコード１を入力としてモジュール分割ルールデータ３ａを算出するモジュール分割ルールデータ算出部２と、算出されたモジュール分割ルールデータ３ａを格納するモジュール分割ルールデータテーブル３と、ルールデータ３ａを基にソースコードをモジュール分割するモジュール分割部４と、モジュール分割されたモジュール分割結果５を提示するモジュール分割結果提示部６と、提示されたモジュール分割結果を基に使用者がモジュール分割のルールを修正するための分割ルール修正部７とを備える。【選択図】図１
2007219586.tif 000002
【特許請求の範囲】
【請求項１】
ソースコードを入力としてモジュール分割ルールデータを算出するモジュール分割ルールデータ算出部と、
前記モジュール分割ルールデータ算出部によって算出された前記モジュール分割ルールデータを格納するモジュール分割ルールデータテーブルと、
前記モジュール分割ルールデータテーブルの前記モジュール分割ルールデータを基に前記ソースコードをモジュール分割するモジュール分割部と、
前記モジュール分割部によってモジュール分割された結果のモジュール分割結果を提示するモジュール分割結果提示部と、
前記モジュール分割結果提示部によって提示された前記モジュール分割結果を基に前記モジュール分割ルールデータを修正するための分割ルール修正部とを備えたソースコード解析装置。
【請求項２】
前記モジュール分割ルールデータテーブルは、複数の評価基準と前記評価基準に付随する優先度と前記評価基準に付随する閾値とを持ち、モジュール分割対象となる全ての関数に対して前記評価基準に基づいた評価値を格納するように構成されている請求項１に記載のソースコード解析装置。
【請求項３】
前記評価基準は、前記ソースコード中に含まれる関数を数式によって数値化されるものである請求項２に記載のソースコード解析装置。
【請求項４】
前記評価基準は、前記ソースコード中に含まれる関数の名前、または前記関数の名前と引数の組み合わせの文字列である請求項２に記載のソースコード解析装置。
【請求項５】
前記分割ルール修正部は、前記モジュール分割ルールデータの修正を前記評価基準ごとに個別に行う請求項２から請求項４までのいずれかに記載のソースコード解析装置。
【請求項６】
前記分割ルール修正部は、特定の前記評価基準を指定することにより、前記評価基準に付随する前記優先度を自動的に下げる一方、指定のなかった前記評価基準については付随する前記優先度を自動的に上げるように構成されている請求項２から請求項５までのいずれかに記載のソースコード解析装置。
【請求項７】
前記分割ルール修正部は、前記モジュール分割ルールデータテーブルに新たな評価基準を追加するように構成されている請求項２から請求項６までのいずれかに記載のソースコード解析装置。
【請求項８】
前記モジュール分割ルールデータ算出部は、入力される前記ソースコード中の関数が以前に入力された関数と同一の関数であった場合には、前記同一の関数の前記評価基準に基づく前記評価値の算出を中止する請求項２から請求項７までのいずれかに記載のソースコード解析装置。
【請求項９】
前記モジュール分割結果提示部は、前記モジュール分割部による前記モジュール分割結果において、前記モジュール間の重心を算出し、その重心を画面中央に配置する請求項１から請求項８までのいずれかに記載のソースコード解析装置。
【請求項１０】
前記モジュール分割ルールデータテーブルにあらかじめ設計済み分割モジュールのモジュール分割ルールデータを設定しておき、
前記モジュール分割部は、前記設計済み分割モジュールのモジュール分割ルールデータに基づいて前記ソースコードをモジュール分割するように構成されている請求項１から請求項９までのいずれかに記載のソースコード解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェアのソースコード解析装置に関するものである。
【背景技術】
【０００２】
従来のソースコード解析装置として、例えば図９に示すようなものがある（例えば、特許文献１参照）。このソースコード解析装置において、ファイル間の関係抽出（Ｎ１）では、Ｊａｖａソースコード・ファイルＸ１を解析し、クラス間の継承等を再利用関係として抽出する。また、ＳＭＭＴ（Similarity Metrics Mesuring Tool）（Ｍ１）で、Ｊａｖａソースコード・ファイルＸ１の類似度を算出する。ＳＭＭＴ（Ｍ１）で得られた類似度を基にクラスタ分析（Ｍ２）を行い、ファイルの集合をＭ個の部品群に分類する。クラスタ分析（Ｍ２）とファイル間の関係抽出（Ｎ１）の結果から、部品群間の関係を抽出する（Ｎ２）。部品群間の関係から、部品群の相対的重要性評価値による評価を行う（Ｎ３）。最後に、部品群の相対的重要性評価を、ファイル（ソフトウェア部品）の評価に変換する（Ｍ３）。
【特許文献１】ＷＯ２００３／６９４６６（特願２００３−５６８５２３号）（第９頁、第５図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来のソースコード解析装置では、ソースコードから機械的に読み取って評価値を算出できる情報のみを利用してモジュールの抽出などのソフトウェア構造解析を行っている。しかし、ソースコードから機械的に読み取ることのできないソフトウェア構造はその抽出が容易ではなく、設計者の意図は判りにくい。
【０００４】
さらに、ソースコードから読み取られたソフトウェアの構造を人間に判りやすく表現するためには、文字のみでなく、図表を用いて図的表現を行うが、図の作成者がソースコード作成者の意図を酌み取った上で作図する必要があり、完成図は作成者依存的なものとなってしまう。
【０００５】
本発明は、このような事情に鑑みて創作したものであり、設計の意図まで酌み取ったモジュール分割を実現するとともに、作成者依存性を廃しつつソフトウェア構造解析が行えるソースコード解析装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明によるソースコード解析装置は、
ソースコードを入力としてモジュール分割ルールデータを算出するモジュール分割ルールデータ算出部と、
前記モジュール分割ルールデータ算出部によって算出された前記モジュール分割ルールデータを格納するモジュール分割ルールデータテーブルと、
前記モジュール分割ルールデータテーブルの前記モジュール分割ルールデータを基に前記ソースコードをモジュール分割するモジュール分割部と、
前記モジュール分割部によってモジュール分割された結果のモジュール分割結果を提示するモジュール分割結果提示部と、
前記モジュール分割結果提示部によって提示された前記モジュール分割結果を基に前記モジュール分割ルールデータテーブルにおける前記モジュール分割ルールデータを修正するための分割ルール修正部とを備えたものである。モジュール分割ルールデータは、ソースコードをモジュールに分割するルールを表すデータである。
【０００７】
この構成において、モジュール分割ルールデータ算出部は、ソースコードを入力し、ソースコードからモジュール分割ルールデータを算出し、そのモジュール分割ルールデータをモジュール分割ルールデータテーブルに格納する。モジュール分割部は、モジュール分割ルールデータテーブルからモジュール分割ルールデータを読み出し、そのモジュール分割ルールデータを基にソースコードをモジュール分割する。モジュール分割された結果のモジュール分割結果はモジュール分割結果提示部に提示される。使用者は、提示されたモジュール分割結果を基に分割ルール修正部を用いてモジュール分割ルールデータテーブルにおけるモジュール分割ルールデータを修正する。以上のようにして、使用者による修正を反映しながらモジュール分割ルールデータを更新するので、ソースコードから読み取ることのできる情報のみでなく、設計の意図まで酌み取ったモジュール分割を自動的に行うことができる。
【０００８】
上記の構成において、前記モジュール分割ルールデータテーブルは、複数の評価基準と前記評価基準に付随する優先度と前記評価基準に付随する閾値とを持ち、モジュール分割対象となる全ての関数に対して前記評価基準に基づいた評価値を格納するように構成されているという態様がある。
【０００９】
また上記において、前記評価基準は、前記ソースコード中に含まれる関数を数式によって数値化されるものであるという態様がある。
【００１０】
また上記において、前記評価基準は、前記ソースコード中に含まれる関数の名前、または前記関数の名前と引数の組み合わせの文字列であるという態様がある。
【００１１】
また、上記の構成において、前記分割ルール修正部は、前記モジュール分割ルールデータの修正を前記評価基準ごとに個別に行うという態様がある。これによれば、モジュール分割ルールデータの修正をきめ細かく行うことが可能となる。
【００１２】
また、上記の構成において、前記分割ルール修正部は、特定の前記評価基準を指定することにより、前記評価基準に付随する前記優先度を自動的に下げる一方、指定のなかった前記評価基準については付随する前記優先度を自動的に上げるように構成されているという態様がある。これによれば、モジュール分割結果提示部により提示されたモジュール分割結果が不適切であると使用者が判断した場合に、分割ルール修正部の機能によって、評価基準の優先度を使用者の感覚に近い優先度に変化させていくことが可能となる。
【００１３】
また、上記の構成において、前記分割ルール修正部は、前記モジュール分割ルールデータテーブルに新たな評価基準を追加するように構成されているという態様がある。これによれば、モジュール分割が困難な条件下でも、モジュール分割の可能性を高めることが可能となる。
【００１４】
また、上記の構成において、前記モジュール分割ルールデータ算出部は、入力される前記ソースコード中の関数が以前に入力された関数と同一の関数であった場合には、前記同一の関数の前記評価基準に基づく前記評価値の算出を中止するという態様がある。これによれば、以前に評価値を算出済みの関数については処理を省略するため、ソースコードに含まれる関数毎の評価値を高速に算出することが可能となる。
【００１５】
また、上記の構成において、前記モジュール分割結果提示部は、前記モジュール分割部による前記モジュール分割結果において、前記モジュール間の重心を算出し、その重心を画面中央に配置するという態様がある。これによれば、モジュール分割結果をバランス良く表示することが可能となる。
【００１６】
また、上記の構成において、前記モジュール分割ルールデータテーブルにあらかじめ設計済み分割モジュールのモジュール分割ルールデータを設定しておき、前記モジュール分割部は、前記設計済み分割モジュールのモジュール分割ルールデータに基づいて前記ソースコードをモジュール分割するように構成されているという態様がある。これによれば、予定していた通りのモジュール分割が行われるかどうかによって、入力となるソースコードが予定されていた通りに作成されているかどうかを検査することが可能となる。
【発明の効果】
【００１７】
本発明によれば、ソースコードから機械的に読み取ることのできる評価値のみではなく、ソースコードから機械的に読み取ることのできない設計者の意図を反映したモジュール分割を自動的に行うことができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明にかかわるソースコード解析装置の実施の形態を図面に基づいて詳細に説明する。
【００１９】
（実施の形態１）
図１は本発明の実施の形態１におけるソースコード解析装置の構成を示すブロック図である。
【００２０】
図１において、１はソースコード、２はソースコード１を入力としてモジュール分割ルールデータ３ａを算出するモジュール分割ルールデータ算出部、３はモジュール分割ルールデータ算出部２によって算出されたモジュール分割ルールデータ３ａを格納するモジュール分割ルールデータテーブル、４はモジュール分割ルールデータテーブル３から読み出したモジュール分割ルールデータ３ａを基にソースコード１をモジュール分割するモジュール分割部、６はモジュール分割部４によってモジュール分割された結果のモジュール分割結果５を提示するモジュール分割結果提示部、７はモジュール分割結果提示部６によって提示されたモジュール分割結果５を基に使用者８がモジュール分割ルールデータ３ａを修正するための分割ルール修正部である。
【００２１】
次に、上記のように構成された本実施の形態のソースコード解析装置の動作を説明する。
【００２２】
モジュール分割ルールデータ算出部２は、ソースコード１からモジュール分割ルールデータ３ａを算出し、モジュール分割ルールデータテーブル３に格納する。モジュール分割部４は、モジュール分割ルールデータ算出部２によって算出されたモジュール分割ルールデータ３ａに従って、解析対象のソースコード１をモジュール分割する。モジュール分割部４によって分割されて得られたモジュール分割結果５は、モジュール分割結果提示部６によって使用者８に提示される。使用者８は、モジュール分割結果提示部６によって提示されたモジュール分割結果５を見て、提示されたモジュール分割が適切に行われたかどうかを判断する。モジュール分割が不適切であった場合には、使用者８は、分割ルール修正部７を通して、モジュール分割ルールデータテーブル３に格納されているモジュール分割ルールデータ３ａを修正する。モジュール分割ルールデータ３ａが修正されることにより、次回のモジュール分割時には、使用者８のモジュール分割の意図が反映されたモジュール分割が行われることとなる。
【００２３】
図２にモジュール分割ルールデータテーブル３を示す。このモジュール分割ルールデータテーブル３は表の形式をもつ。モジュール分割ルールデータテーブル３は、ソースコード１中に存在する全ての関数ｆについて、１つまたは複数個の評価基準Ｅに従って算出した評価値Ｖ群を格納する。評価基準は様々な算出方法によって値を算出できる。例えば各関数名の文字列を基に関数名の類似度を算出する評価基準などが利用できる。なお、評価基準Ｅによって評価値Ｖを算出する対象となるソースコード１中の関数ｆについては、全ての関数ｆを対象とする必要はなく、モジュール分割の対象となる関数ｆのみを評価値算出の対象とすることもできる。Ｐはモジュール分割における処理の優先度、Ｔは評価基準Ｅに対応する閾値である。
【００２４】
次に、モジュール分割ルールデータ算出部２の動作を図３に示すフローチャートに従って説明する。
【００２５】
まず、ステップＳ１において、モジュール分割ルールデータ算出部２がソースコード１を読み込む。
【００２６】
次いでステップＳ２において、読み込んだソースコード１中に存在する全ての関数ｆを抽出する。
【００２７】
次いでステップＳ３において、ある関数ｆを処理対象として設定する。このステップは、ステップＳ６から戻ってくるもので、全ての関数ｆについて処理が完了していない場合に、次の関数ｆを処理対象として設定する。
【００２８】
次いでステップＳ４において、抽出した全ての関数ｆについて処理を行うため、まず全ての関数ｆについて処理が完了したかどうかを判定する。
【００２９】
次いでステップＳ５において、モジュール分割ルールデータテーブル３からモジュール分割ルールの評価基準Ｅを読み込む。
【００３０】
次いでステップＳ６において、読み込んだ全ての評価基準Ｅに基づいて評価値Ｖの算出を行うため、まず全ての評価基準Ｅに基づいて評価値Ｖの算出が完了したかどうかを判定する。
【００３１】
全ての評価基準Ｅに基づいて評価値Ｖの算出が完了していない場合には、次いでステップＳ７に進んで、次の評価基準Ｅを算出対象として設定する。
【００３２】
次いでステップＳ８において、現在処理対象に設定されている関数ｆに対して、現在算出対象として設定されている評価基準Ｅを適用し、評価値Ｖを算出する。
【００３３】
次いでステップＳ９において、算出された評価値Ｖをモジュール分割ルールデータテーブル３に格納する。
【００３４】
以上で、１つの関数ｆに対して１つの評価基準Ｅに基づく評価値Ｖの算出が終了する。
【００３５】
１つの評価基準Ｅに基づく評価値Ｖの算出が終了すると、ステップＳ６に戻り、全ての評価基準Ｅに基づいて評価値Ｖの算出が完了したかどうかを判定する。全ての評価基準Ｅに基づく評価値Ｖの算出が終了すると、ステップＳ３に戻り、関数ｆについて次候補を処理対象に設定し、ステップＳ４で全ての関数ｆについて処理が完了したかどうかを判定する。全ての関数ｆについて処理が完了すると、モジュール分割データ算出処理を終了する。
【００３６】
次に、モジュール分割部４の動作を図４、図５に示す示すフローチャートに従って説明する。
【００３７】
まず、ステップＳ１１において、モジュール分割部４がソースコード１を読み込む。
【００３８】
次いでステップＳ１２において、ステップＳ１１で読み込んだソースコード１中に存在する全ての関数ｆを抽出する。
【００３９】
次いでステップＳ１３において、モジュール分割ルールデータテーブル３を読み込む。
【００４０】
次いでステップＳ１４において、評価基準Ｅ毎に設定された優先度順に処理を行うため、処理対象の優先度Ｐを１に初期化する。なお、ここで優先度Ｐは、数値が大きくなるほど優先度が低いものとし、優先度Ｐ＝１が最高優先度である。
【００４１】
次いでステップＳ１５において、候補となるモジュールの番号ｎを０に初期化する。
【００４２】
次いでステップＳ１６において、モジュール候補Ｍ（ｎ）に属する関数ｆ群を空にする。最初期段階ではｎ＝０であるので、Ｍ（０）に属する関数ｆ群が空にされる。
【００４３】
次いでステップＳ１７において、優先度Ｐに該当する評価基準Ｅをモジュール分割ルールデータテーブル３から取得する。
【００４４】
次いでステップＳ１８において、評価基準Ｅに対応する閾値Ｔをモジュール分割ルールデータテーブル３から取得する。
【００４５】
次いでステップＳ１９において、最初の関数ｆを処理対象に設定する。
【００４６】
次いでステップＳ２０において、全ての関数ｆについて処理が終了したかどうかを判定する。この判定が否定的のときは、次にステップＳ２１に進んで、現在の処理対象関数ｆについて評価基準Ｅに対応する評価値Ｖをモジュール分割ルールデータテーブル３から取得する。
【００４７】
次いでステップＳ２２において、評価値Ｖが評価基準Ｅに対応する閾値Ｔに対して同じかそれ以上であるか判定し、Ｖ≧Ｔの場合にはステップＳ２３に進んで、現在処理対象の関数ｆをモジュール候補Ｍ（ｎ）に追加する。一方、Ｖ＜Ｔの場合にはステップＳ２３は実行しない。
【００４８】
次いでステップＳ２４において、次の関数ｆを処理対象関数に設定し、ステップＳ２０に戻り、全関数ｆの処理が終了するまで処理を繰り返す。
【００４９】
ステップＳ２０の判断において、対象となる全関数ｆの処理が終了すると、ステップＳ２５に進み、優先度Ｐをインクリメントして、次に高い優先度Ｐを設定する。
【００５０】
次いでステップＳ２６において、モジュール候補番号ｎをインクリメントして新たなモジュール候補Ｍ（ｎ）を設定する。
【００５１】
最後にステップＳ２７において、全ての評価基準Ｅについて処理が終了したかどうかを判定し、処理が終了していなければステップＳ１６に戻り、全ての評価基準Ｅについて処理が完了するまで繰り返し処理を行う。全ての評価基準Ｅに対して処理が完了していれば、終了する。
【００５２】
以上のような動作でモジュール分割部４によって生成されたモジュール分割結果５は、モジュール分割結果提示部６によって使用者８に提示される。使用者８は、提示されたモジュール分割結果５を検討して、適切に分割が行われているかどうかを判定する。モジュール分割結果５が適切でない場合には、分割ルール修正部７を通してモジュール分割ルールデータテーブル３の修正を行う。モジュール分割ルールデータテーブル３の修正は、評価基準Ｅの追加・削除・修正、さらに評価基準Ｅ毎に設定された優先度Ｐの変更、さらに評価基準Ｅ毎に設定された閾値Ｔの変更によって行う。
【００５３】
このようにしてモジュール分割ルールデータテーブル３の修正を行い、再度、ソースコード１を入力としてモジュール分割を行うことにより、修正後のモジュール分割ルールデータテーブル３に従った新しいモジュール分割結果５が提示されることとなる。使用者８は、適切なモジュール分割結果５が提示されるまで、以上の作業を繰り返し行う。
【００５４】
上記では、評価基準Ｅは各関数名の文字列を基に関数名の類似度を算出するとしたが、評価基準Ｅはソースコード１中に含まれる関数ｆを数式によって数値化したものとしてもよい。さらに、評価基準Ｅはソースコード１中に含まれる関数ｆの名前、または関数ｆの名前と引数の組み合わせの文字列としてもよい。
【００５５】
かかる構成によれば、使用者の意図に沿ったモジュール分割を自動的に行うことができ、ソースコード１の分析を容易に短時間で行うことが可能となる。
【００５６】
なお、分割ルール修正部７については、特定の評価基準Ｅを指定することにより、その評価基準Ｅに付随する優先度Ｐを自動的に下げる一方、指定のなかった評価基準Ｅについては付随する優先度Ｐを自動的に上げるように構成してもよい。これによれば、モジュール分割結果提示部６により提示されたモジュール分割結果５が不適切であると使用者８が判断した場合に、分割ルール修正部７の機能によって、評価基準Ｅの優先度Ｐを使用者８の感覚に近い優先度に変化させていくことが可能となる。
【００５７】
また、分割ルール修正部７については、モジュール分割ルールデータテーブル３に新たな評価基準Ｅを追加するように構成してもよい。モジュール分割が困難な条件下でも、評価基準Ｅを新たに追加することにより、モジュール分割の可能性を高めることが可能となる。
【００５８】
（実施の形態２）
図６は本発明の実施の形態２におけるソースコード解析装置のモジュール分割ルールデータ算出部２の動作を示すフローチャートである。図６において、図３と同じステップ要素については同じ符号を用い説明を省略する。
【００５９】
実施の形態２のモジュール分割ルールデータ算出部２の動作においては、ステップＳ３１において、現在の処理対象関数ｆが以前に処理済みかどうかを判定し、以前に処理済みでない関数ｆである場合には図３と同様の処理を継続する。処理対象関数ｆが、以前に処理済みである場合には、ステップＳ３２に進んで、以前に算出済みの評価値Ｖをモジュール分割ルールデータテーブル３に格納し、評価値算出ステップは処理を省略する。
【００６０】
かかる構成によれば、以前に評価値Ｖを算出済みの関数ｆについては処理を省略することができるため、高速にソースコードに含まれる関数ｆ毎の評価値Ｖを算出することができる。
【００６１】
（実施の形態３）
図７は本発明の実施の形態３におけるソースコード解析装置のモジュール分割結果提示部６が提示するモジュール分割結果５の表示例である。ディスプレイ装置２１上にモジュール分割部４によって分割された分割結果のモジュール２２と、分割されたモジュール２２間の関係２３が表示される。
【００６２】
モジュール分割結果提示部６は、モジュール分割部４によるモジュール分割結果５において、モジュール間に重量値を設定し、モジュール間の重心を算出し、その重心を画面中央に配置する。これによれば、モジュール分割結果５の各モジュールを画面上で偏りなくバランス良く表示することが可能となる。
【００６３】
（実施の形態４）
図８は本発明の実施の形態４におけるソースコード解析装置の構成を示すブロック図である。図８において、図１と同じ構成要素については同じ符号を用い説明を省略する。
【００６４】
実施の形態４においては、あらかじめ使用者８がソースコード１のモジュール分割設計を完了しており、その結果が設計済み分割モジュール９として存在する。設計済み分割モジュール９は、実施の形態１と同様に、モジュール分割ルールデータ３ａが計算され、モジュール分割ルールデータテーブル３にあらかじめ格納される。その後、設計済み分割モジュール９に従って検査対象のソースコード１が正しく記述されているかどうかを検査する。ソースコード１はあらかじめ格納されているモジュール分割ルールデータテーブル３のデータに従い、モジュール分割部４によってモジュール分割され、モジュール分割結果５がモジュール分割結果提示部６に提示される。使用者８は提示されたモジュール分割結果５とあらかじめ設計された設計済み分割モジュール９を比較することにより、ソースコード１が正しく記述されたかどうかを検査することができる。
【産業上の利用可能性】
【００６５】
本発明のソースコード解析装置は、各種プログラミング言語で記述されたソフトウェアのソースコードを解析する装置として、広くソフトウェア一般に対して利用することができ、その産業上の利用可能性は非常に広くかつ大きい。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態１におけるソースコード解析装置の構成を示すブロック図
【図２】本発明の実施の形態１におけるモジュール分割ルールデータテーブルの構成図
【図３】本発明の実施の形態１におけるモジュール分割ルールデータ算出部の動作を示すフローチャート
【図４】本発明の実施の形態１におけるモジュール分割部の動作を示すフローチャート（その１）
【図５】本発明の実施の形態１におけるモジュール分割部の動作を示すフローチャート（その２）
【図６】発明の実施の形態２におけるソースコード解析装置のモジュール分割ルールデータ算出部の動作を示すフローチャート
【図７】本発明の実施の形態３におけるソースコード解析装置のモジュール分割結果提示部が提示するモジュール分割結果の表示例
【図８】本発明の実施の形態４におけるソースコード解析装置の構成を示すブロック図
【図９】従来の技術におけるソースコード解析装置の構成を示すブロック図
【符号の説明】
【００６７】
１  ソースコード
２  モジュール分割ルールデータ算出部
３  モジュール分割ルールデータテーブル
３ａ  モジュール分割ルールデータ
４  モジュール分割部
５  モジュール分割結果
６  モジュール分割結果提示部
７  分割ルール修正部
９  設計済み分割モジュール
２１  ディスプレイ装置
２２  分割結果モジュール
ｆ  関数
Ｅ  評価基準
Ｖ  評価値
Ｐ  優先度
Ｔ  閾値
【図１】
2007219586.tif 000003
【図２】
2007219586.tif 000004
【図３】
2007219586.tif 000005
【図４】
2007219586.tif 000006
【図５】
2007219586.tif 000007
【図６】
2007219586.tif 000008
【図７】
2007219586.tif 000009
【図８】
2007219586.tif 000010
【図９】
2007219586.tif 000011