I. Tổng Quan Đồ Án CDIO 2 Phần Mềm Quản Lý Khách Sạn DTU
Dự án Phần Mềm Quản Lý Phòng Khách Sạn là một đồ án công nghệ thông tin tiêu biểu được thực hiện bởi nhóm sinh viên thuộc Khoa Công nghệ thông tin Duy Tân, trong khuôn khổ môn học Đồ án CDIO 2. Đề tài này không chỉ thể hiện năng lực ứng dụng kiến thức chuyên ngành vào giải quyết bài toán thực tiễn mà còn là minh chứng cho hiệu quả của mô hình CDIO (Conceive – Design – Implement – Operate) trong đào tạo. Mục tiêu của dự án là xây dựng một hệ thống quản lý khách sạn toàn diện, tự động hóa các quy trình nghiệp vụ từ đặt phòng, nhận phòng, quản lý dịch vụ cho đến trả phòng và báo cáo tài chính. Sản phẩm hướng đến việc tối ưu hóa hiệu suất làm việc cho nhân viên, nâng cao trải nghiệm khách hàng và cung cấp cho nhà quản lý công cụ phân tích kinh doanh mạnh mẽ. Báo cáo đồ án được hướng dẫn bởi ThS. Trần Huệ Chi, trình bày chi tiết từ giai đoạn lên ý tưởng, phân tích yêu cầu, thiết kế hệ thống, cho đến xây dựng giao diện người dùng. Đây là một tài liệu tham khảo giá trị cho các sinh viên đang tìm kiếm đề tài đồ án tốt nghiệp Đại học Duy Tân hoặc các nhà phát triển quan tâm đến việc xây dựng phần mềm quản lý nhà nghỉ, khách sạn quy mô vừa và nhỏ.
1.1. Giới thiệu mô hình CDIO trong đào tạo tại Đại học Duy Tân
Mô hình CDIO là một phương pháp tiếp cận giáo dục kỹ thuật hiện đại, nhấn mạnh vào việc trang bị cho sinh viên đầy đủ kiến thức và kỹ năng cần thiết để Hình thành ý tưởng (Conceive), Thiết kế (Design), Triển khai (Implement) và Vận hành (Operate) các sản phẩm và hệ thống phức tạp trong thực tế. Tại Đại học Duy Tân, mô hình CDIO được áp dụng mạnh mẽ, đặc biệt trong các ngành kỹ thuật và công nghệ thông tin. Môn học Đồ án CDIO 2 yêu cầu sinh viên làm việc theo nhóm để giải quyết một bài toán cụ thể, mô phỏng quy trình phát triển một sản phẩm phần mềm hoàn chỉnh, từ đó rèn luyện kỹ năng làm việc nhóm, quản lý dự án và áp dụng các công nghệ lập trình phần mềm tiên tiến.
1.2. Mục tiêu và phạm vi của hệ thống quản lý khách sạn
Mục tiêu chính của đồ án là xây dựng một phần mềm có khả năng tự động hóa và tối ưu hóa các quy trình vận hành cốt lõi của một khách sạn. Cụ thể, hệ thống phải đáp ứng các yêu cầu về quản lý đặt phòng khách sạn, quản lý thông tin khách hàng, quản lý phòng và các tiện nghi đi kèm. Bên cạnh đó, phần mềm còn tích hợp các chức năng quản lý dịch vụ khách sạn, quản lý nhân viên và lập báo cáo doanh thu khách sạn một cách tự động và chính xác. Phạm vi của dự án tập trung vào các khách sạn quy mô vừa và nhỏ tại thị trường Việt Nam, với các tác nhân chính bao gồm Khách hàng, Nhân viên lễ tân và Quản trị viên hệ thống. Đây là một ví dụ điển hình cho một báo cáo đồ án CDIO hoàn chỉnh và chi tiết.
1.3. Đội ngũ thực hiện và vai trò trong đồ án công nghệ thông tin
Dự án được thực hiện bởi nhóm sinh viên gồm Chu Đức Anh, Nguyễn Văn Nhật, Đàm Xuân Tuấn, Nguyễn Bảo Lưu và Thái Mai Quang. Bảng phân công nhiệm vụ trong tài liệu gốc cho thấy sự phân chia công việc rõ ràng, mỗi thành viên chịu trách nhiệm các phần cụ thể từ lên ý tưởng, đặc tả Use Case, vẽ biểu đồ hoạt động, thiết kế cơ sở dữ liệu đến thiết kế giao diện. Sự phối hợp nhịp nhàng này là yếu tố then chốt tạo nên thành công của dự án, đồng thời phản ánh đúng tinh thần làm việc nhóm mà mô hình CDIO hướng tới. Giảng viên hướng dẫn, ThS. Trần Huệ Chi, đã đóng vai trò cố vấn, định hướng và đánh giá xuyên suốt quá trình thực hiện.
II. Thách Thức Vận Hành Nhu Cầu Của Hệ Thống Quản Lý Khách Sạn
Việc vận hành một khách sạn theo phương pháp thủ công tiềm ẩn nhiều rủi ro và hạn chế. Nhân viên phải xử lý một lượng lớn giấy tờ, sổ sách, dẫn đến sai sót trong việc ghi nhận thông tin đặt phòng, tình trạng phòng và thanh toán. Quá trình quản lý check-in check-out trở nên chậm chạp, gây ấn tượng không tốt cho khách hàng, đặc biệt vào các giờ cao điểm. Việc quản lý thông tin khách hàng không tập trung gây khó khăn cho các hoạt động chăm sóc khách hàng và marketing sau này. Thêm vào đó, nhà quản lý không có cái nhìn tổng quan, tức thời về tình hình kinh doanh. Việc tổng hợp báo cáo doanh thu khách sạn hàng tháng tốn nhiều thời gian và không đảm bảo độ chính xác tuyệt đối. Những thách thức này cho thấy nhu cầu cấp thiết về một hệ thống quản lý khách sạn hiệu quả. Một phần mềm chuyên dụng sẽ giúp số hóa toàn bộ quy trình, giảm thiểu sai sót do con người, tăng tốc độ phục vụ và cung cấp dữ liệu kinh doanh minh bạch, hỗ trợ ra quyết định chiến lược nhanh chóng và chính xác.
2.1. Phân tích các rủi ro trong quản lý đặt phòng khách sạn thủ công
Quy trình quản lý đặt phòng khách sạn thủ công thường dựa vào sổ ghi chép hoặc bảng tính Excel đơn giản. Điều này dễ dẫn đến các vấn đề như ghi trùng phòng (overbooking), sai thông tin khách hàng, hoặc thất lạc yêu cầu đặt phòng. Khi khách hàng muốn thay đổi hoặc hủy đặt phòng, việc cập nhật thủ công có thể gây nhầm lẫn, ảnh hưởng đến tình trạng phòng trống thực tế. Việc thiếu một hệ thống tập trung cũng khiến nhân viên khó tra cứu lịch sử lưu trú của khách hàng thân thiết, bỏ lỡ cơ hội cung cấp các dịch vụ cá nhân hóa. Tất cả những rủi ro này không chỉ gây thiệt hại về doanh thu mà còn làm giảm uy tín của khách sạn.
2.2. Khó khăn trong việc đồng bộ quản lý dịch vụ khách sạn
Một khách sạn không chỉ cung cấp dịch vụ lưu trú mà còn nhiều dịch vụ gia tăng khác như giặt ủi, ăn uống tại phòng, thuê xe... Khi quản lý dịch vụ khách sạn được thực hiện riêng lẻ ở từng bộ phận, việc tổng hợp chi phí vào hóa đơn cuối cùng của khách hàng khi trả phòng rất dễ xảy ra sai sót. Nhân viên lễ tân có thể quên tính một dịch vụ nào đó, hoặc tính nhầm số lượng, gây ra tranh cãi không đáng có lúc thanh toán. Một hệ thống tích hợp cho phép nhân viên từ các bộ phận khác nhau ghi nhận dịch vụ đã sử dụng trực tiếp vào hồ sơ phòng của khách, đảm bảo hóa đơn cuối cùng luôn đầy đủ và chính xác.
2.3. Sự thiếu hiệu quả của việc quản lý nhân viên khách sạn truyền thống
Việc quản lý nhân viên khách sạn theo cách truyền thống thường gặp khó khăn trong việc phân ca, theo dõi hiệu suất và quản lý quyền truy cập thông tin. Quản lý phải tốn thời gian sắp xếp lịch làm việc thủ công, và khó đánh giá được hiệu quả công việc của từng nhân viên một cách khách quan. Hơn nữa, việc phân quyền truy cập dữ liệu nhạy cảm như thông tin khách hàng hay doanh thu là bất khả thi. Một phần mềm quản lý cho phép tạo tài khoản riêng cho từng nhân viên, phân quyền chức năng rõ ràng, giúp bảo mật thông tin và tối ưu hóa việc quản lý nguồn nhân lực.
III. Phương Pháp Xây Dựng Website Quản Lý Khách Sạn Theo CDIO
Để xây dựng website quản lý khách sạn một cách khoa học và bài bản, nhóm sinh viên Đại học Duy Tân đã áp dụng nghiêm ngặt các phương pháp phân tích và thiết kế hệ thống hướng đối tượng. Giai đoạn đầu tiên là phân tích yêu cầu, trong đó nhóm đã xây dựng sơ đồ Use Case quản lý khách sạn tổng quát. Sơ đồ này xác định rõ các tác nhân chính (Khách hàng, Nhân viên, Quản trị viên) và các chức năng mà họ có thể thực hiện trên hệ thống. Từ sơ đồ tổng quát, mỗi Use Case quan trọng như 'Đặt phòng', 'Trả phòng', 'Quản lý nhân viên' đều được đặc tả chi tiết. Bảng đặc tả mô tả mục đích, điều kiện trước/sau và dòng sự kiện chính giữa tác nhân và hệ thống, đảm bảo mọi chức năng đều được định nghĩa rõ ràng. Dựa trên các đặc tả này, nhóm tiếp tục xây dựng các biểu đồ hoạt động (Activity Diagram) để trực quan hóa luồng xử lý của từng nghiệp vụ. Phương pháp tiếp cận này giúp đảm bảo hệ thống quản lý khách sạn được phát triển đúng theo yêu cầu, có cấu trúc logic và dễ dàng cho việc triển khai cũng như bảo trì sau này.
3.1. Sơ đồ Use Case quản lý khách sạn và các tác nhân chính
Tài liệu báo cáo đồ án CDIO trình bày một sơ đồ Use Case quản lý khách sạn tổng thể, là nền tảng cho việc phân tích hệ thống. Sơ đồ này xác định ba tác nhân chính: Khách hàng (thực hiện các hành động như đặt phòng, hủy phòng), Nhân viên (thực hiện các nghiệp vụ check-in, check-out, quản lý dịch vụ) và Quản trị viên (quản lý tài khoản, nhân viên, lập báo cáo). Các Use Case chính được liệt kê bao gồm: Quản lý phòng, Quản lý khách hàng, Đặt phòng, Đổi phòng, Trả phòng, Hủy phòng, Quản lý tài khoản, Quản lý nhân viên, và Lập báo cáo. Việc xác định rõ ràng các chức năng và người sử dụng ngay từ đầu giúp định hình kiến trúc phần mềm một cách hiệu quả.
3.2. Đặc tả chi tiết các chức năng phần mềm quản lý khách sạn
Mỗi Use Case trong sơ đồ đều được đi kèm một bảng đặc tả chi tiết. Ví dụ, với Use Case 'Trả phòng', bảng đặc tả mô tả tác nhân là Khách hàng và Nhân viên, điều kiện tiên quyết là khách đã nhận phòng. Dòng sự kiện chính mô tả các bước: khách hàng yêu cầu trả phòng, nhân viên kiểm tra hóa đơn, tính toán tổng tiền, cập nhật trạng thái phòng thành trống, và khách hàng thanh toán. Cách làm này đảm bảo mọi chức năng phần mềm quản lý khách sạn đều được hiểu một cách nhất quán giữa các thành viên trong nhóm phát triển và đáp ứng đúng yêu cầu nghiệp vụ thực tế.
3.3. Phân tích hành vi hệ thống qua biểu đồ hoạt động Activity Diagram
Sau khi đặc tả Use Case, nhóm đã tiến hành phân tích hành vi hệ thống bằng cách vẽ các biểu đồ hoạt động. Các biểu đồ này mô tả trực quan luồng công việc của các quy trình phức tạp như 'Quản lý phòng' (từ kiểm tra, thêm, sửa, xóa phòng) hay 'Đặt phòng' (từ tìm kiếm, chọn phòng đến xác nhận đặt). Biểu đồ hoạt động giúp làm rõ các bước xử lý, các điểm quyết định (decision point) và các luồng song song, là tài liệu quan trọng cho các lập trình viên khi hiện thực hóa logic nghiệp vụ trong source code quản lý khách sạn.
IV. Hướng Dẫn Thiết Kế Cơ Sở Dữ Liệu và Giao Diện Phần Mềm
Giai đoạn thiết kế là bước chuyển hóa từ các phân tích yêu cầu thành một bản thiết kế chi tiết cho hệ thống quản lý khách sạn. Trọng tâm của giai đoạn này là thiết kế cơ sở dữ liệu quản lý khách sạn và giao diện phần mềm khách sạn. Về cơ sở dữ liệu, mặc dù tài liệu không trình bày chi tiết sơ đồ ERD quản lý khách sạn, nhưng dựa trên các chức năng đã phân tích, có thể hình dung một cấu trúc gồm các bảng chính như: Phong, LoaiPhong, KhachHang, NhanVien, TaiKhoan, DatPhong, HoaDon, DichVu, ChiTietSuDungDichVu. Một CSDL được thiết kế tốt sẽ đảm bảo tính toàn vẹn dữ liệu, hiệu suất truy vấn và khả năng mở rộng trong tương lai. Song song đó, việc thiết kế giao diện người dùng (UI) cũng được chú trọng. Tài liệu đã phác thảo nhiều giao diện quan trọng như giao diện đặt phòng, quản lý nhân viên, lập báo cáo, và thanh toán. Các thiết kế này hướng đến sự đơn giản, trực quan và dễ sử dụng, giúp nhân viên lễ tân và quản lý có thể thao tác nhanh chóng, giảm thiểu thời gian đào tạo và tăng hiệu quả công việc.
4.1. Cấu trúc cơ sở dữ liệu quản lý khách sạn và Sơ đồ ERD
Việc thiết kế cơ sở dữ liệu quản lý khách sạn là xương sống của toàn bộ hệ thống. Dựa trên các thực thể được quản lý, một sơ đồ ERD quản lý khách sạn (Entity-Relationship Diagram) sẽ được xây dựng để mô hình hóa các bảng dữ liệu và mối quan hệ giữa chúng. Các thực thể chính bao gồm Phòng, Khách hàng, Nhân viên, Dịch vụ, Hóa đơn. Mối quan hệ giữa chúng là 'một-nhiều' hoặc 'nhiều-nhiều', ví dụ một khách hàng có thể có nhiều lần đặt phòng, một hóa đơn có thể bao gồm nhiều dịch vụ. Việc chuẩn hóa dữ liệu giúp loại bỏ sự dư thừa, đảm bảo tính nhất quán và tối ưu hóa tốc độ truy xuất thông tin, một yếu tố quan trọng đối với bất kỳ phần mềm quản lý nhà nghỉ nào.
4.2. Thiết kế giao diện phần mềm khách sạn thân thiện hiệu quả
Một giao diện phần mềm khách sạn hiệu quả phải đáp ứng được nhu cầu của nhiều đối tượng người dùng. Đối với nhân viên lễ tân, giao diện cần hiển thị sơ đồ phòng trực quan theo trạng thái (trống, đang ở, đang dọn), các chức năng check-in, check-out phải được truy cập nhanh chóng. Đối với quản lý, giao diện cần cung cấp các biểu đồ, bảng thống kê về công suất phòng, doanh thu theo ngày/tuần/tháng. Đồ án của sinh viên Duy Tân đã liệt kê các thiết kế giao diện chi tiết từ đăng nhập, quản lý khách hàng, quản lý phòng đến thanh toán và lập báo cáo, cho thấy sự đầu tư nghiêm túc vào trải nghiệm người dùng cuối.
4.3. Lựa chọn công nghệ lập trình phần mềm phù hợp cho dự án
Mặc dù tài liệu không nêu rõ công nghệ lập trình phần mềm được sử dụng, một dự án xây dựng website quản lý khách sạn hiện đại thường lựa chọn các công nghệ phổ biến. Ví dụ, phần backend có thể sử dụng Java (Spring Boot), C# (.NET Core) hoặc PHP (Laravel) để xử lý logic nghiệp vụ và tương tác với CSDL (MySQL, SQL Server). Phần frontend có thể được xây dựng bằng các framework JavaScript như React, Angular hoặc Vue.js để tạo ra một giao diện người dùng động và tương tác cao. Việc lựa chọn công nghệ phù hợp sẽ quyết định đến hiệu năng, khả năng bảo mật và khả năng bảo trì của toàn bộ hệ thống.