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

Đề tài "Phân Tích Thiết Kế Hệ Thống Quản Lý Tour Du Lịch" là đồ án môn học thuộc học phần Phân tích thiết kế phần mềm, do nhóm sinh viên Khoa Công nghệ Thông tin - Trường Đại học Ngoại ngữ - Tin học Thành phố Hồ Chí Minh (HUFLIT) thực hiện dưới sự hướng dẫn của ThS. Thái Thị Thanh Thảo, hoàn thành vào ngày 01 tháng 04 năm 2024 (năm học 2023 - 2024).

Bối cảnh thực tiễn của đề tài xuất phát từ nhu cầu xây dựng một nền tảng du lịch trực tuyến thân thiện, giúp người dùng dễ dàng tiếp cận, tìm kiếm thông tin và đăng ký tham gia các chuyến du lịch phù hợp với sở thích cá nhân, đồng thời số hóa quy trình quản lý và vận hành dịch vụ lữ hành cho các đơn vị kinh doanh du lịch.

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

  1. Xác định và thiết lập 12 nhóm giả định nghiệp vụ cho hệ thống quản lý tour du lịch.
  2. Đặc tả các yêu cầu chức năng và yêu cầu phi chức năng phục vụ 4 nhóm tác nhân sử dụng.
  3. Xây dựng mô hình hóa hệ thống bằng ngôn ngữ UML (bao gồm Use Case Diagram, Sequence Diagram, Activity Diagram, State Machine Diagram, Class Diagram) và mô hình dữ liệu thực thể - liên kết (ERD).
  4. Thực hiện đặc tả chi tiết cho 35 ca sử dụng (Use Case) từ mức tổng quát đến các luồng sự kiện chi tiết, kịch bản thay thế và tình huống lỗi.
  5. Thiết kế giao diện mẫu (mockup) cho các phân hệ chức năng chính của hệ thống.

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

  • Đối tượng nghiên cứu: Quy trình phân tích, thiết kế hệ thống thông tin phục vụ quản lý tour, đối tác, phương tiện, nhân sự và giao dịch đặt tour du lịch.
  • Phạm vi không gian và nghiệp vụ: Hệ thống website tập trung quản lý thông tin chi tiết về tour du lịch (lịch trình, hướng dẫn viên, xe, tài xế, đối tác, khách sạn, địa điểm, đặt chỗ); hỗ trợ ngôn ngữ tiếng Việt và đơn vị tiền tệ VNĐ; không bao gồm các nội dung tin tức du lịch hay bài đánh giá địa điểm tự do ngoài tour.
  • Phạm vi thời gian: Đồ án được triển khai và hoàn thành trong thời gian 12 tuần học (khoảng 3 tháng) của học kỳ môn học.

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

Đồ án áp dụng phương pháp luận phân tích và thiết kế hệ thống hướng đối tượng (OOAD) kết hợp với các chuẩn mô hình hóa phần mềm:

  • Khung lý thuyết và mô hình kỹ thuật: Sử dụng ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language - UML) để trực quan hóa cấu trúc và hành vi hệ thống qua Use Case Diagram, Sequence Diagram, Activity Diagram, State Machine Diagram và Class Diagram. Cấu trúc dữ liệu quan hệ được mô hình hóa thông qua sơ đồ thực thể liên kết (Entity-Relationship Diagram - ERD).
  • Phương pháp thu thập và phân tích yêu cầu: Phân rã chức năng theo vai trò người dùng, xây dựng ma trận quan hệ giữa tác nhân và ca sử dụng (Actor - Use Case Matrix), phân tích yêu cầu phi chức năng về hiệu năng, bảo mật, độ tin cậy và thiết kế giao diện.
  • Phương pháp đặc tả ca sử dụng chuẩn hóa: Mỗi ca sử dụng được cấu trúc thành các trường thông tin nhất quán bao gồm: Tên ca sử dụng (Name), Mã định danh (Code), Tóm tắt (Short description), Tác nhân (Actor), Điều kiện kích hoạt (Trigger), Điều kiện tiên quyết (Pre-condition), Điều kiện sau (Post-condition), Luồng sự kiện chính (Standard process), Luồng rẽ nhánh/thay thế (Alternative process), Tình huống lỗi (Error situations) và Trạng thái hệ thống khi gặp lỗi (System state in error situations).
  • Nguồn dữ liệu: Dữ liệu nghiệp vụ mô phỏng từ các hoạt động thực tế của doanh nghiệp lữ hành, bao gồm quản lý phương tiện, tài xế, hướng dẫn viên, đối tác khách sạn và đơn đặt chỗ của khách hàng.

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

Tài liệu báo cáo có độ dài 87 trang, được cấu trúc thành các phần nội dung chính như sau:

Danh mục bảng biểu, hình ảnh và phân công công việc

Tài liệu cung cấp danh mục gồm 36 hình ảnh sơ đồ kỹ thuật, 38 bảng biểu đặc tả, danh mục từ viết tắt (UC, ERD) và bảng phân công trách nhiệm chi tiết cho 5 thành viên trong Nhóm 15:

Thành viên Mã số sinh viên Vai trò Nhiệm vụ đảm nhiệm trong đồ án
Lê Võ Quý Tiên 22DH113688 Nhóm trưởng Đặc tả hệ thống, Use Case Diagram; Đặc tả UC 2-4, 14-16, 20, 29-34; Sequence Diagram UC 2; Activity Diagram UC 16, 30; Class Diagram; Viết báo cáo
Kim Bichlara 22DH110352 Thành viên Đặc tả UC 1, 9, 13, 17-19; Sequence Diagram UC 1, 13; Activity Diagram UC 17, 18; Entity-Relationship Diagram (ERD); Giao diện mockup
Châu Lệ Kiều Ly 22DH112082 Thành viên Đặc tả hệ thống, Giả định cho hệ thống; Đặc tả UC 10-12, 22, 23, 26; Sequence Diagram UC 10; Activity Diagram UC 22, 26
Đặng Anh Phát 22DH112667 Thành viên Phạm vi hệ thống, Ma trận Actor - Use Case; Đặc tả UC 5, 21, 35; Sequence Diagram UC 21; Activity Diagram UC 5, 35
Văng Công Thái Toàn 22DH113801 Thành viên Đặc tả hệ thống; Đặc tả UC 6-8, 24, 25, 27, 28; Sequence Diagram UC 6; Activity Diagram UC 24, 25; State Machine Diagram; Giao diện mockup

Phần I: Giới thiệu chung và các giả định hệ thống

Phần này làm rõ mục tiêu hướng tới một trang web du lịch tiện ích, thân thiện và thiết lập 12 giả định nền tảng (Assumptions) cho hệ thống, bao gồm:

  1. Giả định về người dùng: Phục vụ khách hàng cá nhân, công ty du lịch và quản trị viên với các phân quyền riêng biệt.
  2. Giả định về tour du lịch: Hỗ trợ đa dạng loại hình (trong nước, quốc tế, đất liền, biển đảo, tham quan, phiêu lưu) với đầy đủ thông tin về giá, lịch trình, thời gian và số chỗ trống.
  3. Giả định về quản lý đặt tour: Cho phép khách hàng tìm kiếm, đặt chỗ, sửa thông tin chỗ, đổi ngày và hủy đặt chỗ; quản trị viên có quyền tiếp nhận, xử lý và xác nhận đơn.
  4. Giả định về quản lý khách hàng: Lưu trữ thông tin cá nhân và lịch sử giao dịch phục vụ quản lý và tạo chương trình tri ân khách hàng thân thiết.
  5. Giả định về quản lý tour, địa điểm, lịch trình, hướng dẫn viên, đối tác, xe, tài xế và tài khoản: Quy định rõ việc cập nhật, duy trì thông tin chính xác, gắn kết hướng dẫn viên và tài xế với các xe và chuyến đi tương ứng.

Phần II: Phân tích thiết kế hệ thống

Đây là nội dung trọng tâm của đồ án, bao gồm:

  • Phạm vi hệ thống và Yêu cầu phi chức năng: Đặt ra các tiêu chuẩn về hiệu suất (phản hồi nhanh khi tìm kiếm và đặt tour), bảo mật (bảo vệ thông tin cá nhân, phân quyền truy cập chặt chẽ), độ tin cậy (hệ thống vận hành ổn định, sao lưu và phục hồi dữ liệu) và tính khả dụng của giao diện.
  • Actor và 35 Use Case: Phân chia thành 4 biểu đồ Use Case Diagram cho từng tác nhân và cung cấp bảng đặc tả chi tiết từ UC1 đến UC35 kèm theo các sơ đồ Sequence và Activity tương ứng.
  • Ma trận giữa người dùng và Actor: Bảng tổng hợp ánh xạ chi tiết 35 ca sử dụng vào 4 vai trò tác nhân.
  • Mô hình trạng thái (State Machine Diagram): Mô tả chu trình trạng thái của 2 đối tượng cốt lõi là Khách hàng và Tour du lịch.
  • Mô hình cấu trúc dữ liệu: Bao gồm sơ đồ quan hệ thực thể (ERD) và sơ đồ lớp (Class Diagram) định nghĩa các thực thể và mối quan hệ nghiệp vụ.
  • Thiết kế giao diện Mockup: 8 bản thiết kế giao diện đại diện (từ Hình 29 đến Hình 36) mô phỏng trải nghiệm người dùng trên hệ thống.

Phần III: Kết luận

Tổng kết các chức năng đã xây dựng hoàn chỉnh theo từng nhóm tác nhân và đề xuất các hướng phát triển tính năng bổ sung trong tương lai.

Thiết kế và triển khai

Phân rã chức năng theo 4 nhóm tác nhân (Actor)

Hệ thống được thiết kế với 4 nhóm tác nhân chính, có quyền hạn và phạm vi tương tác riêng biệt:

+-------------------------------------------------------------------------------+
|                      HỆ THỐNG QUẢN LÝ TOUR DU LỊCH                            |
+-------------------------------------------------------------------------------+
| [Khách ghé thăm website]                                                      |
|  - Đăng ký tài khoản                                                          |
|  - Xem thông tin tour du lịch                                                 |
|  - Tìm kiếm thông tin về tour du lịch                                         |
+-------------------------------------------------------------------------------+
| [Khách hàng (Đã đăng nhập)]                                                   |
|  - Đăng nhập hệ thống                                                         |
|  - Xem, tìm kiếm thông tin tour du lịch                                       |
|  - Đặt tour du lịch                                                           |
|  - Sửa chỗ đặt tour / Cập nhật ngày đặt tour / Hủy đặt tour                   |
|  - Đánh giá và bình luận tour đã tham gia                                     |
+-------------------------------------------------------------------------------+
| [Công ty du lịch (Đối tác)]                                                   |
|  - Đăng nhập hệ thống                                                         |
|  - Quản lý lịch trình tour (Đăng, sửa, xóa lịch trình)                        |
|  - Quản lý hướng dẫn viên (Thêm, sửa, xóa hướng dẫn viên)                      |
|  - Quản lý đối tác (Thêm, sửa, xóa đối tác)                                   |
|  - Quản lý xe (Thêm, sửa, xóa thông tin xe)                                   |
|  - Quản lý tài xế (Thêm, sửa, xóa tài xế)                                     |
|  - Quản lý khách sạn (Thêm, sửa, xóa thông tin khách sạn)                     |
+-------------------------------------------------------------------------------+
| [Quản trị viên (Admin)]                                                       |
|  - Đăng nhập hệ thống                                                         |
|  - Quản lý tài khoản (Cung cấp, sửa, xóa tài khoản quản trị/nhân viên)        |
|  - Quản lý tour (Thêm, sửa, xóa tour)                                         |
|  - Quản lý địa điểm du lịch (Thêm, sửa, xóa địa điểm)                         |
|  - Quản lý thông tin đặt chỗ (Thêm, sửa, xóa thông tin đặt chỗ)                |
|  - Xem thông tin khách hàng                                                   |
|  - Tìm kiếm đơn đặt tour theo mã                                              |
+-------------------------------------------------------------------------------+

Danh mục 35 Ca sử dụng (Use Cases) của hệ thống

Toàn bộ hệ thống được chuẩn hóa qua 35 ca sử dụng với mã định danh và phân quyền thực thi:

Mã UC Tên Use Case Tác nhân chính thực hiện Mục đích chức năng
UC1 Đăng nhập Công ty du lịch, Khách hàng, Quản trị viên Xác thực tài khoản truy cập hệ thống
UC2 Đăng lịch trình Công ty du lịch Thêm lịch trình chi tiết cho tour
UC3 Sửa thông tin lịch trình Công ty du lịch Chỉnh sửa nội dung, thời gian lịch trình
UC4 Xoá lịch trình Công ty du lịch Xóa lịch trình khỏi hệ thống
UC5 Quản lý hướng dẫn viên Công ty du lịch Thêm, sửa, xóa hồ sơ hướng dẫn viên
UC6 Thêm đối tác Công ty du lịch Khởi tạo thông tin đối tác hợp tác mới
UC7 Sửa thông tin đối tác Công ty du lịch Chỉnh sửa thông tin liên hệ, hợp đồng đối tác
UC8 Xoá đối tác Công ty du lịch Hủy bỏ thông tin đối tác
UC9 Quản lý xe Công ty du lịch Quản lý danh sách phương tiện, loại xe, số ghế
UC10 Thêm tài xế Công ty du lịch Bổ sung thông tin tài xế mới
UC11 Sửa thông tin tài xế Công ty du lịch Cập nhật thông tin, bằng lái, kinh nghiệm tài xế
UC12 Xoá tài xế Quản trị viên Xóa hồ sơ tài xế khỏi cơ sở dữ liệu
UC13 Đăng ký Khách hàng (khách vãng lai) Đăng ký tài khoản thành viên mới
UC14 Xem thông tin tour du lịch Khách ghé thăm, Khách hàng Xem chi tiết giá cả, lộ trình tour
UC15 Tìm kiếm thông tin về tour Khách ghé thăm, Khách hàng Tra cứu tour theo địa điểm, ngày đi, mức giá
UC16 Đặt tour Khách hàng Chọn chỗ, phương thức thanh toán và đặt vé
UC17 Sửa chỗ đặt tour Khách hàng Thay đổi số lượng hoặc vị trí chỗ đã đặt
UC18 Huỷ đặt tour Khách hàng Hủy đơn đặt trước thời hạn khởi hành
UC19 Cập nhật ngày đặt tour Khách hàng Đổi ngày khởi hành sang đợt tour còn chỗ trống
UC20 Đánh giá Khách hàng Gửi nhận xét, đánh giá tour sau chuyến đi
UC21 Quản lý thông tin đặt chỗ Quản trị viên Thêm, sửa, xóa thông tin đơn đặt chỗ
UC22 Xem thông tin khách hàng Quản trị viên Tra cứu hồ sơ chi tiết của khách hàng
UC23 Thêm tour Quản trị viên Khởi tạo tour du lịch mới trên hệ thống
UC24 Sửa thông tin tour Quản trị viên Điều chỉnh tên, điểm đến, giá cả, số chỗ của tour
UC25 Xoá tour Quản trị viên Gỡ bỏ tour du lịch khỏi danh mục hiện hành
UC26 Thêm địa điểm du lịch Quản trị viên Thêm danh lam, thắng cảnh mới vào cơ sở dữ liệu
UC27 Sửa thông tin địa điểm Quản trị viên Cập nhật mô tả, hình ảnh của địa điểm
UC28 Xoá địa điểm du lịch Quản trị viên Xóa địa điểm khỏi hệ thống
UC29 Cung cấp tài khoản Quản trị viên Cấp phát tài khoản cho nhân viên và người dùng
UC30 Sửa thông tin tài khoản Quản trị viên Thay đổi thông tin, quyền hạn tài khoản
UC31 Xoá tài khoản Quản trị viên Xóa bỏ tài khoản người dùng
UC32 Thêm khách sạn Công ty du lịch Thêm thông tin đối tác khách sạn lưu trú
UC33 Sửa thông tin khách sạn Công ty du lịch Cập nhật địa chỉ, liên hệ khách sạn
UC34 Xoá khách sạn Công ty du lịch Xóa khách sạn khỏi danh mục quản lý
UC35 Tìm kiếm đơn đặt tour Quản trị viên Tra cứu đơn đặt theo mã đơn đặt tour

Thiết kế mô hình dữ liệu và giao diện mẫu

  1. Sơ đồ cấu trúc dữ liệu:
    • Entity-Relationship Diagram (ERD): Thiết kế các bảng thực thể và mối liên kết phục vụ việc lưu trữ thông tin tour, lịch trình, đối tác, khách sạn, xe, tài xế, khách hàng, đơn đặt chỗ và tài khoản.
    • Class Diagram: Định nghĩa các lớp đối tượng, thuộc tính, phương thức và mối quan hệ kế thừa/liên kết trong hệ thống phần mềm.
  2. Sơ đồ trạng thái (State Machine Diagram):
    • Mô hình hóa sự thay đổi trạng thái của đối tượng Tour du lịch từ khi khởi tạo, đăng tải, nhận đặt chỗ đến khi kết thúc hành trình.
    • Mô hình hóa chu trình trạng thái của đối tượng Khách hàng từ khi đăng ký, kích hoạt, thực hiện đặt tour, thay đổi thông tin đến khi hoàn tất chuyến đi.
  3. Thiết kế giao diện Mockup: Hệ thống thiết kế 8 giao diện màn hình mẫu trực quan:
    • Giao diện Trang chủ (Hình 29).
    • Giao diện Đăng ký dành cho khách ghé thăm website (Hình 30).
    • Giao diện Đăng nhập hệ thống (Hình 31).
    • Giao diện Đánh giá của Khách hàng (Hình 32).
    • Giao diện Quản lý tài khoản của Quản trị viên (Hình 33).
    • Giao diện Quản lý tour của Quản trị viên (Hình 34).
    • Giao diện Quản lý địa điểm của Quản trị viên (Hình 35).
    • Giao diện Quản lý chỗ ngồi của Quản trị viên (Hình 36).

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

Đồ án đã đạt được các kết quả cụ thể được ghi nhận trong báo cáo:

  • Xây dựng hoàn chỉnh hồ sơ phân tích thiết kế phần mềm với 35 Use Case, 36 sơ đồ kỹ thuật UML/ERD và 38 bảng đặc tả chi tiết.
  • Thiết lập bảng ma trận phân quyền rõ ràng giữa 4 nhóm tác nhân (Khách ghé thăm, Khách hàng, Công ty du lịch, Quản trị viên), phân định ranh giới chức năng giữa quản trị hệ thống và vận hành tour của đối tác lữ hành.
  • Chuẩn hóa đầy đủ các luồng xử lý nghiệp vụ đặt tour, thay đổi chỗ, cập nhật ngày và hủy tour, đi kèm các kịch bản kiểm tra tính hợp lệ của dữ liệu và bắt lỗi mất kết nối máy chủ.
  • Thiết kế bộ giao diện mẫu (mockup) bao quát từ trải nghiệm người dùng đầu cuối (đặt tour, đánh giá) đến các màn hình quản trị dữ liệu (tài khoản, tour, địa điểm, chỗ ngồi).

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

Hạn chế của đồ án

  • Đồ án được thực hiện trong phạm vi môn học với quỹ thời gian giới hạn trong 12 tuần học (3 tháng), do đó nhóm tác giả tự đánh giá tài liệu vẫn còn một số thiếu sót cần tiếp tục hoàn thiện.
  • Chưa đi vào triển khai mã nguồn (source code) thực tế hoặc tích hợp cổng thanh toán trực tuyến.

Hướng phát triển tiếp

Theo phần kết luận của báo cáo, 3 chức năng chính được định hướng phát triển bổ sung trong giai đoạn tiếp theo gồm:

  1. Quên mật khẩu: Xây dựng luồng khôi phục và cấp lại mật khẩu tự động cho người dùng.
  2. Chat hỗ trợ khách hàng: Tích hợp kênh tương tác trực tuyến thời gian thực giữa khách hàng và bộ phận hỗ trợ.
  3. Thống kê doanh thu của công ty: Bổ sung phân hệ báo cáo tài chính, tổng hợp doanh thu theo từng tour và kỳ kinh doanh cho doanh nghiệp lữ hành.

Giá trị tham khảo

Tài liệu đồ án mang lại giá trị thực hành thiết thực cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin: Tham khảo phương pháp phân tích yêu cầu, quy chuẩn viết bảng đặc tả Use Case đầy đủ các luồng sự kiện (chuẩn, rẽ nhánh, ngoại lệ) và kỹ thuật mô hình hóa hệ thống bằng chuẩn UML (Use Case, Sequence, Activity, State Machine, Class Diagram).
  • Nhóm sinh viên thực hiện đề tài tương tự: Sử dụng làm tài liệu tham khảo về cách xây dựng ma trận phân quyền Actor - Use Case, phân rã chức năng nghiệp vụ du lịch và thiết kế cấu trúc dữ liệu thực thể - liên kết (ERD).

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

1. Đồ án xác định bao nhiêu nhóm tác nhân và tổng số lượng ca sử dụng (Use Case) là bao nhiêu?

Đồ án xác định 4 nhóm tác nhân chính (Khách ghé thăm website, Khách hàng, Công ty du lịch, Quản trị viên) và xây dựng đặc tả chi tiết cho tổng cộng 35 ca sử dụng (từ UC1 đến UC35).

2. Sự khác biệt về quyền hạn giữa tác nhân "Công ty du lịch" và "Quản trị viên" trong hệ thống là gì?

  • Công ty du lịch (Đối tác): Chịu trách nhiệm về mặt vận hành và tài nguyên du lịch, bao gồm đăng/sửa/xóa lịch trình tour, quản lý hướng dẫn viên, tài xế, phương tiện xe, khách sạn và thông tin đối tác liên kết.
  • Quản trị viên: Nắm quyền quản trị hệ thống cấp cao, bao gồm cấp phát/sửa/xóa tài khoản, quản lý danh mục tour và địa điểm du lịch, xem thông tin khách hàng, quản lý và tìm kiếm đơn đặt tour theo mã.

3. Khách hàng có thể thực hiện những thao tác nào đối với tour đã đặt trước khi khởi hành?

Sau khi đã đặt tour thành công và tour chưa khởi hành, khách hàng có thể thực hiện 3 thao tác: Sửa thông tin chỗ đặt tour (UC17), Cập nhật ngày khởi hành sang đợt còn chỗ trống (UC19), hoặc Hủy đặt tour (UC18).

4. Hệ thống đặt ra những yêu cầu phi chức năng cụ thể nào?

Hệ thống xác định 4 nhóm yêu cầu phi chức năng:

  • Hiệu suất: Đảm bảo thời gian phản hồi nhanh khi tìm kiếm và đặt tour, tối ưu thời gian xử lý yêu cầu.
  • Bảo mật: Bảo vệ dữ liệu cá nhân của khách hàng và thông tin tour, phân quyền truy cập chặt chẽ giữa các loại tài khoản.
  • Độ tin cậy: Đảm bảo tính ổn định, cơ chế sao lưu và phục hồi dữ liệu tránh thất thoát.
  • Giao diện: Thiết kế đơn giản, thân thiện và tương tác mượt mà.

5. Những tính năng nào được nhóm tác giả định hướng phát triển thêm trong tương lai?

Nhóm tác giả xác định 3 tính năng sẽ phát triển bổ sung gồm: tính năng Quên mật khẩu, tính năng Chat hỗ trợ khách hàng và tính năng Thống kê doanh thu của công ty du lịch.

Kết luận

Đồ án "Phân Tích Thiết Kế Hệ Thống Quản Lý Tour Du Lịch" của nhóm sinh viên Trường Đại học Ngoại ngữ - Tin học TP.HCM đã hoàn thành xuất sắc nhiệm vụ mô hình hóa toàn diện một hệ thống phần mềm quản lý du lịch lữ hành. Báo cáo cung cấp đầy đủ 35 đặc tả Use Case chuẩn hóa, hệ thống sơ đồ UML, mô hình dữ liệu ERD cùng thiết kế giao diện mẫu đáp ứng tốt các yêu cầu nghiệp vụ thực tế. Đây là tài liệu tham khảo học thuật có cấu trúc bài bản, rõ ràng cho sinh viên và người nghiên cứu trong lĩnh vực phân tích thiết kế phần mềm.