Lattix -アーキテクチャ分析ツール-
FAQ -旧バージョン-


Q1- DSM・パーティショニング
Q2- Lattix のセットアップ
※FAQで紹介している内容以外にも、セットアップ方法についての詳細な説明ドキュメント『Lattix セットアップガイド』をダウンロード頂けます。
こちらも是非ご利用ください。(ダウンロードにはユーザ登録(無料)が必要です)
- Lattix の稼動環境として Windows 7 に対応していますか。
- Lattix の推奨稼動環境を教えてください。
- Lattix で正式サポートする Understand のバージョンを教えてください。
- Lattix で Understand 2.0 ファイルを解析する方法を教えてください。
- Lattix で Understand 2.6 ファイルを解析する方法を教えてください。
- Visual Studio から生成された BSC ファイルを解析する方法を教えてください。
- IBM Rational Rhapsody のデータを解析する方法を教えてください。
- ActionScript のデータを解析する方法を教えてください。
Q3- C/C++(Understand)モジュール
- Lattixで、Understand(*.udb)ファイルの読み込み時に、「Understand のライセンスがありません」のメッセージが表示され、読み込みできません。対処方法を教えてください。
- Lattixで、Understand(*.udb)ファイルの読み込み時に、「Understand API ライブラリが見つかりません」のメッセージが表示され、読み込みできません。対処方法を教えてください。
- Lattixで、Understand(*.udb)ファイルの読み込み時に、「無効な Understand データベースのフォーマットです。」のメッセージが表示され、読み込みできません。対処方法を教えてください。
- Lattix で Understand(*.udb)ファイルの読み込み後、DSM の表示が $root のみの表示になります。対処方法を教えてください。
- Understand を解析した場合、Lattix 4.0.5 / 4.8.1 / 5.6.1(5.6.3) / 6.5 では「依存関係表示のフィルタ」に違いがあります。フィルタ項目の対応について教えてください。

※TIPSで紹介している内容以外にも、Lattixの機能/操作方法についての詳細な説明ドキュメント『Lattix ユーザーズガイド』をダウンロード頂けます。
こちらも是非ご利用ください。(ダウンロードにはユーザ登録(無料)が必要です)
- Lattix でパーティショニングを実行する
- 依存関係分析機能を使用する
- 依存関係をメソッドや変数のようなメンバーレベルで表示する
- DSMに表示される依存強度のカウント方法を設定する
- DSMの対角セルに表示される情報の種類を設定する
- DSMのサブシステム上から、対象のソースファイルを外部ビューアで開く


Q1- DSM・パーティショニング
Q1-1 DSM とはどのようなものでしょうか?
DSM(Dependency Structure Matrix)は、1968年に Donald Steward氏により開発された分析手法です。
要素間の依存関係を表形式(マトリクス)で表現します。元々は、繰り返しやフィードバックが多い製造業などで多く利用されてきました。Lattixでは、これをソフトウェアアーキテクチャの分析へ応用しています。
要素間の依存関係を表形式(マトリクス)で表現します。元々は、繰り返しやフィードバックが多い製造業などで多く利用されてきました。Lattixでは、これをソフトウェアアーキテクチャの分析へ応用しています。
Q1-2 パーティショニングとはどのようなものでしょうか?
DSMの行列を操作して順序を再編し、要素をグループ化します。
基本的なパーティショニングでは、他の要素を使用している要素をマトリクスの上位に、他の要素から使用されている要素をマトリクスの下位に配置します。例えば、ロジックなどの要素はより上位に、ライブラリのような要素はより下位に配置されます。
パーティショニングを実施することで、ソフトウェアの階層構造を把握し、再利用可能なコンポーネントやレイヤーを発見すること、および、不適切な依存関係を発見することができます。
詳細は、「Lattix でパーティショニングを実行する」をご参照ください。
基本的なパーティショニングでは、他の要素を使用している要素をマトリクスの上位に、他の要素から使用されている要素をマトリクスの下位に配置します。例えば、ロジックなどの要素はより上位に、ライブラリのような要素はより下位に配置されます。
パーティショニングを実施することで、ソフトウェアの階層構造を把握し、再利用可能なコンポーネントやレイヤーを発見すること、および、不適切な依存関係を発見することができます。
詳細は、「Lattix でパーティショニングを実行する」をご参照ください。
Q1-3 Lattix を習得するにあたって、何らかのサポートは受けられるのでしょうか?
お客様のご要望に応じて、有償、無償でのサービスメニューを用意しています。
詳細は、「Lattix サービスページ」をご参照ください。
- ハンズオンセミナー
- DSM分析トレーニング
- 簡易アセスメント
- ソフトウェアアーキテクチャ検証
- ソフトウェア影響分析ソリューション 環境構築
- アーキテクチャルール定義・設定
詳細は、「Lattix サービスページ」をご参照ください。
Q2- Lattix のセットアップ
Q2-1 Lattix の稼動環境として Windows 7 に対応していますか。
Lattix 5.6.1 から正式に Winsows 7 に対応しています。
詳細は、「Lattix の稼動環境ページ」をご参照ください。
詳細は、「Lattix の稼動環境ページ」をご参照ください。
Q2-2 Lattix の推奨稼動環境を教えてください。
OS の推奨環境は特別ありませんが、メモリを多く搭載している方が望ましいです。
特に、分析対象が大きい場合には、搭載メモリは 2GB 以上であることを推奨します。
Lattix の稼動環境については、「Lattix の稼動環境ページ」をご参照ください。
特に、分析対象が大きい場合には、搭載メモリは 2GB 以上であることを推奨します。
Lattix の稼動環境については、「Lattix の稼動環境ページ」をご参照ください。
Q2-3 Lattix で正式サポートする Understand のバージョンを教えてください。
以下の通りです。
- Lattix 5.6.3 / 6.5 共通
- Understand for C++ 1.4英語版
- Understand 2.0 (Build 456)英語版
- Understand 2.0 (Build 480)日本語版
(Engineer Edition、Professional Edition、Analyst Editionのいずれも正式にサポートしています。) - Understand 2.6 (Build 540)日本語版
- Lattix 4.8.1 / 5.6.1 共通
- Understand for C++ 1.4英語版
- Understand 2.0 (Build 456)英語版
- Understand 2.0 (Build 480)日本語版
(Engineer Edition、Professional Edition、Analyst Editionのいずれも正式にサポートしています。)
- Lattix 4.0.5 の場合
- Understand for C++ 1.4英語版
- Understand 2.0 (Build 456)英語版
(Engineer Edition、Professional Edition、Analyst Editionのいずれも正式にサポートしています。)
Q2-4 Lattix で Understand 2.0 ファイルを解析する方法を教えてください。
Understand 2.0のファイル「*.udb」の解析には、Understand 2.0のインストールが必要です。
また、Lattix の C/C++ のライセンスが必要です。
※Understand 2.0ライブラリは、32bit ライブラリです。よって、Understand を利用した解析では、32bit版Javaを利用して Lattixを実行する必要があります。
また、Lattix の C/C++ のライセンスが必要です。
- Lattix 4.8.1 / 5.6.1 / 5.6.3 / 6.5共通
Lattix 4.8.1 / 5.6.1 / 5.6.3 / 6.5は、Understand 2.0のファイル形式「*.udb」をそのまま読み込むことができます。
Understand 2.0をインストールしたパスから、Windowsの場合には、Understandライブラリ(udb_api.dll)を、Linuxの場合には、libudb_api.soを参照します。
そのため、Lattixのインストールディレクトリ以下に、Understand APIをコピーする必要はありませんが、環境変数に Understandのインストールパスを設定する必要があります。
-
【 Windowsの場合 】
- Understand 2.0をインストールした場合、ユーザ環境変数 PATHに Understand 2.0ライブラリへのパスが追加されます。
例)C:\Program Files\STI\bin\pc-win32
※通常は、Understand 2.0のインストール時に、自動的に設定されます。設定されない場合やインストールユーザとは異なるユーザでログインした場合は、手動で設定してください。
※複数の Understand 2.0のバージョンをインストールした場合は、使用する Understand 2.0のバージョンのインストールパスを環境変数 PATHに設定してください。 - Lattixを起動します。
-
【 Linuxの場合 】
- Understand 2.0をインストール後、システム環境変数 STI_HOMEに ${Understand 2.0インストールディレクトリ}/scitools を設定してください。
- Lattix(${Lattix インストールディレクトリ}/Lattix/bin/ldm.sh)を起動します。
※Understand 2.0ライブラリは、32bit ライブラリです。よって、Understand を利用した解析では、32bit版Javaを利用して Lattixを実行する必要があります。
- Lattix 4.0.5 の場合
Lattix 4.0.5 では、Understand Version 1.4のプロジェクトファイル形式である「*.udc」形式のみに対応しています。
Understand 2.0で作成されたプロジェクトファイルを読み込む場合、Understand APIのインストールとプロジェクトファイルの拡張子を「*.udb」から「*.udc」に変更する必要があります。
- Understand APIは、Understand 2.0モジュールのインストールディレクトリ(以下)内に含まれています。
%Understand 2.0インストールディレクトリ%\STI\bin\pc-win32\udb_api.dll
例)C:\Program Files\STI\bin\pc-win32\udb_api.dll - 1.の udb_api.dllを Lattixインストールディレクトリの bin以下にコピーします。
例)C:\Program Files\Lattix4.0.5\bin\udb_api.dll - Understand2.0プロジェクトファイルの拡張子を 「*.udb」から「*.udc」に変更します。
- Lattixを起動します。
【 Windowsの場合 】
-
【 Linuxの場合 】
- Understand APIは、Understand 2.0モジュールのインストールディレクトリ(以下)内に含まれています。
${Understand 2.0インストールディレクトリ}/scitools/bin/pc-linux_elf/libudb_api.so - 1.の libudb_api.soを Lattixインストールディレクトリの bin以下にコピーします。
${Lattix インストールディレクトリ}/Lattix/bin/libudb_api.so - PATHに Understandの起動コマンド(understand)のパスに、${Understand 2.0インストールディレクトリ}/scitools/bin/pc-linux_elf を追加します。
- Understand 2.0プロジェクトファイルの拡張子を 「*.udb」から「*.udc」に変更します。
- Lattix(${Lattixインストールディレクトリ}/Lattix/bin/ldm.sh)を起動します。
Q2-5 Lattix で Understand 2.6 ファイルを解析する方法を教えてください。
Understand 2.6のファイル「*.udb」の解析には、Understandの 2.6インストールが必要です。
また、Lattix の C/C++ のライセンスが必要です。
なお、Lattix 4.0.5 / 4.8.1 / 5.6.1 では、Understand 2.6 で作成されたudbファイルを読み込むことはできません。
※Understand 2.6 には、32bit版と64bit版があります。C/C++(Understand)モジュールで解析をおこなう場合には、それぞれに対応したJava上でLattixを実行する必要があります。(例:Understand 2.6 32bit版の場合には、32bit版Java上でLattixを実行する必要があります。)
また、Lattix の C/C++ のライセンスが必要です。
なお、Lattix 4.0.5 / 4.8.1 / 5.6.1 では、Understand 2.6 で作成されたudbファイルを読み込むことはできません。
- Lattix 5.6.3 / 6.5 共通
Lattix 5.6.3 / 6.5 は、Understand 2.6のファイル形式「*.udb」をそのまま読み込むことができます。
Lattix 5.6.3 / 6.5 は、Understand 2.6をインストールしたパスから、Windowsの場合には、Understandライブラリ(udb_api.dll)を、Linuxの場合には、libudb_api.soを参照します。
そのため、Lattixのインストールディレクトリ以下に、Understand APIをコピーする必要はありませんが、環境変数に Understandのインストールパスを設定する必要があります。
-
【 Windowsの場合 】
- Understand 2.6をインストールした場合、ユーザ環境変数 PATHに Understand 2.6ライブラリへのパスが追加されます。
例) C:\Program Files\SciTools\bin\pc-win32
※通常は、Understand 2.6のインストール時に、自動的に設定されます。設定されない場合やインストールユーザとは異なるユーザでログインした場合は、手動で設定してください。
※同一マシンに、Understand 2.0 がインストールされ、アンインストールされていない場合、後にインストールしたUnderstand 2.6 のパスが有効になりません。パスの順番を変更し、2.6 のパスが有効になるように設定してください。
-
【 Linuxの場合 】
- Understand 2.6をインストール後、システム環境変数 STI_HOMEに ${Understand 2.6インストールディレクトリ}/scitools を設定してください。
- Lattix(${Lattix インストールディレクトリ}/Lattix/bin/ldm.sh)を起動します。
※Understand 2.6 には、32bit版と64bit版があります。C/C++(Understand)モジュールで解析をおこなう場合には、それぞれに対応したJava上でLattixを実行する必要があります。(例:Understand 2.6 32bit版の場合には、32bit版Java上でLattixを実行する必要があります。)
Q2-6 Visual Studio から生成された BSC ファイルを解析する方法を教えてください。
BSCファイルの解析には、Microsoftの Browser Toolkitが必要です。
また、Lattix の C/C++ のライセンスが必要です。
Browser Toolkitを、MicrosoftのWebサイトから入手します。
http://www.microsoft.com/downloads/details.aspx?familyid=621ae185-1c2a-4d6b-8146-183d66fe709d&displaylang=en から、bsckit70.exe(199KB)をダウンロードします。
※BSCモジュールは、Microsoftの dllを使用しますが、それは、32bit Windows環境にのみの対応です。そのため、BSC モジュールを利用した解析では、32bit版Javaを利用して Lattixを実行する必要があります。
また、Lattix の C/C++ のライセンスが必要です。
Browser Toolkitを、MicrosoftのWebサイトから入手します。
http://www.microsoft.com/downloads/details.aspx?familyid=621ae185-1c2a-4d6b-8146-183d66fe709d&displaylang=en から、bsckit70.exe(199KB)をダウンロードします。
- Browser Toolkit のインストール
インストーラを実行し、インストールを行ないます。
%Browser Toolkitのインストールフォルダ%\bscsdk\bin\msbsc70.dll を、%Lattixインストールフォルダ%\bin フォルダへコピーします。
※BSCモジュールは、Microsoftの dllを使用しますが、それは、32bit Windows環境にのみの対応です。そのため、BSC モジュールを利用した解析では、32bit版Javaを利用して Lattixを実行する必要があります。
Q2-7 IBM Rational Rhapsody のデータを解析する方法を教えてください。
IBM Rational Rhapsody のモデルデータを直接Lattix にインポートするには、Lattix 5 以降のバージョンが必要です。
また、Lattix の UML/SysML のライセンスが必要です。また、Rational Rhapsody のファイル形式(*.rpy)の分析には、Rhapsody のインストールおよび有効な Rational Rhapsody のライセンス、Rational Rhapsody ライブラリの設定が必要です。
※Rhapsody DLLは、32bitライブラリです。したがって、UML/SysML(Rhapsody)モジュールで解析をおこなう場合には、32bit版Java上でLattixを実行する必要があります。
- Rational Rhapsody ライブラリの設定方法
- Rhapsody Java API を lib\plugins フォルダにコピーします。
例:C:\Program Files\IBM\Rhational\Rhapsody\7.5\Share\JavaApi\rhapsody.jar
→ C:\Program Files\Lattix5.6.1\lib\plugins\ - Rhapsody API DLL を bin\win32 フォルダにコピーします。
例:C:\Program Files\IBM\Rhational\Rhapsody\7.5\Share\JavaApi\rhapsody.dll
→ C:\Program Files\Lattix5.6.1\bin\win32\
※Rhapsody DLLは、32bitライブラリです。したがって、UML/SysML(Rhapsody)モジュールで解析をおこなう場合には、32bit版Java上でLattixを実行する必要があります。
Q2-8 ActionScript のデータを解析する方法を教えてください。
ActionScriptのファイル(*.swf,*.swc, link-report.xml)を解析するには、Adobe Flex SDKの入手とActionScriptライブラリのセットアップが必要です。
Lattix 6.5 を使用してください。また、Lattix のActionScript のライセンスが必要です。
Adobe Flex SDKをAdobeのサイトから入手します。
http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK
Lattix 6.5 を使用してください。また、Lattix のActionScript のライセンスが必要です。
Adobe Flex SDKをAdobeのサイトから入手します。
http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK
- ActionScriptライブラリのセットアップ
asc.jarとswfutils.jarを、%Lattixインストールディレクトリ%\lib\pluginsにコピーします。
asc.jarとswfutils.jarは、FlexSDKインストールディレクトリのlibディレクトリにあります。
Q3- C/C++(Understand)モジュール
Q3-1 Lattixで、Understand(*.udb)ファイルの読み込み時に、「Understand のライセンスがありません」のメッセージが表示され、読み込みできません。対処方法を教えてください。
Understandのライセンスが設定されていないことが考えられます。
- Lattix 5.6.3 / 6.5 共通
Understand 2.6(*.udb)ファイルの読み込み時に、「Error opening data: xxx.udb Understand(C/C++) のライセンスがありません」のメッセージが表示されます。
読み込みエラーが発生する *.udbファイルを、Understand 2.6で、開くことができるかをご確認ください。
また、「Lattix で Understand 2.6 ファイルを解析する」をご確認ください。 - Lattix 4.8.1 / 5.6.1 / 5.6.3 / 6.5 共通
Understand 2.0(*.udb)ファイルの読み込み時に、「Error opening data: xxx.udb Understand(C/C++) のライセンスがありません」のメッセージが表示されます。
読み込みエラーが発生する *.udbファイルを、Understand 2.0で、開くことができるかをご確認ください。
また、「Lattix で Understand 2.0 ファイルを解析する」をご確認ください。 - Lattix 4.0.5 の場合
Understand 2.0(*.udb)ファイルの読み込み時に、「Error opening data: xxx.udc: Understand for C++ のライセンスがありません」のメッセージが表示されます。
読み込みエラーが発生する *.udcファイルを *.udbファイルにリネームし、Understand 2.0で、開くことができるかをご確認ください。
また、「Lattix で Understand 2.0 ファイルを解析する」をご確認ください。
Q3-2 Lattixで、Understand(*.udb)ファイルの読み込み時に、「Understand API ライブラリが見つかりません」のメッセージが表示され、読み込みできません。対処方法を教えてください。
- Lattix 5.6.3 / 6.5 共通
Understand 2.6(*.udb)ファイルの読み込み時に、「Error opening data: xxx.udb Understand API ライブラリが見つかりません」のメッセージが表示されます。
「Lattix で Understand 2.6 ファイルを解析する」をご確認ください。 - Lattix 4.8.1 / 5.6.1 / 5.6.3 / 6.5 共通
Understand 2.0(*.udb)ファイルの読み込み時に、「Error opening data: xxx.udb Understand API ライブラリが見つかりません」のメッセージが表示されます。
「Lattix で Understand 2.0 ファイルを解析する」をご確認ください。 - Lattix 4.0.5 の場合
Understand 2.0(*.udb)ファイルの読み込み時に、「Error opening data: xxx.udc: Understand API ライブラリがありません。udb_api.dll を LDM の bin ディレクトリにインストールしてください。」のメッセージが表示されます。
「Lattix で Understand 2.0 ファイルを解析する」をご確認ください。
Q3-3 Lattixで、Understand(*.udb)ファイルの読み込み時に、「無効な Understand データベースのフォーマットです。」のメッセージが表示され、読み込みできません。対処方法を教えてください。
Understand(*.udb)ファイルの読み込み時に、「Error opening data: xxx.udb 無効な Understand データベースのフォーマットです。Understand API ライブラリと Understand ツールのバージョンが同じかどうかを確認してください。」のメッセージが表示されます。
これは、読み込みを行なったUnderstand(*.udb)ファイルとマシンにインストールされているUnderstandのバージョンと環境変数PATHに設定されているUnderstand APIライブラリのバージョンが一致していないためです。
使用するバージョンのUnderstand を起動し、解析対象のUnderstand(*.udb)ファイルの再読み込みを行なってください。Understand(*.udb)のデータベースフォーマットが更新されます。
これは、読み込みを行なったUnderstand(*.udb)ファイルとマシンにインストールされているUnderstandのバージョンと環境変数PATHに設定されているUnderstand APIライブラリのバージョンが一致していないためです。
使用するバージョンのUnderstand を起動し、解析対象のUnderstand(*.udb)ファイルの再読み込みを行なってください。Understand(*.udb)のデータベースフォーマットが更新されます。
Q3-4 Lattix で Understand(*.udb)ファイルの読み込み後、DSM の表示が $root のみの表示になります。対処方法を教えてください。
- Lattix 5.6.1 の場合
Lattix 5.6.1 では、Understand 2.6 で作成されたプロジェクトファイルは、Understandデータベースの互換性の違いにより表示することができません。Lattixのバージョンを 5.6.3 / 6.5 にバージョンアップしてください。 - Lattix 4.0.5 の場合
Lattix 4.0.5では、Understand 2.0 Build 459以上で作成されたプロジェクトファイルは、Understandデータベースの互換性の違いにより表示することができません。Lattixのバージョンを 4.8.1 / 5.6.1 にバージョンアップをしてください。
Q3-5 Understand を解析した場合、Lattix 4.0.5 / 4.8.1 / 5.6.1(5.6.3)/ 6.5 では「依存関係表示のフィルタ」に違いがあります。フィルタ項目の対応について教えてください。
フィルタ対応表については、こちらのPDFをご参照ください。
Lattix 4.8.1 / 5.6.1 / 5.6.3 / 6.5 に対して、以下の相違があります。
Lattix 4.8.1 / 5.6.1 / 5.6.3 / 6.5 に対して、以下の相違があります。
- データの依存関係フィルタは、「Global」「Member」「Enum」の3つになり、「変更」と「読み込み」は削除されました。
- クラスの依存関係フィルタの「Typed」「キャスト」「例外のスロー」は、「参照(Reference)」に併合されました。
- メソッドの依存関係フィルタの「暗黙の呼び出し」と「関数ポインタ」は、「呼び出し」に併合されました。

T-1 Lattix でパーティショニングを実行する
Lattixメニュー[ツール]-[システムの並び替え(DSM の順序付け)]から、パーティショニングを実行できます。
ツールバーアイコンからも実行できます。
- Component(コンポーネントパーティショニング)
強い依存関係にある要素をグルーピングし仮想パーティションを作成します。
また、サイクル(循環依存)を含まない独立した要素を仮想パーティションとします。
強い参照関係 がある各仮想パーティション内は、対角線上にその依存度が最小になるように並べ替えられます。各仮想パーティションは、トポロジカルソートによってソートされます。 - Reachability(DSMパーティショニング)
構造モデリング手法の一つである、Warfieldのアルゴリズムを実装したものです。
Componentと同様に、仮想パーティションの作成とレイヤー化をおこないます。 - Proximity(プロバイダ補正)
クラスタリングアルゴリズムの一種です。
被依存要素を、その依存元要素になるべく近くになるよう補正をおこないます。 - Spectral (Ratio Cut) / Spectral (Normalized Cut)
一般的に、スペクトラルグラフ分割 (Spectral Graph partitioning) のアルゴリズムとして知られる、Rario Cut法と、Normalized Cut法を実装したアルゴリズムです。 - As Early As Possible (AEAP) / As Late As Possible (ALAP)
一般的に、タスクのスケジューリングアルゴリズムとして知られる、AEAP (または ASAP) と ALAP を実装したアルゴリズムです。
AEAPは、タスクをなるべく早い段階で処理するよう配置し、ALAP は、なるべく遅い段階で処理するよう配置します。
作成された仮想パーティションの内、内部に依存関係を持たないパーティションは、パーティション内のタスクがパラレルに実行可能なことを表します。 - Alphabetize(アルファベット順でソート)
要素を要素名のアルファベット順に並べます。プロジェクト作成時のデフォルト状態です。 - Alphabetize Reverse Order(アルファベット逆順でソート)
要素を要素名のアルファベット逆順に並べます。 - Naming
同じ接頭辞を持つサブシステムをグルーピングし仮想パーティションを作成します。
例えば、xyz.c と xyz.h は同じ仮想パーティションにグルーピングされます。 - Disjoint
仮想パーティション同士が互いに依存関係を持たないような仮想パーティションを作成します。
T-2 依存関係分析機能を使用する
Lattixメニューの[ツール]内に、以下の依存関係分析機能があります。
- [依存関係を解消するためのヒント]
DSM上で依存強度が表示されているセルを選択した場合に、選択可能です。
これは、適切なアーキテクチャ構造を作成するためにサブシステムの移動に関するヒントを表示する機能です。 - [循環の原因である主要な依存関係の検索(中心的な依存関係の検索)]
DSM上のサブシステムを選択した場合に、選択可能です。
これは、モジュール間結合度の強い要素を検索する機能です。
要素が検出された場合、その要素の切り離しを行なえば、モジュール間結合度の低い(望ましい)独立性のあるシステムを構築することが可能です。
選択したサブシステムに循環依存またはモジュール間結合度の強い要素を含まない場合には、「中心的な依存関係は見つかりませんでした。」のメッセージが表示されます。
- [最小循環の検索(最小循環依存)]
DSM上で依存強度が表示されているセルを選択した場合に、選択可能です。
選択したセルに存在する依存関係と循環依存となっている、最小の循環パスを検索します。
循環依存が存在する場合、該当するサブシステムが選択された状態で表示されます。
循環依存が存在しない場合には、「この依存に関係する循環依存はありません」のメッセージが表示されます。
- [循環依存へタグ付け]
DSM上のサブシステムを選択した場合に、選択可能です。
選択したサブシステム配下で発生している全ての循環依存を検索し、その循環依存に関与しているサブシステム・要素にタグを付けます。
ヒントが存在する場合、ダイアログに例のようなメッセージが表示されます。
例)
以下のサブシステムをサブシステム org.apache.tools.ant.taskdefs に移動する
org.apache.tools.mail.MailMessage
ヒントが存在しない場合には、「ヒントを見つけることはできませんでした」のメッセージが表示されます。
T-3 依存関係をメソッドや変数のようなメンバーレベルで表示する
DSM上で、メンバーレベルを表示したいサブシステムを選択し、右クリックメニューから[メンバーを展開]を選択してください。
(または、Lattixメニュー[ツール]-[メンバーを展開]を選択してください。)
更新オプションを選択し、「メンバーを展開」ダイアログ画面の「OK」ボタンを押下します。
更新オプションを選択し、「メンバーを展開」ダイアログ画面の「OK」ボタンを押下します。
T-4 DSMに表示される依存強度のカウント方法を設定する
DSMに表示される依存強度のカウント方法を設定します。
Lattixメニュー[プロパティ]-[プロジェクトのプロパティ]-[依存関係のオプション]の[依存強度の種類]で選択できます。
Lattixメニュー[プロパティ]-[プロジェクトのプロパティ]-[依存関係のオプション]の[依存強度の種類]で選択できます。
- サブシステム粒度の依存強度(システムの依存強度)
サブシステム内のサブシステムのうちのどれかが、別のサブシステムに依存する場合を「1」の依存強度として表示します。 - 要素粒度の依存強度(クラスの依存強度)
参照元のサブシステム内の要素が、参照先のサブシステム内の要素に依存がある場合を「1」の依存強度として表示します。依存関係の種類や数は無視されます。 - 依存関係粒度の依存強度(詳細粒度の依存強度)
依存関係の種類(インクルード・メソッドの呼び出しなど)の数の合計を表示します。
T-5 DSMの対角セルに表示される情報の種類を設定する
DSMの対角セルに表示される情報の種類を設定します。
Lattixメニュー[プロパティ]-[プロジェクトのプロパティ]-[依存関係のオプション]の[対角セルの表示形式(依存強度の表示形式)]で選択できます。
Lattixメニュー[プロパティ]-[プロジェクトのプロパティ]-[依存関係のオプション]の[対角セルの表示形式(依存強度の表示形式)]で選択できます。
- なし
セルに「 .」が表示されます。デフォルトの表示形式です。 - 要素パーセント
対象サブシステムに含まれる要素(サブシステム)数を全体のサブシステムの要素(サブシステム)数で割った値がパーセントで表示されます。 - 依存強度数
対象サブシステム(パッケージ等)内部に含まれる、依存関係の強度の総数が表示されます。これは、「依存強度のカウント方法」の設定に基づいて計算されます。
T-6 DSMのサブシステム上から、対象のソースファイルを外部ビューアで開く
外部ビューアの設定を行なうことで、DSMのサブシステム上から、対象のソースファイルを任意の外部ビューアで開くことが可能です。
- Lattix 4.8.1 / 5.6.1 / 5.6.3 / 6.5 共通
- Lattixメニュー[表示]-[設定]を選択します。
- [設定]ダイアログの左画面の[設定]-[外部ビューア構成]を選択します。
- [設定]ダイアログの右画面の[追加]ボタンを押下します。
- 表示されるダイアログの各項目を設定します。
- 例1)秀丸
ビューアID(エディタID):Hidemaru
コマンド:C:\Program Files\Hidemaru\Hidemaru.exe
引数:/j${linenumber} ${sourcefile} - 例2)TeraPad
ビューアID(エディタID):Terapad
コマンド:C:\Program Files\TeraPad\TeraPad.exe
引数:/jl=${linenumber} ${sourcefile} - 例3)Understand 2.6
ビューアID(エディタID):understand-cpp
コマンド:understand
引数:-existing -db ${datasource} -visit ${sourcefile} ${linenumber} - 例4)Visual Studio 【Lattix 5.6.1 / 5.6.3 / 6.5 で設定可能】
ビューアID(エディタID):dotnet
コマンド:C:\Program Files\Lattix5.6.1\bin\win32\VSEdit.exe
引数:${sourcefile} ${linenumber} - [設定]ダイアログの左画面の[モジュール]から該当のモジュールを選択し、[外部ビューア(外部エディタ)]を選択します。
- [設定]ダイアログの右画面の[デフォルトビューアID(デフォルトエディタID)」欄に、手順「4」で設定した「ビューアID(エディタID)」を入力します。
- [設定]ダイアログの[OK]ボタンを押下します。
- DSMのサブシステム上で右クリックメニュー[ソースファイルの表示]を選択します。または、Lattixメニュー[表示]-[ソースファイルの表示]を選択します。
- Lattix 4.0.5 の場合
- Lattixメニュー[表示]-[設定]を選択します。
- [設定]ダイアログの左画面の[設定]-[外部ビューア構成]を選択します。
- [設定]ダイアログの右画面のテキストエディタ欄に設定します。
- 例1)秀丸
C:\Program Files\Hidemaru\Hidemaru.exe "{0}" - 例2)TeraPad
C:\Program Files\TeraPad\TeraPad.exe "{0}" - [設定]ダイアログの[OK]ボタンを押下します。
- DSMのサブシステム上で右クリックメニュー[ソースファイルの表示]を選択します。または、Lattixメニュー[表示]-[ソースファイルの表示]を選択します。












