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 3DANH 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 8LỜ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 10hợ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 11Xâ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 12Giai đ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 1414/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 16quyề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 17Trần Anh Dũng
Nguyễn Thị Tâm Bùi Thanh Tùng
Trang 18MỤ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 192.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 203.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 224.2.2 Content-based Recommender System 122
4.2.3 Neighborhood-based Collaborative Filtering và Matrix Factorization
Trang 23Hì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 24Hì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 25Hì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 26Bảng 3-14: Bảng Danh mục loại bài viết 64
Trang 28DANH 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 29TÓ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 30Chươ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 32ngườ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 33Shopee, 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 34dù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 362.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 38Cũ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