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
Sameer Saini
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
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