You are on page 1of 10

OBJECT

ORIENTED
ANALYSIS &
DESIGN

Lecture 05
Domain Model
Visualizing Concepts

■ Identify conceptual classes


■ Create an initial domain model
■ Distinguish between correct and incorrect attributes
■ Add specification conceptual classes
■ Compare and construct conceptual and implementation view
Domain Model
(identification help)
Part of speech Model Component Example
Proper noun Instance Anzar
Common noun Class Field officer
Doing verb Operation Creates, submits selects
Being verb Inheritance Is a kind, in one of either
Having verb Aggregation Has, consists of, includes
Model verb Constraints Must be
Adjectives Attributes Incident description
Introduction

■ A domain model illustrates meaningful conceptual classes in a


problem domain.
■ It is the most important artifact to create during OOA
■ It help the modelers, analysts, architects, and programmers in
understanding and visualization of solution
The idea of a Domain Model

■ Domain Model illustrates real world entities


■ Domain Model DOES NOT model software components
■ What is not included in a Domain Model
– Software artifacts
■ Windows, databases,
– Unless the domain being modeled is of software
concepts such as a model of graphical user interface
■ Responsibilities or methods
Domain Model

“ A Domain Model is a presentation of real-world conceptual


classes, NOT of SOFTWARE COMPONENTS. It is not a set of
diagrams describing software classes or software objects with
responsibilities.”
A domain model is a virtual representation of conceptual classes or
objects. (the things we are aware of)
How to Create Domain Model

■ It is a class diagram
– showing conceptual classes or domain objects
– Association between conceptual classes
– Attributes of conceptual classes
■ What it does not show is
– Methods of classes
– Attribute types with reference to software
Domain Model (an example)
SalesLineItem Item

quantity

Sale Store

date Address
time name

Payment register

amount
Domain Model (an example)
Domain Model
SalesLineItem Item
Records-sale-of
quantity
Stocked in

Sale Store
Contained in
date Address
time name
Captured on
Paid by

Payment register
Houses
amount
Domain Model (an example)
Domain Model
SalesLineItem Item
Records-sale-of
0 ..1 1 *
quantity
Stocked in
1 ..* 1
1
Sale Store
Contained in 1
date Address
time name
Captured on
Paid by 1 1
1
Payment register
1 ..* Houses
1
amount

You might also like