Software Requirements Specification Template Software Requirements Specification for Tiki Book Version 1 0 approved Prepar < > Table of Contents iiTable of Contents Revision History ii 1 Introduction 1 1 1 Purpose 1 1 2 Document Conventions 1 1 3 Intended Audience and Reading Suggestions 1 1 4 Project Scope 1 1 5 References 1 2 Overall Description 2 2 1 Product Perspective 2 2 2 Product Features 2 2 3 User Classes and Characteristics 2 2 4 Operating Env.
Overall Description
Tiki-B, a specialized segment of Tiki E-Commerce, focuses primarily on books while operating largely as an independent entity To enhance customer experience, Tiki-B utilizes an integrated database that efficiently stores and retrieves customer information as well as essential new product data from the server.
The product offers essential features for a seamless user experience, starting with a mandatory registration function where new customers create a unique username and password, along with personal information stored securely on the server Registered users can then log in using their credentials to make purchases or access their purchased books The platform includes a convenient searching function, featuring a search bar with letter-based item suggestions, and a sorting system tailored to client requests based on the current database Additionally, the main screen displays a list of books or products, allowing users to easily view their selections after searching or sorting.
The platform includes a selection box for users to choose their desired items, complemented by a cart feature that temporarily sums the prices of selected products Additionally, there is a settings function that enables customers to update their personal information and password Finally, the log-out option allows users to securely exit their account, facilitating the login of another user.
+ Mobile device customers at any age who interest in book and book related product.
+ All customer needs to have minimal technical expertise (need to know how to use smart mobile devices)
+ Admin need to have basic knowledge about database management
+ Must work on mobile smart devices
+ For Android, must be 4.4 or above
+ For IOS, must be IOS 6 or above
+ The device must have touch screen
+ At least 256 MB of RAM
+ Minimum 480 x 640 screen resolution with 128 color
- The device must have Internet access to search for new books or make purchases.
System Features
Purpose Allow customer to put username in, works as a text box
Input Tap and keyboard will pop-up for text input
Output User ID typed is displayed in the text box
Validity Tap within the button, Alphanumeric characters
Error Handling There should be none
Purpose Allow customer to put password in, works as a text box
Input Tap and keyboard will pop-up for text input
Output Customer Password will be represented by asterisks
Validity Tap within the button, Alphanumeric characters
Error Handling There should be none
Purpose Allows customer to Login
Output The customer is redirected to the Main Shopping Screen (3.1.4) if login was successful; otherwise the Login Screen (3.1.1) will be displayed again (or an error page)
Validity Tap within the button
Error Handling There should be no empty fields, there should be an existing User ID present in the Customer Account Database Relationships Relates to Customer Accounts File
Purpose Allow Customer to redirected to the Registration Screen (3.1.2)
Output Redirected to the Registration Subsystem
Validity Tap within the button
Error Handling There should be none
If the customer already login, they will be redirect to the Main shopping screen (3.1.4)
Purpose Allow Customer to put username in, works as a text box
Input Tap and keyboard will pop-up for text input
Output User ID typed is displayed in the text box
Validity Tap within the button, Alphanumeric characters
Error Handling There should be none
Purpose Allow Customer to put password in, works as a text box
Input Tap and keyboard will pop-up for text input
Output Customer Password will be represented by asterisks
Validity Tap within the button, Alphanumeric characters
Error Handling There should be none
Item Re-enter Password Field
Purpose Allow Customer to put password in for verification, works as a text box
Input Tap and keyboard will pop-up for text input
Output Customer Password will be represented by asterisks
Validity Tap within the button, Alphanumeric characters
Error Handling Must match with Password Field (3.1.1.2)
Purpose Allow Customer to redirected to the basic info of the Basis Information after the Registration Subsystem complete (3.1.3)
Output Redirected to the Basis Information Screen (3.1.3) if Register was successful; otherwise the Resister Subsystem (3.1.2) will be displayed again (or an error page)
Validity Tap within the button
Error Handling There should be no empty fields, there should be none existing User ID present in the Customer Account Database Relationships Relates to Customer Accounts file
Purpose Allow customer to put their full name in, works as a text box
Input Tap and keyboard will pop-up for text input
Output Customer Full Name typed is displayed in the text box
Validity Tap within the button, Alphabet characters
Error Handling There should be none
Purpose Allow Customer to check the box represent their gender.
Output The box is checked marked as black dot
Validity Tap within the button, only one is marked at a time
Error Handling There should be none
Purpose Allow Customer to input their phone number
Input Tap and keyboard will pop-up for input
Output Customer Phone Number will be represented on the screen
Validity Tap within the button, Number characters
Error Handling There should be none
Purpose Allow Customer to input their address
Input Tap and keyboard will pop-up for text input
Output Customer Address typed is displayed in the text box
Validity Tap within the button, Must have city, country.
Error Handling Must be inside the country
Purpose Allow Customer to complete their basic information input
Output The Customer is redirected to the Main Shopping Screen (3…) if the information is registered successfully; otherwise the Basic Information Subsystem (3.1.3) will be displayed again (or an error page)
Validity Tap within the button.
Error Handling The basic information must be no error.
Relationships Relates to Customer Accounts file
Purpose Allow Customer to search box by name, works as a text box
Input Tap and keyboard will pop-up for text input
Output What Customer typed is displayed in the text box
Validity Tap within the button, alphanumeric characters
Error Handling There should be none
Purpose Allow Customer to search with the input in Search Box (3.1.4.1), works as a button
Output The Customer is redirected to the Search Shopping Screen (3…) if the information is registered successfully; otherwise an error page will be displayed
Validity Tap within the button.
Error Handling The Search Box must be no error.
Relationships Relates to box database file
Item Book’s Information Display Frame
Purpose Give a basic information about book which included Book Cover Image
(3.1.4.4), Book’s Name (3.1.4.5), Book’s Rating (3.1.4.6), Book’s Number Sold (3.1.4.7), and Book’s Price (3.1.4.8), and redirect customer to the Full Detail Screen (3.1.6)
Output Display the book and basic information about it and redirect customer to the
Full Detail Screen (3.1.6) Validity Book data exists
Error Handling If the book data does not exist, the current frame will display an error image Relationships Relates to box database file
Item Book Cover Image frame
Purpose Give a picture of Book Cover Image in the same frame
Output Display the book cover image
Validity Book image data exists
Error Handling If the book cover image data does not exist, the current frame will display an error image Relationships Relates to box database file
Purpose Show name of the book in the same frame
Output Display the book name.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Show customer rating of the book in the same frame
Output Display the book rating.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Show number sold of the book in the same frame
Output Display the book number sold
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Show price of the book in the same frame
Output Display the book price.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Allow customer to redirect to the setting screen (3.1.8)
Output Display the book price.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Validity Tap within the button, alphanumeric characters
Error Handling There should be none
Purpose Allow Customer to search again with the input in Search Box (3.1.5.1), works as a button
Output The Customer is redirected to a new Searched Shopping Screen (3.1.5) if the information is registered successfully; otherwise an error page will be displayed
Validity Tap within the button.
Error Handling The Search Box must be no error.
Relationships Relates to box database file
Purpose Allow Customer to choose author related to the book name in the Search Box
When customers select an author from the displayed Input Tap table, they are redirected to a new Searched Shopping Screen (3.1.5) featuring results specifically related to their chosen author.
Validity Tap within the button.
Error Handling The Search Box must be no error.
Relationships Relates to box database file
Purpose Allow Customer to choose a category related to the book name in the Search
Box (3.1.5.1) Input Tap and a table with category will be displayed for customers to choose
Output The Customer is redirected to a new Searched Shopping Screen (3.1.5) with the new result related to the selected category.
Validity Tap within the button.
Error Handling The Search Box must be no error.
Relationships Relates to box database file
Purpose Allows the customer to select book release year related to book name in Search
The Input Tap feature allows customers to select a year from a displayed table, redirecting them to a new Searched Shopping Screen (3.1.5) that showcases results relevant to their chosen category.
Validity Tap within the button.
Error Handling The Search Box must be no error.
Relationships Relates to box database file
Item Filter by selling rate
The purpose of this feature is to enable customers to sort search results by selling rate in the Search Box (3.1.5.1) By tapping the sort option, the system automatically organizes the results based on best-selling rates, and a second tap will cancel this sorting Consequently, customers are redirected to a new Searched Shopping Screen (3.1.5) displaying the updated results sorted by best-selling rate.
Validity Tap within the button.
Error Handling The Search Box must be no error.
Relationships Relates to box database file
The rest of the screen works the same as item D3, D4, D5, D6, D7, D8 in figure 3.1.4a
Input Tap and keyboard will pop-up for text input
Output What customer type in previous page will be display the text box for edit Validity Tap within the button, alphanumeric characters
Error Handling There should be none
Purpose Allow Customer to search again with the input in Search Box (3.1.6.1), works as a button
Output The Customer is redirected to a new Searched Shopping Screen (3.1.5) if the information is registered successfully; otherwise an error page will be displayed
Validity Tap within the button.
Error Handling The Search Box must be no error.
Relationships Relates to box database file
Purpose Give several pictures of the Book
Output Display the 1 large book image and several smaller image
Validity Book image data exists
Error Handling If the book cover image data does not exist, the current frame will display an error image Relationships Relates to box database file
Purpose Show name of the book
Output Display the book name.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Item Book Rating and Number Sold
Purpose Show customer rating and number sold of the book
Output Display the book rating and number sold.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Show price of the book
Output Display the book price.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Let customers choose the number of book
Input Tap in + or – for add and sub 1, or inside the number box then type the number. Output Display the number selected
When selecting a quantity of books, ensure that it does not exceed the available stock If the chosen quantity surpasses the number of books left, an error message will appear, indicating the current stock level.
Relationships Relates to box database file
Purpose Allow customer to redirect to Cart screen (3.1.7) with quantity at Select quantity (3.1.6.7), works as a button
Output The Customer is redirected to the Cart screen (3.1.7) if the information is registered successfully; otherwise, an error page will be displayed Validity Tap within the button.
Error Handling The Select quantity must be no error
Item ADD TO CART button
Purpose Allow customer to add the book with quantity at Select quantity (3.1.6.7), without redirect to Cart screen (3.1.7) works as a button
Output Add book with selected quantity(3.1.6.7) to cart if the information is registered successfully; otherwise, an error page will be displayed Validity Tap within the button.
Error Handling The Select quantity must be no error
Relationships Relate to Customer’s cart database.
Purpose Allow admin to put further information and summary about the book
Output Show further information and summary about the book
Error Handling There should be none
Relationships Relates to box database file
Output Show full detail profile rating of the book
Error Handling There should be none
Relationships Relates to box database file
Purpose Allow customer to write their own review about the book, works as a text box Input Tap and a keyboard will pop-up for text input
Output Show the review of customer
Error Handling There should be none
Purpose Let customer choose the number of stars to give books
Output Show the number star of customer’s choice
Error Handling There should be none
Purpose Allow customers to post the review they've written
To ensure validity, it is essential to provide a text rating in section 3.1.6.12 and select the appropriate number of stars in section 3.1.6.13 If either the text in 3.1.6.12 is missing or the star rating in 3.1.6.13 is not selected, an error message will be displayed to prompt customers to correct the issue.
Relationships Relates to box database file
Item Name of Customer Review
Purpose Display the name of the customer who wrote the review
Output Show the review of customer
Error Handling If the book data does not exist, the current frame will display an error message Relationships Book database
Purpose Display the number of stars given by the customer
Output Show the number of star
Error Handling If the book data does not exist, the current frame will display an error image Relationships Book database
Purpose Display reviews written by the customer
Output Show the text review
Error Handling If the book data does not exist, the current frame will display an error image Relationships Book database
Output Display the button to select all and delete
Error Handling There should be none
Purpose Allow customers to select all
Output Mark all the books in the cart selected
Validity Tap within button, there must be at least 1 book in cart
Error Handling If there is no book in the cart, the button can not be tap
Relationships Relates to Customer Accounts file
Purpose Allow customers to delete all books marked as selected
Output Mark all the books in the cart selected
Validity Tap within button, there must be at least 1 book marked as selected
Error Handling If there is no book marked as selected, the button can not be tap
Relationships Relates to Customer Accounts file
Purpose Allow customers to select the book next to it
Output Mark the book next to it as selected
Error Handling There should be none
Purpose Give a picture of Book Cover Image
Output Display the book cover image
Validity Book image data exists
Error Handling If the book cover image data does not exist, the current frame will display an error image Relationships Relates to box database file
Purpose Show name of the book in the same section
Output Display the book name.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Show price of the book in the same section
Output Display the book price.
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Let customers choose the number of book
Input Tap in + or – for add and sub 1, or inside the number box then type the number. Output Display the number selected
To ensure a smooth purchasing experience, the selected quantity of books must not exceed the available stock If a user attempts to select more books than are currently in stock, an error message will appear, clearly indicating the number of books still available for purchase.
Relationships Relates to box database file
Purpose Display the price of the book after calculating the quantity (3.1.7.8)
Output Display the book price after calculating the quantity
Error Handling If the book data does not exist, the current frame will display an error message Relationships Relates to box database file
Purpose Allow customers to delete the book in the same section
Output Delete the book in the same section
Error Handling There should be none
Relationships Relates to Customer Accounts file
Purpose Contain the customer total price (3.1.7.12) of all selected book and BUY
Output Display the BUY button and total price
Error Handling There should be none
Purpose Show customer total price of all selected book
Output Display the BUY button and total price
Error Handling There should be none
Purpose Let customer BUY all the selected book
Output An order will be placed with the information in the customer's database
Validity Tap within button, there must be at least 1 book selected in cart
Error Handling If there is no book selected in the cart, the button can not be tap
Relationships Relates to customer Accounts file
The Cart screen can be scrolled to get more item in cart (Figure 3.1.7b)
Output Display the customer name.
Error Handling There should be none
Relationships Relates to customer database file
Purpose Allow customer to change their password
Output Redirect to the change password screen (3.1.9)
Error Handling There should be none
Relationships Relates to customer database file
Purpose Allow customer to change their basic information
Output Redirect to the basic information screen (3.1.3)
Error Handling There should be none
Relationships Relates to customer database file
Purpose Allow customer to logout
Output Redirect to the First screen (3.1.1)
Error Handling There should be none
Input Tap and keyboard will pop-up for text input
Output Customer Password will be represented by asterisks
To ensure security, the password entered must match the current password (3.1.1.2) If the entered password is incorrect, an error message will be displayed to notify the customer This functionality is linked to the customer database file, maintaining the integrity of user information.
Purpose Allow customer to put their password in, works as a text box
Input Tap and keyboard will pop-up for text input
Output Customer Password will be represented by asterisks
Validity Tap within the button, Alphanumeric characters
Error Handling If the password type in invalid, an error message will display to inform the customer Relationships Relates to customer database file
Item Re-enter New Password Field
Purpose Allow customer to put their new password in for verification, works as a text Input boxTap and keyboard will pop-up for text input
Output Customer Password will be represented by asterisks
To ensure password validity, the entered password must match the new password as specified in section 3.1.9.2 If there is a mismatch, an error message will be displayed to alert the customer, as outlined in section 3.1.2.3 This process is directly related to the customer database file, maintaining the integrity of user information.
Purpose Allow customer to confirm their new password
Output Change the current password to new password
Validity Tap within the button
Error Handling There must be no error in Current Password (3.1.9.1), New Password (3.1.9.2),
Re-enter New Password (3.1.9.3) Relationships Relates to Customer Accounts file
This section explains all functional requirements from a developer’s point of view It is categorized by screen.
Description The system should allow customers to login the their account to continue shopping with their cart and information Sequence of Operations
1 Customer must type in User ID and Password in the corresponding text fields
2 Customer must click on the login button
Validity checks Customer must login with the correct User ID and Password
Input Registered user id and password, and tap “LOGIN”
Output Verify and continue to the Main Shopping Screen
Handling If customer id and/or password are incorrect, then display an error message
3.2.1.2 The system should allow customers register an account
Description The system should allow customers to register an account
2 The system redirect customer to register screen, fields are filled by customer
3 Customer tap confirm, then the system checks the database; if valid, then redirect customer to the basic information screen
4 Customer put their basic information in the fields, if valid, add new Customer with basic information into the Customer Table
Validity checks All the fields are filled out for account creation
Output Display either a success or failure message depending on of the registration was successful or not, if Register success, go to the Main shopping screen Error
Handling if certain fields are not filled out, or the same User ID already exist, then print out the error message and tell the customer to try again.
3.2.2.1 The system should allow customers to change password
Description The system should allow customers to change password
1 Customer click on change password
2 The system redirect customer to change password screen, fields are filled by customer
3 Customer tap confirm, then the system checks the database; if valid change the password, then redirect customer to the setting screen
Validity checks All the fields are filled out correctly
Input Tap “Change Password” option
Output Display either a success or failure message depending on of the “Change Password” was successful or not, if “Change Password” success, go to the Setting screen Error
Handling if certain fields are not filled out, or incorrect, then print out the error message and tell the customer to try again.
3.2.2.2 The system should allow customers to change basic information
Description The system should allow customers to change basic information
1 Customer click on “Change basic information”
2 The system redirect customer to “Change basic information” screen, fields are filled by customer
3 Customer tap confirm, then the system checks the database; if valid change the information, then redirect customer to the setting screen
Validity checks All the fields are filled out correctly
Input Tap “Change basic information” option
Output Display either a success or failure message depending on of the “Change basic information” was successful or not, if “Change basic information” success, go to the Setting screen
Handling if certain fields are not filled out, or incorrect, then print out the error message and tell the customer to try again.
3.2.2.3 The system should allow customers to logout
Description The system should allow customers to logout of the their account
1 Customer tap the Logout Button
2 Customer is logged out and redirect to the First screen (Login screen)
Validity checks Customer logged in with a valid account
Input Customer selects “LOGOUT” option and a confirmation will be displayed and then customer selects either “YES” or “NO”.
Output Display a message indicating that the User has logged out and redirect them to First screen (Login screen) Error
3.2.3.1 The system should allow customers to search/filter for book
Description The system should allow customers to search/filter for book
1 Customer tap the search bar and input their search
2 Customer has option to choose filter
3 Customer tap search icon and is redirected to a new “Main shopping screen” with a new result related to the search/filter
Validity checks Customer input can be found in Book database
Input Customer tap “Search” bar, input their search and filter
Output Customer is redirected to the new “Main shopping screen”
Handling If there is no result match the input, an empty page with a message will appear to inform customer.
3.2.3.2 The system should allow customers to select book, add book to cart, view review and check review
Description The system should allow customers to select book, add book to cart, view review and check review Sequence of Operations
1 Customer tap the book on screen
2 The system redirect customer to the “Full detail” of the book
3 Customer can add the current book to cart, write review for the book, or check review by other customer.
When customers tap "Add Book to Cart," the selected book is added to their shopping cart If they choose to "Write Review," a field will appear for them to input their feedback Additionally, customers can view more reviews by scrolling down the page.
Handling If there is none book left in stock or the quantity larger than the remain in stock, the system will display an error message to inform that
3.2.3.3 The system should allow customers BUY book
Description The system should allow customers to BUY book
1 The customer taps the BUY button on “Select Book” screen or “Cart” screen
2 The system will automatically place an order with information taken from customer database
Validity checks There must be at least 1 book left in stock or in cart
Input Customer tap on BUY button
Output The system place an order with information taken from customer database
Handling If there is none book left in stock or the quantity larger than the remain in stock, the system will display an error message to inform that
This section describes the expected performance requirements This is an estimation of the system, and all the numerical values may vary depends on how large the final application is.
1 The system shall support only one terminal
The system is designed to allow only one customer to use each device at a time, while enabling multiple customers to create personal accounts and access the system on the same device at different times.
3 The system shall run on both Android (4.4 and above) and IOS (6 and above) device with at least 128 MB of memory
4 The device has to be connected to the internet first in order to do anything else
1 The system shall be loaded and functioning within 15 seconds 95% of the time after starting the application
2 Each account shall be stored and activated within 5 seconds after creation
3 Each screen shall be loaded and swap within 10 seconds
4 Each user input shall be responded within 3 second.
1 The database will be stored and accessed from the server through internet and only be viewed and modified by admin (and the owner of that account)
2 Customer Basic Information will be encrypted for further security
Data files will be securely stored on a nonvolatile storage device, like a hard drive, ensuring they remain intact even when the system is powered off Upon loading, the system verifies the validity of user files, attempting recovery from the server in case of errors or mismatches Each session typically runs for 15 to 20 minutes, although users have the flexibility to extend their usage time.
The system prioritizes the device's default operating system security and respects customer privacy by not accessing unauthorized information All data files stored on the server are encrypted, ensuring their protection During operation, the system verifies the validity of data files and attempts recovery from the server if any issues are detected Additionally, the system does not maintain logs of user activity, further safeguarding user privacy.
The admin will be able to update new book often and the system will automatically take the new directly data from the server without any maintenance downtime
The product is designed for seamless operation on both iOS and Android platforms, utilizing a universal coding language that ensures portability without any platform-specific code.
Change management
Any requests to modify the project scope and requirements must be discussed among all members of team BFG Changes will only be implemented with the consensus of the majority of the team and the project manager, Tân (tanb1805812@student.ctu.edu.vn) Following an agreed change, the SRS document will be updated to reflect these modifications, with the date of the change recorded in the file If a change request originates from the client or an external party, they must reach out to the team communication manager, Tân.
Team members can submit change requests during the weekly team meetings or by reaching out to colleagues via email.