Skip to main content
Presenters:
Iqra Azam(10-arid-300)
Ayesha Saeed(10-arid-282)
BSIT(7-A)
Define Domain Model
 How to develop Domain Model
 Features of Domain Model
 Example of Domain Model
 Reference



Structural model of basic domain concepts and their
relationships



It may show:
 domain objects or conceptual classes
 associations between conceptual classes
 attributes
Also called conceptual models, domain object
models, and analysis object models.


Identify conceptual classes



Draw them as in a UML domain model



Add associations necessary to record relationship



Add the attributes necessary to fulfill the information
requirements
Domain classes
 Attributes
 Associations
 Multiplicity
 Aggregation
 Composition
 Generalization
 Roles

Each domain class denotes a type of object
 Consider a use case description



Attributes refer to properties that define the class.
For Example
A class Client will have attributes name, id and address.

Sale
date
startTim e : Tim e

attrib utes




public level
protected level
private level

+
#
-

Circle
- centreX:Int
+ centreY:Int=0

9
A link between two classes
 A Person works for a Company.


Association

Company

Person
works for
Association Name

10
Derived association
 Qualified Association
 Association classes

Derived association exist automatically once we have
implement the main association
 / in front of its name
 Black triangle indicate direction


Company

Person
/ works for


Contain index , array
1

9

Board

Board

Square

1
Row:{1,2,3}
Col:{1,2,3 }

1

Square


Describes how many instances of one concept can be
associated with one instance of the related concept.
A Student can take up to five Courses.
 Student has to be enrolled in at least one course.
 Up to 300 students can enroll in a course.
 A class should have at least 10 students.


Student
10..300

takes

Course
1..5

16
“Has a”
 A special form of association that models a whole-part
relationship
 Weak association


Part

Whole

Schedule

Student
Aggregation
“Own a”
 A strong form of aggregation where components cannot
exist without the aggregate.
 The parts cannot survive the whole/aggregate


Part

Whole

Schedule

Student
Composition
Button

CancelButton

Zone Button

The children classes inherit the attributes of the parent
class.
 Eliminating redundancy.
 Generalize/specialize



Each end of an association is called a role.



Roles may have:
Name
multiplicity expression
Navigability




Show who is dominant
 Put an arrow on one end of association


Is taking

Student
1..*

Module
6
We first analyze the stated domain model requirements and then
present the domain model.
 The system must be able to keep track of which movie videos have
been bought/rented and by whom.
classes & associations: customer Buys movie video;
customer Rents movie video
 For videos bought, the system must record the quantity bought; for
videos rented, the system must record which copy of the video has
been rented and when it is due back.
classes & associations: customer Rents movie video;
–> movie video Has rental copy;
customer Rents rental copy;
Attributes : Buys –> quantity;
Rentalcopy -> copyNumber, dateDue
 The system must keep track of overdue rental videos and allow notices
to be sent to customers who have videos overdue.
functional requirement: no new domain model requirements in this
statement
 The video shop will have a customer membership option for an annual
fee, which will entitle the member to discounts (10%) on video sales
and rentals.
generalization: Member is a kind of Customer
Member Specializes Customer


Members should be able to make reservations for movie video
rentals either in person at the store, by telephone or via the Web.
◦ classes & associations: Member Reserves Rentalcopy



A member can reserve at most five movie videos at any one time, but
there is no limit on how many movie videos a member or nonmember
can rent at any one time.
◦ constraint: max-card(rental copy, Reserves) = 5
◦ max-card(rental copy, Rents) = *
 As an added feature, the video shop would like to allow customers
(either members or nonmembers) to input, via the Web, mini-reviews
(up to 100 words) and a rating (from 1, lowest, to 5, highest) of
movies they have rented.
classes & associations: Customer Provides review IsFor Movie Video
–> Customer Provides Review;
MovieVideo Has Review
attributes: Review –> review text, rating


These reviews should be anonymous if the customer so wishes (i.e.,
the customer can specify whether or not he wants his name to be
made known when other customers browse the reviews).
Attributes: Review –> anonymous



The video shop maintains the following information about all
customers (members or nonmembers): name, address, phone
number, fax number, age, sex, and email address
◦ Attributes : Customer–> name, address,
◦ phoneNumber, faxNumber, age, gender, email;


In addition, members are assigned a membership number by the
video shop when they become members and a password, which
allows them to access the member's only area of the video
shop's web site, including accessing and changing their personal
information.
attributes:
Member –>memberNumber, password

 An employee must be able to enter the basic information about a
movie video (i.e., title, leading actor(s), director, producer, genre,
synopsis, release year, running time, selling price, and rental
price).
attributes: MovieVideo –> title, leadingActor[0..*], director,
producer, genre, synopsis, releaseYear, runningTime,
sellingPrice, rentalPrice
*

Has

1

MovieVideo

0..*

RentalCopy

1

*

HasReview

0..5

Rents
Reserves

*

Review

*

Provides

1
1

Customer
*

Buys
quantity

Member

0..1
MovieVideo

*

title
leadingActor [0..*]
director
producer
genre
synopsis
releaseYear
runningTime
sellingPrice
rentalPrice

RentalCopy
1

Has

0..*

copyNumber
dateDue

0..5

*

Rents

1
1

HasReview

Customer

*

name
address
phoneNumber
faxNumber
age
gender
email

Review
reviewText
rating
anonymous

*

Provides

1

Reserves

*

Buys
quantity

Member
memberNumber
password

0..1
 http://users.encs.concordia.ca/~gregb/home/PPT/0035-

domain-modeling1.ppt
 http://cse.spsu.edu/sduggins/classes/Spring
%202013/SWE%204743/Documents/Chapter%209.ppt
 http://teacher.buet.ac.bd/shahin/INFORMATION
%20SYSTEM%20ANALYSIS%20AND
%20DESIGN/Larman%20Chapter%2010.ppt
 http://www.comptechdoc.org/independent/uml/begin/um
ldomainmodel.html
Domain model
Domain model