Bối cảnh và vấn đề nghiên cứu
Đề tài "Xây dựng ứng dụng Android thông tin về hiến máu sử dụng Java" được thực hiện bởi sinh viên Lê Văn Tấn Phát (MSSV: 16110411), chuyên ngành Công nghệ phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, dưới sự hướng dẫn của ThS. Nguyễn Minh Đạo.
Về bối cảnh thực tiễn, phong trào hiến máu nhân đạo ngày càng thu hút sự quan tâm sâu rộng của xã hội, đặc biệt trong môi trường trường đại học – nơi tập trung lực lượng sinh viên đông đảo và là nguồn máu bổ sung quan trọng cho các ngân hàng máu hằng năm. Tại Trường Đại học Sư phạm Kỹ thuật TP.HCM, mỗi đợt vận động hiến máu tiếp nhận hàng trăm sinh viên tham gia. Tuy nhiên, quy trình tổ chức, điều phối và triển khai đăng ký truyền thống còn bộc lộ nhiều điểm hạn chế: công tác chuẩn bị tốn nhiều thời gian, việc tuyên truyền kiến thức y tế và các lưu ý an toàn trước khi hiến máu chưa đạt hiệu quả tối ưu, đồng thời khâu quản lý danh sách và phản hồi kết quả sau hiến máu cho từng tình nguyện viên gặp nhiều khó khăn. Xuất phát từ thực tế đó, tác giả lựa chọn phát triển một ứng dụng di động nhằm số hóa quy trình đăng ký, hỗ trợ thông tin y tế và kết nối giữa ban tổ chức với tình nguyện viên.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:
- Nhiệm vụ 1: Tìm hiểu về quy trình xây dựng ứng dụng di động trên nền tảng hệ điều hành Android sử dụng ngôn ngữ lập trình Java.
- Nhiệm vụ 2: Nghiên cứu nền tảng Java kết hợp với hệ quản trị cơ sở dữ liệu Firebase (bao gồm Firebase Authentication và cơ sở dữ liệu lưu trữ Blood Info) phục vụ lưu trữ, xử lý thông tin thời gian thực.
- Nhiệm vụ 3: Xây dựng hoàn chỉnh ứng dụng di động thông tin về hiến máu cho người dùng (User) và các phân hệ quản lý cho người điều hành (Admin). Các nhóm chức năng mục tiêu bao gồm:
- Phân hệ người dùng: Đăng ký tài khoản; đăng nhập hệ thống; xem thông tin và tra cứu kết quả hiến máu cá nhân; tìm hiểu quy trình và các lưu ý khi tham gia hiến máu; quản lý và chỉnh sửa thông tin cá nhân; đăng ký tham gia hiến máu theo đợt; nhận tin nhắn nhắc nhở từ ban tổ chức; tra cứu thông tin kêu gọi hiến máu và liên hệ đơn vị tiếp nhận máu.
- Phân hệ quản trị: Theo dõi tổng quan ứng dụng; quản lý đăng tải và chỉnh sửa bài viết; quản lý việc mở và đóng các cổng đăng ký hiến máu; cập nhật danh sách và kết quả xét nghiệm máu của tình nguyện viên; gửi thông báo, tin nhắn nhắc nhở.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình quản lý hoạt động hiến máu tình nguyện và giải pháp xây dựng phần mềm ứng dụng di động Android kết hợp cơ sở dữ liệu đám mây.
- Phạm vi không gian: Triển khai áp dụng cho hoạt động hiến máu tình nguyện của sinh viên và đơn vị tổ chức tại Trường Đại học Sư phạm Kỹ thuật TP.HCM.
- Phạm vi thời gian: Đề tài được thực hiện theo tiến độ 15 tuần, từ ngày 28/09/2020 đến ngày 10/01/2021 (báo cáo và hoàn thiện vào tháng 01/2021).
Cơ sở lý thuyết và phương pháp
Đề tài thuộc loại hình kỹ thuật - phát triển phần mềm (Software Engineering), vận dụng các khung lý thuyết, công nghệ và phương pháp nghiên cứu sau:
-
Khung công nghệ và nền tảng phát triển:
- Ngôn ngữ lập trình: Java, tuân thủ mô hình lập trình hướng đối tượng (OOP).
- Nền tảng di động: Hệ điều hành Android (Android SDK).
- Nền tảng phụ trợ và cơ sở dữ liệu: Firebase do Google cung cấp, sử dụng dịch vụ xác thực người dùng (Firebase Authentication) và cơ sở dữ liệu đám mây (Firebase Realtime Database/Blood Info) để đồng bộ dữ liệu.
-
Phương pháp nghiên cứu và phát triển phần mềm:
- Phương pháp khảo sát và phân tích hiện trạng: Khảo sát thực tế 4 ứng dụng di động liên quan đến hiến máu đang hoạt động (App Hiến Máu, Hiến Máu Quảng Nam, Life Saving, S4Life) nhằm phân tích ưu điểm, nhược điểm về giao diện và chức năng, từ đó tổng hợp yêu cầu kỹ thuật cho hệ thống mới.
- Phương pháp mô hình hóa hướng đối tượng bằng UML: Sử dụng biểu đồ Use Case (Use Case Diagram) để phân định các tác nhân và chức năng; biểu đồ luồng nghiệp vụ (Workflow / Activity Flow) mô tả chi tiết quá trình luân chuyển dữ liệu; biểu đồ lớp (Class Diagram) để mô hình hóa cấu trúc dữ liệu phần mềm.
- Phương pháp thiết kế hướng xử lý và thuật toán: Xây dựng thuật toán từng bước (Step-by-step) cho từng nghiệp vụ, chuẩn hóa cấu trúc vào/ra dữ liệu thông qua các tập dữ liệu hình thức ($D_1$ đến $D_6$).
- Phương pháp kiểm thử phần mềm: Sử dụng phương pháp kiểm thử chức năng (Functional Black-box Testing) thông qua việc xây dựng kế hoạch kiểm thử, quy trình kiểm thử và bảng kịch bản kiểm thử (Test Cases) chi tiết cho từng vai trò người dùng.
-
Nguồn dữ liệu nghiên cứu:
- Dữ liệu thực tế: Thu thập qua các chuyến đi khảo sát thực tế ý kiến người dùng và hoạt động thực tiễn tại đơn vị tổ chức hiến máu trong Trường Đại học Sư phạm Kỹ thuật TP.HCM.
- Dữ liệu tham khảo kỹ thuật: Tài liệu chính thức về lập trình Android Java và tài liệu kỹ thuật của Firebase.
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình hướng đối tượng kết nối với dịch vụ đám mây thời gian thực, gồm các thành phần:
-
Phân định tác nhân (Actors):
- Khách vãng lai (Guest): Người chưa có tài khoản, có quyền đăng ký và đăng nhập hệ thống.
- Tình nguyện viên (User): Sinh viên đã đăng nhập, có quyền quản lý hồ sơ, đăng ký hiến máu, xem kết quả, tra cứu điều kiện - quy trình y tế, đọc bài viết và liên hệ đơn vị nhận máu.
- Quản trị viên (Admin): Ban tổ chức, có quyền quản lý bài đăng, mở/đóng đợt hiến máu, cập nhật danh sách, ghi nhận kết quả hiến máu và gửi tin nhắn nhắc nhở.
-
Cấu trúc cơ sở dữ liệu và mô hình lớp (Model Classes):
Dữ liệu được lưu trữ và đồng bộ hóa qua Firebase, bao gồm các thực thể chính:
Model User: Đại diện cho người dùng với các thuộc tính lưu trữ thông tin cá nhân (họ tên, ngày sinh, mã số sinh viên, ngành học, nhóm máu, email, ngày hiến máu gần nhất...) và các phương thức truy xuất, cập nhật dữ liệu.
Model Admin: Quản lý định danh và thông tin xác thực của tài khoản điều hành.
Model Post: Lưu trữ thông tin bài viết truyền thông hoặc bài kêu gọi hiến máu khẩn cấp (tiêu đề, nội dung, ngày đăng, hình ảnh, thông tin liên hệ).
Model Account: Quản lý tài khoản đăng nhập gắn liền với cơ chế xác thực Firebase Authentication.
- Bảng
DangKy: Lưu thông tin đăng ký theo từng đợt (thông tin người hiến, ngày hiến, ca hiến).
-
Quy trình xử lý luồng dữ liệu nghiệp vụ:
Tác giả chuẩn hóa chu trình xử lý của các chức năng bằng luồng dữ liệu từ $D_1$ đến $D_6$:
- $D_1$: Dữ liệu đầu vào do tác nhân nhập từ giao diện (thông tin đăng nhập, hồ sơ cá nhân, ngày/ca đăng ký hiến máu, nội dung bài viết).
- $D_3, D_4$: Dữ liệu truy vấn từ cơ sở dữ liệu Firebase hoặc lưu trữ/cập nhật xuống các bảng dữ liệu tương ứng.
- $D_6$: Biểu mẫu phản hồi hoặc thông báo trạng thái kết quả hiển thị ngược lại cho người dùng trên màn hình.
-
Chiến lược kiểm thử:
Quá trình kiểm thử được lập kế hoạch và phân tách theo ma trận kiểm thử từng chức năng cụ thể: kiểm thử bộ nghiệp vụ của Guest (đăng ký, đăng nhập), kiểm thử bộ nghiệp vụ của User (xem/sửa hồ sơ, đăng ký hiến máu, xem bài viết, đổi mật khẩu...) và kiểm thử bộ nghiệp vụ của Admin (đóng/mở đợt hiến máu, duyệt danh sách, cập nhật kết quả, đăng bài).
Nội dung chính theo từng chương
Chương 1: Khảo sát hiện trạng
Chương 1 trình bày kết quả khảo sát thực tế 4 ứng dụng di động phục vụ công tác hiến máu và quản lý sức khỏe cộng đồng nhằm tìm hiểu tính năng và hạn chế của các giải pháp hiện hành.
| Tên ứng dụng |
Ưu điểm chính |
Nhược điểm được ghi nhận |
| App Hiến Máu |
Giao diện đẹp, dễ sử dụng; hỗ trợ đặt lịch hiến máu tại nhiều cơ sở, đọc bài báo sức khỏe, nhận ưu đãi, tham gia hội nhóm. |
Hình ảnh trong bài viết tải chậm; đòi hỏi người dùng phải tương tác nhiều mới mở được các chức năng nâng cao. |
| Hiến Máu Quảng Nam |
Giao diện tiện ích; hiển thị danh sách tình nguyện viên; cho phép đăng ký thành viên, tra cứu theo nhóm máu và địa điểm. |
Số lượng chức năng còn ít; chưa xây dựng phân hệ quản lý tài khoản riêng biệt cho từng cá nhân. |
| Life Saving |
Giao diện dễ nhìn; tập trung vào tính nhân văn với các hoạt động hiến máu và quyên góp xã hội. |
Giao diện chưa thu hút, chữ khá nhỏ; chức năng đăng nhập qua Facebook còn phát sinh lỗi; công cụ tìm kiếm khó thao tác. |
| S4Life |
Giao diện thân thiện; liên tục cập nhật địa điểm hiến máu; tích hợp đo nhịp tim, bài tập thể dục và kênh hỏi đáp bác sĩ. |
Tính năng bản đồ định vị còn bị lỗi; các chỉ số kiểm tra sức khỏe tự động chưa đạt độ chuẩn xác cao. |
Dựa trên kết quả khảo sát, tác giả tổng hợp bộ yêu cầu sản phẩm gồm: giao diện đơn giản, bố trí hợp lý; các tính năng nghiệp vụ cốt lõi: đăng ký/đăng nhập, xem hồ sơ và kết quả cá nhân, hướng dẫn quy trình - điều kiện, quản lý đăng ký đợt hiến máu, mở/đóng đợt, cập nhật danh sách và kết quả, gửi tin nhắn thông báo.
Chương 2: Mô hình hóa yêu cầu và thiết kế cơ sở dữ liệu
Chương này tập trung đặc tả chi tiết các tác nhân, quy định nghiệp vụ, biểu mẫu và thuật toán xử lý dữ liệu của hệ thống:
- Hệ thống phân chia thành 3 tác nhân với danh mục nghiệp vụ và quy định tương ứng:
- Tác nhân Guest: 2 nghiệp vụ (
Dangky - quy định QD_dangky, Dangnhap - quy định QD_dangnhap).
- Tác nhân User: 9 nghiệp vụ gồm xem thông tin cá nhân (
QD_Xemthongtin), sửa thông tin cá nhân (QD_Suathongtin), đổi mật khẩu (QD_Doimatkhau), đăng ký hiến máu (QD_Dangkyhienmau), xem bài viết (QD_Xembaiviet), xem quy trình hiến máu (QD_Xemquytrinhhienmau), xem điều kiện hiến máu (QD_Xemdieukienhienmau), đăng xuất (QD_Dangxuat) và liên hệ đơn vị cần máu (QD_Lienhedonvicanmau).
- Tác nhân Admin: 9 nghiệp vụ gồm đăng nhập (
QD_Dangnhap), mở đăng ký hiến máu (QD_Modangkyhienmau), đóng đăng ký hiến máu (QD_Dongdangkyhienmau), đổi mật khẩu (QD_Doimatkhau), gửi tin nhắn nhắc nhở (QD_Guitinnhan), cập nhật kết quả (QD_Capnhatketqua), cập nhật danh sách (QD_Capnhatdanhsach), đăng bài viết (QD_Dangbaiviet) và chỉnh sửa bài viết (QD_Chinhsuabaiviet).
- Mô hình hóa luồng dữ liệu và thuật toán: Văn bản thiết lập 20 sơ đồ luồng nghiệp vụ chi tiết kèm thuật toán từng bước. Điển hình như quy trình đăng ký hiến máu: tiếp nhận thông tin cá nhân, ngày và ca hiến ($D_1$); kết nối cơ sở dữ liệu; đối soát dữ liệu trong bảng
User và bảng DangKy; ghi nhận lượt đăng ký ($D_3, D_4$); phản hồi thông báo đăng ký thành công qua biểu mẫu $D_6$.
Chương 3: Thiết kế giao diện và xử lý
Chương 3 mô tả thiết kế màn hình giao diện người dùng và cơ chế liên kết sự kiện xử lý (Event Handling):
- Phân hệ Guest: Thiết kế màn hình đăng nhập và màn hình đăng ký tài khoản mới kèm các ràng buộc xác thực dữ liệu đầu vào.
- Phân hệ User:
- Màn hình trang chủ: Hiển thị các bài viết thông báo mới nhất và thanh điều hướng chính.
- Màn hình thông tin và chỉnh sửa hồ sơ: Hiển thị các trường thông tin cá nhân, tiền sử hiến máu và cho phép cập nhật sai sót.
- Màn hình đăng ký hiến máu: Cung cấp biểu mẫu lựa chọn ngày hiến, ca hiến phù hợp với các đợt vận động đang mở.
- Màn hình quy trình và điều kiện hiến máu: Hiển thị nội dung hướng dẫn chuẩn y tế, các tiêu chí sức khỏe cần đáp ứng.
- Màn hình đổi mật khẩu và màn hình thanh điều hướng (Navigation Drawer).
- Phân hệ Admin:
- Màn hình quản lý tổng quan và quản lý bài đăng: Cung cấp công cụ soạn thảo, đăng tải và chỉnh sửa nội dung bài viết.
- Màn hình quản lý đăng ký: Giao diện theo dõi danh sách tình nguyện viên, chức năng kích hoạt mở/đóng đợt đăng ký và gửi tin nhắn nhắc nhở.
Chương 4: Lập trình
Nội dung chương 4 trình bày việc hiện thực hóa phần mềm trên môi trường kỹ thuật:
- Cài đặt môi trường phát triển ứng dụng Android sử dụng ngôn ngữ Java.
- Cấu hình và tích hợp thư viện Firebase: Thiết lập dịch vụ xác thực Firebase Authentication và kết nối cơ sở dữ liệu đám mây Realtime Database lưu trữ các nhánh dữ liệu của hệ thống.
- Cấu trúc sơ đồ lớp và chi tiết mã nguồn các lớp thực thể: Khai báo đầy đủ các thuộc tính và phương thức nghiệp vụ của
Model User, Model Admin, Model Post và Model Account, đảm bảo tính đóng gói dữ liệu và hỗ trợ ánh xạ dữ liệu trực tiếp từ các đối tượng JSON trên Firebase.
Chương 5: Kiểm thử phần mềm
Chương 5 trình bày kế hoạch, quy trình và kết quả kiểm thử chức năng của ứng dụng:
- Xây dựng kế hoạch và quy trình kiểm thử từ khâu chuẩn bị dữ liệu thử nghiệm, xác định điều kiện tiên quyết đến việc chạy kịch bản thực tế.
- Lập bảng ca kiểm thử (Test Cases) chi tiết cho từng nhóm tác nhân:
- Kiểm thử phân hệ Guest: Kiểm tra chức năng đăng ký (trường hợp hợp lệ, thiếu thông tin, trùng lặp email) và đăng nhập (đúng mật khẩu, sai mật khẩu, tài khoản không tồn tại).
- Kiểm thử phân hệ User: Kiểm tra các ca xem/sửa hồ sơ, gửi phiếu đăng ký hiến máu theo ngày/ca, tra cứu thông tin y tế, đổi mật khẩu và đăng xuất.
- Kiểm thử phân hệ Admin: Kiểm tra các ca mở/đóng cổng đăng ký, biên tập bài viết, cập nhật kết quả hiến máu và gửi tin nhắn thông báo.
Kết quả và đóng góp
-
Kết quả kỹ thuật đạt được:
- Xây dựng thành công ứng dụng di động hoạt động trên hệ điều hành Android bằng ngôn ngữ Java, tích hợp hệ quản trị cơ sở dữ liệu thời gian thực Firebase.
- Hoàn thành đầy đủ 15 tuần làm việc theo kế hoạch đề cương khóa luận (từ 28/09/2020 đến 11/01/2021).
- Thiết kế và triển khai trọn vẹn 20 chức năng nghiệp vụ, bao gồm 2 chức năng cho Guest, 9 chức năng cho User và 9 chức năng cho Admin.
- Xây dựng hoàn chỉnh giao diện người dùng tương ứng với từng chức năng, kèm theo các bộ xử lý dữ liệu và sơ đồ lớp đối tượng chuẩn hóa.
-
Giải pháp thực tiễn đề xuất:
- Cơ chế đăng ký hiến máu trực tuyến: Cho phép sinh viên chủ động chọn ngày và khung giờ (ca hiến) phù hợp, hạn chế tình trạng tập trung quá đông vào cùng một thời điểm.
- Cơ chế quản lý linh hoạt cho đơn vị tổ chức: Cung cấp tính năng chủ động mở hoặc đóng đăng ký khi đã tiếp nhận đủ số lượng tình nguyện viên theo kế hoạch.
- Kênh thông tin y tế và nhắc nhở: Tích hợp sẵn điều kiện, quy trình hiến máu và hệ thống tin nhắn nhắc nhở lịch hẹn, dặn dò sức khỏe trước khi lấy máu.
-
Đóng góp so với các nghiên cứu và ứng dụng trước:
- So với các ứng dụng đã khảo sát tại Chương 1 (như app "Hiến Máu Quảng Nam" thiếu tài khoản cá nhân, hay "Life Saving" bị lỗi đăng nhập qua mạng xã hội), ứng dụng của đề tài đã tích hợp hệ thống tài khoản cá nhân độc lập thông qua Firebase Authentication, bảo đảm tính toàn vẹn và bảo mật dữ liệu.
- Cung cấp kênh tra cứu kết quả hiến máu trực tiếp cho từng cá nhân, giải quyết điểm nghẽn tồn đọng trong công tác quản lý giấy tờ thủ công tại trường.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài (được ghi nhận trong báo cáo):
- Hệ thống giao diện quản lý dành cho quản trị viên (Admin) còn được tích hợp trực tiếp trên ứng dụng di động, chưa phát triển thành một hệ thống trang web quản trị chuyên biệt (Dashboard Web) hoàn chỉnh để tối ưu hóa việc nhập liệu và theo dõi báo cáo trên màn hình lớn.
- Khả năng xử lý khi số lượng dữ liệu người dùng tăng đột biến chưa được kiểm nghiệm qua các bài kiểm thử tải hoặc kiểm thử hiệu năng diện rộng.
- Các tính năng hỗ trợ tiện ích mở rộng (như bản đồ chỉ đường, định vị trạm hiến máu gần nhất) chưa được tích hợp vào ứng dụng.
Hướng nghiên cứu và phát triển tiếp:
- Hoàn thiện cổng thông tin quản trị trên nền tảng Website dành riêng cho Admin để nâng cao hiệu suất quản lý dữ liệu, xuất báo cáo và thống kê lượt đăng ký.
- Nghiên cứu tích hợp các hàm API bản đồ (Google Maps API) hỗ trợ định vị cơ sở y tế và chỉ đường cho người đi hiến máu.
- Mở rộng phạm vi ứng dụng ra ngoài khuôn viên Trường Đại học Sư phạm Kỹ thuật TP.HCM, kết nối dữ liệu liên thông với các bệnh viện và ngân hàng máu lớn trên địa bàn thành phố.
Giá trị tham khảo
Đề tài là tài liệu kỹ thuật có giá trị tham khảo hữu ích cho:
- Sinh viên chuyên ngành Công nghệ thông tin và Công nghệ phần mềm đang thực hiện đồ án tốt nghiệp hoặc tiểu luận môn học về phát triển ứng dụng di động Android thuần Java.
- Người nghiên cứu đang tìm kiếm giải pháp mẫu về việc tích hợp cơ sở dữ liệu đám mây Firebase (Authentication và Realtime Database) vào ứng dụng di động hướng đối tượng.
- Các lập trình viên hoặc nhóm phát triển dự án công nghệ y tế cộng đồng, quản lý công tác tình nguyện sinh viên tại các trường đại học.
Các phần có giá trị tham khảo chuyên môn cao trong tài liệu:
- Toàn bộ nội dung Chương 2 với hệ thống danh mục nghiệp vụ, quy định mã hóa chuẩn (
QD_, BM_) và 20 sơ đồ luồng dữ liệu chuẩn hóa từ $D_1$ đến $D_6$ kèm thuật toán chi tiết từng bước.
- Cấu trúc sơ đồ lớp và bảng mô tả chi tiết thuộc tính, phương thức của các lớp thực thể (
Model User, Model Admin, Model Post, Model Account) tại Chương 4.
- Kịch bản và bảng ca kiểm thử chức năng phân tách theo từng vai trò tác nhân tại Chương 5.
Câu hỏi thường gặp
1. Khóa luận đã tiến hành khảo sát những ứng dụng hiến máu nào trước khi xây dựng sản phẩm?
Tác giả đã khảo sát thực tế 4 ứng dụng di động gồm: App Hiến Máu, Hiến Máu Quảng Nam, Life Saving và S4Life. Qua đó, tác giả chỉ ra các ưu điểm về tính nhân văn, đặt lịch và tra cứu, đồng thời nhận diện các hạn chế như lỗi đăng nhập Facebook, tải ảnh chậm, lỗi bản đồ và thiếu phân hệ tài khoản cá nhân riêng biệt để làm cơ sở xây dựng ứng dụng mới.
2. Hệ thống phân chia người dùng thành những tác nhân nào và có bao nhiêu nghiệp vụ chính?
Hệ thống xác định 3 tác nhân chính: Khách vãng lai (Guest) với 2 nghiệp vụ; Tình nguyện viên (User) với 9 nghiệp vụ (quản lý thông tin, đăng ký hiến máu, xem kết quả, đọc bài viết, xem điều kiện/quy trình, liên hệ); và Quản trị viên (Admin) với 9 nghiệp vụ (quản lý bài viết, đóng/mở đợt đăng ký, gửi tin nhắn, cập nhật kết quả và danh sách). Tổng cộng hệ thống có 20 nghiệp vụ được mô hình hóa.
3. Công nghệ nào được tác giả lựa chọn để xác thực người dùng và lưu trữ dữ liệu?
Tác giả sử dụng ngôn ngữ lập trình Java trên nền tảng Android, kết hợp với nền tảng Firebase của Google. Trong đó, dịch vụ Firebase Authentication đảm nhận chức năng đăng ký, đăng nhập và xác thực tài khoản; hệ quản trị cơ sở dữ liệu Firebase Realtime Database (Blood Info) được dùng để lưu trữ và đồng bộ hóa các bảng dữ liệu User, Admin, Post, Account và DangKy.
4. Quy trình đăng ký hiến máu của người dùng (User) trên ứng dụng được xử lý như thế nào?
Người dùng nhập thông tin cá nhân, chọn ngày hiến và ca hiến mong muốn ($D_1$). Hệ thống mở kết nối tới cơ sở dữ liệu Firebase, tiến hành kiểm tra và đối soát tính hợp lệ của thông tin trong bảng User và bảng DangKy. Nếu thông tin hợp lệ, dữ liệu đăng ký sẽ được lưu trữ xuống cơ sở dữ liệu ($D_4$) và ứng dụng phản hồi thông báo kết quả đăng ký thành công lên màn hình ($D_6$).
5. Quản trị viên (Admin) có những quyền hạn và chức năng cụ thể nào trong ứng dụng?
Admin được cấp quyền truy cập các chức năng quản lý đợt vận động: đăng bài viết và chỉnh sửa bài viết tuyên truyền/kêu gọi máu khẩn cấp; mở cổng đăng ký hoặc đóng cổng đăng ký khi đã đủ số lượng tình nguyện viên; gửi tin nhắn thông báo, nhắc nhở đến người tham gia; và trực tiếp cập nhật danh sách cũng như kết quả hiến máu của từng tình nguyện viên lên hệ thống.
Kết luận
Đồ án tốt nghiệp "Xây dựng ứng dụng Android thông tin về hiến máu sử dụng Java" do sinh viên Lê Văn Tấn Phát thực hiện tại Trường Đại học Sư phạm Kỹ thuật TP.HCM đã giải quyết bài toán số hóa công tác tổ chức hiến máu tình nguyện trong môi trường đại học. Ứng dụng được xây dựng hoàn chỉnh trên nền tảng Android Java kết hợp hệ quản trị cơ sở dữ liệu Firebase, cung cấp 20 chức năng nghiệp vụ phân quyền rõ ràng cho ba nhóm đối tượng Guest, User và Admin. Kết quả nghiên cứu không chỉ đáp ứng tốt yêu cầu đăng ký, tra cứu kết quả và truyền thông y tế trực tuyến cho sinh viên mà còn là tài liệu tham khảo kỹ thuật chi tiết về phân tích thiết kế hệ thống và lập trình di động thực tế.