BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT PHẦN MỀM XÂY DỰNG ỨNG DỤNG WEBSITE HỆ THỐNG THÔNG TIN QUẢN LÝ KHAI BÁO Y TẾ ĐIỆN TỬ SỬ DỤNG NODEJS, REACTJS VÀ MONGODB CBHD ThS Nguyễn Đức Lưu Sinh viên Nguyễn Thị Ngọc Ánh Mã số sinh viên 2018604140 Hà Nội – Năm 2022 MỤC LỤC LỜI CẢM ƠN i DANH MỤC BẢNG BIỂU ii MỤC LỤC HÌNH VẼ iii MỞ ĐẦU 1 CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4 1 1 Tổng quan về website khai báo y tế 4 1 1 1 Khai báo y tế 4 1 1 2 Tình hình khai báo y tế hiện nay.
Trang 1-ĐỒ ÁN TỐT NGHIỆPNGÀNH KỸ THUẬT PHẦN MỀM
XÂY DỰNG ỨNG DỤNG WEBSITE HỆ THỐNG THÔNG TIN QUẢN
LÝ KHAI BÁO Y TẾ ĐIỆN TỬ SỬ DỤNG NODEJS, REACTJS VÀ
MONGODB
CBHD : ThS Nguyễn Đức Lưu Sinh viên : Nguyễn Thị Ngọc Ánh
Mã số sinh viên : 2018604140
Trang 21.2 Các công cụ thiết kế website hệ thống thông tin khai báo y tế 5
2.3.2 Use case phân rã người dân đăng nhập 122.3.3 Use case phân rã quản lý thông tin cá nhân người dân 132.3.4 Use case phân rã quản lý thông tin người dân 13
Trang 32.4.1 Mô tả use case Đăng nhập của nhân viên y tế 142.4.2 Mô tả use case Đăng nhập của người dân 15
2.4.4 Mô tả use case quản lý thông tin người dân 182.4.5 Mô tả use case người dân cập nhật thông tin 192.4.6 Mô tả use case người dân khai báo khẩn 20
2.5.1 Chức năng đăng nhập của người dân 222.5.2 Chức năng đăng nhập của nhân viên y tế 23
2.5.4 Chức năng cập nhật thông tin khai báo người dân 252.5.5 Chức năng quản lý thông tin người dân 26
2.6.1 Chức năng đăng nhập của nhân viên y tế 272.6.2 Chức năng đăng nhập của người dân 282.6.3 Chức năng tạo QR code của người dân 292.6.4 Chức năng quản lý thông tin người dân 302.6.5 Chức năng xem khai báo chi tiết người dân 31
Trang 43.2.1 Màn hình chức năng đăng nhập của người dân 403.2.2 Màn hình trang chủ khai báo y tế 423.2.3 Màn hình hướng dẫn khai báo y tế 443.2.4 Màn hình thống kê khai báo y tế của nhân viên y tế 443.3 Kiểm thử phần mềm khai báo y tế điện tử 463.3.1 Kiểm thử chức năng đăng nhập của người dân 463.3.2 Kiểm thử chức năng đăng nhập của nhân viên y tế 483.3.3 Kiểm thử chức năng khai báo y tế 493.3.4 Kiểm thử chức năng khai báo khẩn cấp 55
Trang 5Là một sinh viên trường đại học Công nghiệp Hà Nội, đồ án tốt nghiệp
là minh chứng cho những kiến thức đã có sau bốn năm học tập Trong quá trình hoàn thành đồ án tốt nghiệp, ngoài sự cố gắng của bản thân em cũng nhận được sự hướng dẫn tận tình của thầy cô cùng các anh chị bạn bè Qua đây, em xin chân thành cảm ơn khoa Công nghệ thông tin, trường đại học Công nghiệp Hà Nội đã trang bị kiến thức cho em trong suốt quá trình học tập và tạo cơ hội để em được làm đồ án tốt nghiệp Đặc biệt, em cảm ơn tới thầy ThS Nguyễn Đức Lưu đã luôn giúp đỡ, hướng dẫn, chỉ bảo tận tình để
em hoàn thành tốt đồ án của mình Em đã cố gắng hoàn thành đồ án tốt nghiệp nhưng vẫn rất mong nhận được sự đóng góp ý của thầy cô và các bạn
để đồ án của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Trang 6DANH MỤC BẢNG BIỂU
Bảng 3.1: Kiểm thử chức năng đăng nhập của người dân 50Bảng 3.2: Kiểm thử chức năng đăng nhập của nhân viên y tế 52Bảng 3.3: Kiểm thử chức năng khai báo y tế 54Bảng 3.4: Kiểm thử chức năng khai báo khẩn cấp 60
Trang 7MỤC LỤC HÌNH VẼ
Hình 2.2: Biểu đồ use case phân rã đăng nhập của người dân 13Hình 2.3: Biểu đồ use case phân rã quản lý thông tin cá nhân 14Hình 2.4: Biểu đồ use case phân rã quản lý thông tin người dân 14Hình 2.5: Biểu đồ use case phân rã quản lý tài khoản 15Hình 2.6: Biểu đồ trình tự chức năng đăng nhập của người dân 23Hình 2.7: Biểu đồ trình tự chức năng đăng nhập của admin và nhân viên y tế
24Hình 2.8: Biểu đồ trình tự chức năng tạo mã QR Code 25Hình 2.9: Biểu đồ trình tự chức năng cập nhật thông tin người dân 26Hình 2.10: Sơ đồ hoạt động nhân viên y tế đăng nhập 28Hình 2.11: Sơ đồ hoạt động chức năng người dân đăng nhập 29Hình 2.12: Sơ đồ hoạt động người dân tạo QR code 30Hình 2.13: Sơ đồ hoạt động quản lý thông tin người dân 31Hình 2.14: Sơ đồ hoạt động xem khai báo chi tiết người dân 32
Hình 2.21: Màn hình danh sách khai báo y tế 40
Trang 8Hình 3.28: Màn hình tạo mã QR code 45Hình 3.29: Màn hình khai báo y tế khẩn cấp 46Hình 3.30: Màn hình hướng dẫn khai báo y tế 46Hình 3.31: Màn hình danh sách khai báo y tế 46Hình 3.32: Màn hình xem chi tiết khai báo y tế 47
rủi ro đáng tiếc xảy ra Chính vì lý do trên, em chọn đề tài “Xây dựng ứng
dụng Website hệ thống thông tin quản lý khai báo y tế điện tử sử dụng NodeJS, ReactJS và MongoDB” là có tính thực tiễn.
Trang 93 Mục tiêu nghiên cứu
- Tổng hợp được các kiến thức về NodeJS, ReactJS và MongoDB để ápdụng vào xây dựng Website hệ thống thông tin khai báo y tế điện tử
- Nghiên cứu, khảo sát thực tế các ứng dụng website hệ thống thông tinquản lý tờ khai y tế, khai báo y tế
- Phát biểu được bài toán cần xử lý cho một ứng dụng website khai báo ytế
- Nghiên cứu và đưa ra hướng làm cũng như công cụ công nghệ trongviệc phát triển ứng dụng website hệ thống khai báo y tế
- Phân tích thiết kế cho hệ thống thông tin khai báo y tế
- Cài đặt và triển khai ứng dụng
- Website hệ thống thông tin khai báo y tế điện tử hướng tới tất cả cácngười dân đang sinh sống trên lãnh thổ Việt Nam hoặc đang có ý địnhnhập cảnh về Việt Nam giúp cho người dân có thể dễ dàng khai báo y
tế mà không phải trực tiếp đến các cơ quan có thẩm quyền khai báo làmgiảm được tình trạng lây nhiễm chéo
- Hệ thống khai báo y tế có giao diện thân thiện và phù hợp với ngườidùng
4 Nội dung nghiên cứu
- Khảo sát yêu cầu, quá trình khai báo y tế
- Nghiên cứu, phân tích yêu cầu về chức năng, phi chức năng củawebsite
- Thiết kế và phát triển hệ thống website hệ thống thông tin khai báo y tếđiện tử:
o Người dân hoàn thành các chức năng: Khai báo y tế, khai hộ, khaibáo khẩn cấp, hướng dẫn khai báo y tế
o Nhân viên y tế: Thống kê khai báo khẩn cấp, tìm kiếm khai báo y tếtheo các tình trạng, trạng thái khai báo, xử lý thông tin khai báo …
- Cài đặt website và kiểm thử các chức năng
Trang 105 Phạm vi của đề tài
- Về chức năng khai báo y tế: Khi người dân muốn khai báo y tế thì đăngnhập hệ thống khai báo bằng email Đăng nhập hệ thống thành công,người dân tiến hành nhập thông tin khai báo y tế Khai báo y tế thànhcông thì sẽ hiển thị màn hình mã QR Code, người dân có thể tải mã QRCode về máy Ngoài chức năng khai báo, người dân thực hiện chứcnăng khai hộ hoặc khai báo khẩn cấp Trong trường hợp người dânchưa biết sử dụng hệ thống khai báo y tế thì người dân vào hướng dẫnkhai báo y tế
- Về phần nhân viên y tế: Thống kê được các trường hợp khai báo y tếkhẩn cấp, lọc và tìm kiếm các tình trạng khai báo y tế Ngoài ra, nhânviên y tế có thể chỉnh sửa hoặc xóa thông tin khai báo người dân
6 Phương pháp thực hiện
- Nghiên cứu lý thuyết kết hợp cùng khảo sát thực tế một số website khaibáo y tế lớn, từ đó phân tích và thiết kế hệ thống website hệ thốngthông tin khai báo y tế
- Nghiên cứu về ngôn ngữ ReactJS, NodeJS và MongoDB
- Phát triển ứng dụng web trong phạm vi thử nghiệm
7 Bố cục đề tài
(Nội dung chính đề tài chia thành 3 chương)
Chương 1: Cơ sở lý thuyết
Giới thiệu về các công cụ để ứng dụng vào phát triển phần mềm khaibáo điện tử: NodeJS, Javascript, ReactJS và MongoDB
Chương 2: Phân tích thiết kế hệ thống
Phân tích tích yêu cầu, mô tả các biểu đồ use case, biểu đồ trình tự, sơ
đồ hoạt động và thiết kế giao diện của từng chức năng hệ thống khaibáo y tế điện tử
Chương 3: Cài đặt chương trình và kiểm thử hệ thống
Trang 11Mô tả cách cài đặt phần mềm khai báo y tế, hướng dẫn sử dụng, kếtquả đạt được và kiểm thử của phần mềm khai báo y tế.
Trang 12CHƯƠNG 1 CƠ SỞ LÝ THUYẾT1.1 Tổng quan về website khai báo y tế
1.1.1 Khai báo y tế
Khai báo y tế là người dân tự khai báo các thông tin của mình, baogồm: thông tin về hành chính cá nhân, thời gian đã đi, đến ngoài tỉnh trongvòng 14 ngày qua; có hay không có các triệu chứng nhiễm Covid-19, Trongcác thông tin trên thì thông tin đi, đến nơi khác trong vòng 14 ngày qua làquan trọng nhất; nó quyết định nhiều hay ít các mốc dịch tễ, tương ứng nhiềuhay ít các F1, F2; từ đó cần phải phong tỏa nhiều hay ít điểm, diện phong tỏarộng hay hẹp?
Ý nghĩa việc khai báo y tế:
- Biết được các mốc dịch tễ qua lịch trình di chuyển để cơ quan chứcnăng truy vết, khoanh vùng kịp thời Nếu khai báo y tế ngay sẽ không
để phát sinh các mốc dịch tễ mới, không phát sinh thêm F1, F2
- Biết được tình trạng sức khỏe của người khai báo, được lấy mẫu xétnghiệm ngay Có kết quả xét nghiệm sớm là thông tin quyết định chođiều tra truy vết
- Là trách nhiệm pháp lý của người khai, là căn cứ để chính quyền raquyết định cách ly y tế
1.1.2 Tình hình khai báo y tế hiện nay
Đối với các cơ quan, tổ chức, doanh nghiệp, cơ sở sản xuất kinh doanh, các chủ hộ kinh doanh, quản lý các địa điểm công cộng tập trung đông người:
- Thực hiện và chỉ đạo các cơ quan, đơn vị trực thuộc thực hiện Đăng kýđiểm kiểm dịch/checkin cho cơ quan, đơn vị, cơ sở sản xuất, địa điểmkinh doanh để kiểm soát vào và ra cơ quan, đơn vị hằng ngày đối vớikhách đến và đi thông qua mã QR
Trang 13- Đảm bảo mạng wifi, internet ổn định tại các điểm có mã QR để ngườidân kết nối internet và khai báo trực tuyến;
- Cử người giám sát, hỗ trợ người cần sự trợ giúp việc thực hiện quét mãQR;
- Theo dõi và quản trị thông tin khách vào ra trên trang quản trị, cung cấpdanh sách cho lãnh đạo đơn vị khi có yêu cầu
Đối với người dân:
- Thực hiện nghiêm các quy định về phòng chống dịch, chấp hành theonguyên tắc 5K của Bộ Y tế
- Cài đặt các ứng dụng “khai báo và kiểm soát vào ra”, Bluezone trênđiện thoại thông minh
- Thực hiện khai báo y tế định kỳ (07 ngày 1 lần) trên ứng dụng khai bao
và kiểm soát vào ra Lưu mã QR code của tờ khai y tế Trường hợpngười không có điện thoại thông minh, người già có thể nhờ người thânkhai báo hộ
- Khi ra vào các cơ quan công sở, công ty, cơ sở sản xuất kinh doanh, nơiđông người phải thực hiện việc khai báo y tế, đưa mã QR code tờ khai y
tế để người kiểm soát quét mã thực hiện check in/check out khi vào/ra
- Hợp tác với cơ quan chức năng, cung cấp thông tin chính xác, đầy đủphục vụ truy vết phòng chống dịch khi có yêu cầu
1.2 Các công cụ thiết kế website hệ thống thông tin khai báo y tế
1.2.1 NodeJS
Một nền tảng phát triển độc lập được xây dựng ở trên JavascriptRuntime của Chrome mà chúng ta có thể xây dựng được các ứng dụng mạngmột cách nhanh chóng và dễ dàng mở rộng là công cụ NodeJS
NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhaunhư các ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thờigian thực, máy chủ REST API, Tuy nhiên, NodeJS thường được dùng chủ
Trang 14yếu để xây dựng các chương trình mạng như máy chủ web, tương tự nhưPHP, Java hoặc ASP.NET.
Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên chotốc độ xử lý và hiệu năng khá cao
Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thờigian thực
Nodejs áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộngnhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất cóthể
NodeJS có thể tạo, mở, đọc, ghi, xóa và đóng các tệp ngay khi đangtruy cập trên máy chủ
Xây dựng nội dung cho các trang Web động
Thực hiện thu thập dữ liệu theo yêu cầu cụ thể
Thực hiện truy vấn, sửa, xóa, thêm các dữ liệu trong các hệ quản trị cơ
sở như: Microsoft SQL Server, MySQL, MongoDB, PostgreSQL
1.2.2 Javascript
JavaScript là một ngôn ngữ lập trình của HTML và WEB Nó là nhẹ vàđược sử dụng phổ biến nhất như là một phần của các trang web, mà sự thihành của chúng cho phép Client-Side script tương tác với người sử dụng vàtạo các trang web động Nó là một ngôn ngữ chương trình thông dịch với cáckhả năng hướng đối tượng
Nhiệm vụ của Javascript là xử lý những đối tượng HTML trên trìnhduyệt Nó có thể can thiệp với các hành động như thêm/xóa/sửa các thuộc tínhCSS và các thẻ HTML một cách dễ dàng Hay nói cách khác, Javascript làmột ngôn ngữ lập trình trên trình duyệt ở phía client Tuy nhiên, hiện nay với
sự xuất hiện của NodeJS đã giúp cho Javascript có thể làm việc ở backend
Javascript Framework là một bộ thư viện được xây dựng dựa vào ngônngữ lập trình Javascript Mỗi framework thường được tạo ra để phục vụ chomột lĩnh vực nào đó Ví dụ với Angular và React thì chuyên xử lý frontend,
Trang 15NodeJS thì chuyên xử lý backend, jQuery là một thư viện rất mạnh khi xử lýDOM HTML và CSS.
Ứng dụng trong lập trình website: Khi nhắc đến lập trình web người takhông thể không nhắc đến bộ 03 HTML, CSS và JavaScript Có thể nóikhông phải là tất cả, song hầu như các website đang chạy hiện nay đều sửdụng JavaScript và các Front-end framework của nó như: Bootstrap, jQueryFoundation, UIKit,… Ở đó JavaScript giúp tạo các hiệu ứng hiển thị trênwebsite, các tương tác với người dùng
Xây dựng các ứng dụng web cho máy chủ: Đây là một xu hướng côngnghệ có thể nói là rất hót hiện nay (từ 2016 đến giờ) Các doanh nghiệp hiệnnay khá hào hứng với các Frame work từ JavaScript như: Node.js, AngularJS,
… Cụ thể những cái này sẽ hỗ trợ tạo ra các ứng dụng web thiên về tương tácthời gian thực của người dùng Nếu cùng cấu hình máy chủ tương tự thì điều
đó là không thể đối với PHP, Java, Python, Net khi số lượng người dùngtương tác cùng lúc quá nhiều Máy chủ sẽ không thể nào gánh nổi, nhưng vớicác Frame work của JavaScript thì mọi chuyện sẽ hoàn toàn khác
1.2.3 ReactJS
ReactJS là một thư viện trong đó có chứa nhiều JavaScript mã nguồn
mở và cha đẻ của ReactJS đó chính là một ông lớn với cái tên ai cũng biết đóchính là Facebook Mục đích của việc tạo ra ReactJS là để tạo ra những ứngdụng website hấp dẫn với tốc độ nhanh và hiệu quả cao với những mã hóa tốithiểu Và mục đích chủ chốt của ReactJS đó chính là mỗi website khi đã sửdụng ReactJS thì phải chạy thật mượt thật nhanh và có khả năng mở rộng cao
và đơn giản thực hiện
Thay vì làm việc trên toàn bộ ứng dụng web, ReactJS cho phépDeveloper chia nhỏ cấu trúc UI thành những component đơn giản hơn
ReactJS thường dùng để chạy tại phía Client Nhưng nó cũng có thểchạy được trên Server nếu Server đó hiểu được Javascript, chẳng hạnnhư NodeJS Server
Trang 161.2.4 MongoDB
MongoDB là một database hướng tài liệu, một dạng NoSQL database
Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database đểthích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON.MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi mộtcollection sẽ các các kích cỡ và các document khác nhau Các dữ liệu đượclưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh
Mongodb chính là một database hướng tài liệu, nên khi đó mọi dữ liệu
sẽ được lưu trữ trong document theo kiểu JSON thay vì lưu theo dạng bảngnhư CSDL quan hệ nên việc truy cập vấn sẽ nhanh chóng hơn
Với các CSDL quan hệ thì chúng ta sẽ có khái niệm bảng, khi đó các cơ
sở dữ liệu quan hệ sẽ sử dụng các bảng để có thể lưu trữ dữ liệu, còn vớiMongodb thì bạn cần phải sử dụng khái niệm collection thay cho bảng
Mongodb chính là một hệ quản trị cơ sở dữ liệu mà trong đó mã nguồn
mở là CSDL thường thuộc NoSql và được hàng triệu người sử dụng
So với RDBMS thì trong Mongodb collection thường sẽ ứng với table,còn document sẽ tương ứng với row MongoDB sẽ sử dụng các document đểthay cho row trong RDBMS
Với các collection có trong Mongodb thường sẽ được cấu trúc rất linhhoạt nên nó cho phép các dữ liệu được lưu trữ mà không cần phải tuân theobất kỳ một cấu trúc nhất định nào
Các thông tin có liên quan đều sẽ được lưu trữ cùng với nhau để ngườidùng có thể truy cập truy vấn nhanh hơn thông qua các ngôn ngữ truy vấnMongodb
Trang 171.3Kiến trúc phần mềm
Website hệ thống thông tin khai báo y tế, phát triển theo mô hìnhMVC MVC là từ viết tắt bởi 3 từ Model – View – Controller Đây là mô hìnhthiết kế sử dụng trong kỹ thuật phần mềm Mô hình source code thành 3 phần,tương ứng mỗi từ Mỗi từ tương ứng với một hoạt động tách biệt trong một
Model (M): Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứngdụng Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View vàController Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉđơn giản là một file XML bình thường Model thể hiện rõ các thao tác với cơ
sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,…
View (V): Đây là phần giao diện (theme) dành cho người sử dụng Nơi
mà người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thaotác truy vấn như tìm kiếm hoặc sử dụng thông qua các website Thôngthường, các ứng dụng web sử dụng MVC View như một phần của hệ thống,nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng có chức năngghi nhận hoạt động của người dùng để tương tác với Controller Tuy nhiên,View không có mối quan hệ trực tiếp với Controller, cũng không được lấy dữliệu từ Controller mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi Vídụ: Nút “delete” được tạo bởi View khi người dùng nhấn vào nút đó sẽ cómột hành động trong Controller
Controller (C): Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa
đến thông qua view Từ đó, C đưa ra dữ liệu phù hợp với người dùng Bên
cạnh đó, Controller còn có chức năng kết nối với model
Trang 18CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Phân tích yêu cầu
“Hệ thống quản lý khai báo y tế” tập trung vào nhiệm vụ liên quan đếnviệc kiểm soát và nắm bắt thông tin và lộ trình di chuyển của toàn dân, giúpcác đơn vị có chức năng dễ dàng thống kê được số lượng đối tượng cần lưu đểphục vụ cho công tác chống dịch Đặc biệt, những người liên quan đến các cabệnh, người đi từ tâm dịch trở về, người có biểu hiện sốt, ho, khó thở,… sẽđược cách ly tập trung và lấy mẫu xét nghiệm tại chỗ Các trường hợp khác sẽđược tư vấn, hướng dẫn thực hiện các biện pháp phòng chống dịch khi về địaphương Với tình hình hiện nay người nhiễm covid cách ly tại nhà rất nhiều,
hệ thống khai báo y tế giúp cán bộ y tế cập nhật thông tin và tình hình sứckhỏe của bệnh nhân một cách nhanh chóng và có phương pháp điều trị kịpthời hạn chế được rủi ro đáng tiếc xảy ra
Quy trình nghiệp vụ của người dân: Người dân sau khi đăng ký tàikhoản và đăng nhập bằng email thoại sẽ bắt đầu tiến hành khai báo các thôngtin cá nhân, sau khai báo, người dân có thể chỉnh sửa thông tin Khi người dânbấm gửi thông tin, họ sẽ nhận được mã QR Code chứa đựng các thông tin của
họ Người dân có thể tải mã QR Code về dưới dạng hình ảnh Thêm vào đóngười dân có thể tiến hành khai báo khẩn cấp trong trường hợp đặc biệt.Ngoài ra, người dân thực hiện khai hộ và xem hướng dẫn khai báo y tế
Quy trình nghiệp vụ của nhân viên Y tế: Nhân viên y tế sau khi đăngnhập vào hệ thống sẽ có thể tìm kiếm và quản lý thông tin người dân, checkthông tin của người dân, thống kê số lượng người đã khai báo, hỗ trợ
Trang 192.2 Các yêu cầu phi chức năng
Bảng 1.1: Các yêu cầu phi chức năng
1 Giao diện
- Giao diện tiếng Việt
- Cung cấp một giao diện đơn giản, gần gũi, trực quan và dễ sử dụng đối với người dùng
2 Bảo mật - Vẫn tồn tại các lỗ hổng bảo mật
cần được vá trong tương lai
3 Tốc độ xử lý
- Tốc độ xử lý nhanh trong hầu hết các trường hợp và sẽ xử lý chậm hơn đối với vài tác vụ cần xử lý nhiều dữ liệu
4 Thời gian hoạt
động - Có thể hoạt động hiệu quả 24/24
5 Yêu cầu thực thi - Người dùng có thể hoạt động đồng
thời với nhiều vai trò khác nhau
2.3 Biểu đồ use case
2.3.1 Biểu đồ use case tổng quan
Hình 2.1 Biểu đồ use case tổng quan
Biểu đồ use case tổng quan mô tả về hệ thống quản lý khai báo y tế baogồm 3 tác nhân:
Trang 20- Người dân: người dân cần đăng ký tài khoản sau đó sẽ được đăngnhập vào hệ thống và tiến hành khai báo các thông tin cá nhân Sau khi hoànthành các thông tin cá nhân, người dân sẽ nhận được mã QR Code chứa đựngcác thông tin vừa khai báo, mã QR Code có thể được tải về Ngoài ra, ngườidân có thể cập nhật lại thông tin khai báo, khai báo hộ hoặc khai báo khẩncấp.
- Nhân viên y tế: nhân viên y tế sẽ đăng nhập với tài khoản đã được cấpsẵn Họ có các chức năng như quản lý thông tin người dân, thống kê số liệu,tìm kiếm thông tin, check thông tin người dân
2.3.2 Use case phân rã người dân đăng nhập
Hình 2.2: Biểu đồ use case phân rã đăng nhập của người dân
Sau khi người dân đã đăng ký tài khoản bằng email, hệ thống sẽ kiểm tra địa chỉ email và gửi mã otp về tài khoản email đăng ký, họ sẽ nhận được
mã otp để truy cập vào hệ thống và bắt đầu tiến hành khai báo
Trang 212.3.3 Use case phân rã quản lý thông tin cá nhân người dân
Hình 2.3: Biểu đồ use case phân rã quản lý thông tin cá nhân
Người dân có thể chỉnh sửa lại thông tin cá nhân, cập nhật lại thông tinkhai báo hoặc có thể tiến hành khai báo hộ Sau khi cập nhật lại thông tin thì
hệ thống sẽ tạo lại mã QR Code có chứa thông tin đã được cập nhật Toàn bộthông tin khai báo của người dân sẽ được gửi lên hệ thống để các nhân viên y
tế có thể kiểm tra Ngoài ra người dân có thể tiến hành khai báo khẩn cấptrong những trường hợp đặc biệt
2.3.4 Use case phân rã quản lý thông tin người dân
Hình 2.4: Biểu đồ use case phân rã quản lý thông tin người dân
Trang 22Nhân viên y tế có chức năng quản lý các thông tin của người dân, saukhi người dân khai báo và gửi thông tin, nhân viên y tế sẽ nhận được cácthông tin đó và tiến hành xử lý, nhân viên y tế có thể tra cứu thông tin ngườidân qua tên, số điện thoại, ngày tháng khai báo,… sau đó tiến hành xử lý Cóthể để lại trạng thái xử lý để các nhân viên khác biết được tình trạng.
Hệ thống sẽ thu thập số liệu khai báo khẩn cấp và thống kê dưới dạngbiểu đồ để nhân viên y tế dễ kiểm soát
Sau khi đã xử lý các thông tin khai báo, nhân viên y tế có thể xóa cácthông tin đã được xử lý
2.3.5 Use case phân rã tạo mã QR
Hình 2.5: Biểu đồ use case phân rã quản lý tài khoản
Khi người dân khai báo y tế thành công sẽ chuyển sang màn hình mã
QR Code cho phép người dân tải mã QR để dễ dàng khai báo y tế khi dichuyển khỏi vùng dịch
2.4 Mô tả chi tiết use case
2.4.1 Mô tả use case Đăng nhập của nhân viên y tế
Use case này cho phép nhân viên y tế đăng nhập hệ thống để thực hiệncác chức năng của mình
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi nhân viên y tế bắt đầu vào hệ thống khai báo
y tế Hiển thị lên màn hình đăng nhập
2) Người dùng đăng nhập cần nhập đủ thông tin đăng nhập
Trang 233) Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Tra bảng ADMINtrên CSDL Cho phép nhân viên y tế đăng nhập, hiển thị lên mànhình.
Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bước 3 luồng cơ bản, nếu người dùng đăng nhập thông tin khônghợp lệ, hệ thống sẽ hiển thị thông báo “không tồn tại tài khoản”,ngược lại use case sẽ tiếp tục
2) Nếu không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗi kếtnối” và use case kết thúc
● Các yêu cầu đặc biệt
Cần kiểm soát quyền thực hiện use case này để đảm bảo tính an toàn
và bảo mật
● Tiền điều kiện
Người quản trị, nhân viên y tế đã có tài khoản đăng nhập
● Hậu điều kiện
Nếu use case này thành công thì hiển thị màn hình chính Nếu khôngtrạng thái của hệ thống sẽ không thay đổi
● Điểm mở rộng
Không có
2.4.2 Mô tả use case Đăng nhập của người dân
Use case này cho phép người dân đăng nhập hệ thống để thực hiện cácchức năng của mình
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người dân bắt đầu vào hệ thống khaibáo y tế Hiển thị lên màn hình đăng nhập
Trang 242) Người dân đăng nhập cần nhập đủ thông tin email đăng nhập.3) Người dân ấn vào nút đăng nhập.
4) Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Cho phép ngườidân nhập mã OTP
5) Hệ thống kiểm tra thông tin nhập mã OTP đã hợp lệ hay chưa.Cho phép người dùng đăng nhập và khai báo y tế
Use case kết thúc.
o Luồng rẽ nhánh:
1) Tại bước 3 luồng cơ bản, nếu người dùng đăng nhập thông tinkhông hợp lệ, hệ thống sẽ hiển thị thông báo “không tồn tạiemail”, ngược lại use case sẽ tiếp tục
2) Tại bước 4 luồng cơ bản, nếu người dùng đăng nhập thông tinkhông hợp lệ, hệ thống sẽ hiển thị thông báo “Mã otp khôngđúng”, ngược lại use case sẽ tiếp tục
3) Tại bước 4 luồng cơ bản, nếu người dùng không nhập mã otptrong vòng 30 phút, hệ thống sẽ hiển thị thông báo “Mã otp khôngđúng”, ngược lại use case sẽ tiếp tục
4) Nếu không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nàotrong quá trình thực hiện use case thì hệ thống sẽ hiển thị thôngbáo “lỗi kết nối” và use case kết thúc
● Các yêu cầu đặc biệt
Cần kiểm soát quyền thực hiện use case này để đảm bảo tính an toàn
và bảo mật
● Tiền điều kiện
Người quản trị, nhân viên y tế đã có tài khoản đăng nhập
● Hậu điều kiện
Nếu use case này thành công thì hiển thị màn hình chính Nếu khôngtrạng thái của hệ thống sẽ không thay đổi
● Điểm mở rộng
Trang 25Không có.
2.4.3 Mô tả use case Tạo QR code
Use case này cho phép người dân tạo mã QR code để thực hiện cácchức năng của mình
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người dân đăng nhập thành công vào hệthống khai báo y tế Hiển thị lên màn hình điền thông tin khaibáo y tế
2) Người dân đăng nhập cần nhập đủ thông tin khai báo y tế
3) Người dân ấn vào nút gửi tờ khai thông tin
4) Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Sau đó hiển thịmàn hình mã QR Code
Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bước 3 luồng cơ bản, nếu người dùng nhập thông tin khônghợp lệ, hệ thống sẽ hiển thị thông báo “Yêu cầu nhập đúng và đủthông tin”, ngược lại use case sẽ tiếp tục
2) Nếu không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nàotrong quá trình thực hiện use case thì hệ thống sẽ hiển thị thôngbáo “lỗi kết nối” và use case kết thúc
● Các yêu cầu đặc biệt
Cần kiểm soát quyền thực hiện use case này để đảm bảo thông tinkhai báo hợp lệ, chính xác
● Tiền điều kiện
Người dân nhập mã OTP thành công
● Hậu điều kiện
Trang 26Nếu use case này thành công thì hiển thị màn hình mã QR code Nếukhông trạng thái của hệ thống sẽ không thay đổi.
● Điểm mở rộng
Không có
2.4.4 Mô tả use case quản lý thông tin người dân
Use case này cho phép nhân viên y tế xem, thêm, sửa, xóa thông tin khai báo y tế
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi nhân viên y tế đăng nhập hệ thống thành công
Hệ thống lấy thông tin danh sách khai báo y tế gồm thông tin: Họ tên,email, số điện thoại, ngày sinh, giới tính, địa chỉ từ bảng FORM và hiểnthị danh sách khai báo y tế lên màn hình
2) Tìm kiếm khai báo y tế
o Nhân viên y tế nhập tên người dân khai báo y tế sau đó nhấn enter Hệthống sẽ lấy tên người dân từ bảng FORM hiển thị lên màn hình
o Nhân viên y tế chọn tìm kiếm theo trạng thái khai báo: Thông báoCovid-19 hoặc khai báo y tế
o Nhân viên y tế chọn tìm kiếm theo mức độ tình hình bệnh dịch: Tất
cả, khẩn cấp, cảnh báo, thường
3) Cập nhật thông tin khai báo y tế người dân
a) Nhân viên y tế kích vào nút “Chi tiết” trên danh sách khai báo y tế Hệthống sẽ sẽ lấy các thông tin của người dân khai báo y tế gồm: Họ tên,email, số điện thoại, ngày sinh, giới tính, quốc tịch, địa chỉ từ bảngUSER và hiển thị lên màn hình
b) Nhân viên y tế chỉnh sửa thông tin của người dân, sau đó nhấn nút
“Lưu thông tin” Hệ thống cập nhật thông tin danh mục vào bảngFORM sau đó hiển thị danh sách sản phẩm sau khi được cập nhật.4) Xóa thông tin người dân
Trang 27a) Nhân viên y tế kích vào nút “Xóa” thông tin người dân trong danhsách các giỏ hàng Hệ thống hiển thị một màn hình xác nhận xóa.b) Nhân viên y tế kích vào nút “OK” Hệ thống xóa thông tin người dântrong danh sách người dân đã khai báo y tế và cập nhật lại bảngFORM sau đó lấy thông tin về các người dân đã khai báo từ bảngFORM và hiển thị lên màn hình.
● Các yêu cầu đặc biệt:
Không có
● Tiền điều kiện:
Người dân đã khai báo y tế thành công
● Hậu điều kiện:
Không có
● Điểm mở rộng:
Không có
2.4.5 Mô tả use case người dân cập nhật thông tin
Use case này cho phép người dân cập nhật thông tin khai báo y tế
● Luồng sự kiện:
o Luồng cơ bản:
Trang 281) Use case này bắt đầu khi người dân đăng nhập hệ thống thànhcông Hệ thống sẽ lấy thông tin khai báo y tế từ bảng FORM
và hiển thị lên màn hình
2) Người dân sửa thông tin khai báo y tế sau đó kích vào nút
“Gửi tờ khai” Hệ thống cập nhật thông tin bộ sưu tập vàobảng FORM và hiển thị lên màn hình
Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case,nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiểnthị một thông báo lỗi và use case kết thúc
2) Tại bước 2 luồng cơ bản nếu người dân sửa sai thông tin khaibáo y tế thì hệ thống sẽ thông báo lỗi “Bạn nhập sai thông tin”
và use case kết thúc
● Các yêu cầu đặc biệt:
Không có
● Tiền điều kiện:
Người dân phải đăng nhập thành công hệ thống
● Hậu điều kiện:
Khi cập nhật xong thông tin sẽ hiển thị màn hình mã QR code
● Điểm mở rộng:
Không có
2.4.6 Mô tả use case người dân khai báo khẩn
Use case này cho phép người dân khai báo thông tin khẩn cấp
● Luồng sự kiện:
o Luồng cơ bản:
1) Người dân kích vào nút “Thông báo nguy cơ COVID-19” trênmàn hình khai báo y tế Hệ thống sẽ hiển thị màn hình yêu cầunhập thông tin khai báo khẩn cấp
Trang 292) Người dân nhập thông tin khai báo y tế khẩn cấp và kích vào nút
“Thêm mới” Hệ thống sẽ thêm một bản ghi mới vào bảng FORM
o Luồng rẽ nhánh:
1) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếukhông kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị mộtthông báo lỗi và use case kết thúc
2) Tại bước 2 luồng cơ bản nếu người dân nhập thiếu thông tin khaibáo y tế thì hệ thống sẽ thông báo lỗi “Bạn nhập sai thông tin” vàuse case kết thúc
o Các yêu cầu đặc biệt:
Không có
o Tiền điều kiện:
Người dân phải đăng nhập thành công hệ thống
o Hậu điều kiện:
Khi cập nhật xong thông tin sẽ hiển thị màn hình mã QR code
o Điểm mở rộng:
Không có
Trang 302.5 Biểu đồ trình tự
2.5.1 Chức năng đăng nhập của người dân
Hình 2.6: Biểu đồ trình tự chức năng đăng nhập của người dân
Người dân nhập địa chỉ email vào form đăng nhập, hệ thống sẽ kiểm traemail và báo lỗi khi sai email Với kết quả email chính xác, hệ thống gửi mãotp tới địa chỉ email, người dân nhập mã otp để tiến hành đăng nhập Mã otpchỉ có giá trị trong 30p, sau khoảng thời gian này người dân cần yêu cầu gửilại mã otp Khi đăng nhập thành công, hệ thống sẽ điều hướng tới trang khaibáo y tế
Trang 312.5.2 Chức năng đăng nhập của nhân viên y tế
Hình 2.7: Biểu đồ trình tự chức năng đăng nhập của admin và nhân viên y tế
Nhân viên y tế đăng nhập vào hệ thống qua form đăng nhập, thông tinđược gửi lên và hệ thống so sánh với thông tin ở data, sau đó hệ thống sẽ gửitrả kết quả lại và được hiển thị trên giao diện Dữ liệu chính xác hệ thống sẽbáo đăng nhập thành công và báo thất bại khi các thông tin đăng nhập sai
Trang 322.5.3 Chức năng tạo mã QR code
Hình 2.8: Biểu đồ trình tự chức năng tạo mã QR Code
Người dân nhập thông tin khai báo cá nhân và gửi yêu cầu lên hệthống, hệ thống sẽ xác nhận yêu cầu và kiểm tra thông tin nhập, nếu chính xác
hệ thống xác nhận và tạo mã QR Code và hiển thị trên giao diện người dân.Nếu thông tin sai, hệ thống yêu cầu nhập lại thông tin cho chính xác
Trang 332.5.4 Chức năng cập nhật thông tin khai báo người dân
Hình 2.9: Biểu đồ trình tự chức năng cập nhật thông tin người dân
Người dân có thể sửa lại thông tin khai báo và sau đó cập nhật lại trên
hệ thống, hệ thống tiếp nhận yêu cầu và xác minh thông tin, nếu chính xác thìyêu cầu cập nhật thông tin được xử lý thành công và hệ thống sẽ gửi về một
mã QR Code mới, nếu sai thông tin hệ thống sẽ thông báo để người dân nhậplại chính xác
Trang 342.5.5 Chức năng quản lý thông tin người dân
Trang 352.6 Sơ đồ hoạt động
2.6.1 Chức năng đăng nhập của nhân viên y tế
Hình 2.10: Sơ đồ hoạt động nhân viên y tế đăng nhập
Nhân viên y tế đăng nhập bằng tài khoản đã được cấp Hệ thống báođăng nhập thành công khi thông tin đăng nhập là chính xác, nếu sai thông tin
sẽ phải nhập lại
Trang 362.6.2 Chức năng đăng nhập của người dân
Hình 2.11: Sơ đồ hoạt động chức năng người dân đăng nhập
Người dân nhập địa chỉ email để đăng nhập, hệ thống kiểm tra địa chỉemail, nếu sai sẽ yêu cầu nhập lại Hệ thống gửi mã otp về địa chỉ email đăng
ký nếu đúng email Người dân nhập mã otp để tiến hành đăng nhập vào hệthống