Đồ án tốt nghiệp xây dựng website đặt vé xe khách - ĐH SPKT TPHCM

Tải tài liệu đồ án tốt nghiệp Xây dựng website đặt vé xe khách. Báo cáo đầy đủ, chi tiết về phân tích, thiết kế hệ thống và triển khai.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2020

95
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về đồ án tốt nghiệp xây dựng website đặt vé xe khách

Đồ án tốt nghiệp xây dựng website đặt vé xe khách là một dự án học tập hoàn chỉnh được thực hiện bởi sinh viên khoa Công nghệ thông tin tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh. Dự án này nhằm giải quyết nhu cầu thực tế của người dùng hiện đại - mua vé xe khách trực tuyến một cách thuận tiện, nhanh chóng và hiệu quả. Với sự phát triển của công nghệ thông tin, nền tảng đặt vé xe trực tuyến đã trở thành xu hướng không thể tránh khỏi, giúp tiết kiệm thời gian và chi phí cho người dùng. Website đặt vé xe khách được phát triển với mục tiêu cung cấp giao diện thân thiện, tính năng đầy đủ và quy trình thanh toán an toàn. Đây là một ứng dụng web hoàn chỉnh kết hợp giữa frontend và backend, cùng với hệ thống quản trị dành cho nhà cung cấp dịch vụ xe khách.

1.1. Định nghĩa và mục đích của đồ án

Xây dựng website đặt vé xe khách là dự án phát triển một platform e-commerce chuyên biệt cho ngành vận tải hành khách. Mục đích chính là tạo ra một giải pháp công nghệ cho phép khách hàng đặt vé xe khách trực tuyến mà không cần phải đến trực tiếp các bến xe. Dự án này giúp người dùng tiết kiệm thời gian, đặc biệt vào những mùa cao điểm. Đồng thời, nó cung cấp cho các công ty xe khách một hệ thống quản trị hiệu quả để quản lý lộ trình, vé, khách hàng và thanh toán một cách tập trung, chuyên nghiệp.

1.2. Ý nghĩa thực tiễn của dự án

Trong bối cảnh hiện đại, nhu cầu đặt vé xe khách trực tuyến ngày càng tăng cao. Dự án này giải quyết những khó khăn mà người dùng gặp phải khi mua vé xe truyền thống. Ngoài ra, website đặt vé xe còn mang lại lợi ích to lớn cho các doanh nghiệp vận tải bằng cách tự động hóa quy trình bán vé, giảm chi phí nhân công và tăng hiệu suất kinh doanh. Dự án cũng là cơ hội để sinh viên áp dụng kiến thức học tập vào thực tế, phát triển kỹ năng lập trình và thiết kế hệ thống.

II. Công nghệ và công cụ sử dụng trong dự án

Website đặt vé xe khách được xây dựng dựa trên kiến trúc RESTful API, một tiêu chuẩn phát triển hiện đại cho các ứng dụng web. Ngôn ngữ lập trình chính được sử dụng là Java cho phần backend, đảm bảo tính ổn định, bảo mật và hiệu năng cao. Phần frontend được phát triển bằng Angular, một framework JavaScript mạnh mẽ cho phép tạo giao diện người dùng động và responsive. Hệ quản trị cơ sở dữ liệu MySQL được lựa chọn để lưu trữ dữ liệu về khách hàng, chuyến xe, vé và giao dịch. Bên cạnh đó, Bootstrap framework được sử dụng để tối ưu hóa giao diện, đảm bảo tương thích trên các thiết bị khác nhau. Sự kết hợp của các công nghệ này tạo nên một hệ thống mạnh mẽ, linh hoạt và dễ bảo trì.

2.1. Công nghệ backend và API

Java được chọn làm ngôn ngữ lập trình backend vì tính ổn định, hiệu năng cao và khả năng xử lý tải lớn. Kiến trúc RESTful API cho phép giao tiếp hiệu quả giữa frontend và backend, cũng như dễ dàng mở rộng trong tương lai. MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở, phổ biến và đáng tin cậy, lưu trữ toàn bộ dữ liệu về lộ trình, vé, khách hàng và giao dịch thanh toán một cách an toàn và có tổ chức.

2.2. Công nghệ frontend và giao diện người dùng

Angular framework được sử dụng để xây dựng phần frontend hiện đại, cho phép tạo giao diện động và tương tác tốt với người dùng. Bootstrap cung cấp các thành phần UI đã được thiết kế sẵn, giúp tạo giao diện đẹp mắt, chuyên nghiệp và thân thiện trên tất cả các thiết bị. Kết hợp này đảm bảo website đặt vé xe có trải nghiệm người dùng tuyệt vời, từ tìm kiếm chuyến xe đến thanh toán vé một cách mượt mà.

III. Các tính năng chính của website đặt vé xe khách

Website đặt vé xe khách được thiết kế với các tính năng toàn diện để phục vụ cả người dùng cuối (khách hàng) và quản trị viên. Phía khách hàng, nền tảng cho phép tìm kiếm chuyến xe theo điểm đi, điểm đến và ngày tháng một cách dễ dàng. Khách hàng có thể xem chi tiết chuyến xe, giá vé, lịch trình và tình trạng ghế còn trống. Hệ thống đặt vé trực tuyến hỗ trợ chọn ghế, nhập thông tin hành khách và thanh toán. Phía quản trị viên, hệ thống quản lý nhà xe cung cấp các công cụ để quản lý lộ trình, thông tin chuyến xe, giá vé, danh sách khách hàng và doanh thu. Website đặt vé xe cũng bao gồm chức năng theo dõi đơn hàng, xuất hoá đơn điện tử và thống kê doanh thu. Ngoài ra còn có hệ thống quản lý tài khoản người dùng với các mức độ quyền truy cập khác nhau.

3.1. Tính năng cho khách hàng

Tìm kiếm và đặt vé trực tuyến là tính năng inti của website. Khách hàng có thể tìm kiếm các chuyến xe khách theo tuyến đường, ngày tháng và loại xe. Hệ thống hiển thị giá vé, lộ trình chi tiết và tình trạng ghế giúp người dùng đưa ra quyết định nhanh chóng. Khách hàng có thể chọn ghế yêu thích, điền thông tin cá nhân và thực hiện thanh toán. Chức năng quản lý đơn đặt vé cho phép khách hàng xem lịch sử đặt vé, in vé điện tử và hủy/thay đổi đơn nếu được phép.

3.2. Tính năng quản trị cho nhà xe

Hệ thống quản lý nhà xe cung cấp dashboard toàn diện cho quản trị viên. Nhà xe có thể quản lý lộ trình, thêm/sửa/xóa chuyến xe, đặt giá vé và theo dõi tình trạng đặt vé trong thời gian thực. Tính năng thống kê doanh thu giúp nhà xe phân tích hiệu suất kinh doanh. Quản trị viên cũng có thể xử lý thanh toán và xuất hoá đơn điện tử cho khách hàng, cũng như quản lý tài khoản người dùng và cấp quyền truy cập.

IV. Những thách thức và hướng phát triển trong tương lai

Trong quá trình thực hiện đồ án xây dựng website đặt vé xe khách, nhóm sinh viên đã gặp phải nhiều thách thức về mặt kỹ thuật và quản lý dự án. Ban đầu, việc sử dụng các ngôn ngữ lập trình và framework mới như Java và Angular đã gặp khó khăn do thiếu kinh nghiệm. Nhóm phải mất thời gian dài để tự nghiên cứu và học hỏi để vận dụng đúng cách. Thiết kế cơ sở dữ liệu cũng là một thử thách lớn vì thiếu tài liệu tham khảo, dẫn đến một số bất cập trong cấu trúc dữ liệu. Đặc biệt, tích hợp cổng thanh toán trực tuyến là phần khó nhất do yêu cầu bảo mật cao và quy trình phức tạp. Do hạn chế về thời gian và kinh nghiệm, nhóm đã đưa ra giải pháp tạm thời là thanh toán tại quầy hoặc thông qua chuyển khoản thủ công. Trong tương lai, nhóm sẽ phát triển thanh toán trực tuyến tự động, tích hợp bản đồ Google Maps để hiển thị lộ trình, bổ sung tính năng đánh giá và bình luận từ khách hàng, cũng như tối ưu hóa hiệu năng và bảo mật của hệ thống.

4.1. Những khó khăn gặp phải trong quá trình thực hiện

Học tập công nghệ mới là thách thức lớn nhất mà nhóm phải đối mặt. Việc sử dụng Java, Angular và các framework hỗ trợ yêu cầu thời gian học tập dài. Thiết kế cơ sở dữ liệu cho hệ thống đặt vé xe cũng gặp khó khăn vì thiếu mô hình tham khảo thực tế. Ngoài ra, tích hợp thanh toán trực tuyến yêu cầu tuân thủ nhiều tiêu chuẩn bảo mật phức tạp, điều mà nhóm chưa có đủ kinh nghiệm để thực hiện hoàn toàn.

4.2. Kế hoạch phát triển và cải tiến trong tương lai

Để hoàn thiện website đặt vé xe khách, nhóm dự kiến tích hợp thanh toán trực tuyến tự động qua các cổng như VNPay, Stripe hoặc Momo. Bổ sung tính năng bản đồ sử dụng Google Maps API để hiển thị lộ trình và khoảng cách giữa điểm đi và điểm đến. Thêm hệ thống đánh giá, bình luận từ khách hàng để tăng độ tin cậy. Tối ưu hóa hiệu năng cơ sở dữ liệu và bổ sung tính năng bảo mật nâng cao như mã hóa dữ liệu và xác thực hai bước.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

28/12/2025
Đồ án tốt nghiệp xây dựng website đặt vé xe khách

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu tổng quan - Chương 2: Cơ sở lý thuyết - Chương 3: Khảo sát hiện trạng và xác định yêu cầu 2 - Chương 4: Thiết kế phần mềm - Chương 5: Kết quả so sánh, thực nghiệm, phân tích, tổng hợp - Chương 6: Kết luận và hướng phát triển 3 Chương 2 CƠ SỞ LÝ THUYẾT 2. Giới thiệu về ngôn ngữ Java 2. Java là gì? Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy.

Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như C và C++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in time compilation, khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệt Java có thể chạy nhanh hơn. Java chạy nhanh hơn những ngôn ngữ thông dịch như Python, Perl, PHP gấp nhiều lần. Java chạy tương đương so với C#, một ngôn ngữ khá tương đồng về mặt cú pháp và quá trình dịch/chạy. Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn.

Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn. Nhưng về lập trình hướng đối tượng thì Java phức tạp hơn. Trong Java, hiện tượng rò rỉ bộ nhớ hầu như không xảy ra do bộ nhớ được quản lý bởi Java Virtual Machine (JVM) bằng cách tự động "dọn dẹp rác". Người lập trình không phải quan tâm đến việc cấp phát và xóa bộ nhớ như C, C++.

Tuy nhiên khi sử dụng những tài nguyên mạng, file IO, database (nằm ngoài kiểm soát của JVM) mà người lập trình không đóng (close) các streams thì rò rỉ dữ liệu vẫn có thể xảy ra. Lịch sử phát triển Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm 1991. Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay cho C++, nhưng các tính năng giống Objective C. Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C.

Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên. Tháng 04/2011, công ty Sun Microsystems tiếp tục cho ra bản JDK 1. Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều 4 kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó.

Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP. Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS. Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (do Sun quản lý).

Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun, bao gồm ông James Gosling, một phần của Dự án Xanh (Green Project). Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java. Về sau Java được hỗ trợ trên hầu hết các trình duyệt Internet như Explorer (Microsoft), Firefox,. Java được sử dụng chủ yếu trên môi trường NetBeans và Oracle.

Sau khi Oracle mua lại công ty Sun Microsystems năm 2009-2010, Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch". Có rất nhiều phiên bản Java đã được phát hành: Phiên bản đầu tiên là JDK 1.0 phát hành vào ngày 23/01/1996 cho tới phiên bản mới nhất hiện nay là JDK 10 phát hành vào ngày 20/03/2018. Mục tiêu chính của ngôn ngữ Java Có 6 mục tiêu chính trong việc xây dựng ngôn ngữ Java: - Đơn giản, hướng đối tượng và quen thuộc. - Mạnh mẽ và an toàn.

- Kiến trúc trung lập và di động. - Thực thi với hiệu suất cao. - Dịch ra bytecode, phân luồng và năng động. - Dễ sử dụng cho người dùng Java.

Ưu điểm và nhược điểm - Ưu điểm  Java là ngôn ngữ có mã nguồn mở, miễn phí, thuần hướng đối tượng.  Được hỗ trợ IDE miễn phí, có cộng đồng hỗ trợ rộng lớn trên toàn thế giới.  Dễ thực thi, dễ sử dụng, dễ tiếp cận.  API hỗ trợ phong phú.

- Nhược điểm  Thư viện của Java khá nặng.  Tương tác với database (cơ sở dữ liệu) thì cần phải có library (thư viện) riêng.  Máy ảo của Java có thể chiếm nhiều bộ nhớ. Giới thiệu về ngôn ngữ Angular 2.

Giới thiệu về Angular Angular là một web framework mã nguồn mở dựa trên TypeScript do nhóm Angular tại Google và bởi một cộng đồng của các cá nhân và tập đoàn. Angular là một bản viết lại hoàn chỉnh từ cùng một nhóm đã xây dựng AngularJs. Đặc điểm của Angular Angular là một nền tảng để xây dựng các ứng dụng mobile application và web application. Hiện tại phiên bản mới nhất là Angular 10.

- Angular không có một khái niệm của “scope” hoặc controller, thay vào đó nó sử dụng hệ gia phả các thành phần (component) như một tính chất cấu trúc chính. - Angular có một expression syntax khác so với AngularJs, sử dung “[ ]” cho property binding và “( )” cho event binding. - Tính module – đa số các tính năng chính đã chuyển về các module. - Angular chuyển sang sử dụng ngôn ngữ Typescrpit của Microsoft, trong đó có các tính chất như là static typing và annotation.

Tại sao chọn Angular 10? Không thể chối từ một sản phẩm có rất nhiều tính năng được phát triển bởi Google khi liên tục cập nhật version mới. Tại thời điểm tiến hành thực hiện đồ án, Angular 10 là phiên bản mới nhất với rất nhiều tính năng được cải tiến. Hỗ trợ lazy loading, data-binding, pipe, … cùng rất nhiều ng module đa dạng hỗ trợ cho việc phát triển website. Bên cạnh đó, việc phân chia thành các thành phần model, service, component, thân thiện, dễ sử dụng và phân chia làm project dễ quản lý cũng như việc triển khai và bảo trì sau này.

Giới thiệu về công nghệ RESTful API RESTful là tiêu chuẩn trong việc thiết kế API cho các ứng dụng Web (thiết kế Web Services) để tiện cho việc quản lý các resource. Nó chú trong vào các tài nguyên hệ thống, bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP. Chức năng quan trọng nhất của Rest là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful.

Cách RESTful hoạt động: 6 Hình 3. 1: Cách thức hoạt động của RestfulAPI REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.  GET (SELECT): Trả về một Resource hoặc một danh sách Resource.

 POST (CREATE): Tạo mới một Resource.  PUT (UPDATE): Cập nhật thông tin cho Resource.  DELETE (DELETE): Xoá một Resource. Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.

7 Chương 3 KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 3. Khảo sát yêu cầu (từ các ứng dụng có trên thị trường) 3. Tính năng Hình 3.2: Khảo sát tính năng của VeXeRe. Giao diện 8 Hình 3.3: Khảo sát giao diện của VeXeRe.

Ưu và nhược điểm - Ưu điểm: Giao diện đơn giản dễ sử dụng, có cung cấp phần mềm cho các hãng xe, sử dụng được 2 ngôn ngữ. - Nhược điểm: Không có đăng ký thành viên và chế độ ưu đãi cho khách hàng chi tiết. Phương Trang futabus. Tính năng Hình 3.4: Khảo sát tính năng của futabus.

Giao diện 10 Hình 3.5: Khảo sát giao diện của futabus. Ưu và nhược điểm - Ưu điểm: Đầy đủ các chức năng cần thiết. - Nhược điểm: Giao diện không thân thiện với người dùng. Thành Bưởi thanhbuoi.

Tính năng Hình 3.6: Khảo sát tính năng của thanhbuoi. Giao diện Hình 3.7: Khảo sát giao diện của thanhbuoi. Ưu và nhược điểm - Ưu điểm: Giao diện đơn giản dễ sử dụng, thông tin đầy đủ. - Nhược điểm: Còn sử dụng nền Flash ở vài điểm, không có tính năng thành viên.

Không có tính năng đặt vé và thanh toán online. Thiếu nhiều tính năng. Tính năng Hình 3.8: Khảo sát tính năng của busonlineticket. Giao diện 13 Hình 3.9: Khảo sát giao diện của busonlineticket.

Ưu và nhược điểm - Ưu điểm: Tích hợp nhiều loại xe và cả khách sạn, thuyền du lịch. Có ứng dụng trên điện thoại, giao diện đơn giản dễ sử dụng. - Nhược điểm: Sắp xếp các content chưa thực sự bắt mắt. Mô hình hóa yêu cầu 3.

Use case diagram 3. Use case của khách hàng Hình 3.10: Use case của khách hàng 15 3. Use case của nhân viên bán vé tại quầy Hình 3.11: Use case của nhân viên bán vé tại quầy 16 3. Use case của quản trị viên Hình 3.12: Use case của quản trị viên 3.

Ý nghĩa của actor và use case Bảng 3.1: Ý nghĩa của actor STT Tên Actor Ý nghĩa 1 Admin Quản trị viên 2 Manager Nhân viên bán vé tại quầy 3 User Khách hàng 17 Bảng 3.2: Ý nghĩa của use case Yêu cầu chức năng Ý nghĩa Actor 1. Register account Đăng ký tài khoản User User, 2. Login account Đăng nhập tài khoản Manager, Admin User, 3. Logout account Đăng xuất tài khoản Manager, Admin User, 4.

Choose route Chọn tuyến đi Manager User, 4. Choose seat Chọn ghế 4. Booking Manager ticket 4. Booking Nhập thông tin người đặt User, information vé Manager 4.

Confirm User, Xác nhận vé đã đặt ticket Manager User, 5. View all Xem tất cả các vé đã đặt Manager, booking ticket Admin User, 5. View details Xem thông tin chi tiết vé Manager, booking ticket đã đặt 5. Manage ticket Admin (mange bill) User, 5.

Cancel Hủy vé đã đặt Manager, booking ticket Admin 5. Update Cập nhật trạng thái thanh status payment Admin toán vé ticket 6.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ