Also found in: Acronyms, Encyclopedia.
"Domain object model" redirects here. It is not to be confused with Document Object Model.
![]()
Sample domain model for a health insurance plan
In software engineering, a domain model is a conceptual model of the domain that incorporates both behavior and data.[1][2] In ontology engineering, a domain model is a formal representation of a knowledge domain with concepts, roles, datatypes, individuals, and rules, typically grounded in a description logic.
Overview
A domain model is a system of abstractions that describes selected aspects of a sphere of knowledge, influence or activity (a domain[3]). The model can then be used to solve problems related to that domain. The domain model is a representation of meaningful real-world concepts pertinent to the domain that need to be modeled in software. The concepts include the data involved in the business and rules the business uses in relation to that data. A domain model leverages natural language of the domain.
A domain model generally uses the vocabulary of the domain, thus allowing a representation of the model to be communicated to non-technical stakeholders. It should not refer to any technical implementations such as databases or software components that are being designed.
Usage
A domain model is generally implemented as an object model within a layer that uses a lower-level layer for persistence and "publishes" an API to a higher-level layer to gain access to the data and behavior of the model.
In the Unified Modeling Language (UML), a class diagram is used to represent the domain model.
See also
- Domain-driven design (DDD)
- Domain layer
- Feature-driven development
- Logical data model
- OntoUML
- Problem domain
Notes
- ^ Fowler, Martin. Patterns of Enterprise Application Architecture. Addison Wesley, 2003, p. 116.
- ^ Fowler, Martin. "P of EAA - Domain Model"
- ^ Evans, Eric Domain-Driven Design: Definitions and Pattern Summaries. Domain Language Inc., 2006, p. 3.
External links
This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.