+ All Categories
Home > Documents > IEEE Software Requirements Specification...

IEEE Software Requirements Specification...

Date post: 28-May-2019
Category:
Upload: dangtuyen
View: 249 times
Download: 0 times
Share this document with a friend
25
Software Requirements Specification for <Hard Decisions > Version 4.0 approved Prepared by <Jing Pang, Zhiwen Shi, Dustin Groce, Sirisha Padavala > <M3U> < 11/27/16>
Transcript

Software Requirements Specification

for

<Hard Decisions >

Version 4.0 approved

Prepared by <Jing Pang, Zhiwen Shi, Dustin Groce, Sirisha Padavala >

<M3U>

< 11/27/16>

Software Requirements Specification for <Hard Decisions> Page ii

Table of Contents

Table of Contents .......................................................................................................................... ii

Revision History ........................................................................................................................... iii

Member’s Title ............................................................................................................................. iii

1 Introduction ..............................................................................................................................1

1.1 Purpose ........................................................................................................................................... 1

1.2 Document Conventions .................................................................................................................. 1

1.3 Intended Audience and Reading Suggestions ................................................................................. 2

1.4 Product Scope ................................................................................................................................. 2

2 Overall Description ..................................................................................................................3

2.1 Product Perspective ........................................................................................................................ 3

2.2 Product Functions ........................................................................................................................... 3

2.3 User Classes and Characteristics ................................................... Error! Bookmark not defined.

2.4 Operating Environment .................................................................................................................. 4

2.5 Design and Implementation Constraints ......................................................................................... 5

2.6 User Documentation ....................................................................................................................... 5

2.7 Assumptions and Dependencies ..................................................................................................... 5

3 External Interface Requirements ...........................................................................................6

3.1 User Interfaces ................................................................................................................................ 6

3.2 Hardware Interfaces ........................................................................................................................ 7

3.3 Software Interfaces ......................................................................................................................... 8

3.4 Communications Interfaces ............................................................................................................ 8

4 System Features .......................................................................................................................9

4.1 Create an Account ........................................................................................................................... 9

4.2 Account Login .............................................................................................................................. 10

4.3 Account Recovery ........................................................................................................................ 10

4.4 Place an Order............................................................................................................................... 11

4.5 Check Table Status ....................................................................................................................... 11

4.6 Add/Remove Order Information ................................................................................................... 12

4.7 Entertainment while waiting (Optional) ....................................................................................... 12

4.8 Calculate Price .............................................................................................................................. 13

4.9 Estimate Wait................................................................................................................................ 13

4.10 Bill Selection .............................................................................................................................. 13

4.11 Rating and commenting .............................................................................................................. 14

4.12 View consumption volume ......................................................................................................... 14

Software Requirements Specification for <Hard Decisions> Page iii

4.13 System Setting ............................................................................................................................ 15

5 Other Nonfunctional Requirements .....................................................................................15

5.1 Performance Requirements ........................................................................................................... 15

5.2 Safety Requirements ..................................................................................................................... 16

5.3 Security Requirements .................................................................................................................. 17

5.4 Software Quality Attributes .......................................................................................................... 17

6 Other Requirements ..............................................................................................................19

6.1 Database requirement ................................................................................................................... 19

Reference ......................................................................................................................................21

Revision History

Date Description Reviewer Notes

9/28/16 Version 1.0 Jing Peng First version of requirement report

9/30/16 Version 1.1 Zhiwen Shi Final version of requirement report

10/04/16 Version 2.0 Zhiwen Shi Revision report advised from Dr Wang

11/04/16 Version 3.0 Jing Peng

Modified Use case in Chapter 4

Delete “Entertainment while waiting” and

“Estimate waiting time”

11/27/16 Version 4.0 Zhiwen, Dustin , Jing

Member’s Title

Date Printed Name Title

9/19/16 Dustin Groce Project Manager, Web Development team Manager

9/19/16 Zhiwen Shi Research team Manager, Tester

9/19/16 Sirisha Padavala Report manager, Tester

9/19/16 Jing Peng Database Development team Manager

Software Requirements Specification for <Hard Decisions> Page iv

Specific work

Date Printed Name Specific work

9/29/16 Dustin Groce Section 3 and most of section 4

Develop home page

9/29/16 Zhiwen Shi

Section 1

Format modifying for report

Make presentation slides

9/29/16 Sirisha Padavala Section 2

Make presentation slides

9/29/16 Jing Peng

Section 5 and 6

Section user case digram,4.7,4.11,4.12,4.13

Make presentation slides

Home page link: http://people.wku.edu/dustin.groce764/

Software Requirements Specification for <Project> Page 1

1 Introduction

1.1 Purpose

This software requirements specification (SRS) specifies the requirements for Hard Decision system

for online meal ordering. This documentation will be used for software developers and users to

understand these system development requirements. The interface of the system is an online website

for customers to order food through a personal account. Also, this system will provide takeout,

delivery and dine-in services; therefore, customers can view the ordering information they need, such

as food preparation times and total price.

1.2 Document Conventions

Convention Description

Bold Times Normally used to emphasize titles

Times Used to detail descriptions for title to explain

each title

Courier Bold This is used to represent command line,

listing file, or source code

Title Case Times This is used to important words such as

project name

Software Requirements Specification for <Project> Page 2

1.3 Intended Audience and Reading Suggestions

Several different audiences are expected to read this document. These include members of develop

team, instructor, testers, and potential users of this system. Developers will use this document as

resource for system development and it is important for them to understand the project. Therefore,

they need to read the whole specification from the overall descriptions to each detailed requirement.

Instructor will provide some advice for developers, so reading the introduction and requirements

should be the most necessary. Testers need to understand system features to set up the test cases for

testing the system. Users, mainly restaurant customers, should go through the external interface

requirements so that they can learn how to use the interface.

1.4 Product Scope

Many have been in this situation before: you are craving the food from a restaurant but there is a long

line ahead. At this moment, would you prefer to wait in line to get your order and sit in the waiting

area? Or would you prefer to order ahead and pick up at certain time? Probably, most people will

choose latter. On the other side, restaurant managers will prefer a system that will allow a better way

of receiving orders so that they can arrange a better plan to prepare food for customers. The most

important reason for them is to get a good complimentary rate from customers so that restaurant

business can be improved. Therefore, we design the Hard Decisions system to solve this problem and

save your time.

Hard Decisions website provides menu for customers to order food online. Customers can first create

and login to their personal account and go through the menu, choosing their orders and then purchase

online. After the system confirms their order, the customer will get food information such as waiting

times. This system benefits both customers and restaurant employees. Customers can freely choose

Software Requirements Specification for <Project> Page 3

their food for any time period without worried about waiting for servers to order. Also, restaurant

employees can go through the order quickly and prepare food efficiently with minimal delays.

2 Overall Description

2.1 Product Perspective

The software described in this SRS is the software for a complete Restaurant Meal Ordering System.

The system involves various software elements and further interactions with external system.

2.2 Product Functions

The online meal order system application would have the respective functions. The corresponding

modules involve the following:

2.2.1 Customer Module

Create an account

Login in to the account

Software Requirements Specification for <Project> Page 4

Account recovery

Place an order

Add/remove order information

Rating and commenting

Get waiting time

Get price

2.2.2 Manager Module

System settings

Login in to the account

Account recovery

Place an order

Add/remove order information

Get waiting time

Get price

2.3 Operating Environment

With the system’s operational environment, it must be able to operate for long periods without error.

The server must be able to operate unattended indefinitely. It should not need physical interaction

except for upgrades and failures of hardware elements. Backup and recovery should be handled by

the DBMS and operating system or external software running on a timed backup system interaction

from the meal ordering should not be required.

Software Requirements Specification for <Project> Page 5

2.4 Design and Implementation Constraints

The Meal Ordering System (MOS) should be written in a language with strong Graphic User Interface

(GUI) capability. The system must provide a capacity for parallel operation and system design should

not introduce scalability issues with regard to the number of surface computers, tablets or displays

connected at any one time. The end system should also allow for seamless recovery, without data loss

from individual device failure. With that in mind, the most adaptable and portable technologies should

be used for the implementation. The system must be reliable enough to run crash and glitch free more

or less indefinitely, or facilitate error recovery well enough such that glitches are never revealed to

its end-users.

2.5 User Documentation

Prior to the deployment of our software, we will have extensive documentation allowing users to

follow clearly laid out guidelines to successfully use this system. This documentation will provide

the user with step by step instructions for creating an account, account login and recovery, ordering,

and system settings (for manager accounts).

2.6 Assumptions and Dependencies

It is assumed that devices of sufficient processing capability will be utilized. The devices employed

by this system should facilitate being utilized and left on for extended periods (sufficient for daily

use) and that they are programmable.

Software Requirements Specification for <Project> Page 6

3 External Interface Requirements

3.1 User Interfaces

When a user first accesses the Hard Decisions homepage, they will encounter an interface like the

one shown below. The Hard Decisions logo, as well as the Menu, Order Online, and About Us links

will be standard buttons that will be displayed on every screen. All of the information on a specific

page will be shown in the body field.

If it is a first time user, they will be able to select the “New User? Register Here” field to create an

account. If they already have an account, the user will be able to log in at the top of the page. Once

logged in, the user will be directed back to the homepage, where they can look at the menu or click

the “Order Online” tab to begin the order function.

Software Requirements Specification for <Project> Page 7

3.2 Hardware Interfaces

This project needs at least 4 laptops or desktops, which use CPU core I5, ram 4GB, HDD 500GB.

This web application is designed to run on any modern laptop or desktop. It will also need access to

a web/database server.

Software Requirements Specification for <Project> Page 8

3.3 Software Interfaces

This application will be using a database with multiple tables to store and retrieve information about

menu items, customer's information, and orders. Main software used:

Atom

MySQL

Atom is an editor used for creating our HTML, CSS, and PHP documents. MySQL is for

database design. This project also uses other software such as: Microsoft office 2010 for

writing documents, multiple current browsers for testing, Google Drive for sharing documents,

and Skype for member communication.

3.4 Communications Interfaces

This application will use a Simple Mail Transfer Protocol for email communication when a

user requires to recover their account information.

Software Requirements Specification for <Project> Page 9

4 System Features

4.1 Create an Account

4.1.1 Description and Priority

This function will allow the customer to create a user account. They will be able to store their account

information, simplifying the ordering process for frequent customers. This will require the customer’s

information to be stored within a database. This function is medium priority.

4.1.2 Stimulus/Response Sequences

At the top of the Hard Decisions website, the customer will have a display allowing them to either

log in to their account or create a new account.

4.1.2.1 -This function will begin when the customer selects to create a new user account. They will be directed to a page with a form to input their information.

General User Cases

Software Requirements Specification for <Project> Page 10

4.1.2.2 -The form will require the customer to enter a username, password, first name, last name, email address, and physical address.

4.1.2.3 -Once they submit the information, the site will access the database and search through the current usernames. If the username is found, the user will be informed that their desired username is already in use and asked to input a new user name. This process will repeat until the user inputs a unique username and then their information will be stored in the database.

4.2 Account Login

4.2.1 Description and Priority

This function will allow a user to log in to the system. It is a high priority function.

4.2.2 Stimulus/Response Sequences

4.2.2.1 – User will input their username and password into the login section.

4.2.2.2 – System will access users database to verify information.

4.2.2.3 – If user information is incorrect, system will display to user that either the username or password is incorrect. System will prompt the user to recover their account information.

4.2.2.4 – If user information is correct, user will be logged into system.

4.3 Account Recovery

4.3.1 Description and Priority

This function will allow a user who has forgotten their account information to recover their account.

It is a medium priority function

4.3.2 Stimulus/Response Sequences – After the user inputs invalid information into the login

screen, they will be given the option to recover their account information.

4.3.2.1 -User will input their email address then the site will access the database and search or the username that was inserted.

4.3.2.2 -If the email is not found, the system will notify the user that an invalid email address was input. If the email is found, the system will notify the user than an email will be sent to their account with the account details.

4.3.2.3 -The system will then create an email with the custom username and password and send it to their email.

Software Requirements Specification for <Project> Page 11

4.4 Place an Order

4.4.1 Description and Priority

This function will allow the customer to place an order for either delivery, take-out, or dine-in. This

is the main function for the website and is a high priority function. This function must access multiple

databases and will envelop many smaller functions.

4.4.2 Stimulus/Response Sequences

4.4.2.1 - This function will begin when the customer selects to “Order Online” on the website.

4.4.2.2 - If the customer is not logged in they will be prompted to either login or create a new account and directed to that function.

4.4.2.3 - The user will be asked if the order is for delivery, take-out (refer to SRS 4.9), or dine-in (refer to SRS 4.5). The system will store the users selection in the database with order information. Next, the user will be directed to the order page. This page will display links for Drinks, Appetizers, and Entrées.

4.4.2.4 - The customer will click on their choice and be directed to all of the menu options for their selected choice. For instance, if the customer selects Drinks, the site will access the database storing the menu items and access all of the drinks (refer to SRS 4.6).

4.4.2.5 - The page will then display an image of the drink with the product name and a button allowing the customer to add a quantity of that product to their order.

4.4.2.6 - Once the customer has selected all of their desired items, there will be an option to checkout at the bottom of the page.

4.5 Check Table Status

4.5.1 Description and Priority

This function will check that a table is available for customers that have selected to dine-in during

their order. The benefit to this function is that it will ensure that there is availability for the customer

at the time they have requested. It will access a database storing the seating information. It is a

medium priority function.

4.5.2 Stimulus/Response Sequences

4.5.2.1 - When a customer is placing their order and selects the dine-in option, they will be requested to enter the number of customers dining and the time they wish to reserve.

4.5.2.2 - The site will then access the database storing the table information and verify that a table of appropriate size is available at the time requested.

Software Requirements Specification for <Project> Page 12

4.5.2.3 - If there is no availability, the customer will be notified and asked if they would like to select a different time.

4.6 Add/Remove Order Information

4.6.1 Description and Priority

This function will store the customer's order selections and information in the special requests field.

It will also remove items from the customer cart if they so choose. This is a high priority function.

4.6.2 Stimulus/Response Sequences

4.6.2.1 - When the customer is placing their order, they will see all of their choices on the page and have the option to add a quantity of a specific item to their order.

4.6.2.2 - When the user selects an item, the system will add the information for their choice to the database storing the order information.

4.6.2.3 - If the user wants to remove an item from their cart they will have a button allowing them to remove the item. If they choose to remove the item, the system will access the database and remove the selected item from the customer's order.

4.6.2.4 - Once the customer decides to checkout, they will have an option to add a special request to their order. If the customer adds any information to this field, the system will write this information to the database as well.

4.7 Entertainment while waiting (Optional)

/* This is an optional function, we will leave this part last. If we have enough time, we will develop this part. */

This function will allow the customer to have some entertainment activities while they are waiting

for the meal. The entertainment activity includes listening to music, playing some small games, and

watching some funny videos. This is a low priority function.

4.7.1 Description and Priority

4.7.2 Stimulus/Response Sequences

4.7.2.1 - After the order list been submitted, a time counting down is shown on screen after each dish ordered.

4.7.2.2 - While waiting , if customers are interested in, they are able to select an entertainment activity while waiting.

4.7.2.3 - Activities include music, small games and funny videos.

Software Requirements Specification for <Project> Page 13

4.8 Calculate Price

4.8.1 Description and Priority

This function will simply calculate the price of the customer's order. This is a medium priority

function.

4.8.2 Stimulus/Response Sequences

4.8.2.1 - This function will begin when the customer chooses to checkout.

4.8.2.2 - Once the customer selects the checkout option, the system will access the customer order information and retrieve the price of each item in the order.

4.8.2.3 - It will add the total cost of these items and calculate the tax associated and display this information to the page.

4.9 Estimate Wait

4.9.1 Description and Priority

This function will calculate the estimated wait time for their order, depending on options that were

selected. This is a low priority function.

4.9.2 Stimulus/Response Sequences

4.9.2.1 - This function when begin once the user has checked out.

4.9.2.2 - The site will access the order information. Each dish will have a preparation time associated with it. The longest time that is associated with each dish that was ordered will be pulled (ex. Customer orders Dish A that has a 20 minute preparation time and Dish B that has a 15 minute preparation time, 20 minutes will be stored).

4.9.2.3 - If the user opted for delivery, a standard 20 minutes will be added to the time that was pulled. This will then display to the page a countdown of the calculated time.

4.10 Bill Selection

4.10.1 Description and Priority

This function will allow the customer to split the order into multiple bills. It is a low priority function.

4.10.2 Stimulus/Response Sequences

Software Requirements Specification for <Project> Page 14

4.10.2.1 - When the customer is in the checkout screen, all of the items the customer has chosen will be displayed to the screen. They will have the option to select how many bills they would like for this order.

4.10.2.2 - Boxes will appear for the appropriate number of bills that the customer has chosen. They will be able to drag the items from their order into each bill they have chosen.

4.10.2.3 - The system will then access the function to calculate the price for each bill and display the cost for each bill to the screen.

4.11 Rating and commenting

4.11.1 Description and Priority

This function will allow the customer to rate for dishes and to leave comments about food and dining

experience. The customer can choose whether to do it or not. This is a low priority function.

4.11.2 Stimulus/Response Sequences

4.11.2.1 - After check out, system will ask for rating and commenting. It is optional for customers whether to rate or not.

4.11.2.2 -If the customers have willing to rate and comment, they can click stars to rate, and use keyboard to enter some comments.

4.11.2.3 - If there is no mouse click or keyboard enter, the dialogue box will be closed in 30 seconds, and system will return to Home Page.

4.12 View consumption volume

4.12.1 Description and Priority

This function will allow manager to know some detail information about the restaurant working.

These detail information is the consumption detail of every table, that includes: the date, dining time

(start time and end time), the table id, the dishes customers ordered, the total price and so on. And at

bottom, system will calculate the total consumption volume of today. Only the manager account have

right to view consumption volume. This is a medium priority function.

4.12.2 Stimulus/Response Sequences

4.12.2.1 - Firstly, manager should log in manager account.

4.12.2.2 - After login, manager click “View consumption volume” to enter consumption volume page.

4.12.2.3 - The manager can choose view mode. There are three view modes: view daily, view monthly and view yearly.

4.12.2.4 - If manager selects view daily, he need to choose year, month and date, and click “view” button. And the selected daily information will be shown on screen.

Software Requirements Specification for <Project> Page 15

4.12.2.5 - If manager selects view monthly, he need to choose year, and month, and click “view” button. And the selected monthly information will be shown on screen.

4.12.2.6 - If manager selects view yearly, he need to choose year and click “view” button. And the selected yearly information will be shown on screen.

4.13 System Setting

4.13.1 Description and Priority

This function will allow manager to set some data, such as adding a new picture of a dish, modifying

the price of a dish, and removing a dish. The change will sync the database. Only the manager account

has right to do system setting. This is a medium priority function.

4.13.2 Stimulus/Response Sequences

4.13.2.1 - Firstly, manager should log in manager account.

4.13.2.2 - After log in, manager click “System Setting” to enter setting page.

4.13.2.3 - If the manager wants to modify something, he can find the old data, then use keyboard to modify the new data.

4.13.2.4 - If the manager wants to add a new dish, he enter the dish name, dish price, etc.

4.13.2.5 -If the manager wants to remove a dish, click “remove” and choose the dish. Other Nonfunctional

5 Other Nonfunctional Requirements

5.1 Performance Requirements

To judge the performance of a software, we should focus on its two main aspects: stability and

response time. To make it more detailed, we set two goals as below:

Serve 10 users at the same time

All the operations can respond within 3 seconds

Since it is an online system, the capacity for viewers should not be really small . We expect our system

can hold 10 or more users at the same time without occurring any errors. Users can view the website,

order food or check out and nothing goes wrong. That is the stability aspect of performance

requirements.

As for time response, we assume all the operations can respond within 3 or less seconds. Here are

more specific time requirements listed below:

Software Requirements Specification for <Project> Page 16

The time requirement for network refreshing.

a) The time for network refreshing should be constrained less than 2 seconds. If a website needs

longer time to refresh, most users will choose to leave that page.

b) The time requirement for network jumping.

The time for network refreshing should be constrained less than 3 seconds. The same reason with a).

c) The time requirement for database searching.

The time for database searching depends on the data size. For the database in project, the average

searching speed should be faster than 1000 records per second.

5.2 Safety Requirements

There are three major types of software failure which may cause possible loss or damage to system:

Software logic errors, Software support errors and Hardware failures[1]. So we are trying to solve

these errors to increase system safety.

Software logic errors are often a result of the programmer making errors in the coding, whether it is

simply a mistake on their part, or an incorrect set of requirements they are following. In addition, it

may have been a mistake made in the design phase which follows through into the implementation of

the system.

Software support errors are linked to the software being used to create the program. Perhaps these

errors are from the compiler, an external library being used, or even the programming language.

Due to the fact that software needs hardware to run on, software safety also has to take hardware

safety into account. Therefore, hardware failure is an important aspect to consider in safety critical

systems. Even if the software is completely bug free and perfect, if the hardware malfunctions in

some way, perhaps memory corruption or interrupt failure, this can also lead to software malfunction.

We have made some safety requirements trying to solve the problems above.

5.2.1 Analyze before coding

In order to avoid software logic errors and hardware failures, we are required to choose a good

computer to work as server. The computer should be strong enough to support 10 users online at the

same time. Also, we should draw float diagram, use case diagram, sequence diagram and so on to

make global understanding of the whole project.

5.2.2 Be careful when coding

When coding, we should be care about the “for loop”, “if else” case, and return value. Avoid writing

infinite loop, do not forget “else” case, and try to release space when a function is end. Good coding

habit will come out with robust and succinct code.

5.2.3 Do large amount of tests after coding.

After each function finished, we should do large amount of tests to make sure it is safe and reliable.

We can do some boundary tests and pressure tests to make sure where is the limit of each function.

Software Requirements Specification for <Project> Page 17

5.3 Security Requirements

During the software developing, security is an important point that needs to be carefully considered

about. For our project, security measures should be taken in 3 places below:

5.3.1 Log in account

Users are required to enter the correct username and password to log in. After three times of wrong

entering, system will automatically lock the account for security. Users need to click “forget

password” button to unlock account.

5.3.2 Guests’ information

There are two levels of account. One is common user account, the other is manager account. When

register a common account, system requires user to enter some private information such as address,

phone number and email address, which are for meal delivery service. And only manager account and

user himself can view this information.

5.3.3 Daily consumption volume

Daily consumption volume is a part of business secret. Only the manager can see this part, and

manager should create a special password for that.

5.4 Software Quality Attributes

5.4.1 Adaptability

Adaptability means a system adapts its behavior to individual users based on information acquired

about its user(s) and its environment [2]. Our system should adapt different kinds of users, from male

to female, from children to old.

In order to realize adaptability, we are required to develop the system in this way: Try to use picture

to show each dish, try to concise the interface and try to make operations become transparent.

5.4.2 Usability

Usability is the ease of use and learnability of a human-made object such as a tool or device[3].The

usability of our system is mainly reflected in three aspects: easy to use, friendly interface and fast

response time.

5.4.2.1 Easy to use

As we mentioned in 5.4.1, the user of our system varies from male to female, young to old, since the

knowledge and ability is quite different, we need to make the system as easy to use as possible. For

example, before ordering, users can easily view all the information about all the dishes. Such as the

picture, the ingredients, the price and the estimated cooking time of each dish.when users are going

to order some dishes, they just need to click “Add one” button, then the dish is added to chart, and

the system automatically calculated the price of all the dishes have been ordered.

5.4.2.2 Friendly Interface

Software Requirements Specification for <Project> Page 18

Nobody likes ugly website design. In order to increase the satisfaction experience, we are trying to

make a better Interface design. Interface design includes the color matching, the ratio of words and

pictures, and the layout design.

5.4.2.3 Fast response

As mentioned in 5.1, a good system requires fast response. Users will leave that page is the response

time is too long. So we are trying to make all operations respond within 3 seconds.

5.4.3 Correctness

Our system requires a lot of reading and writing operations from database. Besides, the calculation

part also needs correctness. For example, when users view the dish information, the information

should be read from database and shown on interface correctly. When check out, the calculation of

total price should never go wrong.

5.4.4 Flexibility

Our system should have some fault tolerance parts inside, some small errors should not make the

whole system stop working. For example, when some reading or writing works from database go

wrong, the database should not be crashed. The system is assumed to delete the incorrect input or

output automatically and recover to original status using database log or other ways.

Also, if we finish all the basic functions and still have enough time, we can consider to add more

humanized functions to make our system looks smart. For example, we can add “Calorie” attribute to

“Dish” entity, when users order too much, the system can pop-up a dialogue box, remind users to

remove some dishes.

5.4.5 Interactivity

In computers, interactivity is the dialog that occurs between a human being (or possibly another live

creature) and a computer program[4]. Our system has good interactivity ability:

5.4.5.1 Special taste requirements

When ordering food, users can write down their special requirements on this dish. Some people hate

garlic, some people like overcooked food and some people like heavy spicy food. So everyone can

write down his special requirements and the cook will satisfy these requirements.

5.4.5.2 Freedom when check out

When check out, the guests can choose the number of bills. And drag his own food into his own bill.

So the system will know the detailed bill information.

5.4.5.3 Comments after meal

After checking out, if the customers want, they can leave any comments they want and give a rate for

the food.

5.4.6 Maintainability

This system is required to be maintained easily. For manager, they can modify dish information, such

Software Requirements Specification for <Project> Page 19

as dish price, dish picture, dish discount, etc. Also, the manager should be able to change the table

information. For example, the manager buys two new tables and then he can add new table

information into the system.

If the system occurs some bugs, the system is required to give some error information, so the

developers can easily know which part, or which function goes wrong and then correct the errors.

5.4.7 Reliability

As mentioned in 5.1, the system should be reliable. It is assumed to serve 100 users at the same time

and nothing goes wrong. If necessary, this system can work as long time as possible.

5.4.8 Testability

Each function should be separately designed, and after each function finished, developers are going

to take boundary test and pressure test once and once again. All the function should be easy to test.

For testing, developers can add different error code to distinguish different exceptions.

6 Other Requirements

6.1 Database requirement

6.1.1 Database Installation

We choose MySQL as our database software. We need to develop the project on a laptop witch

installed MySQL.

Download address: https://www.mysql.com/downloads

6.1.2 Database creation

We need to create a database named “Hard_decision”.

6.1.3 Table creation

We approximately need 4 tables for the whole project, so the database should be able to create table.

6.1.4 Insert data & Delete data

When the table is created, data should be able to insert and delete.

Software Requirements Specification for <Project> Page 20

6.1.5 Update table

Also, data should be easy to modify and the table should be able to update.

6.1.6 Connection with Interface

Most importantly, database should be able to connect with Web interface. Interface should be able to

read data from database or write data to database.

Software Requirements Specification for <Project> Page 21

Reference

[1]

http://www.cs.nott.ac.uk/~pszcah/G53QAT/Report08/tdh06u-WebPage.html

[2]

https://en.wikipedia.org/wiki/Adaptation_(computer_science)

[3]

https://en.wikipedia.org/wiki/Usability

[4]

searchsoa.techtarget.com/definition/interactivity


Recommended