You are on page 1of 9

Software Requirements Specifications

for
Online Bookshop System
Version 1.0
August 25, 2009
Prepared by Sameer Saini

Sameer Saini Online BookShop SRS 1


Table of Contents
1 Introduction...................................................................................................................................3
1.1 Purpose..................................................................................................................................3
1.2 Scope.....................................................................................................................................3
1.3 Glossary................................................................................................................................3
1.4 References.............................................................................................................................3
2 General description.......................................................................................................................3
2.1 Product perspective...............................................................................................................3
2.2 Product functions..................................................................................................................3
2.3 User characteristics...............................................................................................................3
2.4 General constraints................................................................................................................4
2.5 Assumptions and dependencies.............................................................................................4
3 System Features............................................................................................................................4
3.1 Ordering Books.....................................................................................................................4
3.1.1 Description and Priority...............................................................................................4
3.1.2 Stimulus/Response Sequences.....................................................................................4
3.1.3 Functional Requirements..............................................................................................5
3.2 Updating the Inventory.........................................................................................................6
3.3 Confirming a transaction with a financial institution............................................................6
4 Non-functional Requirements.......................................................................................................6
4.1 External interface requirements............................................................................................6
4.1.1 User Interfaces..............................................................................................................6
4.1.2 Communications Interfaces..........................................................................................6
4.2 Performance requirements....................................................................................................6
4.3 Design constraints.................................................................................................................6
4.3.1 Standards compliance...................................................................................................6
4.3.2 Hardware limitations....................................................................................................7
4.4 Attributes...............................................................................................................................7
4.4.1 Security.........................................................................................................................7
4.4.2 Maintainability.............................................................................................................7
4.4.3 Software Quality...........................................................................................................7
3.6 Other requirements................................................................................................................7
4 Appendices....................................................................................................................................8
Appendix A: Glossary.................................................................................................................8

Revision History
Name Date Reason For Changes Version
Online Bookshop 25/08/09 Initial Documentation 1.0

Sameer Saini Online BookShop SRS 2


1 Introduction
1.1 Purpose
This document goes through and attempts to define the general requirements for a online bookshop
system, given the brief mission statement. In this document there are presented the functional and
non-functional requirements for the system. The overall description describes the product and what
assumptions and constraints were put into place. The last section of the document defines what the
non-functional requirements are for this system

1.2 Scope
This document is at revision 1.0 and covers the assumed requirements for this release version of the
system. The document should help to initially determine what exactly the customer is after, as some
of given information is vague.

1.3 Glossary
See Appendix A for the glossary

1.4 References
Mission Statement for Online Bookshop System

2 General description
2.1 Product perspective
The online bookshop will attempt to take the traditional attributes of a bookshop, that is the selling
and purchasing books and place them in an online electronic environment. The system described in
this document will be capable of selling books to customer's in both electronic and traditional book
format. While keeping a database of the customers purchases and account details. The product will
also be required to deal with credit card companies and other financial institutions, these
transactions will be processed in a safe and efficient manner.

2.2 Product functions


The major functions that this online bookshop should be able to complete are; maintaining a list of
customer details, in a secure, but easily manageable state. The details should at least contain the
name of the customer, bank/credit details and their purchases to date. In order to keep the customer
database tidy the system will also be able to manage inactive accounts and remove unused accounts
from the system, while informing the customer of the systems wishes. The system is also required
to make transactions with financial institutions, there will be functions in place that provide this
system, in a secure, efficient and reliable manner. Finally the system should be able to protect itself
from basic malicious attacks.

2.3 User characteristics


Currently it is not known exactly who will be using the system, but from the mission statement the

Sameer Saini Online BookShop SRS 3


following two user classes can be deduced, that is the customers and administrators. It is possible
that there may be more user classes added to this document in the future, at revision 1.0 this is only
intended to be used as a guide for future reference.
The customer is assumed to have basic knowledge on how to use a computer and the Internet. The
customer will have the options to create an account and enter his details, including credit/payment
details. The customer will have an option to browse through the books in stock and check their
availability and shipping times. He will also be able to purchase the books online according to the
payment details provided. There will be an option for the customer to download electronic copies of
the book, if he wishes. Finally it is important that the system is designed in a manner so as to
provide ease of use to the customer.
The administrators are assumed to have an advanced knowledge of the system. The administrator
will be able to check that the system is working correctly and restart/reset it if there are any
problems. The administrator shall also be capable of updating/reviewing all the databases within the
system. This includes purchasing new books and updating the database to include any changes with
stock. It is also required that the administrator get notified of the systems wishes to remove unused
customer accounts, and the administrator shall be able to remove accounts from the system on his
own accord. Other notifications that the administrator should receive is, when a certain book is out
of stock. The administrator should also be notified of any malicious attacks that have occurred on
the system. There should also be an option in place for the administrator to backup the current data
on the system. If the connection to the Internet or any financial institution is lost, the system must
notify the administrator.

2.4 General constraints


As of revision 1.0 there are no constraints on the system.

2.5 Assumptions and dependencies


A-1: The system will have a connection to the Internet
D-1: The operation of the online sales of books is dependent on the system actually being
connected to the financial institutions in question.

3 System Features
3.1 Ordering Books

3.1.1 Description and Priority


A customer, whose identity has been verified may purchase books to be delivered at
a specified location. The user may be able to cancel or change the order as long as
the order is not yet in delivery phase. (Priority = High)

3.1.2 Response Sequences


Stimulus: User requests to place an order for one or more books
Response: System queries the user for details of the books, payment, and delivery
instructions.

Sameer Saini Online BookShop SRS 4


Stimulus: Patron requests to change a meal order.
Response: If the book order has a “Accepted” status and the order is not in the
delivery phase the system allows the user to edit the previous order.
Stimulus: The user requests to cancel a meal order.
Response: If status is “Accepted, ”system cancels a meal order.

3.1.3 Functional Requirements


Order.Place: The system shall let a customer who is logged into the online
bookshop to place an order for one or more books
Order.Place.Register The system shall confirm the user is registered for a payroll
deduction
Order.Place.Register.No If the customer is not registered for a payroll deduction, the
system will prompt the customer to register now.
Order.Deliver.Location The user will specify a valid delivery location

Order.Units.Books The system will allow the customer to indicate the number of
units of each book desired.
Order.Units.TooMany If the customer orders more units of a menu item then are
currently present in stock, the system shall inform the
customer of the maximum number of units of that book that
are available

Order.Confirm.Display When the customer indicates that he does not wish to order
any more items, the system will display all the items ordered,
their corresponding individual prices, and the payment
amount

Order.Pay.Details The system shall display the books ordered, payment


amount, payment method and delivery location
Order.Pay.Confirm The customer shall either confirm the order, request to edit the
order, or request to have it cancelled
Order.Pay.Confirm.Deduct If the customer has confirmed the order, the system will
issue a payment request
Order.Pay.Confirm.OK If the payment request was accepted, the system will display
a message confirming the acceptance of the order, with the
transaction number.
Order.Pay.Confirm.NG If the payment request is rejected, the system shall display a
message with the reason for the reject. The customer will then
have the option of either cancelling the order, or changing the
payment method to a different account.

Sameer Saini Online BookShop SRS 5


Order.Done When the customer has confirmed the order the system shall
take the following steps as a single transaction
Order.Done.Inventory Send a message to the Online Bookshop System with the
number of units of each book in the order
Order.Done.Stock Update the stock information according to the given order
Order.Done.Customer If the customer has provided an e-mail address in their details,
send an e-mail message with the order and their payment
information. Otherwise display this information in a new
window, as a receipt for the customer. Also save a copy of this
receipt in the system.
Order.Done.Failure If any steps of Order.Done fails, the system will roll back the
transaction and notify the customer that the order was
unsuccessful, along with the reason for the failure.

3.2 Updating the Inventory

3.2.1 Description and Priority


An administrator with the correct privileges would like to check and update the
inventory in the Online Bookshop System. (Priority = High, for updating Medium,
for displaying the current inventory)

3.2.2 Response Sequences


Stimulus: Administrator requests to view the current inventory
Response: System queries the database for a list of books and their corresponding
information
Stimulus: Administrator requests to update the information regarding a book.
Response: If the given book is in the inventory database, the system will then provide
the administrator with an interface to update the book information, once
the changes have been made the system will then update the database to
reflect the new information
Stimulus: The user requests to remove a book from the database.
Response: If the requested book is in the database the system will remove it and all
its details.

3.2.3 Functional Requirements


Inventory.Display Provides the administrator with a list of the current items in the
inventory and there corresponding stock
Inventory.Clear Will reset the inventory database by emptying it.

Inventory.item.Display Provides the administrator with information relating to the


selected item
Inventory.item.update Provides the administrator with the interface to update the

Sameer Saini Online BookShop SRS 6


information regarding the selected item
Inventory.item.remove Removes the selected item from the current inventory
Inventory.item.add Adds a new item to the current inventory

3.3 Managing the User Liest

3.3.1 Description and Priority


An administrator with the correct privileges would like to manage the user accounts
in the Online Bookshop System. (Priority = Medium)

3.3.2 Response Sequences


Stimulus: Administrator requests to view the current list of users.
Response: System queries the database for a list of users and their corresponding
information
Stimulus: Administrator requests to view the information regarding a user.
Response: If the given user is in the inventory database, the system will then provide
the administrator with an interface to view the user information
Stimulus: The user requests to remove a user from the database.
Response: If the requested user is in the database the system will remove it and all
its details.

3.3.3 Functional Requirements


UserList.Display Provides the administrator with a list of the current users in the
database and their corresponding information
UserList.Clear Will reset the user list database by emptying it.

UserList.user.Display Provides the administrator with information relating to the


selected user
UserList.user.remove Removes the selected user from the system database

4 Non-functional Requirements
4.1 External interface requirements

4.1.1 User Interfaces


UI-1 The system shall provide a help link from each displayed HTML page to
explain how to use that page
UI-2 The Web pages shall permit complete navigation and book selection only
using the keyboard alone, in addition to using mouse and keyboard
combinations

Sameer Saini Online BookShop SRS 7


4.1.2 Communications Interfaces
CI-1: The Online Bookshop System shall send an e-mail message to the Customer
to confirm acceptance of an order, price, and delivery instructions.
CI-2: The Online Bookshop System shall send an e-mail message to the Customer
to report any problems with the book order or delivery after the order has
been accepted.

4.2 Performance requirements


At revision 1.0, no performance requirements have been put into place.

4.3 Design constraints

4.3.1 Standards compliance


At revision 1.0 there are currently no standard given to adhere to.

4.3.2 Hardware limitations


As of revision 1.0 there is no information on the hardware this system will be
running on and thus currently no limitations have been put into place.

4.4 Attributes

4.4.1 Security
SE-1: All network transactions that involve financial information or personally
identifiable information shall be encrypted, currently there is no information
on the type of encryption
SE-2: Customers shall be required to log in to the Online Bookshop for all
operations except viewing a menu.
SE-3: The system shall permit only administrators who are on the list of authorised
Book Managers to purchase/restock books
SE-4: Only users who have been authorised for home access to the corporate
Intranet may administer the Online Bookshop from non-company locations.
SE-5: The system shall permit customers to view only their own previously placed
orders, not orders placed by other customers.

4.4.2 Maintainability
As of revision 1.0 no exact information has been given as to how this system will be
used and thus currently no maintainability attributes have been put into place.

4.4.3 Software Quality


Reliability-1: If the connection between the user and the system is broken prior to an
order being either confirmed or canceled, the Online Bookshop
System shall enable the user to recover an incomplete order.

Sameer Saini Online BookShop SRS 8


4 Appendices
Appendix A: Glossary
Inactive account: An account that has not been used for a period greater then 3 months
Unused account: An account that has not seen any purchases and has been inactive for a period
greater then 3 months
Payroll Deduction: The transfer of money from any financial institution to the company's account
Transaction number: A 9-digit sequential integer number that is assigned to a transaction when a
transaction is accepted.

Sameer Saini Online BookShop SRS 9

You might also like