ONLINE SHOPPING
WEBSITE
Software Requirements Specification(SRS)
(SOFTWARE ENGINEERING)
CAP314
SUBMITTED TO: -
Dr. Gaurav Kumar (20323)
SUBMITTED BY: -
Subramanyam Suresh Sahu
Roll No.: - 05
(12307317)
Table of Contents
INTRODUCTION .................................................................................................1
1.1 PURPOSE........................................................................................................... 1
1.2 SCOPE .............................................................................................................. 1
1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ................................................ 1
1.4 REFERENCES ..................................................................................................... 1
1.5 OVERVIEW........................................................................................................ 1
2. GENERAL DESCRIPTION ..............................................................................2
2.1 PRODUCT PERSPECTIVE ..................................................................................... 2
2.2 PRODUCT FUNCTIONS........................................................................................ 2
2.3 USER CHARACTERISTICS ................................................................................... 2
2.4 GENERAL CONSTRAINTS.................................................................................... 2
2.5 ASSUMPTIONS AND DEPENDENCIES.................................................................... 2
3. SPECIFIC REQUIREMENTS ..........................................................................2
3.1 EXTERNAL INTERFACE REQUIREMENTS .......................................................... 3
3.1.1 User Interfaces ........................................................................................... 3
3.1.2 Hardware Interfaces................................................................................... 3
3.1.3 Software Interfaces ..................................................................................... 3
3.1.4 Communications Interfaces ........................................................................3
3.2 FUNCTIONAL REQUIREMENTS ......................................................................... 3
3.2.1 User Registration ....................................................................................... 3
3.2.2 Product Search .......................................................................................... 3
3.2.3 Order Placement ........................................................................................ 3
3.2.4 Admin Product Management ...................................................................... 3
3.2.5 Report Generation ..................................................................................... 3
3.2.6 Cash Payment ............................................................................................ 3
3.2.7 Tailored Content ........................................................................................ 3
3.2.8 Return/Exchange ........................................................................................ 3
3.2.9 Product Rating/Feedback........................................................................... 3
3.3 USE CASES ....................................................................................................... 3
3.3.1 Browse Products ........................................................................................ 3
3.3.2 Place Order ............................................................................................... 3
3.3.3 Manage Cart .............................................................................................. 3
3.3.4 Rate/Provide Feedback .............................................................................. 3
3.4 CLASSES / OBJECTS ......................................................................................... 3
3.4.1 User ........................................................................................................... 3
3.4.2 Product ...................................................................................................... 3
3.4.3 Order ......................................................................................................... 3
3.4.4 Feedback ................................................................................................... 3
3.4.5 Vendor ....................................................................................................... 3
3.5 NON-FUNCTIONAL REQUIREMENTS................................................................. 3
Software Requirements Specification
3.5.1Performance...............................................................................................3
3.5.2 Reliability ................................................................................................... 3
3.5.3 Availability ................................................................................................. 3
3.5.4 Security ...................................................................................................... 3
3.5.5 Maintainability ........................................................................................... 3
3.5.6 Portability .................................................................................................. 3
3.5.7 Accessibility ............................................................................................... 3
3.5.8 Scalability .................................................................................................. 3
3.5.9 Usability..................................................................................................... 3
3.6 INVERSE REQUIREMENTS................................................................................... 3
3.7 DESIGN CONSTRAINTS....................................................................................... 3
3.8 LOGICAL DATABASE REQUIREMENTS ................................................................ 3
3.9 OTHER REQUIREMENTS ..................................................................................... 3
4. ANALYSIS MODELS .........................................................................................4
4.1 SEQUENCE DIAGRAMS....................................................................................... 4
4.2 STATE-TRANSITIONDIAGRAMS (STD) ..............................................................4
4.3 DATA FLOW DIAGRAMS (DFD) ......................................................................... 4
4.4 UML USE CASE DIAGRAM ............................................................................... 4
4.5 ENTITY-RELATIONSHIP DIAGRAM (ERD) .......................................................... 4
5. CHANGE MANAGEMENT PROCESS ..............................................................5
A. APPENDICES ..................................................................................................... 5
A.1 APPENDIX 1..................................................................................................5
A.2 APPENDIX 2.................................................................................................. 5
Software Requirements Specification
1. Introduction
Introduction This Software Requirements Specification (SRS) defines the requirements for the
Online Shopping Website, a web-based e-commerce platform designed to facilitate seamless
online purchases. It provides comprehensive details for software engineers to design, implement,
and test the system.
1.1 Purpose
This SRS outlines the functional and non-functional requirements for the Online Shopping
Website, enabling customers to browse, purchase, rate, and provide feedback on products,
vendors to register and manage inventory, and administrators to oversee operations. The
intended audience includes developers, testers, project managers, and stakeholders.
1.2 Scope
The Online Shopping Website will:
Allow users to register, search products, manage carts/wishlists, make payments
(credit/debit, UPI, net banking, cash-on-delivery), track orders, return/exchange items,
and rate/provide feedback on products.
Enable vendors to register, add/manage products, view sales reports, and handle returns.
Support administrators in managing categories, vendors, orders, disputes, and feedback.
Provide personalized content, detailed invoices, customer support (FAQs, live chat), and
product recommendations.
Be accessible via web browsers on desktops and mobile devices, compliant with
accessibility standards. The system will not:
Support offline shopping or in-store pickup.
Include native mobile apps (web-based only). Benefits and Objectives:
Achieve a 2-second average page load time for 95% of transactions.
Offer tailored product recommendations based on user behavior.
Ensure secure transactions compliant with PCI-DSS and 508 accessibility standards.
Scale to support millions of concurrent users.
Provide an intuitive, user-friendly interface compliant with WCAG 2.1.
1.3 Definitions, Acronyms, and Abbreviations
SRS: Software Requirements Specification
DFD: Data Flow Diagram
STD: State-Transition Diagram
ERD: Entity-Relationship Diagram
UML: Unified Modeling Language
API: Application Programming Interface
PCI-DSS: Payment Card Industry Data Security Standard
Software Requirements Specification
GDPR: General Data Protection Regulation
AWS: Amazon Web Services
SSL: Secure Sockets Layer
UPI: Unified Payments Interface
MVC: Model-View-Controller
User: Includes customers, vendors, and administrators
Cart: Temporary storage for products selected by a customer
Order ID: Unique identifier for each purchase
Seller ID: Unique identifier for vendors
1.4 References
IEEE Guide to Software Requirements Specification (ANSI/IEEE Std. 830-1984)
MySQL Documentation: https://dev.mysql.com/doc/
Stripe API Documentation: https://stripe.com/docs/api
Razorpay API Documentation: https://razorpay.com/docs/api/
AWS Documentation: https://aws.amazon.com/documentation/
Flipkart DFD Reference: https://creately.com/diagram/example/hdkb50lr/Flipkart+DFD
W3Techs for Operating Environments: https://w3techs.com
UI/UX Design for E-commerce: https://uianduxdesign.com
Amazon SRS: https://www.scribd.com/document/433741240/Amazon-SRS
Flipkart SRS: https://www.slideshare.net/AmanGoel57/flipkart-software-requirements-
specification-srs-82001779
Online Shopping SRS: https://www.scribd.com/document/500235762/SRS-online-
shopping
1.5 Overview
This SRS describes the Online Shopping Website’s purpose, scope, and requirements. It includes
general product factors, detailed functional and non-functional requirements, analysis models
(e.g., DFD, Sequence Diagrams, ERD, UML), and a change management process. The
document ensures traceability and clarity for development and testing.
2. General Description
This section outlines general factors affecting the Online Shopping Website and its
requirements, providing context for the specific requirements.
2.1 Product Perspective
The Online Shopping Website is a standalone web application built on an MVC
architecture, interfacing with:
A MySQL database for user, product, order, feedback, and vendor data.
Software Requirements Specification
AWS for cloud hosting and scalability.
Third-party payment gateways (e.g., Stripe, Razorpay, PayPal) for transactions.
Email/SMS services (e.g., SendGrid) for notifications and invoices.
Analytics tools (e.g., Google Analytics) for user behavior tracking. It uses a client-server
model, hosted on a Linux-based cloud platform with RESTful APIs for integration.
2.2 Product Functions
User Management: Register, login, update profile, recover password.
Vendor Management: Register, verify credentials, manage seller profiles.
Product Management: Browse, search, filter products, view details, add to cart/wishlist,
rate/provide feedback on products.
Personalization: Recommend products based on user behavior and display related items.
Cart Management: Add/remove items, update quantities, confirm orders.
Order Processing: Place orders, select payment methods (credit/debit, UPI, net banking,
cash), track shipments, generate invoices.
Return/Exchange: Process returns/exchanges with feedback collection.
Vendor Functions: Add/edit products, manage inventory, view sales reports.
Admin Functions: Manage categories, vendors, orders, disputes, and feedback.
Customer Support: Provide FAQs, live chat, and contact options.
Notifications: Send order confirmations, invoices, and tracking updates via email/SMS.
2.3 User Characteristics
Customers: General users with basic web skills, expecting intuitive navigation,
personalized recommendations, and easy payment options.
Vendors: Manage product listings and sales, requiring familiarity with inventory tools
and basic computer literacy.
Administrators: Oversee platform operations, familiar with dashboards, dispute
resolution, and analytics.
Guest Users: Browse products and view feedback without login but cannot purchase,
rate, or save preferences.
2.4 General Constraints
Compliance with GDPR for data privacy, PCI-DSS for payments, and 508/WCAG 2.1 for
accessibility.
Support multiple languages (English, Spanish, Hindi).
Maximum page load time: 2 seconds under normal conditions.
Cross-browser compatibility (Chrome, Firefox, Safari, Edge).
Scalability to handle millions of concurrent users.
Software Requirements Specification
2.5 Assumptions and Dependencies
Users have stable internet access (minimum 5 Mbps).
Third-party services (payment gateways, AWS, email/SMS providers) are reliable.
Client systems have modern browsers and basic hardware (256 MB RAM, 1 GB storage).
MySQL, Nginx, and RESTful APIs are available for backend operations.
3.Specific Requirements
This section details the requirements guiding the design, implementation, and testing of the
Online Shopping Website. All requirements are correct, traceable, unambiguous, verifiable,
prioritized, complete, consistent, and uniquely identifiable.
3.1 External Interface Requirements
3.1.1 User Interfaces
Homepage (UI-1): Displays personalized recommendations, search bar, navigation menu,
category filters, and top-rated products.
Product Page (UI-2): Shows product details (name, price, description, images, feedback,
ratings) and “Add to Cart/Wishlist” buttons.
Cart Page (UI-3): Lists items, quantities, total price, and checkout options.
Admin/Vendor Dashboard (UI-4): Manages products, orders, sales reports, and feedback.
Invoice Page (UI-5): Displays printable order invoices with seller/customer details.
Support Page (UI-6): Provides FAQs, live chat, and contact forms.
Responsive Design: Adapts to mobile and desktop screens, supports screen readers for
accessibility.
3.1.2 Hardware Interfaces
Client Devices: PCs, smartphones, or tablets with modern browsers.
Server: Cloud-based server with 8 GB RAM, 4-core CPU, 1 TB storage.
Network: Modem, WAN/LAN for internet connectivity.
3.1.3 Software Interfaces
Database (SI-1): MySQL 8.0 for user, product, order, feedback, and vendor data.
Payment Gateway (SI-2): Stripe API (v3), Razorpay API, or PayPal REST API for
transactions.
Email/SMS Service (SI-3): SMTP integration (e.g., SendGrid) for notifications.
Cloud Hosting (SI-4): AWS for compute, storage, and scalability.
Analytics (SI-5): Google Analytics for user behavior tracking.
3.1.4 Communications Interfaces
HTTPS (CI-1): Secure data transfer using SSL/TLS.
SMTP (CI-2): Email notifications for confirmations and invoices.
WebRTC (CI-3): Real-time communication for live chat support.
Software Requirements Specification
TCP/IP (CI-4): Intranet communication.
3.2 Functional Requirements
3.2.1 User Registration (FR-1)
Introduction: Allow customers to create accounts, mandatory for purchases and feedback.
Inputs: Name, email, password, phone, address.
Processing: Validate email format, ensure password strength (8+ characters, 1 number, 1
special character), assign unique User ID.
Outputs: Confirmation email with account details.
Error Handling: Display error for duplicate email or invalid inputs.
Priority: High
Traceability: UC-1, UC-2, UC-4
3.2.2 Product Search (FR-2)
Introduction: Enable users to search products by keywords or filters.
Inputs: Search query, category, price range, ratings, sort order.
Processing: Query database, limit to 10 results per page, allow navigation, display
related items.
Outputs: List of matching products with name, price, thumbnail, ratings, and feedback.
Error Handling: Display “No results found” for empty searches.
Priority: High
Traceability: UC-1
3.2.3 Order Placement (FR-3)
Introduction: Process orders with payment and shipping details.
Inputs: Cart items, shipping address, payment method (credit/debit, UPI, net banking,
cash).
Processing: Validate cart, process payment, update inventory, generate Order ID.
Outputs: Order confirmation email/SMS with tracking ID and invoice.
Error Handling: Display error for payment failure or out-of-stock items.
Priority: High
Traceability: UC-2
3.2.4 Admin Product Management (FR-4)
Introduction: Allow admins/vendors to manage product listings.
Inputs: Product name, description, price, image, stock, category, Seller ID.
Processing: Validate inputs, store/update product, prioritize by discount or ratings.
Outputs: Updated product catalog.
Error Handling: Display error for invalid image format or missing fields.
Software Requirements Specification
Priority: Medium
Traceability: UC-3
3.2.5 Report Generation (FR-5)
Introduction: Generate and send order invoices to customers.
Inputs: Order details (items, total, shipping address, seller details).
Processing: Create PDF invoice, store in database, send via email.
Outputs: Email with invoice PDF, database record.
Error Handling: Retry email delivery on failure.
Priority: Medium
Traceability: UC-2
3.2.6 Cash Payment (FR-6)
Introduction: Support cash-on-delivery for orders.
Inputs: Order total, cash payment confirmation.
Processing: Mark order as cash-on-delivery, notify delivery service.
Outputs: Order confirmation with cash payment details.
Error Handling: Notify user if cash option is unavailable.
Priority: Medium
Traceability: UC-2
3.2.7 Tailored Content (FR-7)
Introduction: Personalize homepage based on user behavior.
Inputs: User cookies (search history, wishlists, purchases, feedback).
Processing: Analyze cookies, recommend relevant products.
Outputs: Customized homepage with tailored products.
Error Handling: Display default content if cookies are unavailable.
Priority: Medium
Traceability: UC-1
3.2.8 Return/Exchange (FR-8)
Introduction: Process returns or exchanges with feedback.
Inputs: Order ID, return/exchange reason, customer feedback.
Processing: Validate request, update order status, notify seller.
Outputs: Confirmation email/SMS, updated order history.
Error Handling: Display error for invalid Order ID.
Priority: Medium
Traceability: UC-2
Software Requirements Specification
3.2.9 Product Rating/Feedback (FR-9)
Introduction: Allow customers to rate and provide feedback on purchased products.
Inputs: Order ID, rating (1-5 stars), feedback text.
Processing: Validate purchase, store rating/feedback, update product’s average rating.
Outputs: Updated product page with new rating/feedback.
Error Handling: Display error for invalid Order ID or non-purchased item.
Priority: Medium
Traceability: UC-4
3.2.10 Vendor Registration (FR-10)
Introduction: Allow vendors to register and manage seller accounts.
Inputs: Business name, email, password, phone, address, tax ID.
Processing: Validate inputs, verify tax ID, assign unique Seller ID.
Outputs: Confirmation email with account details.
Error Handling: Display error for duplicate email or invalid tax ID.
Priority: Medium
Traceability: UC-3
3.3 Use Cases
3.3.1 Browse Products (UC-1)
Actors: Customer, Guest User
Description: Users browse or search for products.
Preconditions: System is online, products are available.
Basic Flow:
1. User accesses homepage.
2. User enters search query or selects filters (category, price, ratings).
3. System displays up to 10 matching products, related items, and feedback.
4. User navigates results or views product details.
Postconditions: User sees product details or search results.
Exceptions: No results found; display message.
Priority: High
3.3.2 Place Order (UC-2)
Actors: Customer
Description: Customer places an order for cart items.
Preconditions: User is logged in, cart is not empty.
Basic Flow:
1. User navigates to cart page.
Software Requirements Specification
2. User confirms items, enters shipping address, selects payment method.
3. System processes payment, generates invoice, and sends confirmation.
4. User tracks order status.
Postconditions: Order is created, inventory updated, invoice sent.
Exceptions: Payment failure; prompt retry.
Priority: High
3.3.3 Manage Cart (UC-3)
Actors: Customer
Description: Add, modify, or remove items in the cart or wishlist.
Preconditions: User is logged in.
Basic Flow:
1. User navigates to cart or wishlist page.
2. User adds items, updates quantities, or removes items.
3. System updates cart/wishlist and displays total.
Postconditions: Cart/wishlist reflects changes.
Exceptions: Display error for out-of-stock items.
Priority: High
3.3.4 Rate/Provide Feedback (UC-4)
Actors: Customer
Description: Customer rates and provides feedback on a purchased product.
Preconditions: User is logged in, has purchased the product.
Basic Flow:
1. User navigates to order history or product page.
2. User submits rating (1-5 stars) and feedback text.
3. System validates purchase and updates product page.
Postconditions: Product rating/feedback is displayed.
Exceptions: Display error for non-purchased items.
Priority: Medium
3.4 Classes / Objects
3.4.1 User (C-1)
Attributes:
o userID: Integer, unique identifier
o name: String
o email: String
o password: String (hashed)
Software Requirements Specification
o phone: String
o address: String
Functions:
o register(): Create account
o login(): Authenticate user
o updateProfile(): Modify details
Reference: FR-1, UC-1, UC-2, UC-4
3.4.2 Product (C-2)
Attributes:
o productID: Integer, unique identifier
o name: String
o description: String
o price: Float
o stock: Integer
o category: String
o sellerID: Integer
o averageRating: Float
Functions:
o addProduct(): Add new product
o updateProduct(): Modify details
o getProductDetails(): Retrieve info
Reference: FR-2, FR-4, FR-9, UC-1, UC-4
3.4.3 Order (C-3)
Attributes:
o orderID: Integer, unique identifier
o userID: Integer
o items: List
o total: Float
o paymentMethod: String
o status: String
o invoicePDF: Binary
Functions:
o generateInvoice(): Create PDF
o confirmOrder(): Process order
o trackOrder(): Retrieve status
Software Requirements Specification
Reference: FR-3, FR-5, FR-6, FR-8, UC-2
3.4.4 Feedback (C-4)
Attributes:
o feedbackID: Integer, unique identifier
o productID: Integer
o userID: Integer
o rating: Integer (1-5)
o comment: String
o date: DateTime
Functions:
o addFeedback(): Submit rating/feedback
o getFeedback(): Retrieve feedback for a product
Reference: FR-9, UC-4
3.4.5 Vendor (C-5)
Attributes:
o sellerID: Integer, unique identifier
o businessName: String
o email: String
o password: String (hashed)
o phone: String
o address: String
o taxID: String
Functions:
o registerVendor(): Create vendor account
o updateVendor(): Modify details
Reference: FR-10, UC-3
3.5 Non-Functional Requirements
3.5.1 Performance
95% of transactions shall complete in under 2 seconds.
Support 1,000 concurrent users without degradation, scalable to millions.
Initial load time shall not exceed 3 seconds with 5 Mbps internet.
3.5.2 Reliability
Mean Time Between Failures (MTBF) shall exceed 30 days.
Database backups shall be maintained with automatic switchover.
3.5.3 Availability
Software Requirements Specification
System downtime shall not exceed 1 minute per day (99.99% uptime).
ISP shall provide 99.999% availability.
3.5.4 Security
Encrypt all transactions with SSL/TLS.
Auto-logout after 15 minutes of inactivity.
Prevent storage of passwords or payment details in cookies.
Encrypt back-end databases; restrict server access to authenticated admins.
Display only the last 4 digits of payment card numbers.
3.5.5 Maintainability
Modular MVC design shall allow updates with less than 4 hours of downtime.
Use commercial database (MySQL) for efficient maintenance.
3.5.6 Portability
System shall run on Chrome, Firefox, Safari, and Edge (HTML5, JavaScript).
3.5.7 Accessibility
Comply with 508 standards and WCAG 2.1, supporting screen readers.
Provide multi-language support (English, Spanish, Hindi).
3.5.8 Scalability
System shall scale to handle millions of users via AWS cloud infrastructure.
Database shall support 30 million products and 1 million users.
3.5.9 Usability
Interface shall be intuitive, requiring no user training for customers.
Navigation shall allow task completion in under 3 clicks for common actions (e.g., search,
checkout).
3.6 Inverse Requirements
The system shall not store unencrypted payment details.
Guest users shall not access cart, order placement, feedback, or profile features.
No cookies shall contain user passwords or sensitive data.
3.7 Design Constraints
Use MySQL for database, Nginx for web server, and AWS for hosting.
Built with HTML5, CSS, JavaScript for client-side; PHP for server-side.
Comply with WCAG 2.1, 508 standards, GDPR, and PCI-DSS.
Payment processing limited to Stripe, Razorpay, PayPal, and cash due to vendor
agreements.
Maximum 3-second load time for initial page rendering.
Software Requirements Specification
3.8 Logical Database Requirements
Database: MySQL 8.0
Data Formats:
o User: (userID, name, email, password, phone, address)
o Product: (productID, name, description, price, stock, category, sellerID,
averageRating)
o Order: (orderID, userID, items, total, paymentMethod, status, invoicePDF)
o Feedback: (feedbackID, productID, userID, rating, comment, date)
o Vendor: (sellerID, businessName, email, password, phone, address, taxID)
Storage: Minimum 1 TB for 30 million products, 1 million users, and feedback.
Data Integrity: Foreign key constraints for Order-User, Order-Product, Feedback-
Product, and Product-Vendor relations.
Retention: Retain order and feedback data for 7 years per tax regulations.
Backup: Continuous backups with off-site replication.
3.9 Other Requirements
Provide RESTful API for third-party integrations (e.g., mobile apps).
Support Google Analytics for user behavior tracking.
Maintain business rules requiring valid User ID/Seller ID and complete customer details
(name, address, phone, email).
Implement live chat for customer support using WebRTC.
4.Analysis Models
4.1 Sequence Diagrams
Software Requirements Specification
4.2 State-Transition Diagrams (STD)
4.3 Data Flow Diagrams (DFD)
Software Requirements Specification
4.4 UML Use Case Diagram
4.5 Entity-Relationship Diagram (ERD)
Software Requirements Specification
5. Change Management Process
Changes to this SRS will be managed as follows:
Submission: Stakeholders submit change requests via email to the Lead Software
Engineer.
Review: The Lead Software Engineer evaluates impact on scope, cost, and schedule
within 48 hours.
Approval: Changes require approval from the Lead Software Engineer and Instructor (A.
David McKinnon).
Documentation: Approved changes are recorded in the Revision History, with updated
SRS versions distributed.
A. Appendices
A.1 Appendix 1
Glossary:
Cart: Temporary storage for products.
Checkout: Process of confirming and paying for orders.
Invoice: Detailed bill for an order, sent as a PDF.
Order ID: Unique identifier for each purchase.
Wishlist: User-saved list of desired products.
Feedback: Customer rating (1-5 stars) and comments on a product.
A.2 Appendix 2
A.2 Appendix 2 Diagram Sources:
Sequence Diagram: Sourced from Creately, Online Shopping System Sequence Diagram,
https://creately.com/demo-start/?tempId=i3069s4u1.
State-Transition Diagram (STD): https://app.creately.com/d/IcFrYjc45ph/edit
Data Flow Diagram : Sourced from ConceptDraw, Online Store DFD,
https://www.conceptdraw.com/How-To-Guide/picture/Online-store-dfd.png.
Entity-Relationship Diagram (ERD): Sourced from Creately, ER Diagram for Online
Shopping System, https://creately.com/diagram/example/hzvi5flu/er-diagram-for-online-
shopping-system.
Software Requirements Specification