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

Khóa luận tốt nghiệp "Xây dựng hệ thống bán vé cho Bến xe Miền Đông" (tên tiếng Anh: Ticketing System for Mien Dong Station) do sinh viên Lê Bảo Lâm và Trần Nguyên Lợi thực hiện tại Khoa Khoa học và Kỹ thuật Thông tin, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh, dưới sự hướng dẫn của ThS. Võ Ngọc Tân. Đề tài thuộc chuyên ngành Công nghệ Thông tin, thuộc loại hình nghiên cứu ứng dụng và xây dựng hệ thống phần mềm.

Lý do chọn đề tài và bối cảnh thực tiễn

Trong bối cảnh chuyển đổi số và xu hướng số hóa quy trình nghiệp vụ của doanh nghiệp, nhu cầu giao dịch trực tuyến ngày càng trở nên phổ biến. Vận tải hành khách đường bộ là dịch vụ thiết yếu, trong đó các bến xe đóng vai trò đầu mối giao thông kết nối các chuyến xe và hành khách.

Khảo sát thực tiễn tại Bến xe Miền Đông – một trong những bến xe quy mô lớn nhất Việt Nam – ghi nhận hoạt động bán vé chủ yếu diễn ra theo hình thức truyền thống (offline). Bến xe duy trì 99 quầy vé tương ứng với 99 máy tính phục vụ bán trực tiếp. Khách hàng buộc phải đến trực tiếp quầy vé trong giờ hành chính, tìm đúng quầy phụ trách tuyến đường hoặc nhà xe tương ứng để mua vé. Kênh thông tin trực tuyến hiện hữu của bến xe chỉ dừng lại ở việc tra cứu chuyến xe và thông báo, chưa tích hợp cổng bán vé trực tiếp cho khách hàng mà phụ thuộc vào đơn vị trung gian thứ ba. Nhằm giải quyết hạn chế này, nhóm tác giả đã đề xuất xây dựng hệ thống bán vé trực tuyến mang tên "MienDong Station".

Mục tiêu và nhiệm vụ nghiên cứu

Văn bản khóa luận xác định 8 mục tiêu và nhiệm vụ nghiên cứu cụ thể được đánh số như sau:

  1. Nắm được quy trình phát triển một hệ thống phần mềm.
  2. Nắm được đặc điểm cơ bản của các ngôn ngữ lập trình đang thịnh hành.
  3. Biết cách lựa chọn những ngôn ngữ phù hợp để xây dựng cho phần mềm hoặc dự án.
  4. Nắm được các phương pháp kiểm thử một phần mềm.
  5. Tìm hiểu quy trình bán vé và quản lý bán vé thực tế.
  6. Phát triển một hệ thống phần mềm hoàn thiện (hệ thống website MienDong Station).
  7. Vận dụng các kiến thức đã tích lũy trong chương trình đào tạo đại học vào quá trình phát triển hệ thống.
  8. Trau dồi kỹ năng giải quyết các vấn đề kỹ thuật nảy sinh trong quá trình xây dựng sản phẩm.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ bán vé, quản lý bến xe và hệ thống bán vé cho Bến xe Miền Đông.
  • Phạm vi không gian và hệ thống: Hệ thống website bán vé trực tuyến MienDong Station và các phân hệ quản trị nghiệp vụ dành cho bốn nhóm người dùng (Ban quản trị bến xe, Chủ nhà xe, Nhân viên bán vé và Khách hàng).
  • Phạm vi thời gian: Đề tài được triển khai trong thời gian 4 tháng, từ tháng 02/2021 đến tháng 06/2021 (nghiệm thu và bảo vệ vào tháng 07/2021).

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

Khung lý thuyết và công nghệ nghiên cứu

Tác giả đã tiến hành tổng hợp cơ sở lý thuyết về các công nghệ phát triển ứng dụng web và quy trình công nghệ phần mềm:

  • Ngôn ngữ và nền tảng Back-end: Khảo sát đặc điểm, ưu nhược điểm của Java, PHP, Python và JavaScript. Phân tích chỉ số PYPL (tháng 07/2021) ghi nhận Python chiếm 30,4% thị phần với tốc độ tăng trưởng 16,6% trong 5 năm, Java duy trì tính ổn định lâu năm, JavaScript giữ vai trò chủ đạo ở cả client và server, còn PHP có ưu thế lớn về chi phí phát triển, xử lý nội dung động và khả năng tương thích cao với hệ quản trị cơ sở dữ liệu MySQL.
  • Framework và thư viện Front-end: Đánh giá các giải pháp UI gồm React, Vue.js, Angular, Preact và Bootstrap. Trong đó, Vue.js được đánh giá là thư viện linh hoạt, dễ tiếp cận, tài liệu rõ ràng và phù hợp với dự án có thời gian phát triển ngắn.
  • Mô hình quy trình phát triển phần mềm: Nghiên cứu lý thuyết về Mô hình xoắn ốc (Spiral), Mô hình thác nước cải tiến (Modified Waterfall), Mô hình chữ V (V-Model), phương pháp Agile và khung làm việc Scrum.
  • Lý thuyết kiểm thử phần mềm: Nghiên cứu định nghĩa và phương pháp thiết kế 8 loại test case cơ bản, bao gồm: test case chức năng, test case giao diện người dùng (UI), test case hiệu suất, test case tích hợp, test case tính khả dụng, test case cơ sở dữ liệu, test case bảo mật và test case chấp nhận (UAT).

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

  • Phương pháp khảo sát hiện trạng: Nghiên cứu thực tế mô hình vận hành bán vé trực tiếp tại 99 quầy vé của Bến xe Miền Đông; khảo sát đối chuẩn tính năng của 5 website bán vé tiêu biểu trên thị trường Việt Nam (Bến xe Miền Đông, Đường sắt Việt Nam dsvn.vn, VeXeRe, Xe khách Phương Trang, Traveloka).
  • Phương pháp phân tích và thiết kế hệ thống: Sử dụng ngôn ngữ mô hình hóa UML để xây dựng sơ đồ use case (use case tổng quát và use case chi tiết), sơ đồ hoạt động (activity diagram), sơ đồ cộng tác (collaboration diagram) và thiết kế cơ sở dữ liệu quan hệ.
  • Phương pháp áp dụng mô hình phát triển: Lựa chọn Mô hình thác nước cải tiến làm quy trình triển khai chính thức.
Bước trong quy trình Nội dung thực hiện Thời gian phân bổ
Giai đoạn 1 Tìm hiểu công nghệ, khảo sát thực tế và phân tích yêu cầu 2 tháng
Giai đoạn 2 Thiết kế kiến trúc, xây dựng cơ sở dữ liệu và lập trình (Front-end, Back-end) 1 tháng
Giai đoạn 3 Kiểm thử, tinh chỉnh hệ thống và viết báo cáo khóa luận 1 tháng

Thiết kế và triển khai

Kiến trúc hệ thống

Hệ thống MienDong Station được thiết kế theo Mô hình kiến trúc 3 lớp (3-tier architecture):

  • Tầng giao diện (Presentation Tier): Xây dựng bằng framework Vue.js kết hợp cùng Bootstrap, chịu trách nhiệm kết xuất giao diện tương tác, tiếp nhận thao tác của người dùng và gửi yêu cầu đến máy chủ.
  • Tầng xử lý nghiệp vụ (Application/Logic Tier): Sử dụng ngôn ngữ PHP với nền tảng Laravel Framework, đảm nhận việc tiếp nhận dữ liệu từ giao diện, xử lý các logic nghiệp vụ (đặt vé, kiểm tra chỗ trống, phân quyền tài khoản, tính toán hóa đơn, điều phối lịch trình) và trả kết quả về tầng giao diện.
  • Tầng dữ liệu (Data Tier): Sử dụng hệ quản trị cơ sở dữ liệu quan hệ MySQL để lưu trữ, truy xuất và duy trì tính toàn vẹn của toàn bộ dữ liệu hệ thống (người dùng, nhà xe, xe, chuyến xe, tuyến đường, vé xe, hóa đơn, bài viết, ý kiến đóng góp).

Phân tích Use Case và phân quyền tác nhân

Hệ thống xác định 4 tác nhân (Actors) chính với các quyền hạn và use case tương ứng:

Tác nhân (Actor) Phạm vi quyền hạn và Use Case chính
Ban quản lý bến xe (Admin) Đăng nhập, đổi mật khẩu, quản lý tuyến đường, quản lý nhà xe, quản lý bến xe, quản lý nhân viên của bến xe, quản lý thông tin khách hàng, quản lý bài viết tin tức, xem ý kiến đóng góp.
Chủ nhà xe (Car Owner) Đăng nhập, đổi mật khẩu, quản lý thông tin phương tiện (xe), quản lý chuyến xe theo chu kỳ hoặc lịch trình, quản lý bến bãi theo nhà xe.
Nhân viên bán vé (Staff) Đăng nhập, đổi mật khẩu, quản lý thông tin vé, thực hiện chọn chuyến, chọn vị trí ghế và xuất bán vé cho khách hàng tại quầy.
Khách hàng (User/Customer) Đăng ký tài khoản, đăng nhập, tìm kiếm chuyến xe theo tuyến đường và ngày khởi hành, chọn bến, chọn chuyến, chọn số ghế, nhập thông tin cá nhân, xác nhận thanh toán đặt vé, xem lịch sử và thông tin vé xe đã mua, gửi đóng góp ý kiến.

Quy trình kiểm thử

Nhóm tác giả thực hiện kiểm thử chức năng trực tiếp trong giai đoạn viết mã nguồn nhằm phát hiện và sửa chữa các lỗi logic, lỗi giao tiếp giữa Front-end và Back-end, đảm bảo tính nhất quán của dữ liệu khi thao tác qua giao diện web.

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

Chương 1: Giới thiệu

Chương này trình bày lý do lựa chọn đề tài, mục tiêu tổng quát và mục tiêu cụ thể của khóa luận. Tác giả nêu rõ phạm vi xây dựng hệ thống website bán vé và quản lý cho Bến xe Miền Đông, đồng thời phân tích các yêu cầu chức năng, yêu cầu phi chức năng (giao diện, tốc độ xử lý, khả năng dễ sử dụng) và giới hạn phạm vi nghiệp vụ cho từng nhóm đối tượng người dùng.

Chương 2: Cơ sở lý thuyết

Nội dung chương 2 tập trung khảo cứu 4 nhóm kiến thức nền tảng:

  • Phân tích chi tiết các ngôn ngữ Back-end (Java, PHP, Python, JavaScript) kèm bảng so sánh đặc tính kỹ thuật và chỉ số xếp hạng PYPL.
  • Khảo sát các công nghệ Front-end (React, Vue.js, Angular, Preact, Bootstrap), từ đó luận giải lý do lựa chọn Vue.js kết hợp Bootstrap cho đề tài.
  • So sánh các mô hình quy trình phát triển phần mềm (Mô hình xoắn ốc, Thác nước cải tiến, Mô hình chữ V, Agile, Scrum) và giải thích tính phù hợp của mô hình Thác nước cải tiến đối với quỹ thời gian 4 tháng của nhóm sinh viên.
  • Phân loại và định nghĩa 8 nhóm test case trong công tác kiểm thử phần mềm.

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

Chương 3 trình bày chi tiết kết quả khảo sát thực trạng bến xe và thị trường, mô hình hóa luồng bán vé offline hiện tại của Bến xe Miền Đông (qua 99 quầy vé). Tác giả thiết lập bảng đối chiếu tính năng giữa hệ thống MienDong Station với 4 website bán vé khác:

Tiêu chí / Chức năng MienDong Station Bến xe Miền Đông (cũ) VeXeRe Xe Phương Trang Đường sắt VN (dsvn.vn)
Đăng ký tài khoản Có Không Có Có Không
Đăng nhập tài khoản Có Không Có Có Có
Bán vé trực tuyến Có Không Có Có Có
Quản lý bến xe / tuyến / chuyến Có Có (nội bộ) Có Có (nội bộ) Có (nội bộ)

Chương này cũng mô tả chi tiết danh mục 16 bảng yêu cầu nghiệp vụ, 13 bảng đặc tả use case, các sơ đồ hoạt động và sơ đồ cộng tác cho các luồng nghiệp vụ trọng tâm (Đăng ký, Đăng nhập, Đổi mật khẩu, Mua vé xe), thiết kế cấu trúc các bảng dữ liệu trong MySQL và sơ đồ kiến trúc hệ thống 3 lớp.

Chương 4: Kết quả xây dựng hệ thống bán vé

Chương 4 minh họa kết quả xây dựng giao diện thực tế của hệ thống phần mềm MienDong Station thông qua 29 hình chụp màn hình chức năng:

  • Giao diện quản trị của Admin: Quản lý tuyến đường, quản lý bến xe, quản lý tài khoản nhân viên, quản lý khách hàng, quản lý bài viết tin tức, xem ý kiến đóng góp của người dùng.
  • Giao diện của Chủ nhà xe: Quản lý danh sách phương tiện xe, quản lý lịch trình chuyến xe theo ngày và theo chu kỳ, xem danh sách vé theo từng chuyến xe, xem thông tin hóa đơn.
  • Giao diện của Nhân viên bán vé: Giao diện tra cứu chuyến xe, sơ đồ ghế và thực hiện thao tác bán vé nhanh tại quầy.
  • Giao diện của Khách hàng: Trang chủ giới thiệu, trang tin tức bài viết, trang liên hệ, chức năng tra cứu tuyến xe và ngày khởi hành, chọn bến xuất phát/đến, chọn chuyến xe, sơ đồ trực quan để chọn vị trí ghế, form nhập thông tin hành khách, màn hình xác nhận thông tin thanh toán, màn hình thông báo giao dịch thành công và trang tra cứu thông tin vé đã mua.

Chương 5: Kết luận và hướng phát triển

Tác giả tổng kết toàn bộ quá trình thực hiện khóa luận, đánh giá mức độ hoàn thành các mục tiêu ban đầu, chỉ ra các hạn chế kỹ thuật còn tồn tại và đề xuất các hướng nâng cấp hệ thống trong tương lai.

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

Kết quả chính

  • Hoàn thành xây dựng trọn vẹn hệ thống website bán vé "MienDong Station" tích hợp cả hai chức năng: bán vé trực tuyến cho khách hàng và phân hệ quản lý điều hành nghiệp vụ cho Bến xe Miền Đông.
  • Hiện thực hóa đầy đủ các luồng use case đã đặc tả, bao gồm: quản lý tuyến đường, bến xe, nhà xe, xe khách, chuyến xe theo chu kỳ, danh sách vé, hóa đơn, tài khoản người dùng và bài viết.
  • Xây dựng thành công quy trình mua vé trực tuyến gồm 5 bước tuần tự: (1) Tìm kiếm tuyến và ngày đi -> (2) Chọn chuyến xe -> (3) Chọn vị trí ghế ngồi -> (4) Nhập thông tin hành khách -> (5) Xác nhận thanh toán và xuất vé điện tử.

Giải pháp và đóng góp của đề tài

  • Giải pháp chuyển đổi số cho bến xe: Cung cấp mô hình cổng thông tin và bán vé trực tuyến độc lập cho Bến xe Miền Đông, giảm tải áp lực giao dịch trực tiếp tại 99 quầy vé truyền thống.
  • Đóng góp so với hiện trạng trước nghiên cứu: Khắc phục triệt để nhược điểm của website cũ của Bến xe Miền Đông (vốn chỉ có tính năng tra cứu thông tin tĩnh), giúp bến xe chủ động quản lý dữ liệu bán vé mà không bị phụ thuộc hoàn toàn vào các nền tảng phân phối vé trung gian bên ngoài.

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

Hạn chế được ghi nhận

  • Kỹ năng làm chủ các công nghệ mới (Laravel, Vue.js) của các thành viên trong nhóm nghiên cứu ban đầu còn hạn chế, dẫn đến việc phát sinh nhiều lỗi kỹ thuật trong giai đoạn đầu của quá trình lập trình.
  • Khóa luận mới tập trung hoàn thiện phiên bản trên nền tảng Website; mục tiêu xây dựng ứng dụng di động (App bán vé) như dự kiến trong đề cương ban đầu chưa được triển khai hoàn chỉnh trong báo cáo này.

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

  • Xây dựng và hoàn thiện ứng dụng di động (Mobile App) bán vé xe trên các hệ điều hành phổ biến để tăng tính tiện ích cho hành khách.
  • Tích hợp thêm các cổng thanh toán điện tử trực tuyến đa dạng và mở rộng kết nối dữ liệu liên thông với các đơn vị vận tải khác.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho các đối tượng sau:

  • 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: Có thể tham khảo phương pháp tiếp cận từ khảo sát thực tế đến phân tích, thiết kế hệ thống thông tin quản lý và thương mại điện tử; tham khảo cấu trúc báo cáo khóa luận tốt nghiệp theo chuẩn đào tạo đại học.
  • Lập trình viên và người phát triển dự án web: Đáng tham khảo phần phân tích đặc tả use case, sơ đồ hoạt động (Activity Diagram), sơ đồ cộng tác (Collaboration Diagram), thiết kế cơ sở dữ liệu quan hệ cho bài toán quản lý bán vé xe khách và phương pháp kết hợp giữa Laravel (Back-end) và Vue.js (Front-end).

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

1. Hệ thống phần mềm trong khóa luận sử dụng tech stack cụ thể nào?

Hệ thống MienDong Station sử dụng ngôn ngữ PHP với framework Laravel cho tầng Back-end, framework Vue.js kết hợp Bootstrap cho tầng Front-end, và hệ quản trị cơ sở dữ liệu quan hệ MySQL cho tầng lưu trữ dữ liệu. Kiến trúc tổng thể được xây dựng theo mô hình 3 lớp.

2. Hiện trạng bán vé tại Bến xe Miền Đông trước khi thực hiện đề tài có đặc điểm gì?

Trước khi thực hiện đề tài, Bến xe Miền Đông chủ yếu bán vé theo hình thức offline trực tiếp tại 99 quầy vé (tương ứng 99 máy tính). Website chính thức của bến xe chỉ cung cấp thông tin tra cứu chuyến xe và thông báo, chưa hỗ trợ khách hàng mua vé online trực tiếp.

3. Khóa luận lựa chọn mô hình quy trình phát triển phần mềm nào và thời gian thực hiện bao lâu?

Nhóm tác giả lựa chọn Mô hình thác nước cải tiến (Modified Waterfall) với tổng thời gian thực hiện là 4 tháng (từ tháng 02/2021 đến tháng 06/2021), chia thành 3 giai đoạn: 2 tháng tìm hiểu công nghệ/khảo sát, 1 tháng xây dựng website và 1 tháng hoàn thiện báo cáo luận văn.

4. Hệ thống MienDong Station hỗ trợ những nhóm tác nhân (Actors) nào?

Hệ thống phân quyền cho 4 nhóm tác nhân chính: Ban quản lý bến xe (Admin), Chủ nhà xe (Car Owner), Nhân viên bán vé (Staff) và Khách hàng (User/Customer). Mỗi tác nhân có giao diện và không gian chức năng nghiệp vụ riêng biệt.

5. Khách hàng thực hiện quy trình mua vé trên hệ thống qua những bước nào?

Quy trình mua vé trực tuyến của khách hàng gồm các bước: Tra cứu tuyến xe và ngày đi -> Chọn bến xe xuất phát/đích -> Chọn chuyến xe phù hợp -> Chọn vị trí ghế ngồi trên sơ đồ -> Nhập thông tin khách hàng -> Xác nhận thanh toán và nhận thông tin giao dịch thành công.

Kết luận

Khóa luận tốt nghiệp "Xây dựng hệ thống bán vé cho Bến xe Miền Đông" của sinh viên Lê Bảo Lâm và Trần Nguyên Lợi đã giải quyết trọn vẹn bài toán xây dựng nền tảng bán vé trực tuyến và quản lý điều hành bến xe theo mô hình kiến trúc 3 lớp (Laravel, Vue.js, MySQL). Đề tài đã khảo sát sát thực tế hiện trạng bán vé tại 99 quầy của bến xe, chuẩn hóa hệ thống use case và hoàn thành giao diện nghiệp vụ cho 4 nhóm tác nhân quản lý và sử dụng. Công trình đáp ứng các mục tiêu đào tạo cử nhân Công nghệ Thông tin và cung cấp tài liệu tham khảo chi tiết về phân tích, thiết kế hệ thống phần mềm thương mại điện tử - dịch vụ vận tải.