Tools supporting DSM visualization
Overview of tools
Tool | Purpose | Type |
---|---|---|
Lattix DSM Tool | Software architecture analysis/refactoring | commercial |
Intelij IDEA Ultimate | Java IDE | commercial |
CppDepend | Software architecture/code analysis | commercial |
NDepend | Software architecture/code analysis | commercial |
JArchitect | Software architecture/code analysis | commercial |
DSMSuite | Software architecture analysis/refactoring | open source |
DSM Plugin | Software architecture analysis | open source |
dtangler | Software architecture analysis | open source |
The tools CppDepend, Ndepend and JArchitect are identical, but support different programming languages. They will be listed below a XDepend
Other well known tools for architecture analysis and refactoring are Structure101 and SonarSource. Both however do not support DSM visualization. The continuous inspection tool sonarqube used to support DSM visualization, but this feature was dropped.
Feature overview
Below the DSMSuite will be compared with some commercial DSM tools.
Lattix | Intelij | XDepend | DsmSuite | |
---|---|---|---|---|
Visualization dependencies | ||||
Hierarchical matrix | Yes | Yes | Yes | Yes |
Cyclic dependencies | Yes | Yes | Yes | Yes |
Indirect dependencies | No | No | Yes | Yes |
Dependencies up to method / attribute level | Yes | No | Yes | No |
Architecture analysis and assessment | ||||
Number of partitioning algorithms | 11 | 1 | 1 | 2 |
Number of software metrics | 24 | 0 | 82 | 0 |
Architecture control | ||||
Refactoring support by impact analysis | Yes | No | No | Yes |
Definition dependency rules | Yes | no | Yes | No |
Build integration | Yes | No | Yes | Yes |
Metrics | Yes | No | Yes | Yes |
Metrics trends | Yes | No | Yes | No |
Automation | Yes | No | Yes | No |
Web based dashboard | Yes | No | Yes | No |
Summary
Most tools offer basic DSM functionality. Advanced features like impact analysis are only supported by Lattix and the DSMSuite. Lattix has the most extensive feature set.