Professional Documents
Culture Documents
Report3 Software Requirement Specificationc
Report3 Software Requirement Specificationc
1
Table of Contents
I. Project Report 6
1. Status Report 6
2. Team Involvements 6
3. Issues/Suggestions 6
II. Software Requirement Specification 7
1. Overall Description 7
1.1 Product Overview 7
1.2 Business Rules 7
2. User Requirements 9
2.1 Overview 9
a. Use Case Diagram 9
b. System Actors 9
c. Use Cases List 10
2.2 Manage Course 12
a. Create course 12
b. List Course of System 13
c. Search Course by Name 13
d. View Detail Course 14
e. Edit course by ID 15
g. Change status of course 15
2.3 Manage Teacher 16
a. Create New Teacher 16
b. List Teacher of System 17
c. Search Teacher of System by name and status 18
d. Filter Teacher of System by status 19
e. View detail teacher by ID 19
f. Edit Teacher by ID 20
g. Add Teacher to class 21
h. Change status of teacher 21
2.4 Manage Staff 22
a. Create New Staff 22
b. List Staff of System 23
c. Search Staff of System by name and status 24
d. Filter Staff of System by status 25
e. View detail Staff by ID 25
2
f. Edit Staff by ID 26
g. Change status of staff 27
2.5 Manage Student 27
a. Create student 27
b. View list student 28
c. Search Student by like Name and Status 29
d. View detail student 30
e. Edit student 30
g. View class history 31
h. Add student to class 32
e. Change status of student 32
f. Filter Student by status 33
2.6 Manage Class 34
a. Create class 34
b. List Class of System 35
c. Filter Class of System by course and status 35
d. View detail class 36
e. Edit class 37
f. Edit class by day 37
g. View material in class 38
h. View attendance student in class 39
h. Edit attendance student in class 39
i. Change status class 40
k. View test result by class id 41
2.7 Manage User Account 41
a. View List Account in system 41
b. Search Account of System by name and role 42
c. Filter Account of System by role 43
d. Reset password of account in system 43
2.8 Manage Transaction 44
a. View list pending transaction 44
b. Verify pending transactions 45
c. Search pending transactions by name. 45
d. View list transaction 46
c. Search transactions by name. 47
d. Filter transactions by Month and Year. 47
3
2.9 Manage User Authentication 48
a. Login 48
b. Sign out 49
c. Forgot Password 50
2.10 Manage information of account 50
a. View user profile 50
b. Change user password 51
2.11 Dashboard report 52
a. View user profile 52
3. Functional Requirements 52
3.1 System Functional Overview 52
a. Screen Flow 52
b. Screen Details 57
c. Screen Authorization 59
d. Entity Relationship Diagram 59
3.2 Authentication Function 60
a. Login Function 60
3.3 Manage Student 61
a. View List Student 61
b. Create Student 62
c. Search Student 63
d. Student Detail 64
e. Edit Student 65
f. Add new student to class 66
g. Add old student to class 67
3.4 Manage Class 68
a. View List Class 68
b. Create Class 69
c. Filter Class 70
d. Class Detail 71
e. Edit Class 72
f. Update class by day 73
f. Attendance student in class 74
3.5 Manage Transaction 75
a. View list pending transaction 75
b. View list Approved transaction 76
4
3.6 Manage Account 77
a. View List Account 77
3.7 Manage Teacher 78
a. View List Teacher 78
b. Create teacher 79
c. Search teacher 80
d. Teacher Detail 81
e. Edit teacher 82
3.7 Manage Staff 83
a. View List Staff 83
b. Create staff 84
c. Search staff 85
d. Staff Detail 86
e. Edit staff 87
3.8 Manage Course 88
a. View List course 88
b. Create course 89
c. Search course 90
d. Course Detail 91
e. Edit course 92
4. Non-Functional Requirements 93
4.1 Quality Attributes 93
a. Usability 93
b. Reliability 93
c. Performance 94
d. Supportability 94
5. Other Requirements 94
5.1 Messages List 94
5
I. Project Report
1. Status Report
# Work Item Status Notes (Work Item in Details)
1 Create Document Completed
Specific Overall
2
Description Completed
3 Review Completed
2. Team Involvements
# Task Member Notes (Task Details, etc.)
Change name project, change content
1 Create Document Duc Anh
menu,..
Specific overview system, insert context
2 Product overview Duc Anh
diagram
3 Business Rules Duc Anh Insert business rules follow BA
4 Use case detail Duc Anh Include diagram and use case detail
5 Use case detail Regi Include diagram and use case detail
6 Screen Flow Duc Anh Include diagram and description detail
Entity Relationship
7 Tung Include diagram and description
Diagram
8 Review Tue Update small changes and check spelling
3. Issues/Suggestions
# Issue Status Notes (Solution, Suggestion, etc.)
Context Diagram with level 0 and have 2
1 Context Diagram Wrong Completed
narrows
Some use cases wrong
2 Completed Date format is not correct
format
6
II. Software Requirement Specification
1. Overall Description
1.1 Product Overview
Now a day, many small and middle education centers are looking for to improve the quality of
service for student, optimize the resources of faculty, facilities and staff, which make management more
convenient. Therefore, Alpha Teach is software system that replaces the current manual process in
center. The context diagram below illustrates the external entities and system interfaces for release 1.0.
The system is expected to evolve over several features in next releases.
ID Rule Definition
BR-01 Student must pay for course fee before be added to class
BR-02 Course must be existing before class is initialized
BR-03 All students and staffs must have their account of system
BR-04 Only add student into the waiting class
BR-05 A student can join in multiple classes in a same course
BR-06 A student must have entry test result value not empty before added to any class
BR-07 Inactive students cannot be added to class or got attendance
BR-08 A student cannot join in 2 class at the same time
BR-09 Login without selecting “Remember me”, system will logout after 8 hours
7
BR-10 Default password when reset is “123@123a”
BR-11 When changing course information, old information that was saved for each student is
not altered.
BR-12 User must login
BR-13 Account’s password must be at least 8 characters in length
BR-14 Account’s password must be hashed when create new account
BR-15 Cannot edit class change status to “Running” or “Done”
BR-16 When changing password, user must enter correct old password
BR-17 Username/password cannot be empty
BR-18 Description cannot exceed 50 characters
BR-19 In create student form, first name, last name, email, phone number of student, address,
test result and test date cannot leave blank when submitted
BR-20 In create form if not select gender, default value is Male
BR-21 In create student form have to select class to enroll student
BR-22 In create/edit form Date of birth of user must not greater than current date
BR-23 In create/edit teacher and staff form, first name, last name, email, phone number,
address, university, graduation date and start working date cannot leave blank when
submitted
BR-24 In create/edit teacher and staff form “Graduation date” must not greater than current date
BR-25 In create/edit teacher and staff form “Start working date” can greater than current date
BR-26 In create/edit course form, name, entry requirement, output goal, number of lesson, fee,
cannot leave blank when submit
BR-27 In create/edit course form, fee must be greater than 0 and smaller than 100,000,000
BR-28 Each course has an unique id
BR-29 In create/edit class form, course, start date, time, teacher, room, maximum student,
cannot leave blank when submit
BR-30 In create/edit class form, start date must be equal or greater than current day
BR-31 In create/edit class form, teacher must follow form with support by auto search by name
teacher
BR-32 In create/edit class form, maximum student must be greater than 0 and smaller than 30
BR-33 Each class has an unique id
BR-34 Each teacher/staff/student has an unique id
BR-35 Each teacher/staff/student has unique username when create
BR-36 Tables display maximum 7 rows
BR-37 Only add teacher with status active to class
BR-38 Taking student attendance every lesson is mandatory
BR-39 When verify transaction cannot edit or delete
BR-40 Only account have status “Active” can login
BR-41 Cannot add students to a full class
BR-42 In create/edit course form, number of lessons must be greater than 0 and smaller than 30
BR-43 Cannot change reverts status of class
8
2. User Requirements
2.1 Overview
a. Use Case Diagram
b. System Actors
# Actor Description
As a role staff in system. He/she manages student such as (create
1 Coordinator
student,...), manages class (edit class, add student to class, …)
As a role staff in system. He/she can access all tasks in system and
2 Manager
can view report of center
9
c. Use Cases List
ID Use Case Primary Actors
UC-1 Create course Manager
UC-2 View course list Manager, Coordinator
10
UC-26 View class history Manager, Coordinator
11
UC-51 View dashboard Manager
Description: New course has been deemed necessary to be added to the curriculum.
12
Use case stopped
Priority: High
Frequency of Use: Low
Assumptions: This use case is expected to be used heavily on the first week the center is
opened, but after the first month frequency is predicted to drop heavily and
maybe used once a year.
Other N/A
Information:
Assumptions: N/A
13
Trigger: Staff want to search course by name
Assumptions: N/A
14
Business Rules: BR-12
e. Edit course by ID
ID and Name: UC-05 Edit course by ID
Assumptions: N/A
15
Trigger: Staff want to change status of course which not running anymore
Assumptions: N/A
Description: New teacher has been selected to fill position after he/she has been able
complete all required preconditions and provide all documents requested.
ALL information should be provided before function is carried out.
Trigger: Actor wants to add teacher to the system.
16
3. Click “Add teacher” at the top right of the teacher list page.
4. Fill in all the required field
5. Click the “Save” button
6. System proceed to perform validation and make sure all information has
been provided.
7. Information is stored in the database.
8. The Actor is redirected to the “Teacher List” page.
9. “Teacher successfully added” is shown to the actor.
Alternative N/A
Flows:
Priority: High.
Business Rules: BR-12, BR-10,BR-20, BR-22, BR-23, BR-24, BR-25, BR-34, BR-35
Other N/A
Information:
Assumptions: This use case is expected to be use very heavily when the center is newly
opened, but after the first year, It’s expected to be used sporadically from
time to time.
17
Normal Flow: 2. Select “Teacher List” in menu bar
3. The system display grid of teacher
4. Select number of pages to view more teachers
Alternative Flows: N/A
Assumptions: N/A
Assumptions: N/A
18
d. Filter Teacher of System by status
ID and Name: UC-09 Filter teacher by name and status
Exceptions: N/A
Priority: Medium
Other Information: The default select is “All”, system will display both status “Active” and
“Inactive”
Assumptions: N/A
19
2. The system display grid of accounts
3. Click “Detail” in row which teacher want to view detail
4. The system display detail information of teacher
Alternative Flows: N/A
Exceptions: N/A
Priority: High
Frequency of Use: Medium
Assumptions: N/A
f. Edit Teacher by ID
ID and Name: UC-11 Edit teacher by ID
20
Other Information: N/A
Assumptions: N/A
Assumptions: This use case is expected to be use very heavily when the center is newly
opened, but after the first year, It’s expected to be used sporadically from
time to time.
21
Preconditions: Teacher already registered in system
Assumptions: N/A
Description: New staff has been selected to fill position after he/she has been able
complete all required preconditions and provide all documents requested.
ALL information should be provided before function is carried out.
Trigger: Actor wants to add staff to the system.
22
5. System proceed to perform validation and make sure all information
has been provided.
6. Information is stored in the database.
7. The Actor is redirected to the “Staff List” page.
8. “Staff successfully added” is shown to the actor.
Alternative Flows: N/A
Priority: High.
Business Rules: BR-12, BR-20, BR-22, BR-23, BR-24, BR-25, BR-3, BR-35, BR-10
Other Information: N/A
Assumptions: This use case is expected to be use very heavily when the center is newly
opened, but after the first year, It’s expected to be used sporadically from
time to time.
23
Exceptions: 1.0.E1 Actor do not select “Staff List”
Use case stopped
Priority: Medium
Assumptions: N/A
Other Information: The default select is “All”, system will display both status “Active” and
“Inactive”
Assumptions: N/A
24
d. Filter Staff of System by status
ID and Name: UC-17 Filter staff by status
Exceptions: N/A
Priority: Medium
Other Information: The default select is “All”, system will display both status “Active” and
“Inactive”
Assumptions: N/A
Normal Flow: 1. Continue with use case “UC-16 View list staff”
2. Click “Detail” in row which teacher want to view detail
3. The system display detail information of teacher
25
Alternative Flows: No
Assumptions: N/A
f. Edit Staff by ID
ID and Name: UC-19 Edit teacher by ID
Normal Flow: 10. Continue Use case MG-10 View detail staff by ID”
11. Click “Edit” button on the top right page
12. Display detail information of teacher (all fields can edit)
13. Edit information of staff which need
14. Select button “Save”
15. System validates format and required information successfully
16. System store data into database
17. Display Detail Staff Page with new information
18. Show message “Edit staff successfully”
Alternative Flows: N/A
Assumptions: N/A
26
g. Change status of staff
ID and Name: UC-20 Change status of staff
Trigger: Staff want to change status of other staff who do not work
Normal Flow: 1. Continue from use case “UC-18 View detail staff by ID”
2. Continue from use case UC-10 View Detail Techer
3. Click button “Active/Inactive”
4. Select “OK” button
5. System store data into database
6. Reload page
Alternative Flows: N/A
Assumptions: N/A
Description: New student come to center and would like to have advice about the
curriculum, or want to have entrance test. All information’s student are
needed store in system.
Trigger: Staff want to save information of new student into system
Student want to take entrance test
Student want to enroll class
Preconditions: 1. Student not exists in system
2. Device of user is connected internet
27
Postconditions: Information of student save successfully in system
Information of student display on list student
New transaction of student will display in Fee Verification
Business Rules: BR-12, BR-04, BR-05, BR-06, BR-08, BR-10, BR-18, BR-19, BR-20, BR-
21, BR-22, BR-34, BR-35
Other Information: Expect high frequency of executing this use case within first 2 months after
system is released.
Assumptions: N/A
28
Postconditions: Show list of all student
Assumptions: N/A
Assumptions: N/A
29
d. View detail student
ID and Name: UC-24 View Detail Student
Description: Coordinator or manager can view detail information of student and also
Couse history of student
Trigger: Staff want to see detail information of student
Staff want to see course history of student
Preconditions: 1. Student already registered in system
2. Device of user is connected internet
e. Edit student
ID and Name: UC-25 Edit Student
Normal Flow: 1. Continue from use case MG-16 View Detail Student
2. Select button “Edit Student”
3. Enter information which need edit
4. Select button “Save”
30
5. System validates format and required information successfully
6. System store data into database
7. Display Detail Student Page with new information
8. Show message “Edit Student Successfully”
Alternative Flows: N/A
Assumptions: N/A
Exceptions: N/A
Priority: Medium
Other Information: If student does not enroll any class, table will be empty
Assumptions: N/A
31
h. Add student to class
ID and Name: UC-27 Add student to class
Description: After register for student, staff add student into class of course to start
studying
Trigger: Staff want to add student into new class
Normal Flow: 1. Continue from use case MG-16 View Detail Student
2. Select button “Add Class”
3. System display a pop-up with information of class
4. Select course and class
5. Select “Add” to finish
6. System validates information successfully
7. System store data into database
8. New transaction of student will display in Fee Verification
9. Show message “Add Student To Class Successfully”
Alternative Flows: Add Student to Class in Use case “Create Student”
Priority: High
Frequency of Use: High
Business Rules: BR-01, BR-03, BR-04,BR-05, BR-06, BR-07, BR-08, BR-12, BR-41
Assumptions: N/A
Trigger: Staff want to change status of student who do not study anymore or pending
course
Preconditions: Student already registered in system
32
Normal Flow: 1. Continue from use case “UC-24 View Detail Student”
2. Change status by clicking button “Active/Inactive”
3. Select button “Ok”
4. System store data into database
5. Display Detail Student Page with new status
6. Show message “Edit Student Successfully”
Alternative Flows: N/A
Assumptions: N/A
Exceptions: N/A
Priority: High
Assumptions: N/A
33
2.6 Manage Class
a. Create class
ID and Name: UC-32 Create Class
Created By: Nguyen Duc Anh Date Created: 06/10/2020
Description: New class has been deemed necessary to be added to the curriculum.
34
Assumptions: This use case is expected to be used heavily on the first week the center is
opened, but after the first month frequency is predicted to drop heavily and
maybe used once a year.
Normal Flow: 1. Continue with use case “View list class in system”
35
2. Select course which want to filter
3. Select status which want to filter
4. The system display grid of class
5. Select number of pages to view more class
Alternative Flows: N/A
Other Information: Approximately use every day to filter class and find class. Peak usage load
for this use case is between 9:00 A.M. and 9:00 P.M. local time.
Assumptions: N/A
Description: Coordinator or manager can view detail information of class and also can
attendance student
Trigger: Staff want to see detail information of class
Assumptions: N/A
36
e. Edit class
ID and Name: UC-36 Edit class
Assumptions: N/A
37
Preconditions: 1. Class already have created in system
2. Class in “Waiting” status
3. Account is authorized
4. Device of user is connected internet
Exceptions: 2.1 Actor does not click “Update Class By Day” button
Use case stopped
5.1 Click” Cancel” button on the bottom page
5.1.1 Return to page detail information teacher
Use case stopped
5.2 Information is not invalid
5.2.1 Show notice and show fields are not corrects
Use case stopped
Priority: High
Assumptions: N/A
38
Alternative Flows: N/A
Assumptions: N/A
Exceptions: N/A
Priority: High
Other Information: Approximately use every day to open and check attendance of student
Assumptions: N/A
39
Coordinator, Manager can open to check attendance of class
Trigger: Actor want to attendance student
Other Information: Approximately use every day to open and view the teaching curriculum
Assumptions: N/A
40
2.0.E2 User click status button to revert status
Use case stopped
3.0.E1 User click button “Cancel”
Use case stopped
Priority: High
Business Rules:
Other Information: Approximately use every day to open and view the teaching curriculum
Assumptions: N/A
Other Information: Approximately use every day to open and view the teaching curriculum
Assumptions: N/A
41
Trigger: Staff want to view all account
Assumptions: N/A
42
Priority: High
Assumptions: N/A
Exceptions: N/A
Priority: High
Frequency of Use: Medium
Assumptions: N/A
43
Preconditions: 1. Staff/ Student already have account in system
2. Account is authorized
3. Device of user is connected internet
4. Only account Coordinator/manager can access
Normal Flow: 1. Select “Reset password” button in row account need reset
2. The system display notice success
Alternative Flows: N/A
Exceptions: N/A
Priority: High
Assumptions: N/A
Description: Staff view list pending transaction to prepare check and prove transaction
Other Information: If there are not pending transactions, table will be display empty
Every day accountant will check and prove transaction.
44
Assumptions: N/A
Description: Accountant with check bill of coordinator, if match the total money, he/she
will approve pending transaction
Trigger: Staff want to approve pending transactions
Normal Flow: 1. Continue with use case “View list pending transaction”
2. Actor select all transactions matched in last column
3. Click “Verify” button on the right top screen
4. Click “OK” button to confirm decision
5. The system display grid of pending transaction left
Alternative Flows: N/A
Other Information: Every day accountant will check and prove transaction.
Assumptions:
45
Description: Accountant or manager search pending transaction to check or find faster
Normal Flow: 1. Continue with use case “View list pending transaction”
2. Actor insert name of student which need be searched
3. Press “Enter” keyboard to search
4. System display grid of transaction are found
Alternative Flows: N/A
Assumptions: N/A
Description: Staff view list transaction to check again transaction and check detail who
approve
Trigger: Staff want to view history transactions in system
46
Frequency of Use: High
Assumptions: N/A
47
Primary Actor: Accountant, Manager Secondary Actors: N/A
Assumptions: N/A
48
Alternative Flows: N/A
Exceptions: 4.0 The system has failed login credential and displays a message
4.1 The user close browser
Use case stopped
4.2 The user clicks “Forgot password?”
Use cases continue to UseCase UC-03
Priority: High
Assumptions: N/A
b. Sign out
UC ID and Name: UC-53 Sign Out System
Description: User want to sign out system when he/she do not want access system
Assumptions: N/A
49
c. Forgot Password
UC ID and Name: UC-54 Forgot password
Description: User forgot their password and want to reset password by click “Forgot
password”
50
Alternative Flows: N/A
Assumptions: N/A
Normal Flow: 1. Continue with use case “UC-55 View user profile”
2. Click “Change password” button
3. Insert old password and new password
4. Click “Save” button
5. System verify password
6. Save new password to database
Alternative Flows: N/A
Exceptions: 2.0.E1 Actor do not click “Change password” button
Use case stopped
4.0.E1 Actor do not click “Save” button
Use case stopped
4.0.E2 Actor clicks “Cancel” button
Use case stopped
5.0.E1 Actor does no correct old password
5.0 E1 Show message
Use case stopped
Priority: Medium
Assumptions: N/A
51
2.11 Dashboard report
a. View user profile
ID and Name: UC-51 View dashboard
Created By: Nguyen Duc Anh Date Created: 30/09/2020
Description: Actor want to view report in system or report of their own account
Trigger: Actor want to view report in system or report of their own account
Assumptions: N/A
3. Functional Requirements
3.1 System Functional Overview
a. Screen Flow
52
Screen Diagram with role Manager
53
Screen Diagram with role Accountant
54
Screen Diagram with role Coordinator
55
Screen Diagram with role Teacher
56
Screen Diagram with role Student
b. Screen Details
# Feature Screen Description
1 Authentication Login Actor access to fill username and password to check
Display overall information of students, each page has 7
2 List Student
columns corresponding 7 students
Display overall information of students, each page has 7
3 Search Student columns corresponding 7 students follow by searching.
Actor can search by name of student
4 Add Student Display a form, help staff fill all information of student
Manage Student Display detail information of student and class history of
5 Student Detail
student
Actor can edit detail information of student if it is not
6 Edit Student
correct
Test result by
7 View detail test score in specific class of student
class
8 Add to class Add specific student into class
Display overall information of teacher, each page has 7
9 List Teacher
columns corresponding 7 teachers
Manage Teacher
Display overall information of teacher, each page has 7
10 Search Teacher columns corresponding 7 teachers follow by searching.
Actor can search by name of teacher and working status
57
11 Add Teacher Display a form, help actor fill all information of teacher
12 Teacher Detail Display detail information of teacher
Actor can edit detail information of teacher if it is not
13 Edit Teacher
correct
Display overall information of staff, each page has 7
14 List Staff
columns corresponding 7 staffs
Display overall information of staff, each page has 7
15 Search Staff columns corresponding 7 staffs follow by searching.
Manage Staff Actor can search by name of staff and working status
16 Add Staff Display a form, help actor fill all information of staff
17 Staff Detail Display detail information of staff
Actor can edit detail information of staff if it is not
18 Edit Staff
correct
Display overall information of course, each page has 7
19 List Course
columns corresponding 7 courses
Display overall information of course, each page has 7
20 Search Course columns corresponding 7 courses follow by searching.
Manage Course Actor can search by name of course
21 Add Course Display a form, help actor fill all information of course
22 Course Detail Display detail information of course
Actor can edit detail information of course if it is not
23 Edit Course
correct (only can edit name and material link)
Display overall information of course, each page has 7
24 List class
columns corresponding 7 courses
Display overall information of course, each page has 7
25 Search class columns corresponding 7 courses follow by searching.
Actor can search by name of course
26 Add class Display a form, help actor fill all information of course
27 Class Detail Display detail information of course
Actor can edit detail information of course if it is not
28 Manage Class Edit Class
correct (only can edit name and material link)
29 Material Open new tab on browser to show material of class
Attendance
30 Actor attendance student during class start.
Student
Display overall pending transactions, each page has 7
List Pending
31 columns corresponding 7. Actor can tick transactions to
Transaction
approve
Display overall pending transactions, each page has 7
Search Pending columns corresponding 7 transactions follow by
32
Transaction searching. Actor can search by name of student in
Manage Transaction transaction
List Approved Display detail approved transactions, each page has 7
33
Transaction columns corresponding 7 transactions.
Display overall pending transactions, each page has 7
Search
columns corresponding 7 transactions follow by
34 Approved
searching. Actor can search by name of student and date
Transaction
approved in transaction
Display overall account information, each page has 7
35 List Account columns corresponding 7 accounts. Actor can click
Manage Account button “Reset Password” to reset password to default
Display overall account information, each page has 7
36 Search Account
columns corresponding 7 accounts. Actor can search
58
account by name and filter account by role (such as
student, staff, …)
c. Screen Authorization
Screen Manager Coordinator Accountant Student Teacher
Login x x x x x
View profile x x x x x
List Student x x
Search Student x x
Add Student x x
Student Detail x x x
Edit Student x x
Test result by class x x x x
Add to class x x
List Teacher x
Search Teacher x
Add Teacher x
Teacher Detail x
Edit Teacher x
List Staff x
Search Staff x
Add Staff x
Staff Detail x
Edit Staff x
List Course x x
Search Course x x
Add Course x
Course Detail x x
Edit Course x
List class x x
Search class x x
Add class x
Class Detail x x x
Edit Class x x
Material x x x
Attendance Student x x x
List Pending Transaction x x
Search Pending Transaction x x
List Approved Transaction x x
Search Approved Transaction x x
List Account x
Search Account x
d. Entity Relationship Diagram
59
Entities List
# Entity Description
Have attribute: ID, Center ID, First Name, Last Name, Email,
1 Staff Phone, username, password, gender, start working date, Date of
birth, degree, university, graduation date, address, is Active
2 Center Have attribute: ID, Name, Address, Phone, header
Have attribute: ID, Category ID, Name, Price, Hour Per Session,
3 Course Creator, Creation Date, Material Link, Status, Total Lesson, Entry,
Goal
Have attribute: ID, Course ID, Name, Creator, Creation Date,
4 Class StartDate, End Date, Schedule, Description, Status, Total Student,
Teacher ID, Max Student, Room
Have attribute: ID, First Name, Last Name, Phone, Email,
User Name, Password, Is Active, Gender, Date of Birth,
5 Teacher
Address, Degree, University, Graduation Date, Rank,
Working Type, Start Working Date
6 Student Have attribute: ID, User Name, Password, Is Active
7 Payment Method Have attribute: ID, PaymentMethod
8 Session Have attribute: ID, CourseID, MaterialLink
Have attribute: ID, Course ID, Title, Skill, Creator, Creation
9 Lesson
Date, Description
10 Homework Have attribute: ID, Lession ID, Title, URL
60
1 button to verify account to access system
1 link “Forgot password”
Screen layout:
Function Detail:
o Field username allow actor insert characters
o Field password allow actor insert characters and only display “.” for each character
o Field role allow actor select role (Teacher, Student, Staff)
o Field “Remember me” allow actor select tick or not
o Function help verify account before access system
o If correct account, page will redirect to dashboard page
o If not correct account, stay in login page and display notice
61
Function Detail:
o Field search box allow actor insert characters
o Field status allow actor select status of student (All, Active, Inactive)
o Table have 7 rows display for each student
o Table have 6 columns display for fields (No., Full name student, Date of birth student,
phone number student, status of student and button view detail student)
o Navigation page number display number current page and total page have to display
student in system
b. Create Student
Function trigger:
o When actor click “Add new student” on left menu
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/student_create
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Create new student in center
o Interface:
12 text fields to insert information student
4 text fields to insert information student’s parent
7 text fields to insert information test result
4 text fields to insert information student study abord
5 text fields to display information of class
13 fields are required
2 buttons (Save, Cancel)
Screen layout:
62
Function Detail:
o Actor fills all formation of student then select class which student will be enrolled.
o If actor does not full not required fields, system will set default value is “Empty”
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to list student page and all data in create page will not
save
c. Search Student
Function trigger:
o When actor click Enter on keyboard
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/search_name
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Search student in center
63
o Interface:
1 text box to insert first name student
1 select box to select status of student
Screen layout:
Function Detail:
o Field search box allow actor insert characters
o Field status allow actor select status of student (All, Active, Inactive)
o Table have 7 rows display for each student found after actor click “Enter” or change
status of student
o Table have 6 columns display for fields (No., Full name student, Date of birth student,
phone number student, status of student and button view detail student)
o Navigation page number display number current page and total page have to display
student in system
d. Student Detail
Function trigger:
o When actor click Detail button in row of student
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/
student/detail?id=(studentID)
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: View detail information of student in center
o Interface:
12 text fields to insert information student
4 text fields to insert information student’s parent
7 text fields to insert information test result
4 text fields to insert information student study abord
5 text fields to display information of class
2 fixed buttons (Edit, Add student to class)
Buttons “View test result” depend on class of student
Screen layout:
64
Function Detail:
o Fields are displayed detail information of student
e. Edit Student
Function trigger:
o When actor click “Edit” button in detail student page
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/student/
edit?id=(studentID)
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Edit detail information student in center
o Interface:
12 text fields to edit information student
4 text fields to edit information student’s parent
7 text fields to edit information test result
4 text fields to edit information student study abord
13 fields are required
2 buttons (Save, Cancel)
Screen layout:
65
Function Detail:
o Actor edit information of student which not correct.
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to detail student page and all data in create page will not
save
66
2 buttons (Save, Cancel)
Screen layout:
Function Detail:
o Actor need select course name, system will show all waiting class.
o When actor select class, all detail information of class will be displayed.
g. Add old student to class
Function trigger:
o When actor click “Add to class” on detail student page
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/student/detail?id=(studentID)
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Add old student in class
67
o Interface:
5 text fields to display information of class
1 button (Save)
Screen layout:
Function Detail:
o Actor need select course name, system will show all waiting class.
o When actor select class, all detail information of class will be displayed.
o After add student to class, system will display notification
68
Function Detail:
o Field status allow actor select status of class (All, Waiting, Running, Done)
o Field course allow actor select name of course.
o Table have 7 rows display for each class.
o Table have 6 columns display for fields (No., Class Name, number student in class,
duration of class, status of class and button view detail class)
o Navigation page number display number current page and total page have to display
class in system
b. Create Class
Function trigger:
o When actor click “Create new class” on right top page
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/class/create
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Create new class in center
o Interface:
6 text fields to insert information of class
2 buttons (Save, Cancel)
Screen layout:
69
Function Detail:
o Actor select course after that fill information of class.
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to list class page and all data in create page will not save
c. Filter Class
Function trigger:
o When actor change status of class or change course.
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/search_name
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Filter class in center
o Interface:
2 combo boxes to select course and select status of class
1 table
1 navigation page number
Screen layout:
70
Function Detail:
o Field status allow actor select status of class (All, Waiting, Running, Done)
o Field course allow actor select name of course are running.
o Table have 7 rows display for each class.
o Table have 6 columns display for fields (No., Class Name, number student in class,
duration of class, status of class and button view detail class)
o Navigation page number display number current page and total page have to display
class in system
d. Class Detail
Function trigger:
o When actor click Detail button in row of class
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/class/detail?id=(classID)
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: View detail information of class in center
o Interface:
7 text fields display information of class
4 fixed buttons (Edit, Update class by day, View material, Attendance)
1 table
Screen layout:
71
Function Detail:
o Fields are displayed detail information of class
e. Edit Class
Function trigger:
o When actor click “Edit” button in detail class page
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/class/edit_all?id=(classId)&status=(classStatus)
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Edit detail information class in center
o Interface:
6 text fields to edit information of class
2 buttons (Save, Cancel)
Screen layout:
72
Function Detail:
o Actor can change status of class to start Running or change to Done if class is finish
o Actor edit information of class which not correct.
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to detail student page and all data in create page will not
save
f. Update class by day
Function trigger:
o When actor click “Update class by day” button in detail class page
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/class/edit_class_day
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Edit detail information class in one specific date in center
o Interface:
4 text fields to edit information of class
2 buttons (Save, Cancel)
Screen layout:
73
Function Detail:
o Actor can change information of class in specific day
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to detail class page and all data in create page will not
save
f. Attendance student in class
Function trigger:
o When actor click “Attendance” button in detail class page
o Open pop-up
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: Edit attendance of student in one specific date
o Interface:
1 table display student in class
2 buttons (Save, Cancel)
Screen layout:
74
Function Detail:
o Field status allow actor select status of class (All, Waiting, Running, Done)
o Field course allow actor select name of course are running.
o Table have at least 1 row display for student in class.
o Table have 4 columns display for fields (Student Id, Student Name, attendance box,
note)
75
Function Detail:
o Field search box allow actor insert characters
o Table have 7 rows display for each pending transaction
o Table have 6 columns display for fields (Bill Id., full name student, date create
transaction, name of course, fee student paid, tick square )
o Navigation page number display number current page and total page have to display
pending transaction in system
b. View list Approved transaction
Function trigger:
o When actor click “Transaction List” on left menu
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/accountant/transList
Function description:
o Actor/Role: Staff (Manager, Accountant)
o Purpose: View list transaction approved in system
o Interface:
1 search box to fill first name of student want to searcher transaction of
student
2 search boxes to fill date need to search transaction
1 table
1 navigation page number
Screen layout:
76
Function Detail:
o Field search box allow actor insert characters
o Table have 7 rows display for each approved transaction
o Table have 7 columns display for fields (Transaction Id., full name student, payment
date, name of course, fee student paid, name of staff verify transaction, verification
date)
o Navigation page number display number current page and total page have to display
transaction in system
77
Function Detail:
o Field search box allow actor insert characters
o Field status allow actor select role want to search (Student, Staff, Teacher)
o Table have 7 rows display for each student
o Table have 6 columns display for fields (No., Full name, Date of birth student, phone
number student, role, username, button view reset password)
o Navigation page number display number current page and total page have to display
account in system
78
Function Detail:
o Field search box allow actor insert characters
o Field status allow actor select status of teacher (All, Active, Inactive)
o Table have 7 rows display for each teacher
o Table have 6 columns display for fields (No., Full name teacher, Date of birth student,
phone number teacher, status of teacher and button view detail teacher)
o Navigation page number display number current page and total page have to display
teacher in system
b. Create teacher
Function trigger:
o When actor click “Add new teacher” on left menu
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/teacher/create
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Create new teacher in center
o Interface:
14 text fields to insert information teacher
14 fields are required
2 buttons (Save, Cancel)
Screen layout:
79
Function Detail:
o Actor fills all formation of teacher
o If actor does not full not required fields, system will set default value is “Empty”
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to list teacher page and all data in create page will not
save
c. Search teacher
Function trigger:
o When actor click Enter on keyboard
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/search_teacher
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Search teacher in center
o Interface:
1 text box to insert first name teacher
1 select box to select status of teacher
Screen layout:
80
Function Detail:
o Field search box allow actor insert characters
o Field status allow actor select status of student (All, Active, Inactive)
o Table have 7 rows display for each student found after actor click “Enter” or change
status of student
o Table have 6 columns display for fields (No., Full name student, Date of birth student,
phone number student, status of student and button view detail student)
o Navigation page number display number current page and total page have to display
student in system
d. Teacher Detail
Function trigger:
o When actor click Detail button in row of teacher
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/teacher/detail?id=(teacher ID)
Function description:
o Actor/Role: Staff (Manager)
o Purpose: View detail information of teacher in center
o Interface:
14 text fields information student
1 fixed button (Edit)
Screen layout:
81
Function Detail:
o Fields are displayed detail information of teacher
e. Edit teacher
Function trigger:
o When actor click “Edit” button in detail teacher page
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/teacher/
edit?id=(teacherID)
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Edit detail information teacher in center
o Interface:
9 text fields to edit information teacher
5 combo boxed to edit information teacher
14 fields are required
2 buttons (Save, Cancel)
Screen layout:
82
Function Detail:
o Actor edit information of teacher which not correct.
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to detail teacher page and all data in create page will not
save
83
Function Detail:
o Field search box allow actor insert characters
o Field status allow actor select status of staff (All, Active, Inactive)
o Table have 7 rows display for each staff
o Table have 6 columns display for fields (Staff ID., Full name staff, Date of birth
student, phone number staff, position, status of staff and button view detail staff)
o Navigation page number display number current page and total page have to display
staff in system
b. Create staff
Function trigger:
o When actor click “Add new staff” on left menu
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/staff/create
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Create new staff in center
o Interface:
12 text fields to insert information teacher
12 fields are required
2 buttons (Save, Cancel)
Screen layout:
84
Function Detail:
o Actor fills all formation of staff
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to list staff page and all data in create page will not save
c. Search staff
Function trigger:
o When actor click Enter on keyboard
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/search_staff
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Search staff in center
o Interface:
1 text box to insert first name staff
1 select box to select status of staff
Screen layout:
85
Function Detail:
o Field search box allow actor insert characters
o Field status allow actor select status of student (All, Active, Inactive)
o Table have 7 rows display for each staff found after actor click “Enter” or change
status of staff
o Table have 6 columns display for fields (Staff ID., Full name staff, Date of birth
student, phone number staff, position, status of staff and button view detail staff)
o Navigation page number display number current page and total page have to display
staff in system
d. Staff Detail
Function trigger:
o When actor click Detail button in row of staff
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/staff/detail?id=(staff ID)
Function description:
o Actor/Role: Staff (Manager)
o Purpose: View detail information of staff in center
o Interface:
14 text fields information student
1 fixed button (Edit)
Screen layout:
86
Function Detail:
o Fields are displayed detail information of staff
e. Edit staff
Function trigger:
o When actor click “Edit” button in detail staff page
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/staff/
edit?id=(staffID)
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Edit detail information staff in center
o Interface:
10 text fields to edit information staff
4 combo boxed to edit information teacher
14 fields are required
2 buttons (Save, Cancel)
Screen layout:
87
Function Detail:
o Actor edit information of staff which not correct.
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to detail staff page and all data in create page will not
save
88
Function Detail:
o Field search box allow actor insert characters
o Table have 7 rows display for each course
o Table have 6 columns display for fields (No., Full name course, number of lesson, ,
status of course and button view detail course)
o Navigation page number display number current page and total page have to display
course in system
b. Create course
Function trigger:
o When actor click “Add new course” on left menu
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/course/create
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Create new course
o Interface:
6 text fields to insert information course
5 fields are required
2 buttons (Save, Cancel)
Screen layout:
89
Function Detail:
o Actor fills all formation of course
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to list course page and all data in create page will not
save
c. Search course
Function trigger:
o When actor click Enter on keyboard
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/search_coursee
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Search course in center
o Interface:
1 text box to insert name of course
1 table
1 navigation page number
Screen layout:
90
Function Detail:
o Field search box allow actor insert characters
o Table have 7 rows display for each course found after actor click “Enter”
o Table have 6 columns display for fields (No., Full name course, number of lesson, ,
status of course and button view detail course)
o Navigation page number display number current page and total page have to display
course in system
d. Course Detail
Function trigger:
o When actor click Detail button in row of course
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/course/detail?id=(course ID)
Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: View detail information of course in center
o Interface:
6 text fields information course
Screen layout:
91
Function Detail:
o Fields are displayed detail information of course
e. Edit course
Function trigger:
o When actor click “Edit” button in detail course page
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/course/
edit?id=(courseID)
Function description:
o Actor/Role: Staff (Manager)
o Purpose: Edit detail information course in center
o Interface:
6 text fields to edit information course
5 fields are required
2 buttons (Save, Cancel)
Screen layout:
92
Function Detail:
o Actor edit information of course which not correct.
o System will verify all data which actor fill in. If one of data is not correct, system will
show notification and change color to red which filed is not correct.
o If actor click back will return to detail course page and all data in create page will not
save
4. Non-Functional Requirements
4.1 Quality Attributes
a. Usability
Responsive website is suitable with people using multiple resolutions, such as 768px – 1024px
– 1200px. User interface should be clear and easy to use.
Website UI supports Chrome, Microsoft Edge, Safari.
Text font “Open Sans” with font size 16, are suitable for user view clearly
b. Reliability
Availability
o Time available 98%
o Hours of use 24/24 hours
o Maintenance access for only admin with account on git lab
93
Maximum Bugs or Defect Rate—usually expressed in terms of bugs per thousand lines of code
(bugs/KLOC) or bugs per function-point( bugs/function-point).
Bugs or Defect Rate :
c. Performance
The system must be responsive. (0.9 s – 1.9s)
The system can support a large number of users at the same time.
d. Supportability
- Easy to maintain
5. Other Requirements
5.1 Messages List
Message Message
# Context Content
code Type
Toast
1 MSG01 Input-required fields are empty Please fill out this field
message
Toast Input value is greater than max
2 MSG02 Please enter a valid value
message value or less than min value
Toast
3 MSG03 Input is number but submit text Please enter a number
message
In red, under Invalid input. Please try
4 MSG04 Input is invalid
the text box again
Successfully added new student Successfully added new
5 MSG05 Alert box
to class student to class
Successfully added new
6 MSG06 Alert box Successfully added new teacher
teacher
Successfully added new
7 MSG07 Alert box Successfully added new staff
teacher
Successfully create new
8 MSG08 Alert box Successfully create new course
course
Successfully create new
9 MSG09 Alert box Successfully create new class
class
10 MSG10 Alert box Successfully edit information Successfully saved
11 MSG11 Alert box Successfully reset password Successfully reset password
12 MSG12 Alert box Successfully reset password Successfully reset password
13 MSG13 Alert box Successfully verify payment Successfully verify payment
Create class with a same day in Cannot create class with a
14 MSG14 Alert box
a week same day in a week
15 MSG15 Alert Forgot password Forgot password
16 MSG16 Alert Change status Confirm changing status?
94
Confirm payment
17 MSG17 Alert Verify payment
verification?
Edit class with status running Cannot edit class with status
18 MSG18 Alert
or done running or done
Successfully changed
19 MSG19 Alert box Successfully changed password
password
20 MSG20 Alert box Password is incorrect Password is incorrect
Re-enter password does not Confirmation password
21 MSG21 Alert box
match with new password does not match
New password is the same with New password must be
22 MSG22 Alert box
old password different from old password
Username or password or
23 MSG22 Alert box Authentication
role is incorrect
Your account has been
23 MSG23 Alert box Login with an inactive account
deactivated
95