Case Study of Any Project - SRS: Business Problem Statement
Case Study of Any Project - SRS: Business Problem Statement
Business Problem Statement
XYZO (XYZ Online) rental has done a recent survey of their market competition and
found that its competitors are heavily using their online channel to supplement their in-
store sales. The survey also indicated that an online platform better suits XYZ rental's
long-term strategy of expanding the user base across various locations and improves
customer loyalty through targeted campaigns and promotions.
Hence XYZ Corporation decided the develop an online commerce platform in an
iterative fashion. The first iteration allows customers to search for a product to view the
product details and pricing, allows the product to add to shopping cart and to perform a
check URL. In future iterations, there are plans to enhance this by adding mobile
specified applications, personalized recommendations and other commerce features.
SRS for XYZ Online
The following SRS is drafted based on the above problem statement.
Introduction
Purpose
The purpose of the SRS document is to define the system under development, namely
the XYZ online (XYZO).
The intended audience of this document include the site administrator of the XYZ and
the end users of the XYZO. Other intended audiences include a development team,
business analysts, design team, enterprise architect, testing team, infrastructure team
and system team
Scope
XYZO was envisioned by executive management as part of their overall sales strategy
after discovering that there is a huge scope for increasing sales by selling the products
online. Key goals of XYZO are,
Overall Description
Product Perspective
The system mainly consists of XYZ Online system containing application server and
web server. XYZ Online interacts with Pricing system to get the product pricing
information and Inventory ERP system to get the product availability information.
Product catalog and hierarchy information is stored in product database.
Product Functions
XYZO mainly supports the following high level functions,
Search: Users will be able to search using various product attributes. System
would display the products matching their criteria.
Shopping Cart: System allows users to add the products from search results
page into shopping cart.
Checkout: Users can check out their products from shopping cart after providing
shipping information and completing a successful payment.
User Characteristics
There are mainly two kinds of users of XYZO,
Online users: These users are XYZO customers who will access the system
online. The users are from US region for first iteration and the preferred language
is English. Users have minimal technical knowledge and hence need intuitive
navigation aids and simple page layouts.
Site Administrator: Administrator is responsible for maintaining the XYZO system
and will be involved in software fixes, deployment and regular maintenance.
Constraints
Following are the main constraints,
Initial release only allows maximum 10,000 products in search results due to
restrictions imposed by pricing and inventory system.
Initial release is only supported on MSIE, Google Chrome and Firefox browsers.
XYZO web application does not work without JavaScript support.
The IT department of XYZ has all the available hardware required to support the
intended user load.
All the upstream systems including the product database, pricing and inventory
system provide the response within agreed SLAs to ensure the optimal
performance
XYZO depends on Pricing system, Inventory ERP and product database and
hence these systems should be up and available for normal functioning of XZYO.
Specific Requirements
This section provides all the detailed functional and non-functional requirements.
External Interface Requirements
This section provides details of all inputs and outputs including hardware, software,
communication and mockup prototype.
User Interfaces
XYZO application should contain following user interfaces,
Login page for authenticating registered users. This screen should accept user
id, password and authenticate against corporate authentication system. It also
provides features for "New user registration" and “Forgot password” and "Forgot
user id".
Product search page where registered user can search product based on product
attributes. User can search by product name, brief description, and product
category and product id. Search should support intuitive features such as type-
ahead, synonym support, categorized results grouping and spell correction.
Search results page displays the results of search operation. The results should
be paginated with configurable page size. It should allow the user to add the
product to the shopping cart.
Shopping cart page displays the existing items in the shopping cart along with
total amount and allows the user to check out.
Checkout page allows the user to purchase the products using credit/debit card
or using PayPal account. It should be integrated with payment gateway and
display the order details after successful payment. A confirmation email should
be sent to registered email after successful completion.
Hardware Interface
There is no direct hardware interface specifically for XYZO application. The web
application runs on an application server hosted in-house on enterprise hardware.
Software Interface
XYZO application should integrate with the following interfaces,
Product database to get product details. JDBC APIs are the most preferred way
of integration.
Pricing System to get the product pricing, in real-time for the selected products.
Integration should be done using web services.
Inventory ERP to get the product availability information. Integration should be
done using web services.
Communication Interface
There are no XYZO specific communication interface requirements. Existing OS and
network infrastructure will be leveraged for communication.
Functional Requirements
This section provides details of all major functionalities supported by XYZO system.
Functional Requirement 1.1 - Login Operation
Functional
FR1
Requirement Id
Requirement
Login Operation
Title
• Registered user enters user id and password.
Requirement • User clicks on "Login" button.
Description • System should authenticate and create a valid user session upon successful
authentication and redirect user to product search page.
Business Allow registered users to buy products and provide personalization
Rationale features later.
• If authentication fails, user should be redirected to error Scenarios page
showing "User id or password incorrect" message. Maximum password retries
Exception allowed are 3 after which the account should be temporarily locked and request
Scenarios user to contact customer support.
• The operation should also support first time user registration
and forgot user id/password.
Dependencies • Authentication service of corporate LDAP.
Functional Requirement 1.2: Search Operation
Functional
FR2
Requirement Id
Requirement Title Search Operation
• User enters any' of these product attributes: Product name, description
product description, product keyword and clicks on "search".
• Search function should retrieve the matching records from product
Requirement
database.
Description
• Search results should be displayed in pagination format with configurable
page size. Default page size should be 10.
• It should allow user to add the product(s) to shopping cart.
Help users to discover the product. This will be supplemented by
Business Rationale
product recommendation to boost sales value in future
• Display "No products found" if no products match the
Exception Scenarios
Scenarios criteria.
Dependencies • FR1: Users should be logged in.
Functional Requirement 1.3 - Shopping Cart Operation
Functional
FR3
Requirement Id
Requirement Title Shopping Cart Operation
• The shopping cart function should display all the product descriptions
added by user to the shopping cart.
Requirement • While displaying the product, it should get the product availability from
Description inventory system and product price from pricing system to display the
availability and pricing information
• It should allow the user to check out the product(s) in shopping cart.
Business
Provide the online users with a seamless shopping experience.
Rationale
If the selected quantity of products is not available, system
Exception
Scenarios should not allow the user to check out that product. It should
Scenarios
display appropriate error message
• FR 1: Users should be logged in
Dependencies
• FR 2: Users should have selected non-zero products from search operation.
Functional Requirement 1.3 - Checkout Operation
Functional
FR4
Requirement Id
Requirement Title Checkout Operation
Requirement • The checkout function should display the final amount of products in
Description shopping cart and the shipping information.
• It should support the user to enter credit/debit card information to complete
the transaction. Additionally, any other online payment schemes should also
be supported.
• Post successful payment, it should display the order information and send
out a detailed mail to registered email account.
Business Provide flexible options for users to purchase the product more
Rationale purchase options like "cash on delivery" will be added in future.
· If the payment gateway is down, system should display appropriate error
message.
Exception
· If the credit/debit card account declines the transaction, appropriate error
Scenarios
message should be displayed and allow the user to retry the transaction.
Maximum retries allowed are three.
• FR 1: Users should be logged in
Dependencies • FR 2: Users should have selected non-zero products from search operation.
• FR 3: Users should have used checkout from shopping cart.
Performance Requirements
The following are the key performance requirements,
Design Constraints
XYZO should adhere to following standards,
Maintainability
The following maintainability features should be supported,
XYZO should adopt standards based integration for extensibility and scalability.
All code artifacts should have proper documentation.
All code components should be thoroughly tested and the test coverage should
be more than 95%.
Summary