Table of Contents
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 ?
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.
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
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.
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.
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 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