Lattix logo


Find Architecture Issues Fast

Understand, Define and Control Software Architecture

 

Lattix 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. Lattix Architect is the competitive advantage you need to development, build, and test at the speed of DevOps. With Lattix you can:

Understand your large, complex software architecture

 

Lattix uses the Dependency Structure Matrix of 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

 

Lattix provides powerful support for refactoring that typically results from architectural erosion over time. Lattix 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 Lattix 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 Lattix 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 – Lattix 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

Lattix 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. Lattix can also be embedded in the build system to generate report and notifications of architectural violations.

 

 

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 variety 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 violations 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 Lattix 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.

Start
Trial
Learn
more
QA-Systems