Nothing Special   »   [go: up one dir, main page]

AyeshaTrading

Download as pdf or txt
Download as pdf or txt
You are on page 1of 42

Ayesha General Trading Company

M Saad Abbasi

FA20-BCS-103

Mubashir Bashir

SP21-BCS-008

DEPARTMENT OF COMPUTER SCIENCES


COMSATS UNIVERSITY ISLAMABAD, WAH CAMPUS
WAH CANTT – PAKISTAN
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page i

Contents
Contents
LIST OF FIGURES .................................................................................................................................................. IV
LIST OF TABLES ...................................................................................................................................................... V
1 INTRODUCTION ................................................................................................................................................1
1.1 SYSTEM INTRODUCTION ..............................................................................................................................1
1.2 BACKGROUND OF THE SYSTEM ...................................................................................................................1
1.3 OBJECTIVES OF THE SYSTEM .......................................................................................................................1
1.4 SIGNIFICANCE OF THE SYSTEM ....................................................................................................................2
2 OVERALL DESCRIPTION ...............................................................................................................................3
2.1 PRODUCT PERSPECTIVE ...............................................................................................................................3
2.2 PRODUCT SCOPE..........................................................................................................................................5
2.3 PRODUCT FUNCTIONALITY ..........................................................................................................................5
2.3.1 User Authentication and Authorization:.................................................................................. 5
2.3.2 Product Catalogue: .................................................................................................................. 5
2.3.3 Shopping Cart: ........................................................................................................................ 5
2.3.4 Order Management: ................................................................................................................ 5
2.3.5 Payment Gateway: .................................................................................................................. 5
2.3.6 Reviews and Ratings: .............................................................................................................. 6
2.3.7 Offer live chat ......................................................................................................................... 6
2.3.8 Manage and display promotional deals. .................................................................................. 6
2.3.9 Admin Dashboard ................................................................................................................... 6
2.4 USERS AND CHARACTERISTICS....................................................................................................................6
2.4.1 Administrator .......................................................................................................................... 6
2.4.2 Customers................................................................................................................................ 7
2.5 OPERATING ENVIRONMENT .........................................................................................................................8
3 SPECIFIC REQUIREMENTS ...........................................................................................................................9
3.1 FUNCTIONAL REQUIREMENTS .....................................................................................................................9
3.1.1 User Authentication and Authorization .................................................................................. 9
3.1.2 Product Catalog ....................................................................................................................... 9
3.1.3 Shopping Cart .......................................................................................................................... 9
3.1.4 Order Management................................................................................................................. 9
3.1.5 Payment Gateway ................................................................................................................... 9
3.1.6 Reviews and Ratings ................................................................................................................ 9
3.1.7 Shipping and Tracking ............................................................................................................. 9
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page ii

3.1.8 Customer Support ................................................................................................................... 9


3.1.9 Promotions and Discounts .................................................................................................... 10
3.1.10 Recommendation Engine .................................................................................................. 10
3.1.11 Admin Dashboard ............................................................................................................. 10
3.1.12 Inventory Management .................................................................................................... 10
3.2 BEHAVIOUR REQUIREMENTS ..................................................................................................................... 11
3.2.1 Use-case Diagram .................................................................................................................. 11
3.2.2 Use-case Description ............................................................................................................. 12
3.3 EXTERNAL INTERFACE REQUIREMENTS .................................................................................................... 15
3.3.1 User Interfaces ...................................................................................................................... 15
Signup ................................................................................................................................................. 15
Login ................................................................................................................................................... 16
Home Page .......................................................................................................................................... 17
User dashboard.................................................................................................................................... 17
Products............................................................................................................................................... 18
Cart Items ............................................................................................................................................ 18
Favourite Items ................................................................................................................................... 19
Admin Dashboard ............................................................................................................................... 19
3.3.2 Hardware Interfaces .............................................................................................................. 20
3.3.3 Software Interfaces................................................................................................................ 20
3.3.4 Communications Interfaces ................................................................................................... 21
4 OTHER NON-FUNCTIONAL REQUIREMENTS ........................................................................................ 22
4.1 PERFORMANCE REQUIREMENTS ................................................................................................................ 22
4.2 SAFETY AND SECURITY REQUIREMENTS ................................................................................................... 23
4.3 SOFTWARE QUALITY ATTRIBUTES ............................................................................................................ 23
4.3.1 Usability ................................................................................................................................ 23
4.3.2 Portability .............................................................................................................................. 23
4.3.3 Reliability ............................................................................................................................... 23
5 DESIGN DESCRIPTION ................................................................................................................................. 24
5.1 COMPOSITE VIEWPOINT ............................................................................................................................ 24
5.2 LOGICAL VIEWPOINT ................................................................................................................................ 25
5.3 INFORMATION VIEWPOINT ........................................................................................................................ 26
5.4 INTERACTION VIEWPOINT ......................................................................................................................... 27
CUSTOMER SEQUENCE DIAGRAM ............................................................................................................................ 27
ADMIN SEQUENCE DIAGRAM................................................................................................................................... 28
5.5 STATE DYNAMICS VIEWPOINT .................................................................................................................. 29
CUSTOMER STATE DYNAMICS ............................................................................................................................... 29
ADMIN STATE DYNAMICS ....................................................................................................................................... 30
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page iii

5.6 ALGORITHM VIEWPOINT ........................................................................................................................... 31


5.6.1 USER ALGORITHM VIEWPOINT ....................................................................................................................... 31
USER DESCRIPTION ................................................................................................................................................. 31
USER PSEUDO CODE ................................................................................................................................................ 31
5.6.2 Admin Algorithm Viewpoint ........................................................................................................ 34
ADMIN DESCRIPTION ............................................................................................................................................... 34
ADMIN PSEUDO CODE ............................................................................................................................................. 34
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page iv

List of Figures
Figure 2.1 – Perspective.................................................................................................................... 3

Figure 2 – Use-Case Diagram ..........................................................................................................8

Figure 3 – Signup .............................................................................................................................9

Figure 4 – Login ............................................................................................................................. 10

Figure 5 – Home Page .................................................................................................................... 11

Figure 6 – User Dashboard ............................................................................................................. 11

Figure 7 – Products......................................................................................................................... 12

Figure 8 – Cart Items ...................................................................................................................... 12

Figure 9 – Favorite Items ............................................................................................................... 13

Figure 10 – Admin Dashboard ....................................................................................................... 13

Figure 11 – Package Diagram ........................................................................................................ 17

Figure 12 – Class Diagram .............................................................................................................. 18

Figure 13 – Entity-Relation Design ................................................................................................19

Figure 14 – Customer Sequence Diagram....................................................................................... 20

Figure 15 – Admin Sequence Diagram ........................................................................................... 21

Figure 16 – Customer State Dynamics Diagram ............................................................................. 22

Figure 17 – Admin State Dynamics Diagram ................................................................................. 23


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page v

List of Tables
Table 3.1: Use-case Description ................................................................................................................. 12
Table 3.2: Software Tools ........................................................................................................................... 20
Table 5.1– User Description ....................................................................................................................... 31
Table 5.2– User Pseudo Code ..................................................................................................................... 31
Table 5.3 – Admin Description ................................................................................................................... 34
Table 5.4 – Admin Pseudo Code ................................................................................................................ 34
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 1

1 Introduction
1.1 System Introduction
The proposed software is an e-commerce website specifically designed for Ayesha General
Trading Company. The primary purpose of this platform is to provide an efficient and user-
friendly online shopping experience while optimizing the backend management for
administrators. This comprehensive solution aims to address common challenges in e-
commerce by integrating a variety of features tailored to enhance both customer satisfaction
and operational efficiency.
Key functionalities of the system include secure user authentication and authorization, an
intuitive product catalog, a dynamic shopping cart, detailed order management, secure
payment processing, and a robust review and rating system. Additionally, the platform will
offer real-time inventory management using barcode technology, personalized product
recommendations, and a live customer support module. For administrators, the system
provides an advanced dashboard for managing products, orders, promotions, and user
accounts. Overall, the software is designed to streamline the entire e-commerce process,
ensuring a seamless and reliable experience for both customers and administrators.

1.2 Background of the System

E-commerce platforms such as Shopify, Woo Commerce, and Magneto have revolutionized
the retail industry by providing comprehensive solutions for online businesses. These
platforms offer a range of functionalities, including product catalog management, secure
payment gateways, and order tracking, which have made them popular choices for
businesses looking to establish an online presence. However, despite their extensive
capabilities, these platforms often fall short in addressing the specific needs of individual
businesses, such as advanced inventory management using barcode technology and
personalized product recommendations based on customer behavior.
The proposed e-commerce website for Ayesha General Trading Company aims to bridge
these gaps by offering tailored solutions that enhance both customer satisfaction and
operational efficiency. Unlike existing platforms, this project will integrate real-time
inventory management through barcode scanning, a sophisticated recommendation engine,
and comprehensive customer support features. By focusing on these unique functionalities,
the project will provide a more customized and effective solution, directly addressing the
specific operational challenges and customer engagement needs of Ayesha General Trading
Company.

1.3 Objectives of the System

 Provide a user-friendly interface and personalized shopping experience to increase


customer satisfaction and engagement.
 Implement real-time inventory management using barcode technology to ensure
accurate stock levels and efficient supply chain operations.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 2

 Facilitate seamless order management, including order placement, tracking, and history
review, to improve the overall shopping experience.
 Offer secure payment processing to protect customer transactions and build trust.
 Allow customers to post reviews and rate products, fostering a transparent and
trustworthy shopping environment.
 Offer live chat and helpdesk functionalities to address customer queries and enhance
service quality.
 Manage promotional deals and discounts to attract and retain customers.
 Use a recommendation engine to suggest products based on customer browsing and
purchase history, preferences, and behavior.
 Provide an admin dashboard for managing products, categories, user accounts, orders,
and viewing sales analytics to ensure smooth backend operations.
 Enable quick adaptation to market trends and customer needs through dynamic
promotional and inventory management strategies.

1.4 Significance of the System

The significance of the proposed e-commerce website for Ayesha General Trading
Company lies in its ability to transform both the customer shopping experience and the
administrative management of the business. This software will play a crucial role in several
key areas:
 By offering a user-friendly interface, personalized product recommendations, and
comprehensive order tracking, the platform will significantly enhance customer
satisfaction and loyalty.
 The integration of real-time inventory management using barcode technology will
streamline supply chain operations, reduce errors, and ensure timely deliveries, leading
to increased business efficiency.
 Secure payment processing and a transparent review and rating system will foster trust
and credibility among customers, encouraging repeat business and positive word-of-
mouth.
 The ability to manage promotional offers and discounts dynamically will help the
company attract new customers and retain existing ones, adapting quickly to market
trends and customer demands.
 Providing live chat and helpdesk functionalities will improve customer support,
addressing queries promptly and enhancing the overall service quality.
 The admin dashboard will offer valuable insights through sales analytics and reporting,
enabling administrators to make informed decisions and maintain a competitive edge in
the market.

Overall, the e-commerce website will not only streamline the shopping process for
customers but also enhance backend operations for administrators, leading to increased
satisfaction, efficiency, and competitiveness for Ayesha General Trading Company.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 3

2 Overall Description
2.1 Product Perspective

The ecommerce website for Ayesha General Trading Company is a new, self-contained product
designed to enhance the shopping experience for customers and streamline business operations for
administrators. This project aims to replace the company's existing, less efficient methods of
handling sales, inventory, and customer interactions with a comprehensive digital solution. The
website will serve as an integrated platform where customers can browse products, make secure
purchases, and track orders, while administrators manage the product catalog, process orders,
handle inventory, and respond to customer queries.
The ecommerce system is composed of several key subsystems:
 User Management: Handles customer registration, authentication, and profile
management.
 Product Management: Manages the product catalog, including adding, updating, and
removing products.
 Order Management: Processes customer orders, manages the shopping cart, and
oversees payment and shipping.
 Promotions and Recommendations: Manages promotional offers and provides
personalized product recommendations.
 Customer Support: Facilitates customer queries and support requests.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 4

Figure 2.1: Product Perspective


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 5

2.2 Product Scope

The e-commerce website for Ayesha General Trading Company aims to provide a
comprehensive online shopping platform that enhances customer experience and
streamlines backend operations. The software includes secure user authentication, detailed
product catalog management, a dynamic shopping cart, order processing, secure payment
transactions, customer reviews and ratings, shipping and tracking, customer support,
promotional offers, personalized recommendations, and a robust admin dashboard. The
scope focuses on delivering these functionalities to ensure a seamless and efficient e-
commerce experience.
The software does not cover physical store management, third-party marketplace
integration, advanced AI features beyond personalized recommendations, extensive
customizable themes, or non-web platforms such as mobile apps or desktop applications.
By clearly defining these boundaries, the project ensures the delivery of a robust and tailored
e-commerce solution that meets the specific needs of Ayesha General Trading Company
while maintaining focus and avoiding unnecessary complexities.

2.3 Product Functionality

2.3.1 User Authentication and Authorization:

 Secure registration and login for customers and administrators.

2.3.2 Product Catalogue:

 Display detailed product information with images, descriptions, and prices.


 Enable product search and filtering.

2.3.3 Shopping Cart:

 Manage item selection and cost calculation.


 Facilitate the checkout process.

2.3.4 Order Management:

 Enable order placement and tracking.


 Provide order history review.

2.3.5 Payment Gateway:

 Process secure online payments.


 Support multiple payment methods
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 6

2.3.6 Reviews and Ratings:

 Allow customers to post reviews and rate products.


 Display average ratings and review summaries.
 Shipping and Tracking:

2.3.7 Offer live chat

 Address customer queries promptly.

2.3.8 Manage and display promotional deals.

 Offer discounts to customers.


 Recommendation Engine:
 Provide personalized product recommendations based on user behavior.

2.3.9 Admin Dashboard

 Centralized management of products, categories, user accounts, and orders.


 View and analyze sales data and reports.
 Inventory Management:
 Real-time stock updates using barcode technology
 Generate inventory reports and alerts for low stock levels

2.4 Users and Characteristics

The ecommerce website for Ayesha General Trading Company is designed to serve two
primary types of users: administrators and customers. Each user type has distinct
characteristics and interacts with the system in different ways. Understanding these
characteristics helps in tailoring the system to meet their specific needs.

2.4.1 Administrator
Characteristics:
 Frequency of Use: Administrators are expected to use the system daily.
 Subset of Product Functions Used: They utilize a wide range of functions
including user management, product management, order management, inventory
management, promotions, and customer support.
 Technical Expertise: Administrators typically possess a moderate to high level of
technical expertise, including familiarity with basic IT systems, ecommerce
platforms, and administrative tools.
 Security or Privilege Levels: Administrators have high privilege levels with access
to sensitive data and critical system functions.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 7

 Educational Level: Administrators generally have a background in business


administration, information technology, or related fields.
 Experience: They are experienced in managing business operations and may have
prior experience with similar systems.

Pertinent Requirements:
 User Management: Admins must be able to create, edit, and delete user accounts,
assign roles, and manage access levels.
 Product Management: Admins need to add, update, and remove products, manage
product categories, and handle inventory.
 Order Management: Admins must process orders, manage order status, and handle
returns and refunds.
 Inventory Management: Real-time updates and barcode scanning capabilities are
essential for efficient stock management.
 Promotions Management: Admins need to create and manage promotional
campaigns and discounts.
 Customer Support: Admins should respond to customer inquiries and manage
support tickets.

Importance:
High: Administrators are critical to the operation and maintenance of the ecommerce
platform. Ensuring their needs are met is essential for the smooth functioning of the
business.

2.4.2 Customers
Characteristics:
 Frequency of Use: Customers may use the system occasionally, depending on their
shopping needs.
 Subset of Product Functions Used: Customers primarily interact with the product
catalog, shopping cart, order placement, payment, and order tracking functions.
 Technical Expertise: Customers possess varying levels of technical expertise, from
basic to moderate.
 Security or Privilege Levels: Customers have low privilege levels, with access
limited to their own account and order information.
 Educational Level: Customers come from diverse educational backgrounds.
 Experience: Customers' experience with ecommerce platforms may vary widely; the
system should be intuitive enough for first-time users yet efficient for experienced
online shoppers.
Pertinent Requirements:
 User Authentication: Customers must be able to register, log in, and manage their
accounts securely.
 Product Catalog: The catalog should be easy to navigate, with detailed product
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 8

descriptions, images, and prices.


 Shopping Cart: Customers need to add or remove items easily and see a running total
of their cart.
 Order Placement: The checkout process should be straightforward, with clear steps
for entering shipping details and making payments.
 Payment Processing: Secure and multiple payment options should be available.
 Order Tracking: Customers should be able to track their orders and view their order
history.
 Reviews and Ratings: Customers need to be able to review and rate products they
have purchased.

Importance:
High: Customers are the primary users of the ecommerce platform. Their satisfaction
directly impacts the business's success. Ensuring a seamless and positive shopping
experience is crucial.

2.5 Operating Environment

 Operating System: Windows


 Hardware: NIL
 Database: MongoDB
 Language: React Native, Node.js
 Development Environment: Visual Studio Code
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page 9

3 Specific Requirements
3.1 Functional Requirements
3.1.1 User Authentication and Authorization

 Allow new users to register by providing necessary information (e.g., name, email,
password).
 Authenticate users with email and password.
 Assign roles (e.g., customer, admin) and manage access permissions based on roles.
 Enable users to reset passwords via email verification.

3.1.2 Product Catalog

 Show detailed information for each product, including images, descriptions, prices, and
availability.
 Allow users to search for products and filter results by categories, price, etc.
 Organize products into categories for easier browsing.

3.1.3 Shopping Cart

 Enable users to add items to the cart and remove them.


 Display a summary of items in the cart, including total cost and discounts.

3.1.4 Order Management

 Facilitate the process of placing an order, including selecting shipping options and entering
payment information.
 Provide real-time order status updates and tracking information.
 Allow users to view their past orders and details.

3.1.5 Payment Gateway

 Process payments securely through integrated payment gateways (e.g., PayPal, Stripe).
 Provide users with confirmation of successful transactions.

3.1.6 Reviews and Ratings

 Allow users to write reviews and rate products they have purchased.
 Show user reviews and average ratings on product pages.

3.1.7 Shipping and Tracking

 Integrate with shipping service providers to manage shipping options and costs.

3.1.8 Customer Support


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
10

 -Offer live chat support for real-time assistance.

3.1.9 Promotions and Discounts

 Allow admins to create and manage promotional offers and discounts.

3.1.10 Recommendation Engine

 Provide product recommendations based on user browsing and purchase history.

3.1.11 Admin Dashboard

 Allow admins to add, update, and delete products.


 Enable admins to view, process, and manage customer orders.
 Provide analytics and reports on sales, revenue, and customer activity.

3.1.12 Inventory Management

 Implement barcode scanning for real-time inventory updates.


 Track and display current stock levels for each product.
 Generate reports on inventory status, including low stock alerts.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
11

3.2 Behaviour Requirements


3.2.1 Use-case Diagram

Figure 3.1: Use-Case Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
12

3.2.2 Use-case Description

Table 3.1: Use-case Description

Use Case Actors Description Use Case Steps


Login User, Admin Manages user 1. User provides
registration, login, registration details.
and ensures secure 2. System validates
access control for and creates a new
different roles. user account.
3. User logs in with
credentials.
4. System
authenticates and
grants access based
on role.
Product Catalog User Displays a catalog of 1. User navigates to
suits with detailed the product catalog.
descriptions, images, 2. System displays
and prices. products with filters
and search options.
3. User views product
details.
Shipping Cart User Allows users to add 1. User adds products
or remove items from to the cart.
their cart and 2. System updates the
calculates the total cart and calculates
cost of selected items. the total cost.
3. User reviews and
modifies the cart.
Order Management User Enables placing 1. User reviews the
orders, tracking, and cart and proceeds to
managing orders with checkout.
features like order 2. System processes
history review and the order and
status updates. provides
confirmation.
3. User tracks order
status.
Track Order User Provides tracking 1. User views order
information for history.
orders. 2. System displays
tracking information
for selected orders.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
13

Payment Gateway User Processes secure 1. User selects


online payments for payment method.
orders. 2. System processes
the payment securely.
3. User receives
payment
confirmation.
Rating and Reviews User Allows users to post 1. User selects a
reviews and rate product to review.
products based on 2. System displays
their experiences. review form.
3. User submits the
review.
4. System publishes
the review.
Customer Support User Offers a live chat or 1. User initiates a
messaging system support request.
and a helpdesk for 2. System connects to
handling user queries. a support agent.
3. User receives
assistance.
Promotions and User Manages promotional 1. User views
Discounts deals and discounts available promotions.
for users. 2. System displays
current deals and
discounts.
Recommendation User Personalizes the 1. User browses the
Engine shopping experience site.
by recommending 2. System analyzes
products based on behavior and
browsing and preferences.
purchase history. 3. System displays
recommended
products.
Manage Users Admin Allows admins to 1. Admin views user
manage user accounts list.
(view, update, 2. Admin updates or
delete). deletes user accounts.
3. System saves
changes.
Add/Remove Admin Allows admins to 1. Admin adds new
Products add, update, or delete product.
products in the 2. System saves
catalog. product details.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
14

3. Admin updates or
deletes existing
products.
Order Management Admin Allows admins to 1. Admin views order
view and update list.
order statuses. 2. Admin updates
order status.
3. System saves
changes.
Manage Inventory Admin Allows admins to 1. Admin scans
manage inventory barcodes to add
levels, including stock.
barcode scanning for 2. System updates
stock additions. inventory levels.
Manage Promotions Admin Allows admins to 1. Admin inputs
and Discounts create and manage promotional details.
promotional offers. 2. System saves
promotion.
View Sales and Admin Allows admins to 1. Admin views
Profits view various analytics dashboard.
analytics such as 2. System displays
sales, profits, and data.
user activity.
Respond to User Admin Allows admins to 1. Admin views user
Queries respond to user queries.
support queries. 2. Admin responds to
queries.
3. System saves
responses.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
15

3.3 External Interface Requirements


3.3.1 User Interfaces

Signup

Figure 3.2: Signup


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
16

Login

Figure 3.3: Login


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
17

Home Page

Figure 3.4: Home Page

User dashboard

Figure 3.5: User Dashboard


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
18

Products

Figure 3.6: Products

Cart Items

Figure 3.7: Cart Items


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
19

Favourite Items

Figure 3.8: Favourite Items

Admin Dashboard

Figure 3.9: Admin Dashboard


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
20

3.3.2 Hardware Interfaces

The ecommerce website for Ayesha General Trading Company will interact with only one
hardware component to facilitate its operations. This section describes the logical and
physical characteristics of hardware interface between the software product and these
hardware components.
1. Logical Characteristics:

 Device Types: Barcode scanners


 Interaction Nature: The barcode scanner will interface with the Inventory
Management Module to facilitate the addition, update, and tracking of inventory
items. When an item is scanned, the scanner sends the barcode data to the
software, which then processes it to update the inventory records in the
database.
 Data Flow: The data consists of barcode identifiers, which are sent as input to
the software. The software then retrieves the corresponding product information
from the database and updates the inventory status.

2. Physical Characteristics:

 Connection Type: USB or wireless (Bluetooth/Wi-Fi)


 Special Libraries: Depending on the specific barcode scanner used, libraries
such as ZBAR, ZXING, or other manufacturer-provided SDKs might be used
to handle the barcode scanning functionality.

3.3.3 Software Interfaces

Table 3.2: Software Tools

Tools Version Relation

Visual Studio Code 2023 Code Editor

HTML 5 Front End

CSS, JavaScript 2023 Front End

React, Node JS 18, 20 Back End

MongoDB 8.0 Database


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
21

3.3.4 Communications Interfaces

The system uses communication resources which include HTTP protocol for
communication between the application and web server.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
22

4 Other Non-functional Requirements


4.1 Performance Requirements

1. Transaction Processing:

 Any transaction (e.g., adding to cart, placing an order) should complete within 10
seconds.
 Payment processing should not exceed 5 seconds after the payment gateway is
engaged.

2. Page Load Time:

 The homepage and major category pages should load within 4 seconds.
 Product detail pages should load within 3 seconds.

3. Search and Filter Operations

 Search results and filter operations should display results within 3 seconds.

4. Scalability:

 The system should support up to 10,000 concurrent users without performance


degradation.
 The system should be able to handle peak traffic loads, especially during promotions
or sales events.

5. Database Performance:

 Queries should be optimized to ensure response times are under 2 seconds.

6. Error Handling:

 The system should display error messages within 2 second of an issue being detected.
 Error logs should be updated in real-time for monitoring and maintenance.

7. Backup and Recovery:

 Data backups should be performed daily without affecting system performance.


 Recovery from a backup should not take more than 1 hour.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
23

4.2 Safety and Security Requirements


The system shall authenticate users by making sure no one uses the wrong credentials to sign
in.

4.3 Software Quality Attributes

4.3.1 Usability

1. Usability: User Interface The design of the system and its overall look should be
appealing.
2. Ease of use: The system shall be easy to use for any kind of user and the user should
get acquainted with the system within 5 minutes of usage.
3. Learnability: A person with a basic grasp of the language can understand. 97% of
users will be able to use efficiently after 20 minutes of initial use with a 0.3% error
rate.

4.3.2 Portability

4. Availability: The system shall be available 24/7, more than 98% of


the time except 2% of the time for the maintenance on the weekends.
5. Robustness: The system’s recovery time should not exceed 10 minutes in 99% of cases
of the system’s failure.

4.3.3 Reliability

The system should be able to work on different platforms like different screen
sizes and render every component accurately.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
24

5 Design Description
5.1 Composite Viewpoint

Figure 5.1: Package Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
25

5.2 Logical Viewpoint

Figure 5.2: Class Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
26

5.3 Information Viewpoint

Figure 5.3: Entity-Relation Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
27

5.4 Interaction Viewpoint

Customer Sequence Diagram

Figure 5.4: Customer Sequence Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
28

Admin Sequence Diagram

Figure 5.5: Admin Sequence Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
29

5.5 State Dynamics Viewpoint

Customer State Dynamics

Figure 5.6: Customer State Dynamics Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
30

Admin State Dynamics

Figure 5.7: Admin State Dynamics Diagram


Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
31

5.6 Algorithm Viewpoint

5.6.1 User Algorithm Viewpoint

User Description

Table 5.1– User Description

Attribute Description
Unique User ID The User ID will be unique and a
differentiating attribute for each user.
Username A unique username chosen by the user.
Password The password will be stored hashed. Users can
only access their accounts by entering the
correct password.
Email The email address of the user, used for account
verification and communication.
Role The role of the user (e.g., customer, admin) to
determine access control.

User Pseudo Code

Table 5.2– User Pseudo Code

Method Description Pseudo Code


registerUser() Registers a new user 1. Validate the email address.
2. Validate the password.
3. Hash the password.
4. Save the username, hashed
password, and email to the
database.
5. If validations pass, return
"Registration Successful".
6. If validations fail, return
"Invalid Email or Password".
loginUser() Logs in an existing user 1. Retrieve user data from the
database using the username.
2. Verify that the provided
password matches the stored
hashed password.
3. If verification is successful,
generate a session token for
the user.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
32

4. Return the session token.


5. If verification fails, return
"Invalid Credentials".
logoutUser() Logs out the current user 1. Invalidate the session token.
2. Return "Logout
Successful".
updateUserProfile() Allows a user to update their 1. Retrieve the current user's
profile information profile from the database.
2. Update the profile with the
provided information.
3. Save the updated profile to
the database.
4. Return "Profile Updated
Successfully".
changePassword() Allows a user to change their 1. Retrieve the current
password password from the database.
2. Verify the old password.
3. If old password matches,
hash the new password.
4. Update the password in the
database.
5. Return "Password Changed
Successfully".
6. If old password does not
match, return "Invalid Old
Password".
viewOrderHistory() Allows a user to view their 1. Retrieve the order history
past orders from the database using the
user's ID.
2. Display the order history to
the user.
addReview() Allows a user to add a review 1. Validate the review content.
for a product 2. Save the review to the
database associated with the
product and user ID.
3. Return "Review Submitted
Successfully".
viewProductCatalog() Allows a user to view the 1. Retrieve the product catalog
product catalog from the database.
2. Display the catalog to the
user with filtering options.
addToCart() Allows a user to add a product 1. Retrieve the product details
to their shopping cart from the database.
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
33

2. Add the product to the


user's shopping cart in the
database.
3. Return "Product Added to
Cart".
viewCart() Allows a user to view the 1. Retrieve the cart items from
items in their shopping cart the database using the user's
ID.
2. Display the cart items to the
user.
removeFromCart() Allows a user to remove an 1. Retrieve the product details
item from their shopping cart from the database.
2. Remove the product from
the user's shopping cart in the
database.
3. Return "Product Removed
from Cart".
checkout() Allows a user to proceed to 1. Validate the cart items.
checkout and place an order 2. Process payment through
the Payment Gateway
Module.
3. If payment is successful,
create an order in the database.
4. Return "Order Placed
Successfully".
5. If payment fails, return
"Payment Failed".
trackOrder() Allows a user to track the 1. Retrieve the order status
status of their order from the database using the
order ID.
2. Display the current status
to the user.
contactCustomerSupport() Allows a user to contact 1. Open a communication
customer support channel (e.g., live chat or
messaging system).
2. Allow the user to send their
query.
3. Save the query to the
database for customer support
response.
4. Return "Support Query
Submitted".
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
34

5.6.2 Admin Algorithm Viewpoint

Admin Description

Table 5.3 – Admin Description

Attribute Description
Unique Admin ID The Admin ID will be unique and a differentiating
attribute for each admin.
Username A unique username chosen by the admin.
Password The password will be stored hashed. Admins can only
access their accounts by entering the correct password.
Email The email address of the admin, used for account
verification and communication.
Role The role of the admin to determine access control.

Admin Pseudo Code

Table 5.4 – Admin Pseudo Code

Method Description Pseudo Code in Words


registerAdmin() Registers a new 1. Validate the email address.
admin 2. Validate the password.
3. Hash the password.
4. Save the username, hashed
password, and email to the
database.
5. If validations pass, return
"Registration Successful".
6. If validations fail, return
"Invalid Email or Password".
loginAdmin() Logs in an 1. Retrieve admin data from the
existing admin database using the username.
2. Verify that the provided
password matches the stored
hashed password.
3. If verification is successful,
generate a session token for the
admin
4. Return the session token.
5. If verification fails, return
"Invalid Credentials".
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
35

logoutAdmin() Logs out the 1. Invalidate the session token.


current admin 2. Return "Logout Successful".
manageUsers() Allows an 1. Retrieve user data from the
admin to database.
manage user 2. Perform the desired operation
accounts (view, (view, update, delete).
update, delete) 3. Save any updates to the
database.
4. Return appropriate success
message.
addProduct() Allows an 1. Validate product details.
admin to add 2. Save product details to the
new products to database.
the catalog 3. Return "Product Added
Successfully".
updateProduct() Allows an 1. Retrieve product details from
admin to update the database.
existing product 2. Update the product information.
details 3. Save the updated details to the
database.
4. Return "Product Updated
Successfully".
deleteProduct() Allows an 1. Retrieve the product from the
admin to delete database.
a product from 2. Delete the product from the
the catalog database.
3. Return "Product Deleted
Successfully".
viewOrders() Allows an 1. Retrieve all orders from the
admin to view database.
all orders 2. Display the orders to the admin.
updateOrderStatus() Allows an 1. Retrieve the order from the
admin to update database.
the status of 2. Update the status of the order.
orders 3. Save the updated status to the
database.
4. Return "Order Status Updated".
manageInventory() Allows an 1. Retrieve inventory details from
admin to the database.
manage 2. Scan barcodes for new stock.
inventory 3. Update inventory levels in the
levels, database.
including 4. Return "Inventory Updated
barcode Successfully".
Software Requirements Specification & Design Description for <Ayesha Trading General Trading> Page
36

scanning for
stock additions
createPromotions() Allows an 1. Input promotional details.
admin to create 2. Save the promotion to the
and manage database.
promotional 3. Return "Promotion Created
offers Successfully".
viewDashboardAnalytics() Allows an 1. Retrieve analytics data from the
admin to view database.
various 2. Display the data on the admin
analytics, such dashboard.
as sales, profits,
and user
activity
respondToCustomerQueries() Allows an 1. Retrieve customer queries from
admin to the database.
respond to 2. Respond to the queries.
customer 3. Save the responses to the
support queries database.
4. Return "Query Response
Submitted".

You might also like