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

II.5 Building Block View

The building block view explains and divides the static decomposition of the system into building blocks (modules, components, subsystems, and packages) and their relationships. It shows the overall structure of the source code.

This view is organized in a top-down hierarchy.

5.1 HtmlSanityChecker (Whitebox)

The following diagram shows the whitebox:

Figure 2.10: Whitebox (HtmlSC)

Rationale: We used functional decomposition to separate responsibilities:

  • HSC Core will encapsulate checking logic and HTML parsing/processing.
  • Plugins and GraphicalUI encapsulate all usage aspects

Contained Blackboxes

The following table shows the list of building blocks of HtmlSC whitebox:

Figure 2.11: Contained backboxes

5.2 Building Blocks – Level 2

5.2.1 HSC Core (Whitebox)

The following diagram shows the HSC Core (whitebox):

Figure 2.12: HSC-Core (whitebox)

The internal structure of HSC Core follows a functional decomposition, as follows...