A domain model, or Domain Object Model (DOM) in problem solving and software engineering can be thought of as a conceptual model of a domain of interest ( referred to as a problem domain) which describes the various entities, their attributes and relationships, plus the constraints that govern the integrity of the model elements comprising that problem domain.
domain model is created in order to represent the vocabulary and key concepts
of the problem domain. The domain model also identifies the relationships among
all the entities within the scope of the problem domain, and commonly
identifies their attributes. A domain model that encapsulates methods within
the entities is more properly associated with object oriented models. The
domain model provides a structural view of the domain that can be complemented
by other dynamic views, such as Use Case models.
important benefit of a domain model is that it describes and constrains the
scope of the problem domain. The domain model can be effectively used to verify
and validate the understanding of the problem domain among various
stakeholders. It is especially helpful as a communication tool and a focusing
point both amongst the different members of the business team as well as
between the technical and business teams.
well-thought domain model serves as a clear depiction of the conceptual fabric
of the problem domain and therefore is invaluable to ensure all stakeholders
are aligned in the scope and meaning of the concepts indigenous to the problem
domain. A high fidelity domain model can also serve as an essential input to
solution implementation within a software development cycle since the model
elements comprising the problem domain can serve as key inputs to code
construction, whether that construction is achieved manually or through
automated code generation approaches. It is important, however, not to
compromise the richness and clarity of the business meaning depicted in the
domain model by expressing it directly in a form influenced by design or
domain model is one of the central artifacts in the project development
approach called Feature Driven Development (FDD).
UML, a class diagram is used to represent the domain model. In Domain-driven
design, the domain model (Entities and Value objects) is a part of the Domain
layer which often also includes other concepts such as Services.
domain model for a health insurance