Case Study Flipkart Online Store: (Software Engineering) Created-11 Nov, 2017
Case Study Flipkart Online Store: (Software Engineering) Created-11 Nov, 2017
Case Study Flipkart Online Store: (Software Engineering) Created-11 Nov, 2017
Submitted by:
Aman Goel
1. Introduction
1.1 Overview…………………………..……………………………………………..…….………..4
1.2 Purpose…………………………………………………………………………………………..4
1.3 Scope ……………………………………………………………………………...…………….4
1.4 Outline of SRS…………………………………………………………………………………..4
1.5 References……………………………………………………………………………………....4
1.6 Definitions, Acronyms and Abbreviations…….………………………………………………5
2. Overall description
2.1 Product Perspective…………………………………………………………………………….7
2.2 Product Function………………………………………………………...………………………7
2.3 User Classes and Characteristics……………………………………………………………..7
2.4 User Documentation ……………………………………………………………………………7
2.5 Operating Environment………………………………………………………………..............8
2.6 Assumptions and Dependencies…………………………………………..………………….8
2.7 Design Implementation………………………….…………………………………………..….8
3. Specific Requirements
3.1 Functional Requirements………...………………………………………………...................9
3.2 Non-Functional Requirements...……………………………………………………….........10
3.2.1 Performance...…………………………………………………………………………...10
3.2.2 Security…………………………………………………………………………..............10
3.2.3 Reliability……………………...………………………………………….………………11
3.2.4 Maintainability………………...………………………………………………………….11
3.3 Constraints…………………………………………………………………………….............11
4. External Interfaces
4.1 User Interface…………………………………………………………………………………..12
4.1.1 Home Page User Interface………………………………………………………….....12
4.1.2 Login Interface for User…………………………………………………………..........13
4.1.3 Customer’s Login Interface………………………………………………………….....13
4.1.4 Login interface for Seller………………………………………………………….........14
4.1.5 Seller’s Login Interface…………………………………………………………...........14
4.2 Hardware Interface…………………………………………………………………………….15
4.3 Communication Interface……………………………………………………………………..15
4.4 Analytics Interface……………………………………………………………………………..15
6. Testing of Software
6.1 Unit testing…………………………………………………….………………………………..37
6.2 Integration testing…………………………………………………………………...…………37
6.3 Validation Testing……………………………………………………………...………………37
6.4 Test Cases…………………………………………………….…………………….…………38
6.4.1 Objectives…………………………………………………….…………………..………38
6.4.2 Description…………………………………………………….…………………………38
6.4.3 Features to be tested…………………………………………………….……………..39
6.5 Performance Testing…………………………………………………….…………………….44
6.6 Suspension and Resumption Requirements………………………………………………..44
6.6.1 Suspension Criteria…………………………………………………….……………….44
6.6.2 Resumption Requirements…………………………………………………….…….…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:
Flipkart.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 www.w3techs.com
Reference for user interfaces of e-commerce www.uianduxdesign.com
Reference for Flipkart’s Vision and moto www.wikipedia.com
Reference for functional diagram https://creately.com/diagram/example/hdkb50lr/Flipkart+DFD
Reference for https://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 and buys
products online from the ones added by the Vendors/Sellers.
1.7.2 Vendor/Seller - Vendors/Sellers will add their products to the database, which will be seen
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 by them.
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 has a
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 the Vendors.
1.7.5 User ID - At the time of login or signup user is required to enter our complete details which
gets saved at the particular company’s database and our unique ID is generated which
helps in all correspondence in future.
1.7.6 Seller ID - The seller must have a seller ID and password for this which is used to verify and
find the unique profile of the seller. This allows him to list the products that seller have
available to sell.
1.7.7 Order ID – Each purchased and sold item has a unique Identification no. called Order ID
that is used to track and record the details of the purchase done on the platform. It is
generated by the system itself and no two product can ever have same Order ID.
1.7.8 Bank Details - The transaction amount will be transferred back to the saved account. So
the bank details will be synchronized and saved at the backend database securely.
1.7.9 Online Discussion - The data collected through the online discussion will be spread at
various websites for reference purposes and people’s review points will be noted.
2. Overall Description
2.1 Product Perspective:
Flipkart’s online website based e-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. Flipkart offers daily
recommendations for discounts and offers on products based on their category.
Notifications
Contact Us
User Agreement
Select the operator
Make A Payment
Submit Account Details
Payment Security
Privacy Policy
2.5 Design Implementation:
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.
Proper browsers should be installed in the user’s system.
3. Specific Requirements
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.
3.1.3 Displaying Related Items -
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.
3.1.5 Easy Return or Exchange -
The system allows customers to return the item back to the seller in case he or she doesn’t
like the product and get the feedback of customer
The system allows customer to exchange the product with seller in case of delivery of any
defective item and get feedback from customer.
Notify seller about the customer’s reason and feedback about the product.
3.1.6 Provide personalized profile -
The seller’s and customer’s profile contain all details of seller and customer respectively like
contact, location, address and seller’s license.
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 its profile.
Safe transfer of money into seller’s bank account after successful transaction of money.
Add details of transfer of money to company’s selling and purchasing events logs and
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 display detailed information of seller’s detail to customer as well as
customer’s detail to seller.
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.
The system shall provide online help, FAQ’s customer support, and sitemap options for
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 Flipkart support desk
The system shall display the online help upon request.
The system shall display the FAQ’s upon request.
3.3 Constraints
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. Interface Requirements
4.1 User interface
Login or Signup Page
Homepage containing products according to customer’s interest.
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-mail address.
HOME
USER
View NO
Give info and
Register
Yes
Login
HOME Logout
Seller
Proceed to
Checkout
Jeans View Product Retail about product Add or delete offers
Top
T-Shirt Add product to cart
Blazer
Order history
Proceed to checkout
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 the system.
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
Flipkart
Seller Stores into database
Website
Creates Product
Details User login
Records
Views Product
User
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 Flipkart 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 Flipkart 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
direct verify the user’s registration and then he/she will become an official member in Flipkart 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.
5.1.2.1 1st Level Seller Side DFD:
The Seller side DFD describe the functionality of Seller. Seller can first add category of item and
then add items by category wise and he can manage order and payment detail.
1. Category table
2. Product Table
4. Login table
5. Store table
6. Temp table
7. User table
8. Feedback table
9. Account Table
1. Seller is provided with a control panel page at the Flipkart 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 to implement.
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
fields, which can’t be described above or if there are any questions related to expected or
actual results then mention them here.
6.4.3 Features to be tested
This section outlines all the features that will be tested:
Type of Feature
Description
User Identifier
Expected
S/N Input data Actual Results Pass Fail Remarks
Results
Display error Error: “Name is
Enter empty
message to required, Please
1 value for First ✓
enter some Enter Correct
Name
valid text. details”.
Enter empty
2 value for Last No error No error ✓
Name
Display error
Enter empty message to Error: “This Field
3 ✓
value for User ID enter some is required”.
valid text.
4. Display error
Error Message:
message to the
6. Enter a “The input
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
username”.
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
“Enter valid
6. value for Contact “Enter valid ✓
contact
Number contact
number”
number”
Display error Error message:
Enter non
message to “Invalid contact
numeric value in
7. enter a valid number, Please ✓
Contact Number
contact enter correct
field like abcde
number” Phone no.”
Display error
Enter empty Error message:
message
8. value for Email “Enter a valid ✓
“Enter a valid
Address address”
address”
Display error
Enter empty Error message:
message
9. value for Confirm “Enter your ✓
“Enter your
Email Address email address”
email address”
Display error
Enter different Error message
message
10 email format “Enter a valid ✓
“Enter a valid
likeYahoo.com.sg email Address”
email Address”
Enter empty Display error
value for either message Error message:
11. Password or “Password “Password does ✓
Confirm does not not match.”
Password match.”
Error message
Enter password “Password
12. less than 8 123456 length must ✓
characters long be at least 8
characters”
Enter empty
13. No error No error ✓
value for Address
CASE 2: Edit Shopping Cart
Purpose: Test that clicking Update Quantities will update the cart summary accordingly.
1. After selecting a product, go to Shopping cart Web page.
2. Check after entering incorrect input, an appropriate message should be displayed.
3. If entered a valid number, check if the total quantity and relative price is updated after clicking
update or delete button.
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 valid no. of items”
input is invalid
“Quantity” field
The product
quantity should
Enter a Positive
be updated or No Error. “The
integer number in
2. deleted item is updated ✓
the “Quantity”
according to successfully”
field
the specified
input number
S/N Expected
Input data Actual Results Pass Fail Remarks
Results
Click “Add to
The product No Error. “The
Cart” Button for
should be product is
1. product not ✓
moved to wish successfully
already in the
list. added to Cart ”
cart.
If product No Error. “The
Click “Add to
already exists product quantity
Cart” Button for
2. then its quantity is successfully ✓
product already
is updated by increased by
in the cart.
1. one in the Cart ”
CASE 4: Place Order
Purpose: Test that user can place an order with valid profile information
1. Select a product to order.
2. Click Place Order button with one of the fields empty.
3. Check if the message is to enter all required fields.
S/N Expected
Input data Actual Results Pass Fail Remarks
Results
An empty
An appropriate
required field.
message
(First name and Error message:
should be
last name, Street “Please enter all
displayed and
1. address, city, the required ✓
the user should
state, zip code, details to place
not be allowed
email, credit card the order”
to place the
information,
order.
shipping address)
The user should The product
be able to place quantity should
No Error. The
an order and be updated or
product is ready
2. redirected to the deleted ✓
to be shipped
order according to
within the week.
confirmation the specified
page. 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 “Please input
other than integer
number in notify the given valid no. of
“Quantity” field input is invalid items”
The product
quantity should
Enter a Positive
be updated or No Error. “The
integer number in
3. deleted item is updated ✓
the “Quantity”
according to successfully”
field
the specified
input number
The product
price should be
Enter a Positive No Error. “The
updated
4. integer number in item is updated ✓
according to
the “Price” field successfully”
the specified
input number
S/N Expected
Input data Actual Results Pass Fail Remarks
Results
The product
price should be
Enter a Positive No Error. “The
updated
1. integer number in item is updated ✓
according to
the “Price” field successfully”
the specified
input number
Seller will enter
the date range,
number of orders
and type of order,
The status of
to view the No Error. “The
that order is
existing orders in Details of the
updated, but
2. database. He/she Product is ✓
the status of all
will then select successfully
other orders
the order for Updated”
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 Performance Testing:
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