Amazon Srs
Amazon Srs
Amazon Srs
Amazon SRS
Software RequirementsSpecification
(SRS)
On
AMAZON
Submitted To:
Proff. Deven Gol
Submitted by:
Ankit Vekariya(170110116061)
Table of Contents
1. Introduction
1.1 Overview
1.2 Purpose
1.3 Scope
1.4 Outline ofSRS
1.5 References
1.6 Definitions, AcronymsandAbbreviations 5
2. Overalldescription
2.1 ProductPerspective
2.2 ProductFunction
2.3 User Classes andCharacteristics
2.4 UserDocumentation
2.5 OperatingEnvironment 8
2.6 Assumptions andDependencies 8
2.7 DesignImplementation
3. Specific Requirements
3.1 FunctionalRequirements 9
3.2 Non-FunctionalRequirements. 10
3.2.1 Performance
3.2.2 Security 10
3.2.3 Reliability
3.2.4 Maintainability
3.3 Constraints 11
4. ExternalInterfaces
4.1 UserInterface
4.1.1 Home PageUserInterface 12
4.1.2 Login InterfaceforUser 13
4.1.3 .....13
5. Software DesignSpecification
5.1 DataFlowDiagram 15
5.2 UnifiedModellingLanguage 21
5.2.1 Use CaseDiagram
5.2.2 SequenceDiagram
5.2.3 Classdiagram 26
5.2.4 ComponentDiagram 27
5.2.5 ActivityDiagram 28
5.2.6 StateChartDiagram 30
5.2.7 DeploymentDiagram 31
5.3 Databasedesign
5.3.1 TableDesign
5.3.2 Entity Relationship DiagramforUser 35
5.3.3 Entity Relationship DiagramforSeller 36
6. Testing ofSoftware
6.1 Unittesting
6.2 Integrationtesting 37
6.3 ValidationTesting 37
6.4 Test Cases 38
6.4.1 Objectives 38
6.4.2 Description 38
6.4.3 Features tobe tested 39
6.5 PerformanceTesting
6.6 Suspension andResumptionRequirements 44
6.6.1 Suspension Criteria
6.6.2 ResumptionRequirements 44
1. Introduction
1.1 Overview:
The purpose of the document is to collect and analyze all assorted ideas that have come up to
define the system, its requirements with respect to consumers. The purpose of this SRS document
is to provide a detailed overview of our software product, its parameters and goals. Developing an
online platform is a job that requires equal share of technological expertise and sound decision
making. Principally built on PHP, this website offers human experience which makes the shopping
experience as satisfying as in a real store. Programming engineers make it sure that the site is high
on responsiveness and low on tech errors, which is the most favorable selling point of this online
store.
1.2 Purpose:
Amazon.com is an e-commerce website allows consumers to electronically exchange goods and
services with no barriers of time or distance. Electronic commerce has expanded rapidly over the
past five years and is predicted to continue at this rate, or even accelerate. India's biggest online
store for Mobiles, Fashion(Cloths/Shoes), Electronics, Home Appliances, Books, Jewelry, Home,
Furniture, Sporting goods, Beauty & personal care and more! Largest selection from all brands at
lowest price. Payment options - COD, EMI, Credit card, Debit card & more.
1.3 Scope:
E-commerce is a term for any type of business, or commercial transaction that involves the
transfer of information across the Internet. It covers a range of different types of businesses, from
consumer based retail sites, through auction or music sites, to business exchanges trading goods
and services between corporations. It is currently one of the most important aspects of the Internet
to emerge.
1.5 References:
Reference for geeky operating environments ww.w3techs.com
Reference for user interfaces of e-commerce www.uianduxdesign.com
w
ww.wikipedia.com
Reference for functional diagram
ttps://creately.com/diagram/example/hdkb50lr/Amazon+DFDReference for h
h ttps://programformca.com
1.6 Abbreviations:
1.7 Definitions:
1.7.1 End user/Customer - The end user will be the one who visits the website andbuys
products online from the ones added by theVendors/Sellers.
1.7.2 Vendor/Seller - Vendors/Sellers will add their products to the database, which will beseen
in the website to the customers who can buy the products by selecting them. Vendors will
have the special privileges than the end users, and have ability to manage the products
added bythem.
1.7.3 Product - A product is the item offered for sale. The price that can be charged depends on
the market, the quality, the marketing and the segment that is targeted. Each product hasa
useful life after which it needs replacement, and a life cycle after which it has to be re-
invented.
1.7.4 Administrators - Administrators are the ones who adds or administers the categories for
the products, and administers theVendors.
1.7.5 User ID - At the time of login or signup user is required to enter our complete detailswhich
2. Overall Description
2.1 ProductPerspective:
-commerce is an outstanding way of bringing Sellers and
customers on an online platform to make purchase in a secured and efficient manner irrespective
of distance between the two. The product is one stop for 30 million products online. Amazon offers
daily recommendations for discounts and offers on products based on their category.
2.2 ProductFunction:
Provide a simple interface and platform to ease the process of buying as well as selling
products online
Include smooth functionality and efficiency
Appropriate space is dedicated to its Offers zone and deal of the day that fetches
adequate attention of users.
Amazon keeps a constant focus on new category creation and expansion of products.
Ads and promotion activities motivate shoppers to buy online.
Tracking feature of orders and pending deliveries for both sellers and buyers.
Notifying order and delivery reports to customers and sellers.
2.4 UserDocumentation:
Notifications
Contact Us
UserAgreement
Select the operator
Make A Payment
Submit Account Details
Payment Security
Privacy Policy
2.5 DesignImplementation:
The user interface shall be implemented using any tool or software package like Java Applet, MS
Front Page, Enterprise Java-Beans (EJB) etc. on following languages.
2.7 Analytics
Analytics are required in order to monitor and analyze the requirements details from customers.
The customer and seller must have basic knowledge of computers and English language.
Each User must have a User ID and password.
Each Seller must have Seller ID and password.
There must be an Administrator.
Internet connection is a must.
3. SpecificRequirements
User to enter the search text on the screen and display matching products based on the
search.
Enable user to select multiple options on the screen to search.
Display only 10 matching result on the current screen.
Enable user to navigate between the search results.
Notify the user when no matching product is found on the search.
Using the cookies of the user to study the buying pattern of the user.
Assists him in his purchase and customizes his homepage according to his previous
interactions.
Including additions to his wish-list, page views, previous searches, reviews about the product
among other things.
Making good use of data is imperative to designing great customized user experiences.
Provide an interface to all the sellers to add product description and price through
their account.
List all the sellers for a common product they offer to sell and prioritize them based on
percent of discount.
respectively like
To display both the active and completed order history in the customer profile.
To allow user to select the order from the order history and detailed information.
To display the most frequently searched items by the user in the profile.
To help seller keep list of products and its information in itsprofile.
database.
Send an order confirmation to the user and seller about the purchase through email or SMS.
3.1.8 Detailed invoice for Customer and Seller -
The system shall display detailed invoice for current order once it is confirmed.
The system shall allow user to print the invoice.
The system shall allow user to enter the order information for tracking.
The system shall display the current tracking information about the
order The system notifies seller about delivery of product to the
consumer.
customer support.
The system shall allow user to select the support type he wants.
The system shall allow user to enter the customer and product information for the support.
The system shall display user contact of seller and Amazon support desk
The system shall display the online help upon request.
3.2.4 Safety:
Itisthestateofbeing"safe",theconditionofbeingprotectedagainstphysical,social,spiritual,
financial, political, emotional, occupational, psychological, educational or other types or
consequences of failure, damage, error, accidents, harm or any other event which could be
considerednon-desirable.
This can take the form of being protected from the event or from exposure to something that
causes health or economical losses.
It can include protection of people or of possessions.
3.2.5 Maintainability
A commercial database is used for maintaining the database and the application server takes
care of the site.
In case of a failure, a re-initialization of the program will be done.
Also the software design is being done with modularity in mind so that maintainability can be
done efficiently
3.3 C onstraints
Limited numbers search queries for the users. Servers incapable of handling high traffic burst
The actual product might differ from its display image. Uniform quality of service is not
ensured.
It cannot ensure the reliability of the review.
The User and Seller must have confirmed User ID and Seller ID respectively.
4. InterfaceRequirements
4.1 Userinterface
Login or Signup Page
There will be a screen displaying information about all products that user searches.
If the customers select any product then it will open another tap about the product
information.
After all transaction the system makes the selling report as portable document file
(pdf)and sent to the customer E-mailaddress.
HOME
USE R
View NO
Give
infoand
Registe Ye
Lo n
HOME Logo t
Seller
Proceed
to t
Checkou View Retail about uct r
Add or delete offe
Jeans
ToShi t r
Add product to ca
pT r
-
Order
Proceedto checkout
4.1.5 :
4.2 HardwareInterfaces:
Since the application must run over the internet, all the hardware shall require to connect internet
will be hardware interface for the system. As for e.g.Modem,WAN LAN, Ethernet Cross-Cable.
The system require Database also for the store the any transaction of the system like MYSQL etc.
system also require DNS (domain name space) for the naming on the internet. At the last user
need web browser for interact with thesystem.
5. SYSTEM DESIGNSPECIFICATION
5.1 Data flow Diagram(DFD):
A Data Flow Diagrams is a structured analysis and design tool that can be used for flowcharting in
place of, or in association with, information-oriented and process-oriented systems flowcharts. A
DFD is a network that describes the flow of data and the processes that change, or transform, data
throughout a system. This network is constructed by using a set of symbols that do not imply a
physical implementation. It has the purpose of clarifying system requirements and identifying
major transformations that will become programs in system design. So it is the starting point of
the design phase that functionality decomposes the requirement specifications down to the lowest
level of detail.
Symbols Description
Data Flow: Data flow are pipelines through the packets of
information flow.
Process: A Process or task performed by the system
The context level data flow diagram (DFD) is describe the whole system. The 0-level DFD describe
the all user module who operate the system. Below data flow diagram of online shopping site
shows the two user can operate the system Admin and Member user.
Product Records
Sell r
e
Amazon Stores into database
Website
Views
Product
Use
r
The Seller will have the access to create Product ads on the website. Once the seller has added
item to sell list in website, administrator will receive the items details to take into consideration.
Only after administrator approve, the item will only be allowed to go into sell list of the Amazon
Online Shopping Store Website. So, the website is act as a medium between the seller and
customer (buyer). Besides that, the website will serve to provide the details of all product listed
there, if a user intend to buy, he/she has to contact the seller and make payment through the
website
Meanwhile, the user can access the website for buying, selling or to get product information. As only
a registered user can buy or sell items in Amazon Online Shopping Online Store Website, he/she
must agree to the terms and conditions of the system. Once register, he/she will receive a
verification mail to his/her email, which have a link to our website. By clicking on the link then will
n official member in Amazon Online
Shopping Store.
A seller can advertise the item he/she willing to sell with the personal detail. If the item advertise is
not approve by administer, he will receive a message from administer regarding it. The user still can
review the detail about the item he/she willing to sell which is still wait for administrator
consideration.
Request for’ie\v
Userhlst
User
Repo Reply
Request forview
Item ItemMst
Repo
Reply
Requestfo
Oroer
Orderh1st
Repo
Reply
‹ Requestfo
Pavment Paymenth'lst
Repos Reply
Update password
Orderk'lst
Add
reply
Edit Profile
Orderk'lst
Confi Order
5.2 UMLDiagrams
UML is a standard language for specifying, visualizing, constructing, and documenting the
artifacts of software systems. UML diagrams are not only made for developers but also for
business users, common people, and anybody interested to understand the system. The system
can be a software or non-software system. Thus it must be clear that UML is not a development
method rather it companies with processes to make it a successful system.
UML is a modeling language used to model software and non-software systems. Although UML is
used for non-software systems, the emphasis is on modeling OO software applications. Most of
the UML diagrams discussed so far are used to model different aspects such as static, dynamic,
etc.
Now whatever be the aspect, the artifacts are nothing but objects. If we look into class diagram,
object diagram, collaboration diagram, activity diagrams all would basically be designed based on
the objects.
5.2.1 Use CaseDiagram:
The UML provides the use case diagram notation to illustrate the name of the use case actors and
relationship between them. User case diagrams are used to model the functional interaction
between users and system.
GUI aCanltam
addCartlte
checkou
aPr‹xIuct
j select(productName) j
Add to
checkout artld)
I If aJstorrw Icggedin
Plan Login
Order
k›gin(usedd.password)
Logged in
updateShippinglnf$(sbippingRegionId, shippirigType)
caIcTotaIPrlce(shIppngCost, quantity.unItCr›st)
plaoeOrder(orderld)
OrdetConflrrnatibnNolJfcatlon
5.2.2 ClassDiagram:
Class diagram is a static diagram. It represents the static view of an application. Class
diagram is not only used for visualizing, describing, and documenting different aspects
of a system but also for constructing executable code of the software application.
Class diagram shows a collection of classes, interfaces, associations, collaborations,
and constraints. It is also known as a structural diagram.
5.2.2.3 ComponentDiagram:
A component represents a modular part of a system, that encapsulates it contents and
whose manifestation is replaced with in its environment. A component defines its
behaviors in terms of provide and required interfaces.
Here the three components are applicant, system admin and authority.
The interface between people and system admin, from people toauthority.
5.2.2.5 Activitydiagram:
The activity diagram used to describe flow of activity through a series of actions. Activity
diagram is an important diagram to describe the system.
The activity described as an action or operation of the system.
Activity diagram shows sequential and parallel activities in a process. They are useful for
modeling business, workflows, the data flows and complex algorithm.
A UML activity diagram offers rich notation to flows a sequential of activities. It may
be including parallel activities. It may be applied to any purpose, but it is popular for
visualization of business workflows and use case.
( Authentication
In’ alid
Check
Valid
Logout
5.2.7 DeploymentDiagram:
5.2 DatabaseDesign:
A database design is a collection of stored data organized in such a way that the data requirements
are satisfied by the database. The general objective is to make information access easy, quick,
inexpensive and flexible for the user. There are also some specific objectives like controlled
redundancy from failure, privacy, security and performance.
A collection of relative records make up a table. To design and store data to the needed forms
database tables are prepared. Two essential settings for a database are:
1. Primary key: - The field that is unique for all the recordoccurrences.
2. Foreign key: - The field used to set relation between tables. Normalization isa technique to
avoid redundancy in the tables.
1. Categorytable
2. ProductTable
3. Seller Logintable
4. Logintable
5. Storetable
6. Temptable
7. Usertable
8. Feedbacktable
9. AccountTable
10. OrderTable
5.3.2 ERDiagram:
The purpose of draw this diagram to show the relationship among the objects and
personal attributes that belong to them.
Diagram 1:
1. Customer can places many order (one to one relationship) as they wish when in Amazon
Online Shopping Store and vice versa. In order to have a list of order, we must have at least
one customer. There may be situation in which placement order action is not necessaryfrom
the customer.
2. Order can contains many order items details in the list and vice versa is part of the order. In
order to have an order items details, we must have at least one order taken from thecustomer.
3. Visitors can view many categories as they wish in Amazon Online Shopping Store.(manyto
manyrelationship
4. Each category will contains many product (one to manyrelationship).
5. The product will have the order itemsdetails.
ER Diagram forUser
Diagram 2:
1. Seller is provided with a control panel page atthe Amazon Online Shopping Store with series of
functions.
2. The Control Panel contains edit file functions and website application functions.(Assumption :
In order to have Edit File & Website Application functions, we must have a control panel first)s.
There may be a situation in which the functions is not necessary toimplement.
6. TESTING
Software Testing is an empirical investigation conducted to provide stakeholders with information
about the quality of the product or service under test, with respect to the context in which it is
intended to operate. Software Testing also provides an objective, independent view of the software
to allow the business to appreciate and understand the risks at implementation of the software.
Test techniques include, but are not limited to, the process of executing a program or application
with the intent of finding software bugs. It can also be stated as the process of validating and
verifying that a software program/application/product meets the business and technical
requirements that guided its design and development, so that it works as expected and can be
implemented with the same characteristics.
Software Testing, depending on the testing method employed, can be implemented at any time in
the development process, however the most test effort is employed after the requirements have
been defined and coding process has been completed.
6.1 UnitTesting:
The primary goal of unit testing is to take the smallest piece of testable software in the
application, isolate it from the remainder of the code, and determine whether it behaves exactly as
you expect. Each unit is tested separately before integrating them into modules to test the
interfaces between modules. Unit tests are typically written and run by software developers to
ensure that code meets itdesign and behaves as intended. Its implementation can vary from
being very manual (pencil and paper) to being formalized as part of buildautomation.
6.2 IntegrationTesting:
Integration testing, also known as integration and testing (I&T), is a software development process
which program units are combined and tested as groups in multiple ways. Integration testing can
expose problems with the interfaces among program components before trouble occurs in real-
world program execution. There are two major ways of carrying out an integration test, called the
bottom-up method and the top-down method. Bottom-up integration testing begins with unit
testing, followed by tests of progressively higher-level combinations of units called modules or
builds. In top-down integration testing, the highest-level modules are tested first and progressively
lower- level modules are tested after that. In a comprehensive software development environment,
bottom-up testing is usually done first, followed by top-down testing.
6.3 Validationtesting:
At the validation level, testing focuses on user visible actions and user recognizable output from
the system. Validations testing is said to be successful when software functions in a manner that
can be reasonably expected by the customer. Two types of validation testing
Alpha testing is simulated or actual operational testing by potential users/customers or an
independent test team at the developers' site. Alpha testing is often employed for off-the-
shelf software as a form of internal acceptance testing, before the software goes to beta
testing.
Beta testing comes after alpha testing. Versions of the software, known as beta version, are
released to a limited audience outside of the programming team. The software is released to
groups of people so that further testing can ensure the product has few faults or bugs.
Sometimes, beta versions are made available to the open public to increase the feedback field
to a maximal number of future users
Downloaded by Kamlesh Parihar (pariharkamlesh576@gmail.com)
lOMoARcPSD|15082991
6.4 Testcases:
This software explains Test cases for amazon Online Shopping Web Application testing is a critical
element of software quality assurance and represents the ultimate review of specification, design
and coding. Testing presents an interesting of a system using various test data. Preparation of the
test data plays a vital role in the system testing. After preparation, the test data, the system under
study is tested those test data. Errors were found and corrected by using the following testing
steps and corrections are recorded for future references. Thus, series of testing is performed on
the system before it is already for implementation.
The development of software systems involves a series of production activities where
opportunities for injection of human errors are enormous. Errors may begin to occur at the very
inception of the process where the objectives may be erroneously or imperfectly specified as well
as in later design and development stages. Because of human in ability to perform and
communicate with perfection, software development is followed by assurance activities ER
Diagram for Customer.
6.4.1 Objectives:
The test plan for the system should support following objectives:
Identify which features of the system will be tested.
Define the pass/fail criteria for each feature to be tested.
Specify the testing approaches that will be used during testing.
Identify the deliverables of the testing process.
6.4.2 Description:
Test Steps - List all the test execution steps in detail. Write test steps in the order in which
they should be executed. Make sure to provide as many details as you can.
Test Data - Use of test data as an input for this test case. You can provide different data sets
with exact values to be used as an input.
Expected Result - What should be the system output after test execution? Describe the
expected result in detail including message/error that should be displayed on the screen.
Actual result - Actual test result should be filled after test execution. Describe system
behavior after test execution.
Status (Pass/Fail) - If actual result is not as per the expected result mark this test as failed.
Otherwise, update it as passed.
Notes/Comments/Questions - If there are some special conditions to support the above
Type of Feature
Description
User Identifier
Expected
S/N Input data Actual Results Pass Fail Remarks
Results
Display error is
Enter empty
message to required, Please
1 value for First
enter some Enter Correct
Name
valid text. .
Enter empty
2 value for Last No error No error
Name
Display error
Enter empty message to
3
value for User ID enter some .
valid text.
4. Display error
Error Message:
message to the
Enter a
user and he
username username is
should not be
already in use already taken
allowed to
with an existing please enter
register for an
user some other
account with
.
that username.
5. User should be
able to register
Enter a with the
Username not in website and
No Error
use with other directed to the
existing users. secure Web
page
requested.
Display error
Error message:
Enter empty message
6. value for Contact
contact
Number contact
Enter empty
13. No error No error
value for Address
Expected
S/N Input data Actual Result Pass Fail Remarks
output
Negative input
Display error
number or input Error message:
message to
1. other than integer Please input
notify the given
number in
input is invalid
The product
quantity should
Enter a Positive
be updated or No Error. The
integer number in
2. deleted item is updated
according to successfully
field
the specified
input number
S/N Expected
Input data Actual Results Pass Fail Remarks
Results
Error message:
The seller selects
Product is
a product to be The product
successfully
deleted, the should be
removed from
category from deleted from
1. that category but
which it is to be the category
not from others,
deleted and only for that
if it belongs to
clicks delete category.
more than one
button
category
Negative input
Display error Error message:
2. number or input
message to
other than integer
S/N Expected
Input data Actual Results Pass Fail Remarks
Results
The product
price should be
Enter a Positive
updated
1. integer number in item is updated
according to
field
the specified
input number
Seller will enter
the date range,
number of orders
and type of order,
The status of
to view the
that order is
existing orders in Details of the
updated, but
2. database. He/she Product is
the status of
will then select successfully
all other orders
the order for
remains same
which the status
is to be updated
where its details
could be edited.
6.4.4 Approach:
Only functional black box testing will be performed to test the functionality of the system. The
features mentioned above describe how the user will interact with the system, so the testing will
require the tester to interact with the system in the same way a typical user would. The user
actions will be simulated through a set of test scenarios. Each scenario will trace back to a
requirement listed in the Vision Document.
6.5 PerformanceTesting:
This will be performed to test the entire system to see whether all driving requirements are satisfied.
Allowing multiple users log into the system and perform the operations at the same time using the
JMeter testing tool will do this. This test verifies that the components of the systems meet the
stated requirements for speed.
The following components of the system would be analyzed for performance:
Buying: Includes browsing the catalog, selecting a product, add to shopping cart, checkout,
enter personal details and place order.
Searching for a Product.
Getting Product recommendation
Using JMETER tool, approximately 100 concurrent virtual users with a minimum of 50 requests per
user will be inputted to calculate the response times for each of the above components. The
above tests would be done in different environments like:
Local connection of
54Mbps LAN connection of
100Mbps Wired connection