COMP201: Software Engineering I
Assignment 1.1 (2018/2019)
(100% mark for Assignment 1.1 is 10% of COMP201 grade)
Deadline for Assignment 1: 25th of October 2018, 15: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.
(In coursework assignment 2 you will use this requirement to implement a simulated version of your drinks machine).
1 of 6
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 (80%)
(20% for use-case diagram, 60% 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 (i.e., BOTH a use-case diagram and use-case descriptions) and identify as many actors as you can in your model that are within the scope of the system, but for this coursework ONLY include human actors.
For the use-case diagram part of the model, you may use any method to draw it, including a hand-drawn diagram or ArgoUML software (available on the departmental computers (Click start and then type Argouml into the search box) or for free download via the internet) for example. The demonstrators will be able to help you with using this program. There is also app.genmymodel.com this is easy, free and online (for public projects), so very good if you are not in the lab.
For the model diagram if you find it difficult keeping it looking good on 1 diagram, feel free to split it into multiple diagrams. This is encouraged if it has become difficult to read. Keep all text easy to read and all fonts at least 14pt.
Please use the following template for your use case descriptions:
2 of 6
Task 2 (20%):
Identify five non-functional requirements of the “Proposed drinks machine control system” below, using the description of the scenario (you can make some assumptions about the system not detailed in the requirement description).
For the requirements propose a mechanism and appropriate criteria for making them verifiable. So all the requirements you list need to have a technique to objectively test them.
3 of 6
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, cappuccino and soup.
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 plastic 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
The system has the following sensors, 1 cup out of stock sensor, 16 drink ingredients out of stock sensors, cash box full sensor, water temperature sensor, door open sensor.
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 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/2015 to 4/5/2015. 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.
4 of 6
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.
5 of 6