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.1 Introduction and Requirements

This section introduces the task and outlines the objectives pursued by DokChess.

1.1 Requirements Overview

DokChess

The following are the distinct features of DokChess:

  • DokChess is a fully functional chess engine.
  • It serves both as an easily accessible and attractive case study of software architecture design, evaluation, and documentation.
  • The understandable structure invites developers to experiment and to extend the engine.
  • A high level of chess ability is not the goal. Nevertheless, DokChess manages to play games that casual chess players will enjoy.

Essential Features

Here are some of the essential features of DokChess:

  • Complete compliance with the FIDE Laws of Chess
  • Supports games against human opponents and other chess programs
  • Masters fundamental chess tactics, such as fork and skewer
  • Works with modern graphical chess frontends

1.2 Quality Goals

The following table describes the key quality objectives of DokChess...