(Đồ á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(Đồ á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(Đồ á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(Đồ á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(Đồ á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(Đồ á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(Đồ á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(Đồ á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(Đồ án tốt nghiệp) Xây dựng Website đặt vé xe khách
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE ĐẶT VÉ XE KHÁCH SVTH : MSSV : Khoá : Ngành : GVHD: NGUYỄN NGỌC PHƯƠNG MAI HUỲNH TRẦN THÁI BẢO 16110150 16110015 2016 - 2020 Công nghệ thông tin THS NGUYỄN MINH ĐẠO TP Hồ Chí Minh, tháng 12 năm 2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE ĐẶT VÉ XE KHÁCH SVTH : MSSV : Khoá : Ngành : GVHD: NGUYỄN NGỌC PHƯƠNG MAI HUỲNH TRẦN THÁI BẢO 16110150 16110015 2016 - 2020 Công nghệ thông tin THS NGUYỄN MINH ĐẠO TP Hồ Chí Minh, tháng 12 năm 2020 LỜI CẢM ƠN Thực đồ án khóa luận tốt nghiệp yêu cầu bắt buộc hầu hết sinh viên trường đại học Nhưng mặt khác, thực giai đoạn hết sức ý nghĩa, giúp sinh viên áp dụng học vào thực tiễn, giúp phát huy hết khả tự học, tự nghiên cứu, khả sáng tạo sinh viên Qua đó, giúp thân sinh viên trau dồi thêm kiến thức kỹ chuyên ngành, làm việc nhóm, thuyết trình, đọc, hiểu tài liệu, viết báo cáo và đặc biệt khả phản biện Lời cảm ơn đầu tiên, nhóm sinh viên thực báo cáo xin gửi đến nhà trường, quý thầy cô tạo điều kiện cho sinh viên học tập thật tốt, cung cấp kiến thức chuyên ngành thực hữu ích, cần thiết cho công việc sinh viên sau Tiếp đó, nhóm sinh viên thực báo cáo xin chân thành cảm ơn thầy Nguyễn Minh Đạo – giáo viên hướng dẫn khóa luận tốt nghiệp ln theo dõi sát sao, bảo tận tình và giúp đỡ nhóm sinh viên suốt q trình thực khóa luận tốt nghiệp Nhờ giúp đỡ thầy mà nhóm rút nhiều điều hay bổ ích Sau cùng, nhóm sinh viên thực báo cáo xin cảm ơn quý thầy cô phản biện bỏ chút thời gian hội đồng báo cáo để phản biện, vấn đáp đưa góp ý thiết thực để nhóm tất bạn sinh viên khác rút nhiều học cho thân, nhiều kinh nghiệm thực tiễn, tích lũy hành trang kiến thức cho tương lai Một lần nhóm sinh viên thực báo cáo xin gửi lời cảm ơn sâu sắc đến toàn thể quý thầy cô và nhà trường trường Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh! TP.Hồ Chí Minh, ngày 28 tháng 12 năm 2020 Nhóm sinh viên thực báo cáo Nguyễn Ngọc Phương Mai Huỳnh Trần Thái Bảo iv TÓM TẮT Xe khách từ lâu trở thành phương tiện lại quen thuộc với tất người Việc di chuyển đến nơi xa du lịch, công tác hay quê bằng phương tiện xe khách nhiều người lựa chọn phổ biến, tiện lợi và giá phải nhiều đối tượng Tuy nhiên, nhiều người khơng có nhiều thời gian để bến xe để mua vé trực tiếp, đặc biệt ngày, mùa cao điểm người dùng lại càng gặp khó khăn việc mua vé xe Vì thế, nhận thấy điều này, nhóm sinh viên thực báo cáo quyết định lựa chọn đề tài: “Xây dựng website đặt vé xe khách” nhằm mục đích giúp người dùng đặt vé xe trực tuyến, tiết kiệm thời gian, tiền bạc mà đặt vé xe cách dễ dàng, nhanh chóng mà hết sức đơn giản Website đặt vé xe khách nhóm sinh viên thực viết theo RESTful API, ngôn ngữ lập trình chủ yếu là Java, Angular, … hệ quản trị sở liệu MySQL Bên cạnh cịn sử dụng framework hỗ trợ Bootstrap Trong trình thực đồ án, ban đầu nhóm gặp khơng ít khó khăn việc vận dụng ngơn ngữ chưa có nhiều kinh nghiệm và kiến thức Do đó, nhóm phải nhiều thời gian cho việc tự nghiên cứu, học hỏi và vận dụng Đồng thời, nhóm gặp khó khăn việc trải nghiệm thực tiễn, thiết kế sở liệu, khơng tìm nguồn tài liệu thích hợp để tham khảo Vì thế, trình thiết kế sở liệu cịn nhiều bất cập, nhóm tự lên ý tưởng, thiết kế nên liệu chưa thực thực tế Đặc biệt, trình tiếp cận với cổng tốn trực tún, chưa có kinh nghiệm thực và chưa có nhiều kiến thức quy trình tốn trực tún Vì vậy, nhóm đưa ràng buộc khách hàng là toán quầy nếu chuyển khoản cú pháp yêu cầu, quản trị viên cập nhật phần toán thay hệ thống tự động cập nhật Tuy gặp nhiều khó khăn q trình thực nhóm cố gắng hết sức để tìm hướng giải quyết tốt Đồ án thực nhóm tương đối đầy đủ tính cho quy trình đặt vé xe online và hệ thống quản trị cho nhà xe Tuy khơng có q nhiều tính mới, tương đối đầy đủ và giúp cho người dùng dễ dàng, đơn giản việc đặt vé trực tuyến Trong tương lai, nhóm phát triển thêm tính khác mang tính thực tiễn chẳng hạn việc toán trực tuyến, xem khoảng cách từ nơi đến nơi đến đồ Google maps v MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii LỜI CẢM ƠN iv TÓM TẮT v MỤC LỤC vi DANH MỤC CÁC CHỮ VIẾT TẮT xi DANH MỤC CÁC BẢNG BIỂU xii DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ xiv Chương .1 GIỚI THIỆU TỔNG QUAN .1 1.1 Lý chọn đề tài 1.2 Ý nghĩa khoa học thực tiễn 1.3 Mục tiêu đề tài 1.4 Phương pháp nghiên cứu 1.5 Bố cục báo cáo Chương .4 CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu ngôn ngữ Java 2.1.1 Java gì? .4 2.1.2 Lịch sử phát triển 2.1.3 Mục tiêu ngơn ngữ Java .5 2.1.4 Ưu điểm và nhược điểm .5 2.2 Giới thiệu ngôn ngữ Angular 2.2.1 Giới thiệu Angular 2.2.2 Đặc điểm Angular 2.2.3 Tại chọn Angular 10? .6 2.3 Giới thiệu công nghệ RESTful API Chương .8 KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 3.1 Khảo sát yêu cầu (từ ứng dụng có thị trường) 3.1.1 VeXeRe.com 3.1.1.1 Tính vi 3.1.1.2 Giao diện 3.1.1.3 Ưu và nhược điểm 10 3.1.2 Phương Trang futabus.vn 10 3.1.2.1 Tính .10 3.1.2.2 Giao diện .10 3.1.2.3 Ưu và nhược điểm 11 3.1.3 Thành Bưởi thanhbuoi.com.vn 11 3.1.3.1 Tính .11 3.1.3.2 Giao diện .12 3.1.3.3 Ưu và nhược điểm 12 3.1.4 Busonlineticket.com 12 3.1.4.1 Tính .12 3.1.4.2 Giao diện .13 3.1.4.3 Ưu và nhược điểm 14 3.2 Mơ hình hóa u cầu 15 3.2.1 Use case diagram 15 3.2.1.1 Use case khách hàng .15 3.2.1.2 Use case nhân viên bán vé quầy 16 3.2.1.3 Use case quản trị viên .17 3.2.1.4 Ý nghĩa actor use case 17 3.2.2 Use case specification 20 3.2.2.1 Đăng ký tài khoản 20 3.2.2.2 Đăng nhập tài khoản 20 3.2.2.3 Đăng xuất tài khoản .21 3.2.2.4 Đặt vé xe 22 3.2.2.4.1 Chọn tuyến xe 22 3.2.2.4.2 Chọn ghế 22 3.2.2.4.3 Thông tin người đặt vé .23 3.2.2.4.4 Xác nhận đặt vé 23 3.2.2.5 Quản lý vé đặt 24 3.2.2.5.1 Xem thông tin tất vé 24 3.2.2.5.2 Xem thông tin chi tiết vé đặt .25 3.2.2.5.3 Hủy vé đặt 25 3.2.2.5.4 Cập nhật trạng thái toán vé .26 Update status payment ticket 26 3.2.2.6 Quản lý người dùng .26 vii 3.2.2.6.1 Xem tất người dùng .26 3.2.2.6.2 Tạo người dùng 27 3.2.2.6.3 Xem thông tin chi tiết người dùng .28 3.2.2.6.4 Chỉnh sửa thông tin người dùng .28 3.2.2.6.5 Người dùng hoạt động/không hoạt động 29 3.2.2.7 Quản lý admin 29 3.2.2.7.1 Quản lý vị trí 29 3.2.2.7.2 Quản lý xe 32 3.2.2.7.3 Quản lý tuyến xe 34 3.2.2.7.4 Quản lý phiên 37 Chương 40 THIẾT KẾ PHẦN MỀM 40 4.1 Thiết kế hệ thống .40 4.1.1 Class diagram 40 4.1.1.1 Xác thực .40 4.1.1.2 Quyền người dùng 40 4.1.1.3 Quản lý người dùng .41 4.1.1.4 Quản lý vị trí 41 4.1.1.5 Quản lý xe 42 4.1.1.6 Quản lý tuyến xe 42 4.1.1.7 Quản lý ghế 43 4.1.1.8 Quản lý phiên 43 4.1.1.9 Quản lý vé 44 4.1.1.10 Quản lý hóa đơn 44 4.1.1.11 Thông tin người đặt vé 45 4.1.1.12 Đặt vé 45 4.1.2 Sequence Diagram 46 4.1.2.1 Đặt vé 46 4.1.2.1.1 Chọn tuyến .46 4.1.2.1.2 Chọn ghế 47 4.1.2.1.3 Thông tin người đặt vé .47 4.1.2.1.4 Xác nhận thông tin đặt vé .48 4.1.2.5 Quản lý vé đặt 49 4.2 Thiết kế sở liệu .50 4.2.2.1 Bảng user .50 4.2.2.2 Bảng role .51 viii 4.2.2.3 Bảng users_roles 51 4.2.2.4 Bảng location 52 4.2.2.5 Bảng car 52 4.2.2.6 Bảng seat .52 4.2.2.7 Bảng route .53 4.2.2.8 Bảng route_cars .53 4.2.2.9 Bảng sessionr 54 4.2.2.10 Bảng info_buyer 54 4.2.2.11 Bảng ticket 54 4.2.2.12 Bảng bill 55 4.3 Thiết kế giao diện 56 4.3.1 Screen flow 56 4.3.1.1 Screen flow khách hàng nhân viên bán vé quầy 56 4.3.1.2 Screen flow quản trị viên 57 4.3.2 Đặc tả hình 59 4.3.2.1 Màn hình trang chủ 59 4.3.2.2 Màn hình đăng nhập 61 4.3.2.3 Màn hình đăng ký 62 4.3.2.4 Màn hình quản lý người dùng .63 4.3.2.5 Màn hình xem thơng tin chi tiết người dùng 64 4.3.2.6 Màn hình tạo người dùng .65 4.3.2.7 Màn hình chỉnh sửa thơng tin người dùng 66 4.3.2.8 Màn hình đặt vé .67 4.3.2.8.1 Màn hình chọn tuyến xe 67 4.3.2.8.2 Màn hình chọn ghế 67 4.3.2.8.3 Màn hình thơng tin người đặt vé 68 4.3.2.8.4 Màn hình xác nhận đặt vé 68 4.3.2.9 Màn hình quản lý vị trí 69 4.3.2.10 Màn hình tạo vị trí 69 4.3.2.11 Màn hình quản lý xe 70 4.3.2.12 Màn hình tạo xe 70 4.3.2.13 Màn hình quản lý tuyến xe 71 4.3.2.14 Màn hình tạo tuyến xe 71 4.3.2.15 Màn hình quản lý session 72 4.3.2.16 Màn hình tạo session 72 4.3.2.17 Màn hình quản lý vé đặt khách hàng nhân viên 73 ix 4.3.2.18 Màn hình vé đặt quản trị viên 74 4.3.2.18 Màn hình xem thông tin chi tiết vé đặt 74 4.3.2.19 Màn hình quản lý doanh thu 75 Chương 76 KẾT QUẢ SO SÁNH, THỰC NGHIỆM, PHÂN TÍCH, 76 TỔNG HỢP .76 5.1 Back-end 76 5.2 Front-end 76 Chương 78 KẾT LUẬN .78 6.1 Kết đạt 78 6.2 Ưu điểm 78 6.2 Hạn chế 78 6.3 Khó khăn 78 6.4 Hướng phát triển đề tài 78 TÀI LIỆU THAM KHẢO .80 x DANH MỤC CÁC CHỮ VIẾT TẮT MVC: HTTP: CLI: OOP: API: IDE: Model View Controller HyperText Transfer Protocol Command-line Interface Object-oriented programming Application programming interface Integrated Development Environment xi 4.3.2.8 Màn hình đặt vé 4.3.2.8.1 Màn hình chọn tuyến xe Hình 4.29: Màn hình chọn tuyến xe 4.3.2.8.2 Màn hình chọn ghế Hình 4.30: Màn hình chọn ghế 67 4.3.2.8.3 Màn hình thơng tin người đặt vé Hình 4.31: Màn hình thơng tin người đặt vé 4.3.2.8.4 Màn hình xác nhận đặt vé Hình 4.32: Màn hình xác nhận đặt vé 68 4.3.2.9 Màn hình quản lý vị trí Hình 4.33: Màn hình quản lý vị trí 4.3.2.10 Màn hình tạo vị trí Hình 4.34: Màn hình tạo vị trí 69 4.3.2.11 Màn hình quản lý xe Hình 4.35: Màn hình quản lý xe 4.3.2.12 Màn hình tạo xe Hình 4.36: Màn hình tạo xe 70 4.3.2.13 Màn hình quản lý tuyến xe Hình 4.37: Màn hình quản lý tuyến xe 4.3.2.14 Màn hình tạo tuyến xe Hình 4.38: Màn hình tạo tuyến xe 71 4.3.2.15 Màn hình quản lý session Hình 4.39: Màn hình quản lý session 4.3.2.16 Màn hình tạo session 72 Hình 4.40: Màn hình tạo session 4.3.2.17 Màn hình quản lý vé đặt khách hàng nhân viên Hình 41: Màn hình quản lý vé đặt khách hàng nhân viên 73 4.3.2.18 Màn hình vé đặt quản trị viên Hình 4.42: Màn hình vé đặt quản trị viên 4.3.2.18 Màn hình xem thơng tin chi tiết vé đặt Hình 4.43: Màn hình xem thông tin chi tiết vé đặt 74 4.3.2.19 Màn hình quản lý doanh thu Hình 4.44: Màn hình quản lý doanh thu 75 Chương KẾT QUẢ SO SÁNH, THỰC NGHIỆM, PHÂN TÍCH, TỔNG HỢP 5.1 Back-end - Hệ thống back-end cung cấp API để xây dựng website đặt vé khách cho nhóm người dùng admin, manager user gồm chức sau: Phân quyền đăng nhập, đăng ký, đăng xuất Quản lý người dùng Quản lý vị trí Quản lý xe Quản lý tuyến xe Quản lý ghế Quản lý phiên xe Quản lý hóa đơn Quản lý thơng tin người đặt vé Đa ngôn ngữ (Tiếng Anh, Tiếng Việt) 5.2 Front-end - Hệ thống front-end xây dựng tảng Angular, sử dụng framwork hỗ trợ Bootstrap - Nhóm người dùng gồm admin, manager, user có chức chính sau: Admin (quản trị viên) Đăng nhập Đăng xuất Xem tất người dùng Xem thông tin chi tiết người dùng Chỉnh sửa thông tin người dùng Cho phép tài khoản hoạt động/ không hoạt động Xem tất vị trí Tạo vị trí Xem thơng tin tất xe Tạo xe 76 Xem thông tin tất tuyến xe Tạo tuyến xe Xem thông tin tất session Tạo session Xem tất hóa đơn (vé đặt) Xem thơng tin chi tiết hóa đơn Quản lý doanh thu Chuyển đổi ngôn ngữ Manager (nhân viên bán vé quầy) Đăng nhập Đăng xuất Đặt vé xe Chọn tuyến xe Chọn ghế Điền thông tin người đặt vé Xác nhận đặt vé Xem vé đặt Chuyển đổi ngôn ngữ User (khách hàng) Đăng nhập Đăng ký Đăng xuất Đặt vé xe Chọn tuyến xe Chọn ghế Điền thông tin người đặt vé Xác nhận đặt vé Xem vé đặt Chuyển đổi ngôn ngữ 77 Chương KẾT LUẬN 6.1 Kết đạt Sau thời gian nghiên cứu thực đề tài “Xây dựng website đặt vé xe khách”của nhóm đạt thành đáng kể, đáp ứng 85% yêu cầu đề tài, bao gồm mục tiêu sau: - Tìm hiểu kiến thức Spring Resful API, Angular, Bootstrap, MySQL để xây dựng trang web - Website đặt vé xe khách bao gồm chức bản: Authentication: đăng nhập, đăng ký, đăng xuất Đặt vé xe Quản lý người dùng Quản lý vị trí, xe, tún xe, session Quản lý hóa đơn Quản lý doanh thu Đa ngôn ngữ 6.2 Ưu điểm - Website xây dựng có giao diện thân thiện, dễ sử dụng đối tượng - Việc đặt vé tương đối dễ dàng, không tốn nhiều thời gian, nhanh chóng - Việc hiển thị danh sách ghế có màu sắc giúp người dùng dễ dàng phân biệt, khơng bị nhầm lẫn - Tích hợp đa ngơn ngữ, giúp người dùng lựa chọn ngơn ngữ thích hợp 6.2 Hạn chế - Giao diện chưa ứng dụng nhiều thiết bị - Chưa tích hợp tốn online quy trình đặt vé - Quản lý doanh thu thể dạng bảng chưa thực bắt mắt 6.3 Khó khăn - Cịn chưa có nhiều kinh nghiệm việc thiết kế giao diện, sở liệu chưa thực thực tế - Chưa tận dụng tối ưu chức thư viện cơng nghệ - Code cịn dài, phức tạp và chưa tối ưu hóa 6.4 Hướng phát triển đề tài - Tối ưu hóa code để dễ đọc, dễ hiểu dễ bảo trì 78 - Phát triển thêm tính toán online quy trình đặt vé Chỉnh sửa giao diện để có tính thực tế 79 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Aptech Buôn Ma Thuột (26/07/2019), “So sánh ưu nhược điểm ngơn ngữ lập trình C#, Java PHP”, http://aptechbmt.edu.vn/news/tin-lap-trinh/so-sanhuu-nhuoc-diem-cua-3-ngon-ngu-lap-trinh-c-java-va-php-106.html [2] Học viện đào tạo công nghệ thông tin (NIIT-ICT HANOI), “7 điểm mạnh điểm yếu ngơn ngữ lập trình Java”, https://niithanoi.vn/chi-tiet-tin/1729/7diem-manh-5-diem-yeu-cua-ngon-ngu-lap-trinh-java.html#.XvihQygzbIU [3] TopDev, “RESTful API gì? Cách thiết kế RESTful API”, https://topdev.vn/blog/restful-api-la-gi/ [4] Wikipedia, 20/06/2020, Java (Ngơn ngữ lập trình), https://vi.wikipedia.org/wiki/Java_(ngơn_ngữ_lập_trình) Tiếng Anh [1] Angular Document, https://angular.io/docs [2] Bootstrap 4, https://getbootstrap.com/docs/4.0/getting-started/introduction/ 80 S K L 0 ... Bài toán đặt vé xe khách tốn khơng nhỏ tương đối phức tạp nhiều module khác như: đặt vé xe khách, quản lý thông tin vé, quản lý thông tin người dùng,… Website đặt vé xe khách nhóm xây dựng giúp... đặt vé: Xem thông tin tất phiên, thêm phiên Quản lý vé đặt, hóa đơn: Xem thông tin tất vé người dùng và nhân viên đặt, xem chi tiết vé đặt, cập nhật phần toán vé Doanh thu: Xem tất vé đặt. .. tin người mua, xác nhận đặt vé Quản lý vé đặt, hóa đơn: Xem tất vé người dùng đặt, xem chi tiết vé đặt, xóa vé đặt Nhóm người dùng: Manager (Quản lý, nhân viên bán vé) Quản lý người dùng