srs_for_linkedin

25
Spring 2003 Semester Project CPSC 541 Software Requirements Development Software Requirements Development This document is intended for submission as Part II of Requirements Development for CPSC 541 Software Specifications of the California State University Fullerton. SECTION 1. INTRODUCTION The purpose and product scope are described below. 1.1 PURPOSE This Software Requirements and Specifications (SRS) defines the external interfaces, functional and non-functional requirements of the Hotdog Machine System (HDMS). HDMS is a software package that is used to operate and maintain the vending machine. The HDMS V.1.0 Software Requirements and Specifications (HDMSSRS V.1.0) is prepared for the customers, software developers, Vending, Inc., ACME Security, etc. 1.2 PRODUCT SCOPE HDMSSRS V.1.0 is developed to provide electronic maintenance and operation of a vending machine. These operations include the ordering of fresh, warm hotdogs by customers; refilling of the vending machine by service personnel; monitoring sales, available change, temperature, etc.; and monitoring of sensor events, and other related operations. Page 1

Upload: michele-vincent

Post on 20-Jul-2015

66 views

Category:

Documents


1 download

TRANSCRIPT

Spring 2003 Semester Project CPSC 541 Software Requirements Development

Software Requirements Development

This document is intended for submission as Part II of Requirements Development for CPSC 541 Software Specifications of the California State University Fullerton.

SECTION 1. INTRODUCTION

The purpose and product scope are described below.

1.1 PURPOSE

This Software Requirements and Specifications (SRS) defines the external interfaces, functional and non-functional requirements of the Hotdog Machine System (HDMS). HDMS is a software package that is used to operate and maintain the vending machine. The HDMS V.1.0 Software Requirements and Specifications (HDMSSRS V.1.0) is prepared for the customers, software developers, Vending, Inc., ACME Security, etc.

1.2 PRODUCT SCOPE

HDMSSRS V.1.0 is developed to provide electronic maintenance and operation of a vending machine. These operations include the ordering of fresh, warm hotdogs by customers; refilling of the vending machine by service personnel; monitoring sales, available change, temperature, etc.; and monitoring of sensor events, and other related operations.

Page 1

Spring 2003 Semester Project CPSC 541 Software Requirements Development

SECTION 2. OVERALL DESCRIPTION

This section presents a high-level overview of HDMS, the known constraints, assumptions, and dependencies.

2.1 PRODUCT FUNCTIONS

The major functions that the product must perform include the following:

2.1.1 Start-up Procedure: This function shall start and initialize the software in vending machine. This function shall turn on all sensors and perform standard start-up tests.

2.1.2 Wait for Interrupt: This function shall accept and recognize interrupts from the buy button, the service button, modem and sensors.

2.1.3 Purchasing: This function shall allow a customer to buy a hotdog from the vending machine.

2.1.4 Servicing: This function shall allow a service personnel to service the vending machine.

2.1.5 Monitoring and Maintenance: This function shall allow Vending, Inc. to monitor status information such as inventory, available change, etc. of the vending machine.

2.1.6 Monitoring Security: This function shall allow ACME Security to monitor the security status of the vending machine.

Figure 1. Major Functions

Page 2

Spring 2003 Semester Project CPSC 541 Software Requirements Development

Figure 2. Start-Up Procedure

Figure 3. Wait For Interrupt

Page 3

Spring 2003 Semester Project CPSC 541 Software Requirements Development

Figure 4. Purchasing

Figure 5. Servicing

Page 4

Spring 2003 Semester Project CPSC 541 Software Requirements Development

Figure 6. Monitoring and Maintenance

Figure 7. Monitoring Security

Page 5

Spring 2003 Semester Project CPSC 541 Software Requirements Development

2.2 DESIGN AND IMPLEMENTATION CONSTRAINTS

The following are the issues that will restrict the options available to the developers:

2.2.1 The HDMS shall meet health code standards.2.2.2 The HDMS shall be designed following the industry best practices.

2.3 ASSUMPTIONS AND DEPENDENCIES

The following are the assumptions and the dependency:

2.3.1 It is assumed that the Vending, Inc. provides both the central monitoring facility and the maintenance facility.

2.3.2 The interface information from the central maintenance facility to each operable HDMS is available from Vending, Inc.

2.3.3 It is assumed that the HDMS will transmit information to ACME Security through a telephone modem.

2.3.4 It is assumed that the HDMS will transmit credit card authorization request through a telephone modem.

Page 6

Spring 2003 Semester Project CPSC 541 Software Requirements Development

SECTION 3. EXTERNAL INTERFACE REQUIREMENTS

This section specifies requirements that ensure the new product will connect properly to external components. The user interfaces, hardware interfaces, software interfaces and communication interfaces are described.

3.1 USER INTERFACES

The HMI interface of the HDMS shall provide the user interface. The user interface shall have a customer interface and a service personnel interface.

Figure 9. HMI Interface

3.1.1 The customer interface shall have the following:

3.1.1.1 A button to press to request a hotdog3.1.1.2 A screen to display messages such as machine is inoperable, out of

hotdogs, etc.3.1.1.3 A speaker where pre-recorded messages can be played3.1.1.4 A credit card insert box to accept credit cards3.1.1.5 A coin drop box to accept coins3.1.1.6 A bill drop box to accept bills3.1.1.7 A receipt box to pick up credit card receipts3.1.1.8 A coin change box to pick up change

Page 7

Spring 2003 Semester Project CPSC 541 Software Requirements Development

3.1.1.9 A hotdog box to pick up the hotdog

Figure 10. An example of a screen seen by customers

3.1.2 The service personnel interface shall have the following:

3.1.2.1 A button to press to request service3.1.2.2 A screen to display the instructions and the menu of the functions

available3.1.2.3 A numeric key pad to input the following information:

3.1.2.3.1 Access code3.1.2.3.2 Menu choices3.1.2.3.3 New temperature3.1.2.3.4 Number of hotdogs added3.1.2.3.5 Value of coins added3.1.2.3.6 Amount of money collected from the vending machine

Figure 11. An example of a screen seen by service personnel

Note: The users from Vending, Inc. and ACME Security who monitor the vending machine shall communicate with HDMS via software interfaces described in Section 3.3.

3.2 HARDWARE INTERFACES

The characteristics of each interface between the software and hardware components of the system are described below.

3.2.1 HMI Customer Interface Component: The HMI Customer Interface Component shall provide for the hotdog request input, payment input, and dispensing of change and hotdog.

3.2.2 HMI Service Interface Component: The HMI Service Personnel Interface Component shall provide for the service request input, access code input, and maintenance operations such as adding hotdogs, change, controlling temperature, etc.

3.2.3 Temperature Sensor and Heating Component: The Temperature Sensor Component shall provide the ability to sense and control the temperature of the storage unit and the heating units.

Page 8

Spring 2003 Semester Project CPSC 541 Software Requirements Development

3.2.4 Power Supply Sensor Component: The Power Sensor Component shall provide the ability to sense and control the power status of the vending machine.

3.2.5 Coin Sensor Component: The Coin Sensor Component shall provide the ability to sense if valid coins are inserted. It shall also provide the ability to determine the value of the coin.

3.2.6 Bill Sensor Component: The Bill Sensor Component shall provide the ability to sense if valid bills are inserted.

3.2.7 Credit Card Reader Component: The Credit Card Sensor Component shall provide the ability to sense and read the credit card.

3.2.8 Change Dispenser Component: The Change Dispenser Component shall provide the ability to dispense change.

3.2.9 Product Dispenser: The Product Dispenser Component shall provide the ability to dispense the product.

3.2.10 Receipt Printer: The Receipt Printer Component shall provide the ability to print and dispense the credit card receipt.

3.2.11 Shock Sensor Component: The Shock Sensor Component shall provide the ability to sense shocks.

3.2.12 Cash Box Break-in Detection Sensor Component: The Cash Box Break-In Detection Sensor Component shall provide the ability to sense tampering events coming from the cash box.

3.3 SOFTWARE INTERFACES

HDMS connects with external software components that belong to Vending, Inc., ACME Security and the credit card company. The following paragraphs describe the purpose of the data items exchanged among the software components.

3.3.1 Maintenance Interface Component: The Maintenance Interface Component shall provide an interface to accept status information requests and to transmit status information to a central monitoring facility.

3.3.2 SMID Interface Component: The SMID Interface Component shall provide an interface to accept security information requests and to transmit tampering events coming from the shock sensor and the cash box break-in detection sensor to ACME Security company.

3.3.3 Credit Card Interface Component: The Credit Card Interface Component shall provide an interface to transmit credit authorization requests and to receive approvals from the credit card company.

Page 9

Spring 2003 Semester Project CPSC 541 Software Requirements Development

Figure 12. The data exchanged between HDMS and its external interfaces

3.4 COMMUNICATIONS INTERFACE

The following are the requirements associated with communication functions between the HDMS, Vending, Inc., ACME Security and the credit card company.

3.4.1 HDMS shall interface with Vending, Inc’s monitoring program. through a telephone modem.

3.4.2 HDMS shall interface with ACME Security’s monitoring program through a telephone modem.

3.4.3 HDMS shall interface with a credit card computer program through a telephone modem. The messages transmitted between the credit card company and the vending machine shall be encrypted.

Page 10

Spring 2003 Semester Project CPSC 541 Software Requirements Development

SECTION 4. SYSTEM FEATURES

This section shows the functional requirements organized by system features.

4.1 SYSTEM FEATURE 1

Start-up Procedure

4.1.1 Description and Priority

The system shall start and initialize the software in vending machine by turning on all sensors and performing standard start-up tests. The standard start-up tests are those required by the hardware components in the system. Examples of which may include testing response time, power status and error codes.

4.1.2 Functional Requirements

The functional associated with this feature are itemized below.

• Turn On All Sensors Function• Perform Standard Start-up Tests Function

The details of how the product will respond to specified inputs or actions are described in the following paragraphs.

4.1.2.1 Turn On All Sensors Function

The system shall turn on the power supply sensor, shock sensor, cash box break-in detection sensor, temperature sensor, credit card sensor, coin sensor, and bill sensor.

4.1.2.2 Perform Standard Start-up Tests Function

The system shall perform standard start-up tests. These tests include testing the response time, error codes and power status of the hardware components.

Page 11

Spring 2003 Semester Project CPSC 541 Software Requirements Development

4.2 SYSTEM FEATURE 2

Wait for Interrupt

4.2.1 Description and Priority

The system shall be in idle mode waiting for an interrupt. The system shall accept and recognize interrupts from the buy button, the service button, modem, sensors, and a power fail interrupt from power supply sensor. If an interrupt is recognized, the system shall transfer control to the appropriate function that processes the interrupt. After the invoked function has completed its task, the system shall return to idle mode waiting for another interrupt. If a power fail interrupt is recognized, the system shall shut down. If no interrupt is recognized, the system shall do nothing.

4.2.2 Functional Requirements

The functional associated with this feature are itemized below.

• Transfer Control to Purchasing Function• Transfer Control to Servicing Function• Transfer Control to Monitoring and Maintenance Function• Transfer Control to Security Function• Shutdown Function

The details of how the product will respond to specified inputs or actions are described in the following paragraphs.

4.2.2.1 Transfer Control to Purchasing Function

If the interrupt from the buy button is recognized, the system shall process the interrupt by transferring control to Purchasing feature.

4.2.2.2 Transfer Control to Servicing Function

If the interrupt from the service button is recognized, the system shall process the interrupt by transferring control to Servicing feature.

4.2.2.3 Transfer Control to Monitoring and Maintenance Function

If the interrupt from the modem is recognized, and the calling party is the Vending, Inc., the system shall process the interrupt by transferring control to Monitoring and Maintenance feature.

Page 12

Spring 2003 Semester Project CPSC 541 Software Requirements Development

4.2.2.4 Transfer Control to Monitoring Security Function

If the interrupt from the modem is recognized, and the calling party is ACME Security, the system shall process the interrupt by transferring control to Monitoring Security function. If the interrupt from the shock sensor or from the cash box break-in detection sensor is recognized, the system shall process the interrupt by transferring control to Monitoring Security feature.

4.2.2.5 Shutdown Function

If a power fail interrupt is recognized from the power supply sensor, the system shall process this interrupt by shutting down the system. This includes turning off all hardware components, and storing critical data such as error codes and amount of cash in non-volatile memory of the system.

4.3 SYSTEM FEATURE 3

Purchasing

4.3.1 Description and Priority

Purchasing is a feature that allows a customer to request a hotdog. This feature shall include selecting a method of payment, counting coins, counting bills, processing credit card, dispensing change, dispensing credit card receipt, dispensing hotdogs, displaying messages and playing pre-recorded messages. This feature shall involve a database with the following information: inventory, amount of sales and available change. The system shall transmit the information in the database to Vending, Inc.

4.3.2 Functional Requirements

The functional requirements associated with this feature are itemized below.

• Request a Hotdog Function• Select Method of Payment Function• Count Coins Function• Count Bills Function• Process Credit Card Function• Dispense Change Function• Print Credit Card Receipt Function• Dispense a Hotdog Function• Display a Message Function• Play Pre-Recorded Messages Function

Page 13

Spring 2003 Semester Project CPSC 541 Software Requirements Development

The details of how the product will respond to specified inputs or actions are described in the following paragraphs.

4.3.2.1 Request a Hotdog Function

The system shall allow a customer to request a hotdog. The system shall check if the inventory is greater than 0. If the inventory is greater than 0, the system shall instruct the customer to push the buy button. When the button is pressed, the system shall display a message to insert payment. The system shall also play a pre-recorded message to insert payment. When the button is pressed, the system shall change the mode of the vending machine from idle mode to customer mode. The system shall also update the database to reflect the current mode of the vending machine.

4.3.2.2 Select Method of Payment Function

When the customer has inserted the payment, the system shall sense whether the payment is in a form of coins, bills or credit card. If no payment was inserted after 10 seconds from the moment the customer requested to buy a hotdog, the system shall display a message to insert payment and play a pre-recorded message to insert payment. If no payment was inserted after another 10 seconds, the system shall display a message to press a button to buy a hotdog. The system shall also play a pre-recorded message to press a button to buy a hotdog.

4.3.2.3 Count Coins Function

The system shall be able to count the coins it receives from the customer for every purchase transaction. The system shall accept a nickel, a dime, a quarter or a dollar coin. The system shall determine the total amount of payment received. The system shall also determine if sufficient payment is received for the purchase request. If the payment is insufficient, and no more coins or bills were inserted within 10 seconds, the system shall return all the payment received from the customer for the purchase transaction.

4.3.2.4 Count Bills Function

The system shall be able to count the bills it receives from the customer for every purchase transaction. The system shall accept one-dollar bills and five-dollar bills. The system shall determine the total amount of payment received. The system shall also determine if sufficient payment is received for the purchase request. If the payment is insufficient, and no more bills or coins were inserted within 10 seconds, the system shall

Page 14

Spring 2003 Semester Project CPSC 541 Software Requirements Development

return all the payment received from the customer for the purchase transaction.

4.3.2.5 Process Credit Card

The system shall process a credit card by transmitting an authorization request to the credit card company. This authorization request must include the amount of purchase and the credit card information. The amount of purchase is the price of the hotdog. The credit card information contains the name on the credit card, the account number and the expiration date. The system shall determine if an approval for the authorization request is received. If no approval is received within 10 seconds after transmitting the authorization request, the system shall cancel the credit card transaction.

4.3.2.6 Dispense Change

The system shall dispense change when the amount of purchase is less than the total amount of payment. The system shall dispense change only after the system has dispensed the hotdog. If the system could not dispense a hotdog, the total amount of payment shall be dispensed as the change. The system shall update the available change in the database.

4.3.2.7 Print Credit Card Receipt

The system shall print a credit card receipt when a credit card is used as a method of payment. The system shall print a credit card receipt after the system has dispensed the hotdog. If the system could not dispense a hotdog, the system shall be able to cancel the credit card transaction and print a credit card receipt that indicates no charges were made.

4.3.2.8 Dispense a Hotdog Function

The system shall dispense a hotdog if sufficient payment is received or if the authorization request from the credit card company is approved. When a hotdog is dispensed, the system shall update the inventory and amount of sales in the database.

4.3.2.9 Display Message Function

The system shall be able to display messages.4.3.2.9.1 If there are no hotdogs available, the system shall display a

warning message.4.3.2.9.2 If the vending machine is inoperable, the system shall display

a warning message.

Page 15

Spring 2003 Semester Project CPSC 541 Software Requirements Development

4.3.2.9.3 If the vending machine has available hotdogs and is operable, the system shall display a message to push a button to buy a hotdog.

4.3.2.9.4 The system shall display a message to insert payment.4.3.2.9.5 If the credit card transaction could not be approved, the

system shall display an appropriate message.4.3.2.9.6 If the credit card transaction is cancelled, the system shall

display an appropriate message.

4.3.2.10 Play Pre-Recorded Messages Function

The system shall be able to play pre-recorded messages.4.3.2.10.1 If there are no hotdogs available, the system shall play a

pre-recorded warning message.4.3.2.10.2 If the vending machine is inoperable, the system shall play

a pre-recorded warning message.4.3.2.10.3 If the vending machine has available hotdogs and is

operable, the system shall play a pre-recorded message to push a button to buy a hotdog.

4.3.2.10.4 The system shall play a pre-recorded message to insert payment.

4.3.2.10.5 If the credit card transaction could not be approved, the system shall play an appropriate, pre-recorded message.

4.3.2.10.6 If the credit card transaction is cancelled, the system shall play an appropriate, pre-recorded message.

4.4 SYSTEM FEATURE 4

Servicing

4.4.1 Description and Priority

Servicing is a feature that allows a service personnel to request to service the vending machine. This feature shall include check access code, turn-off sensors, control temperature, add hotdogs, add coins, change mode, collect money, and end service. This feature shall involve a database with the following information: temperature, inventory, available change, and mode.

4.4.2 Functional Requirements

The functional requirements associated with this feature are itemized below.

• Request to Service Machine Function• Check Access Code Function• Turn-off Sensors Function• Change Mode Function

Page 16

Spring 2003 Semester Project CPSC 541 Software Requirements Development

• Control Temperature Function• Add Hotdogs Function• Add Coins Function• Collect Money Function• End Service Function

The details of how the product will respond to specified inputs or actions are described in the following paragraphs.

4.4.2.1 Request to Service Machine Function

The system shall allow a service personnel to request service for the vending machine. When the service button is pressed, the system shall prompt the service personnel for an access code.

4.4.2.2 Check Access Code Function

The system shall be able to check if the access code entered by the service personnel is valid. If the access code entered is invalid, the system shall display a message to enter the access code again. After three unsuccessful attempts, the system shall display a message that access has been denied.

4.4.2.3 Turn-off Sensors Function

If the access code entered by the service personnel is valid, the system shall:4.4.2.3.1 Turn off Shock Sensors 4.4.2.3.2 Turn off Cash Box Break-In Detection Sensors

4.4.2.4 Change Mode Function

The system shall be able to change the mode. If the access code entered by the service personnel is valid, the system shall change the mode of the vending machine from idle mode to service mode. The system shall also change the mode back from service mode to idle mode when the end service function is selected from a menu of functions. The system shall also update the database to reflect the current mode of the vending machine.

4.4.2.5 Control Temperature Function

The system shall allow the service personnel to control the temperature. The system shall satisfy this request by providing a menu of functions. When the service personnel selects Control Temperature Function from the menu, the system shall allow the service personnel to enter the new

Page 17

Spring 2003 Semester Project CPSC 541 Software Requirements Development

temperature. The system shall then adjust the temperature to the new temperature. The system shall also update the database to reflect the new temperature.

4.4.2.6 Add Hotdogs Function

The system shall allow the service personnel to add more hotdogs. The system shall satisfy this request by providing a menu of functions. When the service personnel selects Add Hotdogs Function from the menu, the system shall allow the service personnel to enter the number of hotdogs to add. The system shall update the inventory in the database.

4.4.2.7 Add Coins Function

The system shall allow the service personnel to add coins. The system shall satisfy this request by providing a menu of functions. When the service personnel selects Add Coins Function from the menu, the system shall allow the service personnel to enter the value of coins to add. The system shall update the available change in the database.

4.4.2.8 Collect Money Function

The system shall allow the service personnel to collect the money. The system shall satisfy this request by providing a menu of functions. When the service personnel selects Collect Money Function from the menu, the system shall allow the service personnel to enter the amount of coins and bills collected. The system shall update the available change in the database.

4.4.2.9 End Service Function

The system shall allow the service personnel to end the Servicing feature. The system shall satisfy this request by providing a menu of functions. When the service personnel selects End Service Function from the menu, the system shall do the following:4.4.2.9.1 Turn on Shock Sensors 4.4.2.9.2 Turn on Cash Box Break-In Detection Sensors 4.4.2.9.3 Change mode to idle mode4.4.2.9.4 Update the database to reflect the new mode

Page 18

Spring 2003 Semester Project CPSC 541 Software Requirements Development

Figure 14. State-transition diagram for the purchase and service requests.

Page 19

Spring 2003 Semester Project CPSC 541 Software Requirements Development

4.5 SYSTEM FEATURE 5

Monitoring and Maintenance

4.5.1 Description and Priority

Monitoring and Maintenance is a feature that allows the central monitoring facility to monitor the vending machine. This feature shall include requesting status information and transmitting status information. This feature shall involve a database with the following status information: sales, inventory, available change, tampering events, mode of operation, temperature and power status of the vending machine. The system shall interface with the monitoring software of Vending, Inc. The system shall transmit the information in the database to Vending, Inc.

4.5.2 Functional Requirements

The functional requirements associated with this feature are itemized below.

• Request Status Information Function• Transmit Status Information Function

The details of how the product will respond to specified inputs or actions are described in the following paragraphs.

4.5.2.1 Request Status Information Function

The system shall allow Vending, Inc. to request status information of the vending machine. The system shall be able to process the request by selecting from a database which information is desired, and transmitting the selected information.

4.5.2.2 Transmit Status Information Function

The system shall transmit the database information to Vending, Inc. once every hour. These database information include:4.5.2.2.1 Sales4.5.2.2.2 Inventory4.5.2.2.3 Available Change4.5.2.2.4 Tampering Events4.5.2.2.5 Mode of Operation4.5.2.2.6 Temperature4.5.2.2.7 Power Status

Page 20

Spring 2003 Semester Project CPSC 541 Software Requirements Development

4.6 SYSTEM FEATURE 6

Monitoring Security

4.6.1 Description and Priority

Monitoring Security is a feature that allows ACME Security to monitor the security status of the vending machine. This feature shall include requesting sensor output from the shock sensor and the cash box break-in detection sensor and transmitting tampering events. The system shall interface with the ACME Security software.

4.6.2 Functional Requirements

The functional requirements associated with this feature are itemized below.

• Request Security Information Function• Transmit Tampering Events Function

The details of how the product will respond to specified inputs or actions are described in the following paragraphs.

4.6.2.1 Request Security Information Function

The system shall allow ACME Security to inquire about the security status of the vending machine. The system shall be able to process this request by obtaining outputs from the shock sensor or from the cash box break-in detection sensor.

4.6.2.2 Transmit Tampering Events Function

4.6.2.2.1 If the shock sensors sense that there is a break-in, the system shall notify ACME Security.

4.6.2.2.2 If the cash box break-in detection sensors sense that there is a break-in, the system shall notify ACME Security.

4.6.2.2.3 If the shock sensors sense that there is a break-in, the system shall record a tampering event in the database.

4.6.2.2.4 If the cash box break-in detection sensors sense that there is a break-in, the system shall record a tampering event in the database.

Page 21

Spring 2003 Semester Project CPSC 541 Software Requirements Development

SECTION 5. OTHER NONFUNCTIONAL REQUIREMENTS

The non-functional requirements are detailed below.

5.1 PERFORMANCE REQUIREMENTS

5.1.1 HDMS shall dispense warm hotdogs within five seconds after the customer has inserted the amount of money required for the purchase.

5.1.2 HDMS shall accept payment in form of cash or credit card to provide flexibility to customers.

5.1.3 HDMS shall perform 99.95% correctly.

5.2 SAFETY REQUIREMENTS

5.2.1 The use of the vending machine shall not create an electrical shock hazard to the customers and the service personnel.

5.2.2 The vending machine shall not create hazard of physical injury to persons within three feet from the machine.

5.2.3 The vending machine shall not pollute the environment and shall not violate the state or federal code of clean air standards.

5.3 SECURITY REQUIREMENTS

5.3.1 HDMS shall encrypt the credit card number when transmitting to the credit card company.

5.3.2 HDMS shall print only the last four digits of the credit card receipt.5.3.3 HDMS shall permit service requests only if a valid access code is entered by

service personnel.5.3.4 HDMS shall not allow Vending, Inc. and ACME, Inc. to write to its database.5.3.5 HDMS shall offer protection from vandalism.

5.4 SOFTWARE QUALITY ATTRIBUTES

5.4.1 The vending machine shall be available to users 7 days a week, 24 hours a day.5.4.2 The system shall be able to adapt to new coins and new bills issued by the Federal

Reserve Bank.5.4.3 The system’s Mean Time to Failure (MTTF) shall not be less than 2000 hours.5.4.4 The system shall be able to function if at least one of the payment devices is

operational.5.4.5 A new user shall be able to place a request for no more than 1 minute of

orientation.

Page 22

Spring 2003 Semester Project CPSC 541 Software Requirements Development

5.5. BUSINESS RULES

5.5.1 Both the technological and developmental risks to the manufacturer shall be assessed prior to the product design phase. It shall be decided if the outcome of this assessment meets the low risk development requirement.

5.5.2 A need for a hotdog vending machine shall be surveyed in the area where the vending machine will be installed.

5.5.3 Unit costs and operational costs of HDMS shall be assessed.5.5.4 Machines shall be manufactured on just-in-time basis.5.5.5 The customer shall have an option to purchase vending machine(s) with full or

partial maintenance contract or without a maintenance contract.5.5.6 Vending, Inc. shall perform service maintenance of the vending machine within

the time specified in the maintenance contract.5.5.7 Formal training shall not be anticipated for machine operation or routine

servicing.5.5.8 Maintenance training shall be expected for service technicians who must maintain

mechanical and electronic subsystems.

5.6 USER DOCUMENTATION

5.6.1 A user documentation shall be provided. It shall include installation, maintenance and troubleshooting manuals.

5.6.2 A documentation that lists all applicable compliance standards shall be provided upon request.

Page 23

Spring 2003 Semester Project CPSC 541 Software Requirements Development

SECTION 6. TEST

This section defines a set of qualification methods for acceptance testing. The methods are written for each requirement in Section 4. These methods ensure that the requirements have been met.

6.1 ACCEPTANCE TESTING

The following definitions for the test methods are listed below:• Inspection: Qualification that consists of visual examination of the program source

listings or design documentation. • Demonstration: Qualification that consists of simple observation of software functional

operation without requiring the use of special equipment or instrumentation.• Test: Qualification that consists of exercising software under controlled conditions for

the purpose of gathering data. Special equipment or instrumentation may be used. • Analysis: Qualification that consists of technical evaluation of data or of data collected

or derived from previously performed formal and informal testing.• Special: Qualification that consists of special tools, techniques, procedures, facilities,

and acceptance limits.Each requirement shall be tested using one of the methods defined above to qualify for acceptance testing. The table below lists the methods for each requirement in Section 4.

Feature Function Test MethodStart-up Procedure Turn On All Sensors Function Test

Perform Standard Start-up Tests Function

Demonstration

Wait for Interrupt Transfer Control to Purchasing Function

Demonstration

Transfer Control to Servicing Function

Demonstration

Transfer Control to Monitoring and Maintenance Function

Demonstration

Transfer Control to Security Function

Demonstration

Shutdown Function Test

Purchasing Request a Hotdog Function DemonstrationSelect Method of Payment Function

Demonstration

Page 24

Spring 2003 Semester Project CPSC 541 Software Requirements Development

Count Coins Function DemonstrationCount Bills Function DemonstrationProcess Credit Card Function AnalysisDispense Change Function DemonstrationPrint Credit Card Receipt Function

Demonstration

Dispense a Hotdog Function DemonstrationDisplay a Message Function DemonstrationPlay Pre-Recorded Messages Function

Demonstration

Servicing Request to Service Machine Function

Demonstration, Test

Check Access Code Function TestTurn-off Sensors Function Demonstration, TestChange Mode Function TestControl Temperature Function TestAdd Hotdogs Function Demonstration, AnalysisAdd Coins Function Demonstration, AnalysisCollect Money Function Demonstration, AnalysisEnd Service Function Demonstration, Test

Monitoring and Maintenance Request Status Information Function

Test

Transmit Status Information Function

Test

Monitoring Security Request Security Information Function

Test

Transmit Tampering Events Function

Test

Page 25