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

Ngành du lịch và khách sạn trong bối cảnh phát triển kinh tế và bùng nổ du lịch toàn cầu đang chứng kiến sự gia tăng nhanh chóng về số lượng cơ sở lưu trú, kéo theo áp lực cạnh tranh gay gắt. Để duy trì khả năng cạnh tranh và mở rộng thị phần, các doanh nghiệp khách sạn buộc phải nâng cao hiệu quả quảng bá thương hiệu, đồng thời cung cấp phương thức tiếp cận và đặt phòng trực tuyến thuận tiện cho khách hàng. Website được xác định là công cụ cốt lõi trong chiến lược tiếp thị số, đóng vai trò là kênh giao tiếp trực tiếp giúp thu hút du khách mới và duy trì mối liên kết với khách hàng cũ.

Tuy nhiên, rào cản lớn nhất đối với nhiều khách sạn vừa và nhỏ là chi phí đầu tư, xây dựng và duy trì một hệ thống website độc lập tương đối tốn kém. Nhằm giải quyết bài toán kinh tế này, tác giả đề xuất giải pháp áp dụng mô hình website chuẩn hóa, có khả năng tùy biến linh hoạt dựa trên nền tảng hệ thống quản trị nội dung (CMS). Thông qua việc chia sẻ nền tảng kỹ thuật và tái sử dụng các mẫu thiết kế (template), các khách sạn có thể sở hữu một trang web chuyên nghiệp, cho phép tùy chỉnh nhận diện (logo, màu sắc, hình ảnh) mà không đòi hỏi nhân sự phải có kỹ năng lập trình chuyên sâu.

Đề tài được triển khai với sự phối hợp nghiên cứu và hỗ trợ từ các đồng nghiệp tại Công ty TNHH NetDigital. Mục tiêu của đồ án được xác định cụ thể gồm 03 nhiệm vụ trọng tâm:

  1. Hỗ trợ nhiều khách sạn cùng một lúc: Hệ thống có khả năng cung cấp và vận hành dịch vụ web cho nhiều khách sạn khác nhau trên cùng một nền tảng, trong đó mỗi khách sạn được gắn với một tên miền riêng biệt.
  2. Cho phép chỉnh sửa các thông tin cần thiết: Đại diện các khách sạn có thể tự cấu hình, cập nhật thông tin và dữ liệu kinh doanh của đơn vị mình dựa trên các mẫu giao diện có sẵn.
  3. Hỗ trợ tính năng đặt phòng trực tuyến: Cung cấp giao diện tương tác cho phép khách hàng tra cứu thông tin phòng nghỉ, dịch vụ và gửi yêu cầu đặt phòng trực tiếp trên website của từng khách sạn.

Đối tượng nghiên cứu của đồ án là quy trình quản lý thông tin khách sạn và luồng nghiệp vụ đặt phòng trực tuyến trong môi trường ứng dụng web đa người dùng. Phạm vi nghiên cứu tập trung vào việc phân tích yêu cầu, thiết kế kiến trúc và hiện thực hóa phần mềm website quản lý khách sạn; đồ án tốt nghiệp được hoàn thành vào tháng 04 năm 2024 thuộc Khoa Công nghệ thông tin, Trường Đại học Bà Rịa – Vũng Tàu.


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

Khung công nghệ và nền tảng phát triển

Đồ án ứng dụng mô hình phát triển ứng dụng web hiện đại dựa trên ngăn xếp công nghệ mã nguồn mở, bao gồm:

  • Framework backend (Laravel Framework): Laravel là nền tảng mã nguồn mở phát triển trên ngôn ngữ PHP do Taylor Otwell sáng lập năm 2011. Đồ án khai thác các đặc tính cốt lõi của Laravel từ mốc phát triển Laravel 5 (năm 2015 với việc tích hợp trình quản trị thư viện Composer), bao gồm:
    • Hệ thống định tuyến (Routing): Quản lý và điều hướng các tuyến URL đến bộ điều khiển (Controller).
    • Cơ chế Eloquent ORM: Ánh xạ đối tượng quan hệ, tối ưu hóa thao tác truy vấn và quản lý cơ sở dữ liệu.
    • Blade Templating Engine: Công cụ tạo khuôn mẫu giao diện, hỗ trợ tái sử dụng mã nguồn và chia nhỏ giao diện người dùng.
    • Xác thực và phân quyền (Authentication & Authorization): Bộ công cụ tích hợp sẵn phục vụ đăng nhập, quản lý phiên làm việc và kiểm soát quyền truy cập của người dùng.
    • Tầng trung gian (Middleware): Kiểm tra, lọc các yêu cầu HTTP trước khi chuyển tiếp vào hệ thống xử lý nội bộ.
    • Hỗ trợ kiểm thử (Testing Support): Khả năng tương thích với PHPUnit (kiểm thử đơn vị) và Laravel Dusk (kiểm thử giao diện tự động).
  • Công nghệ Frontend:
    • HTML (HTML5): Định nghĩa cấu trúc tài liệu siêu văn bản và các thành phần giao diện.
    • CSS: Định hình phong cách bố cục, màu sắc và kiểu dáng hiển thị.
    • JavaScript: Xử lý các tương tác động trên trình duyệt, kết nối dữ liệu máy chủ bất đồng bộ qua Ajax hoặc Fetch API mà không cần tải lại toàn bộ trang.
    • Thư viện hỗ trợ: Tích hợp framework Bootstrap 5 để xây dựng giao diện tương thích (responsive) và thư viện biểu tượng Fontawesome.
  • Hệ quản trị cơ sở dữ liệu (MySQL): Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở do Oracle Corporation duy trì, hỗ trợ quản trị trực quan qua phpMyAdmin và MySQL Workbench, đáp ứng nhu cầu lưu trữ dữ liệu có cấu trúc với tính toàn vẹn cao.

Phương pháp nghiên cứu và phát triển phần mềm

Tác giả áp dụng phương pháp phân tích và thiết kế hệ thống hướng đối tượng thông qua công cụ mô hình hóa trực tuyến Draw.io. Các mô hình kỹ thuật được xây dựng bao gồm:

  • Đặc tả ca sử dụng (UseCase Specification): Định nghĩa chi tiết tên ca sử dụng, tóm tắt chức năng, tác nhân, độ ưu tiên, điều kiện tiên quyết, điều kiện sau, luồng sự kiện cơ bản (Basic Flow) và luồng ngoại lệ (Exception Flow).
  • Biểu đồ ca sử dụng (UseCase Diagram): Phân rã ranh giới hệ thống, thiết lập mối quan hệ và sự phụ thuộc giữa các chức năng.
  • Biểu đồ hoạt động (Activity Diagram): Mô tả tuần tự các bước xử lý dữ liệu và luồng điều khiển của từng nghiệp vụ.

Nguồn dữ liệu phục vụ nghiên cứu bao gồm các tài liệu khảo sát nghiệp vụ đặt phòng khách sạn thực tế, các quy chuẩn thiết kế giao diện web du lịch và bộ dữ liệu thử nghiệm nội bộ về phòng nghỉ, dịch vụ, tin tức được số hóa trong hệ thống MySQL.


Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc ứng dụng web đa tác nhân, phục vụ 03 nhóm đối tượng với quyền hạn và phạm vi truy cập phân định rõ ràng.

Tác nhân (Actor) Phạm vi quyền hạn Nghiệp vụ chính thực hiện
Người quản trị (Admin) Toàn quyền kiểm soát hệ thống Quản trị danh mục tất cả khách sạn; tạo dữ liệu mẫu cho tin tức, dịch vụ; quản lý tài khoản người dùng; phân quyền hệ thống.
Khách sạn (Hotel Manager) Quản lý độc lập theo từng khách sạn Cấu hình nhận diện trang web (chọn Mẫu 1 hoặc Mẫu 2, đổi logo, thông tin); quản lý phòng, dịch vụ, tin tức, hình ảnh; theo dõi danh sách khách đặt phòng.
Khách hàng (Customer) Khách vãng lai truy cập website Xem trang chủ, danh sách và chi tiết phòng nghỉ; tra cứu tin tức, dịch vụ, thư viện hình ảnh; gửi phiếu đăng ký đặt phòng trực tuyến.

Kiến trúc phần mềm được tổ chức theo mô hình phân tầng tiêu chuẩn của Laravel, kết nối trực tiếp với cơ sở dữ liệu MySQL thông qua tệp cấu hình môi trường. Hệ thống cung cấp hai nhóm giao diện:

  1. Phân hệ quản trị (Admin Dashboard):

    • Bảo mật và tài khoản: Module Đăng nhập sử dụng cơ chế xác thực của Laravel để phân loại vai trò; Module Đổi mật khẩu kiểm tra tính hợp lệ của mật khẩu cũ và sự trùng khớp của mật khẩu mới.
    • Quản trị nội dung kinh doanh: Cung cấp đầy đủ các thao tác Xem danh sách, Tìm kiếm, Thêm, Sửa, Xóa đối với 04 thực thể chính gồm Tin tức, Dịch vụ, Phòng nghỉ và Hình ảnh. Trong đó, chức năng xóa tin tức áp dụng cơ chế xóa mềm (dữ liệu bị ẩn khỏi giao diện nhưng tiếp tục được lưu trữ trong cơ sở dữ liệu để bảo đảm an toàn dữ liệu).
    • Quản lý người dùng: Hỗ trợ thêm mới tài khoản khách sạn, chỉnh sửa thông tin người dùng và xử lý ngoại lệ khi xóa tài khoản đang có ràng buộc dữ liệu.
    • Cấu hình giao diện mẫu: Cho phép khách sạn lựa chọn giữa các template có sẵn (Mẫu 1, Mẫu 2) và tùy biến thông tin liên hệ, hình ảnh đại diện của cơ sở.
    • Quản lý đặt phòng: Cho phép bộ phận quản lý khách sạn truy xuất danh sách đơn đặt phòng và xem thông tin chi tiết của từng lượt khách hàng đăng ký.
  2. Phân hệ người dùng công cộng (Client Website):

    • Trang chủ: Hiển thị thanh điều hướng (Header), danh mục các loại phòng nổi bật, tin tức mới nhất và chân trang (Footer) chứa thông tin liên hệ chuẩn hóa.
    • Các trang thành phần: Trang phòng nghỉ (kèm trang chi tiết thông tin phòng), trang dịch vụ (kèm trang chi tiết dịch vụ), trang tin tức (kèm trang chi tiết bài viết), trang thư viện hình ảnh.
    • Module đặt phòng: Cung cấp form nhập thông tin cá nhân và thông tin lưu trú của khách, tích hợp cơ chế kiểm tra tính hợp lệ của dữ liệu đầu vào và hiển thị cảnh báo lỗi trực quan khi có sai sót.

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

Chương 1: Giới thiệu đề tài

Chương mở đầu tập trung trình bày bối cảnh thực tiễn của ngành du lịch - khách sạn và sự cần thiết của chuyển đổi số thông qua kênh website. Tác giả phân tích những hạn chế về chi phí khi mỗi cơ sở lưu trú phải tự đầu tư xây dựng phần mềm độc lập, từ đó đưa ra hướng giải quyết là xây dựng một nền tảng dùng chung hỗ trợ nhiều khách sạn với khả năng cấu hình theo mẫu chuẩn hóa. Chương này cũng phân tích chi tiết cơ sở lý thuyết của các công nghệ được lựa chọn: công nghệ giao diện web (HTML, CSS, JavaScript), lịch sử và các đặc tính của framework Laravel (Routing, Eloquent ORM, Blade, Middleware, Authentication, Testing Support với PHPUnit/Laravel Dusk, Composer), cùng các ưu điểm về hiệu năng và quản trị của cơ sở dữ liệu MySQL.

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

Chương 2 là phần nội dung kỹ thuật trọng tâm của đồ án, mô tả toàn diện quy trình phân tích hướng đối tượng bằng công cụ Draw.io. Tác giả xác định 03 nhóm tác nhân chính và biểu diễn mối quan hệ thông qua biểu đồ ca sử dụng tổng quát (Hình 2). Tiếp đó, tác giả xây dựng hệ thống tài liệu đặc tả chức năng bao gồm 37 bảng đặc tả ca sử dụng (từ Bảng 1 đến Bảng 37) và hơn 70 biểu đồ UseCase cùng biểu đồ Activity tương ứng:

  • Nhóm quản trị tài khoản và hệ thống: Đăng nhập (Bảng 1, Hình 3-4), Đổi mật khẩu (Bảng 2, Hình 5-6), Quản lý người dùng (Bảng 22-26, Hình 45-54).
  • Nhóm nghiệp vụ cốt lõi: Quản lý thông tin khách đặt phòng (Bảng 3, Hình 7-8), Quản trị tin tức (Bảng 4-8, Hình 9-18), Quản trị dịch vụ (Bảng 9-13, Hình 19-27), Quản trị phòng nghỉ (Bảng 14-18, Hình 28-37), Quản trị hình ảnh (Bảng 19-21, Hình 38-44).
  • Nhóm cấu hình giao diện: Cấu hình mẫu trang web (Bảng 27, Hình 55-56 và các màn hình Mẫu 1, Mẫu 2).
  • Nhóm giao diện khách hàng: Xem trang chủ, phòng nghỉ, dịch vụ, tin tức, hình ảnh và Đặt phòng (Bảng 28-37, Hình 57-76).

Chương này cũng hoàn thiện các bản thiết kế giao diện tĩnh và thiết kế mô hình thực thể quan hệ cho cơ sở dữ liệu MySQL.

Chương 3: Xây dựng phần mềm

Chương 3 trình bày chi tiết kết quả hiện thực hóa phần mềm dựa trên các bản thiết kế từ Chương 2. Nội dung mở đầu bằng việc tổ chức cấu trúc thư mục dự án Laravel và thiết lập tệp cấu hình kết nối cơ sở dữ liệu MySQL. Tác giả minh họa trực quan kết quả triển khai thông qua các giao diện chức năng cụ thể:

  • Giao diện quản trị: Màn hình đăng nhập kèm thông báo bắt lỗi khi tài khoản không tồn tại; màn hình bảng điều khiển riêng biệt giữa quyền Admin tổng và quyền quản trị của từng khách sạn; giao diện đổi mật khẩu với các trường hợp xử lý sai mật khẩu cũ hoặc mật khẩu nhập lại không khớp; giao diện bảng danh sách và form nhập liệu của các module Tin tức, Dịch vụ, Phòng nghỉ, Hình ảnh, Người dùng (kèm các hộp thoại xác nhận xóa dữ liệu hoặc cảnh báo lỗi khi xóa tài khoản bị ràng buộc).
  • Giao diện cấu hình mẫu: Các màn hình lựa chọn giao diện (Mẫu 1, Mẫu 2) và các form cập nhật thông tin giới thiệu, liên hệ, tải lên tệp tin hình ảnh đại diện.
  • Giao diện khách hàng: Hiện thực hóa đầy đủ trang chủ (Header, danh mục phòng, khối tin tức, Footer), trang danh sách và trang chi tiết phòng/dịch vụ/tin tức/hình ảnh, cùng form tiếp nhận thông tin đặt phòng trực tuyến có kiểm tra tính hợp lệ dữ liệu.

Phần cuối của chương tổng hợp các kết quả thực nghiệm đạt được, phân tích những điểm còn hạn chế và vạch ra định hướng phát triển phần mềm trong tương lai.


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

  • Kết quả kỹ thuật đạt được:
    • Xây dựng hoàn chỉnh hệ thống website quản lý khách sạn theo mô hình đa khách sạn trên nền tảng framework Laravel và hệ quản trị cơ sở dữ liệu MySQL.
    • Hiện thực hóa mô hình phân quyền chặt chẽ giữa 03 tác nhân (Người quản trị, Khách sạn, Khách hàng), đảm bảo tính cô lập dữ liệu giữa các khách sạn trên cùng một hệ thống.
    • Triển khai cơ chế cấu hình linh hoạt theo các mẫu giao diện chuẩn hóa (Mẫu 1 và Mẫu 2), cho phép các khách sạn tự cập nhật nội dung và thương hiệu mà không cần can thiệp vào mã nguồn.
    • Hoàn thành bộ tài liệu phân tích thiết kế phần mềm quy chuẩn với 37 bảng đặc tả ca sử dụng chi tiết cùng hơn 70 biểu đồ UseCase và Activity diagram mô tả đầy đủ các kịch bản thực thi và luồng ngoại lệ.
    • Cài đặt cơ chế an toàn dữ liệu thông qua tính năng xóa mềm (soft delete) đối với dữ liệu bài viết tin tức.
  • Đóng góp thực tiễn tác giả tự nêu:
    • Đưa ra giải pháp công nghệ trực tiếp nhằm giải quyết bài toán giảm thiểu chi phí phát triển và vận hành website cho các khách sạn vừa và nhỏ.
    • Thiết lập một mô hình hệ thống có khả năng hỗ trợ đồng thời nhiều khách sạn hoạt động với các tên miền độc lập, thúc đẩy quá trình số hóa kênh bán phòng trực tiếp của doanh nghiệp lưu trú.

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

  • Hạn chế còn tồn đọng: Tác giả tự nhìn nhận rằng do giới hạn về mặt thời gian thực hiện đồ án và kinh nghiệm thực tế của bản thân, sản phẩm phần mềm vẫn còn một số điểm thiếu sót. Số lượng mẫu giao diện chuẩn hóa hiện tại còn ít (mới chỉ triển khai Mẫu 1 và Mẫu 2). Ngoài ra, các tính năng chuyên sâu trong quy trình nghiệp vụ khách sạn chưa được mở rộng toàn diện.
  • Hướng phát triển trong tương lai:
    • Bổ sung và đa dạng hóa thêm nhiều mẫu giao diện website chuẩn hóa để khách sạn có thêm lựa chọn phù hợp với phong cách kiến trúc và định vị thương hiệu.
    • Tích hợp sâu các công cụ tối ưu hóa công cụ tìm kiếm (SEO) và tích hợp các kênh mạng xã hội nhằm nâng cao khả năng tiếp cận khách hàng tiềm năng.
    • Xây dựng và hoàn thiện thêm các tính năng tương tác khách hàng như hệ thống phản hồi, đánh giá chất lượng dịch vụ trực tuyến.

Giá trị tham khảo

Đồ án tốt nghiệp này 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 hoặc các chuyên ngành liên quan đang thực hiện đồ án tốt nghiệp về chủ đề xây dựng hệ thống thông tin quản lý trên nền tảng Web.

Nội dung tài liệu mang lại giá trị học thuật và thực tiễn rõ rệt ở các khía cạnh:

  • Cung cấp phương pháp mẫu mực về việc lập tài liệu phân tích hệ thống hướng đối tượng: Các bảng đặc tả UseCase Specification và biểu đồ Activity Diagram được xây dựng chi tiết cho từng tác vụ CRUD, là tài liệu chuẩn để sinh viên học hỏi cách viết tài liệu kỹ thuật phần mềm.
  • Cung cấp cấu trúc tham khảo về bài toán quản trị đa khách sạn (multi-tenant cơ bản) và cơ chế cấu hình mẫu giao diện động (template configuration) trên nền tảng PHP/Laravel.

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

1. Đồ án giải quyết bài toán chi phí xây dựng website cho các khách sạn bằng phương pháp nào?

Tác giả đề xuất xây dựng một hệ thống website quản lý dùng chung cho nhiều khách sạn trên nền tảng CMS, ứng dụng các mẫu thiết kế chuẩn hóa và linh hoạt (như Mẫu 1, Mẫu 2). Thay vì mỗi khách sạn phải chi trả toàn bộ chi phí phát triển riêng biệt từ đầu, mô hình này giúp các cơ sở lưu trú chia sẻ chi phí hạ tầng, dễ dàng tùy biến thông tin, màu sắc, logo theo đặc điểm riêng mà không đòi hỏi nhân sự phải có kiến thức lập trình.

2. Hệ thống phân chia quyền hạn cho những nhóm tác nhân nào?

Theo phân tích của đồ án, hệ thống có 03 tác nhân trực tiếp:

  • Người quản trị (Admin): Quản lý thông tin của tất cả các khách sạn trên hệ thống, quản lý người dùng và thêm dữ liệu cho các trang mẫu.
  • Khách sạn: Đăng nhập để tự quản lý các danh mục dữ liệu của riêng khách sạn mình (tin tức, dịch vụ, phòng nghỉ, hình ảnh), lựa chọn mẫu giao diện và xem thông tin khách đặt phòng.
  • Khách hàng của khách sạn: Người dùng truy cập website qua tên miền của khách sạn để tra cứu nội dung giới thiệu, thông tin dịch vụ, phòng nghỉ và thực hiện thao tác đặt phòng trực tuyến.

3. Công nghệ nền tảng nào được sử dụng để xây dựng hệ thống?

Đồ án sử dụng framework Laravel (nền tảng PHP mã nguồn mở) cho phần xử lý phía máy chủ (backend) kết hợp cùng hệ quản trị cơ sở dữ liệu quan hệ MySQL. Phía giao diện người dùng (frontend) được xây dựng bằng bộ ba công nghệ HTML (HTML5), CSS, JavaScript, đồng thời tích hợp thêm framework giao diện Bootstrap 5 và thư viện biểu tượng Fontawesome.

4. Cơ chế xóa dữ liệu tin tức trong hệ thống được xử lý như thế nào?

Theo bảng đặc tả chức năng xóa tin tức, khi người dùng thực hiện xóa một tin tức, tin tức đó sẽ không còn được hiển thị trên giao diện người dùng bên ngoài, tuy nhiên bản ghi dữ liệu vẫn được lưu trữ trong cơ sở dữ liệu MySQL (áp dụng kỹ thuật xóa mềm) để đề phòng rủi ro mất mát dữ liệu hoặc phục vụ kiểm tra về sau.

5. Hệ thống đã triển khai những mẫu giao diện nào cho các khách sạn lựa chọn?

Trong phân hệ cấu hình mẫu trang web tại Chương 3, hệ thống đã hoàn thiện giao diện và chức năng cho phép người dùng lựa chọn giữa 02 mẫu thiết kế chuẩn hóa là "Mẫu 1" và "Mẫu 2", sau đó tiến hành cấu hình chi tiết thông tin và tải lên hình ảnh đại diện tương ứng với mẫu đã chọn.


Kết luận

Đồ án tốt nghiệp "Xây dựng website quản lý khách sạn" của sinh viên Trương An Khang đã hoàn thành mục tiêu nghiên cứu và hiện thực hóa một giải pháp phần mềm quản trị trực tuyến thiết thực cho ngành lưu trú. Bằng việc kết hợp kiến trúc MVC hiện đại của Laravel Framework, hệ quản trị cơ sở dữ liệu MySQL và quy trình phân tích thiết kế bài bản bằng Draw.io, đề tài đã giải quyết hiệu quả bài toán tối ưu chi phí thông qua cơ chế quản lý đa khách sạn và tùy biến giao diện theo mẫu chuẩn hóa. Đây là một công trình đồ án tốt nghiệp có cấu trúc kỹ thuật chặt chẽ, đầy đủ các khâu từ đặc tả nghiệp vụ, mô hình hóa luồng xử lý đến thử nghiệm giao diện thực tế, có giá trị ứng dụng và tham khảo cao cho sinh viên ngành Công nghệ thông tin.