G4 F CDC Final Project Report

You might also like

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

MINISTRY OF EDUCATION AND TRAINING

FPT UNIVERSITY

Capstone Project Document


Management and take care patient-Zero
at home

Management and take care patient-Zero


at home
Pham Van Khanh - HE130446
Ho Ngoc Hai - HE130686
Group Members Phan Quang Anh - HE130956
Nguyen Dinh Duan - HE130823
Truong Quoc Khanh - HE130683

Supervisor Pham Ngoc Ha


Capstone Project
F-CDC
code

- Hanoi, December 10, 2021 -

1
Table of Contents
Acknowledgement 11
Definition and Acronyms 11
I. Project Introduction 13
1. Overview 13
1.1 Project Information 13
1.2 Project Team 13
a. Supervisor 13
b. Team Members 13
2. Product Background 13
3. Existing System 14
3.1. HCDC website 14
3.2. Electronic healthy declaration 15
4. Business Opportunity 16
5. Software Product Vision 16
6. Project Scope & Limitations 16
6.1 Major Features 16
6.2 Limitations & Exclusions 17
II. Project Management Plan 17
1. Overview 17
1.1 WBS & Estimation 17
1.2 Project Objectives 21
1.3 Project Risks 22
2. Management Approach 23
2.1 Project Process 23
2.2 Quality Management 24
3. Master Schedule 25
4. Project Organization 26
4.1 Team & Structures 26
4.2 Roles & Responsibilities 27
5. Project Communication 27
5.1 Communication Plan 27
5.2 External Interface 28
6. Configuration Management 29
6.1 Tools & Infrastructures 29
6.2 Document Management 29

2
6.3 Source Code Management 29
III. Software Requirement Specification 29
1. Overall Description 29
1.1 Product Overview 29
1.2 Business Rules 30
2. User Requirements 32
2.1 Overview 32
a. Use Case Diagram 32
b. System Actors 35
c. Use Cases List 35
2.2 Use Case Specification 38
2.2.1. Guest 38
2.2.1.1. View news detail 38
2.2.1.2. Search news 39
2.2.1.3. Chat with facebook page 40
2.2.2. Admin 41
2.2.2.1. Log in 41
2.2.2.2 Log out 42
2.2.2.3. View news list 43
2.2.2.4. Create news 44
2.2.2.5. Search news 45
2.2.2.6. Delete news 45
2.2.2.7. Update news 46
2.2.2.8. View staffs list 47
2.2.2.9. View doctors list 48
2.2.2.10. View patients list 49
2.2.2.11. Search users 50
2.2.2.12. Create staff account 51
2.2.2.13. Create doctor account 52
2.2.2.14. Create patient account 53
2.2.2.15. Delete user 54
2.2.2.16. Import users by excel 54
2.2.3. Staff 55
2.2.3.1 Login 55
2.2.3.2 Logout 56
2.2.3.3 Change password 57

3
2.2.3.4 Forgot password 58
2.2.3.5 Dashboard 59
2.2.3.6 Update patient information 59
2.2.3.7 View patients list 60
2.2.3.8 View normal patient list 61
2.2.3.9 View report list 62
2.2.3.10 View daily report detail 63
2.2.3.11 Reply daily report 64
2.2.3.12 Create daily report 65
2.2.3.13 Send patient to doctor 66
2.2.3.14 View covid test patient list 66
2.2.3.15 Update patient status 67
2.2.3.16 Export user to excel 68
2.2.3.17 Remind send daily report 69
2.2.4 Doctor 70
2.2.4.1 Login 70
2.2.4.2 Logout 71
2.2.4.3 Change password 72
2.2.4.4 Forgot password 73
2.2.4.5 Update avatar 73
2.2.4.6 Dashboard 74
2.2.4.7 View patient list 75
2.2.4.8 View report list 76
2.2.4.9 View daily report detail 77
2.2.4.10 Reply daily report 78
2.2.4.11 View news 79
2.2.4.12 Search news 80
2.2.5 Patient 81
2.2.5.1 Login 81
2.2.5.2 Logout 82
2.2.5.3 Change password 82
2.2.5.4 Forgot password 83
2.2.5.5 Update avatar 84
2.2.5.6 Create daily report 85
2.2.5.7 View report history 86
2.2.5.8 View daily report detail 87

4
2.2.5.9 View covid test result 88
2.2.5.10 Dashboard 89
2.2.5.11 View news 89
2.2.5.12 Search news 90
3. Functional Requirements 92
3.1 System Functional Overview 92
a. Screen Flow 92
b. Screen Details 92
c. Screen Authorization 93
d. Non-Screen Functions 94
e. Entity Relationship Diagram 95
3.2 Website for Guest, Doctor and Patient 96
3.2.1. Homepage 96
3.2.2. News 97
3.2.3.News details 98
3.2.5. Information 100
3.2.6. List Patient 100
3.2.7. Update information 101
3.2.8. View daily report 102
3.2.9. Change password 103
3.2.10. View result test 103
3.3 Application for Admin 105
3.3.1. Sign up 105
3.3.2. Log in 106
3.3.3. Management account 107
3.3.4. Create account 108
3.3.5. Manage News 108
3.3.6. Create news 109
3.3.7. Delete news 110
4. Non-Functional Requirements 111
4.1 External Interfaces 111
a. User Interfaces 111
b. Software Interfaces 112
c. Hardware Interfaces 112
d. Communications Interfaces 112
4.2 Quality Attributes 112

5
a. Usability 112
b. Reliability 112
c. Performance 112
d. Dependability 113
d1. Security 113
d2. Safety 113
e. Supportability 113
f. Design Constraints 113
g. Support Documents 113
5. Other Requirements 113
5.1 Appendix1 - Notification List 113
IV. Software Design Description 114
1. Overall Description 114
1.1 Assumptions 114
1.2 Design Constraints 114
1.3 Technology Suggestion 114
2. System Architecture Design 115
2.1 Overall Architecture 115
2.1.1 Diagram 115
2.2.2 Component Explanation 115
2.2.2.1 Diagram 115
2.2.2.2 MySQL 116
2.2.2.3 Spring Framework 116
2.2.2.4 eSms 117
2.2.2.5 IntelliJ IDEA 117
2.2.2.6. Bizfly 117
2.2 System Architecture 118
2.2.1 F-CDC Front-end Architecture 118
2.2.2 F-CDC Back-end Architecture 119
2.3 Package Diagram 119
2.3.1 F-CDC Package Diagram 119
2.3.2 F-CDC Front-end 121
2.3.2.1 Diagram 121
2.3.2.2 Package Explanation 121
2.3.3 F-CDC Back-end 123
2.3.3.1 Diagram 123

6
2.3.3.2 Package Explanation 123
3. System Detailed Design 124
3.1 Home 124
3.1.1 Log In 124
3.1.2 Log out 125
3.1.3 View news list 127
3.1.4 View news detail 127
3.1.5 Search news 128
3.2 User Profile 130
3.2.1 Forgot Password 130
3.2.2 Change Password 131
3.2.3 Update avatar 132
3.3 Doctor Management 133
3.3.1 Dashboard number patient 133
3.3.2 Dashboard status patient 134
3.3.3 View daily report 135
3.3.4 Reply daily report 136
3.4 Patient Management 137
3.4.1 Create daily report 137
3.4.2 View report history 138
3.4.3 View daily report 139
3.4.4 View covid test result 140
3.4.5 Dashboard status patient 141
3.5 Admin Management 142
3.5.1 View news list 142
3.5.2 Create news 143
3.5.3 Search news 144
3.5.4 Update news 145
3.5.5 Delete news 146
3.5.6 View staffs list 147
3.5.7 View doctors list 148
3.5.8 View patients list 149
3.5.9 Search users 150
3.5.10 Create staff account 151
3.5.11 Create doctor account 152
3.5.12 Create patient account 153

7
3.5.13 Delete user 154
3.5.14 Import patients by excel 155
3.5.15 Import doctors by excel 156
3.5.16 Import staffs by excel 157
3.5.17 Export users to excel 158
3.6 Staff Management 159
3.6.1 Dashboard number patient 159
3.6.2 View patients list 160
3.6.3 View normal patients list 161
3.6.4 Create daily report 162
3.6.5 View daily report 163
3.6.6 Reply daily report 164
3.6.7 Send patient to doctor 165
3.6.8 View test patient list 166
3.6.9 Update patient status 167
4. Class Specifications 168
4.1 F-CDC Back-end 168
4.1.1 Controller 168
4.1.1.1 User Controller 168
4.1.1.2 Village Controller 169
4.1.1.3 Staff Controller 169
4.1.1.4 Sms Controller 169
4.1.1.5 Report Controller 169
4.1.1.6 Province Controller 170
4.1.1.7 News Controller 170
4.1.1.8 Login Controller 170
4.1.1.9 Districts Controller 171
4.1.1.10 Admin Controller 171
4.1.1.11 Master Data Controller 171
4.1.2 Service 171
4.1.2.1 UserService 171
4.1.2.2 Village Service 173
4.1.2.3 Sms Service 173
4.1.2.4 Province Service 173
4.1.2.5 Province Service 173
4.1.2.6 MasterData Service 174

8
4.1.2.7 Districts Service 174
4.1.2.8 DailyReport Service 174
4.2 F-CDC Front-end 175
4.2.1 Pages 175
4.2.1.1 Admin 175
4.2.1.2 Staff 175
4.2.1.3 Doctor 176
4.2.1.4 Patient 177
4.2.1.5 Common 178
4.2.2 Library 178
4.2.2.1 Common 178
4.2.2.2 Plugin 178
4.2.3 Context 179
4.2.3.1 Authenticator 179
4.2.4 Components 179
4.2.4.1 UI 179
4.2.4.2 Layout 179
5. Database Design 180
5.1. News 181
5.2. User 182
5.3. File 182
5.4. Role 182
5.5. Province 183
5.6. District 183
5.7. Village 183
5.8. Medicine 183
5.9. Symptom 184
5.10. Exercise 184
5.11. Medicine_daily_detail 184
5.12. Symptom_daily_detail 184
5.13. Exercise_daily_detail 184
5.14. Daily_report 185
V. Software Testing Documentation 185
1. Overall Description 185
1.1 Test Model 185
1.2 Testing Levels 187

9
1.2.1. Unit Testing 187
1.2.2. Integration Testing 188
1.2.3. System Testing 188
1.2.4. Acceptance Testing 189
1.3 Testing Types 190
1.3.1. Function Testing 190
1.3.2. API Testing 190
1.3.3. UI/UX Testing 190
1.3.4. Acceptance Testing 190
2. Test Plan 190
2.1 Test Stages 190
2.2 Resources 191
a. Human Resources 191
b. Environment 191
2.3 Test Milestones 191
2.4 Deliverables 191
3. Test Cases 192
3.1 Unit Testing 192
3.2 Integration Testing & System Testing 193
3.3 Acceptance Testing 194
4. Test Reports 195
4.1 Unit Test Report 195
4.2 Integration Test Report 196
4.3 System Test Report 196
4.4 Acceptance Test Report 196
VI. Release Package & User Guides 198
1. Deliverable Package 198
1.1 Source codes & documents 198
1.2 Known Issues, Limitations & Restrictions 198
2. Installation Guides 198
2.1 System Requirements 198
2.2 Installation Instruction 198
3. User Manual 199
3.1 System requirements 199
3.2 Application Usage 199
3.2.1 Guest 199

10
3.2.2 Doctor 201
3.2.3 Patient 205
3.2.4 Admin 208
3.2.5 Staff 214
3.3 Troubleshooting 226
VII. Appendix 226

Acknowledgement
This project would have not been completed without the support of many people. So, we want to
thank all of them:

First of all, we want to express our deepest gratitude to our supervisor, Mr. Pham Ngoc Ha for guiding
us throughout this project. His instruction, advice and motivation is the most important factor of this
project’s success.

Second, we want to thank all of the lectures of FPT University, the FPT University itself and Coursera
and Funix online learning system. The knowledge which they provide us with is the most valuable
resource for us to use in the project.

Third, we want to thank all of the FPT University’s students and graduate students for always cheering
us up and providing us with their experience.

Finally, we want to thank and express respect to our families and friends for always supporting us from
behind.

Thank all of you.

Definition and Acronyms


Acronym Definition

API Application Program Interface

BA Business Analysis

BR Business Rule

CRUD Create, Read, Update, Delete

11
DB Database

DBMS Database Management System

EC2 Elastic Compute Cloud

ERD Entity Relationship Diagram

FK Foreign Key

IDE Integrated Development Environment

IT Information Technology

JS Javascript

PK Primary Key

PM Project Manager

QA Quality Assurance

RDS Relational Database Service

S3 Simple Storage Service

SRS Software Requirement Specification

UAT User Acceptance Test

UC Use Case

UI User Interface

UML Unified Modelling Language

UX User Experience

WBS Work Breakdown Structure

12
I. Project Introduction
1. Overview
1.1 Project Information
● Project name: Management and take care patient-Zero at home
● Project code: F-CDC
● Group name: SWP490_G24
● Software type: Website
● Timeline:
1.2 Project Team
a. Supervisor
Full Name Email Mobile Title

Pham Ngoc Ha hapn10@fe.edu.vn 0988623000 Lecturer

b. Team Members
Full Name Email Mobile Role

Phạm Văn Khánh khanhpvhe130446@fpt.edu.vn 0966274390 Leader

Trương Quốc Khánh khanhtqhe130683@fpt.edu.vn 0379416224 Member

Phan Quang Anh anhpqhe130956@fpt.edu.vn 0986048231 Member

Nguyễn Đình Duẩn duanndhe130823@fpt.edu.vn 0355679554 Member

Hồ Ngọc Hải haihnhe130686@fpt.edu.vn 0911697565 Member

2. Product Background
Currently, our country and other countries in the world are struggling with the Coronavirus
disease (COVID-19) that has caused the death of millions of people.

The Support Patient Zero Self-treatment team realised the number of covid-19 patients in
Vietnam is increasing day by day:

● Currently, in Vietnam, as of September, there are a total of more than 600,000 cases
with the number of daily cases about 10,000 cases, and the trend is continuing to
increase.
● The number of deaths has reached more than 15,000
● Ho Chi Minh City alone has more than 300,000 cases, Binh Duong province has more
than 160,000 cases, Dong Nai province has more than 35,000 cases.

Because there are too many people infected while infrastructure and facilities are not enough
to meet the needs of COVID-19 treatment, so many patients have to self-treat at home according to
the request and instructions of the Ministry of Health.
The current epidemic is very serious, the government has switched to treating covid patients
in a 3-story tower. The first layer is very important, it covers patients with a little or no symptoms,
underlying disease, or stable underlying disease. So the first floor will be treated at home

13
In order to better manage and care for patients in each area, the Support Patient Zero Self-
treatment team decided to create a website to help staff in commune health centres manage and take
care of patients in a timely and better manner.

This software will help medical staff and doctors to capture patient information in a smart,
simple and fastest way. And can cover the current situation of the epidemic.

3. Existing System
3.1. HCDC website
HCDC is a centre for health and disease. The system focuses on services such as
covid-19 testing, vaccination schedules, and other disease-related information.

HCDC is a great site. It provides a user-friendly interface that is easy to use. Provide a lot of information
related to the Covid-19 epidemic and effective disease prevention measures

Summary of the advantages and disadvantages of HDCD System


Pros Cons

14
• Users can use it simply and effective • HCDC is only a website that
• HCDC provides important information provides information about covid-
for everyone 19 services but cannot advise or
give effective advice directly to
Covid patients.

Table 1 - Pros and Cons of HCDC System

3.2. Electronic healthy declaration


This is the daily electronic declaration to help people provide personal information and symptoms,
health status at home.

Summary of the advantages and disadvantages of Electronic healthy declaration website


Pros Cons

• Users can use it simply and effective • This system allows you to declare

• Fully necessary information many times in one day which leads

• Fully declared subjects to difficult to manage everyone.

Table 2 - Pros and Cons of Covidmaps

15
4. Business Opportunity
In the context of complicated epidemic developments, the number of people infected with
the disease increased, the demand for health care consultations of patients also increased. The State
has implemented a 3-tier model of patient care and management. The first tier is for patients with
mild symptoms, no underlying disease, or non-serious underlying disease.

Expect good first-floor care when the sick are isolated at home. We need a system to help
manage and care for patients

To solve this problem, a system of management and care of covid patients isolated at home
was born.

5. Software Product Vision


During the current covid pandemic, Vietnam is strengthening its anti-epidemic work. People's
health is always a top priority. This system will contribute to a more effective anti-epidemic. The F-
CDC website helps patients who are treated at home to ensure their health and easier to manage and
care for patients, reducing work for frontline medical staff and doctors.

6. Project Scope & Limitations


6.1 Major Features
There are 5 types of users in F-CDC System:
Type of User Description

Admin People who manage the F-CDC System

Guest The users that don’t have an account

Staff People who receive and manage patients' reports.

Patient The registered user of the system and declare everyday

The user is provided an account as a doctor who take care patients have a
Doctor
noted condition

F-CDC System will provide the following functions to the above users:

FE Description

01 Patients must submit a report before 12pm.

02 Staff receives reports and gives comment replies for each report.

16
03 Staff send information of patients in bad condition to a doctor.

04 Staff can update disease status.

05 Text chat between staff’ facebook page and patients, doctor and guest.

06 Admin posts news about covid-19 information or tutorials relate to covid

07 Staff, doctor and patient have chart

Table 3 - Major Features

6.2 Limitations & Exclusions


● Limited confirms: The patient may send the wrong health status if they aren’t careful
● Limited scope of use: The system is effective only in areas where patients self-treat at home
and during outbreaks.

II. Project Management Plan


1. Overview
1.1 WBS & Estimation

Est. Effort
WBS ID WBS Item Complexity
(man-days)

1 Project Initiating 15

1.1 Determine project scope Medium 3

1.2 Select project manager Simple 0.5

1.3 Kick-off meeting Simple 1

1.4 List up requirements Complex 5

1.5 Create report 1 (Project Introduction) Medium 5

1.6 Finish project initiating Simple 0.5

2 Project Planning 25

2.1 Create report 2 (Project Management Plan) Complex 5

2.2 Training technical Complex 15

17
2.3 Meet instructor Simple 1

2.4 Team meeting Simple 3

2.5 Finish Project planning Simple 1

3 Project Executing 268

3.1 Iteration 1 65

3.1.1 Requirement & Design 35

3.1.1.1 Define requirements Complex 7.5

3.1.1.2 Analysis requirements Complex 7.5

3.1.1.3 Define main use cases Medium 5

3.1.1.4 Define & analyse the main business flow Complex 10

3.1.1.5 Design figma screen Medium 5

3.1.2 Code & Implementation 19

3.1.2.1 Back-end 9

3.1.2.1.1 Configuration & Setup environment Medium 4

3.1.2.1.2 Create base project Medium 5

3.1.2.2 Front-end 10

3.1.2.2.1 Configuration & Setup environment Medium 5

3.1.2.2.2 Create base project Medium 5

3.1.3 Document 10

3.1.3.1 Create report3(SRS) Medium 10

3.1.4 Summary & Evaluation Iteration 1 Simple 1

3.2 Iteration 2 136

3.2.1 Requirement & Design 50

3.2.1.1 Define & analyse requirement again Medium 5

3.2.1.2 Update requirement Medium 5

3.2.1.3 Design system architecture Complex 10

3.2.1.4 Design back-end architecture Complex 10

3.2.1.5 Design front-end architecture Complex 10

3.2.1.6 Design database Complex 10

18
3.2.2 Code & Implementation 36

3.2.2.1 Back-end 10

3.2.2.1.1 API 10

3.2.2.1.1.1 API admin Complex 5

3.2.2.1.1.2 API staff Complex 5

3.2.2.2 Front-end 26

3.2.2.2.1 Home Screen 3

3.2.2.2.1.1 Login Medium 2

3.2.2.2.1.2 Logout Simple 1

3.2.2.2.2 Admin screen 8

3.2.2.2.2.1 View users list Simple 1

3.2.2.2.2.2 View news list Simple 1

3.2.2.2.2.3 Create news Medium 2

3.2.2.2.2.4 Create users Medium 2

3.2.2.2.2.5 Update news Simple 1

3.2.2.2.2.6 Delete users Simple 1

3.2.2.2.3 Staff screen 15

3.2.2.2.3.1 View dashboard Medium 3

3.2.2.2.3.2 Management patient Complex 10

3.2.2.2.3.3 Change password Simple 2

3.2.2.2.3.4 Management report Complex 10

3.2.3 Testing 24

3.2.3.1 Create test plan Simple 3

3.2.3.2 Create unit test case Medium 5

3.2.3.3 Create test case iteration 2 Medium 5

3.2.3.4 Test iteration 2 Simple 3

3.2.3.5 Verify test iteration 2 Simple 3

3.2.3.6 Fix bug iteration 2 Medium 5

3.2.4 Document 10

19
3.2.4.1 Create report 4 (Software Design) Medium 10

3.2.5 Summary & Evaluation Iteration 2 Simple 1

3.3 Iteration 3 67

3.3.1 Requirement & Design 15

3.3.1.1 Update requirement Medium 5

3.3.1.2 Update use case Medium 5

3.3.1.3 Update database design Medium 5

3.3.2 Code & Implementation 36

3.3.2.1 Back-end 16

3.3.2.1.1 API 16

3.3.2.1.1.3 API patient Complex 8

3.3.2.1.1.4 API doctor Complex 8

3.3.2.2 Front-end 20

3.3.2.2.1 Patient screen 10

3.3.2.2.1.1 Dashboard screen Medium 3

3.3.2.2.1.2 List report screen Simple 1

3.3.2.2.1.3 Report screen Simple 1

3.3.2.2.1.4 Information screen Simple 1

3.3.2.2.1.5 Change password screen Simple 1

3.3.2.2.1.6 Create daily report screen Medium 2

3.3.2.2.1.7 Test result screen Simple 1

3.3.2.2.2 Doctor screen 8

3.3.2.2.2.1 Dashboard screen Medium 3

3.3.2.2.2.2 Manage patients screen Medium 2

3.3.2.2.2.3 Manage report screen Medium 3

3.3.2.2.3 News screen 2

3.3.2.2.3.1 List news screen Simple 1

3.3.2.2.3.2 News detail screen Simple 1

3.3.3 Testing 16

20
3.3.3.1 Create test case iteration 3 Medium 5

3.3.3.2 Test iteration 2 Simple 3

3.3.3.3 Verify test iteration 2 Simple 3

3.3.3.4 Fix bug iteration 2 Medium 5

3.3.4 Document 10

3.3.4.1 Create report 5 (Test Document) Medium 10

4 Project Monitoring and Controlling 22

4.1 Create report 6 (Software User Guides) Complex 6

4.2 Perform project communication Medium 4

4.3 Monitor and control scope Medium 4

4.4 Monitor and control risk Medium 4

4.5 Tracking progress Medium 4

5 Project Closing 10

5.1 Create final report Medium 2

5.2 Team meeting Simple 2

5.3 UAT Complex 5

5.4 Close Project Medium 1

Total Estimated Effort (man-days) 340

1.2 Project Objectives


● Timeliness: The project must be finished before December 19, 2021
● Allocated Effort (man-days): 340
● Defect Distribu on:
# Quantity Stage No. of % of Notes
Defects Defects

1 Reviewing Technical leader reviews code of


members before merging

2 Unit Test Developer creates and tests

3 Integration Test The tester creates and tests

21
4 System Test The tester creates and tests

5 User Acceptance Test Customer verifies system

Total 100%

1.3 Project Risks

# Risk Impact Possibility Prevention Correction


Description

1 Requirement Medium Medium All members discuss Ensure resources are


changes. carefully the project appropriately
requirements allocated to
before starting accommodate new
implementation. requirements.

2 Members Medium High Define clear All members discuss


have argued, tasks for each resolving the conflict.
conflicted member Voting.
with others, and agree on ideas
leads to before starting
stressful work.
working
environments.

3 Illness or Low Medium Members have Ensure that the


absence of to notify the absence of a member
team team won’t
members so about illness or affect others and
that they absence period always have plans to
cannot and the plan of deal with this
complete tasks how to keep up problem.
under with the
deadline. work process.

4 Members lack High Medium Training all Members inform


the members before about their lack of
knowledge starting the project. skills,
and skills to other team
complete a member’s support.
a particular
task.

5 The library Low Low Choose a Choose alternative


used in the reputable library libraries or code.
project is no with active
longer maintenance on
supported GitHub.

22
6 Internet Low Medium All developers have Use alternative ways to
connection is to set up the connect to the internet
down and isolated such as 3G, 4G.
team development
members environment and
cannot have an offline copy
submit work of the
or merge documentation.
code.

2. Management Approach
2.1 Project Process

After researching the software development model carefully, the project will use the
Iterative and Incremental Software Process Model. In an Iterative & Incremental model, initially,
a partial implementation of a total system is constructed so that it will be in a deliverable state.
The Iterative & Incremental model is mostly used when the scope of the project is big, the major
requirements are defined clearly, some more details will be added later in software development.
By using this software process model, we break down the developing system task into a series of
smaller tasks which will be completed separately, allowing us to take advantage of what was
learned during the development of earlier parts of the system. The reasons for the project to
choose this model are:

● You can develop some main func ons that prioritize requirements first.

● Requirements changes can be easily accommodated.


● Tes ng and debugging during smaller itera ons is easy.
● Easier to manage risk easier because risk segments are iden fied and dealt with during its
iteration.

23
● Customers can provide feedback to each product increment, thus avoiding surprises at the
end of development.
● Customers get important func onality early.
2.2 Quality Management
2.2.1 Defect Prevention:
● If any defect is found, the related person must be no fied immediately at that time.
● Defects must be carefully evaluated such as "How bad is the defect and can it damage the
system?", "How long is the time to fix that defect?".
● The deadline for fixing the defect must be specified clearly.
● There is always a plan to prepare for what could happen at any time.

2.2.2 Reviewing:
● The curator must be honest and not biased towards any of the project members. If there
is an error, the person must immediately notify the person responsible for the defect.
● Defects should be recorded on the Bug Tracking software with details such as priority.
● The person responsible for defects found must-have solutions to fix the defect as quickly as
possible.

2.2.3 Unit Testing:


● The curator must prepare the test cases carefully and accurately and must not ignore any
cases. Test cases should be appropriate for the functionality of the system.
● Defects should be recorded on the Bug Tracking so ware with details such as priority.
● The person responsible for defects found must-have solutions to fix the defect as quickly as
possible.

2.2.4 Integration Testing:


● The curator must prepare the test cases carefully and accurately and must not ignore any
cases. Test cases should be appropriate for the functionality of the system.
● Defects should be recorded on the Bug Tracking so ware with details such as priority.
● The person responsible for defects found must-have solutions to fix the defect as quickly as
possible.
● Internal modules within the system work smoothly.

2.2.5 System Testing:


● The curator must prepare test cases carefully and accurately. The test cases must
match well with the system and system and architecture design.
● Defects should be recorded on the Bug Tracking software with details such as priority.
● The person responsible for defects found must-have solutions to fix the defect as quickly as
possible.
● System tes ng test cases cover the en re system func onality and the communica on
under development with external systems.

2.2.6 Acceptance Testing:


● The curator must prepare test cases carefully and accurately. The test cases must
match well with the system and system and architecture design.
● Defects should be recorded on the Bug Tracking so ware with details such as priority.
● The person responsible for defects found must-have solutions to fix the defect as quickly as
possible.

● The test should cover non-functional issues such as load and performance

24
defects.

2.3 Training Plan


Training Area Participants When Duration Waiver
Criteria

ReactJS,(Front-end for HaiHN, KhanhTQ 14/09/2021- Mandatory


Web) 07/10/2021

Spring Boot, REST API DuanND, AnhPQ 14/09/2021- Mandatory


(Back-end for Web) 07/10/2021

Coding Convention & All team members 14/09/2021- Mandatory


Bug Logging 07/10/2021
Convention

Github All team members 14/09/2021- Mandatory


28/09/2021

3. Master Schedule
# Deliverable Due Date Deliverable Scope

1 Project Idea 09/14/21

2 Report 1 – 09/23/21 Product Background, Existing Systems,


Project Business Opportunity, Product Vision,
Introduction Project Scope & Limitations

3 Report 2 – 10/07/21 WBS, Project Process, Plan and Schedule,


Project Project Organisation, Project
Management Communication, and Configuration
Plan Management

4 Report 3 – SRS 10/07/21 Business Rules, Use Case Diagram & Use
Case Description, Functional Requirements,
and Non-Functional Requirements

5 Report 4 – 11/02/21 System Architecture, Back-end Architecture,


Software Design Front-end and Architecture Database design

6 Code & 10/28/21 Detailed Design Code


Implement
Iteration 1

25
7 Code & 11/11/21 Detailed Design Code & Unit test Integration
Implement & System test cases
Iteration 2

8 Report 5 – 12/09/21 Test Model, Test Plan, Test Cases, and Test
Test Reports
Document

9 Report 6 – 12/16/21 Deliverable Package Installation Guides User


Software Guides Manual

10 Code & 12/09/21 Detailed Design Code & Unit test Integration
Implement & System test cases
Iteration 3

11 Final Code and 12/19/21 Final Codes & documents, User manual
Report

4. Project Organization
4.1 Team & Structures

26
4.2 Roles & Responsibilities
Role Responsibility

Project Manager • Planning, developing schedules, coordinating


communication, responsible for keeping the team’s focus
on the main goal.

• Define scope and create an SRS document.


• Design entity relationship diagram.
• Analyze requirements.
• Define business process flow and object state.
• Capture and specifically describe the use case.

Developer • Involve in coding the product and reviewing the code of


other developers.

Test Leader • Create a template testing document.


• Define test strategy, create a test plan, and defect log
template.

Test Member • Create test cases.


• Implement test cases and log defects.

5. Project Communication
5.1 Communication Plan
Communication Who/ Purpose When Type, Tool,
Item Target Frequency Method(s)

27
Team weekly All team Review plan, 15:00 pm Offline,
meeting members schedule, every online
members’ work Saturday through
achievements Facebook,
during the week Google Meet
and
report the
project’s progress
and status

Daily Meeting Team Report the Daily Facebook,


members progress that Meet
members
achieved each day

Unscheduled All team When there's a When Online


meeting members critical problem that member through
needs to be resolved find Facebook,
immediately, discuss important Google Meet
then solve that problems
problem

5.2 External Interface


a. FU Contacts
Function Contact Person Contact address Responsibility
(name, (email, telephone)
position)

Supervisor Pham Ngoc Ha hapn10@fe.edu.vn - Provide document


, 0988623000 template - Instruct the
project team
- Review deliverables
- Supervise project status
- Receive report project

b. Customer Contacts
Function Contact Person Contact address Responsibility
(name, (email, telephone)
position)

Supervisor Pham Ngoc Ha hapn10@fe.edu.vn - Provide document


, 0988623000 template - Instruct the
project team
- Review deliverables
- Supervise project status
- Receive report project

28
6. Configuration Management
6.1 Tools & Infrastructures
Category Tools & Techniques

Programming languages Javascript, Java

Framework ReactJS, Bootstrap, Spring boot

API REST API

API management tool Postman

DBMS MySQL

IDEs/Editors Visual Studio Code, IntelliJ IDEA

UML tools Draw.io

Version Control GitHub

6.2 Document Management


● Document tools: Microso Word 2016, Microso Excel 2016
● File management: Google Drive
6.3 Source Code Management
Source code is managed by Git on github.com

III. Software Requirement Specification


1. Overall Description
1.1 Product Overview
This chapter outlines the functional and non-functional requirements of our system. It also
provides some format constraints in common requirements and project success criteria. The content
of this chapter is used as the basis for the work in the subsequent chapters.

29
During the current complicated situation of the covid epidemic, the F-CDC website will
contribute to helping medical facilities manage and treat patients more quickly and easily.
1.2 Business Rules
ID Description

B01 The phone number must be valid with 10 numeric characters in length.

B02 Passwords must be from 8 to 50 numeric characters in length.

B03 Passwords must be encrypted.

B04 When changing a password, a user must enter the new password twice.

30
B05 Input field not allowed empty

B06 Temperature field must be valid with numeric and from 35 to 42

B07 Breathing field must be valid with numeric and from 12 to 30

B08 Sp02 field must be valid with numeric and from 90 to 99

B09 Size of image or video must be under 25 MB

B10 Admin cannot register with a phone number that has already been registered.

B11 Users must provide their phone number and password when logging into the
system.

B12 Users cannot update their phone number once it has been registered.

B13 When changing a password, a new password must not be the same as the
current password.

B14 Avatar must image file

B15 Phone number is exactly format

B16 Date of birth must not over current day

B17 The patients just sent a request only 1 report a day

B18 If the content search is empty, the result is all by default.

B19 Date positive covid must not over current day.

B20 Database of the system must be backed up weekly.

B21 The data of the user when deleted always just be disabled.

31
B22 When the users forgot their password, they must input exactly their phone
number

2. User Requirements
2.1 Overview
a. Use Case Diagram
Admin

Staff

32
33
Guest, Patient & Doctor

34
b. System Actors
# Actors Description

1 Admin People who manage the F-CDC System

2 Guest The user that has not have an account

3 Patient The user added by admin

4 Staff People who receive patient's request

5 Doctor People who take for patient’s dangerous

c. Use Cases List

ID Use Case Primary Actors Secondary


Actor

UC-1 View news detail Guest/Patient/ N/A


Doctor

UC-2 Search news Guest/Patient/ N/A


Doctor

UC-3 Chat with facebook page Guest/Patient/ N/A


Doctor

UC-4 Log in Admin N/A

UC-5 Log out Admin N/A

UC-6 View news list Admin N/A

UC-7 Create news Admin N/A

UC-8 Search news Admin N/A

UC-9 Delete news Admin N/A

35
UC-10 Update news Admin N/A

UC-11 View staffs list Admin N/A

UC-12 View patients list Admin N/A

UC-13 View doctors list Admin N/A

UC-14 Search users Admin N/A

UC-15 Create staff account Admin N/A

UC-16 Create doctor account Admin N/A

UC-17 Create patient account Admin N/A

UC-18 Delete user Admin N/A

UC-19 Import users by excel Admin N/A

UC-20 Log in Staff N/A

UC-21 Log out Staff N/A

UC-22 Change password Staff N/A

UC-23 Forgot password Staff N/A

UC-24 Dashboard Staff N/A

UC-25 Update patient information Staff N/A

UC-26 View patients list Staff N/A

UC-27 View normal patients list Staff N/A

UC-28 View report list Staff N/A

36
UC-29 View daily report detail Staff N/A

UC-30 Reply daily report Staff N/A

UC-31 Create daily report Staff N/A

UC-32 Send patient to the doctor Staff N/A

UC-33 View covid test patient list Staff N/A

UC-34 Update patient status Staff N/A

UC-35 Export users to excel Staff N/A

UC-36 Remind send daily report Staff N/A

UC-37 Log in Doctor N/A

UC-38 Log out Doctor N/A

UC-39 Change password Doctor N/A

UC-40 Forgot password Doctor N/A

UC-41 Update avatar Doctor N/A

UC-42 Dashboard Doctor N/A

UC-43 View patient list Doctor N/A

UC-44 View report list Doctor N/A

UC-45 View daily report detail Doctor N/A

UC-46 Reply daily report Doctor N/A

UC-47 Log in Patient N/A

37
UC-48 Log out Patient N/A

UC-49 Change password Patient N/A

UC-50 Forgot password Patient N/A

UC-51 Update avatar Patient N/A

UC-52 Create daily report Patient N/A

UC-53 View report history Patient N/A

UC-54 View daily report detail Patient N/A

UC-55 View covid test result Patient N/A

UC-56 Dashboard Patient N/A

2.2 Use Case Specification

2.2.1. Guest
2.2.1.1. View news detail

Use Case ID UC - 01 Use Case Name View news


detail

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Guest/Patient/Doctor Secondary Actor N/A

Description View news about covid-19 information and knowledge about covid-
19

Pre-conditions Display news list

Post-conditions N/A

38
Normal Flow 1. Go to the Home screen.

2. Go to the “Tin tức” or “Cẩm Nang” page

3. Click on any news.

4. Go to the news detail page.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The system
will display an error message as MSG01.

E2 - User tries to edit URL with undefined or not exist. The system
will display the 404 page.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.1.2. Search news

Use Case ID UC - 02 Use Case Name Search news

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Guest/Patient/Doctor Secondary Actor N/A

Description Search title news in the system based on title.

39
Pre-conditions N/A

Post-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.

Normal Flow 1. Go to the Home page or “Cẩm nang” page or “Tin tức” page
2. Click on search bar
3. Input a search content to search in the search area.
4. Enter or click the search icon
5. The system displays the result.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Search when the input field does not satisfy the UI validator.

Priority High

Frequency of Use High

Business Rules B18

Other Information N/A

Assumptions N/A

2.2.1.3. Chat with facebook page

Use Case ID UC - 03 Use Case Name Chat with facebook


page

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Guest/Patient/Doctor Secondary Actor N/A

Description Chat with facebook page of F-CDC to receiving advices.

Pre-conditions N/A

Post-conditions When the normal flow completes successfully, can chat directly with a

40
staff who manage page

Normal Flow 1. Go to the Home page


2. Click on icon messenger
3. Login account facebook or not
4. Start chatting

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Search when the input field does not satisfy the UI validator.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2. Admin
2.2.2.1. Log in

Use Case ID UC - 04 Use Case Name Log in

Created By KhanhPV Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Admin logs in to the admin dashboard using the phone number and
password.

Pre-conditions 1. Admin has already registered an account

Post-conditions The admin is logged in to the admin site.

41
Normal Flow 1. Go to the “Đăng nhập” page.
2. System loads the login page.
3. Admin enter “Số điện thoại” và “Mật khẩu”

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Phone number does not exist.
The system will display an error message: MSG03.
E3 - Password is incorrect.
The system will display an error message: MSG04.

Priority High

Frequency of Use High

Business Rules B01, B02, B05, B15

Other Information N/A

Assumptions N/A

2.2.2.2 Log out

Use Case ID UC – 05 Use Case Name Log out

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Admin log out the system

Pre-conditions 1. Admin accesses the system.


2. Admin is currently logged in.

Post-conditions Admin is logged out of the system.

Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Admin to the log in page.

42
Alternative Flow N/A

Exceptions N/A

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.3. View news list

Use Case ID UC – 06 Use Case Name View news list

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Admin view list of news.

Pre-conditions Admin must login.

Post-conditions

Normal Flow 1. Click to “Quản lý tin tức”


2. Display list of news

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

43
Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.4. Create news

Use Case ID UC – 07 Use Case Name Create news

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Create news for system

Pre-conditions Admin has signed into the admin site.

Post-conditions When the normal flow completes successfully, the news will be save in
database

Normal Flow 1. Go to the Admin Page.


2. Click on “Quản lý tin tức” on the sidebar.
3. Click on “Tạo tin tức” on sidebar
4. Enter title and content of the news
5. Click “Tạo” button

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules B05

Other Information N/A

44
Assumptions N/A

2.2.2.5. Search news

Use Case ID UC – 08 Use Case Name Search news

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Search news in list news on admin site based title

Pre-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.

Post-conditions N/A

Normal Flow 1. Go to the Admin Page.


2. Click on “Quản lý tin tức” on the sidebar.
3. Click on “Tất cả tin tức” on the sidebar
4. Click on the search bar.
5.Input a search content to search in the search area.
6. Enter or click the search icon
7. The system displays the result.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Search when the input field does not satisfy the UI validator.

Priority High

Frequency of Use High

Business Rules B15

Other Information N/A

Assumptions N/A

2.2.2.6. Delete news

45
Use Case ID UC – 09 Use Case Name Delete news

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Admin wants to delete news from the system.

Pre-conditions 1. Admin has logged in into the admin website.


2. Having at least news on the system.

Post-conditions When the normal flow completes successfully, the news will be
deleted from the database.

Normal Flow 1. Go to the Admin Page.


2. Click on “Quản lý tin tức” on the sidebar.
3. Click on “Tất cả tin tức” on the sidebar.
4. Click on “Delete” button on the news admin want to delete
5. Click “Confirm” button

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.7. Update news

Use Case ID UC – 10 Use Case Name Update news

46
Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Admin update title or content of the news

Pre-conditions 1. Admin has signed into the admin website.

Post-conditions When the normal flow completes successfully, the news will be
updated from the database.

Normal Flow 1. Go to the Admin Page.


2. Click on “Quản lý tin tức” on the sidebar.
3. Click on “Tất cả tin tức” on the sidebar.
4. Click on “Update” button on the news admin want to update
5. Edit title or content.
6. Click on the “OK” button.
7. Click on the “Confirm” button.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.8. View staffs list

Use Case ID UC – 11 Use Case Name View staffs list

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

47
Description Display list of staffs

Pre-conditions Admin must login.

Post-conditions

Normal Flow 1. On the admin page, click on”Danh sách nhân viên” on sidebar
2. Display the list staffs

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.9. View doctors list

Use Case ID UC – 12 Use Case Name View doctors list

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Display list of doctors

Pre-conditions Admin must login.

Post-conditions

48
Normal Flow 1. On the admin page, click on”Danh sách bác sĩ” on sidebar
2. Display the list doctors

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.10. View patients list

Use Case ID UC – 13 Use Case Name View patients list

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Display list of patients

Pre-conditions Admin must login.

Post-conditions

Normal Flow 1. On the admin page, click on”Danh sách bệnh nhân” on sidebar
2. Display the list patients

Alternative Flow N/A

49
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.11. Search users


Use Case ID UC – 14 Use Case Name Search users

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Search user in the system based on name.

Pre-conditions N/A

Post-conditions When the normal flow completes successfully, the system displays all
users which match with the search content.

Normal Flow 1. Go to the Admin Page.


2. Click on “Danh sách tài khoản” on the sidebar.
3. Click on the search bar.
4.Input a search content to search in the search area.
5. Enter or click the search icon
6. The system displays the result.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Search when the input field does not satisfy the UI validator.

Priority High

50
Frequency of Use High

Business Rules B18

Other Information N/A

Assumptions N/A

2.2.2.12. Create staff account

Use Case ID UC – 15 Use Case Name Create staff account

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Sign up for an account for staff on the system.

Pre-conditions Admin has signed into the admin website.

Post-conditions When the normal flow completes successfully, a new account will be
created with the role of staff and saved into a database.

Normal Flow 1. Go to the Admin Page.


2. Click “Tạo tài khoản” in sidebar.
3. System displays the “Tạo tài khoản” form.
4. Input họ, tên, số điện thoại, email, password, địa chỉ,
choose radio button “chức vụ” Nhân viên
5. Clicks “Đăng ký” button.
6. System displays a toast success message.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority Medium

Frequency of Use Medium

51
Business Rules

Other Information N/A

Assumptions N/A

2.2.2.13. Create doctor account

Use Case ID UC – 16 Use Case Name Create doctor account

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Sign up for an account for doctor on the system.

Pre-conditions Admin has signed into the admin website.

Post-conditions When the normal flow completes successfully, a new account will be
created with the role of doctor and saved into a database.

Normal Flow 1. Go to the Admin Page.


2. Click “Tạo tài khoản” in sidebar.
3. System displays the “Tạo tài khoản” form.
4. Input họ, tên, số điện thoại, email, password, địa chỉ,
choose radio button “chức vụ” doctor
5. Clicks “Đăng ký” button.
6. System displays a toast success message.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

52
Business Rules

Other Information N/A

Assumptions N/A

2.2.2.14. Create patient account


Use Case ID UC – 17 Use Case Name Create patient account

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Sign up for an account for patient on the system.

Pre-conditions Admin has signed into the admin website.

Post-conditions When the normal flow completes successfully, a new account will be
created with the role of patient and saved into a database.

Normal Flow 1. Go to the Admin Page.


2. Click “Tạo tài khoản” in sidebar.
3. System displays the “Tạo tài khoản” form.
4. Input họ, tên, số điện thoại, email, password, địa chỉ,
choose radio button “chức vụ” doctor
5. Clicks “Đăng ký” button.
6. System displays a toast success message.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

53
2.2.2.15. Delete user

Use Case ID UC – 18 Use Case Name Delete user

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

Description Delete user from database

Pre-conditions Admin must login.

Post-conditions When the normal flow completes successfully, that user will
be removed and database saved

Normal Flow 1. Go to admin page


2. Click to “Bệnh nhân” or “Nhân viên” or “Bác sĩ”
3. Click to “Delete” button.
4. Click to “Xác nhận” button

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.2.16. Import users by excel

Use Case ID UC – 19 Use Case Name Import users by excel

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Admin Secondary Actor N/A

54
Description Sign up for a list of users on the system by an excel file.

Pre-conditions Admin must login.

Post-conditions When the normal flow completes successfully, a new


accounts list will be created and saved into a database.

Normal Flow 1. Go to admin page


2. Click to “Tạo tài khoản”
3. Click to “Tạo từ excel”

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3. Staff
2.2.3.1 Login
Use Case ID UC - 20 Use Case Name Login

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Staff login into the admin dashboard using the phone number and
password.

Pre-conditions Staff has already registered an account

Post-conditions The staff is logged in to the staff site.

55
Normal Flow 1. Go to the “Đăng nhập” page.
2. System loads the login page.
3. Staff enter “Số điện thoại” và “Mật khẩu”
4. Click on “Đăng nhập” button

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Phone number does not exist.
The system will display an error message: MSG03.
E3 - Password is incorrect.
The system will display an error message: MSG04.

Priority Medium

Frequency of Use Medium

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.2 Logout
Use Case ID UC - 21 Use Case Name Logout

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Staff log out the system

Pre-conditions 1. Staff accesses the system.


2. Staff is currently logged in.

Post-conditions Staff is logged out of the system.

Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Staff to the login page.

56
Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority Medium

Frequency of Use Medium

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.3 Change password


Use Case ID UC - 22 Use Case Name Change password

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Staff changes their password.

Pre-conditions Staff must login.

Post-conditions When the normal flow completes successfully, the new password will be
updated to success and saved into the database.

Normal Flow 1. On the main screen, select the menu in the upper right corner.
2. Click on “Đổi mật khẩu”.
3. Input old password, new password and confirm password.
4. Click on “Đổi mật khẩu” button.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

57
Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.4 Forgot password

Use Case ID UC – 23 Use Case Name Forgot password

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Staff gets a default password when forgot old password

Pre-conditions

Post-conditions When the normal flow completes successfully, the password


will be updated to default password and saved into the
database.

Normal Flow 1. On the login screen, select “Quên mật khẩu”


2. A verify link sent to email
3. Click on link to set password to default password

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

58
Other Information N/A

Assumptions N/A

2.2.3.5 Dashboard

Use Case ID UC – 24 Use Case Name Dashboard

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Display chart showing status of F0 patient .

Pre-conditions Staff must login.

Post-conditions

Normal Flow 1. Go to staff page


2. Click on “Biểu đồ thống kê” on sidebar
3. Display the chart

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.6 Update patient information

59
Use Case ID UC – 25 Use Case Name Update patient
information

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Update information of patients f0.

Pre-conditions Staff must login.

Post-conditions

Normal Flow 1. Go to staff page


2. Click to “Bệnh nhân F0”
3. Click to name of patient
4. Update information
5. Click to “Cập nhật” button

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.7 View patients list

Use Case ID UC – 26 Use Case Name View list patients

Created By KhanhTQ Created Date 03/10/2021

60
Primary Actor Staff Secondary Actor N/A

Description Display list of patients

Pre-conditions Staff must login.

Post-conditions

Normal Flow 1. On the staff page, click on”Danh sách nhân viên” on sidebar
2. Display the list staffs

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.8 View normal patient list

Use Case ID UC – 27 Use Case Name View normal patients


list

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Display list of patients cured.

Pre-conditions Staff must login.

61
Post-conditions

Normal Flow 1. On the staff page, click on ”Khỏi bệnh” on sidebar


2. Display the list of staffs cured

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.9 View report list

Use Case ID UC – 28 Use Case Name View reports list

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Display list of reports

Pre-conditions Staff must login.

Post-conditions

Normal Flow 1. On the staff page, click on”Danh sách bệnh nhân” on sidebar
2. Click to a patient in list
3. Display reports of this patient

62
Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.10 View daily report detail


Use Case ID UC - 29 Use Case Name View daily report detail

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Staff views all reports daily of patients.

Pre-conditions Staff has logged into the staff website.

Post-conditions N/A

Normal Flow 1. Go to the page screen of the staff.


2. Choose “Đã gửi” in the sidebar.
3. The system displays a list of all reports.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority Medium

63
Frequency of Use Medium

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.11 Reply daily report


Use Case ID UC – 30 Use Case Name Search daily report

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Staff reply daily report of patient

Pre-conditions Staff has logged in into the staff website.

Post-conditions When the normal flow completes successfully, the reply will be saved
into the database.

Normal Flow 1. Click on “Danh sách bệnh nhân”


2. Click on “Báo cáo hằng ngày”
3. Display all report daily of that patient
4. Click on a report of a date
5. Input reply
6. Click “Gửi” button
7. Click “Confirm” button

Alternative Flow 1. Click on “Danh sách báo cáo”


2. Click on a report
3. Display all report daily of that patient
4. Click on a report of a date
5. Input reply
6. Click “Gửi” button
7. Click “Confirm” button

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

64
Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.12 Create daily report

Use Case ID UC – 31 Use Case Name Create daily report

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description The staff create a report instead patient when they can’t send report

Pre-conditions The staff is currently logged in.

Post-conditions When the normal flow completes successfully, the new


report will be created and saved into the database.

Normal Flow 1. On the staff screen, click on “Danh sách bệnh nhân”
2. Click on “Khai báo hộ”.
3. Input data in form.
4. Click on “Confirm” button.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

65
Assumptions N/A

2.2.3.13 Send patient to doctor


Use Case ID UC – 32 Use Case Name Send patient to doctor

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Send all disease status of patient which not good status disease to
doctor

Pre-conditions 1. Staff has signed into the staff website.


2. Having at least a request in the list requests.

Post-conditions N/A

Normal Flow 1. Go to Staff Page


2. Click “Danh sách bệnh nhân” in sidebar
3. Choose a doctor in list doctors to take care this patient

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.14 View covid test patient list


Use Case ID UC – 33 Use Case Name View covid test patient
list

66
Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description View list of patients must tested each day

Pre-conditions Staff has signed into the staff website.

Post-conditions

Normal Flow 1. Go to the Staff Page.


2. Click on “Danh sách xét nghiệm” on sidebar
3. Display all patients must tested

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.15 Update patient status


Use Case ID UC – 34 Use Case Name Update patient status

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Update status of patient when patient cured.

67
Pre-conditions Staff has signed into the staff website.

Post-conditions N/A

Normal Flow 1. Go to the Staff Page.


2. Click “Danh sách bệnh nhân” in sidebar.
3. Click “Đã khỏi bệnh”radio button.
4. Click on “OK” button
5. Click on “Confirm” button.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.16 Export user to excel

Use Case ID UC – 35 Use Case Name Export users to excel

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Export the list of users to a excel file

Pre-conditions Staff must login.

Post-conditions When the normal flow completes successfully, a list of user


will be export to a excel file.

68
Normal Flow 1. Go to admin page
2. Click to “Bệnh nhân” or “Nhân viên” or “Bác sĩ”
3. Click to “Xuất ra excel”

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.3.17 Remind send daily report

Use Case ID UC – 36 Use Case Name Remind send daily


report

Created By KhanhTQ Created Date 03/10/2021

Primary Actor Staff Secondary Actor N/A

Description Remind patients send daily report if they send report late

Pre-conditions Staff must login.

Post-conditions When the normal flow completes successfully, patients have


message remind in your phone

Normal Flow 1. Go to admin page


2. Click to “Bệnh nhân” or “Nhân viên” or “Bác sĩ”
3. Click to “Xuất ra excel”

Alternative Flow N/A

69
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4 Doctor
2.2.4.1 Login
Use Case ID UC – 37 Use Case Name Login

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Doctor login into the doctor dashboard using the phone number and
password.

Pre-conditions Doctor has already registered an account

Post-conditions The doctor is logged in to the doctor site.

Normal Flow 1. Go to the “Đăng nhập” page.


2. System loads the login page.
3. Staff enter “Số điện thoại” và “Mật khẩu”
4. Click on “Đăng nhập” button

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Phone number does not exist.
The system will display an error message: MSG03.
E3 - Password is incorrect.
The system will display an error message: MSG04.

70
Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4.2 Logout
Use Case ID UC – 38 Use Case Name Logout

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Doctor log out the system

Pre-conditions 1. Doctor accesses the system.


2. Doctor is currently logged in.

Post-conditions Doctor is logged out of the system.

Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Staff to the login page.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

71
Business Rules

Other Information N/A

Assumptions N/A

2.2.4.3 Change password


Use Case ID UC – 39 Use Case Name Change password

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Doctor changes their password.

Pre-conditions Doctor must login.

Post-conditions When the normal flow completes successfully, the new


password will be updated to success and saved into the
database.

Normal Flow 1. On the homepage screen, select the Username in the upper
right corner.
2. Click on “Đổi mật khẩu”.
3. Input old password, new password and confirm password.
4. Click on “Đổi mật khẩu” button.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

72
2.2.4.4 Forgot password

Use Case ID UC – 40 Use Case Name Forgot password

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Doctor gets a default password when forgot old password

Pre-conditions

Post-conditions When the normal flow completes successfully, the password


will be updated to default password and saved into the
database.

Normal Flow 1. On the login screen, select “Quên mật khẩu”


2. A verify link sent to email
3. Click on link to set password to default password

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4.5 Update avatar

Use Case ID UC – 41 Use Case Name Update avatar

73
Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description The doctor adds or updates avatar information.

Pre-conditions The doctor is currently logged in.

Post-conditions When the normal flow completes successfully, the new


avatar information will be updated to success and saved into
the database.

Normal Flow 1. Click “Thông tin cá nhân”


2. Click field avatar
3. Choose a image
4. Click “Cập nhật” button.
5. Click “Xác nhận” button.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4.6 Dashboard

Use Case ID UC – 42 Use Case Name Dashboard

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Display chart showing status of F0 patient .

74
Pre-conditions Doctor must login.

Post-conditions

Normal Flow 1. Go to personal page


2. Click on “Danh sách bệnh nhân”
3. Click on a patient in list
4. Display the chart

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4.7 View patient list

Use Case ID UC – 43 Use Case Name View patients list

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Display list of patients

Pre-conditions Doctor must login.

Post-conditions

75
Normal Flow 1. On the doctor page, click on”Danh sách bệnh nhân”
2. Display the list of patients

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4.8 View report list

Use Case ID UC – 44 Use Case Name View reports list

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Display list of reports

Pre-conditions Doctor must login.

Post-conditions

Normal Flow 1. On the doctor page, click on”Danh sách bệnh nhân” on sidebar
2. Click to a patient in list
3. Display reports of this patient

Alternative Flow N/A

76
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4.9 View daily report detail


Use Case ID UC – 45 Use Case Name View daily report
detail

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Doctor views detail of report of patients that they treat.

Pre-conditions Doctor has logged into the system website.

Post-conditions N/A

Normal Flow 1. Click on “Danh sách bệnh nhân”


2. Click on a patient
3. Display report daily of that patient
4.Click to a report
5. Display detail of this report

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

77
Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.4.10 Reply daily report

Use Case ID UC – 46 Use Case Name Reply daily report

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Doctor reply daily report of patient

Pre-conditions Doctor has logged in into the staff website.

Post-conditions When the normal flow completes successfully, the reply will be saved
into the database.

Normal Flow 1. Click on “Danh sách bệnh nhân”


2. Click on a patient
3. Display all report daily of that patient
4. Click on a report of a date
5. Input reply
6. Click “Gửi” button
7. Click “Confirm” button

Alternative Flow

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

78
Business Rules

Other Information N/A

Assumptions N/A

2.2.4.11 View news

Use Case ID UC - 47 Use Case Name View news

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description View news about covid-19 information and knowledge about covid-
19

Pre-conditions N/A

Post-conditions N/A

Normal Flow 1. Go to the Home screen.


2. Go to the “Tin tức” or “Cẩm Nang” page
3. Click on any news.
4. Go to the news detail page.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server.


The system will display an error message as MSG01.
E2 - User tries to edit URL with undefined or not exist.
The system will display the 404 page.

Priority High

Frequency of Use High

Business Rules

79
Other Information N/A

Assumptions N/A

2.2.4.12 Search news

Use Case ID UC - 48 Use Case Name Search news

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Doctor Secondary Actor N/A

Description Search title news in the system based on title.

Pre-conditions N/A

Post-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.

Normal Flow 1. Go to the Home page or “Cẩm nang” page or “Tin tức” page
2. Click on search bar
4. Input a search content to search in the search area.
5. Enter or click the search icon
6. The system displays the result.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Search when the input field does not satisfy the UI validator.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

80
2.2.5 Patient
2.2.5.1 Login

Use Case ID UC – 49 Use Case Name Login

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Patient login into the doctor dashboard using the phone number and
password.

Pre-conditions Patient has already registered an account

Post-conditions The patient is logged in to the system site.

Normal Flow 1. Go to the “Đăng nhập” page.


2. System loads the login page.
3. Staff enter “Số điện thoại” và “Mật khẩu”
4. Click on “Đăng nhập” button

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Phone number does not exist.
The system will display an error message: MSG03.
E3 - Password is incorrect.
The system will display an error message: MSG04.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

81
2.2.5.2 Logout

Use Case ID UC – 50 Use Case Name Logout

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Patient log out the system

Pre-conditions 1. Patient accesses the system.


2. Patient is currently logged in.

Post-conditions Patient is logged out of the system.

Normal Flow 1. On the dashboard screen, select the menu in the upper right
corner.
2. Click “Đăng xuất”.
3. The system will redirect Staff to the login page.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.3 Change password

Use Case ID UC – 51 Use Case Name Change password

Created By KhanhTQ Created Date 04/10/2021

82
Primary Actor Patient Secondary Actor N/A

Description Patient changes their password.

Pre-conditions Patient must login.

Post-conditions When the normal flow completes successfully, the new


password will be updated to success and saved into the
database.

Normal Flow 1. On the homepage screen, select the Username in the upper
right corner.
2. Click on “Đổi mật khẩu”.
3. Input old password, new password and confirm password.
4. Click on “Đổi mật khẩu” button.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.4 Forgot password

Use Case ID UC – 52 Use Case Name Forgot password

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Patient gets a default password when forgot old password

Pre-conditions

83
Post-conditions When the normal flow completes successfully, the password
will be updated to default password and saved into the
database.

Normal Flow 4. On the login screen, select “Quên mật khẩu”


5. A verify link sent to email
6. Click on link to set password to default password

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.5 Update avatar


Use Case ID UC - 53 Use Case Name Update avatar

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description The patient adds or updates personal information.

Pre-conditions 1. The patient is currently logged in.

Post-conditions When the normal flow completes successfully, the new


information will be updated to success and saved into the
database.

Normal Flow 1. Click “Thông tin cá nhân”


2. Input fields
3. Click “Cập nhật” button.
4. Click “Xác nhận” button.

84
Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.6 Create daily report


Use Case ID UC - 54 Use Case Name Create daily report

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description The patient create a report to send to staff

Pre-conditions 1. The patient is currently logged in.

Post-conditions When the normal flow completes successfully, the new


report will be created and saved into the database.

Normal Flow 1. Click “Báo cáo hằng ngày”


2. Click “Tạo báo cáo”
3. Input data in form
4. Click “Confirm” button

Alternative Flow N/A

85
Exceptions E1 - The system cannot communicate with API Server. The
system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.7 View report history

Use Case ID UC – 55 Use Case Name View report history

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Patient view all daily report

Pre-conditions Patient must login.

Post-conditions N/A

Normal Flow 1. On personal site, click on “Danh sách báo cáo”


2. Click on date bar to choose date
3. Display daily report of that day

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

86
Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.8 View daily report detail

Use Case ID UC – 56 Use Case Name View daily report


detail

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Patient views a report detail of them.

Pre-conditions Patient has logged into the system website.

Post-conditions N/A

Normal Flow 1. Click on “Danh sách báo cáo”


2. Display report daily of that patient
3. Click to a report
4. Display detail of this report

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

87
Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.9 View covid test result

Use Case ID UC – 57 Use Case Name View covid test result

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Patient view result of covid test

Pre-conditions Patient must login.

Post-conditions N/A

Normal Flow 1. On personal site, click on “Kết quả xét nghiệm”


2. Display date and result of this date

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

88
Assumptions N/A

2.2.5.10 Dashboard

Use Case ID UC – 58 Use Case Name Dashboard

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Display chart showing status of F0 patient .

Pre-conditions Patient must login.

Post-conditions

Normal Flow 4. Go to personal site


5. Click on “Danh sách báo cáo”
6. Display the chart

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.11 View news

89
Use Case ID UC - 59 Use Case Name View news

Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description View news about covid-19 information and knowledge about


covid-19

Pre-conditions N/A

Post-conditions N/A

Normal Flow 1. Go to the Home screen.


2. Go to the “Tin tức” or “Cẩm Nang” page
3. Click on any news.
4. Go to the news detail page.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API


Server. The system will display an error message as
MSG01.
E2 - User tries to edit URL with undefined or not
exist. The system will display the 404 page.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

2.2.5.12 Search news

Use Case ID UC - 60 Use Case Name Search news

90
Created By KhanhTQ Created Date 04/10/2021

Primary Actor Patient Secondary Actor N/A

Description Search title news in the system based on title.

Pre-conditions N/A

Post-conditions When the normal flow completes successfully, the system displays all
news which matches with the search content.

Normal Flow 1. Go to the Home page or “Cẩm nang” page or “Tin tức” page
2. Click on search bar
4. Input a search content to search in the search area.
5. Enter or click the search icon
6. The system displays the result.

Alternative Flow N/A

Exceptions E1 - The system cannot communicate with API Server. The


system will display an error message as MSG01.
E2 - Search when the input field does not satisfy the UI validator.

Priority High

Frequency of Use High

Business Rules

Other Information N/A

Assumptions N/A

91
3. Functional Requirements
3.1 System Functional Overview
a. Screen Flow

b. Screen Details
# Feature Screen Description

1 Home Log in Screen for the patient and doctor to sign in into the
system.

2 Personal Home The screen that shows general information of the


website

3 Personal Change The screen for the patient and doctor to change
password the password.

4 Personal Send report The screen where patients send reports


daily to the system.

5 Personal Profile The screen shows useful information.

6 Personal Edit profile The screen where patients edit their profile.

7 Personal View history The screen where users view their report history
in the system.

8 Personal Sign out The popup for the patients and doctors to sign out
the system.

9 CreateReport Send report The screen for patients to create a report to send to
daily staff.

92
10 UpdateReport Send report The screen for patients to input symptoms in the
daily report daily.

11 StaffMagage Manage patient The screen displays information and reports of


patients.

12 StaffMagage Manage report The screen displays all reports daily of patients.

13 StaffMagage Reply report The screen where staff reply to reports daily.

14 StaffMagage Manage covid The screen displays and updates covid test
test results of patients.

15 AdminManage Manage Users The screen where the admin manages all users.

16 AdminManage Manage The screen where the admin manages all


Account accounts of .

17 AdminManage Manage News The screen where the admin creates,


updates ,deletes news.

18 News View News The screen where to view news websites.

c. Screen Authorization
Screen Role1 Role2 Role3 Role4 Role5

Home

Sign in X X X X

Register X

Forgot Password X X X

Personal

Home

Change password X

Send report X

User profile X

Edit profile X

93
View history report X

Sign out X X X X

View News X X X X

Search News X X X X

Create daily report X

View daily report X X X

Update patient’s report X X

View history report X X X

AdminManage

Dashboard X

Create News X

Manage Users X

View users X

Manage News X

View news website X X X X X

In which:
● Role1: Admin
● Role2: Staff
● Role3: Doctor
● Role4: Pa ent
● Role5: Guest
d. Non-Screen Functions
# Feature System Function Description

1 Home Sign out Users sign out of the system.

94
e. Entity Relationship Diagram

95
Entities List

# Entity Description

1 Manage account Describe display all account

2 Create patient account Describe the admin create an account for patient.

3 Create staff account Describe the admin create an account for staff.

4 Create doctor account Describe the admin create an account for doctor.

5 Display news Describe display all news .

6 Create news Admin creates news in home page

7 Delete news Admin creates news in home page

8 Manage report Describe display all daily report’s patient

9 Daily report The reports which sent by patient.

10 Patient The account of the F-cdc system.

11 Doctor The account of the F-cdc system.

12 Staff The account of the F-cdc system.

13 Update status Describe staff update status’s patient.

14 Update report Describe staff update report’s patient

15 Chat Describe communication between staff with patient

16 Guest The guests view news when they come page.

17 Admin The admin of F-cdc system.

3.2 Website for Guest, Doctor and Patient


3.2.1. Homepage

• Function trigger: This function is triggered when the guest go to the Homepage.

• Function description: The guest can see some information about the F-CDC system.

• Screen layout: Sample below is for the Homepage.

96
• Function Details: When the user is in the state not logged in, at the home page there will be
show some information into the system.
3.2.2. News
• Function trigger: This function is triggered when the guest go to the Premium Screen.
• Function description: The guest can see some information’s about Request Counselling of F-
cdc system.

97
• Function Details: When the user is in the state not logged in, at the premium screen there
will be show some information’s of Request Counselling into the system.
3.2.3.News details

• Function trigger: This function is triggered when the guest go to the News Screen.

• Function description: The guest can see some information’s about News of F-cdc system.
• Screen layout: Sample below is for the News Screen.

98
• Function Details: When the user is in the state not logged in, at the support screen there
will be show some information about support of News detail system.
3.2.4. Introduction

• Function trigger: This function is triggered when the guest go to the introduction Screen.

99
• Function Details: When the user is in the state not logged in, at the view introduction
Screen, they can get link to the store to download f-cdc application.

3.2.5. Information
• Function trigger: This function is triggered when the doctor go to the information
Screen.

3.2.6. List Patient


• Function trigger: This function is triggered when the doctor go to the list patient
Screen.

100
3.2.7. Update information
• Function trigger: This function is triggered when the doctor go to the update
information Screen.

101
3.2.8. View daily report
• Function trigger: This function is triggered when the doctor go to the view daily report
Screen.

102
3.2.9. Change password
• Function trigger: This function is triggered when the doctor go to the view change
password Screen.

3.2.10. View result test


• Function trigger: This function is triggered when the doctor go to the view result test
Screen.

103
3.2.11. View dashboard
• Function trigger: This function is triggered when the doctor and patient go to the view
dashboard Screen.

3.2.12. View dashboard by staff


• Function trigger: This function is triggered when the staff go to the view dashboard
Screen.

104
3.3 Application for Admin
3.3.1. Sign up

• Function trigger: This function is triggered when the admin register to create a user of F-cdc
system.
• Function description: The user register to become a user.
• Screen layout: Sample below is for the Sign up Screen.

105
• Function Details: The guest input all the fields to provide information then choose “Đăng
Nhập”
3.3.2. Log in

• Function trigger: This function is triggered when the user log in into the F-cdc system.

• Function description: The user login into F-cdc system.


• Screen layout: Sample below is for the Login Screen.

106
• Function Details: The guest input all the fileds to provide information then choose “Đăng
Nhập”
3.3.3. Management account

• Function trigger: This function is triggered when the user go to the management account
Screen.

• Function description: Admin go to the management account Screen.


• Screen layout: Sample below is for the management account Screen.

• Function Details: After going to the management account screen, users can see list

107
accounts of F-cdc system.
3.3.4. Create account

• Function trigger: This function is triggered when creating account Screen..

• Function description: Admin can create a account


• Screen layout: Sample below is for the create a account Screen.

• Function Details: After going to the Login.


3.3.5. Manage News

• Function trigger: This function is triggered when the admin wants to manage news in f-cdc
system
• Function description: The user can view news.
• Screen layout: Sample below is for the view news Screen.

108
• Function Details: After going to the manage news Screen,admin can login f-cdc system
3.3.6. Create news

• Function trigger: This function is triggered when admin want to create news in f-cdc system
• Function description: The user can create news.
• Screen layout: Sample below is for the create news Screen.

109
• Function Details: After going to the Create news Screen, admin must go to manage news
3.3.7. Delete news

• Function trigger: This function is triggered when the admin can delete news in f-cdc system
• Function description: The admin can delete news
• Screen layout: Sample below is for the Delete news Screen.

110
• Function Details: After going to the Delete news Screen,Admin can click button “Xoa”

4. Non-Functional Requirements
4.1 External Interfaces
a. User Interfaces
UI-1: The websites will have a user-friendly interface and are easy to use.
UI-2: The layout of the screen is streamlined, easy to operate, and implement for the user.
UI-3: Buttons have distinctive features and colours but are in sync with the interface.
UI-4: When the user is on a screen or function, the position of that function displayed on the
sidebar will be bright and synchronized with the interface.
UI-5: Notifications displayed on the screen have a friendly banner outlining the content for the
user.
UI-6: The LCM screen displays shall conform to the Process Impact Internet Application User
Interface Standard, Version 2.0 [3].
UI-7: The system will provide a website help link that is displayed explaining how to use that page
to the user.

111
UI-8: Web pages will allow users to copy and paste using a mouse, in addition to using a mouse
and keyboard combination.
b. Software Interfaces
SI-1: Login System
SI-1.1: The F-CDC will pass the phone number and password of the user to the sign-in the
system through a programming interface.
SI-1.2: The sign-in system will notify F-CDC that the user exists or not.
SI-2: Manage System
The F-CDC shall communicate with the Manage System through a programmatic interface
for the following operations:
SI-2.1: To allow an Admin to view all Users.
SI-2.2: To allow an Admin to view all Staffs.
SI-2.3: To allow an Admin to view all Doctors.
SI-2.4: To allow an Admin to view all News.
c. Hardware Interfaces
No hardware interfaces have been identified.
d. Communications Interfaces
CI-1: The F-CDC system shall send an email to remind patient update report daily
4.2 Quality Attributes
a. Usability
● The languages are Vietnamese.
● The user interface of the solution should be elegant, easy to navigate, and user-friendly
● All the titles or names of functions should be easy to understand and reflect the purpose of
the function.
● All error message should be clear for all users
● All related functions for each type of user should be grouped into categories and placed on a
navigation bar for the efficiency of interactions.
● User should be able to learn to use the specified functions in no time
● Links, buttons are easily clickable.
● Links are easily recognizable, which looks clickable.
● Main functions are organized into tabs for easier access.
● Links, buttons, and checkboxes are easily clickable.
● The Front-end web application should support Chrome and Firefox browsers.

b. Reliability
● The uptime system at least 90% day time.
● The system runs 24/7.
● The average time it takes to repair the system if a module fails in about 4-8 hours.
● The system is only allowed to stop working for at most 8 hours since the problem occurred so
that users can continue using the system.

c. Performance

112
d. Dependability
d1. Security
● Allow the separation between front-end and back-end sides. The front-end can be developed
as standalone client applications (web, mobile, etc.), while the back-end provides APIs for
client consumption.
● All passwords must be hashed using the PasswordEncoder.

d2. Safety
● This product is a web application running on the web browser so it will not affect any other
application or user’s hardware, which may lead to data loss or system damage. The software
is designed mainly for devices with an appropriate wide display so for maintaining the
correctness of the user’s actions and data, the user should use this application on a device
with a wide enough screen so the software can fit the screen.
● However, the solution is an e-commerce application so all transactions and behavior must
follow the Law on Commerce of Vietnam No.36/2005/QH11 and Decree No.52/2013/NĐ-CP
About eCommerce

e. Supportability
● The system will have maintenance periods to improve user security.
● The system will update content updates for users.
● The system has counsellors to support mentees and mentors if they have any problems.

f. Design Constraints
- End-user’s Environment: Windows.

- Support languages: Vietnamese.

- Web websites must be responsive and snappy.

- The user must have a stable connection to the internet.

g. Support Documents
- F-CDC User guides

5. Other Requirements
5.1 Appendix1 - Notification List
Notification Notification
# Context Content
code Type
The user does not enter
1 NOT01 Request Please fill out this field.
information in the fields
The user enters information in
2 NOT02 Request one field, leaving the Please fill out this field.
remaining fields blank.
Show message "Số điện
3 NOT03 Request Phone number already exists
thoại đã tồn tại”
Phone number have format Show message "Số điện
4 NOT04 Request
wrong thoại không hợp lệ”
Input Password’s length Password’s length between
6 NOT06 Request
between 8 to 50 characters 8 to 50 characters.

113
IV. Software Design Description
1. Overall Description
1.1 Assumptions
This system is designed based on the following assumptions:

● Window 10
● NodeJS v14.17.0
● MySQL
● Google Chrome
1.2 Design Constraints
This system should comply with the following items:

● It has 2 websites at the client-side to serve two types of actors: normal users and admin. They
can use a web browser and application to send requests and connect to the front-end
application.
● End-user’s Environment: Windows.
● Database using MySQL.
● Support languages: Vietnamese, English.
● The web applica on must be responsive and snappy.
● The user must have a stable connec on to the internet.
1.3 Technology Suggestion
● Database: MySQL
● Web Applica on: Bizfly
● Server: VPS, Local server

114
2. System Architecture Design
2.1 Overall Architecture
2.1.1 Diagram

2.2.2 Component Explanation


2.2.2.1 Diagram

React is an open-source, front-end, JavaScript library for building user interfaces or UI components. It
is maintained by Facebook and a community of individual developers and companies. React can be
used as a base in the development of single-page or mobile applications

115
2.2.2.2 MySQL

MySQL is an open-source relational database management system (RDBMS). A relational database


organizes data into one or more data tables in which data types may be related to each other; these
relations help structure the data. SQL is a language programmers use to create, modify and extract
data from the relational database, as well as control user access to the database. In addition to
relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a
relational database in a computer’s storage system, manages users, allows for network access and
facilitates testing database integrity and creation of backups.
2.2.2.3 Spring Framework

The Spring Framework is an application framework and inversion of control container for the Java
platform. The framework’s core features can be used by any Java application, but there are extensions
for building web applications on top of the Java EE (Enterprise Edition) platform. Although the
framework does not impose any specific programming model, it has become popular in the Java
community as an addition to the Enterprise Javabeans (EJB) model. The Spring Framework is open
source.

116
2.2.2.4 eSms

eSms is an American cloud communications platform as a service company based in San


Francisco, California. Twilio allows software developers to programmatically make and receive phone
calls, send and receive text messages, and perform other communication functions using its web
service APIs.

2.2.2.5 IntelliJ IDEA

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer
software. It is developed by JetBrains (formerly known as IntelliJ), and is available as an Apache 2
Licensed community edition, and in a proprietary commercial edition. Both can be used for
commercial development.

2.2.2.6. Bizfly

117
BizFly Cloud is a system of cloud computing technology solutions in the BizFly ecosystem
operated by VCCorp. With more than 13 years of experience in the field of construction,
management and operation of IT systems as well as cloud computing infrastructure, BizFly
Cloud sets itself the mission of becoming one of the leading partners in Vietnam in terms of
solutions. cloud infrastructure. We are constantly researching to come up with an ecosystem
of infrastructure solutions to best meet the needs of businesses.
2.2 System Architecture
2.2.1 F-CDC Front-end Architecture

118
2.2.2 F-CDC Back-end Architecture

2.3 Package Diagram


2.3.1 F-CDC Package Diagram

119
120
2.3.2 F-CDC Front-end
2.3.2.1 Diagram

2.3.2.2 Package Explanation

No Package Description
1 F-CDC System Contain all code of F-CDC system

2 Client UI Contain all client code for the main app

3 Landing Page Contain all code of website appear for the first time

121
4 Admin UI Contain all client code for the managed app

5 Common UI Contain all component which uses in both Client UI and Admin UI

6 styled-component Define a UI component and styles in a single file location

7 axios Promise based HTTP client for the browser and node.js

8 react-router Declarative routing for the entire system

9 views Contain all components used to render interface for the entire system

10 store State management

11 twilio Communication provider


Table 4 : F-CDC Front-end Package Explanation

122
2.3.3 F-CDC Back-end
2.3.3.1 Diagram

2.3.3.2 Package Explanation


No Package Description

1 Controller Contain classes that are defined as controllers, the main function is
connected between client and server through API endpoints.

123
2 Router A concept that defines how an application will respond when a user
requests a particular endpoint. That endpoint is usually a URI or a
path with a specific Request method (POST, PUT, GET, ...).

3 Service Standardized means of communication between client and server


applications.

4 Validator Contains various types of input check functions.

5 Utils Contains standard form formats.

6 Repository Data manipulation.

3. System Detailed Design


3.1 Home
3.1.1 Log In
a. Class diagram

124
b. Sequence diagram

3.1.2 Log out


a. Class Diagram

125
b. Sequence Diagram

126
3.1.3 View news list
a. Class Diagram

b. Sequence Diagram

3.1.4 View news detail


a. Class Diagram

127
b. Sequence Diagram

3.1.5 Search news


a. Class Diagram

128
b. Sequence Diagram

129
3.2 User Profile
3.2.1 Forgot Password
a. Class diagram

130
b. Sequence diagram

3.2.2 Change Password


a. Class Diagram

131
b. Sequence Diagram

3.2.3 Update avatar


a. Class Diagram

132
b. Sequence Diagram

3.3 Doctor Management


3.3.1 Dashboard number patient
a. Class Diagram

133
b. Sequence Diagram

3.3.2 Dashboard status patient


a. Class Diagram

134
b. Sequence Diagram

3.3.3 View daily report


a. Class Diagram

135
b. Sequence Diagram

3.3.4 Reply daily report


a. Class Diagram

136
b. Sequence Diagram

3.4 Patient Management


3.4.1 Create daily report
a. Class Diagram

b. Sequence Diagram

137
3.4.2 View report history
a. Class Diagram

b. Sequence Diagram

138
3.4.3 View daily report
a. Class Diagram

b. Sequence Diagram

139
3.4.4 View covid test result
a. Class Diagram

b. Sequence Diagram

140
3.4.5 Dashboard status patient
a. Class Diagram

b. Sequence Diagram

141
3.5 Admin Management
3.5.1 View news list
a. Class diagram

142
b. Sequence diagram

3.5.2 Create news


a. Class Diagram

b. Sequence Diagram

143
3.5.3 Search news
a. Class Diagram

b. Sequence Diagram

144
3.5.4 Update news
a. Class Diagram

145
b. Sequence Diagram

3.5.5 Delete news


a. Class Diagram

b. Sequence Diagram

146
3.5.6 View staffs list
a. Class Diagram

b. Sequence Diagram

147
3.5.7 View doctors list
a. Class Diagram

148
b. Sequence Diagram

3.5.8 View patients list


a. Class Diagram

b. Sequence Diagram

149
3.5.9 Search users
a. Class Diagram

150
b. Sequence Diagram

3.5.10 Create staff account


a. Class Diagram

151
b. Sequence Diagram

3.5.11 Create doctor account


a. Class Diagram

152
b. Sequence Diagram

3.5.12 Create patient account


a. Class Diagram

153
b. Sequence Diagram

3.5.13 Delete user


a. Class Diagram

154
b. Sequence Diagram

3.5.14 Import patients by excel


a. Class Diagram

b. Sequence Diagram

155
3.5.15 Import doctors by excel
a. Class Diagram

156
b. Sequence Diagram

3.5.16 Import staffs by excel


a. Class Diagram

157
b. Sequence Diagram

3.5.17 Export users to excel


a. Class Diagram

158
b. Sequence Diagram

3.6 Staff Management

3.6.1 Dashboard number patient


a. Class Diagram

159
b. Sequence Diagram

3.6.2 View patients list


a. Class Diagram

b. Sequence Diagram

160
3.6.3 View normal patients list
a. Class Diagram

b. Sequence Diagram

161
3.6.4 Create daily report
a. Class Diagram

162
b. Sequence Diagram

3.6.5 View daily report


a. Class Diagram

163
b. Sequence Diagram

3.6.6 Reply daily report


a. Class Diagram

b. Sequence Diagram

164
3.6.7 Send patient to doctor
a. Class Diagram

b. Sequence Diagram

165
3.6.8 View test patient list
a. Class Diagram

166
b. Sequence Diagram

3.6.9 Update patient status


a. Class Diagram

167
b. Sequence Diagram

4. Class Specifications
4.1 F-CDC Back-end
4.1.1 Controller
4.1.1.1 User Controller

No Method Description
1 getAllByRole Using to find users by role and search by full name.

2 addUser Using it to create new users.

3 checkPhone Using to check for duplicate phone numbers.

4 Edit Using it to edit user accounts.

5 editById Using to edit user accounts by id.

6 remove Using to delete user accounts .

7 getUser Using to find users by id.

8 getAllUserForDoctor Using to get all patients for the doctor.

9 getDoctorByVillageId Using to get all the doctors by villageId.

10 changPass Using to change passwords.

12 toTestCovid Using to display patients who are eligible for a covid test.

13 editResult Using to edit the healing or unhealed status.

14 changeTypeTakeCare Using to determine which doctor will take care of that patient

15 importUser Using to import user

168
16 importStaff Using to import staff

17 importDoctor Using to import doctor

4.1.1.2 Village Controller

No Method Description
1 getAllVillageByDistrictId Using to display villages by district.

4.1.1.3 Staff Controller

No Method Description
Using to display whether the patient has recovered or not to
1 getAll
the staff and search for the patient's name by fullname.

2 getNewPatientOneDay Using to show patients for a day.

3 getDetailOneDay Using to show detailed information for a day.

4 notSentAndSentReport Using to show all submitted and unsubmitted patients.

5 chartForStaff Using to display graphs for employees.

6 totalCurrentF0 Using to show total current F0 .

4.1.1.4 Sms Controller

No Method Description
1 sentSms Using it to send text messages over the phone.

2 listSentSms Using to send text messages by phone according to the list.

4.1.1.5 Report Controller

No Method Description
1 addReport Using to add a report..

169
2 getAllReport Using to show all reports.

3 getOneReport Using to show one report by id.

4 getUserIdReport Using to show all reports by userId.

5 getAllSentReportOneDate Using to display all reports on one date..

6 editFeeback Using to feedback status for patients .

4.1.1.6 Province Controller

No Method Description
1 getAllProvince Using to get all provinces.

4.1.1.7 News Controller

No Method Description
1 getNew Using to display all news.

2 getTopNew Using to display top 6 news.

3 getUser Using to get one news by id.

4 addNew Using to create a new post.

5 editNew Using to edit the news .

6 deleteNew Using to delete the news .

7 getAllByText Using to search news by title.

4.1.1.8 Login Controller

No Method Description
1 checkLogin Using to login into the system.

2 checkLogout Using to logout of the system.

170
Using to reset passwords for users who forgot their
3 resetPass
password.

4.1.1.9 Districts Controller

No Method Description
1 getAllDistrictByProvince Using to get all districts by province.

4.1.1.10 Admin Controller

No Method Description
1 getAllByText Using to get all users by role and search by fullname.
4.1.1.11 Master Data Controller

No Method Description
1 pickerProvince Using to picker province.

2 pickerDistrict Using to picker district.

3 pickerVillage Using to picker village.

4 pickerMedicalClinic Using to picker medical clinic.

4.1.2 Service

4.1.2.1 UserService

No Method Description
1 getAllUser Using to get all users.

2 getUser Using to get users by id.

3 addUser Using to create account new.

4 checkPhone Using to check duplicates of the phone number.

171
5 deleteUser Using to delete users.

Using to reset passwords for users who forgot their


6 resetPass
password.

7 changePass Using to change passwords.

8 edit Using it to edit user accounts.

9 editUserById Using to edit users by id.

10 editResult Using to edit the healing or unhealed status.

Using to determine which doctor will take care of that


11 changeTypeTakeCare
patient

12 getAllDoctorByVila Using to get all doctors by village.

13 countAllDoctorByVila Using to count all doctors by village.

14 searchByRole Using to search by role.

15 countSearchByRole Using to count users.

16 searchByTextWithRole Using to search by text with role.

17 countByTextWithRole Using to count text with role.

18 importUserPatient Using to import user patients.

19 importUserStaff Using to import user staff.

20 importUserDoctor Using to import user doctors.

21 notSentAndSentReport Using to show all submitted and unsubmitted patients.

22 countNotSentAndSentReport Using to count all submitted and unsubmitted patients.

23 toTestCovid Using to display patients who are eligible for a covid test.

24 getAllPatientForDoctor Using to get all patients for doctors.

25 countAllPatientForDoctor Using to count all patients for doctors.

26 getAllPatientForStaff Using to get all patients for staff.

27 countByPatientsForStaff Using to count all patients for staff.

28 getNewPatientOneDay Using to get new patients one day.

172
29 getCuredPatientOneDay Using to get cured patients one day.

30 getChartForStaff Using to get chart for staff.

totalCurrentF0
31 Using to count current f0.

4.1.2.2 Village Service

No Method Description
1 getAllVillageBydistrictId Using to get all villages by district.

4.1.2.3 Sms Service

No Method Description
1 sendGetJSON Using send to get json.

4.1.2.4 Province Service

No Method Description
1 getAllProvince Using to get all provinces.

4.1.2.5 Province Service

No Method Description
1 getNew Using to display all news.

2 getTopNew Using to display top 6 news.

3 getUser Using to get one news by id.

4 addNew Using to create a new post.

5 editNew Using to edit the news .

173
6 deleteNew Using to delete the news .

7 countsearchByTitle Using to count search by title.

8 searchByTitle Using to search news by title.

9 countByTesxt Using to count all by news

4.1.2.6 MasterData Service

No Method Description
1 pickerProvince Using to picker province.

2 pickerDistrict Using to picker district.

3 pickerVillage Using to picker village.

4 pickerMedicine Using to picker medical clinic.

4.1.2.7 Districts Service

No Method Description
1 getAllDistrictByProvince Using to get all districts by province.

4.1.2.8 DailyReport Service

No Method Description
1 addReport Using to add a report..

2 getReport Using to show all reports.

3 getOneReport Using to show one report by id.

4 getUserIdReport Using to show all reports by userId.

5 getByReport Using to display all reports on one date..

6 editFeeback Using to feedback status for patients .

7 countAllUserID Using to count all users .

174
8 countSentReport Using to count users sent reports .

4.2 F-CDC Front-end


4.2.1 Pages
4.2.1.1 Admin

No Method Description
1 CreateAccount Create a new account.

2 DeleteAccount Remove a existing account

3 CreateNew Create a news

4 ImportExcel Create the list of accounts by import to excel

5 EditNew Edit the news

6 DeleteNew Remove a existing new

7 ViewAccountList Display the list of accounts to

8 ViewNewList Display the list of news

9 DeleteNew Remove a existing news

10 Management Config and split routers

4.2.1.2 Staff

No Method Description
1 PatientList Display the list of F0 and cured patients

2 ReportList Display the list of not send and send reports

3 ReportListByUserId Display all sent reports of a patient

4 ToTestCovid Display the list of patients about testing covid

5 ViewProfile Display the profile of a patient

6 DeletePatient Remove the existing account of a patient

7 SelectDoctor Apply the doctor to take care of patient health

175
Display the chart about total F0 and cured patients in 7
8 ViewChart
days

9 ChangePassword Change new password for staff

10 Management Config and split routers

11 EditProfile Edit the profile of a patient

11 ChangeResult Change the result of a patient

12 PatientSms Remind patients to send their report in current day

13 ViewReportDetails Display the sent report of a patient in a day

14 SupportDeclaration Support declaration for patient

15 Feedback Feedback the report of a patient

16 SendMsgToDoctor Notify to doctor about take care of new patient

17 ReportListChart Display the chart about informations of each report

18 ExportExcel Export all patients

4.2.1.3 Doctor

No Method Description
1 ChangePassword Change new password for doctor

2 ReportDetails Display the sent report of a patient in a day

3 Profile Display the profile of themselves or their patients

4 Router Config and split routers

5 ViewPatientList Display the profile of a patient

6 ViewReportDetails Display the sent report in a day

7 ViewReportList Display all sent reports of a patient

8 ReportListChart Display the chart about informations of each report

176
9 ChangePassword Change new password for doctor

10 Management Config and split routers

11 EditProfile Edit the profile

12 Feedback Feedback the report of a patient

13 Messenger Bind Facebook chat plugin

4.2.1.4 Patient

No Method Description
1 ReportDetails Display the sent report in a day

2 DailyReport Declare informations of the report in a day

3 Router Config and split routers

4 ReportDetails Display the report of a patient in a day

5 ReportHistoryList Display all sent reports

6 ReportListChart Display the chart about informations of each report

7 ChangePassword Change new password for patient

8 EditProfile Edit the profile

9 Feedback Feedback the report of a patient

10 TestResult Display result

11 Messenger Bind Facebook chat plugin

177
4.2.1.5 Common

No Method Description
1 NewDetails Display a news details

2 NewList Display the list of news

3 ForgotPass Reset password

4 Login Log in to the system

5 Logout Log out to the system

6 HomePage Display home page

7 Introduction Display introduction of system

8 NotFound Display not found page when wrong path

9 Contact Display contact page

4.2.2 Library
4.2.2.1 Common

No Method Description
1 Regex Validate value input

2 commonFunc Get common function

3 ForgotPass Reset password

4.2.2.2 Plugin

178
No Method Description
4 Messenger Get Facebook chat plugin

4.2.3 Context
4.2.3.1 Authenticator

No Method Description
1 AdminProvider Login authentication admin

2 StaffProvider Login authentication staff

3 DoctorProvider Login authentication doctor

4 PatientProvider Login authentication patient

4.2.4 Components
4.2.4.1 UI

No Method Description
1 BackDropLayout Display the backdrop layout

2 EffectLoading Display component wrapper of effect loading

3 Notification Display Notification Modal

4 OptionRadModal Display Radio Input Modal

5 Loader Display effect loading

6 SendMsgBox Display message box

7 YesNoModal Display option modal

4.2.4.2 Layout

No Method Description
1 MainLayout Display main content layout

2 MainNav Display the navigation

179
3 Pagination Display pagination component

4 Login Display login form

5 Search Display search box

6 EmptyData Display empty row

7 THead Display the head component of table

8 Footer Display Footer component

9 Header Display Header component

10 LastNewsList Display the last six news

10 MainLayoutLogged Display main content layout when logged in

11 MainSlideBar Display slide bar for doctor and patient

12 ExportExcel Display export excel component

13 ImportExcel Display import excel component

14 TBody Display the body component of table

15 FilterDate Display the input date component

5. Database Design

180
5.1. News
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 title String N Y N Title for news
7 description Long text N N N Description for news
8 image_url String N N N Image url for news

181
9 is_delete Int N N N Delete for news
10 user_id BigInt N N Y Id of user who created
11 file_id BigInt N N Y Id of image for news

5.2. User
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 address String N Y N Address detail for user
7 birth_of_date Long text N N N Date of birth for user
8 date_start String N N N Quarantine start date
9 is_active Int N N N Delete for user
10 email BigInt N N Y Email for user
11 fullname BigInt N N Y Full name for user
12 gender String N N N Gender for user
13 image_url String N Y N Image url for user
14 password String N N N Password for user
15 phone String N N N Phone for user
16 username String N Y N Username for user
17 role_id BigInt N N Y Id of role for user
18 result String N N N Result for user
19 village_id BigInt N N Y Id of village for user
20 current_status String N N N Current status for user
21 type_take_care String N N N Type take care for user
22 id_file BigInt N Y Y Id file of image for user

5.3. File
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 data LongBlog N Y N Data of file
3 name String N Y N Name of file
4 type String N Y N Type of file

5.4. Role
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Role

182
5.5. Province
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of province

5.6. District
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of District
7 province_id BigInt N Y Y Id of province for District

5.7. Village
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Village
7 District_id BigInt N Y Y Id of district for Village

5.8. Medicine
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Medicine
7 description String N Y N Description of Medicine

183
5.9. Symptom
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Symptom
7 description String N Y N Description of Symptom

5.10. Exercise
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 name String N Y N Name of Exercise
7 description String N Y N Description of Exercise

5.11. Medicine_daily_detail
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 daily_report_id BigInt N Y Y Id of report
7 medicine_id BigInt N Y Y Id of medicine

5.12. Symptom_daily_detail
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 daily_report_id BigInt N Y Y Id of report
7 symptom_id BigInt N Y Y Id of symptom

5.13. Exercise_daily_detail
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created

184
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
6 daily_report_id BigInt N Y Y Id of report
7 exercise_id BigInt N Y Y Id of exercise

5.14. Daily_report
# Field name Type Size Unique Not Null PK/FK Notes
1 id BigInt Y Y Y Auto-generation id
2 created_by String N Y N Name of person who created
3 created_date Date N Y N Date time of created
4 modified_by String N Y N Name of person who modified
5 modified_date Date N Y N Date time of modified
body_tempera Body temperature of patient for
6 Double N N N
ture report
7 breathing_rate Double N N N Breathing rate of patient for report
oxygen_conce Oxygen concentration of patient for
8 Double N N N
ntration report
9 comment Text N N N Comment of patient for report
10 date_time String N Y N Date time of report
Feedback of staff or doctor for
11 feedback String N N N
report
12 status String N Y N Status for report
13 user_id BigInt N Y Y Id of user who report

V. Software Testing Documentation


1. Overall Description
1.1 Test Model
This project follows the V-model process to implement testing.

185
No Verification Phases Validation Phases
Acceptance Testing: User Acceptance Testing
User Requirement: This is the first phase in
is conducted to determine whether the
the development cycle where the product
system is ready for release. During this phase,
requirements are understood from the
the tester and some alpha test users will test
customer’s perspective. This phase
the system to find out whether the
involves detailed communication with the
application meets their business needs.
customer to understand his expectations
Acceptance testing is associated with the
and the exact requirement of the project.
1 business requirement analysis phase and
This is a very important activity and it
involves testing the product in the user
needs to be managed well because most of
environment. Acceptance tests uncover the
the customers are not sure about what
compatibility issues with the other systems
exactly they need. The acceptance test
available in the user environment. It also
design planning is done at this stage as
discovers non-functional issues such as load
business requirements can be used as an
and performance defects in the actual user
input for acceptance testing.
environment.
Software Requirement Specification: Once
System Testing: System testing is the first
you have your clear and detailed product
level in which the complete application is
requirements, it's time to complete the
tested as a whole. System testing is directly
system design. The system designer will
associated with the system design phase.
complete the understanding and detailing
System tests check the entire system
2 of the software and communication setup
functionality and the communication of the
for the product under development. The
system under development with external
system test plan was developed based on
systems. Most of the software and hardware
the system design. Doing this at an earlier
compatibility issues can be uncovered during
stage leaves more time for the actual test
this system test execution.
execution afterward.

186
Architectural Design: Architectural Integration Testing: Integration testing allows
specifications are understood and individuals the opportunity to combine all of
designed in this phase. Usually, more than the units within a program and test them as a
one technical approach is proposed, and group. This testing level is designed to find
based on the technical and financial interface defects between the
feasibility the final decision is taken. The modules/functions. This is particularly
system design is broken down further into beneficial because it determines how
modules taking up different functionality. efficiently the units are running together
3
This is also referred to as High-Level Design Integration testing is associated with the
(HLD). The data transfer and architectural design phase. Integration tests
communication between the internal are performed to test the coexistence and
modules and with the outside world (other communication of the internal modules
systems) is clearly understood and defined within the system.
in this stage. With this information,
integration tests can be designed and
documented during this stage.
Detailed Design: In this phase, the detailed Unit Testing: The main aim of this endeavour
internal Design for all the system modules is to determine whether the application
is specified, referred to as Low-Level functions as designed. In this phase, a unit
Design(LLD). The design must be can refer to a function, individual program, or
compatible with the other modules in the even a procedure, and a Whitebox Testing
system architecture and the other external method is usually used to get the job done.
4
systems. Unit tests are an essential part of Unit tests Designed in the module Design
any development process and help phase are executed on the code during this
eliminate the maximum faults and errors validation phase. Unit testing is the testing at
at a very early stage. These unit tests can the code level and helps eliminate bugs at an
be Designed at this stage based on the early stage, though all defects cannot be
internal module Designs. uncovered by unit testing.

1.2 Testing Levels


Regarding the testing phase, there are four main software testing phases:

1.2.1. Unit Testing


A Unit is a smallest testable portion of a system or application that can be compiled, linked,
loaded, and executed. This kind of testing helps to test each module separately. The aim is to test each
part of the software by separating it. It checks that components are fulfilling functionalities or not. This
kind of testing is performed by developers.

187
During this first round of testing, the program is submitted to assessments that focus on
specific units or components of the software to determine whether each one is fully functional. The
main aim of this endeavor is to determine whether the application functions as Designed. In this phase,
a unit can refer to a function, individual program, or even a procedure, and a White-box Testing
method is usually used to get the job done. One of the biggest benefits of this testing phase is that it
can be run every time a piece of code is changed, allowing issues to be resolved as quickly as possible.
It’s quite common for software developers to perform unit tests before delivering software to testers
for formal testing.

You can reference at https://viblo.asia/p/unit-test-co-ban-jvElaGGoKkw

1.2.2. Integration Testing


Integration means combining. For Example, In this testing phase, different software modules
are combined and tested as a group to make sure that the integrated system is ready for system
testing.

Integrating testing checks the data flow from one module to other modules. This kind of testing is
performed by testers.

Integration testing allows individuals the opportunity to combine all of the units within a
program and test them as a group. This testing level is Designed to find interface defects between the
modules/functions. This is particularly beneficial because it determines how efficiently the units are
running together. Keep in mind that no matter how efficiently each unit is running, if they aren’t
properly integrated, it will affect the functionality of the software program. To run these types of tests,
individuals can make use of various testing methods, but the specific method that will be used to get
the job done will depend greatly on how the units are defined.

You can reference at https://viblo.asia/p/tim-hieu-ve-integration-testing-QpmleJMo5rd

1.2.3. System Testing


System testing is performed on a complete, integrated system. It allows checking the system's
compliance as per the requirements. It tests the overall interaction of components. It involves load,
performance, reliability, and security testing. System testing most often the final test to verify that the
system meets the specification. It evaluates both functional and non-functional needs for the testing.

188
System testing is the first level in which the complete application is tested as a whole. The goal
at this level is to evaluate whether the system has complied with all of the outlined requirements and
to see that it meets Quality Standards. System testing is undertaken by independent testers who
haven’t played a role in developing the program. This testing is performed in an environment that
closely mirrors production. System Testing is very important because it verifies that the application
meets the technical, functional, and business requirements that were set by the customer.

You can reference at https://viblo.asia/p/system-testing-kiem-thu-he-thong-aWj53pOPK6m

1.2.4. Acceptance Testing


Acceptance testing is a test conducted to find if the requirements of a specification or contract
are met as per its delivery. Acceptance testing is done by the user or customer. However, other
stockholders can be involved in this process.

The final level, Acceptance testing (or User Acceptance Testing), is conducted to determine
whether the system is ready for release. During the Software development life cycle, requirements
changes can sometimes be misinterpreted in a fashion that does not meet the intended needs of the
users. During this final phase, the user will test the system to find out whether the application meets
their business needs. Once this process has been completed and the software has passed, the program
will then be delivered to production.

189
You can reference at https://viblo.asia/p/user-acceptance-testing-1VgZv8R95Aw

1.3 Testing Types


1.3.1. Function Testing
● The implementation of the functional test will be passed if all functional cases in the Test
case document are tested and passed.
● The test case will have to cover all logic branches that function or method could execute
with different data input.
● All functional test cases have been executed to verify proper data acceptance, processing,
and retrieval, and the appropriate implementation of the business rules, and passed.
● The appropriate activities will be performed when valid data is used
● The corresponding error/warning message mechanism is applied for each specific case.

1.3.2. API Testing


● API testing will test all of the individual implemented API of Back-end Service.
● Test case will verify constraints of data which are mentioned in the Business rule.
● All API will be tested with Swagger and Postman tools

1.3.3. UI/UX Testing


● UI/UX tests will be performed fully on all screens.
● UI/UX test targets to cover the verification of the overall look and feel of the system
including initial position, font, text size, color, focus, initial button, tab order, label, screen
sizes, sentence width, and animation.
● Check all the UI elements for color, size, position, width, length and
● acceptance of characters or numbers
● All GUI test cases have been executed and passed.
● Any defects related to GUI are fixed, except those accepted by the customer.

1.3.4. Acceptance Testing


● Acceptance testing is a test conducted to determine if the requirements of a specification or
contract are met.
● Acceptance testing takes place at a close relation user’s site and are free tests to detect bugs
and strange behavior. By that, the development team will improve the system.
● It involves alpha testing and beta testing. Alpha testing takes place at developers’ sites and
involves testing of the operational system by the internal members before it is released to
external users. Beta testing
● takes place at user’s sites and involves testing by a group of users who use the system at
their locations and provide feedback, before the system is released to all users.

2. Test Plan
2.1 Test Stages
Stage of Test
Types of Test
Unit Integration System Acceptance
Function Test X X X X
API Test X X
User Interface Test X X X X

190
System Test X
Acceptance Test X

2.2 Resources
a. Human Resources
Worker/Doer Role Specific Responsibilities/Comments
Manage test resources and assign test tasks
Create Test Plan, Test Cases (IT, ST), Test Scripts (IT, ST)
KhanhTQ Test Leader/Tester Review Test Data
Final Inspection Test Cases
Create Test Reports
Project Manager/ Approve Test Cases (UT, IT, ST), Test Plan, Test Results,
KhanhPV
Tester Test Reports
AnhPQ Create UT Cases, UT Reports
AnhPQ Developer Create UT Cases, UT Reports
AnhPQ Developer Create UT Cases, UT Reports

b. Environment
Purpose Tool Provider Version
Visual Studio Code Microsoft Corporation 1.55.2
Unit Testing
IntelliJ IDEA JetBrains 2021.1
API Testing Postman Postman, Inc 8.2.3
User Interface Testing Chrome Google 90.0.4430.93
Integration Testing Chrome Google 90.0.4430.93
System Testing Chrome Google 90.0.4430.93
Acceptance Testing Chrome Google 90.0.4430.93

2.3 Test Milestones


Effort
Milestone Task Start Date End Date
(MD)
Iteration 2: 19 20/10/2021 10/11/2021
Unit Testing, API Testing 8 20/10/2012 28/10/2021
Integration Testing 6 28/10/2021 03/11/2021
System Testing 3 03/11/2021 06/11/2021
Iteration 3: 36 15/11/2021 09/12/2021
Unit Testing, API Testing 18 15/11/2021 28/11/2021
Integration Testing 12 28/11/2021 04/12/2021
System Testing 4 04/12/2021 07/12/2021
Acceptance Testing 2 07/12/2021 09/12/2021

2.4 Deliverables
Due Date
No Deliverables Iteration 2 Iteration 3
1 Test Plan 20/10/2021 15/11/2021

191
2 Test case 21/10/2021 16/11/2021
3 Test case review 21/10/2021 16/11/2021
4 Defect report 09/12/2021 09/12/2021
5 Final test summary report 09/12/2021

3. Test Cases
3.1 Unit Testing
All unit tests are located in the folder FCDC/src/test in source code. Here is an example of unit test
cases:

192
3.2 Integration Testing & System Testing
The term “integration” means a process of combining into an integral whole. Similarly, integration
testing of a build indicates separate testing units of a system as one.

A system test inspects every software unit to secure their proficiency as a whole or assembled build.
In software engineering, a system test takes place after unit and integration testing.

Integration Test and System Test are done by testers to ensure that combined units work correctly and
that the system functions as intended.

GUI testing is also done during this process to ensure that elements and functions load correctly, the
text is readable, and the website interface looks good in various browser sizes.

This is the sample tests of Integration Test and System Test in F-CDC system:

Detailed test cases of these types of testing are described in 2 files: F-CDC_IntegrationTest.xlsx (for
Integration Testing) and F-CDC_SystemTest.xlsx (for System Testing).

Figure 1: Integration Test Case Example

193
Figure 2: System Test Case Example

3.3 Acceptance Testing


Acceptance Testing is a level of software testing where a system is tested for acceptability. The
purpose of this test is to evaluate the system’s compliance with the business requirements and assess
whether it is acceptable for delivery. But our project will use the checklist as a substitute for
acceptance testing. Detailed checklists are described in check list below.

Checklist
ID Yes No
Text on all pages for spelling and grammar are not
CL-01 √
errors.
CL-02 Every buttons have activity and working normally √
CL-03 All error messages are displayed in red colour. √
CL-04 All mandatory fields are validated √
General
Delete functionality for any record on the page is
CL-05 √
asked for confirmation.
CL-06 All required field cannot be blank/space √
Website crash or unavailable pages are redirected to
CL-07 √
an error page.
CL-08 Screens are designed following project requirement √
All fields on page (text box, checkbox, dropdown lists)
CL-09 √
should be aligned properly
CL-10 User-friendly and easy-to-use screen interface √
Information is arranged symmetrically with adequate
CL-11 √
spacing between components.
The most important fields are located where they are
CL-12 √
easy to see.
GUI and Information is presented in the order that the user
CL-13 √
Usability needs it.
The important fields and buttons are located where
CL-14 √
they are easy to see.
The text is easy to read. Do not use slang, acronyms,
CL-15 √
and abbreviations
CL-16 The text is clear, concise, and meaningful √
Pop-up menus are provided for the user to access
CL-17 information about an object's properties or perform √
specific tasks on the object.
CL-18 Correct data is saved in the database. √
Fields are designed with correct data type and data
CL-19 √
length.
Database Input field leading and trailing spaces are truncated
CL-20 √
before committing data to the database
Input numeric fields with minimum, maximum, and
CL-21 √
long values
CL-22 Quick response display √
Performance CL-23 Receive uninterrupted notifications √
CL-24 Multiple users can access at the same time √
Check password security and password policy
CL-25 √
Security enforcement.
CL-26 Check website logout functionality. √

194
4. Test Reports
4.1 Unit Test Report

195
4.2 Integration Test Report

4.3 System Test Report

4.4 Acceptance Test Report

Checklist
ID Yes No

196
Text on all pages for spelling and grammar are not
CL-01 √
errors.
CL-02 Every buttons have activity and working normally √
CL-03 All error messages are displayed in red colour. √
CL-04 All mandatory fields are validated √
General
Delete functionality for any record on the page is
CL-05 √
asked for confirmation.
CL-06 All required field cannot be blank/space √
Website crash or unavailable pages are redirected to
CL-07 √
an error page.
CL-08 Screens are designed following project requirement √
All fields on page (text box, checkbox, dropdown lists)
CL-09 √
should be aligned properly
CL-10 User-friendly and easy-to-use screen interface √
Information is arranged symmetrically with adequate
CL-11 √
spacing between components.
The most important fields are located where they are
CL-12 √
easy to see.
GUI and Information is presented in the order that the user
CL-13 √
Usability needs it.
The important fields and buttons are located where
CL-14 √
they are easy to see.
The text is easy to read. Do not use slang, acronyms,
CL-15 √
and abbreviations
CL-16 The text is clear, concise, and meaningful √
Pop-up menus are provided for the user to access
CL-17 information about an object's properties or perform √
specific tasks on the object.
CL-18 Correct data is saved in the database. √
Fields are designed with correct data type and data
CL-19 √
length.
Database Input field leading and trailing spaces are truncated
CL-20 √
before committing data to the database
Input numeric fields with minimum, maximum, and
CL-21 √
long values
CL-22 Quick response display √
Performance CL-23 Receive uninterrupted notifications √
CL-24 Multiple users can access at the same time √
Check password security and password policy
CL-25 √
Security enforcement.
CL-26 Check website logout functionality. √

197
VI. Release Package & User Guides
1. Deliverable Package
1.1 Source codes & documents
No. Items Sub-Items Type Version
Code Package
1 Front-end client New 1.0
2 Back-end api New 1.0
Documents
1 Final report LiveCodingMentership_FinalReport.pdf New 1.0
2 Report 1 Report1_Project Introduction.docx New 1.0
3 Report 2 Report2_Project Management Plan.docx New 1.0
Report3_Software-Requirement-
4 Report 3 New 1.0
Specification.docx
5 Report 4 Report4_Software Design Document.docx New 1.0
6 Report 5 Report5_Test Documentation.docx New 1.0
7 Report 6 Report6_Software-User-Guides.docx New 1.0
F-
8 CDC_SystemT F-CDC_SystemTest.xlsx New 1.0
est
F-
9 CDC_Integrati F-CDC_IntegrationTest.xlsx New 1.0
onTest
1.2 Known Issues, Limitations & Restrictions
N/A

2. Installation Guides
2.1 System Requirements
● Windows 10 Professional 64 bit, Intel® Core™ i5-7200U, RAM 8.00GB:
● MySql
● Postman v8.2.3
● NodeJS v14.16.1
● Visual Studio Code v1.55.2
● IntelliJ IDEA v2021.1

2.2 Installation Instruction


● Download and install MySql by following the instruction at:
https://dev.mysql.com/downloads/
1. Open MySql Workbench 8.0 CE.
2. In New Connection

198
3. Copy and Paste the username:
45.124.95.51
4. Click Connect.
● Download and install Postman by following the instruction at:
https://www.postman.com/downloads/
1. Open Postman.
2. In the Home menu. Choose Collections, and click to Import.
3. Choose the file collection end then click “Import”.
● Download and install NodeJS by following the instruction at:
https://nodejs.org/en/blog/release/v14.16.1/
● Download and install Visual Studio Code at:
https://code.visualstudio.com/download
1. Open lcm-system project in Visual Studio Code
2. Open terminal in the project folder and run:
⮚ yarn install
⮚ yarn start
● Download and install IntelliJ IDEA at:
https://www.jetbrains.com/idea/download/other.html
1. Open lcm-system project in IntelliJ IDEA
2. Open terminal in the project folder and run:
⮚ yarn install
⮚ yarn start
3. User Manual
3.1 System requirements
Internet access required.
Any laptop, pc, table or mobile that is able to use Google Chrome, Mozilla Firefox or other browsers.
3.2 Application Usage
3.2.1 Guest
● View Homepage:

199
o Access homepage
o User can view all information about the website, user can log in

Figure 3: Landing Page Screen


● Login :
o On the homepage.
o Click “Đăng nhập” on the top right of the website.
o Input phone number and password and click “Đăng nhập” as “Bác sĩ/Bệnh nhân”

Figure 4: Sign-in screen

● View news list


○ On the homepage.
○ Click “Tin tức” on the menu bar of the website.

200
Figure 5: View news list
● View news detail
○ On the homepage.
○ Click “Tin tức” on the menu bar of the website.
○ Click on the news that you want

3.2.2 Doctor
● View patients list:
o Doctor login
o Click to name of doctor in the top right of website
o In page “Danh sách bệnh nhân”
o Doctor view patients list with their informations

201
Figure 6: View patients list
● Change password:
o Doctor login
o Click to name of doctor in the top right of website
o Click to “Đổi mật khẩu”
o Input new password and confirm new password

Figure 7: Change password


● Update avatar:
o Doctor login
o Click to name of doctor in the top right of the website.
o Click to “Thông tin cá nhân”
o Click to avatar, choose image file

Figure 8: Update avatar

202
● View daily reports list:
o In page “Danh sách bệnh nhân”, doctor click “Xem” in column “Chi tiết”.
o The mentee view list of daily reports of that patient with information related to
symptoms of covid-19.

Figure 9: View daily reports list:


● View daily report detail:
o In page “Danh sách bệnh nhân”, doctor click “Xem” in column “Chi tiết”.
o The mentee view list of daily reports of that patient.
o Click to “Xem” to view detail of the report

Figure 10: View daily report detail

203
● View dashboard
o In page “Danh sách bệnh nhân”, doctor click “Xem” in column “Chi tiết”.
o The mentee view list of daily reports of that patient.
o Dashboard display below list of reports with information about “Nhiệt độ, Nhịp thở,
Nồng độ Oxy”

Figure 11: View dashboard


● Reply daily report
o In page “Danh sách bệnh nhân”, doctor click “Xem” in column “Chi tiết”.
o The mentee view list of daily reports of that patient.
o Click to “Xem” to view detail of the report
o Input comment in textbox at the end of the report.

Figure 12: Reply daily report

204
● Logout:
o In home page
o Click to “Đăng xuất” on the top right of the website.

Figure 13: Logout screen

3.2.3 Patient
● View report history :
o Patient login
o Click to name of patient in the top right of website
o In page “Lịch sử báo cáo”
o Patient view reports list with informations relate to symptoms

Figure 14: View report history


● View daily report detail:
o Patient login
o Click to name of patient in the top right of website
o In page “Lịch sử báo cáo”
o Click to “Xem” in column “Chi tiết” to view detail of the report

205
Figure 15: View daily report detail
● View dashboard:
o In page “Lịch sử báo cáo”.
o Dashboard display below list of reports with information about “Nhiệt độ, Nhịp thở,
Nồng độ Oxy”

Figure 16: View dashboard.


● Create daily report:
○ Patient login
○ Click to name of patient in the top right of website
○ Click to “Báo cáo hằng ngày”
○ Input data in report
○ Input captcha
○ Click to “Gửi”

206
Figure 17: Create daily report.
● View test covid result:
o Patient login
o Click to name of patient in the top right of website
o Click to “Kết quả xét nghiệm”
o Display result of covid test.

Figure 18: View test covid result.


● Update avatar:
o Patient login
o Click to name of patient in the top right of the website.
o Click to “Thông tin cá nhân”
o Click to avatar, choose image file

207
Figure 19: Update avatar.

● Logout:
o In home page
o Click to “Đăng xuất” on the top right of the website.

Figure 20: Logout screen

3.2.4 Admin
● View news list
o Admin login.
o Click to “Quản lý tin tức”
o Admin view list of news

208
Figure 21: View news list..
● Create news :
o In page “Quản lý tin tức”.
o Click to icon “+”
o Input “Tiêu đề”, “Ảnh”, “Nội dung”
o Click to “Tạo” button

Figure 22: Create news.


● Search news
o In page “Quản lý tin tức”.
o Input keyword in search bar to search news by title

209
Figure 23: Search news.
● Update news
o In page “Quản lý tin tức”.
o Click icon edit to go to update news page
o Edit “Tiêu đề” or “Ảnh” or “Nội dung”
o Click to “Cập nhật”.

Figure 24: Update news


● Delete news
o On page “Quản lý tin tức’’.
o Click icon delete
o Click “Có” button when display popup

210
Figure 25: Delete news.
● View users list
o Admin login.
o Click “Bệnh nhân” to display list of patients
o Click “Nhân viên” to display list of staffs
o Click “Bác sĩ” to display list of doctors

Figure 26: View users list.


● Search users:
o On page “Bệnh nhân” or “Bác sĩ” or “Nhân viên”.
o Input keyword in search bar to search users by name.

211
Figure 27: Search users.

● Create user account:


o Admin login.
o Click “Tạo tài khoản”
o Input information of user, choose role
o Click “Tạo” button

Figure 28: Create user account.

● Delete user account:


o Admin login.
o Click “Bệnh nhân” or “Bác sĩ” or “Nhân viên”
o Click icon delete
o Click “Có” button in popup

212
Figure 29: Delete user account.

● Import users by excel:


o Admin login.
o Click “Tạo tài khoản”
o Click Tạo bằng excel”
o Choose file excel

Figure 30: Import users by excel.

● Logout:
o In home page
o Click to “Đăng xuất” in sidabar.

213
Figure 31: Logout screen

3.2.5 Staff
● Export list Covid-19 patients to Excel:
o In page ‘’Bệnh nhân F0’’.
o Click button ‘’Xuất ra excel’’ to download excel file to your computer.

Figure 32: Export list Covid-19 patients to Excel.

● Export list patients recovered cured of Covid-19 :


o In page “Đã khỏi bệnh”.
o Click button ‘’Xuất ra excel’’ to download excel file to your computer.
o

214
Figure 33: Export list patients recovered cured of Covid-19

● View list Covid-19 patients


o In the page, staff chooses the tab “Bệnh nhân F0”.
o Staff can see all Covid-19 patients
.

Figure 34: View list Covid-19 patients

● View list patients recovered cured of Covid-19


o In the page, staff chooses the tab “Đã khỏi bệnh”.

215
o Staff can see all Covid-19 patients
.
.

Figure 35: View list patients recovered cured of Covid-19

● Search patient recovered cured of Covid-19


o In the page, staff chooses the tab “Đã khỏi bệnh”.
o Staff enter name or character to contain patient’s name
o Show information patient(s) staff want to search

216
Figure 36: Search patient recovered cured of Covid-19

● Search Covid-19 patients


o In the page, staff chooses the tab “Bệnh nhân F0”.
o Staff enter name or character to contain patient’s name
o Show information patient(s) staff want to search

Figure 37: Search Covid-19 patients

● Change result status


o In the page, staff chooses the tab “Bệnh nhân F0”.
o Find patient who staff want to change
o Staff click button “F0” to change status

217
Figure 38: Change result status

● Delete Covid patient


o In the page, staff chooses the tab “Bệnh nhân F0”.
o Find patient who staff want to delete
o Staff click icon “delete” to delete that patient
o Messagebox is displayed “Bạn chắc chắn muốn xóa tài khoản này ?”
o Click Button “Có” if you want to delete

Figure 39: Delete Covid patient

● Set doctor to take care patient


o In the page, staff chooses the tab “Bệnh nhân F0”.

218
o Find patient who staff want to choose
o Staff click list doctor in “Bác sĩ điều trị” column
o Choose doctor who staff wants to take care for patient

Figure 40: Set doctor to take care patient

● Display list daily report and dashboard for each patient


o In the page, staff chooses the tab “Bệnh nhân F0”.
o Find patient who staff want to choose
o Staff click icon “eye” in “Danh sách báo cáo” column

Figure 41: Display list daily report and dashboard for each patient

219
● Display daily report detail
o In the page, staff chooses the tab “Bệnh nhân F0”.
o Find patient who staff want to choose
o Staff click icon “eye” in “Danh sách báo cáo” column
o Find daily report which staff want to show
o Click icon “eye” in last column

Figure 42: Display daily report detail

● List of unsent reports


o In the page, staff chooses the tab “Danh sách báo cáo” - “Chưa gửi”.
o Show all of unsent reports

220
Figure 43: List of unsent reports

● Staff send daily report replace patient


o In the page, staff chooses the tab “Danh sách báo cáo” - “Chưa gửi”.
o Show all of unsent reports
o Find patient who haven’t sent daily report
o Click icon “edit” in last column

Figure 44: Staff send daily report replace patient

● Remind patient to send daily report


o In the page, staff chooses the tab “Danh sách báo cáo” - “Chưa gửi”.
o Click button “Nhắc nhở tất cả bệnh nhân khai báo hôm nay” in last page

221
Figure 45: Remind patient to send daily report

● List of sent reports


o In the page, staff chooses the tab “Danh sách báo cáo” - “Đã gửi”.
o Show all of sent reports

Figure 46: List of sent reports

● Reply daily report


o In the page, staff chooses the tab “Danh sách báo cáo” - “Đã gửi”.
o Show all of sent reports

222
o Click icon “edit” daily report which staff want to reply

Figure 47: Reply daily report

● List of patients to test for covid


o In the page, staff chooses the tab “Danh sách đi test Covid”.
o Choose datetime you want to show
o Show all of patients to test Covid-19

Figure 48: List of patients to test for covid

223
● Export list of patients to test for covid to excel
o In the page, staff chooses the tab “Danh sách đi test Covid”.
o Choose datetime you want to show
o Show all of patients to test Covid-19
o Click button “Xuất ra excel” to download

Figure 49: Export list of patients to test for covid to excel

● Dashboard covid patients management


o In the page, staff chooses the tab “Biểu đồ thống kê”.
o Choose datetime you want

224
Figure 50: Dashboard covid patients management

● Change password
o In the page, staff chooses the tab “Đổi mật khẩu”.
o Enter your password you want to change
o Enter your re-password

Figure 51: Change to password

● Sign out
o In the page, staff chooses the tab “Đăng xuất”.

Figure 52: Sign out

225
3.3 Troubleshooting
The application can be slow when the internet is poor.

VII. Appendix
Reference:
HCDC : https://hcdc.vn/
Electronic health declaration(gov): https://kbyt.khambenh.gov.vn/#tokhai_yte/model
“Công văn bộ y tế “ : congvanboyte.pdf

226

You might also like