Software Requirements
Specification
for
E-Commerce Website
Prepared by Yash Kaveeshwar
0176CS161124
10-Mar-19
Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ...............................................................................................................................
1. Introduction ..............................................................................................................................1
1.1 Purpose ............................................................................................................................................ 1
1.2 Intended Audience and Reading Suggestions .................................................................................. 1
1.3 Product Scope .................................................................................................................................. 1
2. Overall Description ..................................................................................................................1
2.1 Product Perspective ......................................................................................................................... 1
2.2 Product Functions ............................................................................................................................ 1
2.3 User Classes and Characteristics ..................................................................................................... 1
2.4 Operating Environment.................................................................................................................... 2
2.5 Design and Implementation Constraints .......................................................................................... 2
2.6 User Documentation ........................................................................................................................ 2
2.7 Assumptions and Dependencies ...................................................................................................... 2
3. External Interface Requirements ...........................................................................................2
3.1 User Interfaces ................................................................................................................................. 2
3.2 Hardware Interfaces ......................................................................................................................... 2
3.3 Software Interfaces .......................................................................................................................... 2
3.4 Communications Interfaces ............................................................................................................. 3
4. System Features........................................................................................................................3
4.1 System Feature ................................................................................................................................ 3
5. Other Nonfunctional Requirements .......................................................................................4
5.1 Performance Requirements .............................................................................................................. 4
5.2 Safety Requirements ........................................................................................................................ 4
5.3 Security Requirements ..................................................................................................................... 4
5.4 Software Quality Attributes ............................................................................................................. 4
6. Other Requirements ................................................................................................................4
Appendix A: Glossary....................................................................................................................4
1. Introduction
1.1 Purpose
The purpose of the application is to create an easily extensible web application which is
secure as well as easy to deploy. The application uses top quality security protocol to
ensure the security.
1.2 Intended Audience and Reading Suggestions
This product is intended for any and all clients willing to use a java-based E-Commerce
store to further their business. The intended audience of this project are those in need for
a quick solution to deploy their business but don’t have the budget for a high-class
deployment service.
1.3 Product Scope
The purpose of the software is to develop a quickly deployed and minimally maintained
web site which follows all the security protocols but at just fraction of the cost at which
other solution offers the same solution.
2. Overall Description
2.1 Product Perspective
This is a standalone project created from scratch using Java and its framework Spring-
Boot to demonstrate its ability to develop quick and easy to configure and deploy
web sites which are not only functional but also extendable to include many other
products and modules.
2.2 Product Functions
Website to browse the products
Add products
Remove products
Signup and Login
Order
2.3 User Classes and Characteristics
Most of the people which will use this product will either be common users which would
use this to purchase the product offered and the other group would be the ones who
provide the product which will be available on the website
2.4 Operating Environment
The product will be deployed over a server which can be running on any hardware
platform since the project is written in java which is cross-platform language. Like the
hardware any type of database can be used as long as it is supported by Hibernate
framework.
2.5 Design and Implementation Constraints
The only constraint with this kind of implementation is that since the project is developed
over a framework only the functions allowed by the said framework can be used. If the
developer needs any additional functions he has to develop them entirely on their own and
no help from the framework can be leveraged from the framework.
2.6 User Documentation
A User Guide will be given with the product which will contain details about all the software
needed to run the product as well as how to set them up.
2.7 Assumptions and Dependencies
Since the product uses Hibernate to maintain the database, any problem caused by the
Hibernate cannot be resolved if it is very complex since we don’t know what it is trying to
do behind the function call.
3. External Interface Requirements
3.1 User Interfaces
The GUI part of our product follows the guideline defined over the web and support all the
protocol which are necessary to develop the website. The website is a pure HTML base
website so it has a normal user interface to provide the user all the necessary information
about the product they are trying to access.
3.2 Hardware Interfaces
The hardware constraints are only one that Tomcat server has to be installed, an IDE with spring
support should also be available, system should have Java 8 JDK 1.8 installed on the computer.
Other than this any modern browser will work to display the deployed website.
3.3 Software Interfaces
The product contains following dependencies
Java JDK 1.8
Tomcat Server
Spring Version 5+
Spring-Boot version 2+
IDE with Spring support
MySQL database
3.4 Communications Interfaces
The product generates an email for some functions so it requires the clients email address and
password.
4. System Features
The primary use case of the product would be between client (admin) and user (common user)
4.1 System Feature
4.1.1 Description and Priority
the user has the ability to create new account and the admin have the authority to add new
products to the catalog of the products available on the website
4.1.2 Stimulus/Response Sequences
The user can create new account by going to new account
Admin can add new products to the site by accessing the admin portal
User can browse the catalog on the website
User can add the products to his shopping cart on the product page
User can pay from the product by going to the checkout page
4.1.3 Functional Requirements
Create new user: the user has option to create new account
Login: the user can login using relevant username and password
Browse: the user can browse the available products on the website
Adding product: admin have the capability to add new products
Removing product: admin can also remove product from the available list
Checkout: user can pay for the product they want to order
Unauthorized access: any kind of unauthorized access is stopped by the
authentication mechanism of the product
Ambiguous inputs: the product guards against such inputs by using
various checks any many different level
5. Other Nonfunctional Requirements
5.1 Performance Requirements
The performance of the system is very good until the product database is small, but it the product
catalog is big enough different approach should be used to assess the data from the database like
hashing for database values.
5.2 Safety Requirements
Although very unlikely the payment information as well as users private home address can be
scraped from the website by using some tools. Such situations are guarded against by using
encryption on password but some information can sill be lost if the database is compromised
5.3 Security Requirements
The website collects the user’s payment details and home address as well as if the user so desire
it can even save that information, that is depended upon the user if they want their information to
be stored or not.
5.4 Software Quality Attributes
The product is very adaptable to various changes such as a change in database or a change in
the class of product which is available on the website. Since it is written in java and uses ORM
instead of direct queries it is very flexible to work which when adding new features.
6. Other Requirements
The product uses Spring and Java so their respective license are applied on the project and some
other licenses can also be applied depending upon the use case of the product and its deployment
area.
Appendix A: Glossary
ORM: Object Relational Mapping
Tomcat server: A local server used to host website locally
Spring: A Java framework