A tour of Structurizr
Here is a short tour of the major features that Structurizr offers, both in the cloud and on-premises versions.
(please note that some features described below are not available with the free version)
Diagrams example
Let's start our tour with a look at the core feature of Structurizr, which is the support for creating software architecture diagrams based upon the C4 model. Structurizr allows you to create a number of different diagram types, focused around static structure at different levels of detail, dynamic behaviour and deployment.
Features
While viewing a diagram, you can:
- Start presentation mode.
- Open the diagram key/legend, which is automatically generated for you.
- Toggle tooltips, to show you additional information about the element or relationship under the mouse pointer.
- Get the HTML code to embed the diagram in web pages, wiki pages, etc. Diagrams can also be embedded into Atlassian Confluence using the prebuilt macros.
- Export the diagram and key/legend to PNG (suitable for printing, inserting into slides, etc).
- Export the diagram and key/legend to SVG.
- Export all diagrams to a single HTML page, for offline use.
Navigation
A collection of diagrams can be navigated in a number of ways:
- Select a diagram from the dropdown list at the top of the page.
- Press the
Left
/Right
cursor keys to move to the previous/next diagram. - Double-click on an element with a
+
symbol to open the first diagram at the next level of detail (e.g. a container diagram for a software system). - Press the
Space
key to open the quick navigation dialog; use theUp
/Down
cursor keys to select a diagram, or start typing to find a specific diagram. Press theEnter
key to navigate to the selected diagram.
Documentation example
Structurizr also provides support for attaching lightweight supplementary documentation to the software architecture model, using Markdown or AsciiDoc. Structurizr diagrams can be embedded, along with additional images (e.g. PNG, JPG and GIF format).
Features
While viewing documentation, you can:
Navigation
The documentation can be viewed section by section, or all together. Documentation can be navigated in a number of ways:
- Select a documentation section from the dropdown list at the top of the page.
- Press the
Left
/Right
cursor keys to move to the previous/next section. - Press the
Space
key to open the quick navigation dialog; use theUp
/Down
cursor keys to select a section, or start typing to find a specific section. Press theEnter
key to navigate to the selected section.
Architecture decision records example
Because diagrams alone can't express the decisions that led to a solution, Structurizr allows you to supplement your software architecture model with a decision log, captured as a collection of lightweight Architecture Decision Records (ADRs) as described by Michael Nygard, and featured on the ThoughtWorks Technology Radar. Structurizr allows you to publish your ADRs to allow team members get an "at a glance" view of the current set of ADRs, along with facilities to make navigating them easier.
Navigation works the same way as documentation; using the dropdown list at the top of the page,
the Left
/Right
cursor keys or by opening the quick navigation dialog with the Space
key.
Explorations example
Structurizr provides some additional visualisations, created automatically, that you can use to explore the software architecture model from a number of different perspectives. If your software architecture diagrams start to become too cluttered, these visualisations are often a good alternative.
Other features
Some other important features include role-based access to workspaces, a workspace sharing link for access without being signed in, client-side encryption for increased security, full-text search across all of your workspaces, and the ability to embed your diagrams via an iframe or Atlassian Confluence.
Pricing model
Unlike typical software modelling and documentation tools, where the pricing is hundreds or thousands of dollars "per user", Structurizr's pricing is designed to be "per team", for whatever your own definition of a "team" is.
"Per user" licensing tends to result in a common anti-pattern where a small number of people end up being responsible for updating diagrams, with the resulting diagrams often being manually exported to static images for inclusion in documentation or wiki pages. We think that good software architecture diagrams and documentation should be accessible by everybody on the team, rather than just those lucky few individuals who are fortunate enough to have licenses for tooling.
Workspaces owned by a paid customer can be shared with free users, so you only need to purchase one subscription/annual plan for your team. See the pricing page for more details.