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.4 Solution Strategy

Note

You need to provide a brief summary and explanation of the fundamental solution ideas and strategies. These key ideas should be familiar to everyone involved in the development and architecture process.

Briefly explain how you achieve the most important quality requirements.

The following steps will explain the basics of the solution design:

  1. Implement HtmlSC mostly in the Groovy programming language and partially in Java with minimal external dependencies.
  2. We wrap this implementation into a Gradle plugin so that it can be used within automated builds. Details are given in the Gradle user guide (https://docs.gradle.org/current/userguide/userguide.html).The Maven plugin is still under development.
  3. Apply the template method pattern (https://sourcemaking.com/design_patterns/template_method/) to enable multiple checking algorithms (see the concept of checking algorithms) and both HTML (file) and text (console) output.
  4. Rely on standard Gradle and Groovy...