<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b> MINISTRY OF EDUCATION AND TRAINING</b>
Đoàn Thanh Hiễếu - SE161047Hoàng Xuân Quý - SE161038Nguyễễn Vũ Tường - SE161049Lễ Quốếc Thắếng - SE161071
Ho Chi Minh City, Oct 26th 2022
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">
<b>R<small>ECORDOF CHANGE</small>S</b>
<b>DateA, M, DIn chargeChange DescriptionVersion</b>
<small>05/07AKienNT, HieuDT, TuongNV, ThangLQ</small>
<small>More Introduction Description of Cleaning Services Website (I)</small>
<small>06/07AQuyHX, TuongNV, KienNT, HieuDT, ThangLQ</small>
<small>Add Use case list1.0</small>
<small>10/07AQuyHXWrite use case UC-01: Login Description</small>
<small>Forgot Password Description</small>
<small>Change Password Description</small>
<small>Modify User Profile Description1.0</small>
<small>10/07AKienNTWrite use case UC-10: Checknotifications Description</small>
<small>10/07ATuongNVWrite use case UC-11: CheckHistory Bookings Description</small>
<small>Booking Appointment Description1.0</small>
<small>10/07AKienNTWrite use case UC-13: Post Blog Description</small>
<small>10/07AKienNTWrite use case UC-14: Post Comment Description</small>
<small>Feedback Service Description</small>
<small>10/07AKienNTWrite use case UC-16: View 1.0</small>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">
<small>Create Service Description</small>
<small>Assigned work to staff Description1.0</small>
<small>10/07AThangLQWrite use case UC-30: Hide Blog Description</small>
<small>Modify Account Description</small>
<small>Create Account Description</small>
<small>11/07AKienNT, ThangLQ, HieuDT, TuongNV, QuyHX</small>
<small>Add Non-function requirement</small>
<small>11/07AKienNT, ThangLQ, HieuDT, TuongNV, QuyHX</small>
<small>Insert Database Schema 1.0</small>
<small>QuyHX, KienNT, HieuDTDraw ERD1.011/07MKienNT, ThangLQ, HieuDT, </small>
<small>TuongNV, QuyHX</small>
<small>Retouch fonts, and align 1.1</small>
<small>12/07MKienNT, ThangLQ, HieuDT, TuongNV, QuyHX</small>
<small>Modify Table of content1.2</small>
*A - Added M - Modified D - Deleted
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
3.1. Use Case Diagram ...
3.2. Use Case List...
3.3. Use Case Detail...
UC-01: Sign In...
UC-02: Sign Up...
UC-03: Logout...
UC-04: View Service...
UC-05: View Blogs...
UC-06: View Comments...
UC-07: Forgot Password...
UC-08: Change Password...
UC-09: Modify User Profile...
UC-10: Check notifications...
UC-11: Check History Bookings...
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">
UC-12: Book appointment...
UC-13: Post Blog...
UC-14: Post Comment...
UC-15: Feedback Service...
UC-16: View Tasks...
UC-17: Check task notifications...
UC-18: View account list...
UC-19: View account detail...
UC-20: Ban account...
UC-21: View service Lists...
UC-22: View Service Detail...
UC-23: Create Service...
UC-24: Hide Service...
UC-25: View Blog Lists...
UC-26: Hide Blog...
UC-27: View Notifications...
UC-28: View Bookings List...
UC-29: Assign work to staffs...
UC-30: Cancel User Booking...
UC-30: Assign work to staffs...
UC-31: Modify Account...
UC-32: Create Account...
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">
<b>1. INTRODUCTION</b>
<b>This document represents the Software Requirements Specification (SRS) of </b>
<b>V-Home Cleaning Service. Its purpose is to describe the scope, both the functional and</b>
non-functional software requirements, as well as the design constraints of the wholelogic sub-component.
<b>1.2. Scope</b>
<b>V-Home Cleaning service is the website platform that supports customers who</b>
are too busy and can not clean their room at Vinhomes apartment.
More specifically, Customers can look for the kind of service they want byproviding some keywords, or categories. After that, they can order service by filling inthe form that has been provided, then check out. We have a use-case model thatstates the correlation relationship between the user and the system, functional andnon-functional requirements, an ERD and a relational schema.
<b>1.3. Definitions, Acronyms, and Abbreviations</b>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">
application without signing in.
Khách m iờ
in as a customer, the purpose is to book a service.
Khách hàng
in as a staff, the purpose of which is to receive work from manager and work.
Nhân viễn
in as a manager, the purposeis to manage websites and manage booking requests.
Qu n lýả
AdministratorA person who signed in as a distributor, the purpose is to manage Accounts and see the statistics of the website.
Qu n tr ảịviễn
The next chapter, the Overall Description, of this document provides anoverview of the product's functionality. It describes the informal requirements and isused to establish the context for the specification in the next chapter.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">
The third chapter, the Functional Requirements section, of this document iswritten to describe the functionality of the product in technical terms including itsuse-cases and details.
The fourth chapter, the Non-functional Requirements section, of this documentis written to describe in detail the non-functionality of the product, defining how asystem should look like.
The fifth chapter, the Database section, of this document is written to describein detail the database (specifically, ERD and Relation Schema) of the product, defininghow data are stored and organised.
The last chapter, is the Supporting Information section, of this documentprovides the supporting information that makes the SRS easier to use. It includes:-Index
-Appendices and be considered part of the requirements or not.
<b>2. OVERALL DESCRIPTION 2.1. Product Overview</b>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">
● Sign In, Forgot password
<b>2.1.3 Manager Requirements </b>
Members are people who have logged in to the job board website with the “Manager” role. They can use all Customer’s functions, plus these following ones:
● View/Modify/Ban Accounts.● View/Modify/Create/Ban Services.● View/Ban/Create Blogs.● Manage tasks● View Statitic dashboard
BR-Website designed using Vietnamese
BR-Price’s amount uses comma for thousand separatorExample: 250,000vnđ
BR- Price’s unit is VND
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">
BR-Order’s status can be: confirmed - in process - finished
BR-Password must have at least 8 character, at least 1 number, at least special character and at least 1 uppercase character
BR-Date of Birth must have dd/mm/yy format
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">
<b>3. FUNCTIONAL REQUIREMENT</b>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">
<b>3.1. Use Case Diagram</b>
<b>3.2. Use Case List</b>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">
UseCase Primary Actor Secondary Actor
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">
UC-15Feedback serviceUser
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">
UC-31Modify accountsAdmin
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">
<b>3.3. Use Case Detail</b>
<b>UC-01: Sign In</b>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">
<b>ID and Name:</b>
<b>UC-01: Sign In</b>
Preconditions:Actor has a gmail registered before
Post-conditions:Success: Redirect to home page
Fail: The system shows error message corresponding to error code
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">
page, Actor inputs email and passwords
clicks “Đắng nh p”ậ
System redirects to the home page
Alternative Flow: N/A
The email or password is not correct format
System informs error message to remind user inputs correct format
The email or password is not correct
System informs “emailor password is incorrect”
Business Rules:-Password is not empty and at least 8 characters, at least 1 number, at least 1 upper case character, at least 1 lower case character, at least 1 special character
Assumptions:-Actor’s internet connection is available
<b>UC-02: Sign Up</b>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">
<b>ID and Name:</b>
<b>UC-02: Sign Up</b>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">
Created By:QuyHXDateCreated:
25/06/2023
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">
Normal Flow:
1 In the sign in page, actor fill in the “Đắng ký tài kho n” formả
System shows a form with these fields:
- Email: a text input, a string input must follow the email regex ().- Password/Confirm password: two strings must be identical, not empty and at least 8 characters,at least 1 number, at least 1 upper case character, at least 1 lower case character, at least 1 special character- Full name: must not be empty
- Phone number: a string of numbers has 10 characters.
- Room ID: a text input, a string input must follow the Room ID regex (X00-00).
- Vinhome location: optional with three choices
- Gender: Male/Female or Other
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">
Alternative Flow:N/A
At least one input field doesn’t match the constraint
System shows a warning message corresponding to the fail constraint.
Full name less than 6 character
System detects that the registeredfull name does not have enough characters, and then displays a warning error.
Room ID does not correct format
System shows a warning message corresponding to the fail constraint.
Assumptions:-Actor’s internet connection is available
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">
<b>UC-03: Logout</b>
<b>ID and Name:</b>
<b>UC-03: </b>
Created By:
Admin, Manager, Staff
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">
Priority:HighFrequencyof Use:
Trigger:The Actor wants to log out account or exit browser
Preconditions:The Actor already sign in the website before
Post-conditions:Success: Redirect to home page
Normal Flow:
In home page, Actor moves the cursor to the username field then selects “Đắng xuâết”
Alternative Flow: N/A
Exceptions:N/ABusiness Rules:N/A
Assumptions:-Actor’s internet connection is available
<b>UC-04: View Service</b>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">
<b>ID and Name:</b>
<b>UC-04: View Service</b>
Created By:
Primary Actor:
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">
Priority:HighFrequency of Use:Usually
Trigger:The user wants to view all Services on the V-home Clean App.
This feature allows users to view all Services on the V-home Clean App.
N/A
Post--User can see a list of all services
Normal Flow:
Actors click on the "D ch ị
v " tab on the homepage.ụ<sup>List of service drop down.</sup>
Actors choose "T ng h p ổợ
d ch v " tabịụ<sub>page.</sub><sup>System redirects to Service </sup>
Alternative Flow:
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">
Business Rules:
Internet connection is available.
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">
<b>UC-05: View Blogs</b>
<b>ID and Name:UC-05: View Blogs</b>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">
Primary Actor:Guest, UserSecondary Actors:N/A
Trigger:The user wants to view blogs.
Description:This feature allows users to view Blogs on the V-home Clean App.Preconditions:N/A
Post-conditions:System shows list of blog.
Normal Flow:
1Actors click on the “Bài báo” tab on the homepage.
A list
2Actors choose “Blogs” tab
System redirects to Blog page.
Alternative Flow:
Business Rules:N/A
Assumptions:Internet connection is available.
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">
2 Enter incorrect OTPSystem informs the message:"Mã OTP sai. Vui lòng ki m tra l i!"ểạ
3 Enter incorrect new password or confirm password
System informs the message: "M t kh u và ậẩxác nh n m t kh u khốngậậẩtrùng kh p!"ớ
Business Rules:
Requires identity verification (User).
User’s internet connection is available.
<b>UC-08: Change Password</b>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">
<b>ID and Name:UC-03: </b>
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">
Priority:HighFrequencyof Use:
Trigger:The actor wants to change password an account in V-Home Clean website
Description:This feature allows actor to change password account in the website
Preconditions:Actor must login to account successfully and remember old password
Post-conditions:Success: The system shows message is change password successfullyFail: The system shows error message corresponding to error code
Normal Flow:
In sign in page, Actor inputs email and passwords
Actor clicks “Đắng
nh p”ậthe home page<sup>System redirects to </sup>
In the home page, Actor moves the cursor to the username field then selects “Thống TinTài Kho n”ả
System redirects to the User Profile Page
In the User Profile Page,System redirects to
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">
Actor click “M t Kh u”ậẩthe ProfilePageController
In the
ProfilePageController, Actor input old password, new password and confirm password
System shows a form with these fields:
- Old password: must not be empty and old password must match the previous password you set
- New Password/Confirm password: two strings must be identical, not empty and at least 8 characters,at least1 number, at least 1 upper case character, at least 1 lower case character, at least 1 special character
Actor click “thay đ i ổ
m t kh u”ậẩmessage “c p nh t m t <sup>System shows a </sup>ậậậkh u thành cống”ẩ
Alternative Flow:N/A
Business Rules:N/A
Assumptions:Internet connection is available.
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">
<b>UC-09: Modify User Profile</b>
<b>ID and Name:UC-03: </b>
</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41">
Trigger:The user wants to modify an account in V-Home Clean website
Description:This feature allows user to modify account in the website Preconditions:The actor need to login to modify profile
Post-conditions:Success: The system shows message is change password successfullyFail: The system shows error message corresponding to error code
Normal Flow:
In sign in page, Actor inputs email and passwords
Actor clicks “Đắng
nh p”ậthe home page<sup>System redirects to </sup>
In the home page, Actor moves the cursor to the username field then selects “Thống TinTài Kho n”ả
System redirects to the User Profile Page
Actor click “C p nh t”ậậSystem shows a message “c p nh t thống ậậtin tài kho n thành cống”ả
Alternative Flow:N/A
</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">
Business Rules:N/A
Assumptions:Internet connection is available.
</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">
<b>UC-10: Check notifications</b>
<b>ID and Name:</b>
<b>UC-10: Check notifications </b>
</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44">
Priority:HighFrequencyof Use:
Preconditions:The actor need to login to see the notifications
Post-conditions:-The notifications page will display a list of all the unread notifications for the user.
-The notifications will be relevant and informative, providing users with important updates about the VhomeClean Website.
The website will display a list of all the unread notificationsfor the user.
2 User clicking in the detail ofnotification.
The website will show the detail of notification and thatshould be marked as "read" and no longer appear in the list of unread notifications.
</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45">
Alternative Flow:
1: Check notification in user profile
System Response
1 User go to profile page and clicking “Thống báo” tab pane.
The system will show all list of the notifications about that user and website.
Business Rules:The notification should be informative.
Assumptions:<sub>Actor’s internet connection is available.</sub>
</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46">
<b>UC-11: Check History Bookings</b>
<b>ID and Name:UC-11: Check History Bookings</b>
</div><span class="text_page_counter">Trang 47</span><div class="page_container" data-page="47">
Created By:TuongNVDate Created:25/6/2023
Trigger:The user wants to view their booked list.
Description:This feature allows users to view history of their bookings on the home Clean Website.
V-Preconditions:The actor need to login first before going to profile page to see booked history
Post-conditions:System shows list of Booked history.Normal Flow:
1Actors go to User profile page and clickon the “T ng đ n” ổơtab on the user page.
The system will show list of booked history
Alternative Flow:
Exceptions:N/ABusiness Rules:N/A
</div><span class="text_page_counter">Trang 48</span><div class="page_container" data-page="48">
Assumptions:Internet connection is available.
<b>UC-12: Book appointment</b>
<b>ID and Name:UC-12: Book appointment</b>
</div><span class="text_page_counter">Trang 49</span><div class="page_container" data-page="49">
Priority:HighFrequency of Use:Usually
Trigger:Actor wants to booking appointment.
Description:This feature allows users to book appointment on the V-home Clean App.
Preconditions: The actor need to login before booking an appointment
Post-conditions:Success: System inform “Congratulation, đ n c a b n đã đơ ủạược xácnh n thành cống” and show up information of appointment was ậbook.
Failed: System informs errors message if user does not fill in all theinformation.
Normal Flow:
1Actors click on the “D ch v ” tab on the ịụhomepage.
2Actors choose “T ngổh p d ch v ” ợịụ
System redirects to Service page.
3 Actors click on “ đ t ặl ch ngay” buttonị
If Logged in: System redirects toBooking appointment sceen.If not Logged in: System redirects to Login screen. Login: [Alternative 1]
</div><span class="text_page_counter">Trang 50</span><div class="page_container" data-page="50">
4Actors fill all information for the appointment5Actors click on “Đ t ặ
l ch” ị
System show popup to confirm booking appointment.6Actors click on “Chắếc
chắến”
System inform “Congratulation, đ n c a b n đã đơ ủạược xác nh nậthành cống”
Alternative Flow:
1The user has not filled in enough information
System inform “Please fill in all information”.
Business Rules:BR-01: Only users who logged in can book appointment.BR-02:
Assumptions:Internet connection is available.
</div><span class="text_page_counter">Trang 51</span><div class="page_container" data-page="51">
<b>UC-13: Post Blog</b>
<b>ID and Name:UC-13: Post Blog </b>
</div><span class="text_page_counter">Trang 52</span><div class="page_container" data-page="52">
Primary Actor:UserSecondary Actors:Admin, Manager, Staff
Frequency of Use:Several times per week
Trigger:The actor clicks “Đắng bài” on the navigation.
Description:This feature allow the user to customize and post blog.
Preconditions:The actor must log in first before post a blog.
Post-conditions:The User will be redirected to the Single Blog page to see information about their latest posts
Normal Flow:
1 The user log in to VHomeClean system and access to post blog page
The system will show the text editor to the user to write and edit their new blog
2 The user clicks on the “Đắng bài” button to post their blog
The system will save the blog into database and the user willbe redirected to single blog page to show information of the new blog.
Alternative Flow:
</div>