0% found this document useful (0 votes)
22 views34 pages

Báo Cáo Nhóm 8

The document is a Software Requirements Specification (SRS) template for the Design Thinking course, detailing the structure and content required for a software project. It includes sections on project purpose, scope, user characteristics, specific requirements, and general constraints, aimed at guiding the development of an e-commerce platform called VietMart. The template emphasizes the importance of clear, traceable, and verifiable requirements for effective software design and implementation.

Uploaded by

Minh Lê Công
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views34 pages

Báo Cáo Nhóm 8

The document is a Software Requirements Specification (SRS) template for the Design Thinking course, detailing the structure and content required for a software project. It includes sections on project purpose, scope, user characteristics, specific requirements, and general constraints, aimed at guiding the development of an e-commerce platform called VietMart. The template emphasizes the importance of clear, traceable, and verifiable requirements for effective software design and implementation.

Uploaded by

Minh Lê Công
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Software Requirements Specification Template

Software Engineering

The following annotated template shall be used to complete the Software Requirements
Specification (SRS) assignment of Design Thinking (TDCN) Course. The Lecturer must
approve any modifications to the overall structure of this document.

Template Usage:
Text contained within angle brackets (‘<’, ‘>’) shall be replaced by your project-specific
information and/or details. For example, <Project Name> will be replaced with either ‘Smart
Home’ or ‘Sensor Network’.

Italicized text is included to briefly annotate the purpose of each section within this template.
This text should not appear in the final version of your submitted SRS.

This cover page is not a part of the final template and should be removed before your SRS is
submitted.

Acknowledgements:
Sections of this document are based upon the IEEE Guide to Software Requirements
Specification (ANSI/IEEE Std. 830-1984). The SRS templates of Dr. Orest Pilskalns (WSU,
Vancover) and Jack Hagemeister (WSU, Pullman) have also be used as guides in developing this
template for the subject of Design Thinking (TDCN) course at HUST.

WSU-TC CptS 322 Software Requirements Specification Template


<VietMart online store>

Software Requirements Specification


Version 1.0
19/12/2024

NHÓM 8
Nguyễn Văn Lương

Prepared for subject of


TDCN (Design Thinking) —Software Engineering Principles I
Lecturer: Assoc. Prof. Nguyen Tai Hung.
2024
<Project Name>

Revision History

Date Description Author Comments


05/12/2024 Version 1 Lương, Mạnh, Come up with ideas, building
Minh, Nam, Ly the functional basis and
design of the website

Document Approval

The following Software Requirements Specification has been accepted and approved by the
following:
Signature Printed Name Title Date
Nhóm 8 Lead Software Eng. 05/12/2024
Nguyen Tai Hung Lecturer, TDCN 05/12/2024
20222589 Nguyễn Văn Lương Team Leader 05/12/2024
20226687 Lê Văn Nam Team member 05/12/2024
20224058 Lê Công Minh Team member 05/12/2024
20225039 Vũ Phương Ly Team member 05/12/2024
20222028 Hoàng Thế Mạnh Team member 05/12/2024

Software Requirements Specification Page ii


<Project Name>

Table of Contents

REVISION HISTORY ...............................................................................................................................................II


DOCUMENT APPROVAL .......................................................................................................................................II
1. 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 .............................................................. LỖI! THẺ ĐÁNH DẤU KHÔNG ĐƯỢC XÁC ĐỊNH.
2.2 PRODUCT FUNCTIONS ................................................................. LỖI! THẺ ĐÁNH DẤU KHÔNG ĐƯỢC XÁC ĐỊNH.
2.3 USER CHARACTERISTICS .....................................................................................................................................3
2.4 GENERAL CONSTRAINTS ......................................................................................................................................4
2.5 ASSUMPTIONS AND DEPENDENCIES .....................................................................................................................4
3. SPECIFIC REQUIREMENTS ...............................................................................................................................4
3.1 EXTERNAL INTERFACE REQUIREMENTS ...............................................................................................................5
3.1.1 User Interfaces ............................................................................................................................................5
3.1.2 Hardware Interfaces ....................................................................................................................................6
3.1.3 Software Interfaces......................................................................................................................................7
3.1.4 Communications Interfaces .........................................................................................................................8
3.2 FUNCTIONAL REQUIREMENTS ............................................................................................................................ 10
3.2.1 Order goods ............................................................................................................................................... 10
3.2.2 Search good by names, prices ................................................................................................................... 11
3.2.3 Create new uses for seller ......................................................................................................................... 11
3.2.4 Create new goods ...................................................................................................................................... 12

3.3 USE CASES......................................................................................................................................................... 13


3.3.1 Order goods ............................................................................................................................................... 14
3.3.2 Search good by names, prices ................................................................................................................... 15
3.2.3 Create new uses for seller ...................................................................................................................... 16
3.2.4 Create new good........................................................................................................................................ 16

3.4 CLASSES / OBJECTS............................................................................................................................................ 16


3.4.1 Product ...................................................................................................................................................... 16
3.4.2 User ........................................................................................................................................................... 16
3.5 NON-FUNCTIONAL REQUIREMENTS ................................................................................................................... 16
3.5.1 Performance .............................................................................................................................................. 20
3.5.2 Reliability .................................................................................................................................................. 20
3.5.3 Availability................................................................................................................................................ 20
3.5.4 Security ..................................................................................................................................................... 20
3.5.5 Maintainability .......................................................................................................................................... 20
3.5.6 Portability .................................................................................................................................................. 21
3.6 INVERSE REQUIREMENTS ................................................................................................................................... 22
3.7 DESIGN CONSTRAINTS ....................................................................................................................................... 22
3.8 LOGICAL DATABASE REQUIREMENTS ................................................................................................................ 25
3.9 OTHER REQUIREMENTS ..................................................................................................................................... 27
4. ANALYSIS MODELS ........................................................................................................................................... 28

Software Requirements Specification Page iii


<Project Name>

4.1 SEQUENCE DIAGRAMS ....................................................................................................................................... 28


4.3 DATA FLOW DIAGRAMS (DFD) ......................................................................................................................... 28
4.2 STATE-TRANSITION DIAGRAMS (STD) .............................................................................................................. 28
5. CHANGE MANAGEMENT PROCESS ............................................................................................................. 28
A. APPENDICES ....................................................................................................................................................... 28
A.1 APPENDIX 1....................................................................................................................................................... 29
A.2 APPENDIX 2....................................................................................................................................................... 29

Software Requirements Specification Page iv


<Project Name>

1. Introduction
The introduction to the Software Requirement Specification (SRS) document should provide an
overview of the complete SRS document. While writing this document please remember that
this document should contain all of the information needed by a software engineer to adequately
design and implement the software product described by the requirements listed in this
document. (Note: the following subsection annotates are largely taken from the IEEE Guide to
SRS).

1.1 Purpose
What is the purpose of this SRS and the (intended) audience for which it is written.

1.2 Scope
This subsection should:
(1) Identify the software product(s) to be produced by name; for example, Host DBMS, Report
Generator, etc
(2) Explain what the software product(s) will, and, if necessary, will not do
(3) Describe the application of the software being specified. As a portion of this, it should:
(a) Describe all relevant benefits, objectives, and goals as precisely as possible. For example,
to say that one goal is to provide effective reporting capabilities is not as good as saying
parameter-driven, user-definable reports with a 2 h turnaround and on-line entry of user
parameters.
(b) Be consistent with similar statements in higher-level specifications (for example, the
System Requirement Specification) , if they exist.What is the scope of this software
product.

1.3 Definitions, Acronyms, and Abbreviations


This subsection should provide the definitions of all terms, acronyms, and abbreviations required
to properly interpret the SRS. This information may be provided by reference to one or more
appendixes in the SRS or by reference to other documents.

1.4 References
This subsection should:
(1) Provide a complete list of all documents referenced elsewhere in the SRS, or in a separate,
specified document.
(2) Identify each document by title, report number - if applicable - date, and publishing
organization.
(3) Specify the sources from which the references can be obtained.
This information may be provided by reference to an appendix or to another document.

1.5 Overview
This subsection should:
(1) Describe what the rest of the SRS contains

Software Requirements Specification Page 1


<Project Name>

(2) Explain how the SRS is organized.

2. General Description
VietMart is an e-commerce platform designed to showcase and sell a wide range of products,
with a strong focus on high-quality Vietnamese goods. It aims to provide users with a seamless
online shopping experience, including easy payment and real-time order tracking.
• Focus on Vietnamese Products: Promotes the use of locally made products and supports
domestic manufacturers.
• Market-Specific Features: Offers features tailored to the Vietnamese market, such as
cash-on-delivery (COD) payment, installment options, and fast urban delivery services.

2.1 Product Perspective


Compared to other sales platforms on the market, VietMart has the following distinctive features:
• Core values: Promoting Vietnamese goods, building consumer trust, and supporting
small businesses.
• Target customers: Vietnamese individuals and local sellers to enhance accessibility.
• Long-term vision and objectives: Helping consumers access high-quality products and
creating a sustainable ecosystem for both buyers and sellers.
2.2 Product Functions
1. Functions for Buyers (Customers)
1.1. Browsing Products
• Display product categories by groups (type, brand, price, etc.).
• Advanced search tools with filters (price, size, color, ratings, etc.).
• Display detailed product information: images, descriptions, pricing, specifications, and
user reviews.
1.2. Cart Management
• Add, edit, or remove items in the shopping cart.
• Display total order value, including shipping fees or discounts.
• Save the cart for future purchases (if not yet checked out).
1.3. Checkout
• Diverse payment methods: COD, credit/debit cards, e-wallets (Momo, ZaloPay, PayPal),
and bank transfers.
• Ensure payment security (SSL encryption).
• Provide electronic invoices or email order confirmations.
1.4. User Accounts
• Register and log in (via email, phone number, or social media).
• Update personal information (shipping address, phone number, etc.).
• Manage purchase history: track order status, view past orders.
• Review and comment on products after purchase.
1.5. Support and Services
• Live chat tool for customer support.
• Complaint and return management system.
• FAQ and website usage guides.
2. Functions for Sellers
2.1. Product Management
• Add, edit, or remove products.

Software Requirements Specification Page 2


<Project Name>

• Manage inventory levels for each product.


• Track views and purchases of each product.
2.2. Order Management
• Receive notifications of new orders.
• Confirm, process, and update order status.
• Communicate with customers via the messaging system.
2.3. Promotion Management
• Create and manage promotional campaigns (discounts, product bundles, free shipping).
• Set up discount codes and track performance.
2.4. Reports and Analytics
• Revenue reports by day, week, and month.
• Track sales performance by product or marketing campaign.
3. Functions for Administrators (Admin)
3.1. User Management
• Add, edit, or delete buyer and seller accounts.
• Assign roles to users (main admin, sub-admins, etc.).
3.2. Content Management
• Moderate customer reviews and comments.
• Manage announcements or posts on the homepage.
3.3. Product and Category Management
• Approve seller-submitted products before displaying them on the website.
• Update product categories and groups.
4. Other Functions
Third-Party Integration: Integrate shipping APIs to track delivery status.
2.3 User Characteristics
Buyers
• Characteristics: Diverse age range, preference for Vietnamese products, basic tech-
savviness, prioritize ease of use and flexible budgets.
• Behavior: Prefer discount codes, fast delivery, and product review features. Favor
flexible payment options.
Sellers
• Characteristics: Small and medium-sized businesses or individual vendors, limited
experience with online sales, require low-cost and user-friendly solutions.
• Behavior: Initially list small quantities before scaling up. Interested in customer
feedback, performance analytics, and product promotion tools.
2.4 General Constraints
1. Technological Constraints
• Performance and scalability to handle a large number of users.
• Data security for both buyers and sellers.
• Complexity of integrating payment gateways.
2. User Experience Constraints
• New sellers may face difficulties using the tools.
• Differing needs between buyers and sellers may create interface design conflicts.
3. Operational Constraints
• Synchronization with shipping partners to ensure fast delivery.
• Non-synchronized inventory management may lead to "out of stock" situations.

Software Requirements Specification Page 3


<Project Name>

• Difficulty controlling product quality from sellers.


4. Cost Constraints
• High initial investment, significant operational and marketing costs.
5. Competitive Constraints
• Intense competition from major platforms and low user loyalty.
6. Legal Constraints
• Compliance with e-commerce regulations and dispute resolution policies.
Solutions
• Design a flexible and secure system.
• Enhance user experience with a friendly interface and online support.
• Partner with reliable shipping providers and invest in effective marketing.
2.5 Assumptions and Dependencies
1. Assumptions
• Users have devices with Internet connectivity.
• Support for popular operating systems (Android, iOS, web browsers).
• Capability to integrate payment gateways and shipping APIs.
• Compliance with Vietnamese legal regulations.
2. Dependencies
• Third-party services (payment gateways, shipping APIs).
• Stable hardware and network infrastructure.
• A professional technical team for maintenance and upgrades.
• User feedback to guide feature development.

3. Specific Requirements
This will be the largest and most important section of the SRS. The customer requirements will
be embodied within Section 2, but this section will give the D-requirements that are used to
guide the project’s software design, implementation, and testing.

Each requirement in this section should be:


• Correct
• Traceable (both forward and backward to prior/future artifacts)
• Unambiguous
• Verifiable (i.e., testable)
• Prioritized (with respect to importance and/or stability)
• Complete
• Consistent
• Uniquely identifiable (usually via numbering like 3.4.5.6)

Attention should be paid to the carefuly organize the requirements presented in this section so
that they may easily accessed and understood. Furthermore, this SRS is not the software design
document, therefore one should avoid the tendency to over-constrain (and therefore design) the
software project within this SRS.

Software Requirements Specification Page 4


<Project Name>

3.1 External Interface Requirements


3.1.1 User Interfaces
User Interfaces for VietMart Online Store
The user interfaces (UI) of the VietMart Online Store are designed to provide a seamless and
user-friendly experience for both customers and administrators. Below is a breakdown of the key
user interfaces:

1. Customer User Interface


1.1. Website Interface
• Homepage:
o Layout:
▪ Header: Logo, navigation menu (categories), search bar, cart, and user
account.
▪ Main Banner: Highlights ongoing promotions or featured products.
▪ Product Categories: Organized into sections like "New Arrivals," "Best
Sellers," and "Discounts."
o Features:
▪ Real-time search suggestions while typing in the search bar.
▪ Product filtering by category, price, ratings, etc.
• Product Page:
o Layout:
▪ Large product image carousel.
▪ Details section: Product name, price, description, customer reviews.
▪ Action buttons: "Add to Cart," "Add to Wishlist."
o Features:
▪ Zoom-in on product images.
▪ View related products and recommendations.
• Cart Page:
o Layout:
▪ List of selected items with quantity, price, and total amount.
▪ Summary box with shipping fees and final total.
o Features:
▪ Update item quantities in real time.
▪ Display suggested products for upselling.
• Checkout Page:
o Layout:
▪ Sections for shipping information, payment methods, and order summary.
o Features:
▪ Integration with payment gateways for secure transactions.
▪ Real-time validation of input fields (e.g., address, phone number).
1.2. Mobile App Interface
• Design:
o Optimized for smaller screens using Material Design (Android) and Human
Interface Guidelines (iOS).
• Key Features:
o Persistent bottom navigation bar for Home, Categories, Cart, and Profile.

Software Requirements Specification Page 5


<Project Name>

o Push notifications for promotions, order updates, and special offers.


o Fast and responsive browsing of products.

2. Admin User Interface


2.1. Admin Dashboard
• Overview Page:
o Widgets:
▪ Total sales, number of orders, and active users.
▪ Graphs showing revenue trends and product performance.
o Features:
▪ Customizable date ranges for reports.
▪ Quick links to manage products, orders, and users.
2.2. Product Management
• Interface:
o List view of products with options to edit, delete, or mark as out-of-stock.
o Buttons for adding new products and bulk updates.
• Features:
o Upload product images via drag-and-drop.
o Real-time validation for mandatory fields like price and stock.
2.3. Order Management
• Interface:
o Order list with columns for order ID, customer name, status, and total amount.
o Detailed order view showing items purchased, shipping details, and payment
status.
• Features:
o Change order status (e.g., Processing, Shipped, Delivered).
o Generate and print invoices.
2.4. Customer Management
• Interface:
o List of customers with search and filter options (e.g., by activity or loyalty status).
o Detailed view for individual customers, including order history and contact
details.
• Features:
o Send promotional emails or coupons directly from the admin panel.
o View customer preferences based on past purchases.

3. Accessibility and Responsiveness


• Accessibility Features:
o High-contrast mode and screen reader compatibility.
o Keyboard navigation for all primary actions.
• Responsive Design:
o Automatically adapts to different screen sizes, ensuring usability on desktops,
tablets, and mobile devices.

4. Multilingual and Localization Support


• Languages:

Software Requirements Specification Page 6


<Project Name>

o Interface supports multiple languages (e.g., English, Vietnamese).


• Currency and Region Settings:
o Automatically adjusts currency and tax rates based on the user’s location.

5. Security Features in UI
• Login and Registration:
o Secure forms with CAPTCHA integration to prevent bots.
o Two-factor authentication for added security.
• Checkout:
o HTTPS encryption for all payment and personal data fields.

6. Tools and Technologies for Development


• Frontend Technologies:
o React.js, Angular, or Vue.js for a dynamic and responsive UI.
o CSS frameworks like Bootstrap or Tailwind CSS for styling.
• Design Tools:
o Figma, Adobe XD, or Sketch for prototyping and designing UI.

Benefits of the User Interfaces


• For Customers:
o Intuitive navigation and quick access to products and services.
o Secure and hassle-free shopping experience.
• For Administrators:
o Simplified management of inventory, orders, and customers.
o Comprehensive analytics to support decision-making.

3.1.2 Hardware Interfaces


Hardware Interfaces for VietMart Online Store
The hardware interfaces for the VietMart Online Store ensure compatibility and integration with
physical devices and systems that interact with the software. These interfaces are critical for
ensuring smooth operations across customer devices, server infrastructure, and any connected
hardware.

**1. Client-Side Hardware Interfaces


1.1. User Devices
• Devices Supported:
o Desktop computers (Windows, macOS, Linux).
o Mobile devices (Android, iOS).
o Tablets.
• Minimum Hardware Requirements:
o Desktops/Laptops:
▪ Processor: Dual-core 2.0 GHz or higher.
▪ RAM: 4 GB or higher.
▪ Storage: 500 MB available space for browser cache.
o Mobile Devices:

Software Requirements Specification Page 7


<Project Name>

▪ Processor: Quad-core 1.8 GHz or higher.


▪ RAM: 2 GB or higher.
▪ Storage: 100 MB available for app installation and cache.
• Interfaces:
o Compatible with standard web browsers (e.g., Chrome, Firefox, Safari).
o Supports touch interfaces for mobile and tablet users.

2. Server-Side Hardware Interfaces


2.1. Web Servers
• Hardware Specifications:
o Processor: Quad-core 2.5 GHz or higher.
o RAM: 16 GB or higher.
o Storage: SSD with at least 1 TB capacity for fast read/write operations.
o Network: Gigabit Ethernet or higher.
• Purpose: Host the website and handle requests from users.
• Interfaces:
o Compatible with server operating systems like Ubuntu Server, CentOS, or
Windows Server.
o Supports web server software like Nginx or Apache.
2.2. Database Servers
• Hardware Specifications:
o Processor: Quad-core 3.0 GHz or higher.
o RAM: 32 GB or higher for large datasets.
o Storage: SSDs with RAID configuration for data redundancy.
o Network: High-speed network connectivity for real-time data access.
• Purpose: Store and manage product, customer, and order data.
• Interfaces:
o Supports database management systems like MySQL, PostgreSQL, or MongoDB.
2.3. Load Balancers
• Hardware Specifications:
o Dedicated servers or virtual appliances with multi-core processors and high
throughput.
• Purpose: Distribute incoming traffic across multiple servers to ensure high availability
and performance.

3. Peripheral Hardware Interfaces


3.1. Point of Sale (POS) Systems
• Purpose: Integrate online and offline sales for seamless inventory and sales management.
• Interfaces:
o Barcode scanners for product identification.
o Receipt printers for generating transaction receipts.
o Compatible with USB or Bluetooth connections.
3.2. Payment Terminals
• Purpose: Facilitate secure payments during in-store transactions.
• Interfaces:
o NFC and chip readers for card payments.

Software Requirements Specification Page 8


<Project Name>

o API integration for synchronizing transactions with the online store.


3.3. Shipping and Logistics Hardware
• Purpose: Streamline the shipping process.
• Interfaces:
o Label printers for generating shipping labels.
o Weight scales connected via USB for calculating shipping costs.

4. Networking Interfaces
• Hardware Specifications:
o Routers and switches with gigabit connectivity.
o Firewalls for network security.
• Purpose: Enable secure and fast communication between the server, user devices, and
third-party services.
• Interfaces:
o Supports standard protocols like TCP/IP, HTTPS, and FTP.

5. Cloud Infrastructure
5.1. Virtual Servers
• Purpose: Host scalable instances for handling high traffic.
• Hardware Requirements:
o Virtualized environments like AWS EC2, Google Cloud, or Microsoft Azure.
o Auto-scaling features to allocate resources dynamically.
• Interfaces:
o Compatible with APIs provided by cloud platforms for management and
monitoring.
5.2. Content Delivery Network (CDN)
• Purpose: Distribute static content globally for faster access.
• Interfaces:
o Compatible with cloud services like AWS CloudFront or Cloudflare.

6. Security Hardware
6.1. Firewalls
• Purpose: Protect the server infrastructure from unauthorized access.
• Interfaces:
o Compatible with hardware firewalls like Cisco ASA or Palo Alto Networks.
o Configured to monitor and filter incoming traffic.
6.2. SSL/TLS Hardware Accelerators
• Purpose: Speed up encryption and decryption processes for secure communication.
• Interfaces:
o Integrated with web servers for HTTPS support.

7. Accessibility Hardware
• Purpose: Ensure the platform is accessible to users with disabilities.
• Interfaces:
o Compatible with screen readers like JAWS or NVDA.
o Supports hardware like Braille displays and adaptive keyboards.

Software Requirements Specification Page 9


<Project Name>

3.1.3 Software Interfaces


3.1.4 Communications Interfaces

3.2 Functional Requirements


3.2 Functional Requirements
This section describes specific features of the software project. If desired, some requirements
may be specified in the use-case format and listed in the Use Cases Section.
3.2.1 Order goods:
3.2.1.1 Introduction: Customers can browse products, add them to their cart, and place orders
for goods using the website.
3.2.1.2 Inputs:
• User's product selection(s) (e.g., product IDs, quantity).
• User's shipping address and contact details.
• Payment details (e.g., credit card information or third-party payment gateway login).
3.2.1.3 Processing:
• The system verifies product availability (stock check).
• The system calculates the total price, including taxes and shipping fees.
• The system processes payment through an integrated payment gateway.
• Upon successful payment, the system confirms the order and updates the product
inventory.
3.2.1.4 Outputs:
• Order confirmation details (e.g., order ID, product list, total cost).
• Email/SMS notification to the customer with the order summary.
• Updated inventory and order status in the admin dashboard.
3.2.1.5 Error Handling:
• If the product is out of stock, display an appropriate message.
• If payment fails, provide error feedback and allow the customer to retry or use a different
payment method.
• If address validation fails, prompt the user to correct the details.
3.2.2 Search goods by names, prices, on prevailing and regions:
3.2.1.1 Introduction:
• Customers can search for products using multiple criteria such as product names, price
range, availability (on prevailing offers or discounts), and specific regions for delivery or
pickup.
3.2.1.2 Inputs:
• Product Name: Keywords entered into the search bar.
• Price Range: Minimum and maximum price entered(or chosen in the combo box) by the
user.
• On Prevailing Offers: A filter to show only products with current discounts or
promotional offers.

Software Requirements Specification Page 10


<Project Name>

• Region: Location-based filter to display products available for delivery or pickup in the
specified region.
3.2.1.3 Processing:
• The system parses the search criteria entered by the user.
• A database query is constructed to fetch products matching the entered name, price range,
availability on prevailing offers, and region.
• If multiple criteria are provided, the system combines them using logical operators
(AND/OR) to refine the results.
• Results are ranked based on relevance and displayed to the user.
3.2.1.4 Outputs:
• A list of products matching the search criteria.
• Each product includes a name, image, price, availability, and region of delivery or
pickup.
• Additional sorting options (e.g., sort by price, newest, most popular).
3.2.1.5 Error Handling:
• If no products match the criteria: Display a "No Results Found" message and give
suggest about nearby regions
• If invalid inputs (e.g., negative price range) are provided: Notify the user to correct the
inputs.
3.2.3 Create new goods:
3.2.1.1 Introduction:
• Sellers can add new goods to the platform by providing product details such as name,
category, price, stock quantity, and images.
3.2.1.2 Inputs:
• Product name, description, category, price, and stock quantity.
• Product image file(s) for uploading.
• SKU (Stock Keeping Unit) or unique product identifier.
3.2.3.3 Processing
• The system validates all input fields for completeness and correctness.
• The system stores product details in the database.
• The system processes the uploaded images and stores them in the appropriate file storage
system.
3.2.3.4 Outputs
• Confirmation of the product creation with the assigned product ID.
• The product is displayed in the admin dashboard and visible in the customer-facing
catalog.
3.2.3.5 Error Handling
• If required fields are missing, the system notifies the sellers and highlights the incomplete
fields.
• If image upload fails, display an error message and allow re-upload.
• If the product name or SKU already exists, prompt the admin to enter a unique value.
3.2.4 Create new uses for sellers:
3.2.4.1 Introduction
• Admins can create accounts for retailers or individuals who wish to sell goods on the
platform.
3.2.4.2 Inputs

Software Requirements Specification Page 11


<Project Name>

• Retailer's personal details (e.g., name, email, phone number).


• Business information (e.g., business name, address).
• Login credentials (username, password).
3.2.4.3 Processing
• The system validates all input fields for accuracy and completeness.
• The system checks if the email or username is already registered.
• The system waits for the acceptance of an appropriate admin.
• The system creates the retailer account in the database and sends login credentials to the
registered email.
3.2.4.4 Outputs
• Confirmation of account creation with the retailer's user ID.
• Email notification to the retailer with account activation details.
3.2.4.5 Error Handling
• If required fields are missing, the system highlights the incomplete fields.
• If the email or username already exists, notify the admin and prompt for corrections.
• If email delivery fails, log the error and notify the admin

Software Requirements Specification Page 12


<Project Name>

3.3 Use Cases


3.3.1 Order goods

Software Requirements Specification Page 13


<Project Name>

3.3.2 Search goods by name, prices:

3.3.3 Create new users for seller:

Software Requirements Specification Page 14


<Project Name>

3.3.4 Create new goods

Software Requirements Specification Page 15


<Project Name>

3.4 Classes / Objects


1. Class: User
Attributes:
• user_id (INT): User ID (primary key).
• username (VARCHAR): User's username.
• password_hash (VARCHAR): Encrypted user password.
• email (VARCHAR): User's email address.
• phone_number (VARCHAR): User's phone number.
• role (ENUM): Role of the user (buyer, seller, admin).
• created_at (DATETIME): Account creation timestamp.
• updated_at (DATETIME): Account update timestamp.
Functions:
• register(): Function to register a user account.
• login(): Function to log in to the system.

Software Requirements Specification Page 16


<Project Name>

• update_profile(): Function to update personal information.


• reset_password(): Function to request a password reset.
• delete_account(): Function to delete a user account.

2. Class: Product
Attributes:
• product_id (INT): Product ID (primary key).
• name (VARCHAR): Product name.
• description (TEXT): Detailed product description.
• price (DECIMAL): Product price.
• quantity (INT): Remaining product stock quantity.
• created_at (DATETIME): Timestamp when the product was added to the system.
• updated_at (DATETIME): Timestamp when the product was last updated.
• user_id (INT): Seller's user ID (foreign key linked to User).
• category_id (INT): Product category ID (foreign key linked to Category).
Functions:
• create_product(): Function to create a new product.
• update_product(): Function to update product details.
• delete_product(): Function to delete a product.
• view_product(): Function to view detailed product information.
• add_to_cart(): Function to add the product to a shopping cart.

3. Class: Category
Attributes:
• category_id (INT): Category ID (primary key).
• name (VARCHAR): Category name.
• parent_id (INT, NULLABLE): Parent category ID (if any).
• created_at (DATETIME): Category creation timestamp.
• updated_at (DATETIME): Timestamp when the category was last updated.
Functions:
• create_category(): Function to create a product category.
• update_category(): Function to update a category.
• delete_category(): Function to delete a category.
• view_category(): Function to view a category.
• list_products_by_category(): Function to list products under a category.

4. Class: Order
Attributes:
• order_id (INT): Order ID (primary key).
• user_id (INT): Buyer ID (foreign key linked to User).
• total_amount (DECIMAL): Total order value.
• status (ENUM): Order status (pending, completed, cancelled).
• created_at (DATETIME): Order creation timestamp.
• updated_at (DATETIME): Order update timestamp.
Functions:
• create_order(): Function to create an order.

Software Requirements Specification Page 17


<Project Name>

• update_order_status(): Function to update the order status.


• cancel_order(): Function to cancel an order.
• view_order_details(): Function to view order details.
• get_user_orders(): Function to retrieve all orders for a user.

5. Class: OrderItem
Attributes:
• order_item_id (INT): Order item ID (primary key).
• order_id (INT): Order ID (foreign key linked to Order).
• product_id (INT): Product ID (foreign key linked to Product).
• quantity (INT): Quantity of the product in the order.
• price (DECIMAL): Product price at the time of purchase.
Functions:
• add_product_to_order(): Function to add a product to an order.
• remove_product_from_order(): Function to remove a product from an order.
• update_quantity(): Function to update the quantity of a product in an order.

6. Class: Review
Attributes:
• review_id (INT): Review ID (primary key).
• user_id (INT): Buyer ID (foreign key linked to User).
• product_id (INT): Product ID (foreign key linked to Product).
• rating (INT): Product rating (1-5 stars).
• comment (TEXT): Buyer's comment about the product.
• created_at (DATETIME): Review creation timestamp.
Functions:
• create_review(): Function to create a product review.
• update_review(): Function to update a review.
• delete_review(): Function to delete a review.
• view_reviews(): Function to view all reviews for a product.

7. Class: Cart
Attributes:
• cart_id (INT): Cart ID (primary key).
• user_id (INT): Buyer ID (foreign key linked to User).
• created_at (DATETIME): Cart creation timestamp.
• updated_at (DATETIME): Cart update timestamp.
Functions:
• add_item_to_cart(): Function to add a product to the cart.
• remove_item_from_cart(): Function to remove a product from the cart.
• view_cart(): Function to view all products in the cart.
• clear_cart(): Function to remove all products from the cart.

Summary of Links with Functional Requirements (Use Cases)


• Create a seller account: Related to the User class and functions such as register() and
login().

Software Requirements Specification Page 18


<Project Name>

• Manage products: Related to the Product and Category classes, as well as functions like
create_product() and update_product().
• Create product categories: Related to the Category class and the create_category()
function.
• Ordering and shopping cart: Related to the Order, OrderItem, and Cart classes, with
functions such as create_order(), add_item_to_cart(), view_cart(), etc.
• Product reviews: Related to the Review class and functions like create_review() and
view_reviews().

Software Requirements Specification Page 19


<Project Name>

3.5 Non-Functional Requirements

3.5.1 Performance
• Response Time: 95% of purchase transactions should be processed within
less than 1 second.

• Page Load Time: All website pages (e.g., product pages, cart, checkout)
must load in under 3 seconds.

• User Load Capacity: The system must handle at least 1,000 concurrent users
without performance degradation.

• Transaction Processing: 98% of payment transactions should be completed


in under 2 seconds.

3.5.2 Reliability
• System Error Rate: The system’s error rate must not exceed 0.5% in
payment transactions and key operations (e.g., order creation, adding
products to cart).
• Uptime: The system must guarantee at least 99.9% uptime per month.

• MTBF (Mean Time Between Failures): The average time between system
failures should be greater than 30 days.

• Failure Recovery: In the event of a system failure, recovery and normal


operation must resume within 10 minutes.
3.5.3 Availability

• Availability Guarantee: The system must ensure availability of at least


99.9% per month, equivalent to only a few hours of downtime monthly.

• Downtime: Downtime must not exceed 1 minute per day.

• Post-Failure Recovery: After any system failure, recovery and normal


operation must be achieved within 10 minutes.

3.5.4 Security
• User Authentication: The system must require multi-factor authentication
(2FA) for all users (sellers and buyers) during login.

Software Requirements Specification Page 20


<Project Name>

• Data Encryption: All sensitive data, including user passwords and payment
information, must be encrypted using AES-256.
• Attack Prevention: The system must be protected against attacks like SQL
injection, XSS, and CSRF with a high level of security.

• Secure Transactions: Every payment session and transaction data must be


protected with SSL/TLS during transmission.

• Security Testing: The system must undergo security testing at least every 6
months to detect and patch vulnerabilities.

3.5.5 Maintainability

• Maintenance Simplification: At least 80% of errors should be identified and


resolved within 1 hour of being reported.
• Software Updates: Software and system updates must be deployable without
disrupting user operations in under 30 minutes.

• System Documentation: System documentation and source code must be


maintained comprehensively, ensuring the entire software system can be
managed by a new development team within 30 days of handover.

• Error Management: The system must log all errors and issues, enabling
resolution within 24 hours.
3.5.6 Portability

• Supported Operating Systems: The system must run on popular operating


systems such as Windows, Linux, and macOS without requiring source code
changes.
• Supported Browsers: The website must support at least 3 major browsers
(Chrome, Firefox, Safari) and their mobile versions.
• Deployment Tools: The system must be deployable on major cloud
platforms like AWS, Azure, or Google Cloud without infrastructure
changes.

• Migration Process: System migration from one production environment to


another must be completed within 2 hours with minimal service disruption.

Software Requirements Specification Page 21


<Project Name>

3.6 Inverse Requirements

Inverse requirements define what is not allowed or possible in the system. These
are not mandatory but clarify limitations and conditions to avoid during system
development.

1. No Excessive Transaction Processing Time:


o Transactions taking over 5 seconds to process are not permitted
(contrary to performance requirements).
2. No Storage of Invalid Data:

o The system must not allow storing or using invalid data (e.g.,
improperly formatted user information or products with no value).

3. No Account Deletion Without Confirmation:


o Users cannot delete their accounts without system confirmation
(contrary to security requirements).

4. No Invalid or Incomplete Payments:

o Payments are not accepted unless security requirements are met (e.g.,
missing OTP, incomplete payment).
5. No Zero-Value Products:

o Products with a value of 0 or no price must be removed from the


system
3.7 Design Constraints
Here’s a detailed specification of design constraints for the VietMart Online Store:

Design Constraints for VietMart Online Store


1. Standards and Compliance
The website must comply with the following standards:
• Web Accessibility Standards (WCAG 2.1): Ensure the website is accessible to users with
disabilities, including features like keyboard navigation, alt text for images, and color
contrast compliance.
• GDPR (General Data Protection Regulation): For customers' data protection and
privacy, especially if serving EU customers.
• PCI DSS Compliance: For secure payment processing, ensuring encrypted and safe
transactions.

Software Requirements Specification Page 22


<Project Name>

2. Company Policies
• Brand Identity:
o The website design must align with VietMart’s branding guidelines, including the
use of approved logos, colors, and fonts.
o Product categories and services must reflect VietMart’s core business areas.
• Customer Support:
o Integration with live chat and a ticketing system for customer queries must adhere
to the company’s customer support policies.
• Return and Refund Policies:
o The design must include functionality for users to request returns and refunds as
per company guidelines.

3. Hardware and Infrastructure Limitations


• Hosting Environment:
o The software must be compatible with the chosen hosting provider's hardware
and software environment (e.g., server specifications, operating systems, and
database configurations).
o Support for high traffic volumes during peak times, such as sales events, with
scalable server architecture.
• User Devices:
o The website must be optimized for both high-end and low-end devices, including
desktops, tablets, and smartphones.
o Ensure compatibility with commonly used browsers (e.g., Chrome, Firefox,
Safari, and Edge) and varying screen sizes.

4. Security Constraints
• User Authentication:
o Implement multi-factor authentication (MFA) for admin and seller accounts.
o Enforce strong password policies.
• Data Security:
o Encrypt sensitive customer data during storage and transmission.
o Secure APIs for payment gateways and third-party integrations.
• Fraud Prevention:
o Implement mechanisms to detect and prevent fraudulent transactions.

5. Performance Constraints
• Page Load Speed:
o All pages must load within 3 seconds under normal conditions to meet user
expectations and SEO requirements.
o Optimize images, scripts, and database queries to enhance performance.
• Concurrent Users:
o The system should support at least 10,000 concurrent users during peak hours
without performance degradation.

6. Localization and Regional Constraints

Software Requirements Specification Page 23


<Project Name>

• Language Support:
o The website must support Vietnamese as the primary language, with an option for
English for international customers.
• Currency and Payment Methods:
o Display prices in VND and integrate local payment methods such as Momo,
ZaloPay, and bank transfers.
• Legal Requirements:
o Adhere to Vietnam's e-commerce regulations, including tax compliance and
invoice generation.

7. Integration Constraints
• Third-Party Services:
o Seamless integration with third-party services like payment gateways, logistics
partners, and inventory management systems.
o APIs for mobile app synchronization and third-party seller platforms.

These constraints will guide the design and development process to ensure the website meets all
technical, regulatory, and user experience expectations. Let me know if you'd like further
elaboration on any of these points!
.

Software Requirements Specification Page 24


<Project Name>

3.8 Logical Database Requirements

Logical Database Requirements for Data Formats, Storage, Retention, and


Integrity

1. Data Formats

The database must support appropriate data formats for each type of information
stored:

• Text Data:

o Fields like ProductName, Description, CategoryName, and


Comment must use UTF-8 encoding to support multiple languages,
including Vietnamese.

o Character limits should be defined (e.g., ProductName max 255


characters).
• Numerical Data:

o Use appropriate data types such as INTEGER for IDs and


quantities, and DECIMAL(10, 2) for prices to maintain precision.

• Date and Time:


o Fields like OrderDate, PaymentDate, and ReviewDate must use ISO
8601 format (YYYY-MM-DD HH:MM:SS).
• Binary Data:
o Store images and large files as URLs or in a dedicated object storage
service to minimize database size.

• Enumerations:

o Use predefined sets for fields like OrderStatus (Pending, Shipped,


Delivered, Canceled) and PaymentMethod (Credit Card, E-Wallet,
Bank Transfer).

2. Storage Capabilities

Software Requirements Specification Page 25


<Project Name>

The database must support the expected volume of data while ensuring
scalability:
• Initial Storage Requirements:

o Users: 1 million records.

o Products: 500,000 items with descriptions and images.


o Orders: 10 million records per year.

o Reviews: 5 million records per year.

• Scalability:

o Implement horizontal and vertical scaling to accommodate growth


in data volume.

o Use partitioning for large tables (e.g., partition Orders by year).


• Backup and Recovery:
o Enable daily backups and support point-in-time recovery to prevent
data loss.

3. Data Retention Policies


The system must comply with legal and operational requirements for data
retention:

• User Data: Retain personal information as long as the user has an active
account, with an option for deletion upon request per GDPR or local
regulations.

• Order History:
o Retain for a minimum of 5 years to comply with tax and auditing
requirements.

• Logs:

Software Requirements Specification Page 26


<Project Name>

o Retain operational logs for 1 year for troubleshooting and security


audits.

4. Data Integrity Requirements

To ensure data accuracy and consistency:


• Constraints:

o Primary Key Constraints: Ensure all entities have unique identifiers


(e.g., UserID, ProductID).

o Foreign Key Constraints: Maintain referential integrity between


related tables (e.g., OrderID in OrderDetails references OrderID in
Orders).
o Not Null Constraints: Critical fields like ProductName, Price, and
OrderDate must not be null.

• Validation:

o Validate data inputs such as email format, phone number structure,


and payment amounts at the database level.
• Atomic Transactions:

o Ensure that operations like placing an order update multiple tables


(Orders, OrderDetails, and Stock) in a single transaction to prevent
inconsistencies.

• Audit Trails:

o Maintain audit logs for changes to critical records (e.g., product


prices, user roles) to track modifications.

5. Data Security and Confidentiality

To protect sensitive data:


• Encryption:

Software Requirements Specification Page 27


<Project Name>

o Encrypt sensitive data (e.g., passwords, payment details) using


industry-standard algorithms like AES-256.
o Ensure encrypted communication between the database and
application using SSL/TLS.

• Access Control:
o Implement role-based access controls (RBAC) to restrict access to
sensitive data.
o Use database-level permissions to separate user, admin, and
developer access.

• Data Masking:

o Mask sensitive fields like credit card numbers and passwords in logs
and query results.

These logical requirements ensure the database meets performance, compliance,


and security needs for the VietMart online store while remaining scalable and
user-friendly. Let me know if you need further details!

4. Analysis Models
List all analysis models used in developing specific requirements previously given in this SRS.
Each model should include an introduction and a narrative description. Furthermore, each model
should be traceable the SRS’s requirements.

4.1 Sequence Diagrams

4.3 Data Flow Diagrams (DFD)

4.2 State-Transition Diagrams (STD)

5. Change Management Process


Change Sumission
● Who Can Submit Changes:
The stakeholders of the project include the project manager, product owner, development team,
QA team, and customer representatives.
● How to Submit Changes:

Software Requirements Specification Page 28


<Project Name>

Changes must be made using a standardized Change Request Form, via email, or through a
specialized project management tool.
Change Review and Approval:
1. Approval Process:
Approved changes will be documented in the SRS Change Log, with corresponding
updates made to the SRS.
Rejected changes will include an official reason provided to the requester.
2. Approval Documentation:
Approved changes will be recorded in the revised document, and all stakeholders will
be notified of the update.
3. Notification:
All stakeholders will be informed of approved changes through the project's official
communication channels.

A. Appendices
Initial Concept Documentation
• Overview of the purpose, target audience, and core features of the online sales system.
• Includes conceptual diagrams or workflows (e.g., user registration, product browsing,
checkout).

Software Requirements Specification Page 29

You might also like