代写COMP201: Software Engineering I Assignment 1 (2025/2026)代做留学生SQL语言

- 首页 >> Algorithm 算法

COMP201: Software Engineering I

Assignment 1 (2025/2026)

(100% mark for Assignment 1 is 20% of COMP201 grade)

Deadline for Assignment 1: 6th of November 2025, 17: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 drink machine system detailed on page 2.

Assignment number

1 of 2

Weighting

20%

Assignment Circulated date provided to class

22/9/2025

Deadline Day & Date & Time

6hh of November 2025 at 17:00 (5 PM)

Submission Mode

Electronic submission on Canvas (pdf)

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

 

 

Instructions

•    All tasks refer to the scenario outlined on page 4 so, before you begin, read the scenario carefully.

•    You may make some reasonable assumptions about how the system should work (without inventing new functionality).

•    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 (60%)

(20% for use-case diagram, 40% for use-case descriptions)

For this assignment limit your submission to 15 use-cases, and make sure each use-case provides value.

For example, “use the keypad” would not be a good use-case, “accept and validate coin” would be a good use-case.

The markers for this assignment will award marks to the first 15 use-cases.

Also you are expected to have use cases for all 3 domains of operation, customer, operator and engineer. You do NOT need to use a lot of includes or extension use cases to get good marks.

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) include use-case descriptions that are within the scope of the system, but for this coursework ONLY include human actors. There are THREE actors to identify. Your uses cases are modelling interactions with the human users of the system.

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 download free via the internet). The demonstrators will be able to help you with using this program.  There is also online.visual-paradigm.com which is easy to use and free online (for public projects), so it is convenient if you are not in the lab.

For the model diagram, if you find that using one diagram is not sufficient or becomes overly complex, feel free to produce multiple diagrams. This is encouraged if the diagram 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:

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 verifiable requirements of the “proposed drink machine 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 criterion so it can be verified. So, it needs to be possible to objectively test each requirement in your list, you do NOT need to describe the test.

Task 3 (20%)

Devise a coding scheme for the keypad based on the information on page 8 of this document. To gain maximum marks the coding scheme, should be complete, minimal and provide the correct hamming distance.

Proposed drinks machine

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, cappuccino, tea and soup. For tea and standard coffee only 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

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/4G/5G WiFi card which allows it to be connected 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 username 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.

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 keypad 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.

Keyboard coding scheme

Given that the engineer and customer both have to use the keypad, for your solution please devise a coding for at least all 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 would be said to have a hamming distance of 2 key presses. Note the keyboard only has the following characters 0,1,2,3,4,5,6,7,8,9,A,B,C,D, E and F.

Here is the list of drinks, you need a different code for each drink

plus a code for the engineer.

Coffee, no sugar, no milk

Coffee, sugar, no milk

Coffee, no sugar, milk

Coffee, sugar, milk

Tea, no sugar, no milk

Tea, sugar, no milk

Tea, no sugar, milk

Tea, sugar, milk

Flat white, no sugar

Flat white, sugar

Hot chocolate

Soup

Enter engineer mode

Scheme should be presented as follows (note this example is not correct)

Drink            Code

Coffee           1

Tea               2

etc


站长地图