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

III.8 Cross cutting Concepts

This section will describe the various technical and related concepts of MaMa deployment:

8.1 Generated Persistence Based on the Domain Model

MaMa uses a code generator to generate all required persistence code from a UML entity model. The overall concept of this generation is depicted in the following diagram. Generic and campaign-specific parts are stereotyped in this diagram. The

"campaign-specific" Data Management component is automatically created and packaged by the build process:

Figure 3.25: Overview of code generation

The following table describes the various elements of the code generation setup:

Figure 3.26: Element of code generation setup

This concept relies on a number of prerequisites.

Prerequisites

These are as follows:

  • Every MaMa instance will handle data related to individual people, known as clients in MaMa domain terminology.
  • All the clients will have a small number of common attributes.
  • For all productive...