Book Image

arc42 by Example

By : Dr. Gernot Starke, Michael Simons, Stefan Zörner, Ralf D. Müller
Book Image

arc42 by Example

By: Dr. Gernot Starke, Michael Simons, Stefan Zörner, Ralf D. Müller

Overview of this book

When developers document the architecture of their systems, they often invent their own specific ways of articulating structures, designs, concepts, and decisions. What they need is a template that enables simple and efficient software architecture documentation. arc42 by Example shows how it's done through several real-world examples. Each example in the book, whether it is a chess engine, a huge CRM system, or a cool web system, starts with a brief description of the problem domain and the quality requirements. Then, you'll discover the system context with all the external interfaces. You'll dive into an overview of the solution strategy to implement the building blocks and runtime scenarios. The later chapters also explain various cross-cutting concerns and how they affect other aspects of a program.
Table of Contents (9 chapters)
Free Chapter
1
Acknowledgements
8
VII - macOS Menu Bar Application

VI.6 Runtime View

There are no special runtime situations that need to be explained as a sequence diagram. However, the following diagrams shows the flow of information through the toolchain:

Figure 6.13: Runtime view: abstract flow

The preceding figure can be explained as follows:

  1. docToolchain exports data (that is, diagram images and plain text) from documentation tools.
  2. The main documentation (on the basis of the arc42 template) includes the exported artifacts.
  3. The final output is generated via Asciidoctor and plugins.
  4. It is finally converted through additional scripts and tools.

Besides this, docToolchain contains some additional utility tasks that do not directly fit into the preceding schema, such as the HtmlSanityCheck task.

The following diagram shows the details of all the currently implemented tasks. It focuses on the various input artifacts, which are transformed through the Gradle tasks that make up docToolchain. Each connection is either a Gradle...