SRS E-Store v3 - 042440

You might also like

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

Software Requirements Specification

Software Engineering

E-Store system
Eng: Abdul Rahman Hammoud Al Qasimi

WSU-TC CptS 322 Software Requirements Specification Template


E-Store

Software Requirements Specification


V01
2023/03/1

Abdul Rahman Hammoud Al Qasimi

Lead Software Engineer

Prepared for
WSU-TC CptS 322—Software Engineering Principles I
Instructor: Eng Ayman Abdul Jalil
E-Store

Revision History

Date Description Author Comments


2023/4/1 Version 1 Abdul Rahman Al Qasimi <First Revision>

Document Approval

The following Software Requirements Specification has been accepted and approved by the
following:
Signature Printed Name Title Date
Abdul Rahman Al Qasimi
Lead Software Eng.
Ayman Abdul Jalil
Instructor, CptS 322

Software Requirements Specification Page ii


E-Store

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 ................................................................................................2
1.4 REFERENCES ........................................................................................................................................................3
1.5 OVERVIEW ...........................................................................................................................................................3
2. GENERAL DESCRIPTION ...................................................................................................................................3
2.1 PRODUCT PERSPECTIVE .......................................................................................................................................4
2.2 PRODUCT FUNCTIONS ..........................................................................................................................................4
2.3 USER CHARACTERISTICS .....................................................................................................................................4
2.4 GENERAL CONSTRAINTS ......................................................................................................................................4
2.5 ASSUMPTIONS AND DEPENDENCIES .....................................................................................................................5
3. SPECIFIC REQUIREMENTS ...............................................................................................................................5
3.1 EXTERNAL INTERFACE REQUIREMENTS ...............................................................................................................5
3.1.1 User Interfaces ............................................................................................................................................5
3.1.2 Hardware Interfaces ...................................................................................................................................8
3.1.3 Software Interfaces......................................................................................................................................8
3.1.4 Communications Interfaces .........................................................................................................................9
3.2 FUNCTIONAL REQUIREMENTS ..............................................................................................................................9
3.3 USE CASES......................................................................................................................................................... 22
3.4 CLASSES / OBJECTS............................................................................................................................................ 23
3.5 NON-FUNCTIONAL REQUIREMENTS ................................................................................................................... 24
3.5.1 Performance .............................................................................................................................................. 24
3.5.2 Reliability .................................................................................................................................................. 24
3.5.3 Availability ................................................................................................................................................ 24
3.5.4 Security ..................................................................................................................................................... 24
3.5.5 Maintainability .......................................................................................................................................... 24
3.5.6 Portability ................................................................................................................................................. 24
3.6 INVERSE REQUIREMENTS ................................................................................................................................... 24
3.7 DESIGN CONSTRAINTS ....................................................................................................................................... 25
3.8 LOGICAL DATABASE REQUIREMENTS ................................................................................................................ 25
3.9 OTHER REQUIREMENTS ..................................................................................................................................... 26
4. ANALYSIS MODELS ........................................................................................................................................... 27
4.1 SEQUENCE DIAGRAMS ....................................................................................................................................... 27
4.3 DATA FLOW DIAGRAMS (DFD) ......................................................................................................................... 30
4.2 STATE-TRANSITION DIAGRAMS (STD) .............................................................................................................. 31
5. CHANGE MANAGEMENT PROCESS ............................................................................................................. 32
A. APPENDICES ....................................................................................................................................................... 32
A.1 APPENDIX 1....................................................................................................................................................... 32
A.2 APPENDIX 2....................................................................................................................................................... 32

Software Requirements Specification Page iii


E-Store

1. Introduction
This Software Requirements Specification (SRS) document provides a detailed description of the
requirements for the development of an e-store application. The e-store application is an online
platform for users to purchase and sell products, as well as a backend system for store owners to
manage their products and orders. The e-store application will be developed using the latest web
technologies and will be designed to be accessible from any device with an internet connection.

1.1 Purpose
The purpose of this Software Requirements Specification (SRS) document is to provide a clear
and comprehensive description of the requirements for the development of an E-Store project.
The intended audience for this document includes project stakeholders, such as project managers,
developers, testers, and other members of the project team, as well as external stakeholders such
as clients, customers, and end-users.

The SRS outlines the functional and non-functional requirements of the E-Store project,
including its features, performance, user interface, security, and other important aspects. It serves
as a blueprint for the development team to design, build, test, and deploy the E-Store, ensuring
that the end-product meets the needs and expectations of its users.

Overall, the purpose of this SRS document is to provide a clear, concise, and complete set of
requirements for the E-Store project that can be used as a basis for successful development,
testing, and delivery of the final product.

1.2 Scope
Scope of SRS for E-Store Project:
1. Software Products: The SRS document is for the software product called E-Store, which
is an online e-commerce platform. It is designed to allow users to purchase products from
various vendors, add items to their shopping cart, and checkout with a payment gateway.
2. Software Product Capabilities: The E-Store software product will provide the following
capabilities:
• User registration and login
• Browse and search for products
• View product details and images
• Add products to cart
• Edit cart and update quantities
• Checkout with payment gateway
• View order history and status
• Contact customer support
The E-Store software product will not provide the following capabilities:
• Physical delivery or shipping of products
• In-person or offline transactions
• User-to-user communication or social networking features

Software Requirements Specification Page 1


E-Store

3. Application Description: The E-Store software product is intended for use by customers
who wish to purchase products online from vendors who are registered with the platform.
The application can be accessed via a web browser on desktop and mobile devices.
Relevant Benefits, Objectives, and Goals: The primary objectives and goals of the E-Store
software product are to:
• Provide a user-friendly and convenient online shopping experience for customers
• Allow vendors to reach a wider audience and increase sales
• Provide secure and reliable payment processing for transactions
• Ensure customer satisfaction and retention through timely order fulfillment and
support

1.3 Definitions, Acronyms, and Abbreviations


- E-Store - An online platform where users can browse and purchase products or services.
- SRS - Software Requirements Specification, a document that outlines the functional and
non-functional requirements of a software system.
- UI - User Interface, the graphical layout of the E-Store that enables users to interact with
the system.
- UX - User Experience, the overall experience a user has while interacting with the E-
Store.
- API - Application Programming Interface, a set of protocols, routines, and tools for
building software applications.
- HTTP - Hypertext Transfer Protocol, a protocol for transferring data over the internet.
- HTTPS - Hypertext Transfer Protocol Secure, an extension of HTTP that provides secure
communication over the internet using SSL.
- SQL - Structured Query Language, a language used to manage and manipulate relational
databases.
- NIC - Network interface controller is a computer hardware component that connects a
computer to a computer network.
- MTBF- stands for Mean Time Between Failures. It is a measure of the reliability of a
system, and represents the average time between two consecutive failures.
- FAQs - stands for "Frequently Asked Questions". It refers to a list of commonly asked
questions and answers about a particular topic or product. It is often used by companies
and organizations to provide information to customers and users in a quick and easy-to-
access format.
- Ticket ID is a unique identifier assigned to a customer support ticket, which is used to
track and manage the communication between a customer and a support team regarding a
particular issue or request.

Software Requirements Specification Page 2


E-Store

1.4 References
- https://www.cse.msu.edu/~cse870/IEEEXplore-SRS-template.pdf
- https://dokumen.tips/documents/srs-online-shopping.html?page=20
- https://www.elqmaa.com/341628/feasibility-study-of-an-online-store-project/
- https://blog.mostaql.com/e-commerce-store-design-guide/
- https://projectsinventory.com/online-shopping-system-functional-and-non-functional-
requirements/
- https://projectsinventory.com/e-commerce-website-functional-and-non-functional-
requirements/
- https://itsourcecode.com/uml/online-shopping-complete-uml-diagrams/
- https://www.uml-diagrams.org/examples/online-shopping-example.html
A…

1.5 Overview
• Description of Contents: The SRS document for the online store project contains a
detailed description of the software product, including its requirements, goals, and
objectives, as well as the functional and non-functional specifications that must be
met in order to be successful. Program development and deployment.
• The SRS document is divided into several sections, each of which provides specific
information about the software product and its application. These sections include:
• Introduction: Provides an overview of the SRS document and its contents.
• Description of the application: Describes the e-shop software product and its
application, including related benefits, goals, and objectives.
• User interface requirements, what the system will look like after implementation,
software requirements, and so on
• User Requirements: Defines the functional and non-functional requirements of a
software product from the perspective of its users.
• System Requirements: Defines the technical requirements for a software product,
including hardware and software configurations, and data storage and management.
• Analysis models that facilitate system tracking and implementation, including
sequence diagrams, data flow diagrams, and status diagrams.

2. General Description
The E-Store project aims to develop an online platform that allows users to browse, search, and
purchase products through a user-friendly interface. The platform will be accessible via web
browsers and will require users to create an account before making any purchases.
The E-Store will offer a wide range of products from various categories, including but not
limited to electronics, clothing, home goods, and groceries. The platform will feature a search
function that allows users to find products based on specific keywords, as well as filters to
narrow down search results based on price, brand, category, and other criteria.
The E-Store will also include a shopping cart feature, where users can add items to their cart
before checking out and making payment. The platform will support various payment methods,
such as credit cards, debit cards, and online payment systems.

Software Requirements Specification Page 3


E-Store

Overall, the E-Store project aims to provide a convenient and efficient online shopping
experience for users, while ensuring the security and privacy of their personal and financial data.

2.1 Product Perspective


The E-Store project is an online platform that provides users with a convenient and efficient
shopping experience. It is similar to other e-commerce platforms, such as Amazon, eBay, and
Walmart, in terms of its overall purpose and functionality.
However, the E-Store differentiates itself from its competitors by focusing on user experience
and security. The platform features a user-friendly interface that allows users to easily browse,
search, and purchase products. It also implements industry-standard security measures to ensure
the privacy and security of user data.

2.2 Product Functions


The E-Store project will provide users with a range of functions that allow them to browse,
search, and purchase products through a user-friendly interface. These functions include:
• User registration and login
• Product search and browse
• Product purchase and payment
• Product listing and management for store owners
• Order management for store owners
• Admin panel for site administrators
• Reporting and analytics for store owners

2.3 User Characteristics


The users of the E-Store project are expected to be a diverse group with varying levels of
familiarity with technology and online shopping. the following user characteristics are expected:
1. Age: expected the majority of users will fall within the age range of 15-50 years old.
2. Technical proficiency: expected some users may have limited experience with
technology.
3. User should be familiar with the terms like login, register, order system etc.

2.4 General Constraints


The E-Store project will be subject to several general constraints that may impact the
development and design of the platform. These constraints include:
• Budget: The project will be constrained by a budget that will limit the available resources
for development and implementation.
• Timeframe: The project will have a defined timeframe for completion, and any delays
may impact the project's overall success.
• Technology: The project will be constrained by the technology available for
development, which may limit the available features and functionality of the platform.
• Compatibility: The project will need to be compatible with a range of devices and
operating systems to ensure a seamless user experience for all users.

Software Requirements Specification Page 4


E-Store

• Regulations: The project will need to comply with relevant laws and regulations
governing online commerce and data protection, which may impose additional
constraints on the project.
• Performance: The project will need to meet performance standards in terms of speed,
reliability, and scalability to ensure a smooth user experience and accommodate potential
increases in traffic and usage.

2.5 Assumptions and Dependencies


1. Availability of required hardware: The SRS assumes that the necessary hardware
required to run the E-Store system will be available and accessible for development and
implementation.
2. Availability of required software: The SRS assumes that the necessary software tools and
technologies required to build and deploy the E-Store system will be available and
accessible for development and implementation.
3. Compatibility with third-party systems: The SRS assumes that the E-Store system will be
compatible with third-party systems and applications that may be required for integration
or communication purposes.
4. Availability of Internet connectivity: The SRS assumes that users will have access to
reliable internet connectivity to access the E-Store system.
5. Legal and regulatory compliance: The SRS assumes that the E-Store system will comply
with all relevant laws and regulations governing online commerce and data protection.
6. Dependence on third-party services: The SRS assumes that the E-Store system may
depend on third-party services for certain features and functionality, such as payment
processing or shipping logistics.
7. User behavior: The SRS assumes that users will use the E-Store system in a manner
consistent with its intended purpose and design, without attempting to hack, exploit, or
abuse its features or functionality.

3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
The images that will be displayed on the following pages represent the user interfaces, and it is
expected that the system interfaces after implementation will be similar to this design, as the user
interfaces are designed by the Adobe XD program, as this program is used to design the
experience only that is concerned with the UI UX aspect.

Software Requirements Specification Page 5


E-Store

1- Login page

2- Home page for Admin

3- Add product page

Software Requirements Specification Page 6


E-Store

4- Categories and Products Page

Software Requirements Specification Page 7


E-Store

5- Shopping Cart page

3.1.2 Hardware Interfaces


Since the E-Store system will work on all browsers such as Microsoft Edge, Google Chrome,
Firefox, etc. then hardware requirements Any device that can access the Internet from different
browsers can use our system. Here, we will mention the requirements of the devices to ensure the
integrity of the connection and the relatively fast processing, which are as follows:
Processor: Triple core or more
RAM: 2 GB or more
Hard disk: 120 GB
NIC: per party
3.1.3 Software Interfaces

The E-Store system will be accessible through any modern web browser such as Google
Chrome, Mozilla Firefox, Safari, or Microsoft Edge. The software interface will be designed
using web technologies such as HTML, CSS, and JavaScript. The system will communicate with
other software systems such as payment gateways and shipping providers using APIs
(Application Programming Interfaces) that conform to industry standards. The software interface
should also be responsive, meaning that it should adjust and optimize its display to fit the screen
size and orientation of the device accessing the system.
Also, E-Store system models and its UML diagrams will be designed by Edraw Max program,
and Visual studio code will be used to develop and implement the system.

Software Requirements Specification Page 8


E-Store

3.1.4 Communications Interfaces


For the E-Store system, the communication interfaces should include standard internet protocols
such as HTTP, HTTPS, TCP/IP, and SMTP. These protocols will be used for communication
between the web server and the client's browser. The system should also support communication
with external payment gateways using standard payment protocols such as PayPal and Stripe.

The system should be able to detect the type of browser being used by the client and adjust its
interface accordingly. It should support all major browsers such as Google Chrome, Mozilla
Firefox, Safari, and Microsoft Edge.

All communication interfaces should be secure and encrypted to ensure the confidentiality and
integrity of data transmitted over the network. The system should also provide error handling and
reporting mechanisms for communication failures and errors.

3.2 Functional Requirements


3.2.1 User Registration and Login
3.2.1.1 Introduction: The system should allow users to register and login securely. It should
also provide an option for users to recover their forgotten passwords.

3.2.1.2 Inputs: User Registration (First Name ,Last Name ,Email Address ,Password, Confirm
Password, Shipping Address ,Billing Address (if different from shipping address),
Phone Number) Login:(Email Address ,Password).

3.2.1.3 Processing: The processing for User Registration and Login in the E-Store system can
include the following steps:
1. Gathering user registration information such as name, email, password, address,
etc.
2. Validating user information to ensure that all required fields are filled in and that
the information is in the correct format (e.g., email address is valid).
3. Checking if the user already has an account or not.
4. If the user is new, creating a new account and saving the user information to the
database.
5. If the user is returning, checking if the login information matches the saved
information in the database.
6. If the login information is valid, granting access to the user's account and
allowing them to perform actions within the system.
7. If the login information is invalid, denying access to the user and prompting them
to try again or reset their password.

3.2.1.4 Outputs:
Here are some possible outputs for the User Registration and Login process in the E-
Store system:
1.Success message: Once a user has successfully registered or logged in, a message
should be displayed confirming their action and welcoming them to the system.

Software Requirements Specification Page 9


E-Store

2.User profile: After a user has registered and logged in, they should be able to view
and edit their profile information, such as their name, email address, and
password.
3.Personalized content: Once a user is logged in, they should be able to see
personalized content based on their browsing and purchase history.
4.Cart status: If the user has items in their cart from a previous session, the system
should display the contents of their cart after they log in.
5.Order history: After a user has made purchases on the E-Store system, they should
be able to view their order history, including order numbers, purchase dates,
and order totals.

3.2.1.5 Error Handling: Here are some potential error handling scenarios for the User
Registration and Login process in the E-Store system:
1.Invalid input: If the user enters invalid or incomplete information during
registration, such as an invalid email address or a password that doesn't meet
the requirements, the system should display an error message explaining the
issue and prompt the user to correct it.
2.Duplicate account: If a user attempts to register with an email address that is
already associated with an account, the system should display an error message
explaining that the email address is already in use and prompt the user to either
log in or use a different email address.
3.Authentication failure: If a user enters an incorrect email address or password
during login, the system should display an error message indicating that the
login credentials are incorrect and prompt the user to try again or reset their
password.
4.Account suspension: If an account has been suspended or disabled, the system
should display an error message indicating that the account is not currently
active and prompt the user to contact customer support for assistance.
5.Technical errors: If the system encounters any technical errors during the user
registration or login process, such as a database connection error, it should
display an error message explaining the issue and prompt the user to try again
later or contact customer support.
3.2.2 Product Catalogue
3.2.2.1 Introduction: The system should allow users to browse through the product catalog,
which should be organized by category and subcategory. Users should be able to search
for products by keyword or filter by various criteria such as price, brand and size. and
The admin can add, delete or modify a product or its information
3.2.2.2 Inputs:( Product name ,Product category, Product description, Product image, Product
price ,Product quantity ,Product rating, Product reviews ,Product availability status
,Product manufacturer information, Product warranty information and Product
specifications).

3.2.2.3 Processing: For the Product Catalogue processing in the E-Store system, the following
processing steps are applicable for both users and admins:

Software Requirements Specification Page 10


E-Store

1.Display product catalogue: The system will display a list of all available products
in the catalogue.
2.Search for products: The system will allow users to search for products in the
catalogue based on keywords or specific attributes.
3.Filter products: The system will allow users to filter products based on specific
attributes such as price range, category, brand, etc.
4.View product details: The system will allow users to view detailed information
about a specific product, such as description, images, specifications, and
reviews.
5.Add products to cart: The system will allow users to add products to their
shopping cart.
6.Remove products from cart: The system will allow users to remove products from
their shopping cart.
7.Update cart: The system will allow users to update the quantity of products in
their shopping cart.
8.Checkout: The system will allow users to proceed to the checkout process and
complete their purchase.
For the admin, the following additional processing steps are applicable:
1.Add product: The system will allow the admin to add new products to the
catalogue.
2.Edit product: The system will allow the admin to edit the details of existing
products in the catalogue.
3.Delete product: The system will allow the admin to delete products from the
catalogue.

3.2.2.4 Outputs: Here are some potential outputs for the Product Catalogue for both users and
administrators:
For Users:
1. List of available products with names, descriptions, prices, and images
2. Search results for specific products based on name or keyword
3. Filters for narrowing down product search results based on price range, category,
brand, etc.
4. Product details page with additional information such as product reviews, ratings,
specifications, and availability status
5. Shopping cart displaying the products selected by the user
6. Checkout page with the summary of the order, shipping details, and payment
options
For Administrators:
1. Dashboard displaying the total number of products, categories, and orders
2. List of products with the ability to add, edit, or delete products and their details
3. Categories management page for adding, editing, or deleting product categories
4. Orders page with the ability to view, update, or cancel orders
5. Reports page for generating sales reports and tracking inventory levels.

3.2.2.5 Error Handling: Here are some examples of potential error handling scenarios for the
Product Catalogue processing in E-Store system:

Software Requirements Specification Page 11


E-Store

1.If the database connection fails or encounters an error, an error message should be
displayed to the user/admin informing them that the operation could not be
completed at this time.
2.If the user/admin tries to access a product that is not available, an error message
should be displayed informing them that the product is out of stock or not
available for purchase.
3.If the user/admin tries to add a product to the cart that exceeds the available stock
quantity, an error message should be displayed informing them that the product
quantity has been exceeded and they should adjust the quantity or select a
different product.
4.If the user/admin tries to search for a product that does not exist in the catalogue,
an error message should be displayed informing them that the product could not
be found and to try again with a different search query.
5.If the user/admin tries to access the Product Catalogue without being logged in, an
error message should be displayed informing them that they must log in before
accessing the catalogue.

3.2.3 Shopping Cart


3.2.3.1 Introduction: The system should allow users to add items to their shopping cart and
view the contents of their cart at any time. Users should be able to edit or remove items
from their cart before proceeding to checkout.

3.2.3.2 Inputs: For the Shopping Cart processing in E-Store system, the user typically inputs
the following attributes:
1.Product ID or Name: The user selects the product they want to purchase and adds
it to their shopping cart.
2.Quantity: The user inputs the number of units of the selected product they want to
purchase.
3.Coupon Code (if applicable): The user can enter a coupon code to apply a
discount to their purchase.
4.Payment Information: The user inputs their payment details, such as credit card
information or PayPal account, in order to complete the purchase.

3.2.3.3 Processing: here are some possible processing steps for the "Shopping Cart" feature in
the E-Store system:
1.User adds item to cart: The system should allow the user to select items and add
them to their shopping cart.
2.User removes item from cart: The system should allow the user to remove items
from their shopping cart.
3.User updates item quantity: The system should allow the user to update the
quantity of items in their shopping cart.
4.User proceeds to checkout: The system should allow the user to proceed to
checkout once they have finished adding items to their shopping cart.
5.For the admin, there could be additional processing steps:
6.Admin views shopping carts: The system should allow the admin to view the
shopping carts of all users.

Software Requirements Specification Page 12


E-Store

7.Admin modifies shopping carts: The system should allow the admin to modify the
contents of a user's shopping cart, such as adding or removing items.
These are just some possible processing steps and may not cover all possible scenarios.

3.2.3.4 Outputs: Some possible outputs for the Shopping Cart processing in the E-Store system
include:
1. Display of the current items in the shopping cart, including their names, prices, and
quantities.
2. Calculation of the subtotal, tax, and total cost of the items in the shopping cart.
3. Display of any discounts or promotions that may be applicable to the items in the
shopping cart.
4. Display of shipping options and associated costs.
5. Ability to modify the quantities of items in the shopping cart or remove items entirely.
6. Ability to apply a coupon or discount code to the items in the shopping cart.

These outputs may be displayed to the user in the form of a summary page or modal
window, with clear and easy-to-understand information.

3.2.3.5 Error Handling: Error Handling for Shopping Cart:


1.If a user tries to add a product that is out of stock, a message should be displayed
to inform them that the product is unavailable.
2.If a user tries to add a product to the cart without selecting a required attribute
such as size or color, an error message should be displayed prompting the user
to select the required attribute.
3.If a user tries to add a product to the cart with an invalid quantity (e.g., zero or a
negative number), an error message should be displayed informing the user that
the quantity is invalid.
4.If the system encounters an error while processing the cart (e.g., server error,
database error), an error message should be displayed informing the user that
the cart cannot be processed at this time and to try again later.

3.2.4 Checkout and Payment


3.2.4.1 Introduction: The system should provide a secure checkout process that allows users to
enter their billing and shipping information and select their preferred payment method.
The system should integrate with a payment gateway to process payments and confirm
orders.

3.2.4.2 Inputs: the attributes that a user would typically input during the Checkout and
Payment process for an E-Store system:
1. Shipping Address: The user will input their address where the product should
be shipped.
2. Payment Information: The user will enter their payment information, such as
credit card or PayPal account details.
3. Billing Address: The user will enter their billing address, which may be
different from the shipping address.

Software Requirements Specification Page 13


E-Store

4. Shipping Method: The user will choose a preferred shipping method from a list
of available options, such as standard, expedited, or overnight shipping.

3.2.4.3 Processing: here are some of the processing steps for the Checkout and Payment
feature in the E-Store system:
1. User initiates checkout process.
2. User is prompted to review their order and make any necessary changes.
3. User selects their preferred payment method (credit card, PayPal, etc.).
4. User enters their payment information (card number, expiration date, security
code, etc.).
5. User submits payment information and completes the checkout process.
6. The system processes the payment and sends a confirmation to the user.
7. The order is marked as "paid" and the product inventory is updated accordingly.
8. The system generates an order receipt and sends it to the user via email.

3.2.4.4 Outputs: Possible outputs for the Checkout and Payment processing in the E-Store
system could include:
1. Order confirmation: a message confirming that the order has been successfully
placed and providing an order number.
2. Receipt: a detailed receipt of the purchase, including item names, quantities,
prices, taxes, and shipping fees.
3. Payment confirmation: a message confirming that the payment has been
successfully processed and providing a payment confirmation number.
4. Shipping information: an estimated delivery date and any available tracking
information.
5. Account update: if the user has an account, their order history and account
balance will be updated to reflect the new purchase.
These outputs may be displayed on the website or sent to the user's email address.

3.2.4.5 Error Handling: Here are some examples of error handling for the Checkout and
Payment process in the E-Store system:
1. Invalid payment information: If the user enters invalid payment information,
such as an incorrect credit card number, the system should display an error
message informing the user of the issue and prompt them to correct the
information before proceeding.
2. Insufficient funds: If the user's payment method does not have sufficient funds
to cover the transaction, the system should display an error message informing
the user of the issue and prompt them to either provide a different payment
method or add funds to their current payment method.
3. Payment processing error: If there is an error in processing the payment, such as
a communication failure with the payment processor or a declined transaction,
the system should display an error message informing the user of the issue and
prompt them to try the payment again or provide a different payment method.
4. Order confirmation error: If there is an error in confirming the order after
payment, such as a communication failure with the order processing system, the

Software Requirements Specification Page 14


E-Store

system should display an error message informing the user of the issue and
prompt them to try again later or contact customer support for assistance.
5. Security breach: If there is a breach in the security of the payment information
during the checkout and payment process, the system should immediately alert
the user and prompt them to take action to secure their payment information,
such as canceling the payment or contacting customer support. The system
should also have measures in place to investigate and address the security
breach.

3.2.5 Order Management


3.2.5.1 Introduction: The system should allow users to view their order history and track the
status of their current orders. The system should send notifications to users when their
orders are confirmed, shipped, and delivered.

3.2.5.2 Inputs: For the Order Management processing in the E-Store system, the user typically
does not input any attributes directly. The system retrieves the necessary information
from the user's order history and the current inventory levels. The user may provide
input indirectly by modifying their order or requesting changes to their shipping or
billing information. The system may also prompt the user for additional information if
needed to process the order.

3.2.5.3 Processing: here are some possible processing steps for the Order Management in the
E-Store system:
1. Retrieve customer orders: The system should be able to retrieve all orders
placed by a particular customer.
2. Update order status: The system should be able to update the status of an order
(e.g. processing, shipped, delivered, cancelled).
3. Cancel order: The system should allow customers to cancel an order if it has not
yet been shipped.
4. Refund order: The system should allow customers to request a refund for an
order that has already been shipped.
5. Process returns: The system should allow customers to request a return or
exchange for items they have received.
6. Update inventory: The system should automatically update the inventory levels
for products as orders are processed.
7. Generate order reports: The system should be able to generate reports on orders
and sales by date range, customer, product, etc.
8. Send order confirmations: The system should send email confirmations to
customers when their orders are received and when they are shipped.
9. Send shipping notifications: The system should send email notifications to
customers when their orders are shipped, including tracking information if
available.
10. Manage order fulfillment: The system should allow administrators to manage
the process of fulfilling orders, including assigning orders to staff, managing
shipping and delivery, and tracking orders until they are delivered.

Software Requirements Specification Page 15


E-Store

11. Manage returns and refunds: The system should allow administrators to manage
returns and refunds, including processing returns, issuing refunds, and updating
inventory levels.
12. Manage customer service inquiries: The system should allow administrators to
manage customer service inquiries related to orders, including responding to
customer questions, resolving disputes, and escalating issues as needed.

3.2.5.4 Outputs: The outputs for the Order Management process in the E-Store system may
include:
1. Order confirmation: This output confirms that the order has been successfully
placed and includes the order number, order date, and estimated delivery date.
2. Order status: This output shows the status of the order, whether it is still in
process, shipped, or delivered.
3. Shipping and delivery information: This output includes the shipping carrier's
name and tracking number, estimated delivery date, and delivery confirmation.
4. Invoice and receipt: This output shows the itemized list of the products
purchased, total amount due, and payment method.
5. Order cancellation and refund confirmation: This output confirms the
cancellation of the order and the refund amount processed back to the
customer's account.
6. Customer support and feedback: This output includes a link to customer support
and feedback system for customers to ask questions, report issues, and provide
feedback.
7. Reports: This output includes sales reports, inventory reports, and customer
data reports, which are used to analyze sales trends and customer behavior, and
make data-driven decisions to improve the business.

3.2.5.5 Error Handling: Here are some examples of error handling for the Order Management
process in the E-Store system:
1. Input validation: When the user submits an order, the system should validate the
input data to ensure that all required fields are filled out correctly. If any
required fields are missing or contain invalid data, the system should display an
error message and prompt the user to correct the errors.
2. Inventory checks: If an order includes items that are out of stock or no longer
available, the system should display an error message and prompt the user to
remove those items from the order or choose different items.
3. Payment processing: If there is a problem processing the user's payment, such
as an invalid credit card number or insufficient funds, the system should display
an error message and prompt the user to correct the payment information or
choose a different payment method.
4. Order confirmation: After the user submits an order, the system should display
a confirmation message to indicate that the order was received and provide the
user with an order number and estimated delivery date. If the order cannot be
processed for any reason, the system should display an error message and
provide instructions on how to resolve the issue.

Software Requirements Specification Page 16


E-Store

5. Order tracking: If the user wants to track the status of their order, the system
should provide a way to do so, such as a tracking number or a link to a tracking
website. If there is a problem with the order, such as a delay or cancellation, the
system should display an error message and provide instructions on how to
resolve the issue.

3.2.6 Customer Support


3.2.6.1 Introduction: The system should provide customer support features such as an FAQ
section, a knowledge base, and a contact form. Users should be able to submit support
requests and receive timely responses from customer support representatives.

3.2.6.2 Inputs:
1. Name: The name of the customer who needs support.
2. Order number: The unique identifier for the customer's order.
3. Contact information: The customer's phone number, email address, or other
preferred contact method.
4. Description of the issue: A detailed explanation of the problem or question the
customer has.
5. Relevant account information: If the customer has an account with the e-store,
they may need to provide their username or other relevant account information
3.2.6.3 Processing: Here are some possible processing steps for Customer Support in an E-
Store system:
1. Handling customer inquiries: This involves receiving and responding to
customer inquiries through various communication channels such as email,
phone, live chat, or social media. The customer support team should be able to
access the customer's account information and order history to provide accurate
and timely assistance.
2. Managing product returns and refunds: Customers may request returns or
refunds for various reasons such as receiving a damaged or defective product,
or simply changing their mind about a purchase. The customer support team
should be able to manage the return or refund process, including verifying the
reason for the return, issuing refunds or store credits, and coordinating product
exchanges or returns.
3. Troubleshooting technical issues: Customers may encounter technical issues
while using the E-Store system such as problems with account access, payment
processing, or navigation. The customer support team should be able to
troubleshoot these issues and provide solutions or escalate the issue to the
technical support team if necessary.
4. Providing product recommendations and information: Customers may seek
advice or information about products they are interested in purchasing. The
customer support team should be able to provide accurate and helpful product
recommendations and information.
5. Handling complaints and disputes: Customers may file complaints or disputes
regarding their orders, payments, or customer service experience. The customer
support team should be able to handle these complaints and disputes in a

Software Requirements Specification Page 17


E-Store

professional and timely manner, following the company's policies and


procedures.
6. Monitoring customer feedback: The customer support team should be able to
monitor customer feedback and comments on social media, review sites, or
other channels, and respond to them in a timely and appropriate manner. The
team should also be able to analyze customer feedback to identify areas of
improvement for the E-Store system and its services.
3.2.6.4 Outputs: Some possible outputs for the Customer Support process in an e-store system
could include:
1. Response to customer inquiry: The system should provide an automated or
manual response to customer inquiries received through various channels, such
as email, chat, or phone. The response should provide a solution or a plan for
further investigation or escalation.

2. Complaint resolution: The system should track customer complaints and


provide a timely and satisfactory resolution. The resolution may include a
refund, replacement, or compensation.
3. Support ticket status update: The system should allow customers to check the
status of their support tickets, such as whether the ticket has been assigned, in
progress, or resolved.
4. Knowledge base articles: The system should provide a searchable knowledge
base that includes frequently asked questions (FAQs), tutorials, and
troubleshooting guides.
5. Feedback survey: The system should allow customers to provide feedback on
their support experience, such as the quality of the response and the satisfaction
level. The feedback can be used to improve the support process.
6. Escalation process: The system should have a well-defined escalation process
for complex or urgent issues that require immediate attention from higher-level
support staff.
7. Chatbot assistance: The system could also provide a chatbot assistance for basic
inquiries that can be resolved through an automated response, such as tracking
orders, product information, or returns.

3.2.6.5 Error Handling: Here are some examples of error handling for the Customer Support
process in an E-Store system:
1. Invalid Support Ticket ID: If the user enters an invalid or non-existent support
ticket ID, the system should display an error message informing the user that
the ticket ID is invalid.
2. Unauthorized User: If a user who is not authorized to access the support system
attempts to do so, the system should display an error message informing the
user that they do not have the required permissions to access this feature.
3. Missing Information: If a user attempts to submit a support ticket without
providing all the required information, the system should display an error
message highlighting the missing fields and prompting the user to provide the
required information.

Software Requirements Specification Page 18


E-Store

4. Timeouts: If the user takes too long to fill out the support request form or
complete a support chat session, the system should display an error message
indicating that the session has timed out and prompt the user to try again.
5. Server Errors: If there is an error on the server side while processing the
customer support request, the system should display an error message indicating
that the request cannot be processed at this time and prompt the user to try again
later.
6. Language Barrier: If the customer support agent and the user speak different
languages, the system should provide an option for language translation to
facilitate communication between them.
7. Insufficient Support Staff: If there are not enough support staff available to
handle the volume of support requests, the system should display an error
message informing the user that support may be delayed and recommend
alternative options, such as reviewing the FAQ section or submitting the request
via email.

3.2.7 Admin Panel


3.2.7.1 Introduction: The system should provide an admin panel that allows the site
administrator to manage the product catalog, user accounts, orders, and customer
support requests. The admin panel should also provide analytics and reporting features
that help the administrator track the site's performance and identify areas for
improvement.

3.2.7.2 Inputs: Here are some of the attributes that the user may input for the Admin Panel in
an E-Store system:
1. Username and Password
2. Role/Authorization level (e.g. administrator, manager, customer support
representative)
3. Product information (e.g. product name, description, price, image)
4. Order information (e.g. order number, customer name, product name, quantity,
price, status)
5. Customer information (e.g. name, address, email, phone number, payment
information)
6. Inventory information (e.g. stock quantity, reorder point, supplier information)
7. Shipping information (e.g. shipping carrier, tracking number, delivery date)
8. Promotions and discounts (e.g. coupon codes, sale prices)
9. Reporting information (e.g. sales reports, order statistics)
10. System configuration information (e.g. payment gateway, shipping methods,
tax rates)
11. Security settings (e.g. password policies, access controls)

3.2.7.3 Processing: Here are some of the common processes that can be part of an Admin
Panel in an E-Store system:

Software Requirements Specification Page 19


E-Store

1. Dashboard: The main page of the admin panel that provides an overview of the
site's performance, including the number of orders, registered users, and
revenue generated.
2. Product Management: The ability to manage product listings, including adding
new products, modifying existing products, and deleting products from the
catalog.
3. Order Management: The ability to view, process, and manage customer orders,
including order fulfillment, order cancellation, and refund requests.
4. User Management: The ability to manage registered users, including adding
new users, modifying user accounts, and disabling or deleting user accounts.
5. Inventory Management: The ability to track inventory levels, update stock
quantities, and receive alerts when inventory levels fall below a certain
threshold.
6. Sales Reports: The ability to generate reports on sales performance, revenue,
and customer data for a specified period.
7. Shipping and Tax Management: The ability to manage shipping and tax
settings, including setting up shipping rates, calculating taxes, and configuring
shipping options.
8. Marketing and Promotion Management: The ability to manage promotions and
discounts, create coupon codes, and configure email marketing campaigns.
9. Security Management: The ability to manage site security settings, including
user authentication, SSL certificates, and access controls.
10. Content Management: The ability to manage site content, including creating
and editing pages, managing blog posts, and uploading images and videos.
11. Payment Gateway Management: The ability to configure payment gateway
settings and manage payment transactions, including capturing payments,
issuing refunds, and managing chargebacks.
12. Site Settings: The ability to manage site settings, including configuring site
preferences, email notifications, and other site-specific settings.
3.2.7.4 Outputs: The outputs for the Admin Panel processing in an E-Store system would
typically include:
1. Dashboard: A summary of key metrics such as revenue, order volume, and
product performance.
2. Product Management: A list of all products with the ability to edit or delete
them, as well as add new products.
3. Order Management: A list of all orders with the ability to view order details,
update order status, and generate invoices.
4. Customer Management: A list of all customers with the ability to view
customer details, edit or delete them, and view order history.
5. Analytics and Reports: A variety of reports and analytics to help administrators
analyze sales data, customer behavior, and product performance.
6. User Management: The ability to create and manage user accounts, including
granting or revoking admin privileges.
7. Settings: The ability to configure various settings for the E-Store system, such
as shipping and tax rules, payment methods, and email templates.

Software Requirements Specification Page 20


E-Store

8. Help and Support: Access to documentation and support resources for the E-
Store system.

3.2.7.5 Error Handling: Here are some examples of error handling for the Admin Panel in an
E-Store system:
1. Authentication errors: If the admin enters incorrect login credentials, the system
should display an error message stating that the login attempt was unsuccessful
and prompt the user to try again or reset their password.
2. Authorization errors: If the admin tries to access a feature or functionality they
don't have permission to use, the system should display an error message stating
that access is denied and prompt the user to contact a system administrator for
further assistance.
3. Database errors: If there is an error with the database connection, the system
should display an error message stating that the system is experiencing
technical difficulties and prompt the user to try again later.
4. Input validation errors: If the admin enters invalid data into a form or field, the
system should display an error message stating that the input is invalid and
provide guidance on the expected input format.
5. System errors: If there is an unexpected error or system failure, the system
should display an error message stating that the system is experiencing
technical difficulties and prompt the user to contact technical support for further
assistance.

Software Requirements Specification Page 21


E-Store

3.3 Use Cases

use case diagram for E-Store system.

Forget <<extend> <<extend> Registration


password > >
Login

Visitor Browse and search


for products

1
Add to Shopping Cart *

Products
Management
Customer
Admin
<
<
Cart
e
Management
x
t Order Management
e (edit ,update , delete)
<<extend>n
> d <<extend>>
Make> order
>

Accounts
<<Inclu Management
de>>
Payment

Check validate
<<Include> Customer Support
>

use case diagram for E-Store system.

All use cases has been explained in 3.2 Functional Requirements

Software Requirements Specification Page 22


E-Store

3.4 Classes / Objects

Account

-id:int
firstName:string
-lastName:string
-phone:string
-address:string
-email:string
-pass:string

~Account(*)
getAccountIfno():Account
login(email,pass):boolean
changePass(oldPass,newPass):b
oolean
forgetpass(email,Rnumber)

UserManagement

Admin superAdminInfo:Admin Customer Cart


listAdmin:<list>Admin
listCustomers:<list>Customer
id:int -cartInfo:Cart -id:int
jopInfo:object -creditCardInfo:Object -listProducts:<list>Product
permissions:object addCustomer(newCustomer:Customer) listOrders:<list> Order -totalPrice:float
addAdmin(newAdmin) -shippingAddress:string
addPremisttionToAdmin(AdminId,PrmsId) -BillingAddress:string
updateAccount(a:Account) deleteAdmin(id)
updateJopInfo(j:object) deleteCustomer(id) *
updatePermissions(p:opject) disbleAccount(accountId) 1
mangeProduct() updateAccountInfo(id,acc:Account) Has ViewCartDetails()
manageCategory() ~Customer()
showAccountInfo(acccountInfo:Account) addCartItem()
addToCart(productId:int) updateQuantity(productId:int)
* browseProducts() checkout()
viewCartInfo(cartInfo:Cart) deleteCartItem(productId)
* * viewOrdersDetails() uptateCart()
use makeOrder(cartInfo:Cart) addDiscountCode(code:string)
* buyProducts(cartInfo,CreditCardInfo) calculateTotal():float
use updateCart()
removwProductFromCart(productId)
CustomerSupport
*
customerInfo:Customer 1 1 <<interface>>
order:Order APIs
Manage
description:string
use

ShowFAQ()
hamdingcomplaints() Buy manage checkValidate()
monitoringCustomerFeedback() getpaymentAPI(cardNO,pass)
handlingCustomerInquiries() payment(price,cardNo,pass)
+sendingEmail(mess:string.email:st
ring)

* * *

*
ManageCategory Product Order
use
1
-id:int -id:int -id:int
name:string -name:string OnlinePayment
customerInfo:Customer
description:string category:string dateCreated:date
img:Image description:string dateShipped:date
-listProducts:<list>Product img:Image status::string use
price:float -cardNO:String
updateOrder(o:Order)
quantity:int -password:String
updateStatus(s :string)
~ManageCategory(name,description,img) rating:object -cardType:string
viewOrderDetails()
addproductToList(ProdcutId:sting) reviews:object use description:string
retrieveCustomerOrders()
deleteProductFromList(prodictId:int) availabilityStatus:boolean paymentInfo:APls
buyOrder(creditCardInfo:object)
displayCatalogue(listProducts,filter:FilterType) details:object -Price:float
cancelOrder():boolean
viewProductDetails(productId) -codeError:int
refundOrder():boolean
editProduct(productId) ~Product() processReturns():boolean
seachProduct(productName):Product ~Product(*) generateOrderReports()
updatePrice(p:float) sendOrderConfirm(customerEmail:string) +checkValidate(cardNO:string,pass
updateQuantity(q:int) manageOrderFulfillment() :string):Boolean
updateRating(r:object) sendShippingNotify(emial:String) +payment(price:float,cardNo,pass)

Software Requirements Specification Page 23


E-Store

3.5 Non-Functional Requirements


3.5.1 Performance
- The E-Store system shall respond to user actions within 2 seconds or less.
- The E-Store system shall support up to 10,000 concurrent users.

3.5.2 Reliability
- The E-Store system shall have a mean time between failures (MTBF) of at least 1 year.
- The E-Store system shall be able to recover from a failure within 10 minutes.
3.5.3 Availability
- The E-Store system shall be available 24/7 except for scheduled maintenance windows.
- The E-Store system shall have an uptime of at least 98%.
3.5.4 Security
- The E-Store system shall use HTTPS to encrypt all communication between the user's
browser and the server.
- The E-Store system shall implement access control to ensure that only authorized users
have access to sensitive data.
3.5.5 Maintainability
- The E-Store system shall use modular code to allow for easy maintenance and updates.
- The E-Store system shall have clear documentation to aid in maintenance and
troubleshooting.
3.5.6 Portability
- The E-Store system shall be compatible with all major web browsers (Chrome, Firefox,
Safari, Edge, etc.).
- The E-Store system shall be able to run on multiple operating systems (Windows, Mac,
Linux, etc.).

3.6 Inverse Requirements


Inverse requirements, also known as anti-requirements, describe what the system should not do.
Here are some examples of inverse requirements for an e-store system:

1. The system should not allow unauthenticated users to access restricted content or perform
actions that require authentication.
2. The system should not store sensitive user information, such as passwords, in plain text.
3. The system should not allow users to purchase products that are out of stock.
4. The system should not show inappropriate or offensive content to users.

Software Requirements Specification Page 24


E-Store

5. The system should not allow users to modify or delete another user's account or data
without proper authorization.
6. The system should not allow users to upload files that contain viruses or malware.
7. The system should not process payments using insecure or outdated protocols.
8. The system should not allow unauthorized access to the administrative features and
functions.
9. The system should not disclose confidential information about users or transactions to
unauthorized parties.
10. The system should not allow users to submit orders without providing required
information, such as shipping address and payment details.

3.7 Design Constraints


1. Compliance with Web Standards: The software must comply with web standards such as
HTML, CSS, and JavaScript to ensure compatibility with various web browsers.
2. Security Standards: The system must comply with industry-standard security protocols
and regulations such as PCI-DSS to protect sensitive customer information.
3. Database Management System: The system must use a specific database management
system, such as MySQL or Oracle, as per the company's policies.
4. Hardware Limitations: The system should be designed to operate within specific
hardware limitations such as memory and storage capacity, processing power, etc.
5. User Interface Design: The software must follow the company's user interface design
guidelines to ensure consistency across all products and services.
6. Scalability: The system must be designed to handle high traffic and be scalable to
accommodate future growth and demand.
7. Mobile Responsiveness: The system must be designed to be responsive to different
screen sizes and be optimized for mobile devices.
8. Availability and Uptime: The system must be available and accessible to users at all
times with minimum downtime and scheduled maintenance windows.

3.8 Logical Database Requirements


1. The system must be able to store and retrieve customer information such as name,
address, email, and phone number.
2. The system must be able to store and retrieve product information such as name,
description, price, and availability.
3. The system must be able to store and retrieve order information such as order date, order
number, customer information, and product information.
4. The system must ensure that each product has a unique identifier and that there are no
duplicate entries.
5. The system must ensure that each order has a unique identifier and that there are no
duplicate entries.
6. The system must allow customers to view their order history and status.
7. The system must allow administrators to view and manage customer, product, and order
information.
8. The system must enforce referential integrity to ensure that all related data is consistent
and accurate.
9. The system must be scalable to accommodate a large number of products and orders.

Software Requirements Specification Page 25


E-Store

10. The system must be able to backup and restore the database to prevent data loss in case of
system failure.

3.9 Other Requirements


1. Multi-currency support: The system should support multiple currencies to cater to
customers from different countries.
2. Social media integration: The system should allow users to share their purchases on
social media platforms like Facebook, Twitter, and Instagram.
3. Advanced search functionality: The system should have advanced search capabilities that
allow customers to filter products based on various criteria such as price range, brand,
category, etc.
4. Mobile responsiveness: The system should be optimized for mobile devices and provide a
seamless user experience on smartphones and tablets.
5. Integration with third-party payment gateways: The system should integrate with popular
payment gateways like PayPal, Stripe, and Square to facilitate online transactions.
6. Order tracking: The system should allow customers to track the status of their orders in
real-time and receive notifications regarding any updates.
7. Integration with shipping carriers: The system should integrate with popular shipping
carriers like UPS, FedEx, and DHL to facilitate the shipment of orders.
8. Personalized recommendations: The system should use machine learning algorithms to
provide personalized product recommendations to users based on their browsing and
purchase history.
9. Customer feedback and reviews: The system should allow customers to provide feedback
and reviews on products they have purchased, which can help other users make informed
purchase decisions.

Software Requirements Specification Page 26


E-Store

4. Analysis Models
4.1 Sequence Diagrams
4.1.1 Sequence diagram for login and forget password

:User : GUI :Database

load login
page
login(userName,pw) check validate(userName,pw)
Alt
validate()
corrected
show login has been successfully

uncorrected

reload login
form
show error in login

forget password

:API
load forget
enter your Email Address password page

setEmail(emial)

send verificationNo to(email,randomNo)

sending()
to verify a number has been send to
your email ,enter it

set verify No(number)

Alt check(number,randomNo)

enter a new password

set new password(pass)

SaveData(newPass)
successed

incorrect number

Software Requirements Specification Page 27


E-Store

4.1.2 Sequence diagram for add products to cart and payment

:User : GUI :Cart

view products()
load products
page

loop
[click buy button?]
Browse products

addProductToCart(productId,quntity)
addToCart(productId,quntity)
done

click buy button


enter shipped address

setShippedAddress(shippedaddres)

getCartInfo()

return cartInfo()

: Online Payment system

makeOrder(cartInfo)

load payment
page

To continue ,enter credit cardInfo


setCardInfo(noCard,password)

validate credit card(noCard,pass) :Database

Alt
validate credit
card with banks

Notify sender payment success corrected

saveOrderInfo(orderInfo,custmorId)

saving()
show payment has been successed buy products has been successed

uncorrected (errorCode)
Notify user payment not success
(errorCode)

Software Requirements Specification Page 28


E-Store

4.1.3 Sequence diagram for admin add product or update it

:Admin :ManageCategory :Database


page

addProduct(productInfo)
addProduct(productInfo)

checkAndSave()
Alt

saved done

save done

this product
already exists
this product already exists

updateProduct(productInfo)
updateProduct(productInfo)

updateProduct() updateProduct()
updated done updated done

Software Requirements Specification Page 29


E-Store

4.3 Data Flow Diagrams (DFD)

DFD for E-Store


Taiz university - SE

1.0
Request for login login
check for login
Response Reply
Reply check Request for login
for
2.0 Insert data login
Add/delete/edit premission Manage 1 Admins DB Response
Premissions Reply
Response Reply
Insert data
Add/delete/edit user 3.0 Insert data
Admin 2 Custmors DB
Manage
Response Users Reply
7.0 Request view product
Add/delete/edit Order Browse Customer
4.0 Insert data
3 Orders DB Products
Manage Order
Response
Response Reply
get categories info retur
get
n
return categories info prod
Add/delete/edit category prod
uctInf
5.0 Insert data uctInf
o
4 Categories DB o
Manage
Category Add/delete/edit product
Response Reply insert data
8.0
6 Cart object manage cart
get retur
prod n Response
get product info return product info
uctIn prod Reply
uctIn retur get
fo n
fo cart
cart Info
Taiz university - SE
tInfo

set credit card info


6.0 9.0
Add/delete/edit product Insert data buy products
Manage 5 Products DB
Product Response
Reply API banks
Response
discount from credit card Info

send bayment info for save proccess as order

Reply

Software Requirements Specification Page 30


E-Store

4.2 State-Transition Diagrams (STD)

[incorrect User] / tries++

Login Validation

entry/type "login" do/connect with DB


exit/loging(username,passowrd) do / check validate
Load login page do/get username click login button exit / display result
do/get password

[tries = 3]

Forget password

entry/phone number
do / send Number to email [
c
o
r
r
e
c
t
e
adding Cart d
view products
]
do/add product selected do/show all products
do/sho all product of cart exit/select product
click add product to card button
exit/cart info

browse products

c c
l click logout button l
click logout button i
i
c c s
k k e
a
payment
B s r
u e c
y logout
asearch product h
entry/credit card info r
entry/shipping info b cdo/select search filter f
do/save changes
do/check credit card infou h
do/show reasults by filter
do/buy from credit card info click logout button do/disconnect with DB i
t n
do/send notify to customer's email b
t i
exit/save bayment info as order
o u s
n t h
t e
o d
n

Software Requirements Specification Page 31


E-Store

5. Change Management Process


If there are any changes in the requirements or processes, we will try to respond to these changes
and accept them after verifying them. The reason for our acceptance of these changes is
especially changes in the customer's requirements. This is because the labor market imposed this
on us in light of the competition in the software industry, as most software institutions use the
agile methodology, which accepts the existence of any changes, in order to gain the largest
possible number of customers. For this reason, we will follow the agile methodology in software
development, where we will accept changes and manage them in a sporty spirit in order to
compete with other institutions. And how to manage changes.
We will update and evaluate our SRS document each week as we make changes to it
Our design and requirements. We will add new detailed information including:
References, graphs, graphs and more specifications and requirements we find along the way
The method in designing and implementing the product. and we will take the following steps to
manage the changes:
- Share The Vision
- Lead By Example
- Involve Those Impacted By The Change
- Build A Plan
- Establish Measures Of Success
- Communicate Through Phases
- Implement The Change
- Measure Results
The previous steps are just general simple steps. To manage any future changes.

A. Appendices
There are no important appendices to include, but only appendices for analysis and design. These
appendices are contained in a zip file containing the UML diagram design files and an Adobe
XD file containing the project interface design, as well as some files and images from the
Internet that were used as Visual Feeding in order to assist in the graphic design process and in
the writing and drafting of this file.

A.1 Appendix 1

A.2 Appendix 2

Software Requirements Specification Page 32

You might also like