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

Trong công tác quản trị cơ sở lưu trú quy mô nhỏ, hoạt động quản lý phòng trọ truyền thống chủ yếu dựa vào hình thức ghi chép sổ sách thủ công trên giấy tờ. Khi quy mô phòng trọ mở rộng và các yêu cầu về tính chính xác, nhanh chóng, minh bạch của chủ nhà trọ ngày càng tăng, phương thức thủ công bộc lộ nhiều hạn chế như tốn kém thời gian tra cứu, dễ phát sinh sai sót trong quá trình tính toán tiền phòng, tiền dịch vụ và khó khăn trong việc lưu trữ hồ sơ người thuê. Nhằm giải quyết các bất cập trên, đề tài "Phát triển phần mềm quản lý nhà trọ bằng công nghệ .NET và SQL Server" được tác giả Nguyễn Văn Thăng thực hiện tại Khoa Công nghệ thông tin, Trường Đại học Công nghệ Đông Á (năm 2023) dưới sự hướng dẫn của ThS. Trần Nguyên Hoàng.

Mục tiêu nghiên cứu và phát triển của đề tài bao gồm hai nhiệm vụ trọng tâm:

  1. Xây dựng các chức năng cơ bản của một "Phần mềm quản lý phòng trọ".
  2. Giúp người quản lý dễ dàng kiểm soát, quản lý thông tin khách hàng thuê trọ và tối ưu hóa quy trình vận hành.

Đối tượng và phạm vi nghiên cứu được xác định cụ thể trong văn bản:

  • Đối tượng nghiên cứu: Mô hình quản lý nhà trọ gia đình.
  • Phạm vi không gian: Giới hạn trong không gian hệ thống phần mềm quản lý.
  • Ý nghĩa thực tiễn: Hỗ trợ trực tiếp cho các cá nhân, tổ chức phát triển hoạt động kinh doanh và quản lý nhà trọ thông qua việc áp dụng công nghệ thông tin vào nghiệp vụ quản lý hàng ngày.

Cơ sở lý thuyết và công nghệ phát triển

Đồ án ứng dụng mô hình phát triển phần mềm ứng dụng trên nền tảng hệ điều hành Windows với các công nghệ và công cụ cốt lõi sau:

  • Ngôn ngữ lập trình C# (.NET Framework): Ngôn ngữ lập trình hiện đại, hướng đối tượng do Microsoft phát triển từ năm 2000, kết hợp các ưu điểm của C++ và Java. Chương trình chạy trên nền tảng .NET Framework, biên dịch mã nguồn C# thành mã ngôn ngữ trung gian MSIL (Microsoft Intermediate Language). Hai thành phần nền tảng được tác giả sử dụng gồm:
    • Common Language Runtime (CLR): Quản lý bộ nhớ, thực thi mã nguồn và xử lý ngoại lệ.
    • .NET Framework Class Library (FCL): Cung cấp thư viện lớp phục vụ xây dựng giao diện người dùng đồ họa (GUI).
  • Hệ quản trị cơ sở dữ liệu Microsoft SQL Server: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng Transact-SQL để trao đổi dữ liệu. Tác giả khảo sát các ấn bản của SQL Server bao gồm Enterprise, Standard, Developer, Workgroup và Express; trong đó tập trung vào kỹ thuật kết nối C# với SQL Server (mở/đóng kết nối, tạo bảng, truy vấn, cập nhật và xóa dữ liệu).
  • Môi trường phát triển tích hợp (IDE) Microsoft Visual Studio: Công cụ hỗ trợ viết mã nguồn C#, gỡ lỗi với các tính năng như thiết lập điểm ngắt (Breakpoint), theo dõi giá trị biến trong thời gian chạy và thực thi từng dòng lệnh.
  • Thư viện giao diện DevExpress: Công cụ hỗ trợ bộ điều khiển (controls) chuyên sâu cho giao diện WinForms, tối ưu hóa thẩm mỹ giao diện và hỗ trợ liên kết dữ liệu với SQL Server.

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

Hệ thống được thiết kế phục vụ hai nhóm người dùng chính là Người quản trị (Admin) và Nhân viên, với các phân quyền chức năng rõ ràng:

Nhóm người dùng Quyền hạn và chức năng trong hệ thống
Người quản trị (Admin) - Quản lý tài khoản hệ thống (tạo mới, phân quyền, đổi mật khẩu, xóa tài khoản).
- Quản lý danh mục phòng trọ (thêm, sửa, xóa thông tin phòng).
- Quản lý thông tin khách thuê (thêm, sửa, xóa).
- Tìm kiếm và xem thông tin phòng trọ theo giá và trạng thái.
- Quản lý danh mục thiết bị trong từng phòng.
- Tính tiền, lập hóa đơn, xử lý thanh toán và tiếp nhận trả phòng.
Nhân viên - Đăng nhập hệ thống.
- Tìm kiếm và tra cứu thông tin phòng trọ.
- Quản lý thông tin khách thuê (thêm, sửa, xóa khi có khách đến hoặc dọn đi).
- Tính toán tiền phòng, lập hóa đơn thanh toán cho khách hàng.
- Tiếp nhận yêu cầu trả phòng và thực hiện thanh toán hóa đơn.

Khảo sát hiện trạng nghiệp vụ xác định các cấu trúc dữ liệu chính phục vụ lưu trữ:

  • Thông tin phòng: Mã phòng, tên phòng, đơn giá, trạng thái (trống/đã thuê).
  • Thông tin khách thuê: Mã khách, tên khách, số điện thoại, số CMND/CCCD, ngày đến.
  • Thông tin hóa đơn: Mã hóa đơn, nhân viên lập, hàng hóa dịch vụ, số điện, số nước, tổng tiền.
  • Thông tin nhân viên: Mã nhân viên, họ tên, số điện thoại, giới tính, ngày sinh.
  • Thông tin thiết bị: Mã thiết bị, tên thiết bị, trạng thái sử dụng trong phòng.

Quy trình nghiệp vụ thực tế được chuẩn hóa:

  1. Khi khách đến thuê: Kiểm tra tình trạng phòng trống $\rightarrow$ Dẫn khách xem phòng $\rightarrow$ Tiếp nhận giấy tờ CMND/thông tin cá nhân $\rightarrow$ Lập phiếu đăng ký thuê phòng, điền bản khai nhân khẩu, sổ đăng ký tạm trú tạm vắng $\rightarrow$ Cung cấp bảng giá dịch vụ và lập danh sách thiết bị bàn giao theo phòng.
  2. Khi lập hóa đơn định kỳ: Nhập mã khách hàng $\rightarrow$ Hệ thống tự động lấy giá phòng $\rightarrow$ Nhập chỉ số điện, nước tiêu thụ $\rightarrow$ Hệ thống tự động tính toán tổng tiền và xuất hóa đơn.
  3. Khi khách trả phòng: Kiểm tra dịch vụ, phụ thu (nếu có), thuế $\rightarrow$ Thực hiện thanh toán $\rightarrow$ Xóa hóa đơn thanh toán khỏi danh sách $\rightarrow$ Cập nhật trạng thái phòng về "trống" và xóa khách khỏi danh sách lưu trú.

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

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

Chương 1 trình bày lý do chọn đề tài xuất phát từ nhu cầu thực tiễn của các chủ nhà trọ gia đình trong việc loại bỏ phương pháp ghi chép sổ sách thủ công. Tác giả xác định rõ mục tiêu, đối tượng, phạm vi nghiên cứu và phân tích các yêu cầu chức năng đặt ra cho từng vai trò người dùng (Admin và Nhân viên). Đồng thời, chương này giới thiệu tổng quan về nền tảng công nghệ lựa chọn bao gồm ngôn ngữ C#, kiến trúc .NET Framework (CLR, FCL), hệ quản trị cơ sở dữ liệu Microsoft SQL Server (các phiên bản từ Express đến Enterprise), công cụ lập trình Visual Studio và thư viện điều khiển giao diện DevExpress.

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương 2 là phần trọng tâm về kỹ thuật phần mềm, bao gồm các mô hình phân tích và thiết kế chi tiết:

  • Phân tích Use Case: Xây dựng biểu đồ Use Case tổng quát và 9 biểu đồ Use Case thành phần gồm: Đăng nhập, Quản lý tài khoản, Tìm kiếm phòng, Quản lý khách hàng, Tạo hóa đơn, Quản lý phòng, Thanh toán, Trả phòng, Quản lý thiết bị. Mỗi Use Case đều có mô tả chi tiết tác nhân, điều kiện trước, dòng sự kiện chính, dòng sự kiện rẽ nhánh và kết quả.
  • Biểu đồ tuần tự (Sequence Diagram): Mô tả chi tiết luồng tương tác giữa giao diện, khối xử lý logic và cơ sở dữ liệu cho 10 chức năng: Đăng nhập (Hình 2.11), Tạo tài khoản (Hình 2.12), Xóa tài khoản (Hình 2.13), Đổi mật khẩu (Hình 2.14), Thêm/sửa/xóa phòng (Hình 2.15 - 2.17), Thêm/sửa khách hàng (Hình 2.18 - 2.19), Tạo hóa đơn (Hình 2.20), Tìm kiếm (Hình 2.21), Thanh toán (Hình 2.22), Trả phòng (Hình 2.23).
  • Biểu đồ hoạt động (Activity Diagram): Thể hiện quy trình xử lý luồng công việc cho các chức năng đăng nhập, tạo tài khoản, đổi mật khẩu, xóa tài khoản, thêm/sửa/xóa phòng, thêm/sửa khách hàng, lập hóa đơn, tìm kiếm, thanh toán và trả phòng.
  • Thiết kế hệ thống và cơ sở dữ liệu: Trình bày thiết kế giao diện form chuẩn (Đăng nhập, Tạo tài khoản, Đổi mật khẩu, Xóa tài khoản, Quản lý phòng, Quản lý thiết bị), Biểu đồ lớp (Class Diagram) và Sơ đồ quan hệ cơ sở dữ liệu (Database Diagram).

CHƯƠNG 3: PHÁT TRIỂN HỆ THỐNG

Chương 3 trình bày kết quả hiện thực hóa phần mềm trên nền tảng WinForms:

  • Hiện thực hóa giao diện chức năng: Xây dựng chi tiết hệ thống giao diện người dùng bao gồm: Giao diện trang chủ, Giao diện đăng nhập, Giao diện tạo/đổi mật khẩu/xóa tài khoản, Giao diện quản lý phòng trọ, Giao diện quản lý khách thuê, Giao diện tạo hóa đơn tính tiền điện nước, Giao diện tìm kiếm phòng theo đơn giá và trạng thái, Giao diện thanh toán hóa đơn, Giao diện tiếp nhận trả phòng, Giao diện quản lý thiết bị phòng.
  • Kiểm thử và môi trường vận hành: Đưa ra các yêu cầu về phần cứng và phần mềm để cài đặt, triển khai ứng dụng; thực hiện kiểm tra hoạt động của các form chức năng.
  • Tổng kết: Đánh giá ưu nhược điểm của phần mềm và đề xuất các hướng phát triển tiếp theo của đề tài.

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

Đồ án đã đạt được các kết quả cụ thể về mặt ứng dụng thực tiễn:

  • Kết quả xây dựng phần mềm: Hoàn thiện ứng dụng máy tính (Desktop Application) đáp ứng đầy đủ các nghiệp vụ quản lý nhà trọ gia đình: quản lý danh sách phòng, phân loại tình trạng phòng trống/đang thuê, quản lý thông tin khách trọ kèm CMND/SĐT, tự động hóa tính tiền điện/nước hàng tháng, xuất và xử lý thanh toán hóa đơn, cập nhật hoàn trả phòng.
  • Đóng góp của đề tài:
    • Tin học hóa thành công quy trình quản lý thủ công truyền thống, giúp người quản lý giảm thiểu thời gian ghi chép và hạn chế tối đa sai sót số liệu.
    • Xây dựng mô hình phân tích thiết kế hệ thống hoàn chỉnh từ Use Case, biểu đồ tuần tự, biểu đồ hoạt động đến thiết kế cơ sở dữ liệu quan hệ chặt chẽ cho bài toán quản lý nhà trọ vừa và nhỏ.

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

  • Hạn chế:
    • Phạm vi ứng dụng của phần mềm tập trung vào mô hình nhà trọ gia đình quy mô vừa và nhỏ.
    • Ứng dụng vận hành trong không gian hệ thống nội bộ máy tính đơn lẻ (Desktop WinForms), chưa triển khai phân tán trên môi trường Internet hoặc các nền tảng Web/Mobile.
    • Các thao tác cập nhật chỉ số điện nước vẫn cần người dùng nhập liệu thủ công vào hệ thống.
  • Hướng nghiên cứu tiếp:
    • Mở rộng thêm các module chức năng quản lý nâng cao và báo cáo thống kê doanh thu đa chiều.
    • Nâng cấp, cải tiến giao diện người dùng để tăng tính tiện dụng.
    • Phát triển ứng dụng tương thích trên nhiều nền tảng hoặc tích hợp các cổng thanh toán điện tử nhằm phục vụ nhu cầu mở rộng quy mô kinh doanh.

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin: Tham khảo phương pháp xây dựng đồ án tốt nghiệp hoặc bài tập lớn ứng dụng công nghệ .NET Framework (C#), Windows Forms kết hợp thư viện DevExpress và Microsoft SQL Server.
  • Người nghiên cứu phân tích thiết kế hệ thống: Cung cấp bộ biểu đồ phân tích chuẩn UML (Use Case tổng quát/chi tiết, Biểu đồ tuần tự, Biểu đồ hoạt động, Biểu đồ lớp, Sơ đồ Database) cho một bài toán quản trị nghiệp vụ thực tế.
  • Nhà phát triển ứng dụng quản lý: Tham khảo quy trình nghiệp vụ thực tế của mô hình cho thuê phòng trọ (tiếp nhận khách, quản lý tạm trú, bàn giao thiết bị, thanh toán hóa đơn định kỳ, thủ tục trả phòng).

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

1. Hệ thống phân chia quyền hạn của tài khoản Admin và Nhân viên như thế nào?
Tài khoản Admin có toàn quyền quản trị hệ thống bao gồm: quản lý tài khoản (tạo mới, đổi mật khẩu, xóa tài khoản, phân quyền), quản lý danh mục phòng trọ, quản lý thiết bị, quản lý khách thuê và tạo/thanh toán hóa đơn. Tài khoản Nhân viên chỉ được thao tác trên các nghiệp vụ vận hành hàng ngày: tìm kiếm phòng, thêm/sửa/xóa khách hàng, tính tiền, lập hóa đơn, thanh toán và xử lý trả phòng, không có quyền can thiệp vào quản lý tài khoản hệ thống.

2. Chức năng tìm kiếm phòng trọ hỗ trợ các tiêu chí lọc nào?
Theo thiết kế của Use Case tìm kiếm (Hình 2.4), người dùng có thể thực hiện tra cứu thông tin phòng trọ dựa trên hai tiêu chí chính: tìm kiếm theo mức đơn giá thuê phòng và tìm kiếm theo trạng thái phòng (phòng trống hoặc phòng đã có người thuê).

3. Cơ chế tính tiền và tạo hóa đơn phòng trọ hoạt động ra sao?
Khi lập hóa đơn, người dùng chọn mã khách hàng; hệ thống sẽ tự động truy xuất đơn giá phòng tương ứng mà khách đang thuê từ cơ sở dữ liệu. Sau khi người dùng nhập số điện và số nước tiêu thụ trong tháng, hệ thống sẽ tự động tính toán tổng số tiền phải trả và lưu thông tin hóa đơn vào cơ sở dữ liệu SQL Server.

4. Khi khách hàng làm thủ tục trả phòng, hệ thống xử lý những thao tác gì?
Hệ thống sẽ thực hiện thanh toán chi tiết các khoản chi phí phát sinh, tiến hành xóa thông tin khách hàng khỏi danh sách khách đang thuê, đồng thời tự động cập nhật trạng thái của phòng tương ứng trở về trạng thái "trống" để sẵn sàng cho lượt thuê tiếp theo.

5. Cơ sở dữ liệu của phần mềm quản lý các trường thông tin nào cho khách thuê và hóa đơn?
Bảng thông tin khách thuê quản lý: Mã khách, tên khách, số điện thoại, số CMND và ngày đến. Bảng hóa đơn quản lý: Mã hóa đơn, nhân viên lập, hàng hóa/dịch vụ, số điện tiêu thụ, số nước tiêu thụ và tổng tiền thanh toán.

Kết luận

Đồ án "Phát triển phần mềm quản lý nhà trọ bằng công nghệ .NET và SQL Server" của sinh viên Nguyễn Văn Thăng đã giải quyết hiệu quả bài toán tự động hóa nghiệp vụ quản lý nhà trọ gia đình. Hệ thống được xây dựng bài bản qua các giai đoạn khảo sát hiện trạng, phân tích thiết kế hệ thống với các biểu đồ UML chi tiết và hiện thực hóa giao diện hoàn chỉnh bằng C# WinForms cùng cơ sở dữ liệu SQL Server. Công trình là tài liệu tham khảo có giá trị thực tiễn và học thuật cho sinh viên ngành Công nghệ thông tin trong việc phát triển các ứng dụng quản lý nghiệp vụ trên nền tảng Microsoft .NET.