Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit




COMP201: Software Engineering I

Object Oriented Design

Coursework Assignment 2 (2021/2022)

Modelling with UML



TASK  1.  (25%)  For  this  task  fullnshow  all  your  working.  Given  the  following  informal specification, identify good candidates for classes and attributes, and identify things that are outside ofthe 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 and rental cars.   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 easyfor 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 addressfor the primary client.  Airline reservations will include the airline, flight number, class of seat and travel dates and times. 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, at the

time the booking was made.

As part ofyour answer include;

Descriptions of each class.

A class diagram showing clearly all classes and their relationships.

 

 

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 waitsfor 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 or use contactless payment), they are given a receipt 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 andjob 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 - theirpayday. 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 bookedfor 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 calculatedfrom 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. Once the digits are dialled, afinished dialing message is sent to the switch object containing the dialled digits. 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.