Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
COMP201: Software Engineering I
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
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.