Tình hình dịch Covid-19 tuy đã có chiều hướng thuyên giảm song lượng máudự trữ trên toàn thành phố Đà Nẵng sụt giảm nghiêm trọng, trong khi nhu cầu sử dụngmáu tại các bệnh viện vẫn rất l
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌCNGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Trang 2Đà Nẵng, tháng 6/2022
Trang 3ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Trang 4Đà Nẵng, tháng 6/2022
Trang 5NHẬT XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 6NHẬN XÉT XỦA GIÁO VIÊN PHẢN BIỆN
Trang 7Tình hình dịch Covid-19 tuy đã có chiều hướng thuyên giảm song lượng máu
dự trữ trên toàn thành phố Đà Nẵng sụt giảm nghiêm trọng, trong khi nhu cầu sử dụngmáu tại các bệnh viện vẫn rất lớn, gồm cả các chế phẩm máu điều trị cho bệnh nhân.Các chiến dịch hiến máu nhân đạo tại các bệnh viện và các đơn vị trong thành phố ĐàNẵng không thể đáp ứng cho nhu cầu của các bệnh nhân Nhằm đáp ứng nhu cầu cungcấp máu kịp thời cho các bệnh viện và tin học hoá quá trình xử lý các thủ tục cho việchiến máu, tôi hướng đến xây dựng website quản lý hiến máu nhân đạo tại thành phố
Đà Nẵng
Website với các chức năng chính như : tổ chức đợt hiến máu, đăng ký đơn vịliên kết, đăng ký hiến máu, xem lịch sử hiến máu, theo dõi các chiến dịch hiến máu, Bệnh viện theo dõi được danh sách người tham gia, tính trạng sức khoẻ, cập nhậtnhóm máu, phân công nhiệm vụ,
Trang 8TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: PGS.TS Phan Huy Khánh
Sinh viên thực hiện: Phạm Duy Thanh Mã SV: 1811505310241
1. Tên đề tài:
Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
2. Các số liệu, tài liệu ban đầu:
- Dựa trên nhu cầu cần nguồn máu trong bối cảnh khắc phục hậu quả dịch
Covid-19 ở thành phố Đà Nẵng thấy được sự cần thiết nên em đã đưa ra ý tưởng về đềtài này
- Số liệu là dùng google biểu mẫu và kêu gọi các bạn tình nguyện viên cung cấpthông tin cá nhân, tình trạng sức khỏe, nhóm máu,…
- Các tài liệu tham khảo được lấy từ nhiều nguồn khác nhau, nhưng đa phần từcác kênh youtube hướng dẫn tự học
3. Nội dung chính của đồ án:
Chương 1: Cơ sở lý thuyết
+ Công nghệChương 2: Phân tích thiết kế hệ thống
+ Khảo sát hệ thống+ Biểu đồ Use Case+ Sơ đồ hoạt động+ Kịch bản Use CaseChương 3:Xây dựng chương trình
+ Công cụ xây dựng chương trình+ Giao diện chương trình
Kết Luận và hướng phát triển
4. Các sản phẩm dự kiến
Trang 9Website quản lý hiến máu nhân đạo thành phố Đà Nẵng.
Trang 10LỜI NÓI ĐẦU
Em xin gửi lời cảm ơn chân thành tới các thầy cô trường Đại học
Sư phạm Kỹ Thuật - Đại Học Đà Nẵng nói chung, các thầy cô trong khoa Công nghệ số - nghành Công nghệ thông tin nói riêng đã tận tình truyền đạt kiến thức cho em trong 4 năm học vừa qua Kiến thức
đó không chỉ phục vụ cho việc thực hiện đề tài của em mà còn là hành trang để em bước vào cuộc sống
Em xin được bày tỏ sự trân trọng và lòng biết ơn đối với thầy
Phan Huy Khánh Trong suốt thời gian làm đồ án tốt nghiệp, thầy
đã dành rất nhiều thời gian quý báu để tận tình chỉ bảo, hướng dẫn, định hướng cho em trong việc nghiên cứu, thực hiện đề tài.
Với sự hướng dẫn tận tình của thầy Phan Huy Khánh, em đã hoàn thành đồ án tốt nghiệp này Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và góp ý của quý Thầy cô
Xin chân thành cảm ơn tất cả bạn bè đã động viên, giúp đỡ em trong thời gian nghiên cứu và hoàn thành đồ án
Em kính mong nhận được sự góp ý của quý Thầy Cô và các bạn
để hoàn thành tốt hơn nữa đề tài nghiên cứu của mình.
Em xin chân thành cảm ơn !
i
Trang 11CAM ĐOAN
Tôi xin cam đoan:
- Những nội dung trong luận văn này do em thực hiện dưới sự hướng dẫn củathầy Phan Huy Khánh
- Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên côngtrình, thời gian, địa điểm công bố
- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịuhoàn toàn trách nhiệm
Sinh viên thực hiệnThanh
Phạm Duy Thanh
Trang 12MỤC LỤC
MỤC LỤC iii
DANH MỤC BẢNG BIỂU vi
DANH MỤC HÌNH VẼ vii
DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT viii
DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH ix
MỞ ĐẦU 1
1 Mục tiêu đề tài 1
2 Đối tượng nghiên cứu và phạm vi nghiên cứu 1
a Đối tượng nghiên cứu 1
b Phạm vi nghiên cứu 1
3 Phương pháp nghiên cứu 1
4 Giải pháp công nghệ 1
5 Cấu trúc đồ án 2
Chương 1 CƠ SỞ LÝ THUYẾT 3
1.1 Ngôn ngữ Python 3
1.2 Django REST Framework 3
1.2.1 Framework là gì? 3
1.2.2 Django REST Frameworklà gì? 3
1.3 Mô hình MVC 3
1.4 Tổng quan về hệ quản trị cơ sở dữ liệu MySQL 4
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 6
2.1 Khảo sát hệ thống 6
2.1.1 Khảo sát thực tế 6
iii
Trang 132.1.2 Khảo sát người dùng 6
2.1.3 Xác định các tác nhân 6
2.1.4 Các yêu cầu chức năng 6
2.1.4.1 Khách vãng lai 6
2.1.4.2 Người dùng 7
2.1.4.3 Người quản trị 7
2.1.5 Yêu cầu phi chức năng 7
2.2 Biểu đồ Use Case 8
2.3 Sơ đồ hoạt động 9
2.3.1 Đăng ký 9
2.3.2 Đăng nhập 10
2.3.3 Đăng ký hiến máu 10
2.3.4 Cập nhật thông tin cá nhân 11
2.3.5 Tạo đợi hiến máu 12
2.3.6 Cập nhật kết quả hiến máu 13
2.3.7 Tạo mới nhân viên 14
2.3.8 Cập nhật thông tin nhân viên 15
2.3.9 Cập nhật thông tin bệnh viên 16
2.4 Kịch bản cho use case 16
2.4.1 Use case đăng ký tài khoản 16
2.4.2 Use case đăng nhập 17
2.4.3 Cập nhật thông tin cá nhân 17
2.4.4 Use case đăng ký hiến máu 18
2.4.5 Use case tạo đợt hiến máu 18
2.4.6 Use case đăng bài 19
Trang 142.4.7 User case cập nhật kết quả hiến máu 19
2.4.8 Cập nhật tạo mới nhân viên 20
2.5 Thiết kế cơ sở dữ liệu 21
Chương 3 XÂY DỰNG CHƯƠNG TRÌNH 26
3.1 Công cụ xây dựng chương trình 26
3.2 Giao diện chương trình 26
3.2.1 User 26
3.2.1.1 Giao diện trang chủ 26
3.2.1.2 Giao diện đăng ký hiến máu 27
3.2.1.3 Giao diện đăng ký tài khoản 28
3.2.1.4 Thông tin cá nhân 28
3.2.1.5 Admin 29
3.2.1.6 Giao diện đăng nhập 29
3.2.1.7 Quản lý chi tiết hiến máu 29
3.2.1.8 Giao diện chỉnh sửa 30
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 32
3.3 Kết luận 32
3.4 Hướng phát triển 32
3.5 .32
TÀI LIỆU THAM KHẢO 33
v
Trang 15DANH MỤC BẢNG BIỂU
Bảng 2 1: Kịch bản đăng ký tài khoản 16
Bảng 2 2: Kịch bản đăng ký tài khoản 17
Bảng 2 3: Kịch bản cập nhật thông tin cá nhân 17
Bảng 2 4: Kịch bản đăng ký hiến máu 18
Bảng 2 5: Kịch bản tạo đợt hiến máu 18
Bảng 2 6 Kịch bản đăng bài 19
Bảng 2 7: Kịch bản cập nhật kết quả hiến máu 19
Bảng 2 8: Kịch bản cập nhật thông tin cá nhân 20
Bảng 2 9: Bảng user 21
Bảng 2 10: Bảng profile 21
Bảng 2 11: Bảng hospital 22
Bảng 2 12: Bảng post 23
Bảng 2 13: Bảng donation_session 23
Bảng 2 14: Bảng hospital 24
Trang 16DANH MỤC HÌNH VẼ
Hình 1.1: Mô Hình MVC 4
Hình 2.1: Sơ đồ Use Case 8
Hình 2.2: Sơ đồ hoạt động đăng ký 9
Hình 2.3: Sơ đồ hoạt động đăng nhập 10
Hình 2.4: Sơ đồ hoạt động đăng ký hiến máu 10
Hình 2.5: Sơ đồ hoạt động cập nhật thông tin cá nhân 11
Hình 2.6: Sơ đồ hoạt động tạo đợi hiến máu 12
Hình 2.7: Sơ đồ hoạt động cập nhật kết quả hiến máu 13
Hình 2.8: Sơ đồ hoạt động tạo mới nhân viên 14
Hình 2.9: Sơ đồ hoạt động cập nhật thông tin nhân viên 15
Hình 2.10: Sơ đồ hoạt động cập thông tin bệnh viên 16
Hình 3.1: Giao diện trang chủ 25
Hình 3.2: Giao diện trang đăng ký hiến máu 26
Hình 3.3: Giao diện đăng ký tài khoản 27
Hình 3.4: Giao diện Hồ sơ 27
Hình 3.5: Giao diện đăng nhập 28
Hình 3.6: Giao diện danh sách chi tiết hiến máu 29
Hình 3.7: Giao diện quản lý chi tiết hiến máu 30
vii
Trang 17DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT
Stt Chữ viết tắt Giải nghĩa
1 CNTT Công nghệ thông tin
2 CSDL Cơ sở dữ liệu
3 CMCN Cách mạng công nghệ
Trang 18DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH
1 HTML Hyper Text Markup
Language Ngôn ngữ đánh dấu siêu văn bản
2 CSS Cascading Style Sheets
Ngôn ngữ để tìm và định dạng lạicác phần tử được tạo ra bởi cácngôn ngữ đánh dấu (HTML)
3 MySQL
Relational Database Management System – RDBMS
Hệ quản trị cơ sở dữ liệu mãnguồn mở phổ biến nhất thế giới
4 JS JavaScript
Ngôn ngữ lập trình thông dịchđược phát triển từ các ý niệmnguyên mẫu
5 REST Representational State
Transfer
Một kiểu kiến trúc lập trình, nóđịnh nghĩa các quy tắc để thiết kếtcác web service chú trọng vào tàinguyên hệ thống
6 API Application Programming
Interface
Một tập các quy tắc và cơ chế màtheo đó, một ứng dụng hay mộtthành phần sẽ tương tác với mộtứng dụng hay thành phần khác
7 DRF Django REST Framework Một bộ công cụ mạnh mẽ và linh
hoạt để xây dựng các API Web
8 Web API Web Application
Programming Interface
Một phương thức dùng để chophép các ứng dụng khác nhau cóthể giao tiếp, trao đổi dữ liệu qualại
9 ORM Object Relational Mapping Một kỹ thuật/cơ chế lập trình
thực hiện ánh xạ CSDL sang các
ix
Trang 19Stt Chữ viết tắt Giải nghĩa Nghĩa tiếng Việt
đối tượng trong các ngôn ngữ lậptrình hướng đối tượng
10 RDBMS Relational Database
Management System Hệ quản trị cơ sỡ dữ liệu quan hệ
Trang 20Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
MỞ ĐẦU
Hiện nay vấn đề đăng ký hiến máu nhân đạo trực tuyến ở thành phố Đà Nẵng vẫnchưa phổ biến và các bệnh viện vẫn đang gặp khó khăn khi kêu gọi các nguồn máu.Việc này khiến cho các trường hợp cần máu khó có thể đáp ứng kịp thời Giải pháphiện nay để kêu gọi hiến máu nhân đạo ở thành phố là kêu gọi từ những bệnh viện lớnthông qua các trường đại học, công ty, trang mạng xã hội như facebook, zalo, Nhưngviệc này còn gặp nhiều bất tiện đó là các thông tin sức khỏe sau khi được hiến máu thìngười tham gia đợi lâu mới có kết quả trả về
Đề tài hiến máu nhân đạo tuy đã có nhiều nghiên cứu song chỉ dừng lại ở mứcđăng bài hiển thị thông tin cho mọi người [1]
Đề tài quản lý hiến máu nhân đạo tại thành phố Đà Nẵng hướng đến việc chongười dùng đăng ký hiến máu và theo dõi tình trạng sức khỏe, kết nối bệnh viện vớingười dân ở Đà Nẵng là điều thiết yếu
1 Mục tiêu đề tài
Website nhằm rút ngắn thời gian xử lý đăng ký hiến máu nhân đạo,đảm bảo việc đưa thông tin liên quan đến với người dùng một cáchnhanh chóng
2 Đối tượng nghiên cứu và phạm vi nghiên cứu
a Đối tượng nghiên cứu
- Các bệnh viên tổ chức các chiến dịch hiến máu
- Các tình nguyện viên tham gia hiến máu nhân đạo
b Phạm vi nghiên cứu
Thành phố Đà Nẵng
3 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết thu thập thông tin qua sách, các tài liệu,trang web để tìm được các cơ sở lý thuyết liên quan đề tài thực hiện
- Phương pháp triển khai thực hiện: xây dựng website
Trang 21Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
4 Giải pháp công nghệ
- Thiết kế cơ sở dữ liệu, sơ đồ usecase: Star UML
- Editor VS Code, PyCharm : Hỗ trợ soạn thảo mã nguồn
để triển khai, thực hiện đề tài, đồng thời phân tích, đặc tả yêu cầu nghiệp vụ
- Chương 1: Tìm hiểu cơ sở lý thuyết, giới thiệu tổng quát các kiến thức về ngôn ngữlập trình Python, mô hình MVT, VueJS, Django REST Framework, và hệ quản trị cơ
sở dữ liệu MySQL
- Chương 2: Phân tích các tác nhân và chức năng của từng tác nhân, yêu cầu phi chứcnăng của hệ thống Thiết kế sơ đồ use-case, sơ đồ hoạt động Thiết kế cơ sở dữ liệu.Xây dựng kịch bản cho từng use-case trong hệ thống
- Chương 3: Xây dựng giao diện và chức năng của hệ thống
- Kết luận: Trình bày những vấn đề đã giải quyết và hướng phát hướng phát triển của
đề tài
Trang 22Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
Ban đầu, Python được phát triển để chạy trên nền Unix Nhưng rồi theo thời gian,Python dần mở rộng sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2,Windows, Linux và các hệ điều hành khác thuộc họ Unix
Python luôn được xếp hạng vào những ngôn ngữ lập trình phổ biến nhất.Error:Reference source not found
1.2 Django REST Framework
1.2.1 Framework là gì?
Framework chính là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung
và các thư viện lập trình được đóng gói Chúng cung cấp các tính năng có sẵn như môhình, API và các yếu tố khác để tối giản cho việc phát triển các ứng dụng web phongphú, năng động
1.2.2 Django REST Frameworklà gì?
DRF là Django REST framework là một công cụ hỗ trợ đắc lực trong việc xâydựng WebAPI DRF hộ trợ:
- Có hỗ trợ dữ liệu ORM và non-ORM với Serialization
- Tài liệu phong phú, cộng đồng hỗ trợ lớn
- Được sử dụng trong các công ty quốc tế như Mozilla, Red Hat, Heroku
1.3 Mô hình MVC
MVC là từ viết tắt của “Model View Controller” Nó đại diện cho các nhà pháttriển kiến trúc áp dụng khi xây dựng các ứng dụng Với kiến strúc MVC, chúng ta xemxét cấu trúc ứng dụng liên quan đến cách luồng dữ liệu của ứng dụng của chúng tahoạt động như thế nào
Trang 23Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller:
- Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu nó sẽ bao gồm cácclass/function xử lý nhiều nghiệp vụ như kết nối CSDL, truy vấn dữ liệu (thêm, sửa,xoá dữ liệu,…)
- View: là nới chứa những giao diện như một nút bấm, khung nhập, menu, hìnhảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệthống
- Controller: là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽgồm những class/function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tincần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho ngườidùng nhờ lớp View
Hình 1.3.1.1.1.1: Mô Hình MVC
1.4 Tổng quan về hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS)dựa trên ngôn ngữ truy vấn có cấu trúc ( SQL) được phát triển, phân phối và hỗ trợ bởitập đoàn Oracle MySQL chạy trên hầu hết tất cả các nền tảng, bao gồm cả Linux ,UNIX và Windows MySQL thường được kết hợp với các ứng dụng web
Trang 24Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
SQL là ngôn ngữ phổ biến nhất để thêm, truy cập và quản lý nội dung trong cơ sở
dữ liệu Nó được chú ý nhất vì khả năng xử lý nhanh, độ tin cậy đã được chứng minh,
dễ sử dụng và linh hoạt
MySQL được sử dụng cho nhiều mục đích, bao gồm lưu trữ dữ liệu, thương mạiđiện tử và ứng dụng ghi nhật ký Tuy nhiên, việc sử dụng phổ biến nhất cho MySQL làmục đích làm cơ sở dữ liệu cho web Nó có thể được sử dụng để lưu trữ bất cứ thứ gì
từ một bản ghi thông tin cho đến toàn bộ kho sản phẩm có sẵn cho một cửa hàng trựctuyến
Trang 25Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
Tiếp theo đó ngày 2 - 12 - 2021, trước tình trạng khan hiếm nguồn máu để cấpcứu và điều trị người bệnh do ảnh hưởng của dịch Covid-19, gần 300 đoàn viên côngđoàn bệnh viện Đà Nẵng đã tham gia hiến máu và thu về gần 300 đơn vị máu để cấpcứu, điều trị người trong tình hình dịch COVID-19 [4]
Do đó, nhu cầu cấp thiết đặt ra là cần xây dựng website hỗ trợ đăng ký hiếnmáu nhân đạo và cung cấp thông tin về các chiến dịch hiến máu của thành phố ĐàNẵng
2.1.2 Khảo sát người dùng
Trong bối cảnh dịch Covid-19 vẫn còn tồn tại người dân cần tránh tập trung nơiđông người Nhưng vẫn muốn góp phần hiến máu tình nguyện cho các bệnh viện Cònnhiều bất tiện gian trong việc kê khai thông tin
Bệnh viện đang gặp khó khăn trong viện tiếp nhận các nguồn máu từ ngườitham gia hiến máu thông qua các đợt tổ chức tại bệnh viện hay trường đại học, lượngmáu giảm đáng kể, không đủ cho công cuộc cứu người của các y bác sỹ Việc cập nhật
dữ liệu từ giấy sang hệ thống cũng tốn nhiều thời gian
Trang 26Xây dựng website quản lý hiến máu nhân đạo thành phố Đà Nẵng
2.1.4 Các yêu cầu chức năng
2.1.4.1 Khách vãng lai
- Xem thông tin đợt hiến máu
- Đăng ký hiến máu
- Đăng ký tài khoản làm người dùng
2.1.4.2 Người dùng
- Đăng nhập
- Cập nhật thông tin cá nhân
- Đăng ký tham gia hiến máu
- Xem lịch sử đăng ký
- Xem các thông tin về sức khỏe
Nhận được thông tin về các đợt hiến máu
2.1.4.3 Người quản trị
- Thống kê
- Quản lý tài khoản
- Cập nhật các đợt hiến máu
- Cập nhật thông tin các bệnh viện
- Quản lý các nhân viên của bệnh viện
- Cập nhật các thông tin người hiến máu
- Quản lý nhân viên tham gia đợt hiến máu
2.1.5 Yêu cầu phi chức năng
- Giao diện đơn giản, dễ sử dụng
- Có tính bảo mật, an toàn
- Tốc độ xử lý nhanh chóng, dễ dàng