Lattix- アーキテクチャ分析ツール -
機能紹介 - ソフトウェア構造の分析・可視化
スケーラブルな可視化
LattixにおいてDSMは階層構造によって表現されます。
階層を折りたたんだ状態にすることで、より抽象的な粒度(たとえばコンポーネントやパッケージ)で、ソフトウェア全体を俯瞰することが可能です。これは、非常に大規模なソフトウェアを可視化する際に非常に有効です。
もちろん、階層を展開することで、より詳細な粒度(たとえばクラスやソースファイル)での可視化も可能です。
階層を折りたたんだ状態にすることで、より抽象的な粒度(たとえばコンポーネントやパッケージ)で、ソフトウェア全体を俯瞰することが可能です。これは、非常に大規模なソフトウェアを可視化する際に非常に有効です。
もちろん、階層を展開することで、より詳細な粒度(たとえばクラスやソースファイル)での可視化も可能です。
強力な分析アルゴリズム
Lattixは、現状の依存関係をマトリクスで可視化するだけでなく、その強力な分析アルゴリズムにより、分析対象のソフトウェア構造(アーキテクチャ)を分析・可視化します。
たとえば、コンポーネントが適切に階層化されているのか、階層化が乱れている場合はその原因となっている要素・依存関係はどこにあるのか、などの視点での分析を強力にサポートします。
下の図は、階層化を分析するアルゴリズムを適用した例です。システムに含まれるクラス/インタフェイスが、いくつかの階層グループ(黒い枠で囲まれたグループ)で構成されることが確認できます。さらに、一部で循環構造が形成されていることを確認できます(下から3つ目の黒い枠で囲まれたグループ)。
たとえば、コンポーネントが適切に階層化されているのか、階層化が乱れている場合はその原因となっている要素・依存関係はどこにあるのか、などの視点での分析を強力にサポートします。
下の図は、階層化を分析するアルゴリズムを適用した例です。システムに含まれるクラス/インタフェイスが、いくつかの階層グループ(黒い枠で囲まれたグループ)で構成されることが確認できます。さらに、一部で循環構造が形成されていることを確認できます(下から3つ目の黒い枠で囲まれたグループ)。
依存関係表示のフィルタ
Lattixでは、必要に応じてこれらの依存関係をフィルタすることが可能です。
左の図はJavaソフトウェアを解析した場合の依存関係表示フィルタの例です。












