Introduction
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.
Purpose
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.
Product Functions
The following list of function descriptions explains the major features of the XYZ Online Bookstore.
Account Registration
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.
Account Login
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.
Search
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.
Checkout
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.
Contact Us
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.
Shipping Status
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.
Account Logout
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.
Help
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.
Additional Requirements
There are no additional requirements currently but they may be implemented in the future versions of the system.
Functional Requirements
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
Specific Requirements
External Interface Requirements
System Interfaces
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.
User Interfaces
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.
Hardware Interfaces
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.
Software Interfaces
There are no special software interface requirements but all users must have a web browser with JavaScript enabled.
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.
Performance 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.
Reliability
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.
Availability
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
Security
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.
Maintainability
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:
Browse Homepage
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
Purpose: A user can search the homepage for all upcoming events
• Actor: User, XYZ Staff
• Input: The user will select a link on the homepage.
• Output: The system will redirect the user to the upcoming events page.
Manage Account
1) Register
• Purpose: If the user doesn’t have an account then he will be asked to register.
• Actor: User, XYZ Staff
• Input: The user will enter details in the registration form according to the required fields. The fields include:
1. Username
2. Password
3. confirm password
4. first name
5. last name
6. email
7. Address
8. Phone
• Output: After registration the user will be directed to the main home page.
2) Login
• Purpose: If the user wants to get access to all the functionalities of Online Book Store he should login using his username and password.
• Actor: User, XYZ Staff
• Input: The user will enter his username and password.
• Output: If it is a successful login the user will be directed to the main home page. Else if the user enters invalid information he will be asked to re enter information.
3) Update Account
• Purpose: If the user wants to change his personal account information then he can update his/her selected fields and the entire data will be updated.
• Actor: User, XYZ Staff
• Input: The user will update his account information.
• Output: The system will update the entered information.
4) Logout
Purpose: If the user wants to end his session and sign out of the website then he can use the logout option.
Actor: User, XYZ Staff
Input: The user will click the logout button.
Output: The user’s account session comes to an end and he should login again if he wants to enter into the website.
Shopping Cart
1) Purchase book
• Purpose: If the user wants to purchase a book then he can place an order by selecting the add to shopping cart button and entering the quantity required under the book description.
• Actor: User
• Input: The user will enter the quantity required and click the add to shopping cart
button.
• Output: The order will be added to the user’s shopping cart.
2) Update Shopping Cart
• Purpose: If the user wants to change the quantity of a book or change a book then he/she can update his shopping cart.
• Actor: User
• Input: The user will click the details button in the shopping cart summary to edit and update his order details.
• Output: The updated order details are reflected in the shopping cart summary.
3) View Shopping Cart
• Purpose: If the user wants to view the items he added to the shopping cart then he can click the shopping cart link at the top of the page.
• Actor: User
• Input: The user will click the shopping cart link at the top of every page.
• Output: The user’s shopping cart summary will be displayed in the form of a tabular format with all the books and their quantity. A total cost of all the items is also displayed at the bottom.
XYZ Staff
1) Manage shopping Cart
• Purpose: XYZ checks the shopping cart and keeps the book information and customer information to deliver to customer
• Actor: XYZ Staff
• Input: The user will add books the shopping cart or checkout.
• Output: The user’s shopping cart summary will be displayed with all the books and their quantity. A confirmation of payment is also given back to customer and a copy with XYZ staff to deliver books.
2) Add Book
• Purpose: If the XYZ Staff wants to add a book then he/she can insert a book and the new book will be updated in the website.
• Actor: XYZ Staff
• Input: If the XYZ Staff wants to add a book the he should click the add book link and enter book details.
• Output: The updated books list will be displayed in the website under their particular category.
3) Delete Book
• Purpose: If the XYZ Staff wants to delete a book then he/she can delete a book and the new book will be updated in the website.
• Actor: XYZ Staff
• Input: If the XYZ Staff wants to delete a book the he should click the delete book link and enter book details.
• Output: The updated books list will be displayed in the website under their particular category.
4) Update upcoming events
• Purpose: XYZ Staff wants to update the upcoming events and remove old events.
• Actor: XYZ Staff
• Input: If the XYZ Staff wants to update events they should login and go to update page.
• Output: The updated event list will be displayed in the website under upcoming events.
As per the XYZ Contract for delivering the website on 31st march 2016. This is the activity chart that WebTailor company will use to develop the website and sub dividing tasks with its expected duration for completion.
The building of the web software will take place in 4 stages.
1) Requirement engineering
Will take all required information from XYZ bookstore about how they want the website to function, look and what kind of features it will need.
2) System design
Will design the system class diagrams and sequence diagrams using software’s like magicdraw to give a prototype and diagrams to show the relationship between different classes and of how this website will work and communicate with users
3) Implementation
Will design the website using the above prototypes and diagrams.
4) Testing
Will test the implemented website in different phases and check if there are errors in the coding and will be fixed before releasing the product to XYZ bookstore.
Testing is perhaps the most important phase in prototyping stage. Testing a prototype decides if the design process is completed and it works according to the users requirements, or if it needs to be corrections. If testing discovers problems, then the prototype will need to be modified, and the prototyping cycle must continue. Testing of the XYZ Online Bookstore System Prototype will include three main stages.
a) Unit Testing
Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. may require developing test driver modules or test harnesses.
b) Integration Testing
Testing of integrated modules to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.
c) System Testing
Entire system is tested as per the requirements. Black-box type testing that is based on overall requirements specifications, covers all combined parts of a system.
Project Costing Details
Using the above charts the cost for the project will be estimated for all workers, project effort and time will be estimated using the COCOMO estimation model.
The Online Book store has an average complexity and fair flexibility. Therefore, it is classified as an organic mode project under the COCOMO model.
The following formula is the COCOMO model for cost estimation for organic mode projects:
Effort = 2.4 * EAF * (Size) ^ 1.05
Time = 2.5 * (Effort) ^ 0.38
Where Effort = number of staff months (PM)
EAF = effort adjustment factor
Size = number of lines of code for completed product. It is measured in KLOC (thousands of lines of codes)
Time = total number of months.
The Effort Adjustment Factor is the product of the 11 adjustment parameters. Each adjustment parameter is categorized as very low, low, nominal, high, or very high and the parameter point value.
Adjustment factors for the Online Book Store are listed below:
Required reliability 1.00 Nominal
Product complexity 0.60 Low
Execution time constraint 1.00 Nominal
Computer turnaround time 0.65 Low
Analyst capability 1.00 Nominal
Applications experience 1.00 Low
Programmer capability 1.00 Nominal
Language experience 1.00 Nominal
Use of modern practices 0.85 High
Use of software tools 0.65 High
Required development schedule 1.00 Nominal
The EAF value evaluated to 0.215. I have estimated the size to be around 3.00. From the calculation I got EFFORT = 1.639 and TIME = 3.02 Man months
Taking the above calculations the cost estimated after taking things into consideration would be
assuming the fact that a programmer / software developer is paid around $5000 dollar a month.
Then 3.02 * 5000 = 15,100 per programmer
17000 * 5 = 75,500 for all 5 team members
Hardware/Software
WebTailor has a staff of 5 employees. They will need 5 PC’s with required softwares
Five PC’s @ $ 3000.00 each. = $ 15,000
Software needed for designing the system diagrams and coding the website
(Visual C++ compliers, Java , Eclipse , Microsoft Word, Google Chrome, Windows 8, HTML editors, PHP editors, magicdraw) @ $ 750.00 each. = $ 3750
Maintainance ( 25% of total cost ) = $ 4687.50
Travel/Training
none
Building
Office space of 1500 square feet should be appropriate for a 5 person office, with heat and light included (3 months @ $ 1,000.00/month) = $3,000.00
Phone, Internet and other facilities
Assume an average cost/month of $100 dollars for phone service. (3 months @ $ 100.00/month)
= $ 300.00
Installation of modems as well as monthly internet service fees. (5 computers @ $ 500.00/computer)
= $ 2,500.00
Coffee , water , doughnuts ( 3 months @ $ 100.00 / month ) = $ 300.00
The total cost for Employing 5 employees for 3 months = $ 75,500.00
The total cost for Hardware and Software = $ 23,437.50
The total cost for Travel and Training = $ 0.00
The total cost for Building = $ 3,000.00
The total cost for Phone, Internet and other facilities = $ 3,100.00
The total cost = $ 75,500.00 + $ 23,437.50 + $ 0.00 + $ 3,000.00 + $ 3,100.00 = $ 105,073.50
The cost of this project will be approximately $ 105,073.50 for a staff of 5 employee for a duration of 3 months ( 65 days ).
Essay: Analyze the website requirements (both functional and non functional) of the XYZ bookstore
Essay details and download:
- Subject area(s): Information technology essays
- Reading time: 14 minutes
- Price: Free download
- Published: 30 August 2019*
- Last Modified: 30 August 2019
- File format: Text
- Words: 3,711 (approx)
- Number of pages: 15 (approx)
Text preview of this essay:
This page of the essay has 3,711 words.
About this essay:
If you use part of this page in your own work, you need to provide a citation, as follows:
Essay Sauce, Analyze the website requirements (both functional and non functional) of the XYZ bookstore. Available from:<https://www.essaysauce.com/information-technology-essays/analyze-the-website-requirements-both-functional-and-non-functional-of-the-xyz-bookstore/> [Accessed 08-11-24].
These Information technology essays have been submitted to us by students in order to help you with your studies.
* This essay may have been previously published on EssaySauce.com and/or Essay.uk.com at an earlier date than indicated.