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ức khỏe của bệnh nhân một cách nhanh chóng và
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
Trang 2MỤ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 4
1.2 Các công cụ thiết kế website hệ thống thông tin khai báo y tế 5
1.2.1 NodeJS 5
1.2.2 Javascript 6
1.2.3 ReactJS 7
1.2.4 MongoDB 8
1.3 Kiến trúc phần mềm 9
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10
2.1 Phân tích yêu cầu 10
2.2 Các yêu cầu phi chức năng 11
2.3 Biểu đồ use case 11
2.3.1 Biểu đồ use case tổng quan 11
2.3.2 Use case phân rã người dân đăng nhập 12
2.3.3 Use case phân rã quản lý thông tin cá nhân người dân 13
2.3.4 Use case phân rã quản lý thông tin người dân 13
2.3.5 Use case phân rã tạo mã QR 14
2.4 Mô tả chi tiết use case 14
Trang 32.4.2 Mô tả use case Đăng nhập của người dân 15
2.4.3 Mô tả use case Tạo QR code 17
2.4.4 Mô tả use case quản lý thông tin người dân 18
2.4.5 Mô tả use case người dân cập nhật thông tin 19
2.4.6 Mô tả use case người dân khai báo khẩn 20
2.5 Biểu đồ trình tự 22
2.5.1 Chức năng đăng nhập của người dân 22
2.5.2 Chức năng đăng nhập của nhân viên y tế 23
2.5.3 Chức năng tạo mã QR code 24
2.5.4 Chức năng cập nhật thông tin khai báo người dân 25
2.5.5 Chức năng quản lý thông tin người dân 26
2.6 Sơ đồ hoạt động 27
2.6.1 Chức năng đăng nhập của nhân viên y tế 27
2.6.2 Chức năng đăng nhập của người dân 28
2.6.3 Chức năng tạo QR code của người dân 29
2.6.4 Chức năng quản lý thông tin người dân 30
2.6.5 Chức năng xem khai báo chi tiết người dân 31
2.7 Thiết kế cơ sở dữ liệu 32
2.7.1 Quan hệ giữa các bảng 32
2.7.2 Chi tiết các bảng 32
2.8 Thiết kế giao diện 35
2.8.1 Màn hình đăng nhập 35
2.8.2 Màn hình nhập mã otp 35
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 42.8.3 Màn hình khai báo y tế 36
2.8.4 Màn hình mã QR 37
2.8.5 Màn hình khai báo khẩn cấp 37
2.8.6 Màn hình danh sách khai báo y tế 38
CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH VÀ KIỂM THỬ HỆ THỐNG 39
3.1 Cài đặt chương trình 39
3.2 Phần mềm khai báo y tế điện tử 40
3.2.1 Màn hình chức năng đăng nhập của người dân 40
3.2.2 Màn hình trang chủ khai báo y tế 42
3.2.3 Màn hình hướng dẫn khai báo y tế 44
3.2.4 Màn hình thống kê khai báo y tế của nhân viên y tế 44
3.3 Kiểm thử phần mềm khai báo y tế điện tử 46
3.3.1 Kiểm thử chức năng đăng nhập của người dân 46
3.3.2 Kiểm thử chức năng đăng nhập của nhân viên y tế 48
3.3.3 Kiểm thử chức năng khai báo y tế 49
3.3.4 Kiểm thử chức năng khai báo khẩn cấp 55
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 60
PHỤ LỤC 61
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 6TIEU LUAN MOI download : skknchat123@gmail.com
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1.1: Các yêu cầu phi chức năng 11
Bảng 2.1: Chi tiết bảng admin 33
Bảng 2.2: Chi tiết bảng user 35
Bảng 2.3: Chi tiết bảng form 36
Bảng 2.4: Chi tiết bảng formtype 36
Bảng 2.5: Chi tiết bảng question 37
Bảng 2.6: Chi tiết bảng answer 37
Bảng 3.1: Kiểm thử chức năng đăng nhập của người dân 50
Bảng 3.2: Kiểm thử chức năng đăng nhập của nhân viên y tế 52
Bảng 3.3: Kiểm thử chức năng khai báo y tế 54
Bảng 3.4: Kiểm thử chức năng khai báo khẩn cấp 60
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 8MỤC LỤC HÌNH VẼ
Hình 2.1 Biểu đồ use case tổng quan 11
Hình 2.2: Biểu đồ use case phân rã đăng nhập của người dân 12
Hình 2.3: Biểu đồ use case phân rã quản lý thông tin cá nhân 13
Hình 2.4: Biểu đồ use case phân rã quản lý thông tin người dân 13
Hình 2.5: Biểu đồ use case phân rã quản lý tài khoản 14
Hình 2.6: Biểu đồ trình tự chức năng đăng nhập của người dân 22
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ế 23 Hình 2.8: Biểu đồ trình tự chức năng tạo mã QR Code 24
Hình 2.9: Biểu đồ trình tự chức năng cập nhật thông tin người dân 25
Hình 2.10: Sơ đồ hoạt động nhân viên y tế đăng nhập 27
Hình 2.11: Sơ đồ hoạt động chức năng người dân đăng nhập 28
Hình 2.12: Sơ đồ hoạt động người dân tạo QR code 29
Hình 2.13: Sơ đồ hoạt động quản lý thông tin người dân 30
Hình 2.14: Sơ đồ hoạt động xem khai báo chi tiết người dân 31
Hình 2.15: Cơ sở dữ liệu 32
Hình 2.16: Giao diện đăng nhập 35
Hình 2.17: Giao diện nhập mã otp 35
Hình 2.18: Giao diện khai báo y tế 36
Hình 2.19: Giao diện mã QR 37
Hình 2.20: Giao diện khai báo khẩn cấp 37
Hình 2.21: Màn hình danh sách khai báo y tế 38
Hình 3.22: Màn hình khởi chạy dự án 39
Hình 3.23: Mở terminal chạy chương trình 39
Hình 3.24: Màn hình đăng nhập 40
Hình 3.25: Màn hinh mail khi nhận được mã otp 40
Hình 3.26: Màn hình nhập mã otp đăng nhập 41
Hình 3.27: Màn hình khai báo y tế 42
Trang 9Hình 3.28: Màn hình tạo mã QR code 43
Hình 3.29: Màn hình khai báo y tế khẩn cấp 44
Hình 3.30: Màn hình hướng dẫn khai báo y tế 44
Hình 3.31: Màn hình danh sách khai báo y tế 44
Hình 3.32: Màn hình xem chi tiết khai báo y tế 45
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 10MỞ ĐẦU
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
2 Lý do chọn đề tài
Cuối năm 2019, đại dịch Covid-19 đã xảy ra cướp đi sinh mạng của hàngtriệu người trên khắp thế giới Một vấn đề lớn khó có thể giải quyết ngay lúc bấygiờ đó là làm cách nào có thể kiểm soát được thông tin và lịch trình di chuyểncủa người dân, người có nguy cơ mang mầm bệnh cũng như khoanh vùng dịch.Khai báo y tế là việc người dân cung cấp thông tin y tế cá nhân, trong đó nhất lànhững thông tin về lịch sử nơi đi, nơi ở và nơi đến nhằm mục đích kiểm soát vàphòng chống dịch bệnh COVID-19 Căn cứ các thông tin được cập nhật, cơ quan
y tế địa bàn sẽ nắm bắt cơ bản diễn biến sức khỏe, lịch trình đi lại, di chuyển củamỗi cá nhân để theo dõi, hỗ trợ trong tình huống cần thiết Đặc biệt, những ngườiliên quan đến các ca bệ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áctrườ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òngchống dịch khi về địa phươ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ức khỏe của bệnh nhân một cách nhanh chóng và có phương pháp điềutrị kịp thời hạn chế được 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.
3 Mục tiêu nghiên cứu
- Tổng hợp được các kiến thức về NodeJS, ReactJS và MongoDB để áp dụ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 tin quản ký tờ khai y tế, khai báo y tế
Trang 11- 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ệ trong việ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ó ý định nhậ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àm giả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ười
dù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ế
- 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ộ, khai bá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
5 Phạm vi của đề tài
nhậ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ànhnhập thông tin khai báo y tế Khai báo y tế thành công thì sẽ hiển thị màn hình mã QRCode, người dân có thể tải mã QR Code về máy Ngoài chức năng khai báo, người dânthực hiện chức năng
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 123khai hộ hoặc khai báo khẩn cấp Trong trường hợp người dân chưa biết
sử dụng hệ thống khai báo y tế thì người dân vào hướng dẫn khai báo ytế
- 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ân viê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ống thô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 khai bá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 khai báo
Chương 3: Cài đặt chương trình và kiểm thử hệ thống
Mô tả cách cài đặt phần mềm khai báo y tế, hướng dẫn sử dụng, kết quảđạt được và kiểm thử của phần mềm khai báo y tế
Trang 13CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.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, bao gồm:thông tin về hành chính cá nhân, thời gian đã đi, đến ngoài tỉnh trong vòng 14ngày qua; có hay không có các triệu chứng nhiễm Covid-19, Trong cácthông tin trên thì thông tin đi, đến nơi khác trong vòng 14 ngày qua là quantrọng nhất; nó quyết định nhiều hay ít các mốc dịch tễ, tương ứng nhiều hay ítcác F1, F2; từ đó cần phải phong tỏa nhiều hay ít điểm, diện phong tỏa rộnghay 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 sinhcá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 ra quyế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ểm kinh doanh đểkiểm soát vào và ra cơ quan, đơn vị hằng ngày đối với khách đến và đi thông qua mãQR
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 14Đố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 theo nguyê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ợp người không cóđiện thoại thông minh, người già có thể nhờ người thân khai 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ườikiể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 nhau nhưcác ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gianthực, máy chủ REST API, Tuy nhiên, NodeJS thường được dùng chủ yếu để
Trang 15xây dựng các chương trình mạng như máy chủ web, tương tự như PHP, Javahoặ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,
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 167NodeJS 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ện naykhá 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ác thời gianthự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ôngthể đối với PHP, Java, Python, Net khi số lượng người dùng tương tác cùng lúcquá nhiều Máy chủ sẽ không thể nào gánh nổi, nhưng với các Frame work củaJavaScript 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ạn nhưNodeJS Server
Trang 171.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
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 18sở 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ộthà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êncạnh đó, Controller còn có chức năng kết nối với model
Trang 19CHƯƠ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ợ
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 202.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
- Giao diện tiếng Việt
1 Giao diện - 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
- Tốc độ xử lý nhanh trong hầu hết
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
Khai bao khan cap
Xem huong dan Dang nhap Tim kiem khai bao y te
Quan ly thong tin ca nhan
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ế bao
Trang 22vào hệ thống và tiến hành khai báo các thông tin cá nhân Sau khi hoàn thành các thôngtin cá nhân, người dân sẽ nhận được mã QR Code chứa đựng các thông tin vừa khai báo,
mã QR Code có thể được tải về Ngoài ra, người dân có thể cập nhật lại thông tin khaibáo, khai báo hộ hoặc khai báo khẩn cấ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ếmthô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
(from Use Case View)
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ểmtra đị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 232.3.3 Use case phân rã quản lý thông tin cá nhân người dân
Cap nhat thong tin
Thay doi thong tin
Chinh sua thong tin
Quan ly thong tin ca nhan
Them thong tin NguoiDan
(from Use Case View)
Khai bao ho
Khai bao khan cap
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 tin
khai 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ấp
trong 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
Tim kiem thong tin
Trang 24Hình 2.4: Biểu đồ use case phân rã quản lý thông tin người dân
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 25Nhâ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
<<extend>>
NguoiDan
Tao ma QR Tai ma 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
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
CSDL Cho phép nhân viên y tế đăng nhập, hiển thị lên màn hình
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 2615Use case kết thúc.
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ết
nối” và use case kết thúc
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
Người quản trị, nhân viên y tế đã có tài khoản đăng nhập
Nếu use case này thành công thì hiển thị màn hình chính Nếu không trạng thái của hệ thống sẽ không thay đổi
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ác chức năng của mình
Trang 274) Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Cho phép người dâ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ế
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ạiuse case sẽ tiếp tục
quá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗi
kết nối” và use case kết thúc
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
Người quản trị, nhân viên y tế đã có tài khoản đăng nhập
Nếu use case này thành công thì hiển thị màn hình chính Nếu không trạng thái của hệ thống sẽ không thay đổi
Không có
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 282.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ác chức năng của mình
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 khai bá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
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ạiuse case sẽ tiếp tục
quá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗi
kết nối” và use case kết thúc
Cần kiểm soát quyền thực hiện use case này để đảm bảo thông tin khai báo hợp lệ, chính xác
Người dân nhập mã OTP thành công
Nếu use case này thành công thì hiển thị màn hình mã QR code Nếu không trạng thái của hệ thống sẽ không thay đổi
Trang 29● Đ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 khaibá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ệnthoại, ngày sinh, giới tính, địa chỉ từ bảng FORM và hiển thị 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áo Covid-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ệnthoại, ngày sinh, giới tính, quốc tịch, địa chỉ từ bảng USER 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ảng FORM sau đó hiểnthị danh sách sản phẩm sau khi được cập nhật
4) Xóa thông tin người dân
a) Nhân viên y tế kích vào nút “Xóa” thông tin người dân trong danh sách các giỏ hàng Hệ thống hiển thị một màn hình xác nhận xóa
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 3019b) 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ảng FORM sau đó lấythông tin về các người dân đã khai báo từ bả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 thời điểm nào trong quá trình thực hiện use case nếu không kếtnối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kếtthúc
2) Tại bước 2a trong luồng cơ bản khi hệ thống không tìm thấy bản ghi nào thì hệ thống sẽ hiển thị “No data” và use case kết thúc
3) Tại bước 3b trong luồng cơ bản nếu sửa thông tin sai thì hệ thống sẽ thông báo lỗi, không cho phép sửa thông tin và use case kết thúc
4) Tại bước 4b trong luồng cơ bản nếu không thể xóa được sản phẩm hệ thống sẽ hiển thị một thông báo lỗi 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 đã khai báo y tế thành công
Không có
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:
1) 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
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 312) 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ào bảng FORM và hiển thị lênmàn hình
Use case kết thúc
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ển thị 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ó
Người dân phải đăng nhập thành công hệ thống
Khi cập nhật xong thông tin sẽ hiển thị màn hình mã QR code
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ầu nhập thông tin khaibáo khẩn cấp
2) 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
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 32211) 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ột thông báo lỗi và usecase 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
Không có
Người dân phải đăng nhập thành công hệ thống
Khi cập nhật xong thông tin sẽ hiển thị màn hình mã QR code
Không có
Trang 332.5 Biểu đồ trình tự
2.5.1 Chức năng đăng nhập của người dân
: NguoiDan : DangNhapUI : DangNhapController : User : ICsdl : CSDL 1: Nhap email ()
2: Kich nut "Nhan ma otp" ()
3: Gui yeu cau dang nhap ()
4: Lay bang user ()
5: Lay bang user () 6: setOtp()
7: return ket qua 8: Kiem tra email ()
9: Nhap ma otp ()
10: Lay thong tin dang nhap ()
11: Lay bang user ()
12: Lay bang user ()
13: getOtp()
14: return ket qua
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ế
TIEU LUAN MOI download : skknchat123@gmail.com
Trang 342.5.2 Chức năng đăng nhập của nhân viên y tế
: DangNhapUI : DangNhapController : Admins : ICsdl : CSDL 1: Nhap ten dang nhap ()
2: Nhap mat khau ()
3: Lay thong tin dang nhap ()
4: Lay bang ADMINS ()
5: Lay bang ADMINS() 6: getAdmins()
7: return ket qua
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 đượcgử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.: NhanVienYTe
Trang 352.5.3 Chức năng tạo mã QR code
1: Nhap thong tin khai
TaoMaQRUI bao() 2: Kich nut "Gui thong tin"()
3: Lay thong tin khai bao()
4: CreateKhaiBao()
5: Lay bang FORM()
6: Lay bang FORM() 7: return ket qua
8: hien thi man hinh ma 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 36TIEU LUAN MOI download : skknchat123@gmail.com
Trang 372.5.4 Chức năng cập nhật thông tin khai báo người dân
: NguoiDan Hien thi thong tin da khai bao() : : Form : ICsdl
: CSDL : CapNhatThongTinUI CapNhatThongTinController
1: Dang nhap thanh cong()
2: Lay thong tin khai bao()
3: getFormByID() 4: return ket qua
5: Hien thi thong tin da khai bao()
6: Sua thong tin khai bao y te()
7: Kich nut "Gui thong tin"()
8: Sua thong tin khai bao()
9: updateFormByID() 10: Cap nhat bang FORM()
11: Cap nhat bang FORM() 12: return ket qua
13: Hien thi man hinh ma QR code()
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ập
lại chính xác
Trang 38TIEU LUAN MOI download : skknchat123@gmail.com
Trang 392.5.5 Chức năng quản lý thông tin người dân
: NhanVienYTe:QuanLyThongTinNguoiDanUI: : Form : ICsdl : CSDL
1: Dang nhap thanh cong()
QuanLyThongTinNguoiDanController
2: Lay thong tin nguoi dan khai bao()
3: Doc bang FORM()
4: Doc bang FORM()
5: getFORM()
6: return ket qua
7: Nhap ten nguoi dan()
8: Kich nut enter()
9: Lay thong tin theo ten()
10: Doc bang FORM()
11: Doc bang FORM()
12: GetHoTen() 13: return ket qua
14: Hien thi danh sach tim kiem theo ten()
15: Kich nut "Chi tiet"()
16: Sua thong tin nguoi dan()
17: Kich nut "Cap nhat"()
18: Sua thong tin khai bao()
19: updateFormByID() 20: Cap nhat bang FORM()
21: Cap nhat bang FORM() 22: return ket qua
23: Hien thi danh sach khai bao()
24: Kich nut "Xoa"()
25: Hien thi man hinh xac nhan xac()
26: Kich nut "Dong y"()
27: Xoa thong tin khai bao()
28: deleteFormByID() 29: Cap nhat bang FORM()
30: Cap nhat bang FORM() 31: return ket qua
Trang 4032: Hien danh sach khai bao()
TIEU LUAN MOI download : skknchat123@gmail.com