Download as pdf or txt
Download as pdf or txt
You are on page 1of 95

CAPSTONE PROJECT REPORT

Report 3 – Software Requirement Specification

– Hanoi, September 2020 –

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.

D1. Context Diagram

1.2 Business Rules

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

As a role staff in system. He/she have task involve manage class


3 Teacher (attendance student, update mark student, …), can follow class
which is in charged.

As a role student in system. He/she can follow study progress,


4 Student
result test.

As a role staff in system. He/she have task involve manage


5 Accountant
transaction such as verify transaction, view history transaction

9
c. Use Cases List
ID Use Case Primary Actors
UC-1 Create course Manager
UC-2 View course list Manager, Coordinator

UC-3 Search course by like name Manager, Coordinator

UC-4 Course detail Manager, Coordinator

UC-5 Edit course Manager

UC-57 Change status of course Manager

UC-6 Create teacher Manager

UC-7 View teacher list Manager, Coordinator

UC-8 Search teacher by like name and status Manager, Coordinator

UC-9 Filter teacher by status Manager, Coordinator

UC-10 View teacher detail Manager, Coordinator

UC-11 Edit teacher Manager

UC-12 Add teacher to class Manager

UC-13 Change status of teacher Manager

UC-14 Create staff Manager

UC-15 View staff list Manager

UC-16 Search staff by like name Manager

UC-17 Filter staff by status Manager

UC-18 View staff detail Manager

UC-19 Edit staff Manager

UC-20 Change status of staff Manager

UC-21 Create student Manager, Coordinator


UC-22 View student list Manager, Coordinator

UC-23 Search student by like name and status Manager, Coordinator

UC-24 View student detail Manager, Coordinator

UC-25 Edit student Manager, Coordinator

10
UC-26 View class history Manager, Coordinator

UC-27 Add student to class Manager, Coordinator


UC-28 Change status of Student Manager, Coordinator

UC-29 Filter student by status Manager, Coordinator

UC-30 View test result by class id Manager, Coordinator, Teacher,


Student

UC-31 Edit test result by class id Manager, Coordinator, Teacher

UC-32 Create class Manager

UC-33 View class list Manager, Coordinator

UC-34 Filter class by course name and status Manager, Coordinator

UC-35 Class detail Manager, Coordinator


UC-36 Edit class all class Manager, Coordinator

UC-37 Edit class by day Manager, Coordinator

UC-38 View material in class detail Manager, Coordinator


UC-39 View attendance student Manager, Coordinator

UC-40 Edit attendance student Manager, Coordinator


UC-58 Change status of class Manager, Coordinator

UC-41 View list account in system Manager, Coordinator

UC-42 Search account by like name and role Manager, Coordinator

UC-43 Filter account by role Manager, Coordinator


UC-44 Reset password by role and id Manager, Coordinator

UC-45 View list pending transaction Manager, Accountant

UC-46 Verify transaction Manager, Accountant

UC-47 Search pending transactions by name Manager, Accountant


UC-48 View transaction list Manager, Accountant

UC-49 Search transaction by name Manager, Accountant

UC-50 Filter transaction start date to end date Manager, Accountant

11
UC-51 View dashboard Manager

UC-52 Login [All]

UC-53 Sign out [All]

UC-54 Forgot password [All]

UC-55 View user profile [All]

UC-56 Change user password [All]

2.2 Manage Course


a. Create course
ID and Name: UC-01 Create Course.

Created By: Reginald Tony-Okonta Date Created: 15/10/2020

Primary Actor: Manager Secondary Actors: N/A

Description: New course has been deemed necessary to be added to the curriculum.

Trigger: Actor wants to add new course to the system.


Preconditions: 1. Course does not already exist in the system.
2. Actor should have device that is capable of handling the system.
3. Actor should have decent access to the internet.

Postconditions: 1. Course details are successfully added to the system.


2. Course info is accessible from the “course list” screen.

Normal Flow: 1. Continue with use case “UC-?? Course list”


2. Click “Add Course” at the top right of the teacher list page.
3. Fill in all the required field
4. Click the “Save” button at the bottom right of the “add course” form.
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 “Course List” page.
8. Show message “Create Course Successfully”
Alternative Flows: N/A

Exceptions: 2.0.E1 Actor do not select button “Add course”


Use case stopped
4.0.E1 Actor select button “Back”
Use case stopped
4.0.E2 Actor select button “Go back” on browser
Use case stopped
5.0.E1 The system has failed validate format
5.1.E1 Displays a message
5.0.E2 The system has failed validate required information
5.1.E2 Displays a message
5.0.E3 The system has failed validate because duplicate information in
database

12
Use case stopped
Priority: High
Frequency of Use: Low

Business Rules: BR-12, BR-26, BR-27, BR-28, BR-42

Other Information: N/A

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.

b. List Course of System


ID and Name: UC-02 View list course in system

Created By: Nguyen Duc Anh Date Created: 17/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A


Description: Coordinator or manager view list course of student/staff in system

Trigger: Staff want to view all course

Preconditions: 1. Course already have created in system


2. Account is authorized
3. Device of user is connected internet

Postconditions: Show list of all course

Normal Flow: 1. Select “Course List” in menu bar


2. The system display grid of accounts
3. Select number of pages to view more account
Alternative N/A
Flows:

Exceptions: 1.0.E1 Actor do not select “Course List”


Use case stopped
Priority: High

Frequency of Use: Low


Business Rules: BR-12, BR-36

Other N/A
Information:

Assumptions: N/A

c. Search Course by Name


ID and Name: UC-03 Search course by like Name

Created By: Nguyen Duc Anh Date Created: 20/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Course can be found by name

13
Trigger: Staff want to search course by name

Preconditions: 1. Course already have created in system


2. Account is authorized
3. Device of user is connected internet

Postconditions: Show list of found course


Normal Flow: 1. Continue use case “View list course in system”
2. Typing name of course which want to search
3. Press Enter button on keyboard
4. Select number of pages to view more course
Alternative Flows: N/A

Exceptions: 1.0 E1 Actor do not type anything


Display all course in system
2.0 E1 Actor do not press “Enter”
Use case stopped
Priority: Medium

Frequency of Use: Low

Business Rules: BR-12


Other Information: N/A

Assumptions: N/A

d. View Detail Course


ID and Name: UC-04 View detail course in system
Created By: Nguyen Duc Anh Date Created: 20/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager view list course of student/staff in system

Trigger: Staff want to view all course

Preconditions: 1. Course already have created in system


2. Account is authorized
3. Device of user is connected internet

Postconditions: Show list of all course

Normal Flow: 1. Select “Course List” in menu bar


2. The system display grid of accounts
3. Select number of pages to view more course
Alternative Flows: N/A
Exceptions: 3.0 E1 Actor do not select “Course List” in menu bar
Use case stopped
Priority: Medium

Frequency of Use: Low

14
Business Rules: BR-12

Other Information: N/A


Assumptions: N/A

e. Edit course by ID
ID and Name: UC-05 Edit course by ID

Created By: Nguyen Duc Anh Date Created: 01/10/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Manager edit detail information of course

Trigger: Staff want to edit information of course

Preconditions: 1. Course already have created in system


2. Account is authorized
3. Device of user is connected internet

Postconditions: Save the latest information of course


Normal Flow: 1. Continue Use case MG-10 View detail course in system”
2. Click “Edit” button on the top right page
3. Display detail information of course (all fields can edit)
4. Edit information of course which need
5. Select button “Save”
6. System validates format and required information successfully
7. System store data into database
8. Display detail course page with new information
9. Show message “Edit course successfully”
Alternative Flows: No

Exceptions: 5.1 E0 Click” Cancel” button on the bottom page


5.2 E0 Return to page detail information course
5.2 Information is not invalid
5.2.1 Show notice and show filed are not corrects
5.2.2 Not change page
Priority: High

Frequency of Use: Low

Business Rules: BR-11, BR-12, BR-26, BR-27, BR-42


Other Information: N/A

Assumptions: N/A

g. Change status of course


ID and Name: UC-57 Change status of course

Created By: Nguyen Duc Anh Date Created: 08/10/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Course not running anymore

15
Trigger: Staff want to change status of course which not running anymore

Preconditions: 1. Course already have created in system


2. Account is authorize
3. Device of user is connected internet

Postconditions: All Information of teacher display on detail teacher


Normal Flow: 1. Continue from use case “UC-04 View detail course in system”
2. Click button “Running/Stopped”
3. Select “OK” button
4. System store data into database
5. Reload page
Alternative Flows: N/A

Exceptions: 2.0.E1 User do not click button “Running/Stopped”


Use case stopped
3.0.E1 User select button “Cancel”
Use case stopped
3.0.E2 User select button “Go back” on browser
Use case stopped
Priority: Medium

Frequency of Use: Low

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

2.3 Manage Teacher


a. Create New Teacher
ID and Name: UC-06 Create new teacher.

Created By: Reginald Tony-Okonta Date Created: 10/10/2020

Primary Actor: Manager Secondary Actors: 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.

Preconditions: 1. Teacher isn’t already preexisting in the system at all


2. All requested documents and information have been provided and
confirmed.
3. Actor should have device that is capable of handling the system.
4. Actor should have decent access to the internet.

Postconditions: Information of teacher should be stored in the system followed by a


confirmation message.
Teacher should appear in teacher List page.

Normal Flow: 1. Select “Teacher List” from the menu bar


2. System displays the “Teacher List” page.

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:

Exceptions: 3.0.E1 Actor do not select button “Add teacher”


Use case stopped
5.0.E1 Actor select button “Back”
Use case stopped
5.0.E2 Actor select button “Go back” on browser
Use case stopped
6.0.E1 The system has failed validate format
6.1.E1 Displays a message
6.0.E2 The system has failed validate required information
6.1.E2 Displays a message
6.0.E3 The system has failed validate because duplicate information in
database

Priority: High.

Frequency of Use: N/A

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.

b. List Teacher of System


ID and Name: UC-07 View teacher list

Created By: Nguyen Duc Anh Date Created: 10/10/2020

Primary Actor: Manager, Coordinator Secondary Actors: N/A

Description: Manager view list teacher in system

Trigger: Staff want to view all teacher in system


Preconditions: 1. Staff/ Student already have account in system
2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list of all teacher in center

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

Exceptions: 1.0.E1 Actor do not select “Teacher List”


Use case stopped
Priority: High

Frequency of Use: Medium


Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

c. Search Teacher of System by name and status


ID and Name: UC-08 Search teacher by name and status

Created By: Nguyen Duc Anh Date Created: 10/10/2020

Primary Actor: Manager, Coordinator Secondary Actors: N/A

Description: Coordinator or manager search teacher in system

Trigger: Staff want to search teacher in system

Preconditions: 2. Student already registered in system


3. Device of user is connected internet

Postconditions: Show list of all student

Normal Flow: 1. Select “Teacher List” in menu bar


2. The system display grid of teacher
3. User insert name of teacher which need be searched
4. Select status of teacher which want to search
5. Click “Enter” to search
6. System display grid of teacher are found
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not insert anything in bar search


3.1 E1 System display all teacher by status
4.0 E1 If user don’t select status, status default is “All”
5.0 E1 User do not click Enter
Use case stopped
Priority: High
Frequency of Use: Medium

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

18
d. Filter Teacher of System by status
ID and Name: UC-09 Filter teacher by name and status

Created By: Duc Anh Date Created: 10/10/2020

Primary Actor: Manager, Coordinator Secondary Actors: N/A

Description: Coordinator or manager search teacher in system


Trigger: Staff want to search teacher in system

Preconditions: 2. Staff/ Student already have account in system


3. Account is authorized
4. Device of user is connected internet
5. Only account staff/manager can access

Postconditions: Show list search teacher

Normal Flow: 1. Continue use case “View list teacher”


2. Select status of teacher which want to search
3. The system display grid of accounts
Alternative Flows: Not Yet

Exceptions: N/A

Priority: Medium

Frequency of Use: Medium

Business Rules: BR-12, BR-36

Other Information: The default select is “All”, system will display both status “Active” and
“Inactive”
Assumptions: N/A

e. View detail teacher by ID


ID and Name: UC-10 View detail teacher by ID

Created By: Nguyen Duc Anh Date Created: 11/10/2020

Primary Actor: Manager, Coordinator Secondary Actors: N/A

Description: Coordinator or manager view detail information of teacher in center

Trigger: Staff want to view detail information of teacher

Preconditions: 1. Teacher already have account in system


2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show detail information of teacher

Normal Flow: 1. Select “Teacher List” in menu bar

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

Business Rules: BR-12

Other Information: N/A

Assumptions: N/A

f. Edit Teacher by ID
ID and Name: UC-11 Edit teacher by ID

Created By: Nguyen Duc Anh Date Created: 09/10/2020


Primary Actor: Manager Secondary Actors: N/A

Description: Coordinator or manager edit detail information of teacher


Trigger: Staff want to edit information of teacher

Preconditions: 2. Teacher already have account in system


3. Account is authorized
4. Device of user is connected internet
5. Only account staff/manager can access

Postconditions: Save the latest information of teacher

Normal Flow: 1. Continue Use case UC-10 View detail teacher by ID


2. Click “Edit” button on the top right page
3. Display detail information of teacher (all fields can edit)
4. Edit information of teacher which need
5. Select button “Save”
6. System validates format and required information successfully
7. System store data into database
8. Display Detail Teacher Page with new information
9. Show message “Edit teacher successfully”
Alternative Flows: Not Yet

Exceptions: 5.1 Click” Cancel” button on the bottom page


5.1.1 Return to page detail information teacher
5.2 Information is not invalid
5.2.1 Show notice and show fields are not corrects
5.2.2 Not change page
Priority: High

Frequency of Use: Medium

Business Rules: BR-12, BR-23, BR-24, BR-25

20
Other Information: N/A

Assumptions: N/A

g. Add Teacher to class


ID and Name: UC-12 Add teacher to class
Created By: Nguyen Duc Anh Date Created: 10/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Add teacher to new class

Trigger: Actor wants to add teacher in new class.

Preconditions: 1. Information of teacher is already in system


2. Status of teacher is “Active”

Postconditions: Information of teacher will save with this class

Normal Flow: 1. Continue with use case “UC35- List class”


2. Click “Add new class” button
3. Select teacher field
4. Typing first name of teacher
5. Select teacher by click in result search menu
6. Click “Save” button
Alternative Flows: N/A

Exceptions: 5.0 E1 No match any teacher name in system


5.1 E1 Show empty result search menu
Use case stopped
6.0 E1 User click “Cancel” button
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-18, BR-37

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.

h. Change status of teacher


ID and Name: UC-13 Change status of teacher
Created By: Nguyen Duc Anh Date Created: 27/09/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Student not study anymore

Trigger: Staff want to change status of teacher who do not work

21
Preconditions: Teacher already registered in system

Postconditions: All Information of teacher display on detail teacher


Normal Flow: 6. Continue from use case UC-10 View Detail Techer
7. Click button “Active/Inactive”
8. Select “OK” button
9. System store data into database
10. Reload page
Alternative Flows: N/A
Exceptions: 2.0.E1 User do not click button “Active/Inactive
Use case stopped
3.0.E1 User select button “Cancel”
Use case stopped
3.0.E2 User select button “Go back” on browser
Use case stopped
Priority: Medium

Frequency of Use: Low

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

2.4 Manage Staff


a. Create New Staff
ID and Name: UC-14 Create staff
Created By: Nguyen Duc Anh Date Created: 17/10/2020

Primary Actor: Manager Secondary Actors: 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.

Preconditions: 1. Staff isn’t already preexisting in the system at all


2. All requested documents and information have been provided and
confirmed.
3. Actor should have device that is capable of handling the system.
4. Actor should have decent access to the internet.

Postconditions: 1. Information of staff should be stored in the system followed by a


confirmation message
2. Staff should appear in Staff List page.

Normal Flow: 1. Continue Use case” UC-16 View list staff”


2. Click “Add Staff” at the top right of the teacher list page.
3. Fill in all the required field
4. Click the “Save” button

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

Exceptions: 2.0.E1 Actor do not select button “Add Staff”


Use case stopped
4.0.E1 Actor select button “Back”
Use case stopped
4.0.E2 Actor select button “Go back” on browser
Use case stopped
5.0.E1 The system has failed validate format
5.1.E1 Displays a message
5.0.E2 The system has failed validate required information
5.1.E2 Displays a message
5.0.E3 The system has failed validate because duplicate information in
database

Priority: High.

Frequency of Use: Medium

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.

b. List Staff of System


ID and Name: UC-15 View staff list

Created By: Nguyen Duc Anh Date Created: 17/10/2020


Primary Actor: Manager Secondary Actors: N/A

Description: Coordinator or manager view list staff in system

Trigger: Staff want to view all staff in system


Preconditions: 1. Staff already have created in system
2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list of all teacher in center

Normal Flow: 1. Select “Staff List” in menu bar


2. The system display grid of teacher
3. Select number of pages to view more teachers
Alternative Flows: N/A

23
Exceptions: 1.0.E1 Actor do not select “Staff List”
Use case stopped
Priority: Medium

Frequency of Use: Medium


Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

c. Search Staff of System by name and status


ID and Name: UC-16 Search teacher by name and status

Created By: Nguyen Duc Anh Date Created: 18/10/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Coordinator or manager search staff in system

Trigger: Staff want to search another staff in system


Preconditions: 1. Staff already have created in system
2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list of search staff

Normal Flow: 1. Continue with use case “View list staff”


2. Actor insert name of teacher which need be searched
3. Select status of teacher which want to search
4. Press “Enter” keyboard to search
5. System display grid of teacher are found
Alternative Flows: No

Exceptions: 2.0.E1 User do not insert anything in bar search


2.1 E1 System display all teacher by status
3.0 E1 If user don’t select status, status default is “All”
4.0 E1 User do not click Enter
Use case stopped
Priority: High

Frequency of Use: Medium

Business Rules: BR-12, BR-36

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

Created By: Duc Anh Date Created: 18/10/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Actor filter staff by status in system to easy searching


Trigger: Staff want to filter staff by status in system

Preconditions: 1. Staff already have created in system


2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list filter staff

Normal Flow: 1. Continue with use case “View list staff”


2. Select status of staff which want to filter
3. The system display grid of accounts
Alternative Flows: N/A

Exceptions: N/A

Priority: Medium

Frequency of Use: Medium

Business Rules: Br-12, BR-36

Other Information: The default select is “All”, system will display both status “Active” and
“Inactive”
Assumptions: N/A

e. View detail Staff by ID


ID and Name: UC-18 View detail staff by ID

Created By: Nguyen Duc Anh Date Created: 19/10/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Coordinator or manager view detail information of staff in center

Trigger: View detail information of staff

Preconditions: 2. Staff already have created in system


3. Account is authorized
4. Device of user is connected internet
5. Only account staff/manager can access

Postconditions: Show detail information of teacher

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

Exceptions: 2.0 E1 Actor does not click “Detail” button


Use case stopped
Priority: High
Frequency of Use: Medium

Business Rules: BR-12

Other Information: N/A

Assumptions: N/A

f. Edit Staff by ID
ID and Name: UC-19 Edit teacher by ID

Created By: Nguyen Duc Anh Date Created: 18/10/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Coordinator or manager edit detail information of teacher


Trigger: Staff want to edit information of staff

Preconditions: 4. Staff already have created in system


5. Account is authorized
6. Device of user is connected internet

Postconditions: Save the latest information of staff

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

Exceptions: 5.1 E0 Click” Cancel” button on the bottom page


5.2 E0 Return to page detail information staff
5.2 Information is not invalid
5.2.1 Show notice and show filed are not corrects
5.2.2 Not change page
Priority: High

Frequency of Use: Medium

Business Rules: BR-12, BR-22, BR-23, BR-24, BR-25

Other Information: N/A

Assumptions: N/A

26
g. Change status of staff
ID and Name: UC-20 Change status of staff

Created By: Nguyen Duc Anh Date Created: 27/09/2020

Primary Actor: Manager Secondary Actors: N/A

Description: Staff does not work anymore

Trigger: Staff want to change status of other staff who do not work

Preconditions: Staff already registered in system

Postconditions: All Information of staff display on detail staff

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

Exceptions: 3.0.E1 User select button “Go back” on browser


Use case stopped
4.0.E1 User select button “Cancel”
Use case stopped
Priority: Medium

Frequency of Use: Medium

Business Rules: BR-12,

Other Information: N/A

Assumptions: N/A

2.5 Manage Student


a. Create student
ID and Name: UC-21 Create Student

Created By: Nguyen Duc Anh Date Created: 26/09/2020

Primary Actor: Coordinator, Manager Secondary Actors: 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

Normal Flow: 1. Select “Student List” in menu bar


2. The system display grid of student
3. Select button “Add Student”
4. System display form “Add student”
5. User enters all student’s information
6. Select button “Save”
7. System validates format and required information successfully
8. System store data into database
9. Comeback screen “List Student”
10. The system displays new student in grid of student
11. Show message “Create Student Successfully”
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not select button “Add Student”


Use case stopped
6.0.E1 User select button “Back”
Use case stopped
6.0.E2 User select button “Go back” on browser
Use case stopped
7.0.E1 The system has failed validate format
7.1.E1 Displays a message
7.0.E2 The system has failed validate required information
7.1.E2 Displays a message
7.0.E3 The system has failed validate because duplicate information in
database
7.1.E3 Displays a message
Priority: High

Frequency of Use: High

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

b. View list student


ID and Name: UC-22 View List Student
Created By: Nguyen Duc Anh Date Created: 26/09/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A


Description: Coordinator or manager want to search student in list

Trigger: Staff want to see all student in center

Preconditions: 1. Student already registered in system


2. Device of user is connected internet

28
Postconditions: Show list of all student

Normal Flow: 1. Select “Student List” in menu bar


2. The system display grid of student
3. Select page number to see more student
Alternative Flows: N/A

Exceptions: 1.0.E1 Actor do not select “Student List”


Use case stopped
Priority: High
Frequency of Use: High

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

c. Search Student by like Name and Status


ID and Name: UC-23 Search student by like Name and Status

Created By: Nguyen Duc Anh Date Created: 02/10/2020


Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager want to search student in list student

Trigger: Staff want to search student

Preconditions: 1. Student already registered in system


2. Device of user is connected internet

Postconditions: Show list of all student


Normal Flow: 1. Select “Student List” in menu bar
2. The system display grid of student
3. User insert name of student which need be searched
4. Select status of student which want to search
5. Click “Enter” to search
6. System display grid of student are found
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not insert anything in bar search


3.1 E1 System display all student
4.0 E1 If user don’t select status, status default is “All”
5.0 E1 User do not click Enter
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

29
d. View detail student
ID and Name: UC-24 View Detail Student

Created By: Nguyen Duc Anh Date Created: 26/09/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

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

Postconditions: All Information of student display on detail student

Normal Flow: 1. Select “Student List” in menu bar


2. The system display grid of student
3. Select button “Detail” of student want to view
4. System display detail information of student in new page
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not select button “Detail”


Use case stopped
3.0.E2 User select button “Go back” on browser
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12

Other Information: N/A


Assumptions: N/A

e. Edit student
ID and Name: UC-25 Edit Student

Created By: Nguyen Duc Anh Date Created: 27/09/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Edit detail information of student

Trigger: Staff want to edit detail information of student


Staff want to edit mark entry test result mark
Preconditions: Student already registered in system

Postconditions: All Information of student display on detail 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

Exceptions: 2.0.E1 User do not select button “Edit Student”


Use case stopped
4.0.E1 User select button “Back”
Use case stopped
4.0.E2 User select button “Go back” on browser
Use case stopped
5.0.E1 The system has failed validate format
5.1.E1 Displays a message
5.0.E2 The system has failed validate required information
5.1.E2 Displays a message
Priority: High
Frequency of Use: Low

Business Rules: BR-12, BR-21, BR-22

Other Information: N/A

Assumptions: N/A

g. View class history


ID and Name: UC-26 View class history of a student

Created By: Nguyen Duc Anh Date Created: 02/10/2020


Primary Actor: Coordinator, Manager Secondary Actor: N/A

Description: Coordinator or manager want to view history class of student

Trigger: Staff want to view history class of student

Preconditions: 1. Student already registered in system


2. Device of user is connected internet

Postconditions: Show list of class which student enrolled

Normal Flow: 1. Continue Use case UC-25 View detail student by ID


2. List class is in the bottom of page
Alternative Flows: N/A

Exceptions: N/A
Priority: Medium

Frequency of Use: Medium

Business Rules: N/A

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

Created By: Nguyen Duc Anh Date Created: 27/09/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: After register for student, staff add student into class of course to start
studying
Trigger: Staff want to add student into new class

Preconditions: Student already registered in system

Postconditions: All Information of student display on detail student

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”

Exceptions: 2.0.E1 User do not select button “Add Class”


Use case stopped
5.0.E1 User select button “Back”
Use case stopped

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

Other Information: N/A

Assumptions: N/A

e. Change status of student


ID and Name: UC-28 Change status of student

Created By: Nguyen Duc Anh Date Created: 27/09/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Student do not study anymore

Trigger: Staff want to change status of student who do not study anymore or pending
course
Preconditions: Student already registered in system

Postconditions: All Information of student display on detail student

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

Exceptions: 2.0.E1 User do not click button “Active/Inactive”


Use case stopped
3.0.E1 User select button “Cancel”
Use case stopped
4.0.E2 User select button “Go back” on browser
Use case stopped
Priority: Medium

Frequency of Use: Medium

Business Rules: BR-12

Other Information: N/A

Assumptions: N/A

f. Filter Student by status


ID and Name: UC-29 Filter student by status

Created By: Nguyen Duc Anh Date Created: 28/09/2020


Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager want to search student in list student

Trigger: Staff want to search student

Preconditions: 1. Student already registered in system


2. Device of user is connected internet

Postconditions: Show list of all student by status

Normal Flow: 1. Select “Student List” in menu bar


2. The system display grid of student
3. Select status of student which want to search
4. System display grid of student follow status
Alternative Flows: N/A

Exceptions: N/A

Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36

Other Information: N/A

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

Primary Actor: Manager Secondary Actors: N/A

Description: New class has been deemed necessary to be added to the curriculum.

Trigger: Actor wants to add new class to the system.

Preconditions: 1. Number of class of a course is not enough or number of student is


larger than maximum student class.
2. Actor should have device that is capable of handling the system.
3. Actor should have decent access to the internet.
Postconditions: 1. Course details are successfully added to the system.
2. Course info is accessible from the “course list” screen.

Normal Flow: 1. Continue with use case “UC-34 Class list”


2. Click “Add Class” at the top right of the teacher list page.
3. Fill in all the required field
4. Click the “Save” button at the bottom right of the “add course” form.
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 “Class List” page.
8. Show message “Create Class Successfully”
Alternative Flows: N/A

Exceptions: 2.0.E1 Actor do not select button “Add class”


Use case stopped
4.0.E1 Actor select button “Back”
Use case stopped
4.0.E2 Actor select button “Go back” on browser
Use case stopped
5.0.E1 The system has failed validate format
5.1.E1 Displays a message
5.0.E2 The system has failed validate required information
5.1.E2 Displays a message
5.0.E3 The system has failed validate because duplicate information in
database
Use case stopped
Priority: High
Frequency of Use: Medium

Business Rules: BR-12


Other Information: Approximately usually 2-3 months, staff will create new class
Peak usage load for this use case is between 9:00 A.M. and 9:00 P.M. local
time.

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.

b. List Class of System


ID and Name: UC-33 View list class in system
Created By: Nguyen Duc Anh Date Created: 14/11/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager view list class in system


Trigger: Staff want to view all class

Preconditions: 1. Class already have created in system


2. Account is authorized
3. Device of user is connected internet

Postconditions: Show list of all class

Normal Flow: 1. Select “Class List” in menu bar


2. The system display grid of class
3. Select number of pages to view more class
Alternative Flows: N/A
Exceptions: 1.0.E1 Actor do not select “Class List”
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36


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

c. Filter Class of System by course and status


ID and Name: UC-34 Filter class by course and status

Created By: Nguyen Duc Anh Date Created: 26/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager search account of student/staff in system

Trigger: Staff want to view list class after filter


Preconditions: 1. Class already created in system
2. Device of user is connected internet
3. Only account staff/manager can access

Postconditions: Show list of all class after filter

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

Exceptions: 2.0.E1 User do not change option for course


2.1 E1 System default with select “ALL”
3.0.E1 User do not change option for status
3.1 E1 System default with select “ALL”
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36

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

d. View detail class


ID and Name: UC-35 View Detail Class
Created By: Nguyen Duc Anh Date Created: 26/09/2020

Primary Actor: Coordinator, Manager, Secondary Actors: N/A


Teacher

Description: Coordinator or manager can view detail information of class and also can
attendance student
Trigger: Staff want to see detail information of class

Preconditions: 1. Class already created in system


2. Device of user is connected internet

Postconditions: All Information of student display on detail student

Normal Flow: 1. Select “Class List” in menu bar


2. The system display grid of class
3. Select button “Detail” of class want to view
4. System display detail information of student in new page
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not select button “Detail”


Use case stopped
3.0.E2 User select button “Go back” on browser
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12


Other Information: If no class, table will display no row

Assumptions: N/A

36
e. Edit class
ID and Name: UC-36 Edit class

Created By: Nguyen Duc Anh Date Created: 13/10/2020

Primary Actor: Manager, Coordinator Secondary Actors: N/A

Description: Coordinator or manager want to change information of class


Trigger: Staff want to edit information of class

Preconditions: 1. Class already have created in system


2. Class in “Waiting” status
3. Account is authorized
4. Device of user is connected internet

Postconditions: Save and change information of class


Normal Flow: 1. Continue with use case “UC-36 Class detail”
2. Click “Edit” button
3. Display detail information of class (all fields can edit)
4. Edit information of class which need
5. Select button “Save”
6. System validates format and required information successfully
7. System store data into database
8. Display Detail Class Page with new information
9. Show message “Edit class successfully”
Alternative Flows: N/A

Exceptions: 2.1 Actor does not click “Edit” 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

Frequency of Use: Medium

Business Rules: BR-12, BR-29, BR-30, BR-31, BR-32, BR-37

Other Information: N/A

Assumptions: N/A

f. Edit class by day


ID and Name: UC-37 Edit class by day

Created By: Nguyen Duc Anh Date Created: 29/10/2020

Primary Actor: Manager, Coordinator Secondary Actors: N/A

Description: Coordinator or manager want to change information of class in specific day

Trigger: Staff want to edit information of class in in specific day

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

Postconditions: Save and change information of class

Normal Flow: 1. Continue with use case “UC-36 Class detail”


2. Click “Update Class By Day” button
3. Display detail information of class (all fields can edit)
4. Edit information of class which need
5. Select button “Save”
6. System validates format and required information successfully
7. System store data into database
8. Display Detail Class Page with new information
9. Show message “Edit class successfully”
Alternative Flows: N/A

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

Frequency of Use: Medium

Business Rules: BR-12, BR-29, BR-30, BR-31, BR-37

Other Information: N/A

Assumptions: N/A

g. View material in class


ID and Name: UC-38 View Material Class

Created By: Nguyen Duc Anh Date Created: 28/09/2020

Primary Actor: Coordinator, Manager, Secondary Actors:


Teacher, Student

Description: Teacher, Student want to open material of course.


Coordinator, Manager can open to check progress of class
Trigger: Actor wants to open material of course to teach.

Preconditions: 1. Material is already added when created course


2. Device of user is connected internet

Postconditions: Opening new tab on browser to view material link


Normal Flow: 1. Continue with use case “UC-36 Class detail”
2. Click link in filed “Material Link”
3. New browser opens to view link of material

38
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not click link in filed “Material Link”


Use case stopped
3.1.E1 Course does not have material link
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12


Other Information: Approximately use every day to open and view the teaching curriculum

Assumptions: N/A

h. View attendance student in class


ID and Name: UC-39 View Attendance Student Class

Created By: Nguyen Duc Anh Date Created: 28/09/2020

Primary Actor: Coordinator, Manager, Secondary Actors: N/A


Teacher, Student

Description: Actor want to view attendance student in class

Trigger: Actor want to view attendance student in class

Preconditions: 1. Class have student


2. Device of user is connected internet
Postconditions: View list attendance of student in specific day

Normal Flow: 1. Continue with use case “UC-36 Class detail”


2. Select day/lesson number want to view attendance
3. System display information of attendance student in selected day/lesson
Alternative Flows: N/A

Exceptions: N/A

Priority: High

Frequency of Use: High

Business Rules: BR-12,

Other Information: Approximately use every day to open and check attendance of student

Assumptions: N/A

h. Edit attendance student in class


ID and Name: UC-40 Edit Attendance Student Class
Created By: Nguyen Duc Anh Date Created: 28/09/2020

Primary Actor: Coordinator, Manager, Secondary Actors: N/A


Teacher

Description: Actor want to attendance student

39
Coordinator, Manager can open to check attendance of class
Trigger: Actor want to attendance student

Preconditions: 1. Class have at least one student


2. Device of user is connected internet
Postconditions: Change status attendance after save

Normal Flow: 1. Continue with use case “UC-36 Class detail”


2. Select day/lesson number want to view attendance
3. Click “Attendance” button
4. Open pop-up display student in class
5. Tick student present in class
6. Click “Save” button
7. System display information of attendance student after attendance
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not click button “Attendance”


Use case stopped
6.0.E1 User do not click button “Save”
Use case stopped
6.1.E1 User do not click button “Cancel”
6.2.E1 Close pop-up
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-07, BR-38

Other Information: Approximately use every day to open and view the teaching curriculum

Assumptions: N/A

i. Change status class


ID and Name: UC-58 Change Status Class

Created By: Nguyen Duc Anh Date Created: 30/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Actor want to change status of class

Trigger: Actor want to change status of class

Preconditions: 1. Class have created


2. Device of user is connected internet
Postconditions: Change status class

Normal Flow: 1. Continue with use case “UC-36 Class detail”


2. Click status button want to change
3. Click “OK” button to confirm
4. System display information of status after changing
Alternative Flows: N/A

Exceptions: 2.0.E1 User do not click status button


Use case stopped

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

Frequency of Use: High

Business Rules:

Other Information: Approximately use every day to open and view the teaching curriculum
Assumptions: N/A

k. View test result by class id


ID and Name: UC-30 View test result by class id

Created By: Nguyen Duc Anh Date Created: 30/10/2020

Primary Actor: Coordinator, Manager, Secondary Actors: N/A


Teacher, Student

Description: Actor want to view test result in specific class

Trigger: Actor want to view test result in specific class

Preconditions: 1. Class have created


2. Have at least one student in class
3. Device of user is connected internet

Postconditions: View test result by class id

Normal Flow: 1. Continue with use case “UC-36 Class detail”


2. Click button “Test Result”
3. Select kind of test
Alternative Flows: N/A

Exceptions: 2.0.E1 User do not click button


Use case stopped
Priority: High
Frequency of Use: High

Business Rules: BR-12

Other Information: Approximately use every day to open and view the teaching curriculum

Assumptions: N/A

2.7 Manage User Account


a. View List Account in system
ID and Name: UC-41 View list account in system

Created By: Nguyen Duc Anh Date Created: 26/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager view list account of student/staff in system

41
Trigger: Staff want to view all account

Preconditions: 1. Staff already have account in system


2. Account is authorized
3. Device of user is connected internet

Postconditions: Show list of all account


Normal Flow: 1. Select “Account List” in menu bar
2. The system display grid of accounts
3. Select number of pages to view more account
Alternative Flows: N/A

Exceptions: 1.0.E1 Actor do not select “Account List”


Use case stopped
Priority: High

Frequency of Use: Medium

Business Rules: BR-10, BR-12, BR-36

Other Information: N/A

Assumptions: N/A

b. Search Account of System by name and role


ID and Name: UC-42 Search account by name and role

Created By: Nguyen Duc Anh Date Created: 26/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager search account of student/staff in system

Trigger: Staff want to view all student account

Preconditions: 1. Staff/ Student already have account in system


2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list of all account

Normal Flow: 1. Select “Account List” in menu bar


2. Select role which want to search
3. Type first name of student who want to search
4. Press enter button to search
5. The system display grid of accounts
6. Select number of pages to view more account
Alternative Flows: N/A

Exceptions: 3.0.E1 User do not insert anything in bar search


3.1 E1 System display all student
4.0 E1 If user don’t select status, status default is “Student”
5.0 E1 User do not click Enter
Use case stopped

42
Priority: High

Frequency of Use: Medium


Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

c. Filter Account of System by role


ID and Name: UC-43 Search account by role

Created By: Nguyen Duc Anh Date Created: 30/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager search account of student/staff in system only by


role
Trigger: Actor want to view all account by role

Preconditions: 1. Staff/ Student already have account in system


2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list of all account after filter

Normal Flow: 1. Select “Account List” in menu bar


2. Select role which want to search
3. The system display grid of accounts
4. Select number of pages to view more account
Alternative Flows: N/A

Exceptions: N/A

Priority: High
Frequency of Use: Medium

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

d. Reset password of account in system


ID and Name: UC-44 Reset password of account

Created By: Nguyen Duc Anh Date Created: 26/10/2020

Primary Actor: Coordinator, Manager Secondary Actors: N/A

Description: Coordinator or manager view list account of student/staff in system

Trigger: Staff want to view all student account

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

Postconditions: Change password to default is “123@123a”

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

Frequency of Use: Medium

Business Rules: BR-12, BR-10

Other Information: N/A

Assumptions: N/A

2.8 Manage Transaction


a. View list pending transaction
ID and Name: UC-45 View list pending transaction

Created By: Nguyen Duc Anh Date Created: 30/10/2020

Primary Actor: Accountant, Manager Secondary Actors: N/A

Description: Staff view list pending transaction to prepare check and prove transaction

Trigger: Staff want to view all pending transactions in system


Preconditions: 1. Account is authorized
2. Device of user is connected internet
3. Only account accountant/manager can access
Postconditions: Show list of all pending transactions in center

Normal Flow: 1. Select “Fee Verification” in menu bar


2. The system display grid of pending transactions
3. Select number of pages to view more transaction
Alternative Flows: N/A

Exceptions: 1.0.E1 Actor do not select “Fee Verification”


Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36,

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

b. Verify pending transactions


ID and Name: UC-46 Verify pending transaction

Created By: Nguyen Duc Anh Date Created: 18/10/2020


Primary Actor: Accountant, Manager Secondary Actors: 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

Preconditions: 1. Transactions are already created in system


2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: 1. Change status of transactions into Done


2. Disappear in table

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

Exceptions: 2.0 E1 Actor does not select pending transaction


2.0 E1 System show notice “No pending transaction selected”
Use case stopped
3.0 E1 Actor does not click “Verify”
Use case stopped
4.0 E1 Actor click “Cancel”
Use case stopped
5.0 E1 Actor click “Back” on browser
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36,

Other Information: Every day accountant will check and prove transaction.

Assumptions:

c. Search pending transactions by name.


ID and Name: UC-47 Search pending transactions by name

Created By: Nguyen Duc Anh Date Created: 03/11/2020

Primary Actor: Accountant, Manager Secondary Actors: N/A

45
Description: Accountant or manager search pending transaction to check or find faster

Trigger: Staff want to search pending transactions by name of student


Preconditions: 1. Transactions are already created in system
2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list of pending transactions found

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

Exceptions: 2.0.E1 User do not insert anything in bar search


2.1 E1 System display all pending transactions
3.0 E1 User do not click Enter
Use case stopped
Priority: High

Frequency of Use: Medium

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

d. View list transaction


ID and Name: UC-48 View list transaction

Created By: Nguyen Duc Anh Date Created: 02/11/2020

Primary Actor: Accountant, Manager Secondary Actors: 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

Preconditions: 1. Account is authorized


2. Device of user is connected internet
3. Only account accountant/manager can access

Postconditions: Show list of all transactions in system

Normal Flow: 1. Select “Transaction List” in menu bar


2. The system display grid of transactions
3. Select number of pages to view more transaction
Alternative Flows: N/A

Exceptions: 1.0.E1 Actor do not select “Fee Verification”


Use case stopped
Priority: High

46
Frequency of Use: High

Business Rules: BR-12, BR-36


Other Information: If there are not transactions, table will be display empty
Every day accountant will double check transactions.
Assumptions: N/A

c. Search transactions by name.


ID and Name: UC-49 Search transactions by name

Created By: Nguyen Duc Anh Date Created: 28/10/2020

Primary Actor: Accountant, Manager Secondary Actors: N/A

Description: Accountant or manager search transaction to check or find faster

Trigger: Staff want to search pending transactions by name of student

Preconditions: 1. Transactions are already created in system


2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access
Postconditions: Show list of pending transactions found

Normal Flow: 1. Continue with use case “View list transaction”


2. Actor insert name of student which need be searched
3. Select Month and Year
4. Press “Enter” keyboard to search
5. System display grid of transactions are found
Alternative Flows: N/A
Exceptions: 2.0.E1 Actor does not insert anything in bar search
2.1 E1 System display all transactions
3.0 E1 Actor does not select month and year
3.1 E1 System display grid of transactions are found with default “All”
4.0 E1 User do not click Enter
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36

Other Information: Every day accountant will double check transactions.

Assumptions: N/A

d. Filter transactions by Month and Year.


ID and Name: UC-50 Filter transactions by moth and year

Created By: Nguyen Duc Anh Date Created: 28/10/2020

47
Primary Actor: Accountant, Manager Secondary Actors: N/A

Description: Accountant or manager search transaction to check or find faster


Trigger: Staff want to search pending transactions by name of student

Preconditions: 1. Transactions are already created in system


2. Account is authorized
3. Device of user is connected internet
4. Only account staff/manager can access

Postconditions: Show list of transactions found


Normal Flow: 1. Continue with use case “View list transaction”
2. Select Month and Year
3. Press “Enter” keyboard to search
4. System display grid of transactions are found
Alternative Flows: No

Exceptions: 2.0 E1 Actor does not select month and year


2.1 E1 System display grid of transactions are found with default “All”
3.0 E1 User do not click Enter
Use case stopped
Priority: High

Frequency of Use: High

Business Rules: BR-12, BR-36

Other Information: N/A

Assumptions: N/A

2.9 Manage User Authentication


a. Login
UC ID and Name: UC-52 Login
Created By: Nguyen Duc Anh Date Created: 24/09/2020

Primary Actor: [All] Secondary Actors: N/A


Trigger: User want to login into system

Description: User want to login system on website to using service of system

Preconditions: 1. Account of user is already exited


2. Account of user is already had role
3. Device of user is connected internet when login system
Post-conditions: 1. User login success system

Normal Flow: 1. User accesses website


2. User enters username and password of account
3. Select role to login
4. Select “Remember me?” or not
5. Select login button
6. The system validates login information successfully and allows user to
access the system

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

Frequency of Use: High


Business Rules: BR-03, BR-09, BR-17, BR-40
Other Information: Approximately every day. Peak usage load for this use case is between 9:00
A.M. and 9:00 P.M. local time.

Assumptions: N/A

b. Sign out
UC ID and Name: UC-53 Sign Out System

Created By: Nguyen Duc Anh Date Created: 24/09/2020

Primary Actor: [All] Secondary Actors: N/A

Trigger: User want to sign out system

Description: User want to sign out system when he/she do not want access system

Preconditions: 1. Account of user is already login system


2. Device of user is connected internet when login system
Post-conditions: 2. User accesses website
3. User enters username and password of account
4. Select login button
5. The system validates login information successfully and allows user to
access the system
Normal Flow: 1. Select icon/ name user on the top right
2. Select “Sign Out”
3. The system deletes session of user
4. Write log into database
5. Return the home page screen
Alternative Flows: N/A

Exceptions: 2.0 User do not select “Sign out”


Use case stopped
2.1 The user close browser
Use case stopped
Priority: High
Frequency of Use: High

Business Rules: BR-12


Other Information: N/A

Assumptions: N/A

49
c. Forgot Password
UC ID and Name: UC-54 Forgot password

Created By: Nguyen Duc Anh Date Created: 25/09/2020

Primary Actor: [All] Secondary Actors: N/A

Trigger: User forgot their password

Description: User forgot their password and want to reset password by click “Forgot
password”

Preconditions: 1. Account of user is already exited


2. Account of user is already had role
3. Device of user is connected internet
4. User do not remember password account
5.
Post-conditions: 1. User read the message reset password

Normal Flow: 2. User accesses website


3. Select “Forgot password” link
4. The system show message
Alternative Flows: None

Exceptions: 2.0 User do not select “Forgot password”


Use case stopped
Priority: High

Frequency of Use: Low

Business Rules: BR-03


Other Information: N/A
Assumptions: N/A

2.10 Manage information of account


a. View user profile
ID and Name: UC-55 View user profile

Created By: Nguyen Duc Anh Date Created: 24/09/2020


Primary Actor: All Secondary Actors: N/A

Description: Actor want to view detail information of account or want to change


password by them self
Trigger: Actor want to view detail information of account

Preconditions: 1. Account is authorized


2. Device of user is connected internet

Postconditions: Show detail information of account

Normal Flow: 1. Click icon user in menu bar


2. The system display detail information of account

50
Alternative Flows: N/A

Exceptions: 1.0.E1 Actor do not click icon user in menu bar


Use case stopped
Priority: Medium
Frequency of Use: Low

Business Rules: N/A

Other Information: N/A

Assumptions: N/A

b. Change user password


ID and Name: UC-56 Change user password

Created By: Nguyen Duc Anh Date Created: 24/09/2020

Primary Actor: All Secondary Actors: N/A

Description: Actor want to change password by them self

Trigger: Actor want to change password by them self


Preconditions: 1. Account is authorized
2. Device of user is connected internet

Postconditions: Show detail information of account

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

Frequency of Use: Low

Business Rules: BR-13, BR-14, BR-15, BR-16


Other Information: N/A

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

Primary Actor: All Secondary Actors: N/A

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

Preconditions: 1. Account is authorized


2. Device of user is connected internet

Postconditions: Show report of account

Normal Flow: 1. Click logo “Alpha Teach” in left menu bar


2. The system display detail report of account
Alternative Flows: 1. Login successful into system.
2. The system display detail report of account
Exceptions: 1.0.E1 Actor do not click logo in menu bar
Use case stopped
1.0.E2 Actor not login successfully.
Priority: High

Frequency of Use: High

Business Rules: N/A

Other Information: N/A

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

3.2 Authentication Function


a. Login Function
 Function trigger:
o When actor access to system the first time or comeback when log out account before
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/
 Function description:
o Actor/Role: Student, Teacher, Staff (Manager, Coordinator, Accountant)
o Purpose: Authenticated the account is valid to access to system or not. If not will
show the message.
o Interface:
 2 text fields to fill username and password
 1 combo box to select role of system
 1 checkbox to confirm remember password or not

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

3.3 Manage Student


a. View List Student
 Function trigger:
o When actor click “List student” on left menu
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/student?page=1&status=all
 Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: View list student in system
o Interface:
 1 search box to fill first name of student want to searcher
 1 combo box to select status of student
 1 table
 1 navigation page number
 Screen layout:

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

f. Add new student to class


 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: Add new student in class
o Interface:
 5 text fields to display information of class

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

3.4 Manage Class


a. View List Class
 Function trigger:
o When actor click “List class” on left menu
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/class?page=1&courseID=0&status=all
 Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: View list student in system
o Interface:
 2 combo box to select course and select status of class
 1 table
 1 navigation page number
 Screen layout:

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)

3.5 Manage Transaction


a. View list pending transaction
 Function trigger:
o When actor click “Fee Verification” on left menu
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/accountant/fee
 Function description:
o Actor/Role: Staff (Manager, Accountant)
o Purpose: View list pending transaction in system
o Interface:
 1 search box to fill first name of student want to searcher transaction of
student
 1 table
 1 navigation page number
 1 button to verify transaction
 Screen layout:

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

3.6 Manage Account


a. View List Account
 Function trigger:
o When actor click “List Account” on left menu
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/
staff/account?role=student&page=1
 Function description:
o Actor/Role: Staff (Manager, Coordinator)
o Purpose: View list account in system to reset password
o Interface:
 1 search box to fill first name
 1 combo box to select role to search
 1 table
 1 navigation page number
 Screen layout:

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

3.7 Manage Teacher


a. View List Teacher
 Function trigger:
o When actor click “List teacher” on left menu
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/teacher?page=1&status=2
 Function description:
o Actor/Role: Staff (Manager)
o Purpose: View list teacher in system
o Interface:
 1 search box to fill first name of teacher want to searcher
 1 combo box to select status of teacher
 1 table
 1 navigation page number
 Screen layout:

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

3.7 Manage Staff


a. View List Staff
 Function trigger:
o When actor click “List teacher” on left menu
o Navigation path: https://alpha-teach-
clientsv.herokuapp.com/staff/staff_list?page=1&status=2
 Function description:
o Actor/Role: Staff (Manager)
o Purpose: View list staff in system
o Interface:
 1 search box to fill first name of staff want to searcher
 1 combo box to select status of staff
 1 table
 1 navigation page number
 Screen layout:

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

3.8 Manage Course


a. View List course
 Function trigger:
o When actor click “List course” on left menu
o Navigation path: https://alpha-teach-clientsv.herokuapp.com/staff/course?page=1
 Function description:
o Actor/Role: Staff (Manager)
o Purpose: View list course in system
o Interface:
 1 search box to fill name of course want to searcher
 1 table
 1 navigation page number
 Screen layout:

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

 Mean Time Between Failures (MTBF) from 6 hour


 Mean Time To Repair (MTTR) from 3-5 hour allowed to be out of operation after it has failed

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

You might also like