What is Domain Model ? – Definition from Trenovision

Domain Model

A Domain Model illustrates meaningful concepts in a problem domain.It is a representation of real-world things, not software components.It is a set of static structure diagrams; no operations are defined.It may show:

  • concepts
  • associations between concepts
  • attributes of concepts



How Domain Model is represented in UML ?

 

Domain Model
Domain Model in UML

 


Identification of Domain Concepts from Use Case

A central distinction between Object oriented and Procedure Oriented: division by concepts (objects) rather than division by functions.

Domain Model
Domains Concepts in PoS

Strategy to Identify Conceptual Classes

Use noun phrase identification.

  • Identify noun (and noun phrases) in textual descriptions of the problem domain, and consider them as concepts or attributes.
  • Use Cases are excellent description to draw for this analysis.



Identification of relationship among domain concepts

 

Adding Associations

Adding Associations
Adding Associations

Naming Associations

  • Name an association based on a TypeName-VerbPhrase-TypeName format.
  • Association names should start with a capital letter.
  • A verb phrase should be constructed with hyphens.
  • The default direction to read an association name is left to right, or top to bottom.
Naming Associations
Naming Associations

Multiple Associations Between Two Types

  • It is not uncommon to have multiple associations between two types.
  • In the example, not every flight is guaranteed to land at an airport.

 

Multiple Associations Between Two Types

 


Finding multiplicity among Domain Concepts

Multiplicity defines how many instances of a type A can be associated with one instance of a type B, at a particular moment in time.For example, a single instance of a Store can be associated with “many” (zero or more) Item instances.

multiplicity

Multiplicity Relationship

 

Multiplicity Relationship



Significance of Domain Model

  • Domain Model is base for Designer to draw Class Diagram.
  • Not necessary that all Domain Concepts will be carried forward.
  • More implementation classes can be added by Designed in Class Diagram