Cantata Test Architect enables you to quickly identify and remediate architectural issues. It gives software architects a fast and visual way to represent an application’s architecture with the Dependency Structure Matrix technology. This gives insight into how different software layers interact and can identify potentially undesirable relationships that exist in the code. Our desktop base platform integrates with your development tools, making architecture checking a seamless part of your development process. Cantata Test Architect is the competitive advantage you need to development, build, and test at the speed of DevOps. With Cantata Test Architect you can:
Cantata Test Architect uses the Dependency Structure Matrix or Design Structure Matrix (DSM) to understand your architecture. A DSM is a simple, compact and visual representation of a system in the form of a square matrix.
Frequently, when discussing software dependencies you are thinking about directed graphs that looks something like this:
The DSM represents the same information as a graph, but in a more concise format.
The DSM is particularly good at analyzing large, complex software systems. A number of partitioning algorithms can be used on the DSM for architectural discovery and management. They help identify layering (hierarchy) and componentization (modularity) within the software system even after the architecture has eroded.
The results of the partitioning algorithms are displayed as square boxes, called virtual partitions, within the DSM.
Cantata Test Architect provides powerful support for refactoring that typically results from architectural erosion over time. Cantata Test Architect provides powerful capabilities to improve modularity.
Architecture Editor – You have complete flexibility to change the architecture without changing the code; this allows you to plan out your refactoring work before touching the code. You can create or delete any of the abstractors, create or remove dependencies and specify rules. All changes made to the architecture in Cantata Test Architect are automatically remembered in a worklist. Undo and redo capabilities make it easy to try alternative what-if architectures and to understand the impact of those refactorings.
Round Trip through the Model – User can maintain the architecture in Cantata Test Architect as the system is refactored over time. A powerful update facility provides the ability to continuously update the model as code changes are made over time.
Algorithm Support – Cantata Test Architect provides a number of algorithms to help in the refactoring process. These algorithms help you break cycles, mode subsystems to reduce coupling and cohesion, and understand the relationships between modules.
Cantata Test Architect uses the concept of design rules to specify the allowed nature of the relationship between various subsystems. Design Rules allow the architecture to be specified, communicated and enforced within the entire development team.
Rules can be specified or overridden at any level of the hierarchy. Rules can be kept broad or made as narrow as needed. You can:
Rules based architecture enforcement can be automated. Command line utilities (LDC command line) can be used to monitor and enforce the architecture. Cantata Test Architect can also be embedded in the build system to generate report and notifications of architectural violations.
LDC command-line applications can be used to automate the process of checking and updating the dependency model. LDC is at the heart of our DevOps and Continuous Integration support.
Here are some common uses for LDC applications:
LDC automatically analyzes every build to identify architectural issues early and enable developers to fix architectural issues before they reach production. Analyzing the architectural integrity of large complex applications is a huge task yet vital to ensure the quality of the system. Architects need the reliable, automated solution of Cantata Test Architect LDC to enforce architectures that deliver efficiency and stability of business applications. LDC can easily be integrated into your DevOps toolchain. Allowing you to spend less time worrying about and managing the scanning process. Giving you more time to fix issues.