Report3 - Software Requirement Specification
Report3 - Software Requirement Specification
Table of Contents
I. Record of Changes..............................................................................................................................1
II. Software Requirement Specification..................................................................................................2
1. Product Overview...........................................................................................................................2
2. User Requirements.........................................................................................................................3
2.1 Actors.......................................................................................................................................3
2.2 Use Cases.................................................................................................................................3
2.3 Feature Common....................................................................................................................11
3. Functional Requirements.............................................................................................................48
3.1 System Functional Overview..................................................................................................48
3.2 Authentication........................................................................................................................54
3.3 Homepage..............................................................................................................................57
3.4 User Profile.............................................................................................................................59
3.5 Course Learning......................................................................................................................60
3.6 Taking Mock Test....................................................................................................................64
3.7. Earn Coin...............................................................................................................................66
3.8 My Blog..................................................................................................................................67
3.9 About Us................................................................................................................................70
3.10 Knowledge Sharer Analyst Data...........................................................................................72
3.11 Admin Analyst Data..............................................................................................................80
4. Non-Functional Requirements.....................................................................................................90
4.1 External Interfaces.................................................................................................................90
4.2 Quality Attributes...................................................................................................................91
5. Requirement Appendix................................................................................................................92
5.1 Business Rules........................................................................................................................92
5.2 Common Requirements.........................................................................................................92
5.3 Application Messages List......................................................................................................93
Table of Figures
Figure 1. Overview of Flearning Platform ...............................................................................................
2
90
Table of Tables
Table 1. All actors in the system ............................................................................................................. 3
2. User Requirements
2.1 Actors
# Actor Description
1 Guest Guest is a user who accesses the VaxMS system without logging in.
They can navigate the landing page and have access to view
information on vaccines, read blogs, participate in live chat, and use
the search functionality.
2 Customer Customer is a registered user in the VaxMS system. They can
manage their profile, view and track vaccination records, provide
feedback, handle wallet payments, browse vaccine schedules, and
register for vaccinations. Additionally, they receive appointment
reminders, can download vaccination certificates, and have the
ability to book or reschedule vaccination appointments.
3 Staff Staff are users with permissions to manage operational tasks in the
VaxMS system. They can view vaccine registrations, manage vaccine
information, create vaccination schedules, and access vaccination
lists.
4 Admin Admin is a system user with full control and management privileges
over the VaxMS system. Admins can manage user accounts, oversee
payments, update and maintain vaccine data, and handle other
system configurations.
Table 1. All actors in the system
2.2.3 Descriptions
Below is a summary of the use cases present in the FLearning system:
2.3.1.1 Sign Up
Use Case ID: UC-01 Use Case Name: Sign Up
Created By: DucLV Date Created: 2023/2/24
This use case describes the process of new visitors creating an account on
Description: FLearning website, providing their personal information such as their name,
email address, and a password to become registered users.
Priority: High
The guest clicks on the "Đăng ký ngay" link in the Sign in page or accesses the
Trigger:
sign-up page with a link.
Preconditions: PRE-01: The guest has a valid email address.
7. Verify email with the code sent to the user's email address.
8. System redirects to the sign-in page.
Alternative Flow: None
Learner, Secondary
Primary Actor: Knowledge Sharer, Admin Actor: None
This use case describes how a user can sign in to their account. The system
Description:
verifies the credentials and grants access to the user's account.
Priority: High
Users want to login to the FLearning system using a Flearning account or
Trigger:
using Facebook/ Google login methods.
PRE-01: User has a created and valid account. PRE-02:
Preconditions:
User account has been authorised.
POST-1: FLearning system works stably, without error.
Post - Conditions:
POST-2: User successfully logged into the FLearning system.
1. User access to the sign-in page.
2. User to choose login with FLearning account.
3. User type in account info and press sign in button.
Basic Flow:
4. System verifies the user's account information and allows the user to
access the system.
5. System redirects to Home page.
2a. User to login with Gmail method.
2a1. System redirects to the Google sign in page.
3a. Users type in their Google account and click log in.
Alternative Flow:
4a. Google verifies the account’s information and allows the user access to
the system.
2b. User to login with Facebook method.
2b1. System redirects to the Facebook sign in page.
3b. Users type in their Facebook account and click log in.
4b. Facebook verifies the account’s information and allows the user access
to the system.
4c. The system fails to verify the user's account information and display
message.
Exception Flow: 4c1. Users stop the login process.
Use case stops.
4c2. Users click on Forgot password.
Business Rules: BR-02, BR-16
2.3.1.3 Sign Out
Use Case ID: UC-03 Use Case Name: Sign Out
Created By: PhucHNT Date Created: 2023/2/24
Learner,
Primary Actor: Secondary Actor: None
Knowledge Sharer, Admin
Description: This use case describes how a user can sign out of their account, which clears
any active cookies and logs them out of the system.
Priority: High
Trigger: The user wants to log out of the FLearning website and clicks on the log out
option.
Preconditions: PRE-01: User has logged in into FLearning system.
Post - Conditions: POST-1: FLearning system works stably, without error.
POST-2: System navigates the users back to landing page.
Basic Flow: 1. User hovers over the avatar in the header.
2. Click on the log out option.
3. The user is now no longer determined as any role but Guest.
4. The guest will be navigated back to the Landing page.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-16
2.3.1.4 Forgot Password
Use Case ID: UC-04 Use Case Name: Forgot Password
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes how a user can reset their forgotten password by
Description: verifying their email address and clicking on the password reset link sent by
the system.
Priority: Medium
Trigger: The user clicks on the forgot password link to be able to reset their password.
Preconditions: PRE-01: User already has a valid account and valid email address.
POST-1: FLearning system works stably, without error.
Post - Conditions:
POST-2: The user changed their account password successfully.
1. User access to the sign-in page.
2. User clicks on forgot password in the login screen.
3. User will fill their email address in the email field.
4. The FLearning system will send a link to reset password to the user’s
email address.
The user clicks on the link in their mail and got redirected to the
5.
Basic Flow: reset password screen.
6. The user types in the new password and clicks confirms the new
password.
7. System redirects back to login screen.
Alternative Flow: None
This use case describes the process of user viewing all the available blogs or
Description:
mock tests on the FLearning website.
Priority: High
Trigger: User wants to view all blogs or mock tests available on the website.
Preconditions: None
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: User is able to view all the available blogs or mock tests on the
system.
1. User navigates to the "Blogs" or "Mock Tests" section of the website.
2. The website displays a list of all available blogs or mock tests to the
Basic Flow:
user.
3. User views the overview features of Blogs/ Mock tests.
Alternative Flow: None
Exception Flow: None
Business Rules: BR-16
6b. The admin rejects the blog create request from user 6b1.
The system notifies user that the blog had been rejected Use
case stops.
Business Rules: BR-10, BR-16
2.3.5.4 Update, Delete Blog
Use Case ID: UC-16 Use Case Name: Update, Delete Blog
Created By: PhucHNT Date Created: 2023/2/24
Learner, Knowledge
Primary Actor: Secondary Actor: None
Sharer, Admin
This use case describes the process of the user update or deleting their blog
Description:
so that they can modify or delete the blog.
Priority: High
User wants to update or delete a blog post and click on the update or delete
Trigger:
option of a specific blog.
PRE-1: User has successfully logged into the application. PRE-2:
Preconditions:
User has previously created a blog post.
POST-1: FLearning system works stably, without error.
Post - Conditions: POST-2: The system updates the blog list view.
POST-3: A system that changes data according to user actions.
1. Users navigate to the blog post they want to update or delete.
2. Users select the edit or delete option for the blog post.
3. System displays the blog post in an editable pop up or the confirm
delete form popup.
Basic Flow: 4. If the user updates the blog, the user makes changes to the blog
post. If the user deletes a blog, skip this step.
5. User selects the option to save the changes or the confirm button.
6. The system displays a toast message to let users know that the
operation has been performed successfully or failed.
Alternative Flow: 1a. Admin navigates to the blog management page.
1a1. Admin search for the blog to be updated or deleted.
4a. Users can select the cancel option to cancel the edit.
4b. Users can select the cancel option to cancel the delete.
4c. User attempts to make a change that violates the system's business rules
Exception Flow: (such as exceeding character limits).
4c1. System displays an error message to the user.
4c2. User makes the necessary changes and then saves the new changes.
5d. User or admin clicks on the cancel button in the form popup.
6e. The system encounters an error while deleting the blog post.
6e1. The system displays an error message to the user or admin. 6e2.
The user or admin can choose to continue or cancel the deleting
process.
Business Rules: BR-16
2.3.5.5 Set Public, Private for Blog
Set Public, Private for
Use Case ID: UC-17 Use Case Name:
Blog
Created By: QuangLNN Date Created: 2023/2/24
Learner,
Primary Actor: Secondary Actor: None
Knowledge Sharer, Admin
This use case describes users can snooze their blogs by switching from public
Description:
to private mode.
Priority: Low
Trigger: User wants to update mode for the blog by clicking the private or public
icon.
Preconditions: PRE-1: User has successfully logged into the application.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. User navigates to the All Blog Page or My Blog Page.
2. User clicks on a private or public icon.
Basic Flow: 3. The system displays a confirmation dialog box to confirm changing.
4. User clicks on the confirm button.
5. The FLearning system updates the blog to reflect the change.
Alternative Flow: 3a. Users can click the cancel button to cancel the update.
Exception Flow: None
Business Rules: BR-16
2.3.5.6 View Blog Analyst Data
Use Case ID: UC-18 Use Case Name: View Blog Analyst Data
Created By: KhoiNM Date Created: 2023/2/24
Primary Actor: Admin Secondary Actor: None
This use case demonstrates how a user can control the blog of the FLearning
Description:
system by viewing blogs analyst data in the most general and systematic way.
Priority: Medium
Trigger: User logged in as an admin role and went to the Blog Management Page.
Preconditions: PRE-01: User must be logged in as Admin role.
Post - Conditions: POST-1: FLearning system works stably, without error.
1. Users logged in as an admin role.
2. User hovers on avatar on header and click “Đến trang Admin”
Basic Flow: 3. User clicks tab “Quản lý Blogs”.
4. FLearning system shows all blogs' analyst data such as total blogs,
number of creators, blogs approved, the most creators and so on.
4a. Users can view the list of blogs pending approval. 4b.
Alternative Flow:
Users can also edit or delete blogs.
4c. Users can also search or sort blogs.
2a. If the FLearning system does not have any blog to show analyst data
Exception Flow: - The FLearning system shows a message “Hiện không có bài viết nào.”
Allows staff to view, create, modify, and cancel vaccination appointments for
Description: customer
Priority: High
Trigger: Staff manage vaccination appointments
Preconditions: PRE-01: Staff is logged into the system
Post - Conditions: POST-1: Appointment details are updated in the system
POST-1: Customer are notified of any changes to their appointments
1. Staff selects "Schedule vaccination appointment" option
Basic Flow: 2. Staff selects an action (view, create, modify, or cancel)
3. The system saves the updates and confirms the action.
Priority: High
If the user does not have access rights, the system displays an access denial
Alternative Flow: message.
Priority: High
Trigger: The doctor wants to add medical information after an examination or
diagnosis
Preconditions: PRE-01: Doctor is logged into the system
Post - Conditions: POST-1: The medical note is added to the medical record and stored in the
database.
1. The doctor opens the customer medical records.
2. Selects the option to add a medical note.
Basic Flow:
3. Enters the note information.
4. Confirms and saves the note into the customer medical records.
Alternative Flow: The doctor can edit or delete the note before saving if any changes are
needed
If the note cannot be saved due to a system error, the doctor is notified
Exception Flow: and requested to try again
Business Rules: Medical notes must include the date and the name of the doctor who added
the note
Medical notes must include the date and the name of the doctor who added
the note
2.3.9.2 Administer Vaccine
Use Case ID: UC-26 Use Case Name: Administer Vaccine
Created By: Phuoc Date Created: 2024/8/28
Primary Actor: Doctor Secondary Actor:
The doctor administers a vaccine to the patient and records it in the medical
Description: records.
Priority: High
Preconditions: PRE-01: The vaccine has been prepared, and the patient has completed the
pre-vaccination medical check.
Post - Conditions: POST-1: The vaccine is administered, and the vaccination information is
updated in the patient's medical records
1. The doctor verifies the patient's identity and medical condition
Basic Flow: 2. Administers the vaccine (Done)
3. Updates the vaccination information in the medical records.
4. Provides post-vaccination instructions to the patient.
Priority: High
Trigger: The nurse receives a request to create a vaccination schedule from a doctor
or an automated system
Preconditions: PRE-01: The patient has been screened and is eligible for vaccination
Post - Conditions: POST-1: The vaccination schedule is created and notified to the patient
1. The nurse receives information from the doctor or system about the
need to create a vaccination schedule
Basic Flow: 2. Determines the appropriate time and place for the vaccination.
3. Creates the schedule and saves it in the system.
4. Sends the vaccination schedule notification to the patient
Alternative Flow: The nurse can propose schedule changes if the initial time is unavailable
Exception Flow: If the vaccination schedule cannot be created due to a system error, the
nurse is notified and requested to try again later
Business Rules: 1. The vaccination schedule must be created at least 24 hours before the
vaccination date.
2. The nurse must confirm any changes related to the vaccination schedule
with the doctor.
Use Case ID: UC-30 Use Case Name: Update Personal Information
Use Case ID: UC-48 Use Case Name: View Mock Test Analyst Data
3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow
Figure 8. Screen Flows for each actor in FLearing Platform
Forgot Forgot Password This feature is used for user enter email to reset
3
Password Page password
Change This feature is used for user change password if
4 My Profile Page
Password necessary
5 Landing Page Home Page A feature to display home page
6 View Profile My Profile Page This feature is used for users to view their profile.
View Course Course Details A feature to display video tutorials in courses which
10
details Video Video Page are enrolled by the user.
View Schedule View All Schedule The screen to show all mock tests for learners to do
11
Vaccine Vaccine and retake to improve their knowledge.
The screen shows all questions of a mock test and
View Mock test Mock Test Details
12 learners can retake and view answers for all
Details Page
questions in that mock test.
View All Blogs
13 View Blogs A feature to show all blogs of the website.
Page
The screen to display a full version of a blog that was
14 View Blog Detail Blog Detail Page
created by another user.
The screen to show the user blog, it displays all blogs
15 View Blog My Blog Page
that user created recently.
16 View About Us About Us Page A feature to show information about the founder.
View
Knowledge
Knowledge A feature to show information about the course,
17 Sharer’s
Sharer’s video and enroller.
Dashboard Page
Dashboard
The screen to display vaccine overview, chapter
Vaccine Knowledge management and video management of a created
18
Management Sharer’s Course course. Knowledge Sharer also can create new video,
update video and delete video.
A feature to manage records in a medical records. It
Medical Records
19 also shows the graph of the number of people
Management
participating in the question.
A feature to manage questions in a created course. It
Knowledge
Mock Test also shows the graph of the number of people
20 Sharer’s Mock
Management participating in the mock test. Knowledge Sharer also
Test
creates new mock tests.
Enrol Knowledge A feature to manage users that are enrolling into a
21
Management Sharer’s Enroller course.
Income Knowledge The screen to display how much users of knowledge
22
Management Sharer’s Income sharer deposit into the account
Comment Knowledge A feature to manage user comment in Knowledge
23
Management Sharer’s Comment Sharer’s course, video, mock test.
Knowledge
24 Notification Sharer’s The screen to display notification from admin.
Notification
View Admin’s The screen to show all basic information about
25 Admin Dashboard
Dashboard Flearning system.
User
26 Admin’s User A feature to display user’s information,
Management
Vaccine A feature to manage a vaccine that knowledge sharer
27 Admin ‘s Vaccine
Management created and wait for the admin to accept or not.
Schedule A feature to manage video that knowledge sharer
28 Admin’s Schedule
Management created and wait for admin to accept or not.
A feature to manage questions that knowledge
Question
29 Admin’s Question sharer created and wait for the admin to accept or
Management
not.
Transaction Admin’s A screen to display how much users deposit into the
30
Management Transaction Flearning system.
Feedback A feature to manage user comments in VaxMS
31 Admin’s Feedback
Management system and delete their comments or not.
Blog A feature to manage user comments in Flearning
32 Admin’s Blog
Management system and accept their blog or not.
A feature to manage tests created by Knowledge
Mock Test Admin’s Mock
33 Sharer in Flearning system and accept their mock test
Management Test
or not.
Admin’s
34 Notification A feature to send notifications to users.
Notification
Table 3. Screen Descriptions
Sign In X X X
Sign Up X X X X
Forgot Password X X X
Change Password X X X
Landing page X X X X
My Profile X X X
Earn Coin X X X
All Blogs X X X X
Blog Detail X X X
My Blog X X X
About Us X X X
Customer Dashboard X X
Customer Schedule X X
Customer Records X X
Customer Wallet X X
Customer Feedback X X
Admin Dashboard X
Admin's Account X
Admin's Video X
Admin's Question X
Admin's X
Admin's Feedback X
Admin's Blog X
Entities Description
# Entity Description
Define 3 types of user in FLearning system, store information about
1 User a user.
Users can register for courses; each course consists of many
2 Course
chapters.
Chapters belong to each course, including many videos and readings,
3 Chapter
tests.
Videos belong to each chapter; users can watch the video to be able
4 Video
to do the video’s questions.
Mock Tests belong to each chapter, users can do mock tests to be
5 Mock Test
able to complete each chapter.
The question belongs to each chapter or each mock test, the user
6 Question correctly answers the questions of the lecture to be able to continue
to learn the next lecture.
The comment belongs to each chapter or each video, users can
7 Comment create comments to voice their opinions or questions after each
course or video.
8 Blog Users can create blogs to discuss with other users on the website.
10 Transaction Store user transactions when the user deposits, withdraws or buys.
3.2 Authentication
3.2.1 Sign In
● Function trigger: User clicks on the "Đăng nhập" button in the homepage or accesses the sign in page
with a link.
● Screen layout:
● Function Details:
- Validations: The password must meet minimum requirements such as length, character
types.
- Functionalities: The system checks if required login information is filled, then checks for
account existence and password correctness. It allows login with correct credentials
3.2.2 Sign Up
● Function trigger: User clicks on the "Đăng ký ngay" link in the Sign in page or accesses the
signup page with a link. ● Screen layout:
Figure 11. Sign Up Screen ●
Function Details:
- Validation: All fields are required, and email address and password should be in a valid
format.
- Functionalities: The system checks if all required registration information is filled, then
checks for account and email existence. It allows registration and login if all requirements
are met, or asks for re-entry if fields do not match.
● Screen layout:
Figure 12. Forgot Password Screen ●
Function Details:
- Validation: The email address entered by the user exists in the system. The email sent
to the user contains a secure link to reset their password that expires after a certain
time period.
- Functionalities: This page allows users to reset their forgotten password by verifying
their email address. Users can enter their registered email address and follow the
instructions in the email to set a new password.
● Screen layout:
Figure 13. Change Password Screen
● Function Details:
- Functionalities: This page allows users to change their current password by entering
their old and new passwords. An error message is displayed if the current password
entered is incorrect or if the new passwords do not match.
3.3 Homepage
3.3.1 Homepage
● Function trigger: The "View home page" function is triggered when the user accesses a link or clicks
on the FLearning logo within the website to display the main landing page.
● Screen layout:
Figure 14. Homepage Screen
● Function Details:
- Functionalities: This function displays the homepage including courses, blogs, navigation
menus, and search functions.
● Screen layout:
Function Details:
- Functionalities: This screen displays the user's profile information including their name,
email, profile picture, Users can edit their profile information, change password....
● Screen layout:
Figure 16. Other User’s Wall Screen ●
Function Details:
- Functionalities: This page displays the other user's profile page, including their name,
profile picture, bio, and other relevant information. If the other user's profile is
disabled, an error message is displayed.
● Screen layout:
Figure 17. Course Overview Screen ●
Function Details:
- Functionalities: The course overview page displays a summary of the course name,
description, knowledge sharer’s name, duration, number of lessons, and level. If the
course is unavailable, an error message is displayed.
● Screen layout:
Figure 18. Course Detail Screen
● Function Details: In this page, users can view questions, take a mock test, view answers of the mock
test, like mock test.
● Screen layout:
Figure 19. Course Detail Question Screen
● Function Details: In this page, users can view a question, take a question, view the answer of the
question, comment about that question, like a question, like comment on that question.
● Screen layout:
Figure 20. Course Detail Video Screen
● Function Details: In this page, users can view video, comment about video, like comment on that
video, like video.
● Screen layout:
Figure 21. All Mock Test Screen
● Function Details:
● Screen layout:
Figure 22. Mock Test Detail Screen ●
Function Details:
- Functionalities:
+ Normal Case: User clicks "Tham gia ngay" button, system checks if user has
taken the test before and renders appropriate data. Users can retake the test by
clicking "Làm lại." Users can add comments/questions about the test.
● Screen layout:
3.8 My Blog
3.8.1 All blogs
● Function trigger: User clicks on the "Bài viết" link on the homepage’s left sidebar
● Screen layout:
Figure 24. All Blogs Screen
● Function Details:
- Functionalities:
- The system displays a blog page with a list of published blogs, including title, date,
summary, thumbnail, and data such as views/likes. Clicking on a post title shows full
content.
● Screen layout:
Figure 25. Blog Detail Screen ●
Function Details:
- Functionalities:
- The comment section displays comments for that specific blog detail page which contains
info like user avatar, comment date, comment content and a reply function to each comment.
3.2.3 My Blog
● Function trigger: User access the My Blog page and scroll down to the comment section below.
● Screen layout:
Figure 26. My Blog Screen ●
Function Details:
- Functionalities:
- The comment section displays comments for that specific blog detail page which contains
info like user avatar, comment date, comment content and a reply function to each
comment.
3.9 About Us
3.9.1 About Us Page
● Function trigger: This function is triggered when a user access home page and click “Về Chúng Tôi”
button in the sidebar navigation.
● Screen layout:
Figure 27. About Us Screen
● Function Details:
- This page shows information about our team, our mission and our goals.
- This page also lets visitors know the purpose of our website and what value can we bring to
the community.
● Screen layout:
- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.
- Functionalities: The data on the dashboard of the knowledge sharer will be updated
immediately when there are any changes. Dashboard will give clear and specific figures
so that knowledge sharers can make accurate decisions for their sharing.
● Screen layout:
Figure 29. Knowledge Sharer’s Course Screen
● Function Details:
- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.
- Functionalities: The data of the site will be constantly updated when there are changes
related to the course, chapter, video or mock test.
3.10.3 Knowledge Sharer's Video
● Function trigger: Users click on the "Đến trang quản lý" button when hovering the avatar in the
header, then click the "Tạo khóa học" button in the sidebar. Click on the “Tạo khóa học” button on the
page. The screen will display a create popup form to create a new video, update video and delete
video to share the knowledge with users on the same platform.
● Screen layout:
Function Details:
- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.
- Functionalities: Click the "Tạo video" button to create a new video for chapter. When the
create form popup, the knowledge sharer must enter valid data in all required fields to
be able to create a new video, the new video will be displayed on the right chapter.
● Function Details:
- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.
- Functionalities: Click the "Tạo Chương" button to create a new chapter of course. When
the create form popup, the knowledge sharer must enter valid data in all required fields
to be able to create a new chapter, the new chapter will be displayed on the right course
in the created course block.
● Screen layout:
Figure 32. Knowledge Sharer’s Question Screen
● Function Details:
- Functionalities: In this page, users can view question analysis data, search questions, sort
questions on multiple fields, and view a graph of question creation.
● Screen layout:
Figure 33. Knowledge Sharer’s Mock Test Screen
● Function Details:
- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.
- Functionalities: In this page, users can view mock tests analysis data, search mock tests,
sort mock tests on multiple fields, and view a graph of mock tests creation.
● Screen layout:
Figure 34. Knowledge Sharer’s Enroller Screen
● Function Details:
- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.
- Functionalities: In this page, users can view enroller analysis data, search enrollers, sort
enrollers on multiple fields, view a graph of enroller join course and view status
learning of enroller.
● Screen layout:
Figure 35. Knowledge Sharer’s Income Screen
● Function Details:
- Validation: The system will check if you are logged in and the login account must be the
knowledge sharer or admin account.
- Functionalities: In this page, users can view their income, the user that buys their item
such as Course, Video or Question and so on. Users can also view a graph of income by
month.
● Screen layout:
Figure 36. Knowledge Sharer’s Comment Screen
● Function Details:
- Validation: The system will check if you are logged in and the login account must be
the knowledge sharer or admin account.
- Functionalities: In this page, users can comment by video in a course, a graph that
shows total comment by day, some analyst data such as total comment, total
comment not reply and so on.
● Screen layout:
Figure 37. Admin Dashboard Screen
● Function Details:
- Validation: Only user login as Admin role can use this function.
- Functionalities: In this page, users can view overview of FLearning System’s properties
such as total revenue, total deposit, user activities, top customers in FLearning Platform
and so on.
● Screen layout:
Figure 38. Admin’s User Screen ●
Function Details:
- Validation: Only user login as Admin role can use this function.
- Functionalities: In this page, users can control the information of all users in the
FLearning system by viewing some properties such as total Learner, total Knowledge
Sharer, top users and table of all users. Users can also search, sort, edit or delete users.
● Screen layout:
Figure 39. Admin’s Course Screen ●
Function Details:
- Validation: Only user login as Admin role can use this function.
- Functionalities: Admins get an overview of all courses by sort or search and they can edit,
delete courses or approve courses for publishing on the platform.
● Screen layout:
Figure 40. Admin’s Video Screen ●
Function Details:
- Validation: Only user login as Admin role can use this function.
- Functionalities: Admins get an overview of all videos by sort or search and they can edit or
delete videos.
● Screen layout:
Figure 41. Admin’s Question Screen ●
Function Details:
- Validation: Only user login as Admin role can use this function.
- Functionalities: Admins get an overview of all questions by sort or search and they can edit
or delete questions.
● Screen layout:
Figure 42. Admin’s Transaction Screen ●
Function Details:
- Validation: Only user login as Admin role can use this function.
- Functionalities: The Transaction Management page will allow admins search, sort to
display many transaction parameters after analysis such as: total number of transactions,
total number of pending transactions, biggest transaction made by user, etc. They can
update or delete transactions in the data table.
● Screen layout:
Figure 43. Admin’s Comment Screen ●
Function Details:
- Validations: Only logged in Admin users can access this page. The data of all user’s
comments will be loaded on this page.
- Functionalities: The system displays a page showing the table of user's comments. The
Admin can view, update or delete the comments and other insights information of the
user to improve the learning experience.
● Screen layout:
Figure 44. Admin’s Blog Screen ●
Function Details:
- Validation: The system will check if you are logged in with an admin account.
- Functionalities: Click the "Quản lý bài đăng" button in the sidebar. Admins can view
specific data in the status card and the statistics are displayed in the graph that the
system has displayed. They can delete or update blogs.
● Screen layout:
Figure 45. Admin’s Mock Test Screen ●
Function Details:
- Functionalities: Admins can view specific data in the status card and the statistics are
displayed in the graph that the system has displayed. They can delete or update mock
tests and approve the mock test to be published.
● Screen layout:
Figure 46. Admin’s Notification Screen ●
Function Details:
- Validation: Only user login as Admin role can view this function
- Functionalities: Allow admins to view many notification parameters after analysis such
as: total number of notifications sent, number of notifications seen by users, number of
users received, and a list display in notification types. Allow admins to send the
notifications to users.
4. Non-Functional Requirements
4.1 External Interfaces
4.1.1 User Interface
● UI-01: The system must display Success Message or Error Message when completing an action.
● UI-02: When the user is doing the Delete option, there must be a Confirm (Y/N) dialog.
● UI-04: All pages in the system must have a Header menu and a Navigation menu.
● The FLearning Platform is accessible 24/7 from Monday to Sunday, except for the maintenance
hours of 23:00-24:00 on Sundays.
4.2.2 Usability
● An untrained user can enrol in a course within a maximum of 10 minutes.
● The platform must have breadcrumb navigation to make it simple for learners to find and enrol in
courses.
4.2.3 Reliability
● Under the worst conditions, the mean time between failures should be no more than 5%.
● The platform's ability to recover from any issues should take no longer than 5 hours.
4.2.4 Performance
● The platform’s loading time should not exceed 2 seconds.
● The platform’s content should be both rendered and readable within a maximum of 3 seconds.
● Processing times of the most complexes request must complete within 3s (not include timeout
ones)
● The platform has the ability to handle up to 200 requests per second.
4.2.5 Security
● The user’s password should be encrypted using the Bcrypt algorithm before being stored in the
database.
● The platform can handle basic web attacks like SQL Injection, Script Injection, XSS (Cross-Site
Scripting) or CSRF (Cross-site Request Forgery).
● Following SOLID principles makes it easier to maintain and expand in the future.
5. Requirement Appendix
5.1 Business Rules
# Rule Definition
BR-01 The email password reset link will expire after 20 minutes.
Password regulation: at least 8 characters, must include at least 1 letter, 1 special character
BR-02
BR-03 Only one account can be created per email or Facebook account.
BR-04 Passwords stored in the database must be hash by the Bcrypt algorithm.
When Knowledge Shearer makes a publish request for a new course, at least one item
BR-07
(video, mock test) must be included.
BR-08 All deleting actions must have a confirmation popup before deleting.
Each Knowledge Sharer level will have different limits for creating courses, creating videos,
BR-09
creating mock tests and creating different questions.
Courses, blogs and mock tests are created and uploaded by Knowledge Sharer but are
BR-10
verified by FLearning Platform before publishing.
The FLearning Platform must have a system for handling disputes and complaints from
BR-11
users regarding course content, instructors, or other issues.
The FLearning platform must maintain the privacy and security of user data, and not use it
BR-12
for any purposes other than providing the course services.
The FLearning platform must have a user-friendly interface that allows learners to easily
BR-13
search, filter, and enrol in courses.
The FLearning platform must support different types of multimedia content, including
BR-14
videos, audio, images, and text.
The platform must have a secure payment system that protects the learners' financial
BR-15
information
The FLearning server system must have an operating rate of 95% in a month, the average
BR-16
time to fix any issues causing downtime must be 6 hours.
Only the user who is the creator or the admin can delete the items (course, video, mock
BR-17
test, question, blog, comment).
Table 7. Business Rule