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

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, nhu cầu di chuyển và sử dụng các phương tiện giao thông công cộng, đặc biệt là xe khách liên tỉnh, ngày càng gia tăng. Phương thức mua vé truyền thống bộc lộ nhiều hạn chế thực tiễn: hành khách phải trực tiếp đến bến xe, văn phòng đại lý hoặc liên hệ qua điện thoại để đặt vé. Quy trình này gây mất nhiều thời gian, công sức xếp hàng chờ đợi, tiềm ẩn nguy cơ hết vé trong các dịp cao điểm hoặc phải mua vé qua trung gian với chi phí cao.

Nhằm giải quyết các bất cập trên, nhóm sinh viên thuộc Khoa Công nghệ Thông tin, Trường Đại học Duy Tân đã thực hiện đồ án CDIO 3 với đề tài "Xây dựng website đặt vé xe". Đề tài được hình thành trên cơ sở thống nhất từ 6 đề xuất nghiên cứu cá nhân của các thành viên trong nhóm, hướng đến việc xây dựng một hệ thống thương mại điện tử phục vụ quản lý và giao dịch vé xe trực tuyến.

Mục tiêu nghiên cứu: Mục tiêu chính của đề tài là xây dựng một nền tảng website bán vé xe khách trực tuyến, mang lại trải nghiệm giao dịch đơn giản, thuận tiện và an toàn cho người sử dụng; giảm thiểu thời gian và chi phí so với phương thức mua vé truyền thống; cho phép tra cứu thông tin trực tuyến về lịch trình, vị trí chỗ ngồi, số lượng vé còn lại và hỗ trợ quy trình thanh toán nhanh chóng.

Nhiệm vụ nghiên cứu (theo phân loại của tác giả):

  1. Hỗ trợ nghiệp vụ vận hành: Quản lý thông tin chi tiết về các tuyến đường, lịch trình di chuyển và giá vé của từng chuyến xe; cập nhật dữ liệu thường xuyên nhằm bảo đảm tính chính xác; tiếp nhận thông tin đặt vé từ khách hàng bao gồm họ tên, số điện thoại, địa chỉ, tuyến đường, lịch trình, số lượng vé và thành tiền.
  2. Hỗ trợ quản lý đối tượng: Quản lý thông tin tài khoản người dùng, phân loại khách hàng thành viên, khách vãng lai và tài khoản quản trị hệ thống.
  3. Hỗ trợ thống kê và báo cáo: Thực hiện tổng hợp và kết xuất dữ liệu thống kê liên quan đến hoạt động đặt, bán vé xe như doanh thu, số lượng vé bán ra và số lượng người truy cập hệ thống.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý, đặt và bán vé xe khách trực tuyến; các ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu và công cụ phần mềm hỗ trợ phát triển hệ thống (Java, C#, JavaScript, Visual Studio, Visual Studio Code, Visual Paradigm, Microsoft SQL Server).
  • Phạm vi nghiên cứu: Xây dựng hệ thống ứng dụng web đặt và bán vé trực tuyến phục vụ phạm vi toàn quốc; đồ án được thực hiện và hoàn thành vào tháng 5 năm 2024 tại Đà Nẵng.

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

Khung lý thuyết và mô hình tiếp cận: Đề tài áp dụng phương pháp phân tích và thiết kế hệ thống hướng đối tượng (OOAD) kết hợp với chuẩn mô hình hóa Unified Modeling Language (UML). Các mô hình và biểu đồ được sử dụng bao gồm:

  • Biểu đồ ca sử dụng (Use Case Diagram) để xác định các tác nhân và chức năng hệ thống.
  • Biểu đồ phân cấp chức năng.
  • Biểu đồ hoạt động (Activity Diagram) mô tả luồng công việc của từng tác vụ.
  • Biểu đồ tuần tự (Sequence Diagram) thể hiện sự tương tác theo thời gian giữa các đối tượng và hệ thống.
  • Mô hình dữ liệu quan hệ (Relational Data Model) để thiết kế cấu trúc cơ sở dữ liệu.

Phương pháp nghiên cứu: Tác giả kết hợp hai nhóm phương pháp nghiên cứu chính:

  • Phương pháp nghiên cứu tài liệu: Nghiên cứu các dự án thực tế về quản lý và bán vé xe nhằm phân tích nguyên nhân thành công, thất bại và rút ra bài học kinh nghiệm; tham khảo các đồ án khóa luận tốt nghiệp của sinh viên khóa trước; tổng hợp thông tin từ các nguồn tài liệu học thuật chính thức, sách báo và báo cáo chuyên ngành vận tải.
  • Phương pháp nghiên cứu thực tiễn: Tiến hành khảo sát thị trường để nắm bắt nhu cầu người dùng; phỏng vấn và thu thập yêu cầu chức năng cũng như phi chức năng từ người quản lý, người sử dụng và các đối tác liên quan; quan sát các mô hình quản lý đặt/bán vé xe hiện có để phân tích và xác định các yêu cầu chức năng then chốt.

Nguồn dữ liệu: Dữ liệu nghiên cứu bao gồm tài liệu khảo sát yêu cầu người dùng, thông tin về tuyến đường, điểm đi - điểm đến, thông tin phương tiện, lịch trình chuyến xe, dữ liệu đặt vé và các phản hồi đánh giá của khách hàng.


Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc ứng dụng web đa tầng, phân định rõ ràng giữa giao diện người dùng, logic xử lý nghiệp vụ và tầng lưu trữ dữ liệu.

Môi trường phát triển và công nghệ đề xuất:

Thành phần hệ thống Công nghệ / Môi trường được khảo sát và lựa chọn
Giao diện người dùng (Front-end) HTML, CSS, JavaScript, ReactJS, Bootstrap 5, TailwindCSS, NextJS
Xử lý máy chủ (Back-end) NodeJS, Express
Cơ sở dữ liệu (Database) MongoDB, MySQL, PostgreSQL, Microsoft SQL Server
Công cụ hỗ trợ thiết kế & lập trình Visual Studio, Visual Studio Code, Visual Paradigm

Yêu cầu bổ trợ và phi chức năng:

  • Khả năng tương thích: Ứng dụng hoạt động trên các trình duyệt web có kết nối Internet; tương thích với các thiết bị di động chạy hệ điều hành Android, Windows Phone và iOS.
  • Hiệu năng và giao diện: Tốc độ truy cập nhanh, hỗ trợ đồng thời nhiều khách hàng thao tác; giao diện trực quan, thẩm mỹ, thuận tiện trong quá trình thao tác.

Phân tích tác nhân hệ thống: Hệ thống xác định 3 tác nhân chính tham gia vào các quy trình nghiệp vụ:

Tác nhân Vai trò và quyền hạn trong hệ thống
Khách hàng Người dùng đã đăng ký tài khoản; có quyền quản lý thông tin cá nhân, tìm kiếm chuyến xe, thực hiện đặt vé, xem vé đã đặt ("Vé của tôi"), gửi đánh giá và bình luận.
Khách vãng lai Người dùng chưa đăng ký tài khoản; được phép tra cứu, xem chi tiết vé xe, tìm kiếm thông tin tuyến xe và thực hiện đăng ký tài khoản mới.
Quản lý (Admin) Quản trị viên hệ thống; có toàn quyền quản lý thông tin xe, quản lý chuyến xe, quản lý điểm đi - điểm đến, quản lý vé xe, quản lý thông tin khách hàng và theo dõi thống kê báo cáo.

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

Chương I: MÔ TẢ Ý TƯỞNG

Chương I trình bày quá trình hình thành đề tài từ việc đánh giá năng lực, sở trường và 6 ý tưởng nghiên cứu độc lập của các thành viên trong nhóm, trước khi đi đến quyết định lựa chọn đề tài chung:

  1. Nguyễn Hữu Thắng (MSSV: 27211230856): Ý tưởng xây dựng website bán sách trực tuyến, tập trung vào quản lý danh mục sách, xử lý đơn đặt hàng, lập hóa đơn và báo cáo doanh thu.
  2. Võ Thanh Hải (MSSV: 27211236863): Ý tưởng xây dựng hệ thống quản lý đặt, bán vé xe trực tuyến trên phạm vi toàn quốc, hiển thị lịch trình, vị trí ghế, vé còn lại và quản lý chuyến đi.
  3. Trần Duy Long (MSSV: 27211243627): Ý tưởng phần mềm quản lý khách đặt bàn tại nhà hàng, hỗ trợ đặt bàn trực tiếp/online, quản lý trạng thái bàn, lịch sử đặt bàn và thông báo.
  4. Đỗ Xuân Anh: Ý tưởng ứng dụng trò chơi trực tuyến, cung cấp nền tảng kết nối người chơi, chế độ chơi đơn/đa người, hệ thống điểm thưởng và tương tác xã hội.
  5. Nguyễn Văn Cường: Ý tưởng website quản lý khách sạn, cung cấp chức năng quản lý đặt phòng, trạng thái phòng, dịch vụ đi kèm, thanh toán và báo cáo tỷ lệ phòng trống.
  6. Phan Quốc Dũng (MSSV: 27212141616): Ý tưởng xây dựng website bán vé máy bay trực tuyến, hỗ trợ tra cứu lịch trình bay, thông tin hãng bay và xem chi tiết vé.

Tất cả các thành viên đều thuộc chuyên ngành Công nghệ Phần mềm và đã hoàn thành các học phần nền tảng như Phân tích thiết kế hướng đối tượng, Phân tích thiết kế hệ thống, C#, ASP.NET, JavaScript. Trên cơ sở tổng hợp và thảo luận, nhóm đã thống nhất chọn đề tài "Thiết kế và xây dựng hệ thống quản lý đặt, bán vé xe", xác định mục đích cốt lõi, đối tượng nghiên cứu và phương pháp triển khai thực tế.

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

Chương II tập trung vào việc mô hình hóa yêu cầu hệ thống thông qua bảng danh sách use case, biểu đồ Use Case tổng quát, biểu đồ hoạt động và biểu đồ tuần tự cho từng chức năng:

Danh mục 15 Use Case chức năng của hệ thống:

STT Tên chức năng (Use Case) Tác nhân thực hiện
1 Quản lý khách hàng Quản lý
2 Quản lý xe Quản lý
3 Quản lý vé xe Quản lý
4 Thống kê Quản lý
5 Đăng nhập Quản lý, Khách hàng
6 Tìm kiếm vé Khách hàng, Khách vãng lai
7 Đăng ký tài khoản Khách hàng, Khách vãng lai
8 Đặt vé Khách hàng
9 Xem vé Khách hàng, Khách vãng lai
10 Quản lý thông tin cá nhân Khách hàng
11 Đánh giá Khách hàng
12 Đăng xuất Quản lý, Khách hàng
13 Quản lý điểm đi, điểm đến Quản lý
14 Quản lý chuyến xe Quản lý
15 Vé của tôi Khách hàng

Đặc tả chi tiết các kịch bản Use Case trọng tâm:

  • Quản lý khách hàng: Cho phép Quản trị viên truy cập trang quản lý, thực hiện chỉnh sửa, cập nhật thông tin khách hàng và nhận thông báo kết quả cập nhật thành công từ hệ thống.
  • Quản lý xe: Cho phép Quản trị viên quản lý danh sách phương tiện, chỉnh sửa thông số kỹ thuật xe và lưu thông tin vào cơ sở dữ liệu.
  • Quản lý vé xe: Quản trị viên thực hiện cập nhật, điều chỉnh trạng thái và thông tin vé xe trên hệ thống.
  • Quản lý chuyến xe: Quản trị viên thiết lập, chỉnh sửa lịch trình các chuyến xe phục vụ khách hàng.
  • Quản lý điểm đi – điểm đến: Cập nhật danh mục các bến xe, địa điểm đón/trả khách trong mạng lưới tuyến đường.
  • Thống kê: Quản trị viên gửi yêu cầu thống kê số lượng người truy cập; hệ thống kiểm tra dữ liệu và hiển thị kết quả tổng hợp.
  • Đăng nhập: Khách hàng hoặc Quản lý nhập thông tin tài khoản (số điện thoại và mật khẩu); hệ thống xác thực với cơ sở dữ liệu và thông báo đăng nhập thành công hoặc thất bại.
  • Tìm kiếm vé: Hỗ trợ 2 luồng chức năng riêng biệt:
    1. Tìm kiếm theo tuyến đường: Người dùng nhập điểm đến/tuyến đường; hệ thống truy vấn cơ sở dữ liệu và hiển thị danh sách các chuyến xe phù hợp hoặc thông báo không tìm thấy.
    2. Tìm kiếm theo ngày giờ: Người dùng chọn ngày đi; hệ thống đối soát dữ liệu lịch trình và trả về danh sách chuyến xe còn vé trong khung thời gian yêu cầu.

Chương III: THỰC HIỆN

Chương III trình bày kết quả thiết kế cơ sở dữ liệu và giao diện người dùng của hệ thống:

  • Thiết kế cơ sở dữ liệu: Xây dựng mô hình dữ liệu quan hệ và xác định danh sách các bảng dữ liệu lưu trữ các thực thể: thông tin khách hàng, phương tiện xe, vé xe, chuyến xe, tuyến đường (điểm đi - điểm đến).
  • Thiết kế giao diện người dùng: Mô hình hóa và bố cục các trang giao diện trực quan, bao gồm:
    1. Giao diện trang chủ (hiển thị công cụ tìm kiếm và thông tin nổi bật).
    2. Giao diện xem chi tiết vé xe.
    3. Giao diện "Vé của tôi" (quản lý lịch sử vé đã đặt của khách hàng).
    4. Giao diện Đăng nhập và Giao diện Đăng ký tài khoản.
    5. Giao diện Mua vé (chọn chuyến, chọn vị trí ngồi và điền thông tin hành khách).
    6. Giao diện Đánh giá (gửi bình luận và phản hồi chất lượng).
    7. Giao diện Thông tin cá nhân.
    8. Các giao diện quản trị: Giao diện quản lý khách hàng, Giao diện quản lý xe và Giao diện quản lý vé xe.

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

Kết quả chính:

  • Hoàn thành đầy đủ hồ sơ phân tích và thiết kế hệ thống cho website đặt vé xe khách theo tiêu chuẩn đồ án CDIO 3 ngành Công nghệ phần mềm.
  • Xây dựng bảng đặc tả chi tiết cho 15 ca sử dụng (use case), kèm theo hệ thống biểu đồ phân tích UML (biểu đồ ca sử dụng, biểu đồ hoạt động, biểu đồ tuần tự) phản ánh chính xác các tương tác nghiệp vụ.
  • Thiết kế hoàn chỉnh cấu trúc cơ sở dữ liệu quan hệ và hệ thống màn hình giao diện người dùng từ phân hệ khách hàng đến phân hệ quản trị.
  • Xác định rõ các giải pháp công nghệ hiện đại phục vụ phát triển ứng dụng (NodeJS, ReactJS, NextJS kết hợp hệ quản trị cơ sở dữ liệu quan hệ/phi quan hệ).

Giải pháp đề xuất của tác giả:

  • Chuyển đổi mô hình phân phối vé truyền thống sang mô hình trực tuyến tự phục vụ, giúp khách hàng chủ động tra cứu lịch trình, kiểm tra số lượng ghế trống theo thời gian thực và đặt vé từ xa.
  • Xây dựng cơ chế tìm kiếm đa tiêu chí linh hoạt (theo tuyến đường và theo thời gian xuất phát), giúp tối ưu hóa thời gian tìm kiếm thông tin của người dùng.
  • Phân quyền chặt chẽ giữa 3 nhóm đối tượng (Quản lý, Khách hàng, Khách vãng lai), đảm bảo tính an toàn dữ liệu và tối ưu hóa giao diện cho từng nhóm tác nhân.

Đóng góp của đồ án: Đồ án đóng góp một tài liệu phân tích thiết kế hệ thống hoàn chỉnh cho bài toán vận tải hành khách đường bộ, thể hiện quy trình làm việc nhóm bài bản từ khâu đề xuất, sàng lọc ý tưởng đến phân tích yêu cầu nghiệp vụ và mô hình hóa hệ thống phần mềm.


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

Hạn chế:

  • Tài liệu tập trung chủ yếu vào giai đoạn mô tả ý tưởng, phân tích yêu cầu chức năng và thiết kế hệ thống (giao diện, cơ sở dữ liệu); chưa công bố các số liệu kiểm thử hiệu năng chịu tải hoặc dữ liệu vận hành thực tế trên môi trường sản xuất.
  • Tại thời điểm bắt đầu triển khai đồ án, một số thành viên trong nhóm nghiên cứu vẫn đang trong quá trình học tập các học phần về Hệ quản trị cơ sở dữ liệu và HTML/CSS.

Hướng nghiên cứu tiếp:

  • Hiện thực hóa toàn bộ mã nguồn hệ thống dựa trên các mẫu thiết kế giao diện và mô hình cơ sở dữ liệu đã xây dựng ở Chương III.
  • Tích hợp các cổng thanh toán trực tuyến tự động và hệ thống thông báo đa kênh (SMS, Email) khi giao dịch thành công.
  • Tiến hành kiểm thử phần mềm trên nhiều môi trường thiết bị và đánh giá hiệu năng chịu tải khi có lượng lớn người dùng đồng thời truy cập.

Giá trị tham khảo

Tài liệu đồ án có giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ phần mềm, Công nghệ thông tin: Tham khảo phương pháp xây dựng báo cáo đồ án môn học CDIO, cách thức phân tích yêu cầu nghiệp vụ và kỹ năng mô hình hóa hệ thống bằng biểu đồ UML (Use Case, Activity, Sequence Diagram).
  • Nhóm nghiên cứu và phát triển phần mềm: Sử dụng khung phân tích 15 use case và kịch bản tìm kiếm/đặt vé làm tài liệu tham khảo khi thiết kế các hệ thống thương mại điện tử, ứng dụng đặt chỗ hoặc dịch vụ vận tải hành khách trực tuyến.

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

1. Đề tài "Xây dựng website đặt vé xe" do đơn vị nào quản lý và nhóm tác giả gồm những ai?
Đề tài là đồ án CDIO 3 thuộc Khoa Công nghệ Thông tin, Trường Đại học Duy Tân, do giảng viên Lương Thị Thu Phương hướng dẫn. Nhóm thực hiện gồm 6 sinh viên chuyên ngành Công nghệ Phần mềm: Nguyễn Hữu Thắng, Võ Thanh Hải, Trần Duy Long, Đỗ Xuân Anh, Nguyễn Văn Cường và Phan Quốc Dũng.

2. Hệ thống phân chia những nhóm tác nhân nào và quyền hạn cơ bản của từng tác nhân là gì?
Hệ thống gồm 3 tác nhân chính:

  • Quản lý (Admin): Quản lý xe, chuyến xe, vé xe, điểm đi/điểm đến, khách hàng và xem thống kê báo cáo.
  • Khách hàng: Đăng ký, đăng nhập, quản lý thông tin cá nhân, tìm kiếm vé, đặt vé, xem "Vé của tôi" và gửi đánh giá.
  • Khách vãng lai: Tìm kiếm chuyến xe, xem chi tiết thông tin vé xe và thực hiện đăng ký tài khoản.

3. Chức năng tìm kiếm vé xe của hệ thống được thiết kế theo những tiêu chí nào?
Chức năng tìm kiếm vé được chia làm 2 use case chi tiết:

  • Tìm kiếm theo tuyến đường: Người dùng nhập điểm đến/tuyến đường để hệ thống truy vấn các chuyến xe đang phục vụ chặng đó.
  • Tìm kiếm theo ngày giờ: Người dùng nhập hoặc chọn ngày khởi hành để hệ thống kiểm tra các chuyến xe còn vé trong ngày yêu cầu.

4. Môi trường công nghệ nào được nhóm tác giả định hướng phát triển cho hệ thống?
Nhóm khảo sát và định hướng sử dụng: Front-end (HTML, CSS, JavaScript, ReactJS, Bootstrap 5, TailwindCSS, NextJS); Back-end (NodeJS, Express); Cơ sở dữ liệu (MongoDB, MySQL, PostgreSQL, Microsoft SQL Server); Công cụ hỗ trợ (Visual Studio, Visual Studio Code, Visual Paradigm).

5. Đề tài được lựa chọn dựa trên quy trình nào trong nhóm sinh viên?
Nhóm sinh viên tiến hành đề xuất 6 ý tưởng cá nhân độc lập (website bán sách, website đặt vé xe, phần mềm đặt bàn nhà hàng, ứng dụng trò chơi trực tuyến, website quản lý khách sạn, website bán vé máy bay). Sau khi đánh giá cơ sở kiến thức và nhu cầu thực tiễn, nhóm đã thống nhất lựa chọn đề tài xây dựng website quản lý đặt và bán vé xe.


Kết luận

Đồ án "Xây dựng website đặt vé xe" của nhóm sinh viên Trường Đại học Duy Tân là công trình nghiên cứu ứng dụng thuộc chuyên ngành Công nghệ phần mềm, giải quyết bài toán tự động hóa quy trình đặt và quản lý vé xe khách liên tỉnh. Báo cáo đã hoàn thành việc mô tả ý tưởng, phân tích chi tiết 15 use case chức năng, xây dựng hệ thống biểu đồ UML tiêu chuẩn và phác thảo kiến trúc cơ sở dữ liệu cũng như giao diện người dùng. Đây là tài liệu tham khảo học thuật hữu ích cho sinh viên công nghệ thông tin trong việc triển khai các đồ án CDIO và phân tích thiết kế hệ thống phần mềm thương mại điện tử.