SlideShare a Scribd company logo
1
Domain Object Model
Chapter 10
Applying UML and Patterns
Thanks-Craig Larman
University of Education Okara
2
Domain Model Relationships
Domain Model
Use Case Model
Interaction Diagrams
Glossary
Design
Requirements
Business Model
Classes, attributes, associations
Domain
objects
Elaboration on some terms
University of Education Okara
3
A Domain Model
 Definition. A visual representation of conceptual classes
or real-world objects in a problem domain.
 Identifying a rich set of objects or conceptual classes
is at the heart of object-oriented analysis.
 The UML contains notation in the form of class
diagrams to illustrate domain models.
Also called conceptual models, domain object models or
analysis object models.
Forget about USE CASE ( as it is not object oriented now)
University of Education Okara
4
Domain Model UML Notation
 Illustrated using a set of class diagrams for which no operations
are defined.
It defines how an object is associated with another
object
Then objects have specific attributes
Object
Association
Attributes
University of Education Okara
5
A Domain Model is not a Software Artifact
Sale
Date
Time
Sales Database
Sale
Date
Time
Print()
A Conceptual class: Software Artifacts:
vs.
University of Education Okara
6
Steps to create a Domain Model
 Identify Classes
 Add associations necessary to record the
relationships that must be retained
 Add attributes necessary for information to
be preserved
 Apply existing Analysis Patterns
University of Education Okara
7
A Common Mistake - Classes as Attributes
 Exclude irrelevant features
Examples:
 A Store is not an attribute of a Sale
 A Destination is not an attribute of a flight
University of Education Okara
8
Specification or Description
Conceptual Classes
 A Class that records information about an
item.
 Even if all Instances of the item are sold
out, the description remains.
 Avoids duplication of recording the
descriptive information with each instance
of the item.
University of Education Okara
9
Description of a Service
Example (Flight)
Airport
Name
vs.
Flight
Date
Time
Number
Flight
Date
Time
Flight Desc
Date
Time
Airport
Name
Flies-to
Described
-by
Describes
-flights-to
University of Education Okara
9
Description of a Service
Example (Flight)
Airport
Name
vs.
Flight
Date
Time
Number
Flight
Date
Time
Flight Desc
Date
Time
Airport
Name
Flies-to
Described
-by
Describes
-flights-to
University of Education Okara

More Related Content

Domain object model

  • 1. 1 Domain Object Model Chapter 10 Applying UML and Patterns Thanks-Craig Larman University of Education Okara
  • 2. 2 Domain Model Relationships Domain Model Use Case Model Interaction Diagrams Glossary Design Requirements Business Model Classes, attributes, associations Domain objects Elaboration on some terms University of Education Okara
  • 3. 3 A Domain Model  Definition. A visual representation of conceptual classes or real-world objects in a problem domain.  Identifying a rich set of objects or conceptual classes is at the heart of object-oriented analysis.  The UML contains notation in the form of class diagrams to illustrate domain models. Also called conceptual models, domain object models or analysis object models. Forget about USE CASE ( as it is not object oriented now) University of Education Okara
  • 4. 4 Domain Model UML Notation  Illustrated using a set of class diagrams for which no operations are defined. It defines how an object is associated with another object Then objects have specific attributes Object Association Attributes University of Education Okara
  • 5. 5 A Domain Model is not a Software Artifact Sale Date Time Sales Database Sale Date Time Print() A Conceptual class: Software Artifacts: vs. University of Education Okara
  • 6. 6 Steps to create a Domain Model  Identify Classes  Add associations necessary to record the relationships that must be retained  Add attributes necessary for information to be preserved  Apply existing Analysis Patterns University of Education Okara
  • 7. 7 A Common Mistake - Classes as Attributes  Exclude irrelevant features Examples:  A Store is not an attribute of a Sale  A Destination is not an attribute of a flight University of Education Okara
  • 8. 8 Specification or Description Conceptual Classes  A Class that records information about an item.  Even if all Instances of the item are sold out, the description remains.  Avoids duplication of recording the descriptive information with each instance of the item. University of Education Okara
  • 9. 9 Description of a Service Example (Flight) Airport Name vs. Flight Date Time Number Flight Date Time Flight Desc Date Time Airport Name Flies-to Described -by Describes -flights-to University of Education Okara
  • 10. 9 Description of a Service Example (Flight) Airport Name vs. Flight Date Time Number Flight Date Time Flight Desc Date Time Airport Name Flies-to Described -by Describes -flights-to University of Education Okara