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