Object Oriented Analysis & Design
Lab # 4
The objectives of lab 4 are to:
Understand the Domain Model
Understand and implement UML notations for Domain Model
Domain Model:
• Illustrates meaningful conceptual classes in a problem domain.
• A domain model contains
• conceptual classes
• associations necessary to record the relationships that must be retained
• attributes necessary for information to be preserved
• The relationship between classes are defined using association and roles.
.
Sample Scenario:
In Sukkur IBA University the professors teach seminars in which students can enroll. A professors has a name,
address, phone number, email address, and salary. A student has also a name, etc., but no salary (sorry). A
student, however, has an average mark (of the final marks of his or her seminars). A seminar has a name and a
number. When a student is enrolled in a seminar, the marks for this enrollment are recorded and the current
average as well as the final mark (if there is one) can be obtained from the enrollment. From a student one can
obtain a list of seminars he or she is enrolled in. Professors teach seminars. Each seminar has at least one and
at most three professors. There are two types of seminar: bachelor and master. From a bachelor seminar
students can not withdraw. From a master seminar they can.
Exercise
Task 1: Create a Damion model for a web based public library. A public library typically stores a
collection of books, movies, or other library items available to be borrowed by people living in a
community. Each library member typically has a library account and a library card with the account’s
ID number, which she can use to identify herself to the library. A member’s library account records
which items the member has borrowed and the due date for each borrowed item. Each type of item
has a default rental period, which determines the item’s due date when the item is borrowed. If a
member returns an item after the item’s due date, the member owes a late fee specific for that item,
an amount of money recorded in the member’s library account.
Task 2: Create a domain model (using class diagram notation) based on the following description.
You have been asked to build a management system for a group of archeologists. The group is
comprised of multiple teams of researchers. Each team has a letter ID (e.g., team A, team B). Each
researcher belongs to one of the teams, and has an ID number, a first name, and a last name. There
are two types of researchers: field and lab staff. Each field staff member has a favorite region (string).
Each lab researcher supports up to 2 field researchers. Some researchers may not be supported by a
lab researcher. The company also manages an inventory of equipment. Researchers of any type may
check out up to 3 pieces of equipment. Each piece of equipment has a serial number and replacement
cost.
Task 3: Imagine that you are tasked with developing a system for a pizza shop. Given the following
description, create a Domain Model (in the form of a UML class diagram). Include all conceptual
classes, attributes, associations, and generalization relationships mentioned in the descriptions. Label
all associations and include all multiplicities.
A customer places orders. A customer has a name and phone number. There are two types of orders:
pick-up and delivery. A pick-up order has a pick-up time. A delivery order has an address and deliver-
by time. All orders consist of a set of items. There are two types of items: pizzas and drinks. All items
have a price. A pizza has a size and a crust type. A pizza also has a number of toppings. A topping has
a topping type and a price. Some pizzas are special pizzas that have a name (e.g., “Hawaiian” or “Meat
Lovers”). A drink has a brand and a flavor.