1. Trang chủ
  2. » Cao đẳng - Đại học

Khóa luận xây dựng ứng dụng thương mại điện tử hỗ trợ gợi ý sản phẩm

154 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 154
Dung lượng 4 MB

Nội dung

Kết quả mong đợi: Sau khi xác định đề tài và nghiên cứu, tìm hiểu thực tế, nhóm đã xây dựng ýtưởng thiết kế ứng dụng bán hàng cần đạt được những mục tiêu sau: Đối với khách hàng và người

Trang 1

ĐẠ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

NGUYỄN THỊ TÂM BÙI THANH TÙNG

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ HỖ TRỢ GỢI Ý

SẢN PHẨM E-commerce application intergrated with product recommendation

system

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

Trang 2

ĐẠ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

NGUYỄN THỊ TÂM – 16521065 BÙI THANH TÙNG – 15520982

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ HỖ TRỢ GỢI Ý

SẢN PHẨM E-commerce application intergrated with product recommendation

system

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN THS TRẦN ANH DŨNG

Trang 3

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin

1 ……… – Chủ tịch

2 ……… – Thư ký

3 ……… – Ủy viên

4 ……… – Ủy viên

Trang 4

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm 2020

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP(CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận:

Xây dựng ứng dụng Thương mại điện tử hỗ trợ gợi ý sản phẩm

Nhóm sinh viên thực hiện: Cán bộ hướng dẫn:

NGUYỄN THỊ TÂM 16521065 ThS TRẦN ANH DŨNG

BÙI THANH TÙNG 15520982

Đánh giá Khóa luận:

1 Về cuốn báo cáo:

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

Trang 6

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập – Tự Do – Hạnh Phúc

TP HCM, ngày tháng năm 2020

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận:

Xây dựng ứng dụng Thương mại điện tử hỗ trợ gợi ý sản phẩm

Nhóm sinh viên thực hiện: Cán bộ phản biện:

NGUYỄN THỊ TÂM 16521065

BÙI THANH TÙNG 15520982

Đánh giá Khóa luận:

1 Về cuốn báo cáo:

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

2 Về nội dung nghiên cứu:

Trang 7

(Ký và ghi rõ họ tên)

Trang 8

LỜI CẢM ƠN

Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại họcCông nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức

cơ bản, các kỹ năng thực tế để có thể hoàn thành Khóa luận tốt nghiệp của mình

Để hoàn thành khóa luận này, chúng em xin gửi lời cảm ơn chân thành đến:

Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo điềukiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin

Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình giúp

đỡ, định hướng cách tư duy và cách làm việc khoa học Đó là những góp ý hết sứcquý báu không chỉ trong quá trình thực hiện luận văn này mà còn là hành trang tiếpbước cho chúng em trong quá trình học tập và lập nghiệp sau này

Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa,bạn bè, tập thể lớp KTPM2015 và KTPM2016 là những người luôn sẵn sàng sẻ chia

và giúp đỡ trong học tập và cuộc sống Mong rằng, chúng ta sẽ mãi mãi gắn bó vớinhau

Trong quá trình làm khóa luận này chúng em không tránh khỏi được những sai sót,chúng em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cô để khóa luậnđược hoàn thiện hơn

Chúng em xin chân thành cảm ơn Xin chúc những điều tốt đẹp nhất sẽ luôn đồnghành cùng mọi người

Thành phố Hồ Chí Minh, 06 tháng 08 năm 2020

Trang 9

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày… tháng … năm ………

ĐỀ CƯƠNG CHI TIẾT

Tên đề tài: Xây dựng ứng dụng Thương mại điện tử hỗ trợ gợi ý sản phẩm

Cán bộ hướng dẫn: ThS TRẦN ANH DŨNG

Thời gian thực hiện: Từ ngày 02/03/2020 đến ngày 03/08/2020

Sinh viên thực hiện:

1 NGUYỄN THỊ TÂM – 16521065

2 BÙI THANH TÙNG – 15520982

Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp

thực hiện, kết quả mong đợi của đề tài)

Mục tiêu:

Ứng dụng mua bán hàng hàng MyStore chạy trên nền Android được thực hiện

dựa trên hai mục đích chính sau:

− Thứ nhất là nghiên cứu các công nghệ lập trình như: lập trình ứng dụngvới Android Và các thuật toán gợi ý sản phẩm, cụ thể là Content-based

và Collaborative Có thể áp dụng trong ứng dụng MyStore trong việc

gợi ý sản phẩm cũng như những dự án khác sau này

− Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triểnkhai ứng dụng vào thực tế, giúp những người có nhu cầu mua bán hànghóa có thể thao tác dễ dàng và tiện lợi

Trang 10

hợp với sự tìm hiểu công nghệ của nhóm, luận văn tốt nghiệp của nhóm sẽ đạtđược mục đích mong đợi.

Phương pháp thực hiện: làm việc với nhóm 02 thành viên, phân chia công việc

phù hợp với năng lực và kinh nghiệm của từng người, thực hiện khoá luận theo lượng công việc và thời gian đã được lập kế hoạch chi tiết Các vấn đề liên quan đến khoá luận đều được trao đổi trực tiếp giữa các thành viên

Kết quả mong đợi:

Sau khi xác định đề tài và nghiên cứu, tìm hiểu thực tế, nhóm đã xây dựng ýtưởng thiết kế ứng dụng bán hàng cần đạt được những mục tiêu sau:

Đối với khách hàng và người quản trị:

Đối với khách hàng là người dùng chưa đăng nhập, có thể xem sản phẩm, tìmkiếm sản phẩm, xem các bài viết và đăng ký tài khoản

Đối với khách hàng là người dùng đã đăng nhập có thể thực hiện chức năng đặtmua sản phẩm, xem sản phẩm, quản lý sản phẩm mình yêu thích, quản lý sảnphẩm trong giỏ hàng, quản lý địa chỉ nhận hàng, chọn phương thức thanh toán(thanh toán khi nhận hàng, chuyển khoản), chat với shop, xem tình trạng đơnhàng và bình luận đánh giá sản phẩm sau khi mua hàng thành công Ngườidùng đã đăng nhập cũng có thể là người bán hàng, đăng sản phẩm (admin làngười kiểm duyệt sản phẩm đăng), quản lý doanh thu từ việc bán hàng, chat vớingười mua hàng Ngoài ra, người dùng đã đăng nhập còn có thể xem các bàiviết, quản lý danh sách các bài viết đã lưu (Thêm, xóa), đặt nhắc nhở thời gianđọc lại bài viết nếu muốn, và liên hệ admin nếu cần hỗ trợ

Admin là người quản trị thực hiện các chức năng quản lý sản phẩm (duyệt sảnphẩm khách hàng muốn đăng, xóa sản phẩm), quản lý đơn hàng (cập nhật tìnhtrạng đơn hàng), quản lý danh mục sản phẩm, quản lý khuyến mãi Flash Sale,quản lý mục quảng cáo, quản lý tài khoản người dùng và quản lý các bài viết

Trang 11

Xây dựng thành công hệ thống gợi ý sản phẩm cho hiệu năng cao

Hệ thống có khả năng xây dựng và phát triển nhanh chóng

Hệ thống gợi ý sản phẩm:

Hiểu bài toán khuyến nghị

Hiểu 2 phương pháp khuyến nghị chính: Content-based và Collaborative

Có kết quả đánh giá, so sánh

Hệ thống gợi ý sản phẩm có thể gợi ý sản phẩm hiệu quả cho:

− Người dùng mới (chưa có dữ liệu rating)

− Người dùng cũ (dựa trên collaborative filtering)

Ngoài ra, còn áp dụng tiêu chí đánh giá theo chuẩn ISO 9126

Kế hoạch thực hiện: (Mô tả kế hoạch làm việc và phân chia công việc các

thành viên tham gia)

Với thời gian thực hiện từ 02/03/2020 tới 03/08/2020, nhóm chia thành 8 sprint

Trang 12

Giai đoạn 1: Hoàn thiện ứng dụng MyStore với các chức năng dành cho ngườidùng (đăng ký, đăng nhập, tìm kiếm sản phẩm, sắp xếp sản phẩm theo hạngmục, khuyến mãi, xem thông tin sản phẩm, đánh giá, chat với chủ shop, đặthàng mua sản phẩm) và các chức năng dành cho người quản trị (quản lý sảnphẩm, đơn hàng, khuyến mãi, thống kê).

Sprint 1: tìm hiểu về platform PHP, front end framework Android Studio, tìmhiểu nghiệp vụ, quy trình xử lý hàng hóa của các ứng dụng, website tương tựhiện có

Sprint 2: Thiết kế chức năng ứng dụng và cơ sở dữ liệu Xây dựng kiến trúcứng dụng

Sprint 3: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một sốchức năng đã được xác định ở sprint 2

Sprint 4: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một sốchức năng còn lại sau sprint 3

Sprint 5: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một sốchức năng còn lại sau sprint 4

Sprint 6: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một sốchức năng còn lại

Sprint NGUYỄN THỊ TÂM BÙI THANH TÙNG

Khảo sát các ứng dụng hiệnnay: Tiki, Shopee, Lazada,Sendo

Tìm hiểu PHP, AndroidStudio, Firebase, MySQL,nghiệp vụ, quy trình xử lýhàng hóa

Khảo sát các ứng dụng hiệnnay: Tiki, Shopee, Lazada,Sendo

Trang 13

12/04/2020)

Xây dựng kiến trúc ứng dụngtheo mô hình MVP

Xây dựng giao diện chính gồm

5 tab sau:Tab trang chủ, Tab danh mục, Tab bài viết, Tab tìm kiếm, Tab tài khoản

Xây dựng giao diện tab danhmục: Hiển thị các loại danhmục

Xây dựng giao diện hiển thịsản phẩm theo danh mục:Hiển thị sản phẩm theo danhmục; Chức năng sắp xếp,lọc, kiểu hiển thị cho sảnphẩm (list hoặc grid), Chứcnăng tìm kiếm theo danhmục, Chức năng loadmoresản phẩm

Xây dựng giao diện bài viết:

Hiển thị bài viết, Chức nănglưu bài viết, Chức năng nhắcnhở bài viết

Xây dựng giao diện, chứcnăng: tìm kiếm sản phẩm,thông báo

Xây dựng giao diện tab tìm kiếm, Chức năng tìm kiếm tất cả sản phẩm

Trang 14

14/06/2020) phẩm, Hiển thị đánh giá sản

phẩm, Chức năng yêu thích sảnphẩm, Hiển thị sản phẩm cùngshop, Hiển thị sản phẩm liênquan; Chức năng chat vớishop: Xây dựng giao diện chat,

Xử lý chat, Xử lý hiển thịonline hay offline ,Xây dựnggiao diện chatlist: Hiển thịdanh sách người từng chat,Chức năng thêm giỏ hàng,Chức năng mua ngay

Xây dựng giao diện Shop bánhàng: Hiển thị sản phẩm củashop, Chức năng loadmore sảnphẩm, Chức năng tìm kiếm sảnphẩm theo shop, Chức năngsắp xếp/lọc/kiểu hiển thị sảnphẩm

Xây dựng giao diện giỏ hàng:

Hiển thị sản phẩm được thêmvào giỏ hàng, Chức năng chọnsản phẩm trong giỏ hàng, Chứcnăng xóa sản phẩm khỏi giỏhàng, Chức năng tăng/giảm sốlượng sản phẩm, Chức năngchỉnh sửa phân loại sản phẩm,Chức năng thanh toán

hàng; Xây dựng giao diệnthanh toán: Hiển thị sảnphẩm thanh toán, Chức năngchọn phương thức thanhtoán, hình thức giao hàng,Chức năng ghi chú cho shop,Chức năng chọn địa chỉ nhậnhàng

Xây dựng giao diện thanhtoán thành công: Chức năngxem chi tiết đơn hàng, Chứcnăng hủy đơn hàng

Trang 15

đã thích, Chức năng đăng xuấtvới firebase, Chức năng quản

lý shop

Xây dựng giao diện quản lýshop: Hiển thị sản phẩm củashop, Chức năng thêm/xóa/sửasản phẩm, Chức năng thống kêdoanh thu, Hiển thị đánh giácủa người dùng cho shop

Xây dựng giao diện quản lýđơn hàng của shop: Hiển thịđơn hàng theo các trạng thái:

Tất cả, chờ xác nhận, đanggiao, đã giao, đã hủy, trả hàng;

Chức năng hủy đơn hàng

Admin bao gồm: Quản lýsản phẩm chờ xác nhận,Quản lý đơn hàng, Đơn hàngchuyển khoản, Quản lý danhmục, Quản lý người dùng

Xây dựng giao diện quản lýsản phẩm chờ xác nhận:Chức năng xác nhận sảnphẩm, Chức năng xóa sảnphẩm

Xây dựng giao diện quản lýđơn hàng: Hiển thị tất cả đơnhàng, Chức năng cập nhậptrạng thái đơn hàng

Xây dựng giao diện quản lýchuyển khoản: Hiển thịthông tin chuyển khoản,Chức năng xác nhận chuyểnkhoản

Xây dựng giao diện quản lýdanh mục: Hiển thị tất cảdanh mục, Chức năng thêm/xóa/sửa danh mục, Xâydựng giao diện quản lýngười dùng, Hiển thị ngườidùng theo 3 trạng thái: Tàikhoản Admin, Tài khoảnđang hoạt động, Tài khoản

Trang 16

quyền người dùng: adminhay khách hàng; Chức năngkhóa/mở khóa tài khoảnngười dùng

Giai đoạn 2: Hoàn thành việc áp dụng hệ thống gợi ý sản phẩm vào ứng dụngMyStore Giúp ứng dụng có thể gợi ý hiệu quả sản phẩm cho người dùng (đốivới người dùng mới và người dùng trung thành)

Sprint 7: tìm hiểu về hệ thống gợi ý sản phẩm Thực hiện chạy thử nghiệm vàđánh giá các phương pháp gợi ý sản phẩm

Sprint 8: áp dụng hệ thống gợi ý sản phẩm vào ứng dung MyStore, đánh giáhiệu năng

collaborative

Nghiên cứu phương pháp gợi ýsản phẩm content-based,collaborative

Xây dựng code thử nghiệm vàđánh giá phương pháp

Áp dụng gợi ý sản phẩm chongười dùng mới vàcollaborative filtering cho ngườidùng cũ

Xác nhận của CBHD

(Ký tên và ghi rõ họ tên)

TP HCM, ngày … tháng … năm …

Sinh viên

Trang 17

Trần Anh Dũng

Nguyễn Thị Tâm Bùi Thanh Tùng

Trang 18

MỤC LỤC

1.2 Tính năng mới/ khác biệt về chức năng của đề tài so với một số ứng dụng

Trang 19

2.4.1 Khái niệm Firebase 142.4.2 Chức năng chính của Google Firebase 142.4.2.1 Realtime Database – Cơ sở dữ liệu thời gian thực 142.4.2.2 Firebase Authentication – Hệ thống xác thực của Firebase 15

2.4.2.4 Firebase Cloud Messaging 152.4.3 Lợi ích của Google Firebase 152.4.3.1 Triển khai ứng dụng cực nhanh 15

2.6.3 Các trường hợp nên dùng JSON 19

2.7.2 Các phương pháp trong hệ thống khuyến nghị 212.7.2.1 Hệ thống khuyến nghị theo nội dung (Content-based approach) 212.7.2.2 Hệ thống khuyến nghị lọc cộng tác (Collaborative filtering) 212.7.2.3 Hệ thống khuyến nghị lai (Hybrid recommender system) 24

Trang 20

3.2.1.2 Danh sách các actors 483.2.1.3 Danh sách các use cases 49

3.2.3 Phân tích và thiết kế CSDL 543.2.3.1 Bảng Loại sản phẩm 56

3.2.3.3 Bảng Chi tiết sản phẩm 58

Trang 22

4.2.2 Content-based Recommender System 122

4.2.3 Neighborhood-based Collaborative Filtering và Matrix Factorization

Trang 23

Hình 2-7: Thành phần Apache Spark 27Hình 3-1: Quy trình xử lý hàng hóa của MyStore 30Hình 3-2: Biểu đồ use case mức tổng quát 37Hình 3-4: Biểu đồ use case Đăng nhập 38Hình 3-6: Biểu đồ use case Quản lý danh mục sản phẩm 39Hình 3-7: Biểu đồ use case Quản lý sản phẩm 40Hình 3-8: Biểu đồ use case Quản lý đơn hàng 40Hình 3-9: Biểu đồ use case Quản lý quảng cáo 41Hình 3-10: Biểu đồ use case Quản lý bài viết 41Hình 3-11: Biểu đồ use case Xem bài viết 42Hình 3-12: Biểu đồ use case Lưu vài viết 42Hình 3-13: Biểu đồ use case Đặt nhắc nhở xem bài viết 43Hình 3-14: Biểu đồ use case Quản lý địa chỉ giao hàng 43Hình 3-15: Biểu đồ use case Quản lý giỏ hàng 44Hình 3-16: Biểu đồ use case Xem tình trạng đơn hàng 44Hình 3-17: Biểu đồ use case Tìm kiếm sản phẩm 45Hình 3-18: Biểu đổ use case Xem sản phẩm 45Hình 3-19: Biểu đồ use case Quản lý sản phẩm yêu thích 46Hình 3-20: Biểu đồ use case Đánh giá sản phẩm 46Hình 3-21: Biểu đồ use case Đặt hàng sản phẩm 47Hình 3-22: Biểu đồ use case Chat 47

Trang 24

Hình 3-24: Biểu đồ use case Liên hệ Admin 48

Hình 3-27: Giao diện flash sale 73Hình 3-28: Giao diện tìm kiếm hàng đầu 74Hình 3-29: Giao diện Bộ sưu tập yêu thích 75Hình 3-30: Giao diện Sản phẩm gợi ý 76Hình 3-31: Giao diện Tìm kiếm sản phẩm 77Hình 3-32: Giao diện Thông tin sản phẩm 78Hình 3-33: Giao diện Đăng ký tài khoản 79

Hình 3-35: Giao diện thông báo nhắc xem bài viết 81Hình 3-36: Giao diện tìm kiếm hàng đầu 82

Hình 3-38: Giao diện Nhập thông tin khách hàng 84Hình 3-39: Giao diện Xác nhận thông tin mua hàng 85Hình 3-40: Giao diện Đặt hàng thành công 86

Hình 3-42: Giao diện chi tiết đơn hàng 88Hình 3-43: Giao diện chức năng trong chi tiết sản phẩm 89

Hình 3-45: Giao diện danh sách tin nhắn 91

Hình 3-47: Giao diện Shop của tôi 93Hình 3-48: Giao diện Quản lý đơn hàng 94Hình 3-49: Giao diện yêu cầu cấp quyền truy cập vào camera và bộ nhớ 95Hình 3-50: Giao diện thêm sản phẩm mới 96

Hình 3-52: Giao diện Shop người bán 98

Trang 25

Hình 3-53: Giao diện Quản trị viên 99Hình 3-54: Giao diện cập nhật trạng thái đơn hàng 100Hình 3-55: Giao diện quản lý chuyển khoản 101Hình 3-56: Giao diện chi tiết chuyển khoản 102Hình 3-57: Giao diện quản lý sản phẩm chờ xác nhận 103Hình 3-58: Giao diện quản lý danh mục 104Hình 3-59: Giao diện thêm mới danh mục 105Hình 3-60: Giao diện sửa/xóa danh mục 106Hình 3-61: Giao diện quản lý người dùng 107Hình 3-62: Giao diện chi tiết người dùng 108

Hình 4-18: Hiển thị kết quả gợi ý trong ứng dụng 125Hình 4-19: Lịch sử xem sản phẩm của người dùng 126

Trang 26

Bảng 3-14: Bảng Danh mục loại bài viết 64

Trang 28

DANH MỤC TỪ VIẾT TẮT

TMĐT Thương mại điện tử Hình thức mua sắm online

CSDL Cơ sở dữ liệu Cơ sở dữ liệu cho ứng dụng

PHP Hypertext Preprocessor Ngôn ngữ lập trình PHP

XAMPP X + Apache + Mysql + PHP + Perl Chương trình tạo máy chủ ảo

HTTP HyperText Transfer Protocol Giao thức truyền siêu văn bản

JSON JavaScript Object Noattion Định dạng trao đổi dữ liệu

RS Recommendation System Hệ thống gợi ý sản phẩm dựa

theo thông tin người dùng

Trang 29

TÓM TẮT KHÓA LUẬN

Khóa luận “XÂY DỰNG ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ HỖ TRỢ GỢI ÝSẢN PHẨM” gồm 05 chương:

Chương 1: Giới thiệu về đề tài, đưa ra các điểm nổi bật so với các ứng dụng trước.

Tiếp đến là đề xuất các giải pháp để giải quyết các vấn đề đã đặt ra Ngoài ra,chương 1 cũng đề cập đến đối tượng nghiên cứu, phạm vi đề tài, phương phápnghiên cứu

Chương 2: Trình bày các kiến thức nền tảng, các công nghệ và thuật toán gợi ý sản

phẩm được sử dụng để xây dựng ứng dụng bán hàng

Chương 3: Trình bày chi tiết quy trình xây dựng hệ thống, từ xác định và phân tích

yêu cầu bài toán cho đến xây dựng CSDL, cuối cùng là xây dựng giao diện cho úngdụng

Chương 4: Tập trung trình bày thuật toán gợi ý sản phẩm Các kiến thức cần nắm,

các loại gợi ý, các số đo, thực nghiệm và kết quả thực nghiệm, sau đó áp dụng vàoứng dụng bán hàng

Chương 5: Kết luận, rút ra được các ưu nhược điểm của ứng dụng và hướng phát

triển trong tương lai

Trang 30

Chương 1 GIỚI THIỆU CHUNG

1.1 Lý do chọn đề tài

Công nghệ thông tin và thương mại điện tử đã được ứng dụng rộng rãi vào đời sống

xã hội nói chung và doanh nghiệp nói riêng Đối với doanh nghiệp, thương mại điện

tử góp phần hình thành những mô hình kinh doanh mới, tăng doanh thu, giảm chiphí, nâng cao hiệu quả kinh doanh và mở ra một thị trường rộng lớn với mọi đốitượng khách hàng trong và ngoài nước

Đối với người tiêu dùng, thương mại điện tử giúp người mua chỉ ngồi tại nhà màvẫn có thể lựa chọn hàng hóa, dịch vụ trên các thị trường ở mọi nơi trên thế giớibằng một vài động tác kích chuột Thương mại điện tử là một trong những động lựcquan trọng thúc đẩy sự phát triển kinh tế, là nhân tố chính đẩy nhanh quá trình quốc

tế hóa đời sống kinh tế thế giới Nhờ ứng dụng thương mại điện tử mà bất kỳ doanhnghiệp nào, thậm chí ở một nước nghèo nhất, một vùng xa xôi hẻo lánh trên địa cầu,cũng có thể dễ dàng tiếp cận với các thị trường rộng lớn thông qua mạng Internet

Thương mại điện tử đã làm cho hoạt động thương mại của các doanh nghiệp vượt rakhỏi phạm vi quốc gia và trở thành hoạt động mang tính toàn cầu Ngày 12/7/2010,Thủ tướng Chính phủ đã có quyết định số 1073/QĐ-TTg về phê duyệt quy hoạchtổng thể phát triển thương mại điện tử giai đoạn 2011-2015

Trong đó xác định “Thương mại điện tử được sử dụng phổ biến và đạt mức tiên tiếntrong các nước thuộc hiệp hội các quốc gia Đông Nam Á (ASEAN), góp phần nângcao năng lực cạnh tranh của doanh nghiệp và năng lực cạnh tranh quốc gia, thúc đẩyquá trình công nghiệp hóa, hiện đại hóa đất nước” Thời gian gần đây, công nghệthông tin đã góp phần không nhỏ vào công tác quản lý nhà nước của các bộ, ngành,địa phương, nhất là trong xử lý hồ sơ hành chính, quản lý ngân sách, thuế, kho bạc,hải quan, bảo hiểm xã hội, thành lập doanh nghiệp

Hiện nay, Thương Mại Điện Tử (TMĐT) đang được nhiều quốc gia quan tâm, trong

đó có Việt Nam, nó được coi là một trong những động lực phát triển chủ yếu của

Trang 31

đang diễn ra TMĐT đem lại những lợi ích tiềm tàng, giúp doanh nghiệp thu đượcthông tin phong phú về thị trường và đối tác, giảm chi phí tiếp thị và giao dịch, tạodựng và củng cố quan hệ bạn hàng.

Việc mua hàng qua mạng chỉ với các thủ tục đăng ký mua sắm đơn giản nhưng đemlại nhiều lợi ích: tiết kiệm và chủ động về thời gian, tránh những nơi đông người vàtránh khỏi những phiền phức khó chịu Vậy nên việc mua bán hàng qua mạng đangrất được mọi người quan tâm Trên cơ sở các kiến thức được học trong nhà trường

và quá trình tìm hiểu các ứng dụng trong thực tế, nhóm chúng em đã quyết địnhchọn đề tài “Xây dựng ứng dụng Thương mại điện tử hỗ trợ gợi ý sản phẩm”

Phục vụ tốt hơn nhu cầu của khách hàng và quản lý cửa hàng trong hoạt động kinhdoanh

Khách hàng chỉ cần các thao tác đơn giản trên điện thoại di động là có thể đặt hàngđược ngay

1.2 Tính năng mới/ khác biệt về chức năng của đề tài so với một số ứng dụng thương mại điện tử hiện nay

Chưa có

Giỏ hàng Chỉnh sửa màu sắc, kích

cỡ của vật phẩm ngay tạigiỏ hàng

Chỉnh sửa màu sắc, kích

cỡ của vật phẩm thì phảichuyển về chi tiết sảnphẩm

Tài khoản Một tài khoản có thể vừa

là người mua hàng, vừa là

Mỗi tài khoản chỉ có thể

là người mua hàng hoặc

Trang 32

người bán hàng bán hàng.

Bảng 1-1: Bảng so sánh sự khác biệt giữa MyStore và các ứng dụng khác

Các ứng dụng TMĐT hiện nay đa số đều có chung ý tưởng và phương thức hoạtđộng tương đồng ở hầu hết các khâu như: phân loại hàng hóa, thanh toán, độ tincậy,… và không có gì khác biệt để tạo ra giá trị vượt trội cho khách hàng ngoại trừ

ưu thế về giá (rẻ)

Sau quá trình khảo sát, lắng nghe ý kiến người dùng, giải pháp mà nhóm đề ra đểtăng lượt truy cập và thời gian mỗi khoảng thời gian của người dùng truy cập ứngdụng, bằng cách thêm các bài viết tin tức, mẹo vặt (da đẹp, dáng đẹp, trang điểm,thời trang, tập luyện,…) và bài viết mua sắm vào trong ứng dụng, điều này sẽ giúpngười dùng vừa được giải trí bổ ích và có thêm kiến thức, vừa trở thành người kinhdoanh và tiêu dùng thông minh hơn, từ đó gắn bó với ứng dụng hơn Đồng thời hệthống gợi ý sản phẩm sẽ lấy dữ liệu những vấn đề mà người dùng thường xuyênquan tâm, từ đó đưa ra các sản phẩm gợi ý trong trang chủ khi người dùng sử dụngứng dụng

Chọn lọc các chức năng tiện dụng nhất của top các ứng dụng TMĐT lớn hiện nay

để đưa vào ứng dụng MyStore của mình

Khảo sát qua các ứng dụng TMĐT hiện nay như Sendo, Tiki, Lazada, Shopee nhómnhận thấy một số hạn chế trong nghiệp vụ giỏ hàng và thanh toán của:

− Tiki: Giỏ hàng chỉ có thể chọn mua tất cả hoặc xóa bớt (mua lại lần sau)

− Sendo: chỉ có thể tiến hành 1 đơn hàng mua các sản phẩm của cùng 1 shop

⇨ Điều này đã làm dẫn đến sự hạn chế thoải mái lựa chọn và mua sắm củangười dùng

✔ Ứng dụng MyStore có thêm chức năng chọn và bỏ chọn trong phần giỏ hàng

và tiến hành thanh toán cho người dùng (một số ứng dụng cũng đã làm điềunày là Lazada, Shopee)

Trang 33

Shopee, Tiki, Sendo: không thể điều chỉnh phân loại hàng (ví dụ màu sắc, size củasản phẩm) trong phần giỏ hàng mà buộc người mua hàng phải quay về trang thôngtin sản phẩm để lựa chọn lại phân loại hàng sản phẩm

⇨ Điều này làm người dùng phải thao tác trên nhiều màn hình dẫn đến làmgiảm tính tiện dụng của ứng dụng đối với người mua hàng

✔ Ứng dụng MyStore cho phép người dùng chỉnh sửa thông tin phân loại sảnphẩm mình đã chọn ngay trong phần giỏ hàng (Ứng dụng đã làm được điềunày là Lazada)

Sau bước chọn các sản phẩm trong giỏ hàng là phần điền địa chỉ nhận hàng, nếuchưa xác nhận đặt đơn hàng thì Tiki và Sendo không lưu địa chỉ mà người dùng đãtừng nhập, trường hợp khách hàng quay về chỉnh sửa đơn giỏ hàng của mình rồi lạisang phần nhập địa chỉ thì phải nhập lại

⇨ Điều này làm mất thời gian của người dùng và làm giảm tính tiện dụng củaứng dụng đối với người mua hàng

✔ Ứng dụng MyStore xử lý lưu địa chỉ cho người dùng miễn là người dùng cóđiền, không bắt buộc phải là địa chỉ trong đơn hàng đã được đặt thành công(một số ứng dụng cũng đã làm điều này là Lazada, Shopee)

Một số hạn chế trong nghiệp vụ quản lý tài khoản của Lazada, Tiki, Sendo như sau:Tài khoản của người dùng chỉ có thể là đối tác (người bán) hoặc là khách hàng(người mua) Khi người bán bán sản phẩm của shop mình nhưng muốn mua nhữngsản phẩm của shop khác thì sẽ tải và thao tác trên 2 ứng dụng khác nhau

⇨ Điều này gây tốn dung lượng bộ nhớ cũng như làm hạn chế sự tiện lợi củaứng dựn đối với nhóm đối tượng này

✔ Nhóm sẽ tích hợp chức năng mua và bán sản phẩm trong cùng 1 tài khoản sửdụng ứng dụng (ứng dụng đã làm được điều này là Shopee)

Các ứng dụng/website TMĐT hiện nay đa số gợi ý sản phẩm cho người dùng dựa

Trang 34

dùng Việc này có thể hiệu quả tốt trong thời gian đầu nhưng về lâu thì chưa tốt (các sản phẩm bán chạy nhất được gợi ý nên được mua nhiều hơn và tiếp tục dẫn đầu danh sách).

✔ Ứng dụng sẽ áp dụng gợi ý sản phẩm cho từng nhóm người dùng khác nhaudựa trên lịch sử mua hàng, đánh giá của họ đối với sản phẩm Điều này giúp

tỉ lệ mua hàng của người dùng cao hơn, cải thiện doanh thu của người bán vàngười mua cũng có thể mua được sản phẩm ưng ý

1.3 Đối tượng nghiên cứu:

Khoá luận này hướng đến nghiên cứu các đối tượng sau:

− Các công nghệ:

+ Android studio+ Java

+ MySQL+ SubimeText 3.0+ Firebase

+ Giao diện: Quy tắc thiết kế F-layout, quy tắc phối màu mono

− Thuật toán: Thuật toán gợi ý sản phẩm Content-based và CollaborativeFiltering

− Đối tượng trong phạm vị đề tài hướng đến:

+ Những doanh nghiệp, nhà bán hàng trong và ngoài nước

+ Người tiêu dùng trong nước và quốc tế

Trang 35

− Phương thức

− Ưu, nhược điểm

Triển khai, đánh giá độ chính xác của từng phương pháp dựa trên dữ liệu thửnghiệm Áp dụng hệ thống gợi ý sản phẩm vào ứng dụng MyStore để gợi ý sảnphẩm cho người dùng

1.5 Phương pháp nghiên cứu

Cách tiếp cận: ứng dụng được xây dựng dựa theo mô hình MVP trên nền tảngAndroid

Nhóm đã sử dụng các phương pháp nghiên cứu:

− Phương pháp đọc tài liệu

− Phương pháp phân tích các ứng dụng TMĐT hiện có

− Phương pháp thực nghiệm

Trang 36

2.1.2.2 Tầng logic dữ liệu – Model

Model chứa dữ liệu được hiển thị lên giao diện (các object)

2.1.2.3 Tầng giao diện – View

View hiển thị thông tin Presenter chỉ thông báo cho View biết cần hiển thị những

gì, việc còn lại sẽ do View chịu trách nhiệm

Trang 37

2.1.3 Tại sao dùng mô hình MVP

Trong lập trình Android Để bắt đầu một dự án Android nào, thì việc đầu tiên là phải chọn được một kiến trúc Nếu không chọn đúng chúng ta có thể phải đối mặt với các vấn đề sau trong quá trình phát triển ứng dụng của mình:

− Phức tạp để code cho Unit Testing Trong khi Unit Testing khuyến khíchDevelopers thay đổi mã nguồn

− Khó theo dõi logic trong dự án

− Khó để truy trì (maintain) và thêm các tính năng (feature) mới cho quá trình

sử dụng và phát triển phần mềm

Vậy một ứng dụng Android chất lượng cao thì đầu tiên nó phải có một kiến trúc lý tưởng, kiến trúc đó có thể thể hiện như sau:

− Simplicity: Sự đơn giản! Kiến trúc phải tách ứng dụng Android thành các

module nhỏ, và phải xác định một vai trò duy nhất và rõ ràng cho mỗimodule đó

− Focus on Business Logic: Một kiến trúc lý tưởng phải phân tách mã để cho

các Developers có thể tập trung vào business logic thay vì cải tiến các đoạncode khác

− Low-cost Maintenance: Chi phí bảo trì thấp! Một kiến trúc lý tưởng thì

không mất nhiều thời gian để thay đổi logic Nó cũng dễ dàng thêm (add) cáctính năng mới hay gỡ bỏ (remove) những tính năng không còn phù hợp nữa

Với MVP nó đã tách ứng dụng Android thành 3 tầng là model-view-presenter Và trong mỗi tầng đều được chia thành module nhỏ và mỗi module lại có một vai trò riêng biệt Vậy nó đã thỏa mãn Simplicity

Tầng presenter là nơi tập trung xử lý logic, là cầu nối giữa model và view Đây là nơi mà các Developers có thể focus để theo theo dõi logic của ứng dụng và thay đổi chúng Thỏa mãn Focus on Business Logic

Trang 38

Cũng vì tách thành 3 tầng nên MVP là cho ứng dụng Android dễ dàng Testing Dễ dàng gỡ bỏ những tính năng không còn phù hợp và thêm các tính năng mới.

⇨ Maintain ứng dụng dễ dàng, chi phí thấp

Vậy MVP đúng là một pattern lý tưởng để xây ứng dụng Android

2.1.4 So sánh MVP và MVC

MVC (model-view-controller) có thể xem là một pattern được tiếp cận đầu tiên Nó

ra đời từ những năm 1970 và rất được thịnh hành trong lập trình Web MVC cũng được áp dụng nhiều trong Android Đó là trước đây, nhưng hiện tại thì không phù hợp nữa Để hiểu vì sao thì ta có thể đem so sánh sự khác nhau với MVP

Hình 2-2: So sánh MVP và MVC

MVC:

− View có thể gọi đến Model

− Unit Testing không tốt bằng MVP

− Tất cả các View cùng dùng chung một Controller

Trang 39

− Thường thì một View sẽ tương ứng với một Presenter Những View phức tạp

có thể có nhiều presenter cùng đảm nhiệm

cơ sở dữ liệu khác) ở phía back-end và trình duyệt của phía front-end

PHP hỗ trợ rất nhiều cơ sở dữ liệu như: MySQL, Informix, Oracle, Sybase, Solid,PostgreSQL, Generic ODBC…

2.2.2 Tạo sao chọn PHP để phát triển server

− Mã nguồn mở:

+ PHP là một ngôn ngữ mã nguồn mở (Open-source) nên dễ dàng càiđặt, tùy biến và phát triển Vì thế, nó có thể cài đặt trên hầu hết cácserver như Apache, IIS

− Tính cộng đồng:

+ Vì là ngôn ngữ mã nguồn mở nên PHP có một cồng đồng khá lớn

và chất lượng Từ đó, việc cập nhật các bản vá lỗi và phát triển củaPHP khá linh hoạt

+ Cộng đồng hỗ trợ và chia sẻ kinh nghiệp của PHP cũng rất dồi dào.+ Tính đến 31/07/0219, có đến 79% các trang web được viết bằngPHP [2]

− Thư viện phong phú:

Trang 40

+ Thư viện của PHP rất đa dạng và phong phú, từ phần nhỏ nhất nhưPHP.net cho đến các framework như Zend, Symfony, Cogelgniter,CakePHP… và cả ứng dụng hoàn chỉnh như WordPress, PhpBB…

− Hỗ trợ kết nối nhiều hệ cơ sỡ dữ liệu:

+ Một điều không thể bàn cãi là PHP hỗ trợ khá nhiều hệ cơ sở dữliệu Với việc tích hợp sẵn nhiều database client, đã làm cho PHP

dễ dàng kết nối với các hệ cơ sỡ dữ liệu dễ dàng

+ Các hệ cơ sở dữ liệu thông dụng mà PHP hỗ trợ như MySQL, MSSQL, ORACLE,…

+ Hệ thống quản lý nội dung: WordPress, Drupal

+ Phát triển plugin WordPress

Ngày đăng: 05/09/2021, 20:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w