Find Architecture Issues Fast

Slider

Understand, Define and Control Software Architecture

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:

Understand your large, complex software architecture

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.

Define or refactor your architecture

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.

Control – Specify and Enforce Architecture

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:

  • Create rules for internal and external dependencies
  • Specify layering rules
  • Specify rules for independent components
  • Create rules based on the type of dependencies
  • Create rules based on the type of source or target subsystem

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.

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:

Continuous architecture analysis

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:

  • Create a new model or update a current model while maintaining a history of dependencies
  • Generate reports in a veriety of formats and configured to contain a variety of information. Maintain a history of reports. The available formats include xml, html, text, xls, csv, jpg and png. The contents of the report include how the new model is different from the old one, what rule violation were found, as well as a variety of data such as metrics, DSM, usage and work list
  • Run custom scripts on projects
  • Publish and extract projects into and from the repository

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.