You are on page 1of 6

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

You might also like