Accomplish your architecture
Maintain an up-to-date architecture and conformity
An adequate architecture significantly reduces efforts for changing and extending your system. Moreover, it enables reuse and scalability, helps avoid unexpected side-effects and simplifies tests. To name just a few benefits.
Making your intended architecture explicit is fundamental for reasoning about and discussing the evolution of your system. It also enables you to ensure the actual architecture implemented in your code complies to your intended architecture.
Model Your Architecture
Teamscales architecture editor enables you to quickly lay out and name the components of your intended architecture, next to each another or in a hierarchy.
Add dependency policies between your components, to specify whether respective dependencies are allowed, tolerated or denied. All other dependencies are implicitly denied.
Simply drag your actual code files or folders to architecture components, to quickly create a mapping – or use the full power of regular expressions to precisely specify what maps where.
As soon as you map your code to your intended architecture, Teamscale starts matching the actual dependencies to your dependency policies – and uncovers any violations.
Enable conformance analysis, to generate analysis findings for any violation and ensure to clean them up just like any other incremental-analysis finding in Teamscale.
Put it to Use
Model the intended architecture you have in mind or simply start with the actual architecture of your system. Either way, making the architecture explicit is a good starting point for discussions and decisions about where you are and where you want to go.
Edit your architecture to reflect your decisions. Teamscale tracks architecture changes alongside your code changes, so both always stay in sync.
Tend to Your Architecture
Having an explicit architecture specification that you know is actually in sync with your code, brings you all to the same page and, thereby, enables reasoning and discussion about the evolution of your system.
Teamscale automatically checks your code against your intended architecture and reports any violations, e.g., by somebody new on the team, who’s still getting up to speed.
Everything you need to know about Architecture Analysis. Can’t find the answer you’re looking for? Please chat to our friendly team.
We define architecture as the structural or hierarchical layout of your code components and their interdependencies.
An adequate architecture significantly reduces efforts for changing and extending your system. Moreover, it enables reuse and scalability, helps avoid unexpected side-effects and simplifies tests. To name just a few benefits. And, ultimately, it is fundamental for reasoning about and discussing the evolution of your system.
You model the components and dependency policies of your intended architecture as a lightweight boxes-and-arrows diagram and map your code to this model. Teamscale then checks whether the actual dependencies comply with your model.
No. How well an architecture fits a given software system depends on many factors, most of which cannot be automatically assessed by a tool. Teamscale focuses on ensuring that your code conforms to your intended architecture.
Would you like to exchange experiences on code architecture?
I have used Architecture modeling and Conformance Analysis for 10+ years, in our software audits, as well as working with customers who apply it in their daily work.
If you would like to learn more about architecture conformance analysis, I’m happy to chat.
Companies that use Teamscale
Teamscale supports and integrates many other tools and formats.
The latest news, events and insights from our team.