讲解COMP201、辅导Java/Python编程设计、辅导Software Engineering、讲解Python

- 首页 >> Java编程

COMP201: Software Engineering I

Assignment 1.2 (2018/2019)

(100% mark for Assignment 1.2 is 10% of COMP201 grade)

Deadline for Assignment 1.2: 20th of November 2018, 15:00

OBJECTIVE

This assignment is mainly about “design/implementation”.

You should be designing and implementing a simulation of a drinks machine.

This simulation will follow the requirements that have been defined in

coursework 1 and follow the use cases that you defined. This simulation will not

be a full implementation of the original requirement but a cut down basic

version with no engineering mode or remote access. All the UI code is provided

for you, so there is no GUI programming required. You are strongly encouraged

to start this work as soon as possible.

The purpose of this exercise is to understand the challenges of implementing a

design from requirements and the state modelling required. This code will be

implemented using a simulated version of the hardware, it would then be

possible later to implement a real drinks machine be replacing the simulation

code with software drivers connected to real hardware.

Assignment number 1 of 2 (part 2)

Weighting 10%

Assignment Circulated date provided to class 24/9/2018

Deadline Day & Date & Time 20th of November 2018 at 15:00 (3PM)

Submission Mode Electronic submission

Learning outcome assessed 1. Realise the problems in

designing and building

significant computer systems

2. Understand the need to design

systems that fully meet the

requirements of the intended

users

3. Be able to apply these principles

in practice

4. Be able to demonstrate how to

effectively implement an O-O

design in an O-O language such

as Java or Python.

Submission necessary in order

to satisfy Module requirements

No

Purpose of assessment

Marking criteria

To assess the students ability to analyse,

generate and document user

requirements

See end of document

Late Submission Penalty Standard UoL Policy

2 of 4

Description of problem

Produce a drinks machine simulation in Java using the existing drinks machine

simulation code as a base. (This has been made available to you as an Eclipse

project). Also produce state machine charts for coin handling and hot water handling

components.

NOTE You only need to fulfil the requirements of this coursework not the whole

of the requirement detailed in coursework 1.

The drinks machine needs to do the following:

Coin handling 20%

Accept coin codes and credit the user with the correct credit. If the user presses

reject, return the users remaining credit. On return of credit the machine should return

the change using the least number of coins possible, for example £1.50 can be

returned as a pound coin plus one fifty pence coin. However, if there are no one

pound coins in the machine, this may not be possible. Your code will have to handle

this logic.

Hot water handling 20%

The machine must control the temperature of the hot water in such a way that it is

ready to start making a drink within 4 seconds minimum but switch of the heater as

often as possible (to save electricity). You will have to switch the hot water heater on

and off depending on the temperature of the water in the heater. If you cannot control

the water heater (for example if it increases in heat when you have switched it off),

you need to shutdown the machine and display an error message.

SAFETY The machine should not leave the hot water at boiling point 100 C for any

length of time, as this is not safe. If the water reaches boiling point the machine

should be shutdown.

3 of 4

Drink making 40%

The machine will only make a drink if the correct credit is available and the levels for

the relevant drink ingredients are available. The details of the drinks are shown in

table 1. If there is not enough credit or there is not enough ingredients the machine

should show an appropriate message. When the drink is being made the credit should

be reduced by an appropriate amount. If it is impossible to make any of the drinks on

the list the machine should not allow coins to be entered and display an error message.

Drink Code Cost Recipe

Black coffee 101 1.20 Coffee

powder, 2g.

Hot water

95.9 C

Black coffee

With sugar

102 1.30 Coffee

powder, 2g.

Sugar 5g

Hot water

95.9 C

White coffee 201 1.20 Coffee power,

2g,

Milk powder

3g

Hot water

95.9 C

White coffee

with sugar

202 1.30 Coffee power,

2g,

Milk powder

3g

Sugar 5g

Hot water

95.9 C

Hot chocolate 300 1.10 Chocolate

powder 28g

Hot water 90

C

Recipes

4 of 4

Cup sizes

The drinks defined in the list are the small cup sizes, the cups available are

small 0.34L , medium 0.45 and large 0.56.

To order a medium cup the user should prefix the code with a 5, for example for

medium white coffee the code is 5201, to order a large cup the prefix is 6, so for large

white coffee the code is 6201.

The cost of a medium cup is 20 pence more than the small cup drink.

To cost of a large cup is 25 pence more than the small cup drink.

You need to also scale up the amount of coffee, milk, sugar and chocolate to make the

larger drinks.

Drink delivery temperature

The actual temperature of the drink delivered should be 80C (+ or -) 4%.

This is to make sure the drink is safe enough to drink but still enjoyable.

The temperatures in table 1 in the recipes section refers to the initial temperature of

the water used at the beginning of making the drink, at least 20% of the water should

be delivered at this temperature or within 5%.

State charts 20% (see Lecture 7)

You should provide 2 state charts (10% per state chart) for the hot water control

component and the coin handling component. These charts should NOT have an end

state, should have no deadlocks (states with no exit criteria) and follow the notation

laid out in lecture 7.

5 of 4

Marking Criteria

Part A++ to A

70%+

B

60-69%

C

50-59

D

40-49

E+

35-39

E- to G <35

1 All functional

tests passed,

and code

shows

excellent

design

qualitied such

as high

coherence,

encapsulation

on and weak

coupling

Nearly all

functional

tests passed

and good

design

structure.

Most functional

tests passed but

design elements

shows some

major flaws.

Some critical

functional

elements

missing

A working

submission in

which but

which doesn’t

pass any of the

functional tests

A partly working

submission.


站长地图