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

Trong bối cảnh nền kinh tế và các ngành dịch vụ tại Việt Nam tăng trưởng nhanh chóng, số lượng nhà hàng, khách sạn và các doanh nghiệp lưu trú du lịch ngày càng gia tăng. Việc tiếp nhận và quản lý một khối lượng lớn khách hàng cùng hàng loạt dịch vụ phát sinh đặt ra nhiều thách thức đối với công tác điều hành tại các cơ sở lưu trú. Thực tế tại nhiều đơn vị cho thấy, việc quản lý vẫn còn phụ thuộc vào các quy trình thủ công, ghi chép bằng giấy tờ, dẫn đến tiêu tốn nhân lực, mất nhiều thời gian, dễ xảy ra sai sót và gặp khó khăn trong việc tổng hợp số liệu báo cáo doanh thu hay hoạch định kinh doanh.

Từ thực tiễn đó, nhóm tác giả thuộc Khoa Công nghệ Thông tin – Trường Đại học Ngoại ngữ - Tin học TP.HCM (HUFLIT), dưới sự hướng dẫn của giảng viên Lương Văn Minh, đã thực hiện đồ án phần mềm với đề tài: "Quản lí thuê phòng" (thực hiện vào tháng 4 năm 2022). Đề tài hướng đến việc tin học hóa quy trình quản lý lưu trú nhằm giảm thiểu tối đa các thủ tục hành chính giấy tờ, rút ngắn quy trình tác nghiệp nhưng vẫn đảm bảo tính an toàn, chính xác và tiện lợi.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm:

  1. Phân tích các yêu cầu nghiệp vụ quản lý phòng, dịch vụ, nhân sự và thanh toán trong các cơ sở lưu trú.
  2. Thiết kế hệ thống theo mô hình 3 tầng (3-tier architecture), phân định rõ vai trò và quyền hạn của các nhóm người dùng khác nhau.
  3. Xây dựng và đặc tả hệ thống các Use Case, sơ đồ hoạt động (Activity Diagrams) và sơ đồ thực thể mối quan hệ (ERD).
  4. Hiện thực hóa phần mềm ứng dụng trên nền tảng Windows Forms (.NET Framework) kết nối với hệ quản trị cơ sở dữ liệu Microsoft SQL Server.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ tiếp nhận, đặt phòng, quản lý dịch vụ, theo dõi ca làm việc, tính lương nhân viên, thanh toán và báo cáo doanh thu tại cơ sở kinh doanh phòng nghỉ.
  • Phạm vi ứng dụng: Tập trung hỗ trợ công tác quản trị tại các nhà nghỉ, khách sạn có quy mô vừa và nhỏ có nhu cầu chuyển đổi số công tác quản lý.

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

Đồ án ứng dụng các công nghệ lập trình và kỹ thuật phân tích thiết kế hệ thống phần mềm hướng đối tượng:

  • Nền tảng .NET Framework và Common Language Runtime (CLR): Sử dụng môi trường thực thi của Microsoft cung cấp các dịch vụ quản lý bộ nhớ, an ninh phần mềm và xử lý ngoại lệ cùng bộ thư viện lớp cơ sở để kết nối cơ sở dữ liệu và xử lý thuật toán.
  • Ngôn ngữ lập trình C#: Sử dụng ngôn ngữ lập trình hướng đối tượng đa năng, cấu trúc dựa trên C++ và Java, được phát triển bởi Anders Hejlsberg.
  • Công nghệ Windows Forms (WinForms): Lựa chọn giao diện desktop client với cơ chế điều khiển theo sự kiện (event-driven), hỗ trợ kéo thả giao diện, gắn sự kiện trực quan và tích hợp các bộ thư viện giao diện như TelerikUI, DevExpress.
  • Môi trường phát triển và Quản trị dữ liệu: Microsoft Visual Studio 2019 (bản Community) và Microsoft SQL Server Management Studio 18 sử dụng ngôn ngữ Transact-SQL (T-SQL).
  • Phương pháp phân tích - thiết kế hệ thống:
    • Mô hình hóa chức năng bằng biểu đồ Use Case.
    • Đặc tả chi tiết từng luồng xử lý (Standard flow, Alternative flow, Error situations).
    • Mô hình hóa luồng nghiệp vụ bằng biểu đồ hoạt động (Activity Diagram).
    • Thiết kế cấu trúc dữ liệu quan hệ qua sơ đồ thực thể (ERD) và từ điển dữ liệu các bảng.

Thiết kế và triển khai

1. Kiến trúc hệ thống và phân quyền tác nhân

Hệ thống được thiết kế theo mô hình kiến trúc 3 tầng nhằm tách biệt các lớp giao diện, xử lý nghiệp vụ và truy xuất dữ liệu. Hệ thống xác định 4 tác nhân (actors) chính tham gia vận hành:

Tác nhân (Actor) Vai trò và phạm vi quyền hạn trong hệ thống
Quản trị / Quản lý Toàn quyền kiểm soát hệ thống: quản lý danh sách phòng, loại phòng, dịch vụ, ưu đãi, tài khoản nhân viên, khách hàng; quản lý phân công ca trực, thống kê doanh thu, thu chi, chuyên cần, lương và xuất báo cáo.
Lễ tân Quản lý tình trạng phòng, tiếp nhận thông tin khách hàng, thực hiện đặt phòng, nhận phòng (check-in), hủy phòng, thêm dịch vụ, xác nhận thanh toán, xuất hóa đơn và in biểu mẫu.
Lao công Tra cứu danh sách công việc, lịch làm việc cá nhân, ca trực được phân công và cập nhật/chỉnh sửa thông tin cá nhân.
Khách hàng Tra cứu danh sách phòng, xem chi tiết dịch vụ, tiến hành đặt phòng, đăng ký thông tin cá nhân và áp dụng mã ưu đãi.

2. Danh mục Use Case chức năng

Hệ thống được phân rã thành các Use Case chi tiết với các mã định danh tương ứng:

Mã UC Tên Use Case Tác nhân thực hiện Mục tiêu chính
UC01 Tra cứu phòng Tất cả actors Tìm kiếm thông tin phòng theo điều kiện tra cứu
UC02 Đặt phòng Khách hàng, Nhân viên, Quản lý Tạo mới đơn đặt phòng và ghi nhận vào cơ sở dữ liệu
UC03 Đặt dịch vụ Khách hàng, Nhân viên, Quản lý Thêm dịch vụ phát sinh vào hóa đơn đặt phòng hiện hữu
UC04 Hủy đặt phòng Khách hàng, Nhân viên, Quản lý Hủy yêu cầu đặt phòng chưa check-in và cập nhật trạng thái
UC05 / UC14 Thanh toán / Xác nhận thanh toán Khách hàng / Nhân viên, Quản lý Xác nhận thanh toán hóa đơn tổng và cập nhật giao dịch
UC06 / UC24 Nhập / Tra cứu ưu đãi Khách hàng, Quản lý Áp dụng hoặc tìm kiếm chương trình khuyến mãi cho hóa đơn
UC08 / UC10 Chỉnh sửa thông tin / Đăng nhập Tất cả actors Xác thực người dùng và cập nhật thông tin cá nhân
UC09 Đăng ký thông tin Khách hàng Tạo tài khoản khách hàng mới trên hệ thống
UC11 Cập nhật thông tin đặt phòng Khách hàng, Nhân viên, Quản lý Điều chỉnh ngày check-in/out hoặc thông tin hóa đơn chưa thanh toán
UC13 Xác nhận check-in / check-out Nhân viên, Quản lý Thay đổi trạng thái sử dụng phòng của khách hàng
UC16 In hóa đơn Nhân viên, Quản lý Xuất dữ liệu hóa đơn thành dạng văn bản in ấn
UC17 / UC18 Thêm / Cập nhật phòng Quản lý Quản lý danh mục phòng vật lý trong hệ thống
UC20 / UC21 / UC22 / UC23 Quản lý loại phòng Quản lý Tra cứu, thêm, sửa, xóa danh mục các loại phòng lưu trú
UC21 / UC22 / UC23 Quản lý dịch vụ Quản lý Thêm, cập nhật, xóa danh mục các dịch vụ bổ trợ
UC25 / UC26 Quản lý ưu đãi Quản lý Cập nhật và xóa thông tin các chương trình giảm giá
UC36 / UC27 / UC28 / UC29 Quản lý nhân viên Quản lý, Quản trị viên Tra cứu, thêm mới, sửa đổi thông tin và xóa nhân viên
UC30 / UC32 / UC33 Quản lý khách hàng Quản lý, Quản trị viên Tra cứu hồ sơ, cập nhật và xóa thông tin khách hàng
UC34 / UC35 Quản lý hình ảnh Quản lý Thêm mới và xóa ảnh mô tả liên kết với phòng

3. Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu của phần mềm được chuẩn hóa và thiết lập trên SQL Server gồm các bảng chức năng liên kết chặt chẽ:

  • assignment: Quản lý bảng phân công công việc cho nhân viên và lao công.
  • bill: Lưu trữ thông tin hóa đơn, tổng tiền, ngày thanh toán, trạng thái giao dịch.
  • Customer: Lưu trữ dữ liệu khách hàng (họ tên, CCCD/CMND, số điện thoại, địa chỉ).
  • Employee / Employees: Thông tin chi tiết về đội ngũ nhân sự trong cơ sở.
  • envent: Lưu trữ thông tin về các sự kiện, chương trình ưu đãi, khuyến mãi.
  • login: Quản lý tài khoản, tên đăng nhập, mật khẩu và quyền truy cập.
  • room: Danh sách phòng thực tế, số phòng, vị trí tầng và mã trạng thái.
  • service & service_detail: Danh mục dịch vụ và bảng chi tiết dịch vụ đính kèm theo hóa đơn.
  • shift: Danh mục các ca làm việc trong ngày.
  • statistic: Lưu trữ các chỉ số tổng hợp phục vụ báo cáo doanh thu và chi phí.
  • status_room: Định nghĩa các trạng thái phòng (trống, đang thuê, đang dọn dẹp, bảo trì).
  • type_employee & type_room: Phân loại nhân viên (quản lý, lễ tân, lao công) và phân loại phòng (phòng đơn, đôi, VIP...).

4. Hiện thực giao diện phần mềm

Các màn hình chức năng được hiện thực trên giao diện Windows Forms:

  • Giao diện xác thực: Màn hình đăng nhập, đổi tên người dùng, cập nhật mật khẩu, chỉnh sửa thông tin cá nhân.
  • Giao diện nghiệp vụ phòng: Danh sách phòng trực quan, màn hình đặt phòng, trả phòng, tiếp nhận check-in/check-out, thêm - sửa - xóa phòng, sắp xếp danh sách phòng theo tên hoặc theo trạng thái phòng.
  • Giao diện quản lý dịch vụ và khách hàng: Màn hình quản lý danh mục dịch vụ, hồ sơ khách hàng, chi tiết hóa đơn.
  • Giao diện điều hành và phân công: Bảng phân công ca trực, theo dõi lịch sử làm việc của nhân viên, lịch làm việc của bộ phận lao công.
  • Giao diện thống kê - báo cáo: Biểu đồ thống kê theo phòng, thống kê thu chi tài chính, thống kê ngày công/chuyên cần, bảng tính lương nhân viên và chức năng kết xuất dữ liệu thống kê ra tệp tài liệu Microsoft Word.

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

I. Giới thiệu chung

Phần này trình bày lý do lựa chọn đề tài, tính cấp thiết của việc áp dụng công nghệ thông tin vào ngành dịch vụ lưu trú. Tác giả phân tích lý do lựa chọn công nghệ Windows Forms trên nền tảng .NET: tính phổ biến, giao diện kéo thả trực quan, hỗ trợ xử lý sự kiện phong phú (click, hover), tương tác dữ liệu qua DataGrid nhanh chóng và khả năng tích hợp các bộ thư viện điều khiển giao diện hiện đại.

II. Giới thiệu về .NET Framework, Ngôn ngữ lập trình C#, WinForm

Chương này cung cấp nền tảng lý thuyết về hệ sinh thái công nghệ được sử dụng:

  • Khái niệm .NET Framework và môi trường máy ảo thực thi Common Language Runtime (CLR).
  • Ngôn ngữ lập trình C# hướng đối tượng cùng lịch sử phát triển qua các phiên bản (đặc biệt là C# 9.0 phát hành năm 2020).
  • Các ưu điểm của WinForm về tốc độ xử lý dữ liệu, bảo mật và khả năng tương thích trên các phiên bản hệ điều hành Windows.
  • Hướng dẫn thiết lập môi trường và các bước tạo một dự án Windows Forms Application (.NET Framework) thông qua Microsoft Visual Studio 2019 và cấu hình kết nối Microsoft SQL Server Management Studio 18.

III. Phân tích thiết kế hệ thống

Chương này đi sâu vào quy trình phân tích và thiết kế chi tiết:

  • Phân tích chức năng và luồng xử lý riêng biệt cho ba nhóm đối tượng vận hành: Quản lý, Lễ tân và Lao công.
  • Xác lập phạm vi và các giả định hệ thống (yêu cầu đăng nhập phân quyền cho từng tác nhân).
  • Xây dựng sơ đồ Use Case tổng thể cho module "Truy cập hệ thống" và "Quản lí hệ thống".
  • Cung cấp tài liệu đặc tả chi tiết từ Use Case UC01 đến UC35 kèm theo các biểu đồ hoạt động (Activity Diagrams) cho các quy trình: đăng nhập, đổi mật khẩu, quản lý khách hàng, quản lý nhân viên, xem thống kê, quy trình check-out, phân công việc cho lao công.
  • Xây dựng sơ đồ quan hệ thực thể (ERD) và định nghĩa chi tiết cấu trúc dữ liệu của 14 bảng trong cơ sở dữ liệu.

IV. Hiện thực chương trình

Chương này phản ánh toàn bộ kết quả lập trình giao diện và chức năng của phần mềm:

  • Hiện thực hệ thống giao diện người dùng theo từng vai trò: giao diện dùng chung, giao diện quản lý, giao diện lễ tân và giao diện lao công.
  • Triển khai cụ thể các form chức năng: quản lý phòng (đặt phòng, trả phòng, lọc/sắp xếp), quản lý hóa đơn, quản lý nhân viên, lịch phân công lao công.
  • Xây dựng các module báo cáo quản trị: thống kê thu chi, thống kê hiệu suất phòng, bảng theo dõi chuyên cần và tự động tính lương nhân viên, tích hợp chức năng xuất báo cáo sang định dạng văn bản Word.
  • Tổng kết danh mục các tính năng đã hoàn thành, các chức năng còn tồn đọng, khả năng mở rộng hệ thống và bảng phân công công việc của từng thành viên trong nhóm.

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

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

    • Hoàn thiện phần mềm quản lý lưu trú trên desktop đáp ứng đầy đủ các luồng nghiệp vụ cơ bản từ tiếp nhận khách, quản lý phòng, gọi dịch vụ bổ sung, thanh toán hóa đơn đến quản lý nhân sự.
    • Phân quyền rõ ràng cho 4 nhóm tác nhân (Khách hàng, Lễ tân, Quản lý, Lao công) với giao diện tương tác phù hợp theo đúng đặc tả hệ thống.
    • Xây dựng thành công hệ thống báo cáo thống kê đa chiều (doanh thu, phòng, công ca, tiền lương) và tích hợp tiện ích xuất dữ liệu báo cáo ra Microsoft Word.
    • Xây dựng cơ sở dữ liệu quan hệ hoàn chỉnh gồm 14 bảng dữ liệu chuẩn hóa trên MS SQL Server, đảm bảo tính toàn vẹn thông tin giao dịch.
  • Giải pháp và tính mở rộng được đề xuất:

    • Tích hợp thêm các bộ component điều khiển giao diện (như TelerikUI, DevExpress) nhằm hiện đại hóa giao diện người dùng.
    • Đề xuất khả năng mở rộng kết nối dữ liệu để hỗ trợ đồng bộ dữ liệu giữa các chi nhánh hoặc nâng cấp lên nền tảng web/mobile trong các giai đoạn phát triển tiếp theo.

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

  • Hạn chế:
    • Do giới hạn về thời gian thực hiện, phần mềm chưa thể bao quát được toàn bộ các nghiệp vụ phức tạp của các khách sạn quy mô lớn.
    • Tính đồng bộ giữa một số chức năng trong hệ thống vẫn chưa đạt mức tối ưu.
    • Một số tính năng mở rộng theo dự kiến ban đầu chưa được hiện thực hóa đầy đủ trong phiên bản báo cáo.
  • Hướng phát triển:
    • Hoàn thiện các chức năng chưa thực hiện được trong danh mục tồn đọng.
    • Cải tiến tính đồng bộ dữ liệu và tối ưu hóa hiệu năng truy vấn của hệ thống cơ sở dữ liệu.
    • Phát triển thêm các phân hệ nâng cao phục vụ quản trị chuỗi khách sạn quy mô lớn hơn.

Giá trị tham khảo

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

  • Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang làm đồ án môn học hoặc khóa luận tốt nghiệp về xây dựng ứng dụng quản lý trên nền tảng .NET/C# và Windows Forms.
  • Người học cần tài liệu mẫu chuẩn về quy trình phân tích thiết kế hệ thống phần mềm: cách viết đặc tả Use Case chi tiết (chuẩn hóa luồng chính, luồng phụ, xử lý lỗi), thiết kế biểu đồ hoạt động (Activity Diagram), thiết kế cơ sở dữ liệu quan hệ (ERD) và xây dựng kiến trúc 3 tầng.
  • Các nhà phát triển muốn tìm hiểu giải pháp tin học hóa quy trình quản lý lưu trú cho các mô hình nhà nghỉ, khách sạn vừa và nhỏ.

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

1. Hệ thống "Quản lí thuê phòng" phân chia quyền hạn của các nhóm người dùng như thế nào?
Hệ thống phân chia thành 4 nhóm tác nhân: Quản lý (toàn quyền quản trị nhân sự, phòng, dịch vụ, tài chính, báo cáo), Lễ tân (tiếp nhận đặt phòng, check-in, check-out, quản lý khách hàng, thanh toán), Lao công (tra cứu phân công công việc, ca trực cá nhân, sửa thông tin riêng), và Khách hàng (tra cứu phòng, dịch vụ, đặt phòng và áp dụng ưu đãi).

2. Công nghệ và công cụ nào được sử dụng để phát triển phần mềm?
Phần mềm được phát triển bằng ngôn ngữ C# trên nền tảng .NET Framework theo mô hình Windows Forms (WinForms), sử dụng môi trường phát triển tích hợp Microsoft Visual Studio 2019 và hệ quản trị cơ sở dữ liệu Microsoft SQL Server Management Studio 18.

3. Cơ sở dữ liệu của hệ thống quản lý bao gồm những bảng chính nào?
Hệ thống gồm 14 bảng dữ liệu: assignment (phân công), bill (hóa đơn), Customer (khách hàng), Employee/Employees (nhân viên), envent (ưu đãi/sự kiện), login (tài khoản), room (phòng), service (dịch vụ), service_detail (chi tiết dịch vụ), shift (ca làm việc), statistic (thống kê), status_room (trạng thái phòng), type_employee (loại nhân viên) và type_room (loại phòng).

4. Module báo cáo - thống kê của phần mềm cung cấp các chức năng cụ thể nào cho người quản lý?
Module này cho phép quản lý xem thống kê doanh thu, thống kê hiệu suất sử dụng theo từng phòng, thống kê thu chi tổng quát, thống kê thời gian làm việc, theo dõi mức độ chuyên cần của nhân viên, tính toán bảng lương nhân viên và hỗ trợ trích xuất dữ liệu báo cáo trực tiếp ra định dạng văn bản Microsoft Word.


Kết luận

Đồ án "Quản lí thuê phòng" của nhóm sinh viên Trường Đại học Ngoại ngữ - Tin học TP.HCM đã giải quyết thành công bài toán tin học hóa quy trình quản trị khách sạn quy mô vừa và nhỏ thông qua ứng dụng desktop Windows Forms trên nền tảng .NET/C#. Báo cáo thể hiện một quy trình kỹ thuật phần mềm bài bản từ khâu phân tích nghiệp vụ, mô hình hóa Use Case, thiết kế cơ sở dữ liệu chuẩn hóa đến lập trình giao diện và xử lý logic nghiệp vụ đa tầng. Dù còn một số hạn chế về phạm vi chức năng, đề tài là một tài liệu tham khảo hoàn chỉnh, có giá trị ứng dụng cao cho sinh viên ngành Công nghệ thông tin trong việc nghiên cứu và phát triển phần mềm quản lý.