Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
4,14 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGHI LÂM MINH KHÔI ĐỒ ÁN PHÁT TRIỂN SÀN THƯƠNG MẠI ĐIỆN TỬ CHO SẢN PHẨM OCOP TP HỒ CHÍ MINH, THÁNG NĂM 2023 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGHI LÂM MINH KHÔI - 20520593 ĐỒ ÁN PHÁT TRIỂN SÀN THƯƠNG MẠI ĐIỆN TỬ CHO SẢN PHẨM OCOP GIẢNG VIÊN HƯỚNG DẪN TS NGUYỄN TRỊNH ĐƠNG TP HỒ CHÍ MINH, THÁNG NĂM 2023 LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tri ân sâu sắc đến thầy hướng dẫn, tạo điều kiện cho em chúng em hồn thành đồ án mơn Đồ án Trong vòng 11 tuần, qua buổi học, nhờ dẫn nhiệt tình thầy, em tiếp thu kiến thức quan trọng, bổ ích góp ý chân thành để làm đồ án hoàn chỉnh Trong khoảng thời gian thực đồ án, em học hỏi thêm nhiều kiến thức, kinh nghiệm, biết quy trình để tạo sản phẩm phần mềm Bên cạnh đó, chúng em xin cảm ơn bạn bè lớp động viên, thảo luận góp ý cho em đồng thời khơi thêm nguồn động lực cho em suốt trình đầy khó khăn Mặc dù cố gắng hồn thành báo cáo với tất nỗ lực song báo cáo em chắn không tránh khỏi thiếu sót, em mong nhận thơng cảm góp ý chân thành từ thầy Em xin chân thành cảm ơn Thành phố Hồ Chí Minh, tháng năm 2023 Nghi Lâm Minh Khơi TĨM TẮT Đồ án với đề tài “Phát triển sàn thương mại điện tử cho sản phẩm OCOP” tập trung vào việc xây dựng hệ thống sàn thương mại điện tử đáp ứng cho khách hàng mặt mua hàng, đáp ứng cho chủ doanh nghiệp hệ thống có khả chịu tải tốt, khả phát triển cao Đề tài việc tìm hiểu thực trạng, đưa vấn đề tồn đọng cải thiện Xác định mục tiêu, phạm vi đề tài chức cần có hệ thống Ngoài việc xử lý nghiệp vụ cho hệ thống, em tìm hiểu, so sánh lựa chọn công nghệ phù hợp giúp nâng cao trải nghiệm người dùng, tối ưu chi phí phát triển triển khai Nhờ việc phân tích yêu cầu rõ ràng, thời gian phát triển ngắn yêu cầu, tính thay đổi, trình phát triển đề tài sử dụng mơ hình Waterfall cho việc xây dựng hệ thống Kết thu giai đoạn thiết kế kiến trúc hệ thống, sở liệu, giao diện thể sơ đồ người dùng, sơ đồ thiết kế sử dụng công cụ Figma Draw.io Trong giai đoạn thực hiện, client server phát triển song song sử dụng thư viện ReactJs cho client Java với Spring Boot framework cho server, công cụ phát triển Intellij Idea công cụ quản lý công việc Notion Công việc kiểm thử unit test thực xuyên suốt trình phát triển kiểm thử tích hợp cuối giai đoạn Trong giai đoạn vận hành, server triển khai lên máy chủ cá nhân, hồn tồn truy cập liệu thông qua api từ thiết bị gửi yêu cầu có chứa trường xác thực liệu hợp lệ Phần cuối đồ án trình bày kết thực lên báo cáo, đưa kết luận hướng phát triển cho hệ thống tương lai Nội dung đồ án trình bày chương: - Chương 01: Tổng quan Trình bày sơ thực trạng, nhu cầu thực tế Xác định mục tiêu phạm vi đề tài - Chương 02: Cơ sở lý thuyết, tổng quan công nghệ Giớ thiệu giải thuật, công nghệ, tảng sử dụng đồ án - Chương 03: Phân tích thiết kế ứng dụng Phân tích yêu cầu, thiết kế, thực triển khai ứng dụng - Chương 04: Kết luận - Chương 05: Cài đặt thử nghiệm Những kết đạt sau kết thúc đồ án Những hạn chế, khó khăn trình phát triển đồ án nêu hướng phát triển tương lai MỤC LỤC LỜI CẢM ƠN .3 TÓM TẮT MỤC LỤC DANH MỤC TỪ VIẾT TẮT 27 Chương 1.1 TỔNG QUAN .1 Khảo sát trạng 1.1.1 Nhu cầu thực tế đề tài .1 1.1.2 Khảo sát số ứng dụng có 1.2 Mục tiêu .3 1.2.1 Đối tượng sử dụng 1.2.2 Yêu cầu Chương CƠ SỞ LÝ THUYẾT, TỔNG QUAN CÔNG NGHỆ 2.1 Công nghệ sử dụng 2.1.1 React .6 2.1.2 React Redux 2.1.3 Sematic UI 2.1.1 Spring Boot 10 2.1.2 Redis .11 2.1.3 Docker 12 2.1.4 JSON Web Token 12 2.1.5 Stripe 15 2.1.6 MySQL 16 Chương PHÂN TÍCH THIẾT KẾ ỨNG DỤNG 17 3.1 Use case .17 3.1.1 Sơ đồ Use case 17 3.1.2 Danh sách Actors 17 3.1.3 Danh sách Use case 17 3.1.4 Đặc tả Use case .18 3.2 Activity diagram 26 3.2.1 Lược đồ hoạt động đăng nhập 26 3.2.2 Lượt đồ hoạt động đăng ký 27 3.2.3 Lược đồ quản lý địa 27 3.2.4 Lược đồ hoạt động tìm kiếm sản phẩm 28 3.2.5 Lược đồ hoạt động xem chi tiết sản phẩm 29 3.2.6 Lược đồ hoạt động thêm sản phẩm vào giỏ hàng 30 3.2.7 Lược đồ hoạt động đặt hàng 31 3.3 Thiết kế sở liệu 32 3.3.1 Sơ đồ ERD 32 3.3.2 Mô tả chi tiết 32 3.4 Thiết kế hệ thống 39 3.5 Thiết kế giao diện 41 Chương KẾT LUẬN .48 4.1 Kết đạt 48 4.2 Những ưu điểm hạn chế 48 4.2.1 Ưu điểm 48 4.2.2 Hạn chế 49 4.3 Hướng phát triển 50 Chương CÀI ĐẶT VÀ THỬ NGHIỆM 51 5.1 Môi trường cài đặt .51 5.2 Các thư viện, framework liên quan .51 5.3 Kiểm thử phần mềm 51 5.4 Hướng dẫn cài đặt .51 TÀI LIỆU THAM KHẢO 52 DANH MỤC TỪ VIẾT TẮT STT Tên Diễn giải STT Số thứ tự PK Primary key FK Foreign key ERD Entity relationship diagram DOM Document Object Model UI User interface UX User experience CHƯƠNG 1.1 TỔNG QUAN Khảo sát trạng 1.1.1 Nhu cầu thực tế đề tài Hiện nay, trình số hóa cửa hàng ngày tăng cao với việc đại dịch Covid diễn tạo nên thay đổi lớn vấn đề mua sắm người dân Từ nhu cầu mua sắm thông qua trang web cửa hàng sàn thương mại điện tử tăng cao kéo theo việc Các thành phố lớn phát triển hạ tầng chưa đồng đều, chưa xem hạ tầng bãi đỗ Từ đó, ta thấy sở hạ tầng nhu cầu không thỏa mãn, dẫn đến việc khó khăn tìm kiếm bãi đỗ xe Do đó, em định xây dựng phần mềm Tìm kiếm bãi đỗ xe 1.1.2 Khảo sát số ứng dụng có 1.1.2.1 Shopee Tổng quan Shopee tảng thương mại điện tử hàng đầu Đông Nam Á, thành lập vào năm 2015 Nó kết nối người mua người bán từ nhiều quốc gia khu vực, cung cấp loạt sản phẩm dịch vụ đa dạng Shopee có giao diện dễ sử dụng, hệ thống tốn an tồn chương trình khuyến hấp dẫn Nền tảng cịn có Shopee Mall, nơi người dùng mua hàng hãng, dịch vụ giao hàng nhanh chóng Shopee trở thành tảng thương mại điện tử phổ biến Đông Nam Á 3.3.2.12 ContactInfo Ràng STT Tên thuộc tính Kiểu id int email text Địa email mobile text Số điện thoại office text Địa văn phòng other text Thông tin khác buộc PK Ý nghĩa/ghi Mã liên hệ Bảng 3.21 Mô tả chi tiết bảng Favorite 3.3.2.13 AddressInfo Ràng STT Tên thuộc tính Kiểu id int country text Quốc gia first_line text Địa second_line text Địa state text Vùng zip_code text Mã vùng buộc PK Ý nghĩa/ghi Mã địa Bảng 3.22 Mô tả chi tiết bảng Favorite 38 3.3.2.14 OrderInfo Ràng STT Tên thuộc tính Kiểu id int customer_id int Mã người dùng delivery_status int Tình trạng timestamp text Thời gian track_package_link text Đường dẫn theo dõi address_id int Mã địa product_id int Mã sản phẩm buộc PK Ý nghĩa/ghi Mã yêu thích Bảng 3.23 Mô tả chi tiết bảng Favorite 3.4 Thiết kế hệ thống 39 STT Thực thể Diễn tả Client Giao diện người dùng Gateway Cổng nhận request từ client Search Service Service xử lý câu lệnh tìm kiếm người dùng Data Service Service chứa liệu hệ thống Authenticate Service Service quản lý việc xác thực người dùng Payment Service Service xử lý dịch vụ toán Seller Service Service quản lý cửa hàng Database Cụm sở liệu Redis Cụm lưu trữ cache 40 3.5 Thiết kế giao diện 41 42 43 44 45 46 47 CHƯƠNG 4.1 KẾT LUẬN Kết đạt Với yêu cầu đặt cho đề tài “Phát triển sàn thương mại điện tử cho sản phẩm OCOP” môn Đồ án 1, em tiến hành khảo sát, tìm hiểu sở lý thuyết, phân tích, thiết kế cuối cài đặt kiểm thử thành công phần mềm Kết hợp với việc nghiên cứu sáng tạo chức năng, em triển khai để hoàn thành báo cáo Em tự đánh giá đề tài cho môn học thành công, với việc đạt mục tiêu đặt thực hiện, phát triển sản phẩm có nhiều chức Đúng với mục tiêu đặt ban đầu, em đã: • Ứng dụng kiến thức lý thuyết thực hành vào quy trình phát triển phần mềm thực tiễn, từ xây dựng tư lĩnh vực Cơng nghệ phần mềm • Giải vấn đề đặt phần mô tả tốn, hồn thiện sản phẩm đề tài phần mềm trực tuyến cách tốt • Xây dựng chương trình hồn thiện chức năng, mặt UI UX, đáp ứng nhu cầu thực tế để giải vấn đề; giao diện trực quan, đẹp mắt, thân thiện đáp ứng tính đắn tính tiến hóa việc thiết kế liệu Ngồi ra, từ q trình làm sản phẩm, em có hội tìm hiểu rõ vận dụng kiến thức học môn học trước, đồng thời nắm quy trình phát triển phần mềm với nghiên cứu kỹ thuật công nghệ, phục vụ khơng mơn học tới mà cịn hành trình làm việc lĩnh vực cơng nghệ thơng tin tương lai 4.2 Những ưu điểm hạn chế 4.2.1 Ưu điểm - Về sản phẩm phần mềm: 48 o Là hệ thống có tảng xây dựng đầy đủ, theo mơ hình “Clean Architecture” thơng dụng mà doanh nghiệp sử dụng o Hệ thống thiết kế với độ chịu tải tốt, có khả mở rộng theo chiều ngang (horizontal-scale) o Hệ thống thân thiện, quy trình rõ ràng, đơn giản giúp người dùng theo dõi tiến độ hiệu o Có thể triển khai hệ thống dễ dàng docker o Giúp chủ xe tìm kiếm bãi đỗ cách thuận tiện o Chủ bãi đỗ tiếp cận lượng lớn khách hàng nhờ vào hệ thống online - Về trình xây dựng: o Học hỏi nhiều công nghệ trao đổi kiến thức, bổ sung kiến thức cho việc làm o Tính sáng tạo, linh hoạt o Sử dụng cơng cụ hỗ trợ giúp việc quản lý trở nên đơn giản hơn, trực quan hơn, có định hướng như: Notion, One Drive, PlantUML, 4.2.2 Hạn chế - Về sản phẩm phần mềm: o Sản phẩm chưa hoàn thiện phần công cụ cho cửa hàng quản lý hệ thống o Chưa áp dụng kĩ thuật deployment tối ưu (do hạn chế chi phí, sử dụng sản phẩm miễn phí) o Cơ sở liệu bị giới hạn dung lượng số lần truy vấn miễn phí dẫn đến việc người dùng bị giới hạn liệu o Tính chưa đầy đủ so với nghiệp vụ thực tế - Về việc tổ chức quản lý tiến độ: 49 o Có số cơng việc khơng hồn thành đặt Phải thay đổi linh hoạt sát để theo kịp tiến độ o Khối lượng công việc cần thực nhiều kèm theo việc làm cá nhân nên chịu áp lực mặt thời gian 4.3 Hướng phát triển Đề tài mở rộng phát triển thêm nhiều tính hữu ích cho người dùng như: • Cho phép người dùng đăng phản hồi • Cập nhật lọc thêm thuộc tính • Xây dựng hệ thống gợi ý Ngoài hệ thống thiếu sót nhiều có nhiều hướng để phát triển như: • Áp dụng tư tưởng Event-Driven kèm theo cơng nghệ Kafka để tăng tính khả dụng cho hệ thống • Xây dựng cơng cụ quản lý cho cửa hàng tham gia • Sử dụng gRPC thay cho RESTful API để giao tiếp service • Triển khai từ Docker sang Kubernate • Xây dựng cơng cụ theo dõi hệ thống (có thể sử dụng Prometheous, Grafana) 50 CHƯƠNG 5.1 CÀI ĐẶT VÀ THỬ NGHIỆM Môi trường cài đặt − Docker 5.2 Các thư viện, framework liên quan − Front-end: ReactJS − State management: Redux, Redux Toolkit − UI library: Sematic UI − Back-end: Java (Spring Framework) − Database: MySQL, Redis 5.3 Kiểm thử phần mềm Em có tiến hành kiểm thử phần mềm sau lần build chức năng, tăng tính đắn tốc độ sửa lỗi chương trình Ứng dụng chạy thử nghiệm thiết bị nhiều độ phân giải khác (responsive) nhiều trình duyệt - Manual testing: whitebox, blackbox theory - API testing: Postman 5.4 Hướng dẫn cài đặt Bước 1: Cài đặt Docker từ https://www.docker.com/ Bước 2: Tải giải nén source code từ Google Drive Bước 3: Khởi chạy file script “start-all.sh” 51 TÀI LIỆU THAM KHẢO [1] N T Toan, "Giới thiệu redux saga," 26 2017 [Online] Available: https://viblo.asia/p/gioi-thieu-ve-redux-saga-maGK7zjD5j2 [Accessed 13 10 2021] [2] Semantic UI, "How to setup Semantic UI," [Online] Available: https://semantic-ui.com/introduction/getting-started.html [3] Docker, "Docker Docs," [Online] Available: https://docs.docker.com/ [4] Vu Tong, "Học Spring Boot đâu?," [Online] Available: https://viblo.asia/p/hoc-spring-boot-bat-dau-tu-dau-6J3ZgN7WKmB [5] D A a R d authors, "Redux Tutorial Overview," [Online] Available: https://redux-toolkit.js.org/tutorials/overview [6] Redis, "Redis Docs" [Online] Available: https://redis.io/docs/ [7] Oracle, "MySQL Docs," [Online] Available: https://dev.mysql.com/doc/ [8] Expo, "Expo document," [Online] Available: https://docs.expo.dev/ 52