COMP201辅导、讲解python, C/C++程序设计、辅导UML留学生

- 首页 >> Python编程

COMP201: Software Engineering I

Object Oriented Design

Coursework Assignment 2 (2018/2019)

Modelling with UML

Assessment Information

Assignment number 2 of 2

Weighting 20% of module

Assignment Circulated date provided to class 15/11/2018

Deadline Day & Date & Time 15

th of December 2018 at 17:00 (5 PM)

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

to satisfy Module requirements

No

Purpose of assessment

Marking criteria

To assess the students ability to produce

an OO design in UML.

See end of document

Late Submission Penalty Standard UoL Policy

REPORT

You should submit one document containing all the tasks outlined in this document. The document

should be produced in PDF.

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. Please show your working. For this task produce a list of candidate classes and

attributes, then eliminate redundant classes. For your submission please produce a class diagram

containing all the classes, their attributes and showing all relevant associations including

inheritance and aggregation or composition.

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, travel insurance 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 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. For each flight per passenger there will be a unique reservation.

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 class of car requested, dates and the drivers’

license number of the primary client.

For the insurance booking, this will included the maximum claim level for the policy and

inclusions for dangerous sports (yes or no), high value items (yes or no), pre-existing

medical statement conditions (yes or no) as well as optional medical statement declaration.

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. Assuming 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(s), and the Caller(s) iterates (7 times) on the

message dialDigit to itself. The Caller(s) then sends the digits to the switch. 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 digits are sent to the conversation object as part of the

object creation process. The Conversation object (c) sends rings to the Caller (r), who

asynchronously sends the message liftReceiver back to the conversation object when the phone

it picked up. 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

70%+

B

60%-69%

C

50%-59%

D

40%-49%

E+

35%-39%

E- to G

< 35%

1 Well chosen classes for the

scenario and a description of

any removed superfluous

classes. Correct inheritance

used.

Mostly correct classes chosen

but without solid

justification. Inheritance

relations denoted correctly.

Inappropriate classes or

inheritance relations defined

with minor omissions and/or

poor justification of chosen

classes.

Major omissions of classes

and incorrectly

chosen/missing

inheritance relations.

Some understanding of

classes and how they

should be derived but

with a poor choice of

classes and no

justification

No evidence of

understanding the

concept of deriving

classes from a scenario.

2 Correct notation and a good

level of abstraction used

throughout

Mostly correct notation but

with minor errors and/or

minor omissions for the

modelling of the scenario

A good attempt to model the

scenario but with slightly

incorrect notation and an

inadequate level of detail.

Insufficient level of detail

but some evidence of

correct understanding of

activity diagrams.

Some evidence of

understanding activity

diagrams and an attempt

to model the scenario in

some meaningful way.

No serious attempt to

model the scenario with

an activity diagram.

3 Correct notation and a good

level of abstraction used

throughout

Mostly correct notation but

with minor errors and/or

minor omissions for the

modelling of the scenario

A good attempt to model the

scenario but with slightly

incorrect notation and an

inadequate level of detail.

Insufficient level of detail

but some evidence of

correct understanding of

class diagrams.

Some evidence of

understanding class

diagrams and an attempt

to model the scenario in

some meaningful way.

No serious attempt to

model the scenario with a

class diagram.

4 Correct notation and a good

level of abstraction used

throughout

Mostly correct notation but

with minor errors and/or

minor omissions for the

modelling of the scenario

A good attempt to model the

scenario but with slightly

incorrect notation and an

inadequate level of detail.

Insufficient level of detail

but some evidence of

correct understanding of

sequence diagrams.

Limited evidence of

understanding sequence

diagrams and their uses.

An inadequate attempt to

use sequence diagrams in

a meaningful way.


站长地图