Quantitative Analysis of ArchitecturesImagix 4D's Subsystem Architecture Diagrams provide insight into the partitioning and layering of a software system. Drilling down into a subsystem reveals its interior decomposition of the further subsystems. In the resulting diagrams, the dependencies between visible subsystems can also be seen. These views can be used to improve understanding of the code. Initial, high level diagrams provide insight into the overall components making up a software system. As navigation drills down to examine particular parts of the code and follow certain dependencies, the diagrams continue to provide valuable perspective about which portions of the overall architecture are involved in a specific flow of control. The diagrams also provide a valuable tool for improving the architecture via analysis and modeling. By using the diagrams to experiment with alternative partitioning and layering, the impact of changes to the architecture can be examined. The use of Subsystem Architecture Diagrams in both these tasks - understanding existing code and improving its architecture - is enhanced by the integration of software metrics into the subsystem architecture displays. This integration provides a framework for visualization and quantitative analysis for specific tasks ranging from classifying the major components of the code to identifying subsystems that might be sub optimally partitioned or layered.
Imagix 4D generates over 25 metrics about each subsystem. These metrics can be viewed and analyzed in Imagix 4D's standard metrics displays. There is a specific window for viewing subsystem metrics. But viewing the metrics within the Subsystem Architecture Diagrams themselves provides special value. As you examine the subsystems, their layering and relationships, you're able to perceive their relative significance, the complexity they represent, and the quality of their architectural partitioning.