Define architecture rules

The Structure101 graphical notation for software architecture diagrams uses an arrangement of cells to convey a number of architectural rules in a highly condensed format:

layered block architecture diagrams define architecture rules

Composition is indicated by one or more cells being contained within a parent cell.

Layering is indicated by the top-down arrangement of cells. Cells should only be used by cells in higher layers (unless specifically allowed or disallowed by a layering override, e.g. the green arrow in the example).

Mapping of each cell in the architecture diagram to physical items in the code-base is specified by 0, 1 or more wildcard expressions.

Violations of the layering, i.e. dependencies in the mapped physical code-base that break the specified layering, are shown on the diagram (conformant dependencies are not shown).

Visibility - whether cells are visible outside of their immediate scope.

To learn more about the semantics of architecture diagrams, see the architecture diagrams video tutorial.

Communicating the architecture to the team

By publishing diagrams to a Structure101 repository, they can be immediately communicated to the team via the Structure101 web application and/or the Structure101 IDE plugins, where the development team receive immediate errors or warnings if they create any new architecture violations.

Finally, you can guarantee the ongoing integrity of your software architecture by using Structure101 Build to check your rules as part of your build process.