Professional Documents
Culture Documents
SRS E-Store v3 - 042440
SRS E-Store v3 - 042440
SRS E-Store v3 - 042440
Software Engineering
E-Store system
Eng: Abdul Rahman Hammoud Al Qasimi
Prepared for
WSU-TC CptS 322—Software Engineering Principles I
Instructor: Eng Ayman Abdul Jalil
E-Store
Revision History
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
Table of Contents
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
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.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.
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.
• 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.
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.
1- Login page
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.
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.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.
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:
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:
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.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.
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.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.
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
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.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.
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.
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.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
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.
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.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:
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.
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.
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
>
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
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)
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.).
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.
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.
10. The system must be able to backup and restore the database to prevent data loss in case of
system failure.
4. Analysis Models
4.1 Sequence Diagrams
4.1.1 Sequence diagram for login and forget password
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)
sending()
to verify a number has been send to
your email ,enter it
Alt check(number,randomNo)
SaveData(newPass)
successed
incorrect number
view products()
load products
page
loop
[click buy button?]
Browse products
addProductToCart(productId,quntity)
addToCart(productId,quntity)
done
setShippedAddress(shippedaddres)
getCartInfo()
return cartInfo()
makeOrder(cartInfo)
load payment
page
Alt
validate credit
card with banks
saveOrderInfo(orderInfo,custmorId)
saving()
show payment has been successed buy products has been successed
uncorrected (errorCode)
Notify user payment not success
(errorCode)
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
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
Reply
Login Validation
[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
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