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

V.4 Solution Strategy

The following table contrasts the quality goals of DokChess with matching architecture approaches and thus provides easy access to the solution:

Figure 5.11: Quality goals and matching approaches

Note

Small letters in brackets, such as (x), link individual approaches from the right-hand side of the table to the following architectural overview diagram.

The following figure presents a general overview of Dokchess architecture:

Figure 5.12: DokChess architectural overview

The remaining section V 4. introduces significant architectural aspects and refers to further information in chapter V.

4.1 Structure of DokChess

DokChess is implemented as a Java program with a main routine. It is roughly split into the following parts:

  • An implementation of the rules of chess
  • The engine itself, which selects the moves
  • The connection to a graphical user interface via the XBoard protocol
  • An adapter for a specific opening book format (Polyglot Opening...