Notation

Compared to UML, Structurizr purposely uses a very simple and constrained notation consisting of boxes and uni-directional arrows. You'll also notice that Structurizr promotes the use of descriptive text within the elements and on relationships. As software developers, we often joke that naming things is hard. Adding more text to a diagram reduces the ambiguity associated with that diagram while also providing a nice "at a glance" view, especially if that text is used to describe the responsibilities of an element, for example.

This notation is also very whiteboard friendly, for those times when it's better to collaborate around a whiteboard than use a tool.

Elements

As described on the Model page, each element has a number of properties that can be specified. These properties are rendered as follows.

Person

Person

A person has a name and description.

Software System

Software System

A software system has a name and description.

Container

Container

A container has a name, description and technology.

Component

Component

A component has a name, description and technology.

Although the notation is relatively constrained, the following aspects can be changed.

  • Width (pixels; default=450)
  • Height (pixels; default=300)
  • Background colour (HTML hex value; default="#dddddd")
  • Text colour (HTML hex value; default="#000000")
  • Font size (pixels; default=24)
  • Shape (default="Box")
  • Border ("Solid" or "Dashed"; default="Solid")
  • Opacity (an integer between 0 and 100; default=100)

Relationships

A relationship between two elements is illustrated by unidirectional (one-way) arrow as follows.

Relationshp without technology
Relationshp with technology

Again, some aspects of this notation can be changed.

  • Line thickness (pixels; default=2)
  • Colour (HTML hex value; default="#707070")
  • Dashed (default=true)
  • Routing ("Direct" or "Orthogonal"; default="Direct")
  • Font size (pixels; default=24)
  • Width (of the description block, in pixels; default=200)
  • Position (of the description along the line, as a percentage from start to end; default=50)
  • Opacity (an integer between 0 and 100; default=100)

Examples

The examples page shows a number of example diagrams, all of which have been styled in different ways. For example:

An example diagram

All of the styles that you use are shown on an automatically generated diagram key. While viewing a diagram, click the button to show the diagram key.

An example diagram key