3.1. Domains

Domains represent the different subject matters that we need to understand to build a system.

Definition: A domain is an autonomous, real, hypothetical, or abstract world inhabited by a set of conceptual entities that behave according to characteristic rules and policies.

For a given system, we first identify the several domains that make up the system as a whole. Generally, systems comprise domains such as an application, a bookstore for example; some implementation technologies, such as Java, HTML, a relational database, and XML; and some intermediate abstractions, such as a Web GUI, messaging, and workflow.

We then understand and model the application and intermediate abstractions using executable UML and apply various implementation ...

Get Executable UML: A Foundation for Model-Driven Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.