0% found this document useful (0 votes)
426 views

Vending Machines Final PDF

This document provides a functional specification for an automatic coin-operated drinks dispenser machine for a large library. It includes a work breakdown using a Gantt chart, business requirements including a context diagram and functional requirements, and use case descriptions. The machine would allow users to select and purchase tea, coffee, coke, or orange juice using coins. It describes the inputs, outputs, and logical flow of the system. The purpose is to capture operational and system requirements for the drinks dispenser machine.

Uploaded by

Raina Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
426 views

Vending Machines Final PDF

This document provides a functional specification for an automatic coin-operated drinks dispenser machine for a large library. It includes a work breakdown using a Gantt chart, business requirements including a context diagram and functional requirements, and use case descriptions. The machine would allow users to select and purchase tea, coffee, coke, or orange juice using coins. It describes the inputs, outputs, and logical flow of the system. The purpose is to capture operational and system requirements for the drinks dispenser machine.

Uploaded by

Raina Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Designing automatic coin operated Drinks Dispenser Machine for a large library

A Functional Specification Document

Version: 1.0

5/23/2018

Prepared by: Mulatu Gebeyaw [20176864]

Submitted to: Professor DOĞAN İBRAHİM

Nicosia, 2018

i
Table of Contents
1. Introduction ..............................................................................................................................1
1.1. Purpose ..............................................................................................................................2
1.2. Scope..................................................................................................................................2
2. Work break down using Gantt chart .........................................................................................2
3. Business requirements of coin-operated Drinks Dispenser Machine ..........................................3
3.1. Context diagram ................................................................................................................3
3.2. Functional Requirements ...................................................................................................5
4. Use Case Diagram and Descriptions ........................................................................................ 11
4.1. Use Case Diagram ............................................................................................................ 11
4.2. Use Case Descriptions ...................................................................................................... 11
5. Conclusions ............................................................................................................................. 16
6. References ............................................................................................................................... 17

Table of Figures
Figure 1 Work break down using Gantt chart........................................................................................2
Figure 2 Context Diagram....................................................................................................................3
Figure 3 Flow chart.............................................................................................................................4
Figure 6 Use case diagram................................................................................................................. 11

List of tables
Table 1 Requirement priority level .......................................................................................................5
Table 2 Drinks dispenser machine requirements...................................................................................6
Table 3 restart transaction ................................................................................................................ 11
Table 4 Restart transaction................................................................................................................ 12
Table 5 Insert Coin............................................................................................................................ 12
Table 6 Cancel request...................................................................................................................... 13
Table 7 Change Selection .................................................................................................................. 14
Table 8 Request Refund .................................................................................................................... 14
Table 9 Continue Buying ................................................................................................................... 15
Table 10 Display Message ................................................................................................................. 15

ii
1. Introduction
Selling and buying goods, foods, drinks, and newspapers is common in supermarkets, hotels,
schools, hospitals, stadiums, airport stations and on the road. All these are done with the help of
vending machines meaning “a machine that dispenses small articles such as food, drinks, or
cigarettes when a coin or token is inserted”.

Vending Machines are used to dispense various products like Tea, Coffee, Snacks, and Cold
Drink etc. when money is inserted into it perhaps with no money like in offices and in a
restaurant which has manual billings. These machines are likely used in a various area like a
commercial, industrial, shops, organization etc. Vending Machines have been in existence since
the 1880s [1]. The first commercial coin-operated machine was introduced in London and
England used for selling postcards [1]. The vending machines are more accessible and practical
than the convention purchasing method.

Nowadays, these can be found everywhere like at railway stations selling train tickets, in
schools and offices vending drinks and snacks, in banks as ATM machine and provides even
diamonds and platinum jewelers to customers, in entertainment stations like pool tables, boxer,
and Table football.

All these and other similar machines operated using Finite State Machine principles whereby the
machine will be at one state in time. In this case, the circuit’s output is defined in a different set
of states (The number of states is finite) i.e. each output is a state. A State Register to hold the
state of the machine and a next state logic to decode the next state. An output register defines the
output of the machine. Dynamic elements: The subset of dynamic elements includes the input
provided to the FSMs and the output generated from the FSMs in dynamic executions of the
FSM.

In general, both the number of different input and the number of different output are also finite
[2]. In FSM based machines the hardware gets reduced as in this the whole algorithm can be
explained in one process.

1
1.1. Purpose
The purpose of this document is to give a detailed description of the requirements for the
“automatic coin-operated drinks dispenser machine” that provides Tea, Coffee, Coke, and
Orange Juice which can be implemented in the large library but not limited only it can also
use in all level of libraries.

1.2. Scope
This document describes the functional requirements (use cases) and design constraints (non-
functional requirements) of an automatic coin-operated drinks dispenser machine as viewed
from the perspective of the software developer, an automatic coin-operated drink dispenser
machine, and the system’s typical end user, the Coffee User. Its purpose is to formally
capture and present an operational view of an automatic coin-operated drink dispenser
machine and to enumerate the system requirements as understood by the developer.

2. Work break down using Gantt chart

Duratio Compl
ID Task Name Start Finish
n ete
1 Literature Review Mar.15,18 Mar.29,18 7.0 d. 0.0%

2 Writing Introduction Apr.3,18 Apr.5,18 3.0 d. 0.0%

3 Flow Chart Design Apr.5,18 Apr.10,18 2.0 d. 0.0%


Requirement Gathering and
4 Apr.12,18 Apr.26,18 7.0 d. 0.0%
Identification
5 Use Case Drawing May.1,18 May.8,18 4.0 d. 0.0%

6 Use Case Description May.9,18 May.15,18 3.0 d. 0.0%


Writing Conclusion and
7 May.16,18 May.24,18 5.0 d. 0.0%
Review the Document

Figure 1 Work break down using Gantt chart

2
3. Business requirements of coin-operated Drinks Dispenser
Machine
3.1. Context diagram
This section provides a detailed description of inputs into and outputs from the system using
a diagram. It also gives the logical layout of the system how it works and how the operations
are handled. Block Diagram of the Vending Machine

Reset

Input (Coin)

Coffe Tea Coke Orange


Juice

Output Valance Coin

Figure 2 Context Diagram

3
Automatic coin operated drinks dispenser machine

Start/Reset

Select Product

Coffee No Tea No Coke No Orange Juice

Yes Yes Yes Yes

Display Cost

Cancel

Select other Product No Continue


No
Yes
Cancel Request
Insert Coin

No

Coin==Cost

Yes

Dispense
Product

Yes Continue

No

Finished

Figure 3 Flow chart

4
3.2. Functional Requirements
Requirements are the reasons for a project to be developed and deploy on which what the coin-operated drinks dispenser machine can
do, what data it shall store and how quickly or how easily it shall perform. In doing so, a project must have SMART requireme nts.
This machine will programme to receive the currency and validate the same before disbursing coins in various denominations selected
by the user. More or less this system requirements are grouped into User Requirements, System requirements, data requirements as
stated below.

The requirements, both functional and non-functional, in this document are prioritized as follows:

Table 1 Requirement priority level

Value Rating Description

1 Critical This requirement is critical to the success of the project. The project will not be possible without this requirement.

2 High This requirement is high priority, but the project can be implemented at a bare minimum without this requirement.

3 Medium This requirement is somewhat important, as it provides some value but the project can proceed without it.

4 Low This is a low priority requirement, or a “nice to have” feature, if time and cost allow it.

5 Future This requirement is out of scope for this project, and has been included here for a possible future release.

5
Table 2 Drinks dispenser machine requirements

Impacted
Req# Priority Description Rationale
Stakeholders

User requirements

Users press restart button to reset previous Users


FR-U-001 1 A new transaction shall be started transactions and conditions to clear
transaction history.

Users select a product from the list of Users


FR-U-002 1 List of products must be displayed
products on the displaying screen.

Users read and confirm by pressing


FR-U-003 1 Cost of the selected item must be displayed
continue button.

A user can insert coin into the machine Users


FR-U-004 1 Coin must be inserted to get the product
based on the indicated price

FR-U-005 2 The transaction shall be canceled as required A user can press Cancel button. Users

The transaction shall be continued as A user can use Continue to Buy button Users
FR-U-006 3
required without restarting the whole steps

6
Impacted
Req# Priority Description Rationale
Stakeholders

A user can change order e.g. if s/he doesn’t Users


Order shall be changed as required on
FR-U-007 2 have enough coin to buy for the item they
specific instant state of the machine
choose

System requirements

The system shall display status information Users and


FR-S-001 2 The status of the machine shall be displayed
whether it works or not. Customers

Only readily items must be displayed as item E.g. coffee is not ready for sale Users
FR-S-002 1 list otherwise appropriate information to the
user

Alert sound shall be played automatically by E.g. if sugar is finished Customers


FR-S-003 2
the machine if any of ingredient is finished

Coin may be refund when the user cancels Users


The system shall refund the coin if in need by
the request or the coin they insert is not
FR-S-004 2 the user before the item gets ready for
sufficient with appropriate information to
dispense
the user

7
Impacted
Req# Priority Description Rationale
Stakeholders

The system shall display welcome and Users and


FR-S-005 3 goodbye messages at the beginning and end Customers
of the transaction respectively.

The system shall be developed either as touch The machine may be developed based on Users and
FR-S-006 3
screen or button command based. the customer’s choice Customers

The system must display waiting time as a E.g. during boiling, adding ingredients and Users
FR-S-007 3
message to the user in preparing the items the like.

The system shall display items’ name along E.g. for coffee the icon must indicate the Users
FR-S-008 2
with acceptable icons coffee

The system must dispense the selected item Users


FR-S-009 1 only if the amount coin is inserted unless it
must rollback the transaction.

The system shall return the selected product


FR-S-010 4
and remaining change if any

The system shall allow resetting operation for E.g. for first time installation Customers
FR-S-011 3
vending machine supplier.

8
Impacted
Req# Priority Description Rationale
Stakeholders

The system shall allow a user to select Users


FR-S-012 2
products coffee, tea, Coke, Juice, ...

E.g. 1, 5, 10, 25, and 50 Cents i.e. penny, Users and


The system must accept coins of different in nickel, dime, and a quarter as a sample but Customers
FR-S-013 1
amount standards must set on coin types with the
corresponding price.

The system must compare item cost with


FR-S-014 1
entered coin

The system must show light at the interface Users


FR-S-015 3
of coin insertion hole

The system must check the validity of the


FR-S-016 1
coin

Data requirements

The system shall store Coke in the container


and allow users to select it from the
FR-D-001 3
displaying screen as cold coke and normal
coke.

9
Impacted
Req# Priority Description Rationale
Stakeholders

The system shall store Tea Spice, water, and


FR-D-002 3 sugar and allow users to mix sugar manually
or automatic from the machine.

The system shall store Coffee and allow the


FR-D-003 3 user to mix sugar manually or automatically
by the machine

The system shall store juice powder and mix


FR-D-004 3
sugar manually or automatically

The system must store the coin and allow the


FR-D-005 1
administrator to open the case to pick it up.

Other requirements

The system shall be design based on


acceptable GUI standards so that users can
easily communicate to the system and
FR-O-001 2
navigate from one state of the machine to
another state with no or fewer (if any)
difficulties.

10
Impacted
Req# Priority Description Rationale
Stakeholders

The system shall provide waiting and


completion time as a message and the
FR-O-002 3
message shall be short and precise based on
message standards.

11
4. Use Case Diagram and Descriptions
4.1. Use Case Diagram

Use Case Diagram

Play Alert Sound


Select Product
Power On

Power Off
Display Items
Insert Coin
Power
Source
Compare Price
Cancel Request

start brewing
User Change Selection

Check Coin
System
Request Refund
Dispense Selected
Product

Continue buying
Dispense Coin

Restart transaction Display Message

Figure 4 Use case diagram

4.2. Use Case Descriptions

Table 3 restart transaction

Name UC001, Select product


Actor(s) User
Goal the goal of this use case is to refresh the machine by clearing transaction
history
Precondition(s) 1. The machine power should be plugin and the machine should be at
working state

Basic flow 1. The user must click on restart button


2. The program clears all previous transaction history
Post 1. The machine should display welcome message to the user
condition(s) 2. The machine display the list of items ready to dispense

Alternative flow for this use case no alternative flow of action


Exception(s) No exception for this use case

Table 4 Restart transaction

Name UC002, Restart transaction


Actor(s) User
Goal the goal of this use case is to select one item for dispensing
Precondition(s) UC001
Basic flow 1. The user has to click on product name (if it is touch screen) or the
corresponding button
2.
Post 1. The system displays the cost of the selected item
condition(s) 2. The system asks the user to enter coin

Alternative flow for this use case no alternative flow of action


Exception(s) No Exception for this use case

Table 5 Insert Coin

Name UC003, Insert Coin


Actor(s) User
Goal the goal of this use case is to accept price/cost of the item being selected
from the user
Precondition(s) 1. The system must display the cost of the selected item on the screen
2. The system must be active to accept the coin
Basic flow 1. The system must show the place where the user can insert the coin
using light
2. The user must insert coin according to 1
3. The system must filter the coin for its validity
4. The system must compare the price of the item being selected and
the coin inserted

12
Post 1. The system store the coin inside the case
condition(s) 2. The machine dispense the order
3. The user must pick the order
Alternative 1. If the entered coin is not equal to the price of the item, then the
flow system has to give alternatives
1.1.The system shall display a message to change the order and this
could be compared with the entered coin
1.2.If no items for the entered coin, the system shall display a
message to cancel the request and to take the coin
1.3.The machine shall refund the coin to the user
1.4.The user shall pick the coin
2. If the entered coin is not equal to the price of the item, then the
system has to give alternatives
2.1.The system shall display a message to change the order and this
could be compared with the entered coin
2.2.If no items for the entered coin, the system shall display a
message to cancel the request and to take the coin
2.3.The machine shall refund the coin to the user
2.4.The user shall pick the coin
Exception(s) If there are free packages, allow the user to take the free item

Table 6 Cancel request

Name UC004, Cancel request


Actor(s) User
Goal the goal of this use case is to allow the user to cancel the order at given state
of the machine
Precondition(s) 1. The machine shall be at transaction state other than welcome
message
Basic flow 1. The user click on Cancel Request button

13
Post 1. The system has to be at welcome state
2. The system has to rollback all transaction(s) if nay
condition(s)
Alternative flow for this use case no alternative flow of action
Exception(s) No Exception for this use case

Table 7 Change Selection

Name UC005, Change Selection


Actor(s) User
Goal the goal of this use case is to allow the user to change the order at given
state of the machine
Precondition(s) 1. The machine shall be at transaction state other than welcome
message
Basic flow 1. The user click on Change Selection button
Post 1. The system has to display items other than the current item
condition(s) which is selected
2. The system has to rollback all transaction(s) if nay
Alternative flow for this use case no alternative flow of action
Exception(s) No Exception for this use case

Table 8 Request Refund

Name UC006, Request Refund


Actor(s) User
Goal The goal of this use case is to allow the user to get refund if the user
inserted the coin.
Precondition(s) 1. The machine store the coin in coin case
Basic flow 1. The user click on the button Refund Coin
Post 1. The system dispense the coin
condition(s) 2. The system has to be at welcome state

14
3. The system has to rollback all transaction(s) if nay
4. The user pick the coin

Alternative flow for this use case no alternative flow of action


Exception(s) No Exception for this use case

Table 9 Continue Buying

Name UC007, Request Refund


Actor(s) User
Goal The goal of this use case is to allow the user to buy more than one item.
Precondition(s) 1. The system shall be at finish state and display the button Continue
Buying
Basic flow 1. The user click on the button Continue Buying
2. The system goes to UC002
Post UC002
condition(s)
Alternative flow for this use case no alternative flow of action
Exception(s) No Exception for this use case

Table 10 Display Message

Name UC008, Display Message


Actor(s) System
Goal The goal of this use case is to inform the user to take his own actions based
on the information provided by the system.
Precondition(s) 1. The system shall be at working state
Basic flow 1. The system may display message when appropriate and if a
message is must to the user in either of the following conditions
1.1.If the system encounters a problem
1.2.If the one of the ingredient is finished

15
1.3.If the user tries to use the product with no coin
1.4.If the system is under maintenance
Post no post condition for this use case
condition(s)
Alternative flow The user has to take actions accordingly.
Exception(s) No Exception for this use case

5. Conclusions
The vending machine is the most popular technological service which is used especially in
developed countries in meeting rooms, offices, libraries, supermarkets, and the places on which
many people are there for different purposes like selling a newspaper, hot drinks, and soft drinks,
in-game stations and many, many more. This machine, Vending Machine, is implemented using
finite state machine (FSM) principle on which the machine must be at one state and automatic.
In this project, Drinks Dispenser Machine, the methodology (FSM), different requirements (user
requirements, system requirements and data requirements are clearly defined), the use case
diagram and users action are stated as use case diagram.

16
6. References
1. International Journal of VLSI design & Communication Systems (VLSICS) Vol.3, No.2,
April 2012
2. Tian J. - Software Quality Engineering. Testing, Quality Assurance, and Quantifiable
Improvement – 2005[page 178]
3. http://javarevisited.blogspot.com/2016/06/design-vending- machine- in-
java.html#ixzz59FlsXvWK accessed on 3/9/2018

17

You might also like