ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC TRAVEL START - XÂY DỰNG HỆ THỐNG QUẢN LÝ BẾN XE Ngành : KHOA HỌC MÁY TÍNH HỘI ĐỒNG : KHOA HỌC MÁY TÍNH 3 GVHD : Ths. Trương Quỳnh Chi GVPB : Ths. Nguyễn Đình Thành ---o0o--- SVTH : Cao Văn Tín 1814334 TP. HỒ CHÍ MINH, 01/2023 1 ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ---------- Độc lập - Tự do - Hạnh phúc TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA:KH & KT Máy tính ____ NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP BỘ MÔN: HTTT ____________ Chú ý: Sinh viên phải dán tờ này vào trang nhất của bản thuyết trình HỌ VÀ TÊN: Cao Văn Tín___________________________ MSSV: 1814334 NGÀNH: Khoa học Máy tính LỚP: MT18KH06 1. Đầu đề luận án: Xây dựng hệ thống quản lý bến xe 2. Nhiệm vụ (yêu cầu về nội dung và số liệu ban đầu): Luận văn yêu cầu việc phân tích, thiết kế, xây dựng, kiểm thử và triển khai hệ thống hỗ trợ quản lý bến xe. Đề tài cũng yêu cầu thiết kế các chức năng cơ bản giúp người dùng đặt vé xe,.cũng như những người quản lý bến xe quản lý tốt hơn, nhà xe sắp xếp chuyến đi và giá vé hiệu quả. Ngoài ra còn giúp tài xế quản lý danh sách chuyến đi tốt hơn. Đề tài được chia làm 2 giai đoạn như sau: Giai đoạn ĐCLV: - Tìm hiểu và phân tích các chức năng cần thiết cho việc vận hành, quản lý bến xe khách liên tỉnh - Tìm hiểu các ứng dụng liên quan. - Tìm hiểu các công nghệ liên quan. - Phân tích và thiết kế và hiện thực hệ thống. Giai đoạn LVTN: - Hiện thực hệ thống, đánh giá và triển khai 3. Ngày giao nhiệm vụ luận án: 10/01/2022 4. Ngày hoàn thành nhiệm vụ: 10/01/2023 5. Họ tên giảng viên hướng dẫn: Phần hướng dẫn: Ths. Trương Quỳnh Chi Nội dung và yêu cầu LVTN đã được thông qua Bộ môn. CHỦ NHIỆM BỘ MÔN GIẢNG VIÊN HƯỚNG DẪN CHÍNH (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ):________________________ Đơn vị: _______________________________________ Ngày bảo vệ: __________________________________ Điểm tổng kết: _________________________________ Nơi lưu trữ luận án: _____________________________ 2 3 4 LỜI CAM ĐOAN Chúng tôi xin cam đoan đây là nền tảng do nhóm tự nghiên cứu và phát triển dưới sự hướng dẫn của Ths. Trương Quỳnh Chi. Các nội dung nghiên cứu, kết quả đề tài là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây. Nếu có phát hiện bất kỳ gian lận nào, chúng tôi xin hoàn toàn chịu trách nhiệm về nội dung và chấp nhận mọi hình thức kỷ luật trước Ban chủ nhiệm Khoa Khoa Học Và Kỹ Thuật Máy Tính và Ban Giám Hiệu Trường Đại Học Bách Khoa, ĐHQG Thành Phố Hồ Chí Minh. 5 LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn chân thành nhất đến cô Trương Quỳnh Chi đã hỗ trợ tôi trong suốt quá trình thực hiện Luận văn tốt nghiệp. Cô Trương Quỳnh Chi đã giúp em chỉ ra phương hướng, bàn bạc, và đưa ra những góp ý cho hệ thống của em ngày càng hoàn thiện hơn. Em xin gửi lời cảm ơn đến quý thầy cô của trường ĐH Bách Khoa, đặc biệt là các thầy cô Khoa Khoa học và Kỹ thuật Máy tính đã tận tình chỉ dạy cho chúng em nhiều kiến thức, bài học bổ ích. Những kiến thức, bài học ấy không chỉ được em áp dụng để hoàn thành đề tài này mà sẽ là hành trang đồng hành với em trong suốt quãng đường còn lại. Cuối cùng, em xin gửi lời cảm ơn tới quý thầy cô trong hội đồng luận văn đã dành thời gian đánh giá đề tài của em. Trong quá trình thực hiện đề tài, do bản thân em còn nhiều hạn chế về kiến thức, thời gian và kinh nghiệm thực tiến nên em khó lòng tránh khỏi những sau sót đáng tiếc trong quá trình thực hiện Đề cương Luận văn, em rất mong nhận được được những đánh giá và đóng góp từ quý thầy cô. Một lần nữa xin gửi lời cảm ơn chân thành. Nhóm thực hiện đề tài 6 TÓM TẮT ĐỀ TÀI “Travel Start - Hệ thống quản lý bến xe” là hệ thống cung cấp dịch vụ để quản lý bến xe. Hệ thống này hướng đến phục vụ lợi ích của cả hành khách, quản lý bến xe, tài xế và nhà xe để nâng cao chất lượng dịch vụ. Nhằm hướng đến lợi ích của bến xe, hệ thống cung cấp các chức năng thông qua giao diện web. Qua đó, người quản lý hệ thống có thể quản lý các thông tin cơ bản của tài xế, nhà xe. Nhà xe quản lý được thời gian ra vào bến của xe từ đó điều chỉnh được tuyến đường, khuyến mãi, giá cả của từng tuyến xe. Hệ thống cũng hỗ trợ tài xế quản lý thời gian hiệu quả hơn nhờ vào lịch trình ra vào bến xe. Nhằm hướng đến lợi ích của hành khách, hệ thống cũng cung cấp các chức năng thông qua giao diện web. Người dùng qua đó có thể dễ dàng chọn xem được tuyến xe, chỗ ngồi phù hợp, đặt chỗ và hủy vé. Để hoàn thành đề tài này, tôi đã tiến hành thực hiện: • Nghiên cứu các nghiệp vụ có liên quan đến quản lý bến xe và khảo sát các hệ thống liên quan đến quản lý bến xe. • Lên danh sách và đặc tả các chức năng cần thiết của hệ thống. • Tìm hiểu việc mô tả hệ thống thông qau sơ đồ usecase. • Mô tả giao diện của hệ thống trên Figma. • Tìm hiểu công nghệ hiện nay và tiến hành hiện thực hệ thống: - Website được biết bằng ReactJs, NodeJs, MySQL • Triển khai, kiểm thử và đánh giá hệ thống. 7 TÓM TẮT CHƯƠNG Chương 1: Tổng quan đề tài Giới thiệu tổng quan, trình bày ý nghĩa và mục tiêu của đề tài, những nội dung đã thực hiện đồng thời giới hạn khuôn khổ của đề tài. Chương 2: Kiến thức nền tảng Giới thiệu về các kiến thức nền tảng, các công nghệ sẽ được dùng để hiện thực hệ thống như: các framework, thư viện, dịch vụ triển khai hệ thống . sẽ được áp dụng để hiện thực và triển khai hệ thống. Chương 3: Phân tích hệ thống Trình bày đánh giá về những hệ thống, ứng dụng tương tự đã có trên thị trường từ đó đưa ra những đặc tả, phân tích những tính năng có thể có trong hệ thống Chương 4: Thiết kế hệ thống Mô tả những thiết kế của hệ thống về các kiến trúc tổng thể, cơ sở dữ liệu Chương 5: Hiện thực hệ thống: Giới thiệu những thư viện, framework có sử dụng trong hệ thống, cách thức hiện thực và luồng thực thi thông qua việc mô tả giao diện của hệ thống. Đồng thời trình bày giao diện của hệ thống dưới dạng hình ảnh và tiêu đề giúp có cái nhìn toàn diện về hệ thống. Chương 6: Kiểm thử: Trong chương này, tôi trình bày về khía cạnh kiểm thử trong quá trình phát triển ứng dụng của chúng tôi đồng thời giới thiệu về Katalon Stuidio. Chương 7: Triển khai và đánh giá hệ thống Triển khai hệ thống thông qua thông qua các nền tảng, sau đó đánh giá hệ thống và tìm cách nâng cao hiệu suất hệ thống. Chương 8: Tổng kết, đánh giá và hướng phát triển đề tài. Tổng kết lại những kết quả đã đạt được trong suốt quá trình thực hiện đề tài từ đó đánh giá hệ thống thông qua những ưu điểm và khuyết điểm, đưa ra hướng phát triển của hệ thống trong tương lai. 8 MỤC LỤC LỜI CAM ĐOAN .7 TÓM TẮT CHƯƠNG .9 DANH SÁCH HÌNH ẢNH .12 DANH SÁCH BẢNG .14 Chương 1: Giới thiệu đề tài .2 Ý nghĩa của đề tài .1 Ý nghĩa thực tiễn .2 Ý nghĩa học thuật .4 Giới hạn đề tài .17 Chương 2: Kiến thức nền tảng .21 Chương 3: Phân tích hệ thống .1 Khảo sát hệ thống hiện tại .1 Hệ thống School Bus Management Platform [4] .2 Hệ thống Vexere[5] .3 Phần mềm quản lý bến xe – Bến xe điện tử AN VUI .4 So sánh các hệ thống đã khảo sát .2 Đặc tả hệ thống .29 Chương 4: Thiết kế hệ thống .1 Cơ sở dữ liệu .1 ERD quan hệ .2 ERD thực thể .3 Mô tả ERD chi tiết .55 Chương 5: Hiện thực hệ thống .1 Kiến trúc hệ thống .2 Quản lý mã nguồn Github .3 Công nghệ, thư viện đã sử dụng .4 Cấu trúc mã nguồn .1 Ứng dụng web .5 Giao diện hệ thống .1 Giao diện trang chủ của Hành khách .2 Giao diện của người quản lý bến xe .3 Giao diện của chủ nhà xe .4 Giao diện của tài xế .96 Chương 6: Kiểm thử.98 Chương 7: triển khai và đánh giá hệ thống .1 Nền tảng đám mây .2 Đánh giá hệ thống .1 Đánh giá bằng Google PageSpeed Insignts và Lighthouse.2 Cải thiện hiệu suất hệ thống .103 Chương 8: Tổng kết, đánh giá và hướng phát triển đề tài .1 Đánh giá kết quả đạt được .1 Đối với nhiệm vụ đề tài .2 Đối với cơ sở lý thuyết và công nghệ .3 Đối với quy trình phát triển phần mềm .2 Đánh giá ưu điểm, nhược điểm của hệ thống .2 Nhược điểm: .105 TÀI LIỆU THAM KHẢO.106 11 DANH SÁCH HÌNH ẢNH Hình 1: Dòng dữ liệu trong React .18 Hình 2: Quản lý state với Redux .19 Hình 3: Sơ đồ kiến trúc của Redux.20 Hình 4: Use Case hành khách .29 Hình 5: UseCase Tài xế .36 Hình 6: UseCase nhà xe .39 Hình 7: Usecase của người quản lý hệ thống .46 Hình 8: ERD của hệ thống.53 Hình 9: Các thực thể của ERD .55 Hình 10: Các thực thể của ERD .55 Hình 11: Kiến trúc hệ thống .63 Hình 12: Cây thư mục mã nguồn của ứng dụng web .66 Hình 13: Cây thư mục src chi tiết mã nguồn của ứng dụng web .66 Hình 14: Cây thư mục ở back -end.67 Hình 15: Một phần giao diện trang chủ .68 Hình 16: Giao diện trang đăng nhập.69 Hình 17: Giao diện trang đăng ký .69 Hình 18: Giao diện trang quên mật khẩu.70 Hình 19: Giao diện trang tìm chuyến đi .70 Hình 20: Giao diện trang đặt vé xe .71 Hình 21: Giao diện tab điền thông tin cá nhân .71 Hình 22: Giao diện tab thanh toán .72 Hình 23: Giao diện email thông báo.72 Hình 24: Giao diện xác nhận lịch hẹn thành công .73 Hình 25: Giao diện trang thông tin tài khoản .73 Hình 26: Giao diện trang đổi mật khẩu .73 Hình 27: Giao diện trang vé của tôi.74 Hình 28: Giao diện trang vé đã hoàn thành .74 Hình 29: Giao diện trang tất cả sự kiện .75 Hình 30: Giao diện trang thông tin chi tiết sự kiện .76 Hình 31: Giao diện trang thông tin mã giảm giá .