Domain model

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Sample domain model for a health insurance plan

A domain model, or Domain Object Model (DOM) in problem solving and software engineering can be thought of as a conceptual model of a system which describes the various entities involved in that system and their relationships.


[edit] Overview

The domain model is created in order to document the key concepts, and the domain-vocabulary of the system being modeled. The model identifies the relationships among all major entities within the system, and usually identifies their important methods and attributes. The domain model provides a structural view of the system that can be complemented by other dynamic views in Use Case models.

An important benefit of a domain model is that it describes and constrains the system scope. The domain model can be effectively used to verify and validate the understanding of the problem domain among various stakeholders of the project group. It is especially helpful as a communication tool and a focusing point between technical and business teams.

[edit] Usage

The domain model can be used at the construction phase of the software development cycle since the semantics shown therein can be used in the source code. Entities can become classes, while methods and attributes can be carried directly to the source code; the same names typically appear in the source code. The process of generating code from the model in this scenario is called forward engineering.

The domain model is one of the central artifacts in the project development approach called Feature Driven Development (FDD).

In 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 also includes other concepts such as Services.

[edit] See also

[edit] References

[edit] External links

Personal tools