ONLINE BAKERY
SOFTWARE REQUIREMENTS SPECIFICATION
<Hanoi, 29-01-2017>
RECORD OF CHANGE
*A – Added M – Modified D – Deleted
Effective Changed Items *A, M, D Change New version
Date Description
29-01-2017 The whole document A Initial version 1.0
05-02-2017 Table of contents A 1.1
10-02-2017 Use cases M 1.2
12-02-2017 Interface requirements A 1.3
12-02-2017 Mockup UI A 1.3
TABLE OF CONTENTS
RECORD OF CHANGE ...................................................................................................................... 2
1. INTRODUCTION .......................................................................................................................... 4
1.1 Purpose.................................................................................................................................. 4
1.2 Scope ..................................................................................................................................... 4
1.3 Definition, Acronyms and Abbreviations ............................................................................ 4
1.4 Reference .............................................................................................................................. 4
1.5 System proposals ................................................................................................................. 4
1.6 Overview ................................................................................................................................ 5
2 OVERALL DESCRIPTION ......................................................................................................... 5
2.1 Product Perspective ............................................................................................................. 5
2.2 Product Functions ................................................................................................................ 5
2.2.1 Client side ............................................................................................................................ 5
2.2.2 Server side........................................................................................................................... 6
2.3 User characteristics ............................................................................................................. 7
2.4 General Constraints ............................................................................................................. 7
3 SPECIFIC REQUIREMENTS ..................................................................................................... 8
3.1 Functionality .......................................................................................................................... 8
3.1.1 Client side ......................................................................................................................... 8
3.1.2 Server side ...................................................................................................................... 18
3.2 Non-functional requirements ............................................................................................ 27
3.3 Performance requirements ............................................................................................... 27
3.4 Technical issues ................................................................................................................. 27
4 Interface Requirements .......................................................................................................... 27
4.1 User interface...................................................................................................................... 27
4.2 Software requirement ........................................................................................................ 27
4.3 Hardware requirement ....................................................................................................... 27
5 Mockup UI .................................................................................................................................. 27
5.1 User interface...................................................................................................................... 27
5.2 CMS interface ..................................................................................................................... 28
1. INTRODUCTION
The introduction of the Software Requirements Specification (SRS) provides
an overview of the entire SRS with purpose, scope, definitions, acronyms,
abbreviations, reference, system proposals and an overview of the SRS.
1.1 Purpose
The aim of this document is to gather, analyse and provide a consistent
and complete description of the requirements for the software: Online
Bakery. The Online Bakery (OB) system helps to manage all online
transactions in a systematic order, which is beneficial for both sellers
and customers.
1.2 Scope
This system is convenient to computerize all the sales activities related
to bakery. It focuses on the seller (server-side) and the customer
(client-side) to provide online sales and related activities.
1.3 Definition, Acronyms and Abbreviations
ID Acronym Definition
1 SRS Software Requirements Specification
2 OB Online Bakery
3 CMS Content Management System
4 app application
1.4 Reference
- Software Requirements Specification Sample (by LongNHSE03005)
- Software Engineering - Ninth Edition (by Ian Sommerville)
- Software Requirements Specification for Online Shopping System
Link: http://docshare01.docshare.tips/files/24792/247923506.pdf
1.5 System proposals
- Chatbot with framework:
● A bot can answer questions of users by detecting keywords in their
messages.
● Use Text Analysis and Linguistic Analysis APIs of Microsoft
Cognitive Services to analyze the text chat.
● · Using Java to design webpage.
1.6 Overview
We intend to develop the application with the following main part:
- Client side: This part includes features to help user use the core
function of website such as: login, register, view products, add
products to cart, checkout, order with voice, etc.
- Server side: This part contains all features to manage the content of
the system such as: add/update/remove products, view orders,
change order’s status, etc…
2 OVERALL DESCRIPTION
2.1 Product Perspective
● The website is to provide a cake-ordering service for customers, and a
management system for sellers.
● It aims to promote customers to order cake by providing enhanced
features:
- Chatbot to interact with customers
- Voice recoginition to assist special use cases such as bind or illiterate
customers
- Individual product suggestions to fit customers’ taste.
The website is a Java web-based application, so any device with web
browser and Internet connection will be able to assess.
● Chatbot and voice recognition are created using Microsoft Cognitive
Service and Google’s Speech-to-text API so these features will
depend on the availability of Microsoft’s and Google’s third party
services.
2.2 Product Functions
2.2.1 Client side
Class of use cases Use case Description of use cases
User account Register User can register a new
account
Login User can log into the website
via created account
Update account Edit password and account
information information
Product Search for products Search for products using
product name, price, etc.
Add product to cart Add product to cart
Remove product in cart Remove product in cart
Change quantity of chosen Change quantity of chosen
product product
Review product Review available products
with ratings, comments,etc.
Checkout Confirm chosen products and
send order to CMS
View order history View orders history
Send feedback and Send feedback and
suggestions suggestions
Chatbot Chat with bot Chat with bot using text or
speech for simple demands
or guidelines
2.2.2 Server side
Class of use cases Use case Description of use cases
Admin account Login Login using admin account
Change password Change admin account
password
Order View orders View orders made by
customers
View order details View details of an order: what
products, how many and
product status, etc.
Update order status Change order status to be
paid.
Product
Add product Add product to the list of
available products
Remove product Remove product from the list
of available products
Update product Update product from the list
of available products
View feedback and View feedback and
suggestions suggestions made by users
2.3 User characteristics
The website doesn’t require any special characteristics of user.
2.4 General Constraints
The website requires Internet connection and browser to assess (client
side).
CMS needs Internet connection and browsers
2.5 Requirement Subsets
The website will request users for:
● Permission to use cookies
● Permission to store and use user’s data if user wants to access product
suggestion functions
3 SPECIFIC REQUIREMENTS
3.1 Functionality
Primary Actor Use Cases
User 1. Register
2. Login
3. Update account information
4. Search for products
5. Add product to cart
6. Remove product from cart
7. Change product quantity in
cart
8. Review product
9. Checkout
10. View order history
11. Send feedback and
suggestions
12. Chat with bot
Admin 13. Login
14. Change password
15. View orders
16. View order details
17. Update order status
18. Add new product
19. Update product
20. Remove product
21. View feedbacks and
suggestions
3.1.1 Client side
Use Case ID: OB01
Use Case Name Register
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can register a new account to get access to core
functions of the system
Preconditions User entered the website
Postconditions A new user account is created and saved in the database.
Normal Flow 1. User clicks [Login]
2. A login form is displayed.
3. User clicks [Register] below the login form
4. User is presented with the registration form
5. User fills in the required information
6. User confirms the registration
7. A new account is created
Alternative Flows N/A
Exceptions ● The information is either incomplete or invalid;
prompt the error to the user and go back to step 5
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB02
Use Case Name Login
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can log into the website to be able to make and view
orders
Preconditions User registered an account on the system
Postconditions User is logged in
Normal Flow 1. User clicks [Login]
2. A login form shows up
3. User provides necessary information
4. Server does authentication
5. The main page is displayed
Alternative Flows N/A
Exceptions ● Server authentication failed, prompt the error to user
and go back to step 3.
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB03
Use Case Name Update account information
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can update his/her account information: password, full
name, gender, phone number, shipping address
Preconditions User logged in
Postconditions User’s information is updated
Normal Flow 1. User clicks [Update Information]
2. User provides changes to his/her information
3. User confirms the changes
4. User’s information is updated
Alternative Flows N/A
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB04
Use Case Name Search for products
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can search for products which can be filtered by
product categories such as price, name, most ordered
items, etc.
Preconditions User entered the website
Postconditions A list of related products are displayed to user
Normal Flow 1. User clicks [Search bar]
2. User types in search terms
3. A list of related products is displayed to the user
Alternative Flows 1(a). User opens [Chatbot]
2(a). User speaks the information to search for products.
Exceptions If no product contains information related to the search
terms, display a message indicating there is no product
related
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB05
Use Case Name Add product to cart
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can add product to his/her order list
Preconditions User logged in
The desired product is in stock
Postconditions The desired product is added to user’s cart
Normal Flow 1. User clicks on a product for details
2. User chooses quantity
3. User clicks [Add to cart]
4. The product is added to user's cart
Alternative Flows N/A
Exceptions If quantity is greater than stock number, prompt the error to
user and cancel the operation
Priority High
Special If product already exists in cart, check for exceptions; if no
Requirements exception, add the product quantity to its existing value in
user's cart.
Notes and Issues N/A
Use Case ID : OB06
Use Case Name Remove product from cart
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can remove a product from his/her order list
Preconditions User logged in
User added one or more products to cart
Postconditions The chosen product is removed from user's cart
Normal Flow 1. User clicks [Cart]
2. User clicks [x] on the line of the product to be
removed
3. The product is removed from order list
Alternative Flows N/A
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB07
Use Case Name Change product quantity in cart
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can change quantity of an chosen product in cart
(limited by the number of product in stock)
Preconditions User logged in
User added one or more products to cart
Postconditions Quantity of the chosen product in cart is updated according
to user's wish
Normal Flow 1. User clicks [Cart]
2. User clicks on the quantity text field of the respective
usufruct
3. User changes quantity
4. User clicks [Update]
5. The quantity of the product is updated
Alternative Flows N/A
Exceptions Quantity not valid, operation aborted
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB08
Use Case Name Review product
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can review products in the shop including rate value
(on the scale of 5) and comment message.
Preconditions User logged in
User has used the product before
Postconditions User's review is shown in the product page
Normal Flow 1. User clicks on a product
2. User chooses rating for the product
3. User types their comments
4. User confirms their review
Alternative Flows N/A
Exceptions N/A
Priority High
Special User’s review must not be shorter than 5 words
Requirements
Notes and Issues N/A
Use Case ID : OB09
Use Case Name Checkout
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User confirms chosen products and check out
Preconditions User logged in
User added one or more products to cart
User's shipping address and phone number are updated in
user's profile
Postconditions User’s order is sent to server
Normal Flow 1. User clicks [Cart]
2. User clicks [Check out]
3. User confirms order details
4. User’s order is sent to server
Alternative Flows N/A
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB10
Use Case Name View order history
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can view his/her list of orders in the past
Preconditions User logged in
Postconditions User’s past orders are displayed
Normal Flow 1. User clicks [Profile]
2. User clicks [Order history] on left sidebar
3. User’s past orders are displayed
Alternative Flows N/A
Exceptions If user has no past order, display a message indicating that
user has no past order
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB11
Use Case Name Send feedback and suggestions
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can send his/her feedback to the admin
Preconditions User logged in
Postconditions User’s feedback is sent to server and saved in database.
Normal Flow 1. User hovers [Contact] on menu bar
2. User clicks [Send feedback and suggestions]
3. User types in feedback message.
4. User confirms and clicks [Send]
5. User’s feedback is sent to server.
Alternative Flows N/A
Exceptions N/A
Priority High
Special User’s feedback must not be shorter than 5 words
Requirements
Notes and Issues N/A
Use Case ID : OB12
Use Case Name Chat with bot
Created By CanhKD Last Updated By CanhKD
Date Created January 28, 2017 Date Last Updated February 10, 2017
Actors User
Description User can chat with bot by text or voice
Preconditions User entered website
Postconditions User’s message is replied by chatbot
Normal Flow 1. User clicks [Chatbot]
2. User types in his/her message
3. User confirms and clicks [Send]
4. User’s is automatically replied
Alternative Flows 1(a). User speaks “Chat with bot” to activate voice mode.
2(a). User speaks the message.
3(a). User speaks “Send”.
Exceptions N/A
Priority High
Special User’s message should not be empty.
Requirements
Notes and Issues N/A
3.1.2 Server side
Use Case ID : OB13
Use Case Name Login
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can log into the system to update contents, manage
orders and view feedbacks and suggestions, etc.
Preconditions There exists admin account in database
Postconditions Admin logged in the system
Normal Flow 1. Admin clicks [Login]
2. A login form shows up
3. Admin provides necessary information.
4. Server does authentication
5. CMS page is displayed
Alternative Flows 5(a). Authentication fails
5(a).1. Prompt the admin that he/she provided invalid
information.
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB14
Use Case Name Change password
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can change his/her password
Preconditions Admin logged into system
Postconditions New password is updated
Normal Flow 1. Admin clicks [Change password]
2. A change password form shows up
3. Admin provides and confirms new password
4. Server does authentication
5. CMS page is displayed
Alternative Flows 5(a). Authentication fails
5(a).1. Prompt the admin that he/she provided invalid
information
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB15
Use Case Name View order list
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can all view available orders in a list table
Preconditions Admin logged into the system
Postconditions Detailed orders table is displayed
Normal Flow 1. Admin click [View Orders]
2. Orders table is displayed
Alternative Flows N/A
Exceptions If there is no order, prompt a message indicating the there
is no available order.
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB16
Use Case Name View order details
Created By CanhKD Last Updated By CanhKD
Date Created February 01, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can view a particular order’s detail made by users.
Preconditions Admin logged in
Order list is not empty
Postconditions Order detail is displayed
Normal Flow 1. User clicks [View orders]
2. User clicks on an order in the Order table
3. Order details is displayed
Alternative Flows N/A
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB17
Use Case Name Update order status
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can change order status from pending to paid.
Preconditions Admin logged in
Order list is not empty
Postconditions Order status is updated
Normal Flow 1. Admin clicks [View orders]
2. Admin chooses an order status
3. Admin clicks [Update]
Alternative Flows N/A
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB18
Use Case Name Add new products
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can add a new product to Product list
Preconditions Admin logged in
Postconditions New product is added
Normal Flow 1. Admin clicks [Manage products]
2. Admin clicks [Add]
3. Admin fills in details of product
4. Admin confirms product details
5. The new product is added
Alternative Flows N/A
Exceptions A product with the same name exists in database, prompt
the error to admin, addition is aborted
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB19
Use Case Name Update product
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can update a product’s information such as price,
stock,etc.
Preconditions Admin logged in
Product list is not empty
Postconditions Product’s details are updated
Normal Flow 1. Admin clicks [Manage products]
2. Admin clicks [Update] on a product row
3. Admin edit product details
4. Admin confirms the update
5. Product is updated
Alternative Flows N/A
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB20
Use Case Name Remove product
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can remove a product which is not available in stock
from the Product list
Preconditions Admin logged in
Product list is not empty
Postconditions Product is removed
Normal Flow 1. Admin clicks [Manage products]
2. Admin clicks [Remove] on a product row
3. A prompt displays asking for confirmation
4. Admin confirms the removal, remove the product
Alternative Flows N/A
Exceptions N/A
Priority High
Special N/A
Requirements
Notes and Issues N/A
Use Case ID : OB21
Use Case Name View feedback and suggestions
Created By CanhKD Last Updated By CanhKD
Date Created February 1, 2017 Date Last Updated February 10, 2017
Actors Admin
Description Admin can view feedback and suggestions made by users.
This function is to help admin collect and analyze feedbacks
from users.
Preconditions Admin logged in
Postconditions Feedback and suggestions is displayed
Normal Flow 1. Admin clicks [View feedback and suggestions]
2. Feedback list is displayed
Alternative Flows N/A
Exceptions If there is no feedback, display a message indicating there
is no feedback
Priority High
Special N/A
Requirements
Notes and Issues N/A
3.2 Use case diagram
3.3 State Diagram
3.4 Non-functional requirements
- Security: secure assess to user’s confidential data.
- Reliability: 24/7 availability.
- Maintainability: coding conventions, follow-up documents for
maintenance activities.
3.5 Performance requirements
90% of responses should be within 1 second, except for Update
content for which more time is acceptable.
3.6 Technical issues
This system will work on client-server architecture. The system should
support common browsers such as IE, mozilla firefox, chrome, etc.
4 Interface Requirements
4.1 User interface
A graphic user interface will be available in a workflow
scenarios to assess to all features of the website. Any occuring
error or exception catching should be displayed to user with
friendly messages.
4.2 Software requirement
Any operating system with browser and internet connection.
4.3 Hardware requirement
- iOS or Android with voice recognition support
- PC with micro support
5 Mockup UI
5.1 User interface
5.2 CMS interface