SRS SWR301 Project
SRS SWR301 Project
Specification
about
FPT University
July, 7, 2024
Table of Contents
Introduction 6
Purpose 6
System Purpose 6
Definitions, Acronyms and Abbreviations 6
Document Conventions 7
Project Scope 7
References 7
Software requirement specification form 7
SRS of Cafeteria Ordering System (by Karl Wiegers) 7
Software engineering – Ninth Edition (by Ian Sommerville) 7
Checklist 7
Overall Description 9
Product/System Perspective 9
System/Product Features 9
User requirements 9
User Classes and Characteristics 9
Operating Environment 10
Distributed database 10
Design and Implementation Constraints 10
Assumptions and Dependencies 10
Apportioning of Requirements 10
Specific Requirements 10
Functional Requirements Specification 10
Function1 /Use-case 1 12
UC01 - Register 13
Screen Design 13
Use Case Specification 15
UC02-Login 16
Screen Design 17
Use Case Specification 17
UC3 - Logout 19
Screen Design 19
Use Case Specification 20
UC04-Search 21
Screen Design 22
Use Case Specification 23
UC05 - Choose Language 24
Screen Design 24
Use Case Specification 25
UC06 - Learn quiz flashcard 26
Screen Design 27
Use Case Specification 28
UC07 - Learn quiz write 29
Screen Design 30
Use Case Specification 31
UC08 - Learn quiz spell 32
Screen Design 33
Use Case Specification 33
UC09 - Learn quiz play game 35
Screen Design 35
Use Case Specification 36
UC10 - Test quiz 37
Screen Design 38
Use Case Specification 38
UC11 - View profile 40
Screen Design 40
Use Case Specification 41
UC12 - Edit profile 42
Screen Design 43
Use Case Specification 44
UC13 - Report 45
Screen Design 46
Use Case Specification 46
UC14 - Add quiz 48
Screen Design 48
Use Case Specification 49
UC15 - Edit quiz 50
Screen Design 51
Use Case Specification 52
Revision History
1. Introduction
1.1 Purpose
In the context of student housing and accommodation, finding suitable living arrangements can be
challenging and time-consuming for students. To address this, we are developing an Accommodation
Management Booking website to facilitate the process of finding and reserving dormitory rooms. With
the increasing number of students pursuing higher education and the limited availability of on-campus
housing, there is a growing need for an efficient and user-friendly platform to connect students with
available dorm rooms. Our system aims to streamline the booking process and provide a
comprehensive solution for student accommodation needs.
"FPTDorm" is a web-based application for booking dormitory accommodations. Users can search for
available rooms, view details, and create reservations.
Acronym Definition
ABS Accommodation Booking System
DBMS Database Management System
DMS Dorm Management System
GUI Graphical User Interface
HTTP Hypertext Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
IDE Integrated Development Environment
N/A Not Available
OS Operating System
RMS Room Management System
UC Use Case
UI User Interface
UML Unified Modeling Language
URL Uniform Resource Locator
UX User Experience
Key features include user registration, room search and booking, payment processing, and a user-friendly
interface for both students and administrators. The system aims to improve the efficiency of the dorm booking
process, enhance the student experience, and provide better management tools for dorm administrators.
1.6 References
- Software requirement specification form
- SRS of Cafeteria Ordering System (by Karl Wiegers)
- Software engineering – Ninth Edition (by Ian Sommerville)
1.7 Checklist
2. Overall Description
2.1 Product/System Perspective
This software product is ultimately designed for everyone who wants to rent a dormitory because there
are a lot of things people want to rent online for the convenience of paying, so they will need a good
app. However, not many websites offer this feature so our team decided to build a website based on that
need.
The product will be deployed on the website and all users of the product will access it using the website.
The website will be the main user interface where users can operate all the functions provided
Users can easily view the website using their personal computer, iPad or phone and rent a room, but to
rent a pharmacy, they need to create an account and log in. User information and rental lists will be kept
in the database
2.2 System/Product Features
The Accommodation Management Booking web application offers the following features:
● Cross-Platform Accessibility:
○ The web application is accessible on any operating system with a compatible web browser and
internet connectivity. This includes devices such as computers, iPads, and smartphones,
providing users with flexibility in accessing the service.
● User Registration and Authentication:
○ Users can easily register for accounts, securely log in, and manage their profiles directly through
the web interface. This includes functionalities for updating personal information and managing
account settings.
● Room Booking and Payment:
○ The primary function of the web application is to facilitate quick and convenient room rental
within university dormitories. Users can search for available rooms, view details, make
reservations, and securely complete payments online.
● User-Friendly Interface:
○ The website is designed to be intuitive and user-friendly, ensuring that users can navigate
seamlessly through the booking process, from selecting a room to completing payment.
● Responsive Design:
○ The interface is responsive, adapting smoothly to different screen sizes and devices, enhancing
the user experience across desktops, tablets, and mobile phones.
● Integration with Payment Gateways:
○ Secure payment integration allows users to make transactions using preferred payment methods,
ensuring convenience and trust in financial transactions.
● Administrative Dashboard:
○ Administrators have access to a dashboard for managing room listings, availability, pricing, and
user accounts. This administrative interface facilitates efficient management of accommodation
resources and user interactions.
By incorporating these features, the Accommodation Management Booking web application aims to provide a
seamless and efficient platform for renting university dormitory rooms, catering to the needs of both users and
administrators.
2.3.1. User
Account Management:
Payment:
Booking Management:
Communication:
2.3.2. Employee
Account Management:
Room Management:
Booking Support:
Customer Service:
Maintenance Coordination:
Reporting:
2.3.3. Administrator
Account Management:
Room Management:
Booking Oversight:
User Management:
Communication:
Object Description
Admin Users with administrative privileges who can manage the entire system.
They can add, edit, or remove room listings, manage bookings, users, and view reports
and analytics.
Employee Staff with access to room management functions, booking support, customer service,
and maintenance coordination. They can view and update room status, handle booking
requests, and assist students.
User Users who log into the system to utilize functions such as searching and booking rooms,
managing personal accounts, making payments, and viewing current and past bookings.
Guest Visitors who have not logged into the system. They can view detailed information about
rooms and amenities but cannot make bookings or access other functions until they
register and log in.
All users need to log in to the system to book room but guests can see room but cannot book room.
Admin and employees are required to log in to access the management page
Characteristics: No special user characteristics required: The software does not require any special user
characteristics. Any user can create an account and become a member of the system.
Easy registration and usage: Users can easily register an account, log in, and use the system's functions. They
only need basic web usage knowledge.
Secure account management and access: All users, including Admin, Employee, and User, must log in to use the
system. Guests can view room details without logging in but need to register and log in to make bookings and
access other functions.
Integrated Development Environment (IDE) supporting Java and Spring Boot (e.g., IntelliJ IDEA,
Eclipse)
Developers should also be careful about the privacy of users. All user data will be kept on the database
and necessary precautions should be taken to protect user data.
The Internet connection is a constraint for the application. Since the application fetches data from the
database over the Internet, it is crucial that there is an Internet connection for the application to
function.
One assumption is that some library that developers team use for development like “thymeleaf” or
database Mysql we use have an issue, bug, down or update, it will affect the website’s performance or
even make the website down.
Assume the user has an internet connection and the computer has a web browser, and the user
User Interaction and Administrative Functions:
● Users can submit reports to administrators, request permissions, and track financial
transactions, including profit distribution.
● Administrative tools will facilitate efficient management of user requests and financial
operations.
Notification System:
● Implementation of a robust email notification system for users and administrators. Notifications
will cover booking confirmations, status updates, payments, and promotional offers.
● Strengthening data protection measures and ensuring compliance with relevant regulations to
protect user privacy and secure financial transactions.
Continuous Improvement:
● Adoption of agile practices for iterative development, allowing for ongoing enhancements
based on user feedback and technological advancements.
Business Rules
ID Descriptions
B01 Account’s email address must be valid
B02 Account’s password must be at least 8 characters in length and must contain at least 1 uppercase letter,
1 lower case letter and 1 digit.
B03 Account’s password must not be stored as plain text. Instead it must be hashed using a secure hash
algorithm.
B04 When registering or changing password, user must enter new password twice
B05 A guest must provide their email address and password when registering an account.
B06 A guest cannot register with an email that has already been registered.
B07 After registering, guest must activate their account with the activation link sent to the account’s email
address.
B08 User must provide their account’s email address and password when logging into the app
B09 User cannot login to their account unless the account is activated
B10 Access token must be encrypted when saving into browser’s storage.
B11 User must provide their account’s username address when resetting the account’s password
B12 A guest can search any public quiz
B13 User cannot search when input empty
B14 Users can search options like users, numbers, ...
B15 A guest can search quiz without login
B17 A user can search any public quiz
B18 User can switch language when that language was supported
B19 User can learn flash card any public quiz
B20 A guest can learn flash card without login
Priority Height
Business Rules B01, B02, B03, B04, B05, B06, B07, B08
Alternative flows QS display "Error" page with message "Internal System Error, please contact
with administrator"
Priority Height
Assumptions
Alternative flows QS display "Error" page with message "Internal System Error, please contact
with administrator"
Exceptions N/A
Priority Medium
Assumptions N/A
2.8.5 UC04-Search
Priority Low
Priority Low
Assumptions N/A
Priority Height
Assumptions N/A
Priority Height
Frequency of Use Medium
Assumptions N/A
Assumptions N/A
Priority Medium
2.8.11.1Screen Design
Priority Medium
Assumptions N/A
2.8.12 UC11 - View profile
2.8.12.1Screen Design
Priority Medium
2.8.13.1Screen Design
Priority Medium
Assumptions N/A
2.8.14.1Screen Design
Priority Medium
Assumptions N/A
2.8.15.1Screen Design
Priority Slow
Assumptions N/A
Priority Slow
Assumptions N/A
Priority Slow
Assumptions N/A
Priority Slow
Assumptions N/A
Priority Slow
Assumptions N/A
3.3
If there is extensive damage to a wide portion of the database due to catastrophic failure, such as a disk
crash, the recovery method restores a past copy of the database that was backed up to archival storage
(typically tape) and reconstructs a more current state by reapplying or redoing the operations of
committed transactions from the backed up log, up to the time of failure.
No user’s information, properties loss, insult from thirds party for bad behaviors
When signup, guest need to create account with real name, username must have more than 6 character,
password must have more than 8 character included: letter, number. Guest need to agree with web site
‘s privacy
● Any web browers available now: Chorme, Firefox, Coc Coc, Ie.
● Internet
● Device that can connect website
This project supports all types of web browsers. We are using Facebook API to share post /our web to facebook
The communication between the different parts of the web is important since they depend on each other.
However, in what way the communication is achieved is not important for the web and is therefore handled by
the underlying operating systems for the web portal
If there is extensive damage to a wide portion of the database due to catastrophic failure, such as a disk
crash, the recovery method restores a past copy of the database that was backed up to archival storage
(typically tape) and reconstructs a more current state by reapplying or redoing the operations of
committed transactions from the backed up log, up to the time of failure.
No user’s information, properties loss, insult from thirds party for bad behaviors
When signup, guest need to create account with real name, username must have more than 6 character,
password must have more than 8 character included: letter, number. Guest need to agree with web site
‘s privacy