Domain model: visualizing
concepts
Applying UML and Patterns
-Craig Larman
Domain Model Relationships
Business Model
Classes, attributes,
associations
Use Case Model
Domain Model
Domain
objects
Elaboration on some terms
Glossary
Requirements
Design
Interaction Diagrams
A Domain Model
illustrates meaningful conceptual classes in a problem
domain.
is a representation of real-world concepts, not software
components.
is NOT a set of diagrams describing software classes, or
software objects and their responsibilities.
It may show:
concepts
associations between concepts
attributes of concepts
Domain Model
UML Notation
Illustrated using a set of class diagrams for which no operations are
defined.
A Domain Model is a description of things
in the real world.
A Domain Model is not a description of
the software design.
A concept is an idea,
thing, or object.
A Domain Model is not a
Software Artifact
A Conceptual class:
Software Artifacts:
Sale
Sales Database
Date
Time
vs.
Sale
Date
Time
Print()
5
Steps to create a
Domain Model
Identify
Candidate Conceptual classes
Draw them in a Domain Model
Add associations necessary to record the
relationships that must be retained
Add attributes necessary for information to
be preserved
Apply existing Analysis Patterns
6
Monopoly Concepts
(candidates)
Monopoly Game
Die
Player
Board
Piece
Square
Monopoly Game domain model
Larman, Figure 9.28
Another Example
The NextGen POS (partial) Domain
Model
10