3.2. Domains and Requirements

Dividing a system into its subject matters helps us control an undifferentiated mass of requirements by assigning each requirement to the appropriate domain. Domain requirements then drive the modeling for each domain.

When we model a domain, we use the vocabulary of that domain and no other. The bookstore domain will include concepts such as “add item to order” and “provide credit card number,” but there is no statement of how these behaviors might be achieved. The domain modeler assumes that somewhere, somehow, a collection of mechanisms exists that can satisfy these statements.

For our purposes in organizing modeling, we want to work with requirements that affect a single domain. The vocabulary of a domain-level ...

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.