With the development of internet technology, many people choose to shop online instead of going to the old fashioned bookshop. E-commerce (B2C) today has a lot of advantages as people feel more relaxed shopping home nowadays as its very easy and convenient. Online bookstore website is frequently used as a platform for selling books online.
The purpose of this project is to analyze the requirements (both functional and non functional) of the XYZ bookstore and use them to develop a website for XYZ bookstore that allows users to search and buy books and also list some of the additional requirements such as display upcoming bookstore events.
XYZ bookstore has given the contract to WebTailor which currently has 5 staff members who manage this project and develop the website. The contract date agreed for delivering the website was set from January 4, 2016 and it should be delivered by March 31, 2016, which is a total of 87 days or 12 weeks and 3 days but taking into consideration Saturday and Sunday is holiday then its a total of 65 days of work.
The following list of function descriptions explains the major features of the XYZ Online Bookstore.
The registration function allow users to create new accounts. The account will keep track of user’s name, address, credit card information, user-name and password for current/future use.
Rationale: This allows user’s to create a new account, by setting up an account that is password protected. This also offers convenience so the user only has to enter the information listed above once and then it is stored in the account for future transactions and the data need not be entered again.
The account login function allows account members to enter their user-name and password. Once verified, users will be able to access the website with more privileges, purchase books online, and update their account information.
Rationale: This provides a method by which the user can access the restricted operations, such as purchasing books or updating events by entering username and password.
The search function allows users to search for books by title, author, ISBN number, category .
Rationale: This offers a way to find a book if the user does not have complete information about it or is unable to locate it in the website. It also provides price and availability information.
Add to Shopping Cart
The add to shopping cart function allow users to temporarily save books in a list that are being considered for purchase.
Rationale: This allows flexibility to the user by storing the books of interest online and allowing continuation of shopping
Delete from Shopping Cart
The delete from shopping cart function allows user to remove any unwanted books from the cart.
Rationale: This allows users to modify their shopping cart easily and not purchase books that are not required.
The checkout function allows account members to purchase books online securely.
Rationale: This offers easy purchasing and provides user with a tracking number for the book, which is sent to the users email.
The contact us function shall give users the store address, telephone number, email address, and its location on a map.
Rationale: This helps the user to contact the bookstore employees for more information if unable to find it on the website and also showing how easy it is to have person-to-person contact with a XYZ Bookstore employee which eventually leads to building trust and relationship between customer and the XYZ employee.
Update Account Information
The update account information function allows current account members access to edit their stored information.
Rationale: This offers convenience to the account members by allowing them to make changes to account information for future purchases.
The view shipping status function allows account members to enter their tracking number for a purchase and then view the status of shipment.
Rationale: This offers convenience to account members so they can find out when they should expect to receive the shipment.
Account Purchase History
The account purchase history function allows account members to see previous purchases made under their username.
Rationale: This offers convenience to account members by allowing them to easily view purchase history.
The account logout function allow account members to exit their account and end their current session.
Rationale: This allows account members to exit their accounts, and store all updated information and end the users session.
The help function shall give the user an overview of how to use the different functions listed above.
Rationale: This allows the user to get answers to FAQ questions on using the website.
Assumptions and Dependencies
Since the XYZ Online Bookstore is only accessible through the Internet, it is assumed that the end user has a connection to the Internet. It is also assumed that the user has a web browser able to display the website.
There are no additional requirements currently but they may be implemented in the future versions of the system.
Register: Allows Account Registration
1. The system shall allow a non-registered user to create a new account.
2. The system shall require the following information from the user: Name, Address, Phone Number, email Credit Card information.
3. The system shall ask the user for a username and password.
4. The system shall confirm the username and password are acceptable ( username not taken ).
5. The system shall store the information in the database.
Login: Allows Account Login
1. The system shall allow a registered user to log-in to their account.
2. The system shall require a username and password from the user.
3. The system will verify the username and password, and the user will be considered “logged-in
Search: Allows user to search
1. The system shall allow a user to search for books by title, author, subject, course number, professor, or ISBN number.
2. The search results will include a picture of the front cover, along with the title, author, price, availability, and condition of the book.
Add to Shopping Cart: Allows users to add books to shopping cart
1. The system shall allow a registered and logged-in user to temporarily save books that are being considered for purchase into a list associated with their account
2. When viewing the shopping cart list, the system shall display the total price of the books in the cart
Delete from Shopping Cart: Allows users to delete books from shopping cart
1. The system shall allow a registered and logged-in user to remove any unwanted books from their shopping cart.
2. The system shall provide the user a way to select one of the books in his/ her cart for deletion.
3. After the user has indicated the particular book to be deleted from their shopping cart, the stored list representing the shopping cart should be updated by removing the list, and the display should be updated to show only the books remaining in the cart.
Checkout: Allows user to checkout
1. The system shall allow a registered and logged-in user to purchase books that are in their shopping cart.
2. The credit card information provided during account registering phase is used for charging the total number of the books in the shopping cart.
3. The system shall allow the user to modify their credit card information if they so desire (before the card is charged).
4. The user will receive a confirmation number.
5. The books (titles and prices and quantities) being purchased will be displayed to the screen.
Contact Us: Allows users to contact XYZ bookstore employees
1. The system shall allow a user to view various methods of contacting the store.
2. The system shall display the store address, telephone number, email address, and directions on how to get to the store.
3. The system should also display a map showing the location of the store.
Update Account Information: Allows users to update account information
1. The system shall allow a user to update their account information.
2. The user shall be allowed to view and change their name, mailing address, billing address, credit card type, credit card number, expiration date, and security code.
3. The user shall be able to change their password by entering the old one once, and a new one twice.
Shipping Status: Allows users to view shipping status
1. The system shall allow a registered and logged-in user to view the shipping status of orders they have placed within the last 30 days.
2. The user must enter a confirmation number to view the shipping status of their order.
3. The system shall then display the shipping date, mailing address, projected delivery date, and status (in transit, delivered, etc.)
Account Purchase History: Allows users to view account purchase history
1. The system shall allow a registered and logged-in user to view purchases made with their account within the last two years.
2. The system shall display the date of purchase, creidit card type, credit card number, expiration date for each order.
3. The system shall display the title of the book, price, and quantity for each book purchased in a given order.
Logout: Allows users account to logout
1. The system shall allow the registered and logged-in user to exit his/her account, so that access to operations requiring a user to be logged in are now disabled.
Help: Allows users to get help by showing FAQs
1. The system shall allow the user to view an overview of how to used the various operations defined above.
2. The system must allow the user to select one of the operations by name.
3. The system shall then display information on how to use that operation
External Interface Requirements
The system will interface with the following two systems:
1. A credit card processing system: The system will process credit card information and confirm the sale to customer by either “Successful Transaction” or “Transaction Declined”.
2. The Bookstore Inventory database: The system will interact with the inventory database to query search results for the book.
The system will provide the ability for customers and XYZ staff to access the XYZ Online Bookstore via the Internet.
There will be three different user interfaces that will accompany this website: one for the customers, the XYZ staff, and the administrators (web developers ).
customers will be allowed to search database and website without having to login, however, they must login in order to perform any transaction such as reserving and purchasing books, or viewing and changing their online account information.
The XYZ staff must be required to login at all times in order to perform any transaction or update events. Once logged in the XYZ staff will be able to update required book information and modify the upcoming events, and make any changes to their personal online account.
Administrators (web developers) will be required to login at all times. However, they will have limit access via the web-interface only being able to pull predefined reports. The administrators will have to logon to a host machine inside the XYZ Online Bookstore network in order to build reports and ensure backups are running also to prevent private information leakage.
There are no special hardware interface requirements but all users must have a PC / Laptop / Smart Phone along with keyboard, mouse and internet connection to enter into the website and browse.
Non Functional Requirements
It is essential for this system to conform to user’s needs and demands. Requirements Analysis produced the following non-functional requirements.
• System login/logout shall take less than 5 seconds.
• Searches shall return results within 10 seconds.
• Orders shall be processed within 10 seconds.
• System shall support approximately 5000 simultaneous users.
The average time to failure shall be minimum of 30 days. In the event that a server does crash, a backup server will be up and running within an hour.
The XYZ Online Bookstore shall be available to users 24 hours a day, 7 days a week, with the exception of being down for maintenance no more than one hour a week. If the system crashes, it should be back up within one hour
Users will be able to access only their own personal information and not that of other users. Purchases will be handled through a secure server to ensure the protection of user’s credit card and personal information.
Any updates or defect fixes shall be able to be made on server-side computers only without any patches required by the user.
The System Must be Easy to Use
Users should be able to learn this system very quickly. It should be fairly intuitive. The reports should be clear and precise, and not overly technical.
The System Should not be overly technical
The information produced by the system should be understandable by anyone with general knowledge. Details should be written in a very understandable fashion.
This can be represented by the use case diagram below for better understanding
Use Cases explanations:
1) Search for a Book
Purpose: A user can search for a book of his choice by selecting category and title. Then a select query is used to retrieve data from the database and display the selected information.
• Actor: User, XYZ Staff
• Input: The user will select a category and enter title in a text box provided.
• Output: The system will display the books which matches the selected search criteria.
1) Display upcoming events
...(download the rest of the essay above)