NEW
A conceptual representation of domain entities, relationships, and rules aligning software and data to business meaning.
DESCRIPTION
A domain model captures core concepts and interactions within a business area, forming a shared language for stakeholders. It informs software design, data schemas, and integrations. In DDD, domain models live within bounded contexts to avoid ambiguity. Good models evolve with the domain and balance simplicity with completeness.
ALTERNATIVE DEFINITIONS
Martin Fowler
A Domain Model is an object model of the domain that incorporates both behavior and data.
Emphasizes behavior-rich models beyond mere data structures.
Wikipedia
A domain model is a representation of real-world concepts, not software artifacts, that describes the various entities, their attributes, and relationships.
Stresses real-world conceptual representation independent of implementation.
Thoughtworks
The domain model defines the core concepts and rules of the business, providing a language that anchors design decisions and boundaries.
Connects model to ubiquitous language and boundaries.
RELATED TERMS
Bounded Context UML Entity-Relationship Model Knowledge Representation Class Hierarchy Data Glossary Conceptual Model Logical Model Domain-Driven Design Use Case Modeling
COMPETING TERMS
Process Model
RELATIONS
- Broader: Model
KNOWLEDGE AREAS
Domain & Business Context Software Modeling Data Modeling Semantic & Knowledge Modeling
TARGET AUDIENCE
Software Architect Data Modeler Enterprise Architect Business Analyst Solution Architect Data Architect
EXTERNAL SOURCES
- Wikipedia - Domain model
- Martin Fowler - Canonical domain model explanation
- DDD Community - Domain-driven design resources
- OMG - UML standard reference
TOP QUESTIONS
Why use a Domain Model in software and data projects?
It aligns design with business meaning, improves communication, and reduces mismatches between requirements and implementation.
Category: Relevancy
How does a Domain Model differ from a Data Model?
Domain models focus on real-world concepts and rules; data models focus on storage structures and constraints.
Category: Misunderstanding
What is a bounded context in relation to Domain Models?
It scopes a model to a specific area and language to avoid ambiguity and coupling.
Category: Example
What are common mistakes with Domain Models?
Overcomplicating, omitting key rules, mixing implementation details, and ignoring evolving business semantics.
Category: Mistakes
How are Domain Models maintained?
Update models through continuous discovery, ADRs, and iterative refinement; synchronize with code and data schemas.
Category: Management
How do UML diagrams support Domain Models?
Class and sequence diagrams visualize entities and interactions, aiding shared understanding and validation.
Category: Example
What’s a hot topic around Domain Models?
Knowledge graphs and semantic modeling bridging domain models with machine-readable ontologies.
Category: Topic
Where to start building a Domain Model?
Identify core entities, relationships, invariants, and language with SMEs; iterate toward clarity.
Category: Requirements
How do Domain Models impact integrations?
They define contracts and canonical entities, reducing translation errors and semantic drift.
Category: Opinion