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

Trong những năm gần đây, ngành dịch vụ tại Việt Nam ghi nhận nhiều chuyển biến tích cực, đặc biệt là lĩnh vực giải trí và du lịch lữ hành. Ngành dịch vụ không chỉ đóng vai trò gia tăng giá trị cho các sản phẩm kinh tế, nâng cao chất lượng đời sống văn minh của người dân mà còn góp phần tái tạo sức lao động xã hội. Mặc dù vậy, thực tiễn hoạt động du lịch trong nước vẫn tồn tại nhiều hạn chế, tiêu biểu là tình trạng giá cả thiếu minh bạch ("chặt chém"), ứng xử chưa chuẩn mực với du khách, hạ tầng cơ sở và chất lượng dịch vụ chưa đồng đều, cùng công tác quản lý còn nhiều bất cập. Những vấn đề này gây trở ngại lớn cho khách du lịch trong việc tiếp cận thông tin chuẩn xác và lựa chọn dịch vụ phù hợp.

Vấn đề nghiên cứu trọng tâm được đặt ra là xây dựng một giải pháp công nghệ hỗ trợ du khách chủ động tìm hiểu, lập kế hoạch điểm đến, nắm bắt thông tin giá cả minh bạch trước chuyến đi, đồng thời hỗ trợ các đơn vị kinh doanh lữ hành quản lý và điều hành dịch vụ hiệu quả.

Đề tài xác định các nhiệm vụ nghiên cứu cụ thể như sau:

  1. Khảo sát hiện trạng thực tế và phân tích bài toán quản trị tour du lịch của các doanh nghiệp lữ hành.
  2. Thu thập, phân loại và xác định chi tiết các yêu cầu chức năng cùng các yêu cầu phi chức năng của hệ thống website.
  3. Thiết kế kiến trúc tổng thể của hệ thống theo mô hình 3 lớp (3-layer architecture).
  4. Phân tích thiết kế hệ thống thông qua các mô hình hóa chuẩn UML (biểu đồ ca sử dụng, biểu đồ tuần tự, biểu đồ hoạt động, biểu đồ lớp, biểu đồ triển khai) và luồng dữ liệu (DFD, biểu đồ phân rã chức năng).
  5. Thiết kế cơ sở dữ liệu quan hệ và xây dựng giao diện hoàn chỉnh cho cả hai phân hệ: Quản trị viên (Admin) và Người dùng (Client/User).

Đối tượng nghiên cứu của đồ án là quy trình quản lý thông tin, dịch vụ du lịch lữ hành và các tương tác nghiệp vụ giữa khách hàng với doanh nghiệp cung cấp dịch vụ. Phạm vi không gian và thời gian thực hiện nghiên cứu là Đồ án chuyên ngành thuộc ngành Kỹ thuật Phần mềm (Lớp D17PM03), Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một, tỉnh Bình Dương, hoàn thành vào tháng 11 năm 2020.


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

Đồ án ứng dụng mô hình kiến trúc phần mềm 3 lớp (3-layer architecture), phân tách ứng dụng theo các tầng vật lý và logic độc lập nhằm giảm độ kết dính (coupling) và nâng cao khả năng mở rộng, bảo trì:

  • Presentation Layer (Lớp giao diện người dùng - GUI): Thực hiện nhiệm vụ tương tác trực tiếp với người dùng qua giao diện Web form, tiếp nhận thông tin nhập liệu, hiển thị dữ liệu và thực hiện kiểm tra sơ bộ tính đúng đắn của dữ liệu trước khi gửi tới lớp xử lý nghiệp vụ.
  • Business Logic Layer (Lớp xử lý nghiệp vụ - BLL): Tiếp nhận yêu cầu thao tác dữ liệu từ lớp giao diện, kiểm tra các ràng buộc nghiệp vụ, tính toàn vẹn và hợp lệ của dữ liệu, thực hiện tính toán xử lý trước khi chuyển tiếp dữ liệu xuống lớp truy xuất hoặc trả kết quả về giao diện.
  • Data Access Layer (Lớp truy xuất dữ liệu - DAL): Chịu trách nhiệm giao tiếp trực tiếp với hệ quản trị cơ sở dữ liệu để thực thi các câu lệnh lưu trữ, truy vấn, thêm, xóa và cập nhật dữ liệu.

Phương pháp nghiên cứu được áp dụng trong đề tài bao gồm:

  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng hệ thống biểu đồ Use Case, Sequence Diagram, Activity Diagram, Class Diagram và Deployment Diagram.
  • Phương pháp phân tích cấu trúc luồng dữ liệu: Xây dựng biểu đồ phân rã chức năng và biểu đồ dòng dữ liệu (DFD) mức khung cảnh nhằm định hình luồng di chuyển của thông tin.
  • Phương pháp phát triển phần mềm thực nghiệm: Sử dụng ngôn ngữ lập trình PHP kết hợp cùng hệ quản trị cơ sở dữ liệu PHPMyAdmin để hiện thực hóa các chức năng trên nền tảng web.

Nguồn dữ liệu của đề tài được tổng hợp từ khảo sát thực tế về quy trình vận hành dịch vụ lữ hành, thông tin quản lý tour, địa điểm du lịch, khách sạn, nhà hàng và phương tiện vận chuyển.


Thiết kế và triển khai

Hệ thống được thiết kế và triển khai dựa trên nền tảng web với ngôn ngữ PHP và cơ sở dữ liệu quan hệ quản trị qua PHPMyAdmin.

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

Cơ sở dữ liệu của hệ thống gồm 8 bảng dữ liệu chuẩn hóa, phục vụ lưu trữ thông tin nghiệp vụ:

Tên bảng Tên cột Kiểu dữ liệu Đặc điểm Mô tả ý nghĩa
User Id
User_name
Password
Full_name
INT(10)
VARCHAR(255)
TEXT(100)
VARCHAR(255)
PK, Not null
-
-
-
Mã định danh người dùng
Tên tài khoản người dùng
Mật khẩu người dùng
Họ và tên đầy đủ người dùng
Tour id
tentour
hinhanh
gia
noidung
diemden
INT(10)
VARCHAR(255)
TEXT
INT(100)
TEXT
TEXT
PK, Not null
-
-
-
-
-
Mã định danh tour
Tên gọi của tour du lịch
Đường dẫn hình ảnh đại diện tour
Giá tour du lịch
Nội dung chi tiết lịch trình tour
Địa điểm đến của tour
Nhahang id
ten
diachi
noidung
gia
hinh
INT(20)
VARCHAR(255)
VARCHAR(255)
TEXT
INT(20)
TEXT
PK, Not null
-
-
-
-
-
Mã định danh nhà hàng
Tên nhà hàng
Địa chỉ nhà hàng
Nội dung mô tả nhà hàng
Mức giá nhà hàng
Hình ảnh nhà hàng
Khachsan id
ten
diachi
gia
hinh
noidung
INT(20)
VARCHAR(255)
VARCHAR(255)
INT(20)
TEXT
VARCHAR(255)
PK, Not null
-
-
-
-
-
Mã định danh khách sạn
Tên khách sạn
Địa chỉ khách sạn
Giá phòng khách sạn
Hình ảnh khách sạn
Nội dung chi tiết về khách sạn
Phuongtien id
ten
chongoi
gia
hinh
noidung
INT(20)
VARCHAR(255)
INT(20)
INT(20)
TEXT
VARCHAR(255)
PK, Not null
-
-
-
-
-
Mã định danh phương tiện
Tên loại phương tiện
Số lượng chỗ ngồi
Giá thuê phương tiện
Hình ảnh phương tiện
Nội dung mô tả phương tiện
gioithieu id
ten
ngay
hinhanh
noidung
INT(20)
VARCHAR(255)
TEXT
TEXT
TEXT
PK, Not null
-
-
-
-
Mã bài giới thiệu
Tiêu đề bài giới thiệu
Ngày đăng tin giới thiệu
Hình ảnh bài giới thiệu
Nội dung chi tiết giới thiệu
Hosocongty id
ten
dienthoai
email
gioithieu
diachi
fanpage
website
logo
youtube
zalo
maso
INT(20)
VARCHAR(255)
VARCHAR(255)
VARCHAR(255)
TEXT
VARCHAR(255)
VARCHAR(255)
VARCHAR(255)
TEXT
VARCHAR(255)
VARCHAR(255)
VARCHAR(255)
PK, Not null
-
-
-
-
-
-
-
-
-
-
-
Mã công ty
Tên doanh nghiệp lữ hành
Số điện thoại liên hệ
Hộp thư điện tử công ty
Mô tả tổng quan công ty
Địa chỉ trụ sở công ty
Địa chỉ trang Fanpage
Địa chỉ trang web công ty
Đường dẫn ảnh logo công ty
Kênh Youtube công ty
Tài khoản Zalo công ty
Mã số doanh nghiệp
Admin Id
User_name
Password
Full_name
INT(10)
VARCHAR(255)
TEXT
VARCHAR(255)
PK, Not null
-
-
-
Mã quản trị viên
Tên đăng nhập quản trị viên
Mật khẩu quản trị viên
Họ tên đầy đủ quản trị viên

Phân rã chức năng và kiến trúc triển khai

Hệ thống được tổ chức thành 2 tác nhân chính với các phân hệ tương ứng:

  • Phân hệ Quản trị (Admin): Quản lý toàn bộ danh mục thông tin gồm tour du lịch, nhà hàng, khách sạn, phương tiện, bài viết/giới thiệu, hồ sơ doanh nghiệp và tài khoản người dùng; tiếp nhận xử lý đặt chỗ và kiểm tra trạng thái xác nhận.
  • Phân hệ Người dùng (Client): Hỗ trợ khách vãng lai và thành viên đăng ký/đăng nhập, tìm kiếm tour theo địa điểm hoặc giá cả, xem thông tin chi tiết, đặt tour và các dịch vụ bổ trợ (nhà hàng, khách sạn, phương tiện), gửi bình luận và phản hồi.

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

Chương 1: Khảo sát hiện trạng và thu thập yêu cầu

Chương này tập trung trình bày thực trạng ngành du lịch, chỉ rõ các khó khăn trong việc tìm kiếm, lựa chọn điểm đến và quản lý tour lữ hành. Từ đó, tác giả đưa ra mô tả bài toán và xác định các yêu cầu của hệ thống:

  • Yêu cầu chức năng: Hệ thống cho phép hiển thị các tour nổi bật/mới nhất lên trang chủ; quản lý thông tin giới thiệu, lịch sử hình thành, banner, favicon, tiêu đề, từ khóa, footer; cung cấp công cụ tìm kiếm nhanh theo địa điểm và thời gian; quản lý các danh mục tour, nhà hàng, khách sạn, phương tiện (thêm, sửa, xóa, ẩn); theo dõi danh sách khách hàng tham gia tour và tình trạng xác nhận đơn đặt chỗ.
  • Yêu cầu phi chức năng: Website phải tối ưu dung lượng tải trang, tốc độ xử lý nhanh; giao diện trực quan và thân thiện với người dùng; thuật toán tính toán chi phí chính xác tuyệt đối; thực hiện mã hóa các thông tin nhạy cảm của khách hàng; đảm bảo tính an toàn dữ liệu khi vận hành trực tuyến.

Chương 2: Đặc tả yêu cầu

Chương 2 mô tả chi tiết các tác nhân, phân bổ chức năng và xây dựng hệ thống biểu đồ phân tích UML:

  • Tác nhân hệ thống: Gồm 2 tác nhân chính là Admin (quản trị, điều hành, theo dõi toàn bộ hệ thống) và User (người dùng truy cập tìm kiếm thông tin, xem bài viết, đặt tour/dịch vụ, bình luận, gửi phản hồi).
  • Danh mục 30 chức năng hệ thống: Được phân quyền cụ thể giữa Client và Admin theo bảng tổng hợp:
STT Tên chức năng Phân quyền Client Phân quyền Admin
1 Đăng ký tài khoản Có Không
2 Đăng nhập hệ thống Có Có
3 Xem thông tin địa điểm du lịch Có Có
4 Thêm thông tin địa điểm du lịch Không Có
5 Sửa thông tin địa điểm du lịch Không Có
6 Xóa thông tin địa điểm du lịch Không Có
7 Xem thông tin nhà hàng Có Có
8 Sửa thông tin nhà hàng Không Có
9 Thêm thông tin nhà hàng Không Có
10 Xóa thông tin nhà hàng Không Có
11 Xem thông tin khách sạn Có Có
12 Thêm thông tin khách sạn Không Có
13 Sửa thông tin khách sạn Không Có
14 Xóa thông tin khách sạn Không Có
15 Xem thông tin phương tiện Có Có
16 Thêm thông tin phương tiện Không Có
17 Sửa thông tin phương tiện Không Có
18 Xóa thông tin phương tiện Không Có
19 Xem tin tức hành trang Có Có
20 Xem thông tin cá nhân Có Có
21 Sửa thông tin cá nhân Có Có
22 Đặt phương tiện Có Không
23 Đặt nhà hàng Có Không
24 Đặt địa điểm du lịch Có Không
25 Đặt khách sạn Có Không
26 Thanh toán trực tuyến Có Không
27 Tìm kiếm địa điểm Có Có
28 Tìm kiếm khách sạn Có Có
29 Tìm kiếm nhà hàng Có Có
30 Tìm kiếm phương tiện Có Có
  • Đặc tả chi tiết 8 Use Case chính:
    1. UC Đăng ký: Cho phép người dùng nhập thông tin cá nhân để tạo tài khoản; hệ thống kiểm tra tính hợp lệ và lưu vào danh sách thành viên.
    2. UC Đăng nhập: Xác thực tên tài khoản và mật khẩu của người dùng hoặc quản trị viên; báo lỗi nếu thông tin không chính xác.
    3. UC Tìm kiếm: Tiếp nhận từ khóa từ người dùng/quản trị viên để truy xuất thông tin tour, dịch vụ hoặc bài viết phù hợp.
    4. UC Bình luận: Cho phép khách hàng gửi ý kiến, đánh giá về dịch vụ; hệ thống lưu trữ phục vụ việc theo dõi và giải đáp thắc mắc.
    5. UC Đặt tour: Cho phép khách hàng lựa chọn danh mục tour, phương tiện, khách sạn và lưu trữ thông tin đơn đặt chỗ vào hệ thống.
    6. UC Thanh toán: Hiển thị thông tin đơn hàng, kiểm tra tài khoản và xác nhận hoàn tất giao dịch đặt dịch vụ.
    7. UC Quản lý bài viết: Cung cấp công cụ cho Admin thực hiện thêm, sửa, xóa các bài viết thông tin tour.
    8. UC Quản lý người dùng: Cung cấp công cụ cho Admin theo dõi danh sách, thêm, sửa, xóa thông tin thành viên.
  • Hệ thống biểu đồ phân tích: Bao gồm 9 biểu đồ Use Case (Use Case chính, người dùng, đăng nhập, đăng ký, tìm kiếm, bình luận, quản lý bài viết, đặt dịch vụ, quản lý người dùng), Biểu đồ lớp (Class Diagram), 7 Biểu đồ tuần tự (Đăng nhập, Giải đáp thắc mắc, Xóa bình luận, Sửa bài viết, Thêm bài viết, Xem bài viết, Xóa bài viết), 4 Biểu đồ hoạt động (Tìm kiếm, Sửa bài viết, Xóa bài viết, Thêm bài viết) và Biểu đồ triển khai (Deployment Diagram).

Chương 3: Thiết kế kiến trúc hệ thống

Chương 3 trình bày cơ sở lý thuyết của kiến trúc 3 lớp (3-layer) và nêu bật 5 ưu điểm khi áp dụng:

  1. Code tường minh: Tách biệt các tầng xử lý giao diện, nghiệp vụ và truy vấn dữ liệu, giảm thiểu sự phụ thuộc lẫn nhau.
  2. Dễ bảo trì: Thay đổi trong một lớp được cô lập, hạn chế ảnh hưởng lan sang các thành phần khác.
  3. Dễ phát triển và tái sử dụng: Cung cấp chuẩn lập trình thống nhất; khi chuyển đổi môi trường giao diện chỉ cần chỉnh sửa tầng GUI.
  4. Dễ bàn giao: Quy chuẩn rõ ràng giúp tiết kiệm thời gian phối hợp và chuyển giao mã nguồn.
  5. Phân chia khối lượng công việc: Hỗ trợ phân công công việc theo từng tầng chuyên biệt cho các nhóm phát triển.

Bên cạnh đó, chương này chi tiết hóa Biểu đồ phân rã chức năng, Biểu đồ luồng dữ liệu (DFD) mức khung cảnh và đặc tả cấu trúc vật lý của 8 bảng dữ liệu (User, Tour, Nhahang, Khachsan, Phuongtien, gioithieu, Hosocongty, Admin).

Chương 4: Giao diện chương trình

Chương 4 thể hiện kết quả hiện thực hóa giao diện người dùng và quản trị:

  • Giao diện phân hệ Admin: Trang đăng nhập quản trị; các màn hình quản lý danh sách và form chức năng Thêm/Sửa tương ứng cho Tour du lịch, Nhà hàng, Khách sạn, Phương tiện, Bài viết giới thiệu và Hồ sơ công ty.
  • Giao diện phân hệ Người dùng (Client): Trang đăng ký tài khoản, Đăng nhập, Trang giới thiệu công ty; các trang danh sách, chi tiết và đề xuất dành cho Tour du lịch, Nhà hàng, Khách sạn, Phương tiện; Trang kết quả tìm kiếm dịch vụ.

Chương 5: Kết luận và hướng phát triển của đề tài

Chương 5 tóm lược các kết quả đạt được trong quá trình xây dựng hệ thống website quản lý tour du lịch, đồng thời nêu định hướng phát triển nhằm tiếp tục nâng cấp và hoàn thiện các chức năng của hệ thống trong tương lai.


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

Đồ án đã đạt được các kết quả cụ thể sau:

  • Xây dựng hoàn chỉnh tài liệu khảo sát, phân tích và đặc tả yêu cầu hệ thống website quản lý tour du lịch với 2 nhóm tác nhân (Admin và User), 30 chức năng nghiệp vụ và 8 ca sử dụng chi tiết.
  • Hoàn thiện mô hình thiết kế hệ thống theo kiến trúc 3 lớp bằng ngôn ngữ mô hình hóa UML, bao gồm 9 biểu đồ Use Case, biểu đồ lớp, 7 biểu đồ tuần tự, 4 biểu đồ hoạt động, biểu đồ triển khai, biểu đồ phân rã chức năng và biểu đồ luồng dữ liệu mức khung cảnh.
  • Thiết kế mô hình cơ sở dữ liệu quan hệ hoàn chỉnh với 8 bảng dữ liệu chuẩn hóa trên hệ quản trị PHPMyAdmin.
  • Hiện thực hóa hệ thống website trên ngôn ngữ lập trình PHP, bao gồm toàn bộ hệ thống giao diện chức năng cho phân hệ Admin (quản lý tour, dịch vụ, nội dung, hồ sơ công ty) và phân hệ Client (xem thông tin, tìm kiếm, đặt tour, đặt dịch vụ và thanh toán).
  • Đóng góp về mặt giải pháp ứng dụng: Cung cấp mô hình tin học hóa quy trình quản lý tour cho các doanh nghiệp lữ hành, hỗ trợ khách du lịch tiếp cận thông tin điểm đến và chi phí minh bạch, giảm thiểu các tiêu cực trong hoạt động du lịch thực tế.

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

  • Hạn chế: Tác giả tự đánh giá do hạn hẹp về mặt kiến thức, kỹ năng và kinh nghiệm thực tế trong quá trình phát triển phần mềm nên hệ thống vẫn còn những thiếu sót nhất định trong thiết kế và hiện thực hóa.
  • Hướng phát triển: Tiếp tục hoàn thiện các chức năng nâng cao, tối ưu hóa giao diện người dùng, nâng cao hiệu năng xử lý và tính bảo mật của hệ thống theo định hướng nghiên cứu mở rộng được đề xuất trong Chương 5.

Giá trị tham khảo

Đồ án này là tài liệu tham khảo phù hợp cho:

  • Sinh viên ngành Kỹ thuật Phần mềm, Công nghệ Thông tin, Hệ thống Thông tin: Tham khảo phương pháp phân tích thiết kế hệ thống hướng đối tượng qua UML và cách thức tổ chức ứng dụng web theo mô hình kiến trúc 3 lớp (3-layer architecture).
  • Người thực hiện đề tài phát triển ứng dụng quản lý dịch vụ/thương mại điện tử: Tham khảo cấu trúc đặc tả 30 ca sử dụng, hệ thống biểu đồ tuần tự/hoạt động, và thiết kế cơ sở dữ liệu quan hệ cho các bài toán quản lý dịch vụ du lịch, khách sạn, nhà hàng và phương tiện.
  • Phần đáng tham khảo nhất: Cấu trúc chi tiết của Chương 2 (Đặc tả yêu cầu và hệ thống biểu đồ UML) và Chương 3 (Mô hình 3 lớp kết hợp thiết kế 8 bảng cơ sở dữ liệu chi tiết).

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

1. Đồ án sử dụng ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu nào để xây dựng hệ thống?

Hệ thống website được phát triển bằng ngôn ngữ lập trình PHP, áp dụng mô hình kiến trúc 3 lớp (3-layer) và sử dụng hệ quản trị cơ sở dữ liệu PHPMyAdmin để lưu trữ và quản lý dữ liệu.

2. Hệ thống website phân chia những nhóm tác nhân nào và có bao nhiêu chức năng được thiết kế?

Hệ thống xác định 2 tác nhân chính là Admin (quản trị viên điều hành, theo dõi toàn bộ hoạt động của hệ thống) và User (người dùng/khách hàng truy cập website). Hệ thống thiết kế tổng cộng 30 chức năng nghiệp vụ, phân quyền rõ ràng giữa Client và Admin.

3. Mô hình kiến trúc 3 lớp trong đồ án gồm những thành phần nào?

Kiến trúc gồm 3 lớp xử lý độc lập:

  • Presentation Layer (GUI): Lớp giao tiếp với người dùng, thu thập dữ liệu nhập và hiển thị.
  • Business Logic Layer (BLL): Lớp xử lý các quy tắc nghiệp vụ, kiểm tra ràng buộc toàn vẹn và tính toán.
  • Data Access Layer (DAL): Lớp giao tiếp trực tiếp với hệ quản trị cơ sở dữ liệu để thực hiện truy vấn và lưu trữ.

4. Cơ sở dữ liệu của hệ thống quản lý tour du lịch bao gồm những bảng nào?

Cơ sở dữ liệu gồm 8 bảng dữ liệu: User (thành viên), Tour (thông tin tour), Nhahang (dịch vụ nhà hàng), Khachsan (dịch vụ lưu trú), Phuongtien (phương tiện di chuyển), gioithieu (bài viết giới thiệu), Hosocongty (hồ sơ doanh nghiệp) và Admin (tài khoản quản trị viên).

5. Tác giả đã xây dựng những biểu đồ tuần tự (Sequence Diagram) nào trong đồ án?

Đồ án xây dựng 7 biểu đồ tuần tự cụ thể gồm: Biểu đồ tuần tự "Đăng nhập", "Giải đáp thắc mắc", "Xóa bình luận", "Sửa bài viết", "Thêm bài viết", "Xem bài viết" và "Xóa bài viết".


Kết luận

Đồ án chuyên ngành "Xây dựng hệ thống website quản lý tour du lịch" do sinh viên Nguyễn Thị Tố Tâm thực hiện tại Trường Đại học Thủ Dầu Một đã giải quyết bài toán quản lý và minh bạch hóa dịch vụ du lịch lữ hành. Bằng việc kết hợp phương pháp phân tích thiết kế hướng đối tượng UML, mô hình kiến trúc 3 lớp cùng ngôn ngữ PHP và cơ sở dữ liệu PHPMyAdmin, tác giả đã hoàn thiện cả 2 phân hệ quản trị và người dùng với đầy đủ chức năng quản lý tour, đặt dịch vụ và thanh toán. Công trình là tài liệu tham khảo hữu ích cho sinh viên công nghệ thông tin trong việc nghiên cứu và triển khai các hệ thống web quản lý dịch vụ.