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

Trong bối cảnh nền kinh tế chuyển dịch mạnh mẽ theo hướng chuyển đổi số và công nghệ số, việc ứng dụng công nghệ thông tin vào công tác quản lý nhằm nâng cao hiệu quả vận hành và gia tăng mức độ hài lòng của khách hàng là yêu cầu tất yếu đối với các doanh nghiệp kinh doanh dịch vụ. Tuy nhiên, trong lĩnh vực vận tải hành khách bằng xe khách, nhiều đơn vị vẫn duy trì phương thức quản lý thủ công truyền thống thông qua sổ sách và ghi chép trên giấy. Đặc thù của ngành dịch vụ xe khách là khối lượng trao đổi và lưu trữ thông tin hành khách mỗi ngày rất lớn; việc ghi chép thủ công trong điều kiện nhân sự có hạn dẫn đến tình trạng quá tải, thường xuyên xảy ra sai sót như làm mất thông tin liên lạc, bỏ quên khách hàng, nhầm lẫn số ghế hoặc bán vé vượt quá số lượng ghế thực tế của phương tiện.

Xuất phát từ thực trạng trên, đề tài "Xây dựng và phát triển phần mềm quản lý bán vé xe khách" được thực hiện trong khuôn khổ học phần Đồ án Chuyên ngành 2 tại Khoa Công nghệ Thông tin, Trường Đại học Công nghệ Đông Á (tháng 5 năm 2023) bởi nhóm sinh viên Khóa 11. Đề tài hướng đến mục tiêu xây dựng một giải pháp phần mềm nhằm khắc phục các hạn chế trong khâu vận hành thủ công của các nhà xe và tạo điều kiện thuận lợi cho hành khách trong quá trình tìm kiếm, đặt mua và hủy vé xe.

Cụ thể, đồ án xác định 9 mục tiêu và nhiệm vụ kỹ thuật cần giải quyết:

  1. Quản lý thông tin các chuyến xe và thông tin phương tiện xe khách.
  2. Hỗ trợ khách hàng đăng ký tài khoản thành viên để chủ động thực hiện việc đặt vé trực tuyến (online).
  3. Lưu trữ có hệ thống thông tin khách hàng phục vụ cho công tác quản lý và khai thác về sau.
  4. Cung cấp chức năng tìm kiếm chuyến xe theo nhu cầu di chuyển của từng hành khách.
  5. Xây dựng giao diện đặt vé trực quan, cho phép người dùng phân biệt rõ ràng trạng thái của từng vị trí ghế (ghế đã có khách đặt và ghế còn trống).
  6. Cung cấp quy trình hủy vé xe nhanh chóng, thuận tiện.
  7. Lưu trữ chính xác thông tin hành khách kèm theo số ghế đã được đặt trên từng chuyến xe.
  8. Hỗ trợ nhân viên tìm kiếm vị trí số ghế của khách hàng đã đặt vé khi chuẩn bị xuất bến.
  9. Tự động tổng kết và kết xuất doanh thu số tiền của một xe sau khi vận hành trong ngày.

Về phạm vi nghiên cứu, đề tài tập trung triển khai và ứng dụng tại các nhà xe có quy mô vừa và nhỏ, có tần suất nhiều lượt xe di chuyển trong một ngày.


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

Đề tài áp dụng phương pháp phân tích và thiết kế hệ thống thông tin hướng đối tượng theo tiến trình kỹ thuật phần mềm chuẩn, kết hợp giữa mô hình hóa nghiệp vụ và thiết kế kiến trúc phần mềm phân tầng:

  • Mô hình hóa nghiệp vụ và chức năng hệ thố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 đồ gồm sơ đồ Use Case nghiệp vụ, sơ đồ đối tượng nghiệp vụ, sơ đồ hoạt động (Activity Diagram), sơ đồ tuần tự (Sequence Diagram), sơ đồ cộng tác (Collaboration Diagram) và sơ đồ lớp (Class Diagram). Các tương tác giữa các tác nhân (Hành khách, Nhân viên, Lơ xe) và hệ thống được chuẩn hóa qua các bảng đặc tả use case chi tiết.
  • Thiết kế cơ sở dữ liệu: Áp dụng mô hình thực thể liên kết (ERD - Entity Relationship Diagram) và chuyển đổi sang mô hình dữ liệu mức quan hệ (Relational Data Model/Diagram) để xác định các bảng dữ liệu, khóa chính, khóa ngoại và các ràng buộc toàn vẹn giữa các thực thể.
  • Phương pháp lập trình và kiến trúc truy xuất dữ liệu: Sử dụng mô hình đối tượng truy cập dữ liệu (Data Access Object - DAO), cụ thể thông qua lớp xử lý nghiệp vụ dữ liệu ChuyenDiDAO nhằm tách biệt giữa tầng giao diện người dùng (UI) và tầng xử lý truy vấn cơ sở dữ liệu.
  • Nguồn dữ liệu: Dữ liệu thực nghiệm của hệ thống bao gồm thông tin hành khách, thông tin nhân viên, tài khoản thẻ thành viên, danh sách chuyến xe (thời gian khởi hành, điểm đi, điểm đến), trạng thái vé và sơ đồ ghế ngồi của từng phương tiện.

Thiết kế và triển khai

Hệ thống được định hướng phát triển dưới dạng phần mềm kết hợp hỗ trợ cả phương thức trực tuyến (cho hành khách thao tác qua ứng dụng) và xử lý ngoại tuyến/tại quầy (cho nhân viên bến xe quản lý).

1. Kiến trúc dữ liệu và sơ đồ lớp

Hệ thống quản lý thông tin thông qua các đối tượng chính và các mối quan hệ cấu trúc:

  • Các đối tượng chính: Nhân viên, Hành khách, Hợp đồng nhân viên, Thông tin vé xe, Thời gian hoạt động, Danh sách khách đặt vé.
  • Mối quan hệ: Quan hệ 1 - 1 (ví dụ: một vé chỉ áp dụng tương ứng cho một phương tiện xe tại một thời điểm) và quan hệ 1 - n (ví dụ: một xe có nhiều vé phát hành, một hành khách có thể đặt nhiều vé nhưng mỗi vé thuộc về một người sở hữu).

2. Thiết kế giao diện hệ thống

Giao diện hệ thống được thiết kế theo phân quyền người dùng và quy trình nghiệp vụ:

  • Giao diện Đăng nhập (Login): Điểm điều hướng phân loại tài khoản đăng nhập giữa Hành khách (truy cập các tính năng tra cứu, đặt vé) và Nhân viên bến xe (truy cập các phân hệ quản trị, bán vé tại quầy, thống kê).
  • Form Đặt vé online: Cung cấp bộ lọc chọn ngày đi, giờ xuất phát, điểm đi và điểm đến; hiển thị sơ đồ trực quan các vị trí ghế trống và ghế đã có người chọn để hành khách thực hiện thao tác.
  • Form Quản lý chuyến xe: Dành cho nhân viên cập nhật thông tin chuyến mới, thiết lập lịch trình khởi hành, bến đi/đến và loại bỏ các chuyến cũ.
  • Form Hủy vé xe: Dành cho nhân viên tra cứu mã vé hoặc số điện thoại của khách hàng để thực hiện hủy chỗ trên hệ thống.
  • Form Thống kê: Giao diện lựa chọn biển số xe và mốc thời gian để kết xuất báo cáo doanh thu vận hành theo từng xe.

3. Quy trình cài đặt và kết nối dữ liệu

Quá trình cài đặt hệ thống được nhóm tác giả tiến hành qua 4 bước kỹ thuật:

  • Bước 1: Xây dựng giao diện trang đặt vé xe đáp ứng tiêu chí thân thiện và thuận tiện cho người dùng.
  • Bước 2: Khai báo lớp đối tượng (class) định nghĩa cấu trúc tương ứng với các bảng trong cơ sở dữ liệu, thực hiện gán dữ liệu cho các trường/cột thông qua các câu lệnh truy vấn (query).
  • Bước 3: Xây dựng lớp xử lý dữ liệu trung gian ChuyenDiDAO để thực hiện nhiệm vụ truy xuất dữ liệu từ cơ sở dữ liệu lên tầng logic.
  • Bước 4: Tích hợp lớp giao diện với lớp ChuyenDiDAO, lấy dữ liệu từ các cột trong bảng (ví dụ: cột Điểm Đi từ bảng Chuyến Đi) để hiển thị động lên các thành phần điều khiển giao diện như Combobox.

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

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ VÉ XE KHÁCH

Chương 1 trình bày tổng quan về bối cảnh thực tiễn, phân tích nhu cầu cấp thiết của việc số hóa quy trình quản lý bán vé xe khách đối với các đối tượng di chuyển thường xuyên như sinh viên, người lao động xa quê. Tác giả chỉ rõ các lỗi thường gặp trong quản lý thủ công của các nhà xe hiện nay: thất lạc số điện thoại, nhầm lẫn vị trí ghế ngồi, bán vé vượt số ghế thực tế. Từ đó, chương xác định hệ thống mục tiêu gồm 9 yêu cầu nghiệp vụ cụ thể và giới hạn phạm vi áp dụng cho các nhà xe quy mô vừa và nhỏ có tần suất nhiều lượt xe chạy trong ngày.

CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG

Chương 2 tập trung phân tích chi tiết các quy trình nghiệp vụ và đặc tả use case của hệ thống:

Tên Use Case Tác nhân chính Thực thể / Use Case liên quan Dòng sự kiện chính Xử lý ngoại lệ / Dòng sự kiện phụ
Đặt vé xe Hành khách Vé xe, chuyến xe, thẻ thành viên, ThanhToan, thanh toan online Đăng nhập bằng tài khoản thẻ thành viên $\rightarrow$ Chọn ngày, giờ, tuyến $\rightarrow$ Tìm chuyến $\rightarrow$ Chọn ghế trên sơ đồ $\rightarrow$ Xác nhận thông tin và tổng tiền $\rightarrow$ Nhập số thẻ ghi nợ quốc tế để thanh toán trực tuyến $\rightarrow$ Hoàn tất đặt vé. • Chưa có tài khoản: liên hệ hotline hoặc quầy để đăng ký.
• Không có chuyến: hiển thị thông báo chưa có chuyến và đề nghị chọn khung giờ khác.
• Không thanh toán online: không thể hoàn tất đặt vé.
Mua vé xe (tại quầy) Nhân viên Vé xe, thẻ thành viên, danh sách khách đặt vé, chuyến xe Tiếp nhận thông tin khách $\rightarrow$ Kiểm tra/nhập tài khoản khách $\rightarrow$ Tìm chuyến xe theo yêu cầu $\rightarrow$ Xác nhận số ghế, vị trí, tổng tiền $\rightarrow$ Xác nhận mua vé thành công. • Khách chưa có thẻ thành viên: thực hiện đăng ký thẻ mới.
• Không có chuyến phù hợp: tư vấn chuyến kế cận hoặc thông báo hết chuyến.
Hủy vé xe Nhân viên (Lơ xe) Vé xe, danh sách khách đặt vé Nhận yêu cầu hủy vé (tại quầy hoặc hotline) $\rightarrow$ Kiểm tra thông tin vé $\rightarrow$ Xác nhận số ghế hủy $\rightarrow$ Xóa vé trên hệ thống $\rightarrow$ Cập nhật lại số lượng ghế trống $\rightarrow$ Hoàn tiền về tài khoản. • Tra cứu theo số điện thoại không có dữ liệu: thông báo không tìm thấy vé và yêu cầu kiểm tra lại thông tin.
Đăng ký thẻ thành viên Nhân viên Thẻ thành viên Tiếp nhận thông tin cá nhân khách hàng $\rightarrow$ Nhập dữ liệu vào hệ thống $\rightarrow$ Cấp mã và tài khoản đăng nhập cho hành khách. • Nhân viên nhập sai thông tin: hệ thống báo lỗi, nhân viên tiến hành sửa lại dữ liệu.
Cung cấp chuyến xe Nhân viên Chuyến xe Tiếp nhận lịch trình từ bến xe $\rightarrow$ Nhập ngày giờ khởi hành, điểm đi, điểm đến $\rightarrow$ Xác nhận đưa chuyến xe vào vận hành. • Điểm đến trùng điểm đi: hệ thống hủy chuyến bị sai, không cho phép phát hành chuyến xe.
Thống kê Nhân viên Xuat bao cao Chọn tính năng thống kê $\rightarrow$ Chọn biển số xe cần xem $\rightarrow$ Hệ thống tổng hợp số lượng vé và doanh thu $\rightarrow$ Kết xuất và in báo cáo. • Không có dữ liệu bán vé trong ngày: hệ thống thông báo doanh thu bằng 0.
Tìm số ghế Nhân viên Danh sách đặt vé Nhập các số cuối của số điện thoại khách hàng vào ô tìm kiếm $\rightarrow$ Hệ thống truy xuất mã ghế và chuyến xe tương ứng. • Không tìm thấy dữ liệu đặt vé: thông báo không tìm thấy vé và chuyển sang quy trình mua vé ngay cho khách.

Song song với việc đặc tả use case, chương này xây dựng sơ đồ lớp xác định các thực thể nghiệp vụ (Nhân viên, Hành khách, Hợp đồng nhân viên, Thông tin vé xe, Thời gian hoạt động, Danh sách khách đặt vé) cùng các mối quan hệ tương tác $1-1$ và $1-n$ làm tiền đề cho khâu thiết kế cơ sở dữ liệu.

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

Chương 3 trình bày các kết quả thiết kế kỹ thuật của hệ thống phần mềm:

  • Thiết kế cơ sở dữ liệu: Trình bày mô hình thực thể liên kết ERD và sơ đồ dữ liệu mức quan hệ (Diagram) mô tả cấu trúc các bảng và mối liên kết logic phục vụ lưu trữ thông tin chuyến xe, khách hàng, vé xe và giao dịch.
  • Thiết kế giao diện: Thiết kế chi tiết các form chức năng theo phong cách ứng dụng hiện đại, bao gồm Form Login, Form đặt vé online, Form quản lý chuyến xe, Form thống kê doanh thu và Form hủy vé.
  • Cài đặt hệ thống: Thể hiện tiến trình chuyển giao từ thiết kế sang mã nguồn qua 4 bước: thiết kế giao diện đặt vé, khai báo class định nghĩa bảng dữ liệu, hiện thực hóa lớp truy xuất ChuyenDiDAO và liên kết dữ liệu động từ database lên các thành phần điều khiển của giao diện.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

Phần kết luận tổng hợp lại toàn bộ kết quả đã thực hiện của đề tài đồ án, đồng thời vạch ra hướng phát triển mở rộng cho hệ thống trong tương lai nhằm nâng cao tính ứng dụng trong thực tế.


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

  • Kết quả đạt được:
    • Xây dựng hoàn chỉnh mô hình phân tích nghiệp vụ quản lý bán vé xe khách với 7 use case hệ thống chi tiết.
    • Thiết kế thành công cơ sở dữ liệu mức quan hệ đáp ứng đầy đủ các ràng buộc lưu trữ về chuyến xe, thông tin vé, ghế ngồi và tài khoản thành viên.
    • Hiện thực hóa các giao diện chức năng chính: đăng nhập phân quyền, tìm kiếm chuyến xe, đặt vé trực quan theo sơ đồ ghế, hủy vé, tra cứu số ghế nhanh qua số điện thoại và thống kê doanh thu theo biển số xe.
    • Áp dụng thành công mô hình DAO (ChuyenDiDAO) trong việc truy xuất và hiển thị dữ liệu động lên giao diện.
  • Giải pháp đề xuất: Thay thế phương thức ghi chép sổ sách thủ công tại các nhà xe bằng phần mềm quản lý tập trung, giải quyết dứt điểm các sự cố nhầm lẫn chỗ ngồi, bán trùng vé và thất lạc thông tin khách hàng.
  • Đóng góp của đồ án: Đóng góp một giải pháp phần mềm kết hợp linh hoạt giữa phương thức bán vé trực tuyến cho hành khách và bán vé/quản lý trực tiếp tại quầy cho nhân viên bến xe, được tối ưu hóa cho mô hình hoạt động của các nhà xe quy mô vừa và nhỏ.

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

  • Hạn chế:
    • Hệ thống được thiết kế tối ưu hóa trong phạm vi áp dụng cho các nhà xe quy mô vừa và nhỏ; chưa thử nghiệm trên các mạng lưới nhà xe lớn có nhiều chi nhánh phức tạp.
    • Quy trình đăng ký tài khoản thành viên trực tuyến ban đầu vẫn cần sự hỗ trợ khởi tạo từ nhân viên bến xe hoặc liên hệ hotline.
    • Phương thức thanh toán trực tuyến mới chỉ mô hình hóa việc thanh toán qua thẻ ghi nợ quốc tế.
  • Hướng nghiên cứu và phát triển tiếp:
    • Nâng cấp và hoàn thiện ứng dụng trên nền tảng di động (app) chuyên biệt cho hành khách và nhân viên nhà xe.
    • Mở rộng thêm các phương thức thanh toán trực tuyến đa dạng khác.
    • Hoàn thiện quy trình tự động hóa đăng ký tài khoản trực tuyến hoàn toàn cho hành khách.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích 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 thiết kế hệ thống thông tin hướng đối tượng, cách viết bảng đặc tả Use Case chi tiết, vẽ sơ đồ lớp, thiết kế ERD và mô hình phân tầng sử dụng mô hình DAO.
  • Người làm đề tài về hệ thống quản lý vận tải hành khách: Tham khảo quy trình nghiệp vụ thực tế của hoạt động bán vé xe khách, từ khâu quản lý chuyến, phân bổ chỗ ngồi đến quy trình hủy vé và kết xuất doanh thu.

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

1. Hệ thống hỗ trợ những phương thức đặt vé và đối tượng sử dụng nào?
Hệ thống hỗ trợ hai hình thức: hành khách có tài khoản thẻ thành viên tự đặt vé trực tuyến (online) tại nhà và nhân viên bến xe thao tác mua vé trực tiếp cho khách hàng tại quầy.

2. Quy trình xử lý hủy vé xe trên hệ thống được thực hiện như thế nào?
Khi nhận yêu cầu hủy vé (trực tiếp tại quầy hoặc qua hotline), nhân viên sử dụng số điện thoại của hành khách để tra cứu vé trong hệ thống, xác nhận lại số ghế cần hủy, thực hiện lệnh xóa vé, hệ thống tự động cập nhật lại trạng thái ghế trống và tiến hành hoàn tiền về tài khoản cho khách hàng.

3. Hệ thống xử lý ra sao khi xảy ra các tình huống ngoại lệ như không có chuyến xe hoặc không có dữ liệu doanh thu?
Nếu khách hàng tìm chuyến xe không có trong khung giờ mong muốn, hệ thống sẽ đưa ra thông báo chưa có chuyến và gợi ý tìm ở khung giờ khác; đối với chức năng thống kê doanh thu, nếu chuyến xe không có hành khách đặt vé trong ngày, hệ thống sẽ hiển thị thông báo doanh thu của xe là 0.

4. Tầng dữ liệu trong phần cài đặt hệ thống được tổ chức và kết nối lên giao diện như thế nào?
Hệ thống sử dụng các class để định nghĩa cấu trúc bảng trong cơ sở dữ liệu và gán dữ liệu qua câu truy vấn (query), sau đó sử dụng lớp xử lý ChuyenDiDAO để lấy dữ liệu từ cơ sở dữ liệu và gọi từ lớp giao diện để hiển thị dữ liệu động (như danh sách điểm đi) lên các thành phần điều khiển như Combobox.

5. Phạm vi áp dụng của đề tài được nhóm tác giả xác định như thế nào?
Đề tài được xây dựng nhằm mục đích áp dụng cho các nhà xe có quy mô vừa và nhỏ, có nhiều lượt xe di chuyển trong một ngày.


Kết luận

Đồ án Chuyên ngành 2 "Xây dựng và phát triển phần mềm quản lý bán vé xe khách" của nhóm sinh viên Trường Đại học Công nghệ Đông Á đã giải quyết trọn vẹn bài toán số hóa quy trình quản lý vận tải hành khách tại các nhà xe vừa và nhỏ. Thông qua việc phân tích nghiệp vụ, chuẩn hóa đặc tả Use Case, thiết kế cơ sở dữ liệu quan hệ và hiện thực hóa giao diện tương tác kết nối qua lớp ChuyenDiDAO, đề tài cung cấp một giải pháp quản lý bán vé toàn diện, hạn chế tối đa sai sót thủ công và nâng cao hiệu quả phục vụ hành khách.