程序代写案例-COMP201-Assignment 1
时间:2021-11-10
1 of 5

COMP201: Software Engineering I

Assignment 1.1 (2021/2022)
(100% mark for Assignment 1.1 is 15% of COMP201 grade)

Deadline for Assignment 1.1: 11th of November 2021, 23:00


OBJECTIVE

This assignment is mainly about “Requirements engineering” and will consist of
various stages to produce parts of a requirements document for a given scenario
based on a “proposed drinks vending machine” detailed on page 2.


Assignment number 1 of 2
Weighting 15%
Assignment Circulated date provided to class

27/09/2021
Deadline Day & Date & Time 11th of November 2021 at 23:00 (11
PM)
Submission Mode Electronic submission on Canvas
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
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 5

The task refers to the scenario outlined on page 4 (you should read the scenario first
carefully). You may make some reasonable assumptions about how the system should
work (without inventing new functionality). Also note that there is no “right answer”
to modelling a system, different solutions can be equally good!

It may be helpful to refer to the course textbooks “Software Engineering”, Addison-
Wesley, by I. Sommerville and “Using UML”, Addison-Wesley, by P. Stevens.

Task 1 (74%)
(74% for use-case descriptions)

All tasks for this assignment refer to the given scenario “Proposed Drink machine
system” (overleaf on page 2).

Produce a UML use-case model use-case description that are within the scope of the
system, but for this coursework ONLY include human actors.

There are THREE actors.

Keep all text easy to read and all fonts at least 14pt.

For the use cases please provide ONLY a maximum of 5 use cases per actor. If you
provide more, the marker will only mark the first 5.

Please use the following template for your use case descriptions:

ID Id if use case, example
UC1
Actors List of relevant Actors
Name Short name for use case
Description Description of purpose of
use case
Pre-conditions What must be true to
allow use case to happen
Event flow Line by line detailed events
for the use case
Post-condition Any changes to the systems
internal state due to use
case executing
Includes Any use cases which make
up this use case
Extensions Any optional use cases that
are part of initial case
Triggers What might trigger use
case


Task 2 (20%):
Identify and list 10 non-functional requirements of the “Proposed drinks machine
3 of 5

control system” below, using the description of the scenario (you can make some
assumptions about the system not detailed in the requirement description).

Each requirement must have an appropriate criteria for making it verifiable. So all the
requirements in your list it needs to be possible to objectively test them.

Task 3 (6%) Provide a set of drink codes for the machine
Each different drink code should give a different drink.
Follow the requirement given in the last paragraph of the description, i.e. that each
code should be two characters different from over other drink code.
Keep the drink codes as short as possible, therefore 4 character drink codes are better
than 3 character drink codes.
Example of drink code table (this is not an optimal solution, do copy it) in fact it is
incorrect as its hamming distance is only 1.
COFFAA = Black coffee no sugar
COFFAB = Black coffee with sugar
COFFBB = Coffee with milk and sugar
You only have to include the drinks given in the description.

4 of 5


Proposed drinks machine control system

Your company has been commissioned to design a drinks vending machine which will be
able to produce a range of hot beverages, for example:

Hot chocolate, standard coffee, flat white, tea and soup. For tea and coffee the user can
pick with milk and/or sugar.

All of these drinks are made by heating up water, then mixing it up in a mixing vessel, the
mixture is then dispensed into a disposable cup, the user also has an option to use their own
cup. After each drink is dispensed the mixing vessel is cleaned out by running hot water
through it for a short amount of time.

To do all this, the machine needs to be able to:
Accept and validate coins and calculate the current value of the coins inserted
Accept instructions to choose a particular drink recipe
Heat up the water to the correct temperature then mix the drinks
Dispenses and fill the disposable cups for the drinks
Return change if the customer has entered an amount greater than price of drink. For
example, customer has ordered coffee, cost of drink is 1.60, and the customer has inserted
2 x 1 pound coins, the machine should return the 40p, when the return change (cancel)
button is pressed. If the customer wishes to cancel the transaction, all the current balance
should be returned to the customer if possible.


The machine has a keypad on the front with a keypad as shown in Figure 1, this is used to
make the drink selection and to control the engineer’s tests. The machine also has an
alphanumeric LED display.


Figure 1 Keypad and alpha display

The drinks machine is fitted with a GPRS/3G/4G/5G modem card which allows it connect
to the internet and be controlled by a service operator. The service operator can find out the
current stock and cash levels in the machine as well as be informed via an alert if the
machine’s stock levels are low or the cash box is full. The operator can also make requests
to download accounts information from the machine for a particular accounting period, for
example 4/4/2021 to 4/5/2021. Operator access to the machine is protected using a user
name and password stored within the machine. There is also a master password available
which can be used create new accounts in case the machines memory has been wiped due
to hardware failure. Also the recipes for the drinks can be downloaded to the machine
online.



5 of 5





















Marking Criteria

Part A++ to A
70%+
B
60-69%
C
50-59
D
40-49
E+
35-39
E- to G <35
1 Correct
notation used
throughout,
well chosen
set of use
cases and all
case
descriptions
present.
Good set of
use cases but
some
descriptions
missing or
minor case
missing or
some minor
notation
problems
Poor set of use
cases or
significant
problems with
notation.
Level of detail
not sufficient
for problem
Some critical
use cases
missing or use
case
descriptions
missing.
Shows some
correct
requirements
analysis of the
problem.
No clear evidence that the
requirements have been
understood at all or no
clear attempt at use case
diagram or descriptions.
2 All non
function
elements
identified and
verification
explained.
Good
answers but
confusion
between
functional
and non-
functional
requirements.
Missing one or
two non-
functional
requirements.
Missing up to
three
requirement
descriptions.
Only 2 or 3
correct
requirement
present or
incorrectly
defined.
Requirements don’t make
sense.

When the machine requires service (such as needing more coffee or the cash to be
collected or has run out of cups), a service engineer visits the machine. The back of the
machine is opened, this puts the machine into service mode, the engineer will then
collect the cash and does a series of tests by using the keypad. Each engineer has a
unique passcode which they need to type into the key pad after opening the service door.
If they don’t do this within a short time interval the machine goes into alarm mode and
sends an alert to the service operator.
When the cash is collected, the engineering must record the amount they collect into the
keypad, this data is stored in the machine and can be retrieved by the service operator.

Given that the engineer and customer both have to use keypad, for your solution please
devise a coding for at least the drink codes. For this part of the solution, try to make it so
the customers only need to press the minimal number of key presses possible to get
their drink and also make it impossible to get the wrong drink if they only get 1 key
press incorrect (i.e. 1 key press wrong should give an invalid key press sequence).
This type of code could be said to have a hamming distance of 2 key presses.







































































































































































































































































































学霸联盟


essay、essay代写