Static analysis of physical dependencies within a software system
Dependometer will perform static analysis of physical dependencies within a software system. Dependometer validates dependencies against the logical architecture structuring the system into classes, packages, subsystems, vertical slices and layers and detects cycles between these structural elements. Furthermore, it calculates a number of quality metrics on the different abstraction layers and reports any violations against the configured thresholds.
- Use a logical architecture description in terms of layers and subsystems and their physical mapping (n Packages implement a Subsystem) and check logical architecture violations.
- Analyze the dependency architecture between layers, subsystems, resulting vertical-slices, packages, compilation-units (java files) and types (classes and interfaces)
- Analyze cycles between elements
- Calculate a bunch of metrics for all elements - this includes metrics from John Lakos, Robert C. Martin and Craig Larman.
- Define thresholds and receive feedback upon their violation
- Simulate via simple refactoring definitions and cutting unwanted dependencies changes to the physical structure possibly enhancing refactoring.
- Create a complete HTML presentation. This provides browsing capabilities from layer (logical element) to compilation-unit (physical element) for a discussion which physical elements cause the logical architecture to break.