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

Trong bối cảnh đô thị hóa nhanh và tốc độ tăng trưởng dân số tại các đô thị lớn ở Việt Nam, nhu cầu về nhà ở tăng cao dẫn đến sự phát triển mạnh mẽ của mô hình khu căn hộ chung cư. So với bất động sản mặt đất vốn đòi hỏi chi phí đầu tư rất lớn vượt quá khả năng tài chính của đại bộ phận người lao động, căn hộ chung cư trở thành lựa chọn an cư phổ biến. Tuy nhiên, sự gia tăng nhanh chóng về mật độ cư dân đặt ra áp lực lớn cho công tác quản trị vận hành của các Ban quản lý (BQL) tòa nhà.

Qua khảo sát thực tế của tác giả, phần lớn các khu dân cư hiện nay đều thành lập các bộ phận chuyên trách quản lý, song phương thức vận hành vẫn bộc lộ nhiều điểm nghẽn:

  • Tương tác hai chiều thiếu đồng bộ: Kênh liên lạc giữa cư dân và ban quản lý khi phát sinh sự cố, phản ánh hoặc yêu cầu đăng ký dịch vụ còn phân tán, thiếu cơ chế theo dõi tiến độ xử lý minh bạch.
  • Quy trình thủ công tốn nhân công: Nhiều nghiệp vụ cốt lõi như ghi nhận chỉ số công tơ điện, nước vẫn yêu cầu nhân viên đi chốt chỉ số tận nơi bằng sổ sách, sau đó chuyển giao văn bản để nhập tay vào phần mềm, dễ xảy ra sai sót và lãng phí thời gian.
  • Cấu trúc dữ liệu cồng kềnh: Một số hệ thống phần mềm trung gian hiện hành đang áp dụng mô hình phân cấp quản lý ba cấp (Block – Tầng – Căn hộ), gây phức tạp hóa quy trình truy xuất và cấu hình cơ sở dữ liệu trong khi mã căn hộ thực tế đã chứa sẵn thông tin tầng.

Từ các bất cập nêu trên, khóa luận xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể:

  1. Mục tiêu nghiên cứu: Nghiên cứu và phát triển một hệ thống thông tin quản lý khu dân cư nhằm chuẩn hóa, tối ưu hóa quy trình quản trị nội bộ của ban quản lý và thiết lập kênh kết nối tương tác trực tuyến hiệu quả giữa cư dân và đơn vị quản lý tòa nhà.
  2. Nhiệm vụ nghiên cứu:
    • Khảo sát cơ cấu tổ chức, quy trình nghiệp vụ và các hệ thống quản lý chung cư hiện có trên thị trường.
    • Thu thập và phân tích các yêu cầu chức năng, phi chức năng của hệ thống.
    • Ứng dụng ngôn ngữ mô hình hóa thống nhất (UML) để thiết kế các sơ đồ ca sử dụng, sơ đồ hoạt động, sơ đồ trình tự và sơ đồ lớp.
    • Thiết kế cơ sở dữ liệu hướng tài liệu và xây dựng kiến trúc hệ thống backend kết hợp frontend.
    • Xây dựng giao diện web cho ban quản lý và giao diện ứng dụng dành cho cư dâ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ý vận hành tòa nhà chung cư và phương thức tương tác giữa các tác nhân (ban quản lý, cư dân, hệ thống kỹ thuật).
  • Phạm vi nội dung: Khóa luận tập trung vào 4 phân hệ nghiệp vụ chính:
    1. Quản lý cơ sở hạ tầng: Quản lý danh mục dự án, block, căn hộ và bãi xe.
    2. An ninh và an toàn: Tiếp nhận phản ánh, xét duyệt hồ sơ cấp phát thẻ cư dân và thẻ xe.
    3. Tương tác cộng đồng: Hệ thống gửi nhận thông báo đa kênh, tiếp nhận và điều phối giải quyết khiếu nại, phản ánh.
    4. Quản lý tiện ích và dịch vụ: Quản lý biểu phí dịch vụ, đăng ký sử dụng tiện ích nội khu, quản lý chỉ số tiêu thụ điện/nước và xuất hóa đơn định kỳ.

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

Khóa luận thiết lập nền tảng kỹ thuật và phương pháp luận phát triển phần mềm dựa trên các tiêu chuẩn kỹ thuật phần mềm chính thống:

Khung lý thuyết và mô hình kỹ thuật

  • Mô hình quy trình phần mềm Waterfall (Mô hình thác nước): Được Winston Royce đề xuất từ cuối thập niên 1970, quy trình phát triển được triển khai tuần tự qua các giai đoạn độc lập: Xác định yêu cầu $\rightarrow$ Phân tích hệ thống $\rightarrow$ Thiết kế kiến trúc $\rightarrow$ Lập trình $\rightarrow$ Kiểm thử $\rightarrow$ Triển khai $\rightarrow$ Bảo trì. Mô hình này được tác giả lựa chọn nhờ tính rõ ràng, cấu trúc chặt chẽ và khả năng kiểm soát tài liệu hóa chi tiết ở từng giai đoạn.
  • Ngôn ngữ mô hình hóa thống nhất (UML - Unified Modeling Language): Tác giả sử dụng tập hợp các công cụ trực quan hóa hướng đối tượng gồm:
    • Sơ đồ ca sử dụng (Use Case Diagram): Xác định ranh giới hệ thống, tác nhân và hành vi tương tác.
    • Sơ đồ hoạt động (Activity Diagram): Mô hình hóa luồng xử lý logic nghiệp vụ của các chức năng dữ liệu, yêu cầu, thông báo, hóa đơn, thẻ xe.
    • Sơ đồ trình tự (Sequence Diagram): Biểu diễn chuỗi thông điệp trao đổi giữa các đối tượng theo trục thời gian cho các chức năng quản lý dự án, căn hộ, cư dân, bãi xe.
    • Sơ đồ lớp (Class Diagram): Cấu trúc hóa các thực thể dữ liệu, thuộc tính, phương thức và mối quan hệ kết tập, phụ thuộc.

Phương pháp nghiên cứu và nguồn dữ liệu

  • Phương pháp khảo sát thực tế và phân tích so sánh: Thu thập thông tin quy trình vận hành tại các mô hình chung cư thực tế; khảo sát đối chiếu các giải pháp phần mềm hiện hành từ các khu đô thị lớn (như Vinhomes, Masterise) và các nền tảng của bên thứ ba để xác định những điểm hạn chế về tự động hóa.
  • Phương pháp mô hình hóa và thiết kế hệ thống thông tin: Chuyển đổi các yêu cầu nghiệp vụ thực tế thành tập hợp 44 ca sử dụng (use case), ánh xạ cấu trúc thực thể từ sơ đồ lớp sang lược đồ cơ sở dữ liệu NoSQL.
  • Nguồn dữ liệu: Dữ liệu khảo sát nghiệp vụ thực tế từ cấu trúc tổ chức chung cư, các mẫu định dạng hóa đơn, biên nhận, quy định quản lý thẻ cư dân, thẻ xe và cấu trúc bảng chỉ số điện nước.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế hướng tới việc phân tách rõ rệt giữa tầng giao diện người dùng, tầng xử lý nghiệp vụ trung gian và tầng dữ liệu phân tán.

Ngăn xếp công nghệ (Technology Stack)

Tầng kiến trúc Công nghệ sử dụng Vai trò và đặc tính kỹ thuật
Môi trường phát triển Visual Studio Code Trình biên tập mã nguồn mở của Microsoft, quản lý source code và tích hợp công cụ gỡ lỗi.
Giao diện (Frontend) HTML5, CSS3, JavaScript Định hình cấu trúc, kiểu dáng hiển thị và các thao tác tương tác người dùng chuẩn web.
Vue.js Framework JavaScript mã nguồn mở (Evan You, 2014) xây dựng giao diện ứng dụng đơn trang (SPA).
Hệ thống (Backend) Node.js Môi trường thực thi mã JavaScript phía máy chủ dựa trên V8 Engine của Google.
Express.js Framework web tối giản chạy trên Node.js, cung cấp hệ thống định tuyến và xây dựng RESTful API.
Hàng đợi thông điệp RabbitMQ Hệ thống phần mềm trung gian dựa trên giao thức AMQP phục vụ kiến trúc hướng sự kiện và trao đổi thông điệp bất đồng bộ.
Cơ sở dữ liệu MongoDB Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (Document model), lưu trữ dữ liệu dưới định dạng JSON-like (BSON).
Dịch vụ hỗ trợ OneSignal Dịch vụ gửi thông báo đa nền tảng (Push notification, In-app messaging, Web push).

Tối ưu hóa mô hình dữ liệu và nghiệp vụ

Hệ thống đưa ra hai cải tiến kiến trúc đáng chú ý:

  1. Tinh gọn phân cấp quản lý cấu trúc tòa nhà: Thay vì chia nhỏ theo mô hình Block $\rightarrow$ Tầng $\rightarrow$ Căn hộ, hệ thống quản trị trực tiếp theo cấp Block $\rightarrow$ Căn hộ. Mã căn hộ (ví dụ: B101) đã bao hàm ký hiệu Block (B) và số tầng (1), giúp cắt giảm bảng liên kết trung gian, đơn giản hóa các truy vấn tìm kiếm và lọc dữ liệu.
  2. Cơ chế quản lý chỉ số điện, nước bán tự động: Xây dựng tính năng Import trực tiếp tệp chỉ số điện nước thay cho việc nhập liệu từng bản ghi thủ công; tích hợp chức năng tính toán tự động các loại phí quản lý và phí trông giữ phương tiện theo cấu hình biểu phí định sẵn.

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

Chương 1. Đặt vấn đề

Chương này thiết lập bức tranh tổng thể về quá trình đô thị hóa và áp lực dân số tại các khu căn hộ chung cư ở Việt Nam. Tác giả phân tích những hạn chế cố hữu trong phương thức quản trị truyền thống tại các ban quản lý tòa nhà, bao gồm tình trạng xử lý thông tin rời rạc, thiếu kênh phản hồi tập trung và quy trình ghi chỉ số tiêu thụ năng lượng tốn nhân lực. Trên cơ sở đó, chương xác định mục tiêu tổng quát, 4 nhiệm vụ trọng tâm và phân định rõ phạm vi nghiên cứu thuộc 4 nhóm nghiệp vụ: hạ tầng, an ninh, cộng đồng và dịch vụ tiện ích.

Chương 2. Cơ sở lý thuyết

Nội dung chương tập trung giới thiệu và làm rõ cơ sở lý thuyết của các công cụ, phương pháp được ứng dụng trong đồ án:

  • Phân tích chi tiết quy trình phát triển phần mềm theo mô hình Thác nước (Waterfall) từ khâu yêu cầu đến bảo trì, đồng thời đối chiếu ngắn gọn với các mô hình linh hoạt như Agile/Scrum.
  • Trình bày hệ thống ký hiệu chuẩn của ngôn ngữ mô hình hóa UML (Use Case, Class, Sequence, Activity, State Machine).
  • Khái quát tính năng của môi trường phát triển Visual Studio Code và phân tích vai trò của từng công nghệ trong ngăn xếp: HTML5, CSS3, JavaScript, Vue.js ở phía client; Node.js, Express.js ở phía server; RabbitMQ cho hàng đợi thông điệp; MongoDB cho lưu trữ dữ liệu phi quan hệ; và nền tảng dịch vụ OneSignal cho hệ thống thông báo đẩy.

Chương 3. Phát triển hệ thống

Đây là chương trọng tâm với khối lượng phân tích và thiết kế chi tiết:

  • Khảo sát cơ cấu tổ chức và phân tích hiện trạng: Xác định sơ đồ cấu trúc của một dự án chung cư gồm Dự án $\rightarrow$ Block, Tiện ích, Bãi xe, Căn hộ, Thẻ xe, Hóa đơn, Cư dân. Chỉ rõ điểm nghẽn của các hệ thống hiện có trên thị trường trong khâu nhập chỉ số điện nước thủ công.
  • Xác định tác nhân: Phân định rõ 2 nhóm tác nhân chính tham gia hệ thống là Quản trị viên/Ban quản lý (Admin/BQL) và Người dùng/Cư dân (User).
  • Đặc tả 44 Use Case: Xây dựng danh mục và bảng đặc tả luồng sự kiện chi tiết (điều kiện trước, điều kiện sau, luồng thao tác người dùng và phản ứng hệ thống) cho toàn bộ 44 ca sử dụng, tiêu biểu như:
    • Quản lý người dùng & dự án: Đăng nhập, đăng xuất, tạo mới và cấu hình dự án, quản lý cư dân (kiểm tra CCCD/CMND/Passport liên dự án).
    • Quản lý tương tác & thông báo: Tạo và gửi thông báo đa kênh, tiếp nhận và cập nhật trạng thái yêu cầu của cư dân theo 4 nấc (Tất cả, Mới, Đang xử lý, Hoàn thành).
    • Quản lý cơ sở vật chất & thẻ: Cấu hình căn hộ, quản lý bãi xe, quy trình đăng ký và xét duyệt thẻ xe, thẻ cư dân (phân định trạng thái "Chờ duyệt" của cư dân và "Đã duyệt" của ban quản lý).
    • Quản lý tài chính & chỉ số: Quản lý biểu phí, import tệp chỉ số điện nước, tự động tính phí quản lý và phí gửi xe, tạo và gửi hóa đơn định kỳ, quản lý phiếu thu/phiếu chi.
  • Thiết kế kỹ thuật: Trình bày hệ thống sơ đồ hoạt động, sơ đồ trình tự cho từng ca sử dụng cốt lõi; xây dựng các sơ đồ lớp chi tiết và ánh xạ thành lược đồ cơ sở dữ liệu MongoDB; thiết kế chi tiết 46 màn hình giao diện (từ Hình 3.23 đến Hình 3.68) bao gồm giao diện web dành cho Ban quản lý và ứng dụng cho cư dân.

Chương 4. Kết quả và định hướng phát triển

Chương tổng kết các thành phần hệ thống đã hiện thực hóa thành công dựa trên các yêu cầu phân tích thiết kế đặt ra, đồng thời đưa ra các đề xuất định hướng phát triển tiếp theo nhằm hoàn thiện và mở rộng năng lực vận hành của phần mềm trong thực tế.


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

Kết quả kỹ thuật đạt được

  • Hiện thực hóa 44 chức năng nghiệp vụ: Hoàn thành tài liệu phân tích và xây dựng hệ thống bao phủ toàn bộ 44 ca sử dụng thuộc các phân hệ quản lý dự án, căn hộ, cư dân, bãi xe, thẻ phương tiện, tiện ích nội khu, chỉ số điện nước, hóa đơn và thông báo.
  • Xây dựng lược đồ dữ liệu NoSQL hoàn chỉnh: Mô hình hóa cơ sở dữ liệu trên MongoDB đáp ứng lưu trữ linh hoạt thông tin cư dân, căn hộ, yêu cầu hỗ trợ và các bảng ghi hóa đơn.
  • Thiết kế hệ thống giao diện hai phân hệ: Xây dựng hệ thống giao diện tương tác trực quan gồm giao diện web quản trị dành cho ban quản lý tòa nhà và giao diện ứng dụng web/di động dành cho cư dân (thể hiện qua danh mục 46 màn hình giao diện từ Hình 3.23 đến Hình 3.68).
  • Tích hợp xử lý thông báo và thông điệp: Kết nối thành công dịch vụ OneSignal để gửi cảnh báo, thông báo đa kênh và thiết lập RabbitMQ làm nền tảng truyền tải thông điệp hướng sự kiện.

Đóng góp thực tiễn so với các hệ sinh thái hiện hành

  • Khắc phục tình trạng nhập liệu thủ công: Đề xuất cơ chế import danh sách chỉ số điện, nước trực tiếp vào hệ thống và tự động tính toán tổng chi phí dựa trên biểu phí cấu hình, loại bỏ bước nhập liệu thủ công từng công tơ, giảm thiểu sai sót phát sinh.
  • Tối ưu hóa cấu trúc dữ liệu chung cư: Đơn giản hóa mô hình quan hệ phân cấp từ 3 cấp xuống 2 cấp (Block $\rightarrow$ Căn hộ), tận dụng cấu trúc mã hóa phòng sẵn có để tối ưu hiệu năng truy vấn và đơn giản hóa thao tác vận hành cho nhân viên quản lý.
  • Thiết lập cơ chế kiểm tra định danh cư dân đa dự án: Xây dựng luồng nghiệp vụ tạo cư dân dựa trên kiểm tra mã CCCD/CMND/Passport; cho phép tái sử dụng thông tin hồ sơ đã tồn tại ở dự án khác trong hệ thống để giảm thiểu thời gian nhập liệu.

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

Khóa luận đề cập một số hạn chế và định hướng phát triển dựa trên phạm vi triển khai thực tế:

  • Tích hợp cổng thanh toán trực tuyến: Hệ thống mới dừng lại ở việc tạo lập, gửi thông báo hóa đơn và ghi nhận biên nhận/phiếu chi nội bộ; cần tích hợp thêm các cổng thanh toán điện tử (VNPay, Momo, ngân hàng) để cư dân thanh toán trực tiếp trên ứng dụng.
  • Tự động hóa thu thập chỉ số thông qua IoT: Cơ chế quản lý chỉ số hiện tại dựa trên việc import tệp dữ liệu; hướng phát triển tiếp theo là kết nối với các thiết bị đo công tơ điện nước thông minh (IoT) để tự động truyền chỉ số về hệ thống thời gian thực.
  • Hoàn thiện ứng dụng di động chuyên biệt: Tiếp tục nâng cấp và đóng gói giao diện cư dân thành ứng dụng di động native/hybrid (iOS, Android) thay vì chủ yếu vận hành trên nền tảng web responsive.
  • Kiểm thử hiệu năng diện rộng: Cần thực hiện các bài kiểm thử chịu tải (load testing) và kiểm thử an toàn bảo mật ở quy mô dữ liệu lớn với nhiều tòa nhà hoạt động đồng thời.

Giá trị tham khảo

Báo cáo khóa luận mang lại giá trị tham khảo học thuật và ứng dụng thực tiễn rõ ràng:

  • Đối tượng tham khảo:
    • Sinh viên chuyên ngành Hệ thống Thông tin, Kỹ thuật Phần mềm, Công nghệ Thông tin: Đồ án là tài liệu tham khảo chi tiết về quy trình phân tích và thiết kế hệ thống thông tin theo chuẩn mô hình thác nước, từ việc khảo sát bài toán thực tế đến xây dựng sơ đồ ca sử dụng, sơ đồ trình tự và sơ đồ lớp.
    • Kỹ sư phát triển phần mềm quản lý tòa nhà (PropTech): Cung cấp góc nhìn thực tế về quy trình nghiệp vụ chung cư tại Việt Nam, đặc biệt là cách thức tổ chức dữ liệu căn hộ và xử lý các bài toán đặc thù như chốt chỉ số điện nước, biểu phí lũy tiến và quy trình duyệt thẻ.
  • Phần nội dung đáng tham khảo nhất:
    • Bảng tổng hợp và đặc tả chi tiết luồng sự kiện của 44 Use Case (Chương 3) với phân định rõ ràng giữa điều kiện tiên quyết, hành động của người dùng và phản ứng của hệ thống.
    • Cách tiếp cận thiết kế cơ sở dữ liệu hướng tài liệu MongoDB cho bài toán quản lý có tính chất phân cấp phức tạp.

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

1. Khóa luận giải quyết bất cập nào trong khâu ghi nhận chỉ số điện, nước so với các hệ thống hiện hành?
Ở các hệ thống truyền thống, nhân viên phải đi ghi chỉ số công tơ thủ công ra giấy, chuyển cho bộ phận quản lý nhập tay từng bản ghi vào phần mềm rồi mới chốt chỉ số, gây tốn thời gian và dễ nhầm lẫn. Khóa luận giải quyết vấn đề này bằng cách xây dựng tính năng import trực tiếp tệp danh sách chỉ số điện, nước vào hệ thống, sau đó hệ thống tự động đối soát với cấu hình biểu phí để tính toán chi phí quản lý và chi phí gửi xe một cách tự động.

2. Tác giả đã tối ưu hóa mô hình phân cấp quản lý căn hộ như thế nào?
Nhiều hệ thống quản lý hiện hành áp dụng mô hình phân cấp 3 tầng: Block $\rightarrow$ Tầng $\rightarrow$ Căn hộ. Tác giả nhận thấy mã căn hộ trong thực tế đã bao hàm số tầng (ví dụ: căn hộ B101 nằm tại Block B, tầng 1). Do đó, hệ thống thu gọn cấu trúc dữ liệu về cấp Block $\rightarrow$ Căn hộ, giúp giảm bớt cấu trúc bảng trung gian, tối ưu hóa các thao tác lọc, tìm kiếm và truy xuất dữ liệu.

3. Kiến trúc kỹ thuật của hệ thống sử dụng các công nghệ nào cho xử lý bất đồng bộ và thông báo?
Hệ thống sử dụng RabbitMQ làm hệ thống phần mềm trung gian dựa trên giao thức AMQP để thiết lập cơ chế trao đổi thông điệp bất đồng bộ và kiến trúc hướng sự kiện giữa các thành phần backend. Đối với việc truyền thông tin đến cư dân, hệ thống tích hợp dịch vụ OneSignal để gửi thông báo đa nền tảng (push notification, web push và tin nhắn trong ứng dụng).

4. Luồng xử lý yêu cầu cấp thẻ xe và thẻ cư dân giữa Ban quản lý và Cư dân được thiết kế ra sao?
Hệ thống thiết lập cơ chế phân quyền trạng thái rõ ràng: Khi cư dân gửi thông tin đăng ký thẻ xe hoặc thẻ cư dân từ ứng dụng, bản ghi được lưu vào cơ sở dữ liệu ở trạng thái "Chờ duyệt" và hiển thị trong danh sách chờ của Ban quản lý. Nhân viên Ban quản lý tiến hành kiểm tra hồ sơ và cập nhật trạng thái; nếu chọn "Phê duyệt", thẻ mới chính thức kích hoạt chuyển sang trạng thái "Đã duyệt" để cư dân sử dụng; nếu chọn "Từ chối" hoặc "Hủy bỏ", thẻ sẽ bị vô hiệu hóa.

5. Luồng tạo mới tài khoản cư dân xử lý trường hợp mã định danh (CCCD/CMND/Passport) đã tồn tại như thế nào?
Khi Ban quản lý nhập mã CCCD/CMND/Passport để tạo tài khoản, hệ thống sẽ kiểm tra trong cơ sở dữ liệu: nếu mã định danh đã tồn tại trong dự án hiện tại, hệ thống thông báo lỗi tài khoản đã tồn tại; nếu mã định danh đã tồn tại nhưng ở một dự án khác trong hệ thống, phần mềm sẽ tự động trích xuất thông tin hồ sơ của cư dân từ dự án đó để khởi tạo tài khoản mới tại dự án này, giúp giảm bớt thời gian nhập liệu thủ công.


Kết luận

Khóa luận tốt nghiệp của tác giả Trương Nguyên Ngọc đã giải quyết trọn vẹn bài toán xây dựng hệ thống thông tin quản lý căn hộ chung cư kết nối cư dân và ban quản lý, phù hợp với yêu cầu thực tiễn đô thị hóa tại Việt Nam. Bằng việc áp dụng nghiêm ngặt quy trình phát triển phần mềm Waterfall kết hợp các công cụ mô hình hóa chuẩn UML, tác giả đã thiết kế và đặc tả chi tiết 44 ca sử dụng, bao quát từ quản trị hạ tầng, cư dân đến tự động hóa tính toán hóa đơn dịch vụ. Giải pháp công nghệ kết hợp giữa Vue.js, Node.js, Express.js, RabbitMQ, MongoDB và OneSignal mang lại khả năng vận hành linh hoạt, đồng thời cung cấp tài liệu kỹ thuật có giá trị tham khảo cao cho sinh viên và kỹ sư phát triển phần mềm trong lĩnh vực quản lý bất động sản.