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

Khóa luận tốt nghiệp "Xây dựng website quản lý dịch vụ đặt vé xe khách trên nền web" được thực hiện bởi sinh viên Đỗ Văn Bình, dưới sự hướng dẫn của ThS. Phí Thị Hải Yến tại Khoa Công nghệ Thông tin – Trường Đại học Tài nguyên và Môi trường Hà Nội (năm 2022, mã ngành 7480201).

Trong bối cảnh công nghệ thông tin và thương mại điện tử phát triển, nhu cầu giao dịch qua mạng Internet của người tiêu dùng ngày càng gia tăng. Đối với các doanh nghiệp vận tải hành khách bằng xe khách, phương thức quản trị truyền thống bằng sổ sách giấy tờ và bảng tính Excel bộc lộ nhiều hạn chế: tốn kém thời gian, dễ xảy ra sai sót khi lượng khách tăng cao, khó khăn trong việc tổng hợp số liệu và thống kê doanh thu. Về phía khách hàng, việc phải đến trực tiếp bến xe hoặc phòng vé gây tốn kém chi phí, thời gian đi lại. Do đó, việc xây dựng một hệ thống trực tuyến hỗ trợ tra cứu lộ trình, đặt vé và quản lý điều hành dịch vụ là yêu cầu thực tiễn cấp thiết nhằm tối ưu hóa quy trình quản lý và nâng cao năng lực tiếp cận khách hàng.

Nhiệm vụ và mục tiêu nghiên cứu của đề tài được tác giả xác định cụ thể gồm 4 nội dung:

  1. Tìm hiểu về ngôn ngữ lập trình PHP.
  2. Tìm hiểu về Laravel Framework.
  3. Xây dựng một ứng dụng web hoàn chỉnh sử dụng Laravel Framework.
  4. Nghiên cứu nghiệp vụ quản lý các dịch vụ của website đặt vé xe khách.
  • Đối tượng nghiên cứu: Người quản lý hệ thống (Admin) và khách hàng sử dụng dịch vụ.
  • Phạm vi nghiên cứu: Các nghiệp vụ và dịch vụ đặt vé xe khách trực tuyến trên nền tảng web.

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

Khóa luận áp dụng mô hình kiến trúc phát triển ứng dụng web hiện đại cùng hệ thống công nghệ mã nguồn mở:

  • Ngôn ngữ PHP và mô hình LAMP: Sử dụng PHP (Hypertext Preprocessor) chạy phía máy chủ để sinh mã HTML trả về máy khách. Hệ thống vận hành trên môi trường LAMP gồm Linux, Apache Web Server, cơ sở dữ liệu MySQL và PHP.
  • Laravel Framework (phiên bản 5.5): Áp dụng kiến trúc Model – View – Controller (MVC). Hệ thống sử dụng bộ định tuyến routes/web.php, Eloquent ORM thông qua các Model kế thừa lớp App/, Controller điều phối xử lý nghiệp vụ tại app/Http/Controllers, và công cụ Blade Template (master.blade.php, cú pháp @extends, @section, @yield) tại thư mục resources/views.
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) theo mô hình Client – Server, hỗ trợ lưu trữ toàn bộ dữ liệu người dùng, xe khách, lộ trình và giao dịch đặt vé.
  • Thư viện giao diện: HTML5, Bootstrap CSS Framework (hỗ trợ thiết kế Web Responsive tương thích thiết bị di động), JavaScript thuần và thư viện jQuery (kích thước ~19KB gzipped, cơ chế Sizzle selector hỗ trợ thao tác DOM, xử lý sự kiện và tích hợp AJAX).

Phương pháp nghiên cứu được triển khai theo hai hướng:

  • Phương pháp nghiên cứu lý thuyết: Thu thập, phân tích tài liệu chuyên ngành về thiết kế website, nghiệp vụ vận tải hành khách, HTML5, Bootstrap, JavaScript, hệ quản trị MySQL và Laravel Framework.
  • Phương pháp nghiên cứu thực nghiệm: Cài đặt, triển khai mã nguồn và tiến hành kiểm thử các chức năng của hệ thống phần mềm nhằm phát hiện sai sót, kiểm tra tính đúng đắn của các luồng nghiệp vụ và khắc phục lỗi phát sinh.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo hướng module hóa, phân định rõ ràng giữa tầng hiển thị, tầng xử lý logic và tầng dữ liệu dựa trên mô hình MVC của Laravel.

Yêu cầu cấu hình triển khai

  • Cấu hình phần cứng tối thiểu: Hệ điều hành Windows 7 trở lên; vi xử lý tốc độ từ 1.8 GHz trở lên; bộ nhớ RAM khuyến nghị từ 4GB; dung lượng đĩa cứng trống từ 1GB đến 40GB tùy theo khối lượng dữ liệu và tính năng cài đặt.
  • Môi trường phần mềm và dữ liệu: Hệ quản trị cơ sở dữ liệu MySQL, công cụ quản trị MySQL Workbench.

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

Hệ thống sử dụng cơ sở dữ liệu quan hệ gồm 11 bảng chức năng chính:

Tên bảng Khóa chính Mục đích lưu trữ Các trường dữ liệu chính
user id_user Tài khoản quản trị và nhân viên name, date_birth, sex, address, email, password, type_employee, license, phone, remember_token, timestamp
type_buses id_type_buses Phân loại dòng xe type_bus, number_row, number_column, diagram, user_create, user_update, timestamp
coach id_coach Thông tin phương tiện xe khách license_plate, type_car_id, number_seat, is_active, timestamp
buse id_buse Lịch trình các chuyến xe route_id, driver_id, coach_id, start_day, start_time, is_active, price, number_seat, timestamp
buse_stop id_buse_stop Danh mục điểm dừng đón/trả name, position, user_created, timestamp
customer id_customer Thông tin tài khoản khách hàng name, date_birth, sex, address, email, password, phone, timestamp
order_ticket id_order_ticket Dữ liệu đơn đặt vé customer_id, buse_id, number, total, is_active, payment, timestamp
route_bus id_route_bus Thông tin tuyến đường/lộ trình departure, destination, rest_stops, time_intend, km, image, route, hot, timestamp
province id_province Danh mục tỉnh thành Name, timestamp
news id_new Tin tức và bài viết title, image, introduce, content, check_slide, timestamp
introduce id_introduce Nội dung giới thiệu doanh nghiệp content, user_id_create, user_id_update, timestamp
settings id_setting Cấu hình thông tin hệ thống web company, address, image, phone, facebook, email, introduce, timestamp

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

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN

Chương này tập trung trình bày tính cấp thiết của việc hiện đại hóa dịch vụ xe khách thông qua nền tảng web, đồng thời giới thiệu tổng quan hệ thống công nghệ nền tảng. Tác giả phân tích cơ chế hoạt động của PHP Engine trong việc thông dịch mã nguồn khi nhận yêu cầu từ Web Server, lịch sử hình thành của Laravel Framework (do Taylor Otwell phát triển nhằm khắc phục các nhược điểm của CodeIgniter), cấu trúc điều hướng qua Router, cách khởi tạo Model bằng câu lệnh Artisan (php artisan make:model NameModel), cơ chế tạo Controller (php artisan make:controller MyController) và kiến trúc kế thừa giao diện Master Template qua Blade. Chương 1 cũng trình bày vai trò của MySQL và các thư viện hỗ trợ như Bootstrap CSS, JavaScript và jQuery.

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

Nội dung chương 2 là trọng tâm kỹ thuật của đề tài, bao gồm khảo sát yêu cầu, mô hình hóa chức năng và thiết kế cấu trúc dữ liệu:

  • Phân tích yêu cầu chức năng: Phân định 2 tác nhân (Actor) chính:
    • Khách hàng: Tìm kiếm lộ trình, xem thông tin chuyến đi, chọn ghế, đặt vé trực tuyến, thanh toán và quản lý thông tin tài khoản cá nhân.
    • Quản trị viên (Admin): Đăng nhập hệ thống, quản lý danh mục tin tức, chuyến xe, lộ trình, loại xe, khách hàng, nhân viên/người dùng, điểm dừng, cấu hình hệ thống và thống kê tình hình đặt vé theo từng xe.
  • Yêu cầu phi chức năng: Đảm bảo hệ thống xử lý nhanh, dung lượng gọn nhẹ, tính toán giá vé chính xác, giao diện thân thiện và mã hóa bảo mật thông tin tài khoản người dùng.
  • Mô hình hóa UML: Xây dựng hệ thống sơ đồ Use Case tổng quát và 11 Use Case phân rã kèm kịch bản chi tiết (Đăng nhập, Tìm kiếm, Quản lý tin tức, Quản lý chuyến xe, Quản lý lộ trình, Quản lý loại xe, Quản lý khách hàng, Quản lý người dùng, Quản lý trạm dừng, Xem thông tin, Đặt vé – thanh toán). Đồng thời, chương này thiết lập các biểu đồ hoạt động (Activity Diagram) và biểu đồ tuần tự (Sequence Diagram) cho các quy trình đăng ký, đăng nhập, tìm kiếm, đặt vé và thao tác dữ liệu (Thêm, Sửa, Xóa).
  • Thiết kế cơ sở dữ liệu chi tiết: Đặc tả cụ thể kiểu dữ liệu, khóa chính, ràng buộc Not Null của từng trường trong toàn bộ 11 bảng dữ liệu.

CHƯƠNG 3: XÂY DỰNG WEBSITE QUẢN LÝ DỊCH VỤ ĐẶT VÉ XE KHÁCH

Chương 3 mô tả việc hiện thực hóa các phân tích, thiết kế thành hệ thống phần mềm hoàn chỉnh:

  • Thiết lập môi trường và cấu hình: Quy định các thông số phần cứng tối thiểu và môi trường cơ sở dữ liệu phục vụ vận hành.
  • Xây dựng giao diện người dùng (Front-end): Hiện thực hóa hệ thống giao diện trực quan cho khách hàng bao gồm: Trang chủ, Giao diện tìm chuyến, Giao diện chọn chuyến, Giao diện chi tiết vé, Giao diện chọn hình thức thanh toán, Giao diện thông tin vé đã đặt, Giao diện thông tin khách hàng, Giao diện cập nhật thông tin cá nhân, Giao diện đổi mật khẩu, Trang tin tức, Trang giới thiệu và Trang liên hệ.
  • Xây dựng giao diện quản trị (Back-end): Hiện thực hóa không gian quản lý dành riêng cho Admin bao gồm: Bảng điều khiển quản lý chung, Trang quản lý tình trạng đặt vé, Trang quản lý lộ trình/chuyến xe, Trang quản lý danh mục tin tức và Trang thiết lập cấu hình website.

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

Kết quả chính

  • Hoàn thiện website quản lý dịch vụ đặt vé xe khách với đầy đủ các phân hệ chức năng cho người dùng và người quản trị.
  • Cung cấp đầy đủ các kịch bản tương tác người dùng, xử lý ngoại lệ khi nhập sai thông tin tài khoản hoặc tìm kiếm các tour/tuyến không tồn tại trên hệ thống.
  • Xây dựng sơ đồ cơ sở dữ liệu quan hệ hoàn chỉnh gồm 11 bảng chuẩn hóa, quản lý chặt chẽ mối liên kết giữa tuyến đường (route_bus), chuyến xe (buse), loại xe (type_buses), xe khách (coach) và đơn đặt vé (order_ticket).

Đóng góp của đề tài

  1. Hệ thống hóa toàn bộ cơ sở lý thuyết nền tảng về ngôn ngữ PHP và quy trình phát triển phần mềm trên nền Laravel Framework.
  2. Xây dựng một giải pháp phần mềm cụ thể giải quyết bài toán chuyển đổi số nghiệp vụ vận tải hành khách, thay thế hoàn toàn phương pháp ghi chép sổ sách và bảng tính Excel thủ công.
  3. Thiết lập hệ thống tài liệu phân tích thiết kế hệ thống thông tin đầy đủ, chuẩn hóa từ biểu đồ Use Case, Activity Diagram, Sequence Diagram đến cấu trúc cơ sở dữ liệu chi tiết.

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

  • Hạn chế: Hệ thống tập trung giải quyết các bài toán nghiệp vụ cốt lõi theo phạm vi đề tài của một đồ án tốt nghiệp đại học, được kiểm thử trên môi trường cục bộ với các cấu hình tối thiểu phục vụ nghiên cứu thực nghiệm.
  • Hướng phát triển: Tiếp tục tối ưu hóa hiệu năng website, hoàn thiện và nâng cao tính năng quản lý, mở rộng các phương thức thanh toán trực tuyến và tích hợp thêm các tiện ích phục vụ người dùng theo nhu cầu thực tế của các doanh nghiệp vận tải.

Giá trị tham khảo

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

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin: Làm tài liệu mẫu để học tập và nghiên cứu quy trình phân tích, thiết kế và phát triển ứng dụng web từ đầu bằng PHP và Laravel Framework.
  • Người nghiên cứu các đề tài tương tự: Có thể tham khảo trực tiếp cấu trúc sơ đồ Use Case, kịch bản luồng sự kiện chính/ngoại lệ và lược đồ thiết kế cơ sở dữ liệu 11 bảng cho bài toán đặt vé xe khách trực tuyến.

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

1. Hệ thống sử dụng công nghệ và framework nào để xây dựng?
Website được phát triển bằng ngôn ngữ lập trình PHP kết hợp Laravel Framework (phiên bản 5.5) theo mô hình MVC, hệ quản trị cơ sở dữ liệu MySQL, cùng các thư viện giao diện gồm Bootstrap CSS, JavaScript và jQuery.

2. Khách hàng sử dụng website có thể thực hiện những chức năng gì?
Khách hàng có thể đăng ký tài khoản, đăng nhập, tìm kiếm chuyến xe theo điểm khởi hành/kết thúc, xem chi tiết lộ trình, lựa chọn chuyến, đặt vé, chọn hình thức thanh toán trực tuyến, xem lịch sử vé đã đặt, cũng như cập nhật thông tin cá nhân và thay đổi mật khẩu.

3. Quản trị viên (Admin) quản lý những danh mục dữ liệu nào trên hệ thống?
Admin có quyền quản lý đơn đặt vé (tìm kiếm, xác nhận), quản lý chuyến xe, quản lý lộ trình, quản lý loại xe, quản lý xe khách, quản lý trạm dừng đón/trả, quản lý tài khoản người dùng/nhân viên, quản lý khách hàng, quản lý tin tức và thiết lập cấu hình thông tin website.

4. Cơ sở dữ liệu của website gồm những bảng chính nào?
Cơ sở dữ liệu gồm 11 bảng: user, type_buses, coach, buse, buse_stop, customer, introduce, news, province, order_ticket, route_bus và settings.

5. Yêu cầu cấu hình phần cứng tối thiểu để triển khai ứng dụng là gì?
Hệ điều hành Windows 7 trở lên, vi xử lý tối thiểu 1.8 GHz, bộ nhớ RAM khuyến nghị từ 4GB, dung lượng đĩa cứng trống từ 1GB đến 40GB tùy tính năng cài đặt, cùng hệ quản trị cơ sở dữ liệu MySQL Workbench.


Kết luận

Khóa luận tốt nghiệp của sinh viên Đỗ Văn Bình đã hoàn thành mục tiêu nghiên cứu lý thuyết về PHP, Laravel Framework và xây dựng thành công website quản lý dịch vụ đặt vé xe khách trực tuyến. Đề tài đã giải quyết trọn vẹn bài toán nghiệp vụ từ khâu phân tích yêu cầu, xây dựng biểu đồ UML đến thiết kế cơ sở dữ liệu và hiện thực hóa giao diện chức năng. Đây là công trình nghiên cứu và ứng dụng thực tiễn hoàn chỉnh, cung cấp tài liệu tham khảo có giá trị cho sinh viên ngành Công nghệ thông tin trong việc phát triển các hệ thống thương mại điện tử trên nền web.