Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển và được ứng dụng rộng rãi vào các hoạt động quản lý dân cư, công tác giám sát an ninh và quản lý khách ra vào tại các khu dân cư trở thành một yêu cầu thiết yếu. Tại các khu căn hộ cao cấp hoặc chung cư mới, hệ thống cơ sở hạ tầng thường được trang bị sẵn các thiết bị liên lạc nội bộ (intercom voice call hoặc video call), cho phép nhân viên bảo vệ hoặc ban quản lý liên lạc trực tiếp lên từng căn hộ để xác nhận khách đến thăm một cách nhanh chóng.

Ngược lại, tại các khu chung cư cũ (old apartments), việc quản lý khách ra vào vẫn phụ thuộc hoàn toàn vào các quy trình thủ công:

  • Khách đến thăm phải ghi chép thông tin cá nhân vào sổ tay giấy tại bàn bảo vệ.
  • Nhân viên bảo vệ phải tìm kiếm thông tin liên lạc và gọi điện thủ công hoặc yêu cầu chủ hộ di chuyển xuống tầng trệt để đón khách.
  • Khi cần tra cứu lại lịch sử ra vào, việc tìm kiếm trên sổ sách tốn nhiều thời gian, dễ thất lạc dữ liệu và không đảm bảo tính bảo mật.

Để giải quyết các bất cập trên, tác giả Dương Minh Thanh (Chương trình Tiên tiến ngành Hệ thống Thông tin, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM), dưới sự hướng dẫn của TS. Nguyễn Thanh Bình, đã thực hiện khóa luận tốt nghiệp với đề tài: "A mobile-based system for managing apartment guests for security" (Hệ thống quản lý khách căn hộ trên di động đảm bảo an ninh).

Tác giả chỉ ra 8 lý do chính dẫn đến sự cần thiết của hệ thống:

  1. Nâng cao hiệu quả quản lý khách và thắt chặt an ninh tại các chung cư cũ.
  2. Tăng tính tiện lợi và năng suất làm việc nhờ tự động hóa quy trình ghi nhận và đồng bộ dữ liệu theo thời gian thực.
  3. Cung cấp ứng dụng di động thân thiện, dễ thao tác cho cả khách, nhân viên bảo vệ và quản trị viên.
  4. Tối ưu hóa chi phí đầu tư và triển khai nhờ sử dụng nền tảng đám mây Firebase.
  5. Cải thiện kênh giao tiếp và tương tác với cư dân thông qua việc tích hợp ứng dụng Zalo và Zalo Link profile.
  6. Cập nhật dữ liệu tức thời thông qua Firebase Realtime Database.
  7. Tăng cường các biện pháp an ninh như xác thực người dùng và phân quyền truy cập.
  8. Khả năng tích hợp linh hoạt vào hạ tầng hiện có của các chung cư cũ mà không đòi hỏi chi phí thay đổi cấu trúc phần cứng phức tạp.

Mục tiêu nghiên cứu và xây dựng hệ thống:

  • Xây dựng ứng dụng Android chạy trên thiết bị máy tính bảng (tablet) đặt tại quầy lễ tân/bảo vệ của các chung cư cũ chưa có hệ thống quản lý tập trung.
  • Hiển thị biểu mẫu điện tử để khách tự điền thông tin đăng ký đến thăm.
  • Hỗ trợ nhân viên bảo vệ gọi điện thoại trực tiếp hoặc mở Zalo liên hệ chủ hộ dựa trên thông tin khách đã đăng ký.
  • Cung cấp các chức năng thống kê lượng khách theo ngày, tháng, năm dưới dạng biểu đồ trực quan.
  • Quản trị thông tin căn hộ, thông tin khách ra vào, đánh giá chất lượng dịch vụ và tài khoản nhân viên.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình quản lý khách ra vào, quản lý thông tin cư dân căn hộ và cơ chế liên lạc nội bộ tại các chung cư cũ.
  • Phạm vi công nghệ: Nền tảng Android (ngôn ngữ lập trình Java, môi trường phát triển Android Studio), dịch vụ cơ sở dữ liệu Firebase Realtime Database, tích hợp liên kết Zalo Profile (https://zalo.me/84+phone) và ứng dụng quay số hệ thống.
  • Thời gian thực hiện: Từ ngày 27/02/2023 đến ngày 17/06/2023.

Cơ sở lý thuyết và phương pháp

Khóa luận áp dụng phương pháp phân tích và thiết kế hệ thống hướng đối tượng (OOAD) kết hợp với mô hình phát triển phần mềm ứng dụng di động thực tế.

Nền tảng công nghệ và khung lý thuyết

  • Ngôn ngữ lập trình Java: Ngôn ngữ hướng đối tượng được sử dụng để xây dựng toàn bộ logic xử lý giao diện, kết nối mạng và quản lý dữ liệu trên môi trường Android Studio.
  • Firebase Realtime Database: Cơ sở dữ liệu phi quan hệ (NoSQL) lưu trữ dưới dạng cây JSON, cho phép đồng bộ hóa dữ liệu thời gian thực giữa máy chủ đám mây của Google và thiết bị client, đồng thời hỗ trợ lưu trữ tạm thời khi mất kết nối mạng (offline capabilities).
  • Zalo Link Profile: Cơ chế định tuyến liên lạc thông qua URL theo định dạng số điện thoại chuẩn quốc tế (https://zalo.me/84+số_điện_thoại), cho phép nhân viên bảo vệ mở nhanh cửa sổ trò chuyện hoặc gọi thoại/video qua ứng dụng Zalo cài đặt trên cùng thiết bị.
  • Thư viện MPAndroidChart (MPChart): Thư viện hỗ trợ hiển thị dữ liệu thống kê trực quan trên nền tảng Android dưới các dạng biểu đồ thanh (Bar chart), biểu đồ tròn (Pie chart) và biểu đồ đường (Line chart).

Phương pháp phân tích và thiết kế

  • Phân tích yêu cầu chức năng và phi chức năng dựa trên khảo sát thực trạng quy trình vận hành tại các chung cư cũ.
  • Xây dựng mô hình ca sử dụng (Use Case Diagram) phân chia theo 3 tác nhân chính: Visitor, Staff và Admin.
  • Xây dựng sơ đồ tuần tự (Sequence Diagram) để mô hình hóa luồng truyền dữ liệu giữa giao diện người dùng, hệ thống ứng dụng và máy chủ cơ sở dữ liệu Firebase.
  • Thiết kế khung dây giao diện (Wireframes) cho các màn hình của khách, nhân viên và quản trị viên trước khi lập trình thực tế.

Thiết kế và triển khai

Kiến trúc tổng thể hệ thống

Hệ thống vận hành trên thiết bị máy tính bảng Android đặt tại quầy kiểm soát ra vào, kết nối trực tiếp với dịch vụ Firebase Realtime Database qua mạng Internet. Từ giao diện quản lý danh sách căn hộ, ứng dụng liên kết trực tiếp với ứng dụng gọi điện mặc định (Dialer) hoặc ứng dụng Zalo thông qua giao thức URL Intent.

[ Khách / Nhân viên / Quản trị viên ]
     [ Ứng dụng Android (Tablet) ]
     [ Firebase Realtime Database ]

Phân quyền và ca sử dụng (Actors & Use Cases)

Tác nhân (Actor) Vai trò trong hệ thống Các ca sử dụng chính
Visitor (Khách đến thăm) Người sử dụng dịch vụ tại sảnh căn hộ - Điền biểu mẫu đăng ký thăm (Register visit)
- Gửi ý kiến đóng góp (Feedback)
- Đánh giá mức độ hài lòng (Rating: angry, boring, sad, happy)
Staff (Nhân viên bảo vệ) Người quản lý vận hành trực tiếp tại quầy - Đăng nhập hệ thống (Login)
- Nhập mã PIN bảo mật để chuyển sang giao diện quản trị
- Tra cứu/làm mới danh sách khách ra vào
- Tra cứu căn hộ, gọi điện thoại hoặc gọi Zalo cho chủ hộ
- Xem và tìm kiếm phản hồi
- Xem biểu đồ thống kê lượng khách
Admin (Quản trị viên) Người quản lý toàn quyền hệ thống - Đăng nhập tài khoản quản trị
- Quản lý căn hộ (Thêm, Sửa, Xóa, Tìm kiếm, Làm mới)
- Quản lý tài khoản nhân viên (Thêm, Sửa, Xóa, Tìm kiếm)
- Quản lý danh sách khách và phản hồi
- Xem biểu đồ thống kê nâng cao

Quy trình xác thực và phân tách giao diện

Để đảm bảo an toàn thông tin khi dùng chung một thiết bị tablet tại sảnh:

  1. Màn hình chính công cộng (Home Screen): Mặc định hiển thị 3 nút chức năng dành cho khách: Đăng ký thăm, Đánh giá dịch vụ và Gửi phản hồi.
  2. Cơ chế mã PIN (PIN Code): Khi nhân viên bảo vệ muốn chuyển từ màn hình của khách sang bảng điều khiển (Dashboard), họ phải nhấn vào biểu tượng ổ khóa ở góc trên bên phải màn hình và nhập mã PIN gồm 4 chữ số. Nếu nhập đúng, hệ thống mới mở quyền truy cập danh sách căn hộ và thông tin khách.

Thiết kế cơ sở dữ liệu trên Firebase Realtime Database

Hệ thống tổ chức dữ liệu dưới dạng NoSQL phân cấp với 5 nút (nodes) chính:

Tên cấu trúc dữ liệu Thuộc tính lưu trữ Mục đích sử dụng
Admin Admin Name, Password Lưu thông tin xác thực tài khoản quản trị viên.
Accounts Acc id, Name, Password, Pin code, Username Lưu danh sách tài khoản nhân viên, mật khẩu đăng nhập và mã PIN bảo mật 4 số.
Apartments Apartment id, Owner name, Owner phone, Room ID Quản lý mã căn hộ, họ tên chủ sở hữu và số điện thoại liên lạc.
Visitors Date, ID card, Name, Room ID, Visit time Lưu lịch sử đăng ký của khách gồm họ tên, CMND/CCCD, phòng cần đến, giờ và ngày đến.
Feedbacks Name, Feedback Lưu nội dung góp ý của khách kèm tên người gửi.

Kế hoạch và tiến độ triển khai thực tế

Khoảng thời gian Nội dung công việc thực hiện
27/02/2023 – 06/03/2023 Phác thảo Wireframe, vẽ sơ đồ Use Case, sơ đồ Sequence và viết tài liệu mô tả giao diện.
06/03/2023 – 20/03/2023 Nghiên cứu lập trình Android, thiết kế giao diện người dùng (UI).
20/03/2023 – 27/03/2023 Cấu hình kết nối ứng dụng với Firebase, khởi tạo cấu trúc dữ liệu mẫu trên Firebase Console.
27/03/2023 – 03/04/2023 Lập trình màn hình đăng nhập (Login) và màn hình chính (Home Screen).
03/04/2023 – 10/04/2023 Lập trình các màn hình Dashboard quản trị.
10/04/2023 – 24/04/2023 Xây dựng các màn hình danh sách, chức năng Thêm/Sửa/Xóa/Tìm kiếm/Làm mới dữ liệu.
24/04/2023 – 01/05/2023 Tái thiết kế UI lần 2, tích hợp màn hình nhập mã PIN, bổ sung hiệu ứng tải trang (loading/load more) khi cuộn danh sách.
01/05/2023 – 08/05/2023 Viết báo cáo khóa luận, sửa các lỗi phát sinh.
08/05/2023 – 15/05/2023 Cập nhật thành phần chọn ngày (Pick date), nghiên cứu phương thức gọi Zalo qua URL scheme.
15/05/2023 – 22/05/2023 Hoàn thiện UI lần 3, sửa lỗi hiển thị ngày, nghiên cứu tích hợp thư viện biểu đồ MPChart.
22/05/2023 – 29/05/2023 Tích hợp biểu đồ thống kê vào ứng dụng, sửa dứt điểm các lỗi logic.
29/05/2023 – 06/06/2023 Hoàn thiện toàn bộ ứng dụng và đóng gói báo cáo tốt nghiệp.

Nội dung chính theo từng chương

Chapter 1: Problem Statement

Chương này phân tích sự phát triển của công nghệ thông tin trong quản lý đời sống đô thị, đồng thời chỉ ra sự tương phản rõ nét giữa các tòa chung cư cao tầng hiện đại và các khu chung cư cũ. Trong khi chung cư mới sở hữu hệ thống liên lạc thông minh tích hợp sẵn, chung cư cũ gặp nhiều rào cản do việc ghi chép sổ sách thủ công gây mất thời gian và thiếu an toàn. Tác giả nêu bật lý do lựa chọn đề tài, xác định mục tiêu xây dựng ứng dụng di động chi phí thấp trên nền tảng Firebase và Zalo, đồng thời thiết lập phạm vi nghiên cứu và kế hoạch triển khai từng tuần.

Chapter 2: Background Knowledge and Frameworks

Chương hai cung cấp tổng quan lý thuyết về các công nghệ cốt lõi:

  • Phân tích các thành phần của nền tảng Google Firebase (Realtime Database, Firestore, Authentication, Cloud Functions, Cloud Storage).
  • So sánh sự khác biệt giữa cơ sở dữ liệu phi quan hệ NoSQL của Firebase với các hệ quản trị cơ sở dữ liệu quan hệ truyền thống (SQL), lý giải quyết định chọn NoSQL dạng JSON cho ứng dụng di động cần phản hồi thời gian thực.
  • Kiến thức nền tảng về ngôn ngữ Java trong phát triển Android, đồng thời so sánh ngắn gọn Java với các ngôn ngữ khác như Kotlin, C++, C# và Swift.
  • Giới thiệu ứng dụng OTT Zalo và nguyên lý hoạt động của đường dẫn liên kết hồ sơ Zalo Link (zalo.me).

Chapter 3: Analysis and Design

Chương ba tập trung vào mô hình hóa toàn bộ hệ thống phần mềm:

  • Sơ đồ kiến trúc kết nối giữa ứng dụng máy tính bảng, Firebase Realtime Database, trình gọi điện mặc định và Zalo.
  • Phân tích luồng hoạt động (Workflow) chi tiết của từng tác nhân: luồng đăng ký/đánh giá của khách, luồng bảo vệ truy cập qua mã PIN, luồng quản trị viên đăng nhập Dashboard.
  • Hệ thống sơ đồ Use Case cho từng nhóm người dùng và bảng giải nghĩa chi tiết các ca sử dụng.
  • Tập hợp 11 sơ đồ tuần tự (Sequence Diagram) mô tả chi tiết các tác vụ: đăng ký thông tin, gửi phản hồi, đánh giá sao, tra cứu danh sách khách, tìm kiếm/thêm/sửa/xóa căn hộ, quản lý tài khoản và trích xuất dữ liệu biểu đồ.
  • Thiết kế Wireframe trực quan cho tất cả các màn hình chức năng.
  • Thiết kế cơ sở dữ liệu thời gian thực trên Firebase Console với 5 thực thể chính.

Chapter 4: Implementation

Chương bốn ghi nhận quá trình hiện thực hóa các bản thiết kế thành ứng dụng thực tế trên Android Studio:

  • Cài đặt giao diện người dùng chính thức, cấu hình mã nguồn Java để đồng bộ hóa với Firebase.
  • Lập trình chức năng bảo mật phân tách quyền thông qua mã PIN 4 số.
  • Hiện thực hóa chức năng liên kết cuộc gọi: từ danh sách căn hộ, bảo vệ có thể bấm gọi trực tiếp qua SIM hoặc tự động chuyển hướng sang ứng dụng Zalo với số điện thoại đã lưu.
  • Tích hợp các biểu đồ phân tích (Bar chart, Pie chart, Line chart) từ dữ liệu thời gian thực thông qua thư viện MPChart.
  • Tối ưu hóa trải nghiệm người dùng với các tính năng cuộn tải dữ liệu (pagination/load more), bộ chọn ngày (Date Picker) và xử lý ngoại lệ nhập liệu.

Chapter 5: Conclusion and Future Vision

Chương tổng kết đánh giá mức độ hoàn thành các mục tiêu ban đầu của đồ án, khẳng định tính khả thi của giải pháp ứng dụng tablet thay thế sổ ghi chép tại các chung cư cũ, đồng thời đề xuất các định hướng phát triển trong tương lai.


Kết quả và đóng góp

Kết quả đạt được

  • Hoàn thiện ứng dụng Android trên Tablet: Xây dựng thành công ứng dụng di động bằng Java đáp ứng đầy đủ các chức năng đăng ký khách, liên lạc chủ hộ và quản lý dữ liệu tập trung.
  • Tự động hóa kênh liên lạc: Cho phép nhân viên bảo vệ kết nối với chủ hộ nhanh chóng qua số điện thoại hoặc ứng dụng Zalo thông qua cơ chế Zalo Link profile mà không cần tìm kiếm danh bạ thủ công.
  • Trực quan hóa dữ liệu thống kê: Tích hợp thành công thư viện MPChart để hiển thị báo cáo lượng khách theo chu kỳ thời gian dưới 3 dạng biểu đồ (Bar chart, Pie chart, Line chart).
  • Cơ chế bảo vệ dữ liệu hai lớp: Tách biệt giao diện sử dụng của khách bên ngoài và bảng điều khiển quản trị nội bộ thông qua mã khóa PIN 4 chữ số.

Đóng góp thực tiễn của đề tài

  • Đưa ra một giải pháp công nghệ có chi phí triển khai thấp, không yêu cầu đầu tư đắt đỏ vào hệ thống dây dẫn hoặc phần cứng liên lạc nội bộ chuyên dụng.
  • Cung cấp tài liệu thiết kế hệ thống hoàn chỉnh từ Use Case, Sequence Diagram, Wireframe đến mô hình dữ liệu NoSQL, phục vụ trực tiếp cho việc số hóa quản lý tại các khu chung cư cũ.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận từ tài liệu

  • Cấu hình bảo mật cơ sở dữ liệu: Tại thời điểm chụp màn hình triển khai trên Firebase Console, hệ thống quy tắc bảo mật (Security Rules) vẫn đang ở chế độ công khai (public), xuất hiện cảnh báo rủi ro về việc dữ liệu có thể bị truy cập hoặc chỉnh sửa nếu không thiết lập phân quyền chặt chẽ trên môi trường sản phẩm thực tế.
  • Phụ thuộc vào ứng dụng bên thứ ba: Tính năng gọi điện và nhắn tin phụ thuộc vào việc thiết bị đã cài đặt sẵn ứng dụng Zalo và tình trạng đăng ký tài khoản Zalo của chủ hộ theo số điện thoại đã cung cấp.

Hướng phát triển trong tương lai

  • Thiết lập và thắt chặt các quy tắc bảo mật (Firebase Security Rules) để bảo vệ toàn vẹn dữ liệu người dùng.
  • Mở rộng thêm các tính năng tự động hóa và nâng cao trải nghiệm quản lý căn hộ trong tầm nhìn phát triển dài hạn của hệ thống.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên các ngành Công nghệ Thông tin, Hệ thống Thông tin và Kỹ thuật Phần mềm:

  • Tham khảo mô hình phân tích thiết kế: Cung cấp tài liệu mẫu mực về sơ đồ Use Case, sơ đồ Sequence chi tiết cho từng tác vụ CRUD, cùng bản vẽ Wireframe hoàn chỉnh.
  • Tham khảo kỹ thuật lập trình Android - Firebase: Hướng dẫn cách tích hợp ứng dụng Android Java với Firebase Realtime Database, xử lý cơ chế tải phân trang (Load more), tích hợp thư viện biểu đồ MPChart và kỹ thuật liên kết ngoài với ứng dụng Zalo.
  • Ứng dụng thực tiễn: Làm cơ sở triển khai các giải pháp chuyển đổi số giá rẻ cho ban quản trị các khu dân cư cũ hoặc các cơ sở kinh doanh dịch vụ vừa và nhỏ.

Câu hỏi thường gặp

1. Khách đến thăm thực hiện những thao tác nào trên ứng dụng máy tính bảng?

Khách thao tác trực tiếp trên màn hình chính của tablet để: (1) Điền biểu mẫu đăng ký gồm Họ tên, Số CMND/CCCD, Thời gian đến và Số phòng căn hộ; (2) Gửi ý kiến đóng góp dạng văn bản; (3) Đánh giá chất lượng dịch vụ theo 4 mức độ cảm xúc (angry, boring, sad, happy) hoặc thang điểm sao.

2. Làm thế nào để ngăn khách tự ý truy cập vào dữ liệu quản trị trên tablet?

Hệ thống sử dụng cơ chế bảo mật mã PIN. Sau khi đăng nhập, ứng dụng hiển thị giao diện dành cho khách. Khi nhân viên muốn chuyển sang bảng điều khiển (Dashboard), họ phải nhấn vào biểu tượng ổ khóa và nhập đúng mã PIN gồm 4 chữ số.

3. Nhân viên bảo vệ liên hệ với chủ căn hộ qua phương thức nào trên ứng dụng?

Tại màn hình danh sách căn hộ, nhân viên có thể bấm nút gọi điện trực tiếp qua trình quay số hệ thống (Dial Pad) hoặc bấm biểu tượng Zalo để mở hồ sơ Zalo của chủ hộ thông qua đường dẫn liên kết được sinh tự động theo cú pháp: https://zalo.me/84+số_điện_thoại.

4. Cơ sở dữ liệu của hệ thống được tổ chức như thế nào trên Firebase?

Dữ liệu được lưu trữ trên Firebase Realtime Database dưới định dạng NoSQL JSON gồm 5 nút chính: Admin (thông tin quản trị), Accounts (tài khoản và mã PIN của nhân viên), Apartments (thông tin căn hộ và số điện thoại chủ hộ), Visitors (danh sách khách đăng ký) và Feedbacks (ý kiến phản hồi của khách).

5. Ứng dụng hỗ trợ những dạng biểu đồ thống kê nào?

Thông qua thư viện MPChart trên Android, hệ thống cung cấp 3 loại biểu đồ thống kê lượng khách ra vào theo chu kỳ thời gian: Biểu đồ thanh (Bar chart), Biểu đồ tròn (Pie chart) và Biểu đồ đường (Line chart).


Kết luận

Khóa luận tốt nghiệp của tác giả Dương Minh Thanh đã giải quyết bài toán quản lý khách ra vào tại các khu chung cư cũ thông qua ứng dụng di động trên nền tảng Android và Firebase Realtime Database. Hệ thống vừa đảm bảo tính tiện lợi cho khách thăm, vừa hỗ trợ nhân viên bảo vệ liên lạc nhanh chóng với cư dân qua điện thoại hoặc Zalo, đồng thời cung cấp công cụ quản trị dữ liệu và thống kê trực quan. Đây là một giải pháp ứng dụng công nghệ thông tin có tính thực tiễn cao, chi phí thấp và dễ dàng triển khai vào thực tế quản lý dân cư đô thị.