Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 150 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
150
Dung lượng
3,6 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH 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 HỆ THỐNG HỖ TRỢ QUẢN LÝ GIAO HÀNG Ngành: KHOA HỌC MÁY TÍNH HỘI ĐỒNG: KHOA HỌC MÁY TÍNH GVHD: THS LƯU QUANG HUÂN THS VƯƠNG BÁ THỊNH GVPB: THS TRẦN HỒNG TÀI SVTH: NGUYỄN TRỌNG DƯ - 1610569 TP HỒ CHÍ MINH, 8/2021 - - KHOA:KH & KT Máy tính KHMT ình NGUY NGÀNH: KHOA H H qu ÁY TÍNH MSSV: 1610569 MT17KH2 lý giao hàng Nh giao v ng 1) ThS L u Quang Huân 2) ThS V Th _ _ _ TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KH & KT MÁY TÍNH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -Ngày 23 tháng 12 năm 2021 PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn/phản biện) Họ tên SV: Nguyễn Trọng Dư MSSV: 1610569 Ngành (chuyên ngành): Khoa Học Máy Tính Đề tài: Hệ thống hỗ trợ quản lý giao hàng Họ tên người hướng dẫn/phản biện: /Trần Hồng Tài Tổng quát thuyết minh: Số trang: 133 Số chương: Số bảng số liệu: Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính tốn: Hiện vật (sản phẩm) Tổng quát vẽ: - Số vẽ: Bản A1: Bản A2: Khổ khác: - Số vẽ vẽ tay Số vẽ máy tính: Những ưu điểm LVTN: - Luân văn đưa ứng dụng cụ thể sát với thực tế cầu giao nhận hàng hóa - Luận văn tìm hiểu ưu điểm, nhược điểm tảng, mơ hình liên quan grab, gojek, be việc chưa có khả định danh người nhận, số tảng chưa có chức giao đơn hang nhiều điểm dừng - Đưa đề xuất để cải thiện mơ hình trước định danh người nhận mã QR, thiết lập chức giao hàng nhiều điểm dừng - Có định hướng phát triển cho đề tài Những thiếu sót LVTN: - Các hình ảnh quy trình, sơ đồ luận văn có cỡ chữ tương đối nhỏ khó quan sát - Chức cấp định danh người nhận bắt buộc bắt buộc người nhận phải có tài khoản để cấp định danh - Chưa đưa quy trình để xử lý tình xấu phát sinh tài xế bị hư xe trình giao hàng Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ Không bảo vệ câu hỏi SV phải trả lời trước Hội đồng: - Nêu hướng cải tiến để định danh trường hợp cần gửi hàng cho người nhận tài khoản 10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Khá Điểm: 7.8 /10 Ký tên (ghi rõ họ tên) Trần Hồng Tài LỜI CAM ĐOAN Chúng xin cam đoan cơng trình nghiên cứu thực nhóm chúng tơi Các số liệu sử dụng phân tích luận văn có nguồn gốc dẫn chứng công bố rõ ràng Mọi chép không hợp lệ, vi phạm quy định, xin hồn tồn chịu trách với hình thức kỷ luật đề NHÓM THỰC HIỆN ĐỀ TÀI LỜI CẢM ƠN Trước hết chúng tơi xin dành hết lịng biết ơn cho ThS Lưu Quang Huân giảng viên khoa Khoa học Kỹ thuật Máy tính (trường Đại học Bách Khoa - ĐHQGTP.HCM) Trong suốt khoảng thời gian vừa qua, không ngừng dành thời gian quan tâm, theo dõi, đưa hướng dẫn mang tính định đề tài để nhóm thực chúng tơi hồn thành đề cương luận văn mức tốt Cũng đưa hướng phát triển để chúng tơi nhận thấy thực khoảng thời gian Bên cạnh đó, chúng tơi xin cảm ơn kiến thức, kinh nghiệm giúp đỡ tập thể giảng viên, nhân viên khoa Khoa học Kỹ thuật Máy tính (trường Đại học Bách Khoa - ĐHQG-TP.HCM) truyền đạt cho năm tháng vừa qua để tạo tảng kiến thức vững cho thực đề tài ngày hôm Cuối cùng, gửi lời cảm ơn sâu sắc đến gia đình bạn bè, người tạo động lực phi thường giúp chúng tơi hồn thành đề cương luận văn cách đầy đủ NHÓM THỰC HIỆN ĐỀ TÀI TÓM TẮT NỘI DUNG Trao đổi hàng hóa nhu cầu thiết xã hội, từ người có hàng hóa vận chuyển tới người có nhu cầu Khi chưa ứng dụng cơng nghệ thơng tin hồng hóa chủ yếu vận chuyển thông qua kênh bưu điện, chuyến xe khách liên tỉnh hay xe ôm truyền thống Dẫn đến nhiều bất cập phụ thuộc giá chưa đảm bảo tính an tồn, bảo mật Hiện có cơng ty ứng dụng cơng nghệ thơng tin tạo sản phẩm giúp hỗ trợ trình giao nhận hàng hóa Grab, Ahamove, Gojek Thơng qua tảng cơng ty người dùng dễ dàng gửi kiện hàng tới địa điểm theo dõi hành trình tài xế biết trước giá cước vận chuyển Trong luận văn này, mục tiêu nghiên cứu xây dựng hệ thống nguyên cho phép thực tác vụ hệ thống liên quan đến giao hàng nhiều điểm dừng định danh người nhận thông qua mã QR Mục lục Giới thiệu 1.1 Động lực 1.2 Mục tiêu đề tài 1.3 Phạm vi đề tài 1.4 Cấu trúc báo cáo Các giải pháp liên quan 2.1 Grab 2.2 Gojek 2.3 Be 2.4 Tổng kết 11 2.4.1 So sánh tính dịch vụ 11 2.4.2 Ưu điểm 11 2.4.3 Khuyết điểm 12 2.4.4 Kết luận 12 Kiến thức tảng 3.1 3.2 3.3 13 Django 14 3.1.1 Ưu điểm 15 3.1.2 Khuyết điểm 16 React Native 17 3.2.1 Ưu điểm 18 3.2.2 Khuyết điểm 19 PostgreSQL 20 3.4 3.3.1 Ưu điểm 20 3.3.2 Khuyết điểm 21 Redis 22 3.4.1 Ưu điểm 22 3.4.2 Nhược điểm 23 Giải pháp đề xuất 4.1 4.2 4.3 4.4 24 Đối tượng sử dụng 25 4.1.1 Quản trị viên 25 4.1.2 Tài xế 25 4.1.3 Người gửi hàng 25 4.1.4 Người nhận hàng 25 Phân tích yêu cầu nghiệp vụ 26 4.2.1 Yêu cầu chức quản trị viên 26 4.2.2 Yêu cầu chức tài xế 29 4.2.3 Yêu cầu chức người gửi hàng 36 4.2.4 Yêu cầu chức người nhận hàng 41 4.2.5 Yêu cầu phi chức 42 Kiến trúc hệ thống 42 4.3.1 Module tương tác người dùng 42 4.3.2 Kiến trúc ứng dụng di động 43 4.3.2.1 Redux 43 4.3.2.2 UI Component 44 4.3.2.3 Socket Component 44 4.3.3 Server 44 4.3.4 Kiến trúc Server 46 4.3.4.1 Delivery Handler 46 4.3.4.2 Realtime Handler 47 Thiết kế giao diện người dùng 48 4.4.1 Giao diện web quản trị viên 48 4.4.1.1 Dashboard trang quản trị viên 48 4.4.1.2 Quản lý tài khoản 49 toàn lịch sử thay đổi mã nguồn từ server Hình 4.70: Hệ thống mã nguồn phân tán [15] File git tồn ba trạng thái: • Đã chỉnh sửa(Modified): file có thay đổi so với lần commit trước git • Sẵn sàng cập nhật (Staged): file sẵn sàng cho lần cập nhật Sử dụng lệnh git add để chuyển file từ trạng thái chỉnh sửa qua trạng thái cập nhật • Đã cập nhật (Committed): file cập nhật Sử dụng lệnh git commit để cập nhật file từ trạng thái sẵn sàng cập nhật sang trạng thái cập nhật Trang 119 Hình 4.71: Các trạng thái file Git [16] 4.6.2 GitFlow GitFlow ý tưởng cách sử dụng git Ý tưởng bao gồm cách tạo loại branchs cách merge chúng lại với • Nhánh master: Nhánh mặc định git, chứa mã nguồn khởi tạo ứng dụng • Nhánh develop: Được tách từ nhánh master, dùng để merge code từ nhánh feature, sau đủ vài tính code nhánh master merge vào nhánh release • Nhánh feature: Được tánh từ nhánh develop, dùng đế phát triển tính mới, sau phát triển hồn thiện tính code nhánh feature merge vào nhánh develop • Nhánh release: Được tách từ nhánh develop, dùng để kiểm tra lại tính năng, sau code nhánh release merge qua nhánh master develop • Nhánh hotfix: Được tánh từ nhánh master, dùng để sửa nhanh lỗi sản phẩm, sau code nhánh hotfix merge qua nhánh release nhánh master Trang 120 4.6.2.1 Service • Cấu trúc thư mục gốc STT Tên thư mục Mô tả manage.py customer realtime delivery apiHelper requirements.txt Procfile Cấu hình giúp chạy web hệ thống realtime triển khai runtime.txt Cấu hình phiên python Chứa command line giúp chạy chương trình thực tác vụ admin Thư mục chứa toàn mã nguồn liên quan tới quản lý người dùng Thư mục chứa toàn mã nguồn liên quan tới quản lý vận đơn Thư mục chứa file cấu hình định tuyến chương trình Chứa hàm dùng chung cho tồn chương trình Chứa thư viện dùng chương trình hỗ trợ trình triển khai server Bảng 4.22: Cấu trúc thư mục gốc Service • Cấu trúc thư mục customer STT Tên thư mục Mô tả urls.py Chứa danh sách giúp liên kết request tới phần xử lý logic apps Cấu hình tên ứng dụng admin Cấu hình hiển thị database trang admin views Thư mục chứa toàn phần xử lý logic ứng dụng models Thư mục chứa class giúp ánh xạ qua bảng database migrations Chứa lịch sử cập nhật database Bảng 4.23: Cấu trúc thư mục Customer Trang 121 4.6.2.2 Ứng dụng di động • Cấu trúc thư mục gốc STT Tên thư mục Mô tả Chứa native code android android ios app Chứa mã nguồn ứng dụng env Chứa biến mơi trường package.json File cấu hình npm dùng để build ứng dụng android Chứa native code ios dùng để build ứng dụng ios Bảng 4.24: Cấu trúc thư mục gốc ứng dụng di động • Cấu trúc thư mục app STT Tên thư mục Mô tả Components Chứa thông tin component dùng chung ứng dụng Config Constants Chứa constants ứng dụng Containers Chứa thông tin định nghĩa hình ứng dụng Navigation Redux Saga Services Socket Chứa cấu hình kết nối tới server Chứa thông tin cho việc Navigation ứng dụng Chứa thông tin cấu trúc liệu Redux Store Chứa thông tin giúp saga gọi tới api Chứa thông tin api Chứa file làm nhiệm vụ liên kết realtime tới server Bảng 4.25: Cấu trúc thư mục app Trang 122 Chương Triển khai kiểm thử Trang 123 Chương trình bày mơi trường triển khai kiểm thử nhóm sử dụng đề tài kết trình kiểm thử đề tài 5.1 Triển khai 5.1.1 Mơi trường triển khai 5.1.1.1 Heroku Hình 5.1: Heroku Heroku tảng đám mây giúp nhà phát triển phát triển triển khai ứng dụng cách nhanh chóng dễ dàng Heroku cho phép người dùng sử dụng miễn phí dịch vụ cho sản phẩm phi thương mại Các sản phẩm dịch vụ đa dạng bao gồm: Heroku Runtime, heroku postgres(sql), heroku redis, scale, add-ons, code/data rollback, app metrics, continuous delivery, github integration Dự án sử dụng dịch vụ heroku hỗ trợ trình phát triển triển khai bao gồm: heroku postgres hệ sở liệu hệ thống, continuous delivery thực deploy tự động có thay đổi mã nguồn, github integration giúp triển khai mã nguồn lưu trữ github 5.1.1.2 Google Map Google Map dịch vụ đồ số, cách thức sử dụng đồ thay đồ giấy, hoạt động thiết bị điện tử Google cung cấp Google Map Api giúp người dùng tích hợp dịch vụ Google Map cung cấp vào ứng dụng Trang 124 Hình 5.2: Google Map Google Map cho phép người dùng sử dụng chức như: Tìm kiếm địa điểm, tìm đường tốt hai địa điểm bất kỳ, điều hướng nhiều dịch vụ khác 5.2 Kiểm thử Do khó khăn việc kiểm thử tự động phía client, nên việc kiểm thử tự động ngừng lại cấp độ backend hệ thống 5.2.1 Loại kiểm thử Hệ thống kiểm thử phương pháp kiểm thử hộp đen thông qua kiểm thử api test sau: • API Test: tiến hành để kiểm tra khả hoạt động toàn hệ thống việc gửi request đến API kiểm tra kết nhận 5.2.2 Tích hợp kiểm thử Hình 5.3: Postman Trang 125 Công cụ sử dụng để tích hợp kiểm thử postman Các bước tích hợp postman vào hệ thống: Đăng ký tài khoản https://web.postman.co/ Sau đăng ký đăng nhập thành công, tạo collection chứa tập hợp request để test api Hình 5.4: Bước tạo collection Trong request điền url tới api muốn test, thông tin params body tương ứng với phương thức Sau nhấn tab test điền thơng tin muốn nhận Hình 5.5: Bước tạo test request Cấu hình monitor tự động chạy kiểm thử định kỳ Thơng tin cấu hình bao gồm: Tên monitor, collection muốn test, thời gian chạy định kỳ, địa email nhận kết kiểm thử số thông tin cấu hình phụ khác Trang 126 Hình 5.6: Bước Cấu hình chạy kiểm thử định kỳ 5.2.3 Kết kiểm thử Kết kiểm thử từ việc cấu hình chạy kiểm thử định kỳ hàng postman Hình 5.7: Kết kiểm thử Trang 127 Chương Tổng kết Trang 128 Chương tổng kết lại kết mà đề tài đạt được, nêu lên hạn chế trình bày ý nghĩa thực tiễn hướng phát triển tương lai 6.1 Đánh giá kết đạt 6.1.1 Đối với tìm hiểu quy trình nghiệp vụ Dự việc phân tích giải pháp hỗ trợ quy trình giao hàng có thị trường Gojek, Grab, Be Chúng xác định quy trình tính tối thiểu cần thiết hỗ trợ quy trình giao hàng đồng thời đề xuất thêm tính hỗ trợ hồn cảnh cụ thể 6.1.2 Đối với cơng nghệ Đối với font-end cung cấp hai ứng dụng, ứng dụng dành cho khách hàng, ứng dụng dành cho quản trị viên Ứng dụng dành cho khách hàng sử dụng công nghệ React native Ứng dụng dành cho quản trị viên sử dụng cơng nghệ Angular8 Tìm hiểu tích hợp thành cơng Google Map Api Đối với back-end sử dụng framework django xây dựng server rest api thơng qua thư viện django rest framework, tích hợp thành công hệ thống realtime thông qua thư viện django channels Quản lý hệ sở liệu thông qua postgres redis 6.1.3 Đối với phân tích thiết kế hệ thống Chúng tơi phân tích yêu cầu chức năng, phi chức năng, vẽ lược đồ usecase, ERD xác định luồng thực thi hệ thống 6.1.4 Kết thực 6.1.4.1 Đối với ứng dụng dành cho khách hàng Ứng dụng giúp khách hàng dễ dàng vận chuyển nhiều hàng tới nhiều địa điểm giao khác vận đơn Đảm báo tính xác thơng qua hình thức xác minh quét mã QR Áp dụng quy trình giao hàng vào ứng dụng với bước bao gồm: Trang 129 • Nhập thơng tin vận đơn • Lựa chọn địa điểm nhận hàng lựa chọn thứ tự vị trí giao hàng theo mong muốn • Tìm tài xế • Nhận thơng tin tài xế giá cước • Nhận mã QR người dùng người nhận hàng • Theo dõi trạng thái vận đơn tồn q trình vận chuyển 6.1.4.2 Đối với ứng dụng dành cho tài xế Áp dụng thành cơng quy trình giao hàng dành cho tài xế, bao gồm: • Chuyển trạng thái nhận vận đơn • Nhận vận đơn • Xác nhận vận đơn • Chụp ảnh, xác nhận nhận hàng • Quét mã QR, xác nhận giao hàng • Xác nhận hồn tất vận đơn 6.1.4.3 Đối với ứng dụng dành cho quản trị viên Cung cấp tính liên quan đến quản lý tài khoản, quản lý vận đơn Báo cáo tình trạng vận đơn 10 ngày gần nhất, báo cáo số tài khoản mở mới, báo cáo tài khoản sử dụng nhiều tháng 6.1.4.4 Đối với back-end Hiện thực Server Rest Api Cung cấp Api tới ứng dụng khách hàng ứng dụng dành cho quản trị viên Hiện thực hệ thống realtime phục vụ quy trình giao nhận hàng, cập nhật thay đổi, vị trí tài xế realtime Trang 130 6.1.5 Hạn chế Chưa hoàn thiện số trường hợp ngoại lệ phức tạp quy trình giao hàng Do yếu tố thời gian, nhóm chưa thực loại kiểm thử liên quan tới UI, ứng dụng chưa đẹp mắt thuận tiện trình thao tác sử dụng 6.1.6 Ý nghĩa thực tiễn Đề tài mang đến giải phát giao hàng giải khía cạnh nhỏ tốn giao hàng Khách hàng giao nhiều hàng vận đơn thay thược theo cách thơng thường hàng giao vận đơn Đối với đồ giấy tờ, cơng văn hay đồ quan trọng người gửi muốn đảm bảo chắn tài xế giao hàng xác tới người nhận hệ thống cung cấp giải pháp xác thực người nhận thông qua mã QR 6.2 Hướng phát triển đề tài Giao hàng, vận chuyển hàng hóa hoạt động xảy hàng ngày ln xuất khía cạnh, nhu cầu địi hỏi hệ thống luôn cải tiến nâng cấp Đề tài thực tính cốt lõi để đảm bảo hệ thống thực hồn thiện q trình giao hàng bên cạnh cịn nhiều tính cần hồn thiện nâng cấp để hệ thống sử dụng thực tế, cụ thể sau: • Cải thiện UI, UX nhằm mang đến ứng dụng thân thiện, dễ sử dụng tới người dùng • Kiểm tra khả chịu tải hệ thống, để nâng cấp vào tối ưu đoạn mã • Dựa vào liệu thu thập thơng qua q trình vận hành thực tế tiến hành hoàn thiện trường hợp đặc biệt xảy giao hàng • Dựa theo nhu cầu thực tế từ quản trị viên phát triển thêm báo cáo doanh thu, chi phí, lợi nhuận giúp hỗ trợ tối ưu hóa quy trình giao, nhận hàng Trang 131 Bibliography [1] Melnyk And Leonid Hryhorovych (2019) The effect of industrial revolutions on the transformation of social and economic systems [2] Devezas, Tessaleno And Sarygulov, & Askar (2017) Industry 4.0 (E-book) Springer [3] thegioididong (2020, December 22) ứng dụng gọi xe, đặt xe công nghệ phổ biến Việt Nam https://www.thegioididong.com/game-app/7-ung-dung-goi-datxe-cong-nghe-pho-bien-tai-viet-nam-1309064 [4] Grab (n.d.) Grab Siêu Ứng Dụng Đa Dịch Vụ Hàng Đầu https://www.grab.com/vn/ [5] Tieu Phuong (2020) Thị phần gọi xe công nghệ Việt: Grab chiếm 3/4, Gojek bám sát be Vietnambiz.Vn https://vietnambiz.vn/thi-phan-goi-xe-cong-nghe-vietgrab-chiem-3-4-gojek-bam-sat-be-20201118164337494.htm [6] Gojek (n.d.) Gojek https://www.gojek.com/vn/ [7] Fortune (2019) Change The World https://fortune.com/change-theworld/2019/search/ [8] Be (n.d.) Be https://be.com.vn/ [9] Be (n.d.) Be triển khai ngân hàng số VPBank.https://be.com.vn/tin-tuc/nganhang-so-cake-by-vpbank/ [10] Jeff Forcier, Paul Bissex, & Wesley J Chun (2008) Python web development with Django (E-book) [11] Top 10 Django Apps And Why Companies Are Using it (2020) https://www.geeksforgeeks.org/ 10-django-apps-and-why-companies-are-using-it/ [12] Bonnie Eisenman (2015) Learning react native: Building native mobile apps with JavaScript (E-book) [13] JD Drake And JC Worsley (2002) Practical PostgreSQL (E-book) Trang 132 [14] R Reagan.(2018)Web Applications on Azure Springer (E-book) [15] Distributed Version Control Systems (2021) [Illustration] [16] Working tree, staging area, and Git directory (2021) [Illustration] https://gitscm.com/book/en/v2/images/areas.png Trang 133 ... khách hàng beTaxi hỗ trợ hai loại phương tiện bốn chỗ bảy chỗ • Giao hàng: Kết nối tài xế chở hàng với khách hàng Đối với giải pháp giao hàng be cung cấp giải pháp sau: – beDelivery: Giao hàng. .. nhận hàng – Giao hàng tạm ứng(COD): Hình thức giao hàng tạm ứng áp dụng với đơn hàng có giá trị tối đa 1.000.000đ – Giao hàng nhiều điểm dừng: Khách hàng giao lúc nhiều đơn hàng đến nhiều khách hàng. .. trình giao vận đơn – Tại hình hệ thống hiển thị thông tin danh sách điểm nhận hàng vận đơn Google Map Giao hàng: Quy trình giao hàng gồm bước sau: – Khi tới điểm giao hàng danh sách điểm giao hàng,