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

Trong bối cảnh ngành du lịch và dịch vụ lưu trú phát triển nhanh chóng, nhu cầu quản lý và giám sát hoạt động tại các cơ sở kinh doanh khách sạn ngày càng gia tăng. Phương thức quản lý truyền thống tại nhiều khách sạn hiện nay chủ yếu dựa vào sổ sách, giấy tờ kết hợp với phần mềm Microsoft Excel để tính toán thủ công. Cách thức vận hành này bộc lộ nhiều hạn chế thực tiễn: tốn kém thời gian quản lý, gia tăng nguy cơ thất thoát doanh thu, phát sinh chi phí vận hành, không nắm bắt kịp thời và chính xác lượt khách cũng như thời lượng lưu trú, đồng thời gây khó khăn trong công tác giám sát, điều phối nhân viên.

Trước thực trạng đó, nhóm tác giả thuộc Trường Đại học Công nghệ Đông Á đã thực hiện đề tài "Phân tích thiết kế hệ thống quản lý khách sạn" trong khuôn khổ bài tập lớn học phần Phân tích thiết kế hệ thống nhằm giải quyết các nhiệm vụ nghiên cứu sau:

  1. Khảo sát thực trạng quy trình nghiệp vụ quản lý khách sạn tại cơ sở thực tế, thu thập mẫu biểu và ghi nhận các bất cập trong khâu vận hành thủ công.
  2. Xác định các yêu cầu chức năng và phi chức năng của hệ thống phần mềm quản lý khách sạn.
  3. Phân tích và mô hình hóa hệ thống thông qua các công cụ biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu (DFD), và hệ thống biểu đồ UML (Use Case, Sequence, Collaboration, Activity, State Diagram).
  4. Cài đặt thử nghiệm ứng dụng web quản lý khách sạn trên nền tảng PHP và hệ quản trị cơ sở dữ liệu MySQL, đáp ứng các nhu cầu nghiệp vụ từ phía khách hàng lẫn bộ phận quản trị.
  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý khách sạn bao gồm quản lý thông tin khách hàng, quản lý phòng, quản lý dịch vụ, lập hóa đơn thanh toán, quản lý nhân viên và thống kê báo cáo doanh thu.
  • Phạm vi nghiên cứu: Khảo sát thực tế được thực hiện tại Khách sạn HAPPY (địa chỉ: Hoài Đức, Hà Nội) với các mốc thời gian phỏng vấn và theo dõi nghiệp vụ trong tháng 2. Hệ thống phần mềm được xây dựng dưới dạng ứng dụng web chạy trên môi trường máy chủ cục bộ (Localhost).

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

Đề tài áp dụng các nguyên lý phân tích và thiết kế hệ thống thông tin có cấu trúc kết hợp với phương pháp mô hình hóa hướng đối tượng thông qua ngôn ngữ UML.

  • Khung phân tích và mô hình hóa:
    • Biểu đồ phân cấp chức năng (FDD): Phân rã cây chức năng quản lý tổng thể thành các nhóm nghiệp vụ cụ thể.
    • Biểu đồ luồng dữ liệu (DFD): Mô hình hóa đường đi của dữ liệu ở các mức: mức ngữ cảnh (khung cảnh), mức đỉnh (mức 0) và mức dưới đỉnh.
    • Ngôn ngữ mô hình hóa thống nhất (UML): Sử dụng biểu đồ ca sử dụng (Use Case Diagram), biểu đồ tuần tự (Sequence Diagram), biểu đồ cộng tác (Collaboration Diagram), biểu đồ hoạt động (Activity Diagram) và biểu đồ trạng thái (State Diagram).
  • Phương pháp thu thập dữ liệu thực tế:
    • Phương pháp phỏng vấn: Lập kế hoạch phỏng vấn (Biểu mẫu 2) và phiếu câu hỏi phỏng vấn trực tiếp (Biểu mẫu 3) với thời lượng 50 phút nhằm làm rõ quy trình quản lý chung, cách thức đặt phòng và phương án xử lý sự cố tài sản.
    • Phương pháp điều tra bằng bảng hỏi: Sử dụng phiếu điều tra (Biểu mẫu 4) gồm 5 câu hỏi trắc nghiệm đánh giá tính dễ dùng, hiệu quả, tầm quan trọng của quản lý phòng, yêu cầu tốc độ xử lý và chất lượng tổng thể của hệ thống.
    • Phương pháp quan sát: Lấy mẫu theo thời gian trong vòng 1 tuần, mỗi ngày dành 1 tiếng theo dõi trực tiếp các thao tác của nhân viên lễ tân (thống kê phòng, kiểm kê tài sản, giao/nhận phòng) và hành vi của khách hàng.
  • Phân công nhiệm vụ nghiên cứu trong nhóm:
Thành viên Chức vụ Công việc thực hiện
Phạm Tiến Đạt Trưởng nhóm Thiết kế, vẽ sơ đồ, cơ sở dữ liệu, trình bày văn bản Word
Nguyễn Hoàng Anh Thành viên Vẽ sơ đồ, bảng biểu, chỉnh sửa hoàn chỉnh văn bản Word
Hoàng Minh Ngọc Thành viên Điều tra thực tế, thiết lập bảng biểu
Trần Văn Hùng Thành viên Điều tra thực tế, vẽ sơ đồ, thiết lập bảng biểu
Trần Quang Quý Thành viên Lập trình mã nguồn, cài đặt chương trình

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 bối cảnh chuyển đổi số trong ngành du lịch - khách sạn và tính cấp thiết của việc xây dựng ứng dụng web quản lý. Tác giả phân tích những hạn chế của phương pháp lưu trữ sổ sách và bảng tính Excel, bao gồm nguy cơ thất thoát dữ liệu, thiếu tính liên kết giữa các bộ phận, và sự khó khăn của nhà quản lý trong việc lựa chọn giải pháp phần mềm tối ưu với chi phí hợp lý. Đồng thời, chương này xác định cơ cấu phân công trách nhiệm cho từng thành viên trong nhóm dự án.

Chương 2: Khảo sát thực trạng và xác định yêu cầu hệ thống

Chương này tập trung mô tả chi tiết hoạt động nghiệp vụ tại khách sạn và đánh giá hiện trạng:

  • Nghiệp vụ thuê và trả phòng: Lễ tân tiếp nhận thông tin đăng ký của khách (họ tên, địa chỉ, số điện thoại, email, số lượng khách, số lượng và loại phòng, giá phòng, hình thức thanh toán), kiểm tra hiện trạng phòng và tiến hành bàn giao khóa.
  • Nghiệp vụ dịch vụ và thanh toán: Các dịch vụ khách hàng sử dụng trong thời gian lưu trú được ghi nhận vào phiếu thuê phòng. Khi trả phòng, lễ tân kiểm tra tình trạng thiết bị, tính tiền phòng, tiền dịch vụ riêng, phí đền bù hư hỏng (nếu có), thuế và in hóa đơn tổng để khách thanh toán bằng tiền mặt, thẻ ngân hàng hoặc ví điện tử.
  • Hồ sơ biểu mẫu thu thập: Đề tài chuẩn hóa 6 biểu mẫu nghiệp vụ gồm: Phân công công việc (Mẫu 1), Kế hoạch phỏng vấn (Mẫu 2), Phiếu phỏng vấn (Mẫu 3), Phiếu điều tra (Mẫu 4), Phiếu đặt phòng (Mẫu 5) và Phiếu thanh toán (Mẫu 6).
  • Yêu cầu hệ thống: Hệ thống cần đáp ứng khả năng tra cứu thông tin phòng còn trống/đã đặt trên máy tính, hiển thị chi tiết trang thiết bị từng phòng, hỗ trợ đặt phòng, thanh toán, hỗ trợ dịch vụ phát sinh và cho phép cập nhật, chỉnh sửa thông tin khi có thay đổi.

Chương 3: Phân tích hệ thống và thiết kế hệ thống

Chương 3 là phần trọng tâm về mặt kỹ thuật phân tích của đồ án, bao gồm:

  • Phân rã chức năng: Hệ thống được chia thành 5 phân hệ chính:
    1. Quản lý khách hàng: Thêm, sửa, xóa, tìm kiếm thông tin khách hàng (Tên KH, năm sinh, CMND/Hộ chiếu, địa chỉ, số điện thoại).
    2. Quản lý phòng: Tìm kiếm phòng, cập nhật phòng, gợi ý phòng theo tiêu chí (thời gian, loại phòng, số lượng khách), thêm/xóa phòng, lập phiếu đăng ký và lập hóa đơn.
    3. Quản lý nhân viên: Quản lý thông tin nhân viên theo khu vực làm việc, chức vụ, mã phòng quản lý, trạng thái phòng.
    4. Quản lý dịch vụ: Ghi nhận dịch vụ khách sử dụng, thêm/sửa/xóa và kiểm tra danh mục dịch vụ.
    5. Thống kê báo cáo: Kiểm tra các khoản thu chi, phí phát sinh, in hóa đơn và lưu trữ hồ sơ sử dụng phòng về máy chủ.
  • Xác định tác nhân và mô hình hóa Use Case: Hệ thống gồm 4 tác nhân chính: Khách hàng, Nhân viên lễ tân, Nhân viên phòng, và Ban giám đốc. Tác giả đặc tả 19 ca sử dụng chi tiết (từ UC1 đến UC19) với đầy đủ điều kiện tiên quyết, sự kiện kích hoạt, luồng sự kiện chính và các luồng sự kiện phụ (luồng A1: lỗi đăng nhập; luồng A2: không tìm thấy bản ghi dữ liệu).
  • Mô hình động: Xây dựng hệ thống sơ đồ tuần tự và sơ đồ cộng tác cho 17 kịch bản nghiệp vụ; thiết lập 8 biểu đồ hoạt động (Quản lý thuê phòng, Quản lý phòng, Hoạt động lập thống kê báo cáo, Quản lý khách hàng, Quản lý tài khoản, Quản lý nhân viên, Lập hóa đơn, Quản lý thuê dịch vụ); và các biểu đồ trạng thái tương ứng.

Chương 4: Phân tích hệ thống và thiết kế hệ thống (Cài đặt và triển khai)

Chương 4 mô tả môi trường công nghệ và quy trình cài đặt ứng dụng:

  • Nền tảng công nghệ: Sử dụng ngôn ngữ lập trình mã nguồn mở PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL, vận hành trên máy chủ web cục bộ thông qua gói phần mềm XAMPP (hỗ trợ Apache và phpMyAdmin).
  • Cấu trúc giao diện hệ thống:
    • Giao diện Client (Người dùng): Gồm các màn hình Trang chủ, Chi tiết phòng, Checkout, và Thông báo đặt phòng thành công.
    • Giao diện Admin (Quản trị): Gồm màn hình Đăng nhập, Dashboard, Thêm khách sạn, Danh sách khách sạn, Thêm phòng, Danh sách phòng, Danh sách đơn nạp coin, Danh sách khách hàng, Thêm nhân viên và Danh sách nhân viên.
  • Quy trình triển khai: Trình bày 7 bước thiết lập môi trường từ cài đặt XAMPP, cấu hình cơ sở dữ liệu mang tên qlks_traveloka trong phpMyAdmin, nhập mã SQL đến khởi chạy thư mục mã nguồn Nhom-4_AppQLKS trên Localhost.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình ứng dụng web kết nối cơ sở dữ liệu quan hệ, phân định rõ ràng giữa các chức năng phía máy khách (Client) và quản trị (Admin).

Phân loại các ca sử dụng theo gói chức năng

Gói ca sử dụng Danh sách ca sử dụng chi tiết Tác nhân tương tác
Quản lý khách hàng UC1: Thêm khách hàng
UC2: Xóa khách hàng
UC3: Sửa khách hàng
UC4: Tìm kiếm thông tin
Khách hàng, Nhân viên lễ tân
Quản lý phòng UC5: Tìm kiếm phòng / Gợi ý phòng
UC6: Cập nhật phòng / Yêu cầu đặt/trả phòng
UC7: Hiển thị thông tin phòng
UC8: Thanh toán hóa đơn
Khách hàng, Nhân viên lễ tân, Nhân viên phòng
Quản lý nhân viên UC9: Cập nhật phòng
UC10: Tìm kiếm phòng
UC11: Thêm phòng
UC12: Xóa phòng
Nhân viên phòng, Nhân viên lễ tân, Ban giám đốc
Quản lý dịch vụ UC13: Cập nhật dịch vụ
UC14: Thêm dịch vụ
UC15: Xóa dịch vụ
UC16: Lập hóa đơn
UC17: Kiểm tra dịch vụ
Nhân viên lễ tân, Khách hàng, Nhân viên phòng
Quản lý thống kê, báo cáo UC18: Lập thống kê
UC19: In báo cáo
Ban giám đốc, Nhân viên lễ tân, Nhân viên phòng

Quy trình 7 bước cài đặt và triển khai hệ thống

Hệ thống được đóng gói và triển khai trên môi trường máy chủ phát triển theo quy trình thực nghiệm sau:

  1. Bước 1: Tải và cài đặt ứng dụng môi trường máy chủ XAMPP trên hệ điều hành.
  2. Bước 2: Giải nén gói mã nguồn và chuyển toàn bộ thư mục mã nguồn vào thư mục htdocs của XAMPP.
  3. Bước 3: Mở bảng điều khiển XAMPP Control Panel, khởi động hai dịch vụ Apache và MySQL.
  4. Bước 4: Mở trình duyệt web, truy cập công cụ quản trị phpMyAdmin qua địa chỉ cục bộ.
  5. Bước 5: Tạo mới cơ sở dữ liệu quan hệ với tên gọi chính xác: qlks_traveloka.
  6. Bước 6: Điều hướng đến thẻ SQL, dán toàn bộ đoạn mã khởi tạo cấu trúc bảng và dữ liệu SQL rồi thực thi.
  7. Bước 7: Truy cập đường dẫn localhost/Nhom-4_AppQLKS trên trình duyệt để kiểm tra và vận hành giao diện chương trình.

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

  • Kết quả đạt được:
    • Hoàn thành đầy đủ hồ sơ phân tích thiết kế hệ thống thông tin quản lý khách sạn từ biểu đồ phân cấp, luồng dữ liệu đến các biểu đồ UML chi tiết (19 đặc tả use case kèm luồng ngoại lệ, sơ đồ tuần tự, cộng tác, hoạt động và trạng thái).
    • Chuẩn hóa quy trình thu thập thông tin và khảo sát nghiệp vụ thực tế với 6 bộ biểu mẫu chuyên dụng.
    • Xây dựng thành công ứng dụng web với 2 phân hệ chức năng: phân hệ Client (cho phép tra cứu, xem chi tiết phòng, checkout đặt phòng) và phân hệ Admin (quản lý khách sạn, quản lý phòng, nạp coin, quản lý khách hàng, quản lý nhân viên và thống kê doanh thu).
  • Đóng góp của đồ án:
    • Cung cấp giải pháp phần mềm quản lý gọn nhẹ, dễ cài đặt trên nền tảng PHP/MySQL, giúp giảm thiểu chi phí đầu tư cơ sở vật chất ban đầu cho các khách sạn vừa và nhỏ.
    • Thay thế phương thức ghi chép sổ sách và bảng tính Excel thủ công, hạn chế tình trạng thất thoát doanh thu, nhầm lẫn dữ liệu và rút ngắn thời gian xử lý thủ tục đặt phòng/thanh toán của nhân viên lễ tân.

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

  • Hạn chế:
    • Hệ thống mới được thử nghiệm trên môi trường máy chủ nội bộ (Localhost), chưa triển khai thực tế trên hạ tầng Internet công cộng.
    • Cơ chế thanh toán trực tuyến chưa tích hợp cổng thanh toán ngân hàng tự động (vẫn ghi nhận theo hình thức nạp coin/xác nhận nội bộ).
    • Chưa trang bị các cơ chế mã hóa và bảo mật dữ liệu nâng cao.
  • Hướng phát triển tiếp theo:
    • Nâng cấp và tối ưu hóa giao diện người dùng để tăng tính tiện dụng.
    • Tích hợp trực tiếp hệ thống cổng thanh toán trực tuyến chính thức.
    • Ứng dụng trí tuệ nhân tạo (AI) vào việc gợi ý phòng và tối ưu hóa quy trình điều phối quản lý phòng.
    • Tăng cường các giải pháp an toàn thông tin và bảo mật dữ liệu lưu trữ trên hệ thống.

Giá trị tham khảo

Báo cáo bài tập lớn này có giá trị tham khảo thiết thực 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 khi thực hiện các môn học về Phân tích thiết kế hệ thống hoặc Đồ án tốt nghiệp:

  • Cung cấp mẫu kế hoạch phỏng vấn, phiếu điều tra khảo sát thực tế và quy trình lấy mẫu quan sát tại doanh nghiệp.
  • Cung cấp tài liệu tham khảo hoàn chỉnh về cách thức mô hình hóa hệ thống từ biểu đồ phân cấp chức năng, DFD đến các loại biểu đồ UML có đặc tả ca sử dụng chi tiết (bao gồm cả luồng chính và luồng ngoại lệ).
  • Cung cấp cấu trúc triển khai web PHP/MySQL cơ bản thông qua công cụ XAMPP.

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

1. Nhóm tác giả đã tiến hành khảo sát nghiệp vụ thực tế tại cơ sở nào và sử dụng các phương pháp gì?
Nhóm nghiên cứu đã thực hiện khảo sát tại Khách sạn HAPPY (địa chỉ: Hoài Đức, Hà Nội). Các phương pháp thu thập dữ liệu được áp dụng gồm: phỏng vấn trực tiếp theo kế hoạch (thời lượng 50 phút), điều tra bằng phiếu khảo sát 5 câu hỏi trắc nghiệm, và quan sát nghiệp vụ lễ tân trong vòng 1 tuần (mỗi ngày 1 giờ).

2. Hệ thống quản lý khách sạn gồm những tác nhân (Actors) nào tham gia tương tác?
Hệ thống xác định 4 tác nhân chính:

  • Khách hàng: Người tra cứu thông tin, đặt phòng, nhận phòng, sử dụng dịch vụ và thanh toán.
  • Nhân viên lễ tân: Người tiếp đón, kiểm tra và bàn giao phòng, cập nhật hồ sơ khách, ghi nhận dịch vụ và lập hóa đơn.
  • Nhân viên phòng: Người quản lý thông tin phòng, vệ sinh, kiểm tra tài sản và bảo trì trang thiết bị.
  • Ban giám đốc (Người quản trị): Người điều phối hoạt động kinh doanh dựa trên báo cáo thống kê, quản lý tài khoản và phân quyền nhân viên.

3. Cơ sở dữ liệu và mã nguồn của ứng dụng web được thiết lập với tên gọi nào?
Trong quá trình triển khai trên XAMPP/phpMyAdmin, cơ sở dữ liệu của hệ thống được đặt tên chính xác là qlks_traveloka và thư mục chứa toàn bộ mã nguồn ứng dụng chạy trên Localhost có tên là Nhom-4_AppQLKS.

4. Khi khách hàng trả phòng, hóa đơn thanh toán tổng hợp những khoản chi phí nào?
Phiếu thanh toán tổng hợp các thông tin chi tiết gồm: mã chi tiết hóa đơn, mã hóa đơn, mã phiếu đăng ký, số phòng, tiền phòng, tiền dịch vụ riêng, tiền phát sinh (do làm hỏng, mất thiết bị phòng nếu có), thuế, tổng số tiền thanh toán, nhân viên lập và ngày lập phiếu.

5. Khi phát sinh trường hợp thông tin đăng nhập không hợp lệ hoặc không tìm thấy dữ liệu tra cứu, hệ thống xử lý như thế nào?
Trong đặc tả use case, hệ thống xử lý qua 2 luồng sự kiện phụ:

  • Luồng phụ A1 (Thông tin đăng nhập không hợp lệ): Hệ thống phát thông báo lỗi đăng nhập sai và trả về trạng thái trước đó.
  • Luồng phụ A2 (Không tìm thấy bản ghi thỏa mãn điều kiện): Hệ thống phát thông báo không tìm thấy kết quả và khôi phục về trạng thái màn hình trước đó.

Kết luận

Bài tập lớn "Phân tích thiết kế hệ thống quản lý khách sạn" của nhóm tác giả Trường Đại học Công nghệ Đông Á đã hoàn thành toàn diện việc khảo sát nghiệp vụ, phân tích yêu cầu và xây dựng mô hình hóa hệ thống thông qua các công cụ chuẩn mực FDD, DFD và UML. Ứng dụng web được lập trình thử nghiệm thành công bằng ngôn ngữ PHP kết nối cơ sở dữ liệu MySQL trên môi trường XAMPP, đáp ứng các chức năng nghiệp vụ từ đặt phòng, quản lý dịch vụ đến thanh toán và thống kê. Đề tài mở ra định hướng phát triển thực tế trong tương lai thông qua việc hoàn thiện cổng thanh toán trực tuyến, tăng cường bảo mật và tích hợp trí tuệ nhân tạo để tối ưu hóa công tác quản trị khách sạn.