Assignment2 Comp201 2017

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

COMP201: Software Engineering I

Object Oriented Design


Coursework Assignment 2 (2017/2018)
Modelling with UML

Assessment Information

Assignment number 2 of 2
Weighting 10%
Assignment Circulated date provided to class 30/09/2017

Deadline Day & Date & Time 27th of November 2017 at 17:00 (5PM)
Submission Mode Electronic
Learning outcome assessed be fully aware of the principles and
practice of an O-O approach to the
design and development of
computer systems;
be able to apply these principles in
practice.
Submission necessary in order No
to satisfy Module requirements
Purpose of assessment To assess the students’ ability to
produce an OO design in UML.

Marking criteria See end of document


Late Submission Penalty Standard UoL Policy

REPORT
You should hand in a set of diagrams. You can use any software or a neat hand drawn diagram for
the tasks, Microsoft Powerpoint or OpenOffice Draw could be used for example (or ArgoUML
may be useful for Tasks 2 and 3), ask the demonstrators at your practical slots for help. Your
solution should comprise the following:

Title page: put your name, your student number and the course on the first page. For each task,
you should give a copy of the question, your solution and any comments on your solution.
TASK 1. (25%) Given the following informal specification, identify good candidates for classes
and attributes, and identify things that are outside of the problem domain. Also identify all
potential inheritance relationships. You should ensure that data is NOT duplicated across classes
even if a user places multiple bookings. Use the noun identification method of class elicitation for
the first pass.
Your customer is a travel agency that wants a reservation system that will run on the
Internet. This reservation system will allow clients to keep track of all their travel
reservations for airlines, hotel, car rental and travel insurance. The client must enter the
names of all his/her traveling companions, but all reservations will be under the name of
the primary client. The system needs to make it easy for a client to have multiple
reservations. All reservations will include a booking number as well as their names,
passport numbers and dates of birth of all the travelers involved in the reservation. The
system should also have an address for the primary client. Airline reservations will include
the airline, flight number, class of seat and travel dates and times as well as food
requirements. Hotel reservations will include the type (twin, single, double) and of rooms
and the dates staying. and name and address of the hotel. Car rental reservations will
include the type of car requested, dates and the drivers’ license number of the primary
client as well as the hiring condition of the car. For the insurance reservation it will
include a list of all travelers to be insured as well as the limit for the insurance payout.

TASK 2. (25%) You are required to draw a UML activity diagram to represent the following
scenario of a hairdresser’s salon.
Customers enter the salon and wait until the next hairdresser is free. They then indicate
whether they would like their hair washed first or a “dry-cut” without having their hair
washed. The hairdresser washes the hair (if asked for) and then cuts it. After finishing the
customer’s hair the hairdresser moves onto the next waiting customer, or waits for another
one to enter the salon. The customer goes to the till and waits for a cashier to be free to take
their payment. They can pay by either cash or by credit card (where they need to type their
pin into the machine) and they then leave the salon.
TASK 3. (25%) Read the following passage carefully.
An employee has a name, address, phone number, date of birth and job title. Employees can be
appointed and can leave, and are either monthly paid employees or weekly paid employees.
Monthly paid employees have a bank sort code, bank account number and number of holidays while
weekly paid employees are paid in cash on a specified day of the week - their payday. Weekly paid
employees may apply to be promoted to a monthly paid employee. Monthly paid employees can take
a holiday if they have sufficient number of holidays remaining.
All employees are entitled to use the Sports Centre if they register to do so. The Sports Centre is
made up of two gyms (with a maximum capacity), three tennis courts and a bar.
The bar can be booked for special events, and has three rates of hire - a working hours' rate, an
evening rate and a weekend rate. The Sports Centre holds a list of employees who have registered.
An employee's age can be calculated from their date of birth, in order to prevent under-age
drinking at the bar.

You are required to draw a UML class diagram for the above system. All the key words you need
to include are underlined – do not invent any details additional to those given above:

1. Illustrate the various classes that exist, with their attributes and operations (including any
derived ones, represented in the usual way)
2. Mark on the relationships that exist between the classes using the standard UML symbols to
represent the type of each relationship
3. Add multiplicities
4. for any relationships of association:
a. mark on the navigability
b. appropriately name the two roles

TASK4. (25%) Draw a UML sequence diagram that specifies the following protocol of initiating
a two-party phone call. NOTE: ArgoUML does not fully support Sequence Diagrams, it may be
better to use a different program (such as OpenOffice Draw/ Microsoft Powerpoint) or (neatly)
draw the diagram by hand. Let us assume that there are four objects involved:
• two Callers (s and r),
• an unnamed telephone Switch, and
• Conversation (c) between the two parties.

The sequence begins with one Caller (s) sending a message (liftReceiver) to the Switch object.
In turn, the Switch calls setDialTone on the Caller, and the Caller iterates (7 times) on the
message dialDigit to itself. The Switch object then calls itself with the message routeCall. It
then creates a Conversation object (c), to which it delegates the rest of the work. The
Conversation object (c) rings the Caller (r), who asynchronously sends the message
liftReceiver. The Conversation object then tells both Caller objects to connect, after which they
talk. Once Caller (r) sends a disconnect message to Conversation then Conversation tells both
Caller objects to disconnect and also it tells the Switch to disconnect. After that Switch deletes
the object Conversation.

All the key words you need to include are underlined – do not invent any details additional to those
given above.
Marking Criteria

Task A++ to A B C D E+ E- to G
70%+ 60%-69% 50%-59% 40%-49% 35%-39% < 35%

1 Well chosen classes for the Mostly correct classes chosen Inappropriate classes or Major omissions of classes Some understanding of No evidence of
scenario and a description of but without solid inheritance relations defined and incorrectly classes and how they understanding the
any removed superfluous justification. Inheritance with minor omissions and/or chosen/missing should be derived but concept of deriving
classes. Correct inheritance relations denoted correctly. poor justification of chosen inheritance relations. with a poor choice of classes from a scenario.
used. classes. classes and no
justification
2 Correct notation and a good Mostly correct notation but A good attempt to model the Insufficient level of detail Some evidence of No serious attempt to
level of abstraction used with minor errors and/or scenario but with slightly but some evidence of understanding activity model the scenario with
throughout minor omissions for the incorrect notation and an correct understanding of diagrams and an attempt an activity diagram.
modelling of the scenario inadequate level of detail. activity diagrams. to model the scenario in
some meaningful way.

3 Correct notation and a good Mostly correct notation but A good attempt to model the Insufficient level of detail Some evidence of No serious attempt to
level of abstraction used with minor errors and/or scenario but with slightly but some evidence of understanding class model the scenario with a
throughout minor omissions for the incorrect notation and an correct understanding of diagrams and an attempt class diagram.
modelling of the scenario inadequate level of detail. class diagrams. to model the scenario in
some meaningful way.

4 Correct notation and a good Mostly correct notation but A good attempt to model the Insufficient level of detail Limited evidence of An inadequate attempt to
level of abstraction used with minor errors and/or scenario but with slightly but some evidence of understanding sequence use sequence diagrams in
throughout minor omissions for the incorrect notation and an correct understanding of diagrams and their uses. a meaningful way.
modelling of the scenario inadequate level of detail. sequence diagrams.

You might also like