Tải bản đầy đủ (.pdf) (126 trang)

Xây dựng ứng dụng kinh doanh thiết bị điện tử hỗ trợ khuyến nghị sản phẩm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.78 MB, 126 trang )

ĐẠ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 LÊ VIỆT HỒNG

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

XÂY DỰNG ỨNG DỤNG KINH DOANH THIẾT BỊ ĐIỆN
TỬ HỖ TRỢ KHUYẾN NGHỊ SẢN PHẨM
Business application for electronic devices with recommendation

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

TP. HỒ CHÍ MINH, 2021


ĐẠ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 LÊ VIỆT HỒNG - 17520513

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

XÂY DỰNG ỨNG DỤNG KINH DOANH THIẾT BỊ ĐIỆN
TỬ HỖ TRỢ KHUYẾN NGHỊ SẢN PHẨM
Business application for electronic devices with recommendation


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

GIẢNG VIÊN HƯỚNG DẪN
THS. MAI TRỌNG KHANG

TP. HỒ CHÍ MINH, 2021


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

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.


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ọc Công nghệ Thông tin - ĐHQG TP.HCM em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể hồn thành Khóa luận tốt nghiệp của mình.
Để hồn thành khóa luận này, 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ều kiệ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.
Em xin gửi lời cảm ơn chân thành đến Ths. Mai Trọng Khang đã tận tình giúp
đỡ, định hướng cách tư duy và cách làm việc khoa học, tạo điều kiện cho em hồn
thành khóa luận. Đó là những góp ý hết sức q báu khơng chỉ trong q trình thực
hiện luận văn này mà còn là hành trang tiếp bước cho em trong quá trình học tập và
lập nghiệp sau này.
Và cuối cù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 KTPM2017 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.
Trong quá trình làm khóa luận này, em khơng tránh khỏi được những sai sót,
kính mong nhận được sự chỉ dẫn và góp ý của q thầy cơ để khóa luận được hồn
thiện hơn.
Em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng
hành cùng mọi người, vượt qua giai đoạn khó khăn vì dịch bệnh hiện nay.

Thành phố Hồ Chí Minh, 24 tháng 12 năm 2021
Sinh viên
NGUYỄN LÊ VIỆT HOÀNG


MỤC LỤC

TÓM TẮT KHÓA LUẬN .............................................................................. 14
Chương 1.


GIỚI THIỆU CHUNG ................................................................ 1

1.1.

Lý do chọn đề tài .........................................................................................1

1.2.

Mục tiêu của đề tài ......................................................................................2

1.3.

Đối tượng nguyên cứu .................................................................................2

1.4.

Phạm vi nghiên cứu .....................................................................................2

Chương 2.

PHÂN TÍCH TỔNG QUAN ...................................................... 4

2.1.

Tính mới của đề tài......................................................................................4

2.2.

Điểm khác biệt của đề tài ............................................................................4


Chương 3.
3.1.

KIẾN THỨC NỀN TẢNG ......................................................... 6

Flutter ..........................................................................................................6

3.1.1.

Giới thiệu về Flutter ............................................................................6

3.1.2.

Tại sao sử dụng Flutter? ......................................................................6

3.2.

Java Spring Boot .........................................................................................7

3.2.1.

Giới thiệu về Java Spring Boot ...........................................................7

3.2.2.

Tại sao sử dụng Java Spring Boot .......................................................7

3.3.


Hệ quản trị cơ sở dữ liệu MySQL ...............................................................8

3.3.1.

Giới thiệu MySQL ..............................................................................8

3.3.2.

Tại sao sử dụng MySQL .....................................................................8

3.4.

Hệ thống gợi ý .............................................................................................9

3.4.1.

Giới thiệu.............................................................................................9

3.4.2.

Các phương pháp trong hệ thống gợi ý .............................................10


Chương 4.
4.1.

XÂY DỰNG HỆ THỐNG........................................................ 13

Xây dựng kiến trúc hệ thống .....................................................................13


4.1.1.

Kiến trúc hệ thống ứng dụng .............................................................13

4.1.2.

Xác định yêu cầu hệ thống ................................................................14

4.2.

Phân tích yêu cầu hệ thống .......................................................................16

4.2.1.

Phần ứng dụng Mobile (Flutter) ........................................................16

4.2.2.

Phần Website Admin (quản trị viên).................................................18

4.3.

Phân tích thiết kế hệ thống ........................................................................20

4.3.1.

Sơ đồ use case ...................................................................................20

4.3.2.


Đặc tả usecase ...................................................................................23

4.3.3.

Sơ đồ phân rã chức năng ...................................................................44

4.3.4.

Sơ đồ sequence ..................................................................................45

4.3.5.

Sơ đồ lớp ...........................................................................................52

4.3.1.

Phân tích và thiết kế CSDL ...............................................................54

4.4.

Thiết kế giao diện ......................................................................................63

4.4.1.

Trang chủ ..........................................................................................63

4.4.2.

Đăng nhập, đăng ký ..........................................................................65


4.4.3.

Danh mục ..........................................................................................67

4.4.4.

Sản phẩm yêu thích ...........................................................................68

4.4.5.

Hồ sơ .................................................................................................69

4.4.6.

Chi tiết sản phẩm ...............................................................................70

4.4.7.

Đánh giá sản phẩm ............................................................................74

4.4.8.

Giỏ hàng ............................................................................................75

4.4.9.

Đặt hàng ............................................................................................76


4.4.10.


Tìm kiếm sản phẩm ...........................................................................78

4.4.11.

Quản lý đơn hàng ..............................................................................80

4.4.12.

Quản lý địa chỉ ..................................................................................82

4.4.13.

Quản lý hồ sơ ....................................................................................84

Chương 5.

ÁP DỤNG GỢI Ý SẢN PHẨM ............................................... 85

5.1.

Thực nghiệm .............................................................................................85

5.1.1.

Một số định nghĩa .............................................................................85

5.1.2.

Phương pháp .....................................................................................92


5.1.3.

Đánh giá ..........................................................................................100

5.2.

Áp dụng các thuật toán Recommedation vào ứng dụng .........................103

5.2.1.

Gợi ý cho bạn ..................................................................................103

5.2.2.

Có thể bạn cũng thích......................................................................104

5.2.3.

Sản phẩm tương tự ..........................................................................105

5.2.4.

Tìm kiếm phổ biến ..........................................................................106

Chương 6.
6.1.

KẾT LUẬN............................................................................. 107


Kết quả đạt được .....................................................................................107

6.1.1.

Lý thuyết .........................................................................................107

6.1.2.

Công nghệ .......................................................................................107

6.1.3.

Ứng dụng .........................................................................................107

6.2.

Hạn chế....................................................................................................108

Chương 7.

Hướng phát triển ..................................................................... 110


DANH MỤC HÌNH VẼ
Hình 3-1 Sự phát triển và độ phổ biến của MySQL ...................................................8
Hình 4-1 Sơ đồ kiến trúc hệ thống ............................................................................13
Hình 4-2 Các bước xây dựng quy trình bán hàng online ..........................................14
Hình 4-3 Quy trình xử lý hàng hóa ...........................................................................14
Hình 4-4 Sơ đồ use case tổng qt ............................................................................20
Hình 4-5 Use case quản lý sản phẩm ........................................................................23

Hình 4-6 Use case Quản lý người dùng ....................................................................24
Hình 4-7 Use case Quản lý khuyến mãi ....................................................................25
Hình 4-8 Use case Quản lý quảng cáo ......................................................................26
Hình 4-9 Use case quản lý danh mục ........................................................................27
Hình 4-10 Use case quản lý kho hàng.......................................................................29
Hình 4-11 Use case quản lý tình trạng đơn hàng ......................................................30
Hình 4-12 Use case Đăng nhập, Đăng ký .................................................................31
Hình 4-13 Use case xem sản phẩm ...........................................................................32
Hình 4-14 Use case xem chi tiết sản phẩm ...............................................................34
Hình 4-15 Use case tìm kiếm sản phẩm ....................................................................35
Hình 4-16 Use case Quản lý giỏ hàng.......................................................................36
Hình 4-17 Use case đặt hàng .....................................................................................37
Hình 4-18 Use case quản lý địa chỉ...........................................................................38
Hình 4-19 Use case quản lý sản phẩm u thích ......................................................40
Hình 4-20 Use case đánh giá sản phẩm ....................................................................41
Hình 4-21 Use case Quản lý hồ sơ ............................................................................42
Hình 4-22 Use case Quản lý đơn đặt hàng ................................................................43
Hình 4-23 Sơ đồ phân rã chức năng ..........................................................................44
Hình 4-24 Sơ đồ sequence đăng nhập .......................................................................45
Hình 4-25 Sơ đồ sequence đăng ký ...........................................................................46
Hình 4-26 Sơ đồ sequence đặt hàng ..........................................................................47


Hình 4-27 Sơ đồ sequence tìm kiếm sản phẩm .........................................................48
Hình 4-28 Sơ đồ sequence quản lý địa chỉ giao hàng ...............................................49
Hình 4-29 Sơ đồ sequence sản phẩm u thích ........................................................49
Hình 4-30 Sơ đồ sequence xem sản phẩm tương tự..................................................50
Hình 4-31 Sơ đồ sequence đơn hàng của tơi .............................................................51
Hình 4-32 Sơ đồ lớp ..................................................................................................52
Hình 4-33 Màn hình tran chủ ....................................................................................63

Hình 4-34 Màn hình trang chủ ..................................................................................64
Hình 4-35 Màn hình đăng nhập ................................................................................65
Hình 4-36 Hình 4-36. Màn hình đăng ký ..................................................................66
Hình 4-37 Màn hình danh mục .................................................................................67
Hình 4-38 Màn hình sản phẩm u thích ..................................................................68
Hình 4-39 Màn hình Hồ sơ .......................................................................................69
Hình 4-40 Màn hình chi tiết sản phẩm ......................................................................70
Hình 4-41 Màn hình thơng số kỹ thuật .....................................................................71
Hình 4-42 Màn hình chi tiết sản phẩm ......................................................................72
Hình 4-43 Màn hình chi tiết sản phẩm ......................................................................73
Hình 4-44 Màn hình đánh giá ...................................................................................74
Hình 4-45 Màn hình giỏ hàng ...................................................................................75
Hình 4-46 Màn hình đặt hàng ...................................................................................76
Hình 4-47 Màn hình đặt hàng ...................................................................................77
Hình 4-48 Màn hình tìm kiếm sản phẩm ..................................................................78
Hình 4-49 Màn hình tìm kiếm sản phẩm ..................................................................79
Hình 4-50 Màn hình Quản lý đơn hàng ....................................................................80
Hình 4-51Màn hình chi tiết đơn hàng .......................................................................81
Hình 4-52 Màn hình quản lý địa chỉ .........................................................................82
Hình 4-53 Màn hình chỉnh sửa địa chỉ ......................................................................83
Hình 4-54 Màn hình Quản lý hồ sơ ..........................................................................84
Hình 5-1 Utility matrix..............................................................................................85
Hình 5-2 Consine similarity ......................................................................................87


Hình 5-3 Cơng thức tính cosin similarity giữa u1 và u2 ...........................................87
Hình 5-4 Sự tương đồng của 2 vector .......................................................................88
Hình 5-5. Cơng thức tính TF .....................................................................................89
Hình 5-6. Cơng thức tính IDF ...................................................................................90
Hình 5-7. Cơng thức weighted rating ........................................................................91

Hình 5-8. Cơng thức tính RMSE...............................................................................91
Hình 5-9. Kết quả load dữ liệu Content-based ..........................................................93
Hình 5-10. Ví dụ feature vector của các item ...........................................................93
Hình 5-11. Kết quả dự đốn content-based ...............................................................94
Hình 5-12. RMSE của content-based ........................................................................94
Hình 5-13. Bảng số sao user U rate cho item I .........................................................95
Hình 5-14. Các bước thực hiện Neighborhood-based CF .........................................96
Hình 5-15. Cơng thức tính hệ sống tương quan Pearson giữa x và y .......................99
Hình 5-16 Hiển thị kết quả “Gợi ý cho bạn” trong ứng dụng .................................103
Hình 5-17 Hiển thị kết quả “Có thể bạn cũng thích” trong ứng dụng ....................104
Hình 5-18 Hiển thị kết quả sản phẩm tương tự trên ứng dụng ...............................105
Hình 5-19 Hiển thị kết quả tìm kiếm phổ biến trên ứng dụng ................................106


DANH MỤC BẢNG
Bảng 4-1 Danh sách actor .........................................................................................21
Bảng 4-2 Danh sách usecase .....................................................................................22
Bảng 4-3 Đặc tả use case quản lý sản phẩm .............................................................24
Bảng 4-4 Đặc tả use case Quản lý người dùng .........................................................25
Bảng 4-5 Đặc tả use case quản lý khuyến mãi ..........................................................26
Bảng 4-6 Đặc tả use case quản lý quảng cáo ............................................................27
Bảng 4-7 Đặc tả use case quản lý danh mục .............................................................28
Bảng 4-8 Đặc tả use case Quản lý kho hàng .............................................................29
Bảng 4-9 Đặc tả use case quản lý đơn hàng..............................................................31
Bảng 4-10 Đặc tả use case đăng nhập, đăng ký ........................................................32
Bảng 4-11 Đặc tả use case xem sản phẩm ................................................................33
Bảng 4-12 Đặc tả use case Xem chi tiết sản phẩm ...................................................35
Bảng 4-13 Đặc tả use case tìm kiếm sản phẩm .........................................................36
Bảng 4-14 Đặc tả use case Quản lý giỏ hàng ............................................................37
Bảng 4-15 Đặc tả use case đặt hàng ..........................................................................38

Bảng 4-16 Đặc tả use case quản lý địa chỉ ................................................................39
Bảng 4-17 Đặc tả use case quản lý sản phẩm yêu thích ...........................................40
Bảng 4-18 Đặc tả use case đánh giá sản phẩm .........................................................41
Bảng 4-19 Đặc tả use case Quản lý hồ sơ .................................................................42
Bảng 4-20 Đặc tả use case quản lý cửa hàng ............................................................43
Bảng 4-21 Sơ đồ lớp .................................................................................................53
Bảng 4-22 Bảng Addresses .......................................................................................54
Bảng 4-23 Bảng Accounts ........................................................................................54
Bảng 4-24 Bảng Attributes........................................................................................54
Bảng 4-25 Bảng Brands ............................................................................................55
Bảng 4-26 Bảng Cart Items .......................................................................................55
Bảng 4-27. Bảng Carts ..............................................................................................55
Bảng 4-28 Bảng Categories ......................................................................................56


Bảng 4-29 Bảng Data Images ...................................................................................56
Bảng 4-30 Bảng Demands ........................................................................................56
Bảng 4-31 Bảng Districts ..........................................................................................56
Bảng 4-32 Bảng Favorites .........................................................................................57
Bảng 4-33 Bảng Search Histories .............................................................................57
Bảng 4-34 Bảng Order Items ....................................................................................57
Bảng 4-35 Bảng Orders .............................................................................................58
Bảng 4-36 Bảng Payments ........................................................................................58
Bảng 4-37 Bảng Products..........................................................................................59
Bảng 4-38 Bảng Provinces ........................................................................................59
Bảng 4-39 Bảng Rating Star .....................................................................................59
Bảng 4-40 Bảng Rating Images ................................................................................60
Bảng 4-41 Bảng Tatings............................................................................................60
Bảng 4-42 Bảng Seen Products .................................................................................60
Bảng 4-43 Bảng Shippings........................................................................................61

Bảng 4-44 Bảng Order Status ...................................................................................61
Bảng 4-45 Bảng Users ..............................................................................................61
Bảng 4-46 Bảng Wards .............................................................................................62
Bảng 5-1 Neighborhood-based cho kết quả tốt nhất (RMSE nhỏ nhất). ................101


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

viết

Từ đầy đủ

Giải thích

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.

API


Application Programming

Giao diện lập trình ứng

Interface
SDK

Software Development Kit

dụng.
Bộ công cụ và phần mềm
dùng để phát triển ứng dụng

UI

User Interface

Giao diện người dùng

UX

User Experience

Trải nghiệm người dùng

XML

Extensible Markup Language

Ngôn ngữ đánh dấu mở rộng.


RS

Recommendation System

Hệ thống gợi ý sản phẩm dựa
theo thông tin người dùng.

VIEHO

Viet Hoang

Tên của ứng dụng thực hiện.


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

Khóa luận “XÂY DỰNG ỨNG DỤNG KINH DOANH THIẾT BỊ ĐIỆN TỬ HỖ
TRỢ KHUYẾN NGHỊ SẢN PHẨM” gồm 07 chương:
Chương 1: Giới thiệu về đề tài, đối tượng nghiên cứu, phạm vi đề tài, phương pháp
nghiên cứu.
Chương 2: Phân tích đánh giá các hướng nghiên cứu đã có, nêu những vấn đề cịn
tồn tại, chỉ ra những vấn đề mà đề tài cần tập trung, nghiên cứu giải quyết
Chương 3: Trình bày các kiến thức nền tảng, các cơng nghệ và thuật tốn gợi ý sản
phẩm được sử dụng để xây dựng ứng dụng.
Chương 4: 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
u cầu bài tốn cho đến xây dựng CSDL, cuối cùng là xây dựng giao diện cho ứng
dụng.
Chương 5: Trình bày thuật tố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.

Chương 6: Kết luận, rút ra được các ưu nhược điểm của ứng dụng.
Chương 7: Hướng phát triển trong tương lai.


Chương 1. GIỚI THIỆU CHUNG
1.1. Lý do chọn đề tài
Ngày nay, cùng với sự phát triển của khoa học công nghệ, các thiết bị điện
tử ngày càng trở nên phổ biến và đóng vai trị quan trọng trong cuộc sống con
người. Sự phát triển ấy đã gắn con người với máy tính xách tay, điện thoại di
động, máy nghe nhạc, tai nghe ngày càng nhiều hơn. Những loại thiết bị điện tử
này được sản xuất và tiêu thụ với tốc độ chóng mặt. Nếu như trước đây việc sở
hữu một chiếc điện thoại thơng minh hay máy tính khá khó khăn thì ngày nay
do sự cạnh tranh gay gắt giữa các thương hiệu khiến giá thành những thiết bị
này rẻ hơn và việc sở hữu chúng trở nên dễ dàng hơn. Vì thế nhu cầu phát triển
ứng dụng phục vụ việc kinh doanh các thiết bị này càng ngày càng tăng cao.
Trong thời điểm đại dịch toàn cầu đang diễn ra phức tạp, việc triển khai các
hệ thống bán hàng trực tuyến ngày càng được đẩy mạnh. Việc làm này vừa để
hạn chế tập trung đông người nơi công cộng vừa đem lại những hiệu quả khác
như giảm thời gian và cơng sức của khách hàng, tiết kiệm chi phí trang trải mặt
bằng và vận hành.
Để tiếp cận đến nhiều người dùng, các nhà phát triển ứng dụng mong muốn
ứng dụng của họ chạy được trên nhiều nền tảng đặc biệt là Android, iOS,
Windows, MacOS và web. Thay vì phải tìm hiểu nhiều ngơn ngữ, cơng nghệ
khác nhau ứng với từng nền tảng thì hiện nay trên thị trường có nhiều cơng cụ
hỗ trợ lập trình đa nền tảng như Flutter, React Native, Ionic, … giúp các nhà
phát triển ứng dụng tiết kiệm thời gian, chi phí dành cho quá trình phát triển
ứng dụng.
Trong số đó có Flutter mặc dù là cơng cụ ra đời muộn nhưng có tốc độ phát
triển vượt trội và nhiều ưu điểm so với các công nghệ đi trước, nhiều công ty
công nghệ lớn sử dụng Flutter để phát triển sản phẩm của mình như Google,

Alibaba, Tencent… Ứng dụng xây dựng với Flutter hoạt động với hiệu năng

1


mạnh mẽ với giao diện chất lượng cao, ngoài ra đây cịn là cơng cụ mã nguồn
mở miễn phí nên ngày càng nhiều lập trình viên và cơng ty quan tâm đến cơng
nghệ mới này.
Từ đó, em quyết định tìm hiểu về Flutter và sử dụng framework này để xây
dựng ứng dụng kinh doanh thiết bị điện tử cùng với hệ thống gợi ý đáp ứng
được những yêu cầu người dùng hiện nay.
1.2. Mục tiêu của đề tài
-

Nghiên cứu về các cơng nghệ lập trình Java, MySQL, Flutter

-

Tìm hiểu các nghiệp vụ của một ứng dụng bán hàng online trong thực tế

-

Xây dựng thành công hệ thống gợi ý sản phẩm tích hợp vào ứng dụng

-

Hệ thống có khả năng ứng dụng vào thực tiễn

-


Áp dụng và triển khai các kiến thức đã nghiên cứu và học hỏi vào hiện thực
hóa ứng dụng

1.3. Đối tượng ngun cứu
-

Các cơng nghệ:
• Flutter
• Java Spring Boot
• MySQL

-

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

-

Những khách hàng có nhu cầu mua sắm thiết bị điện tử trực tuyến trên nền
tảng ứng dụng di động

1.4. Phạm vi nghiên cứu
-

Xây dụng ứng dụng đa nền tảng bằng Flutter, service được xây dựng bằng
ngôn ngữ Java

2


-


Xây dựng ứng dụng hướng đến người dùng có nhu cầu mua sắm các thiết bị
điện tử trực tuyến

-

Tìm hiểu về hệ thống gợi ý sản phẩm đối với 2 phương pháp: Content-based
method, Collaborative filtering method dựa trên các khía cạnh:
• Ý tưởng 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

3


Chương 2. PHÂN TÍCH TỔNG QUAN
2.1. Tính mới của đề tài
Các trang mua bán thiết bị điện tử hiện nay đa số đều có ý tưởng và
phương thức hoạt động tương tự nhau ở hầu hết các khâu như: hàng hóa, vận
chuyện, thanh tốn… 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ừ sự cạnh tranh về giá cả.
Sau quá trình khảo sát, lắng nghe ý kiến người dùng, giải pháp mà em đề ra
để đáp ứng nhu cầu người dùng bằng cách hiển thị các sản phẩm gợi ý cho
khách hàng, tạo sự ấn tượng và giúp việc mua bán trở nên thuận lợi hơi cho cả
người mua và người bán. Ngoài ra, nhận thấy người dùng thường xuyên xem
đánh giá của sản phẩm khi quyết định mua hàng, vì vậy em quyết định xây

dựng hệ thống đánh giá có comment để người dùng có thể chia sẻ về hình ảnh
hoặc trải nghiệm của người dùng trước, từ đó tăng độ uy tín của cửa hàng.
Bên cạnh đó, trong ứng dụng sẽ có các bài viết, cơng nghệ mới và những
hình ảnh liên quan về sản phẩm, điều đó sẽ giúp người dùng có thêm nhiều
thơng tin bổ ích, trở thành người tiêu dùng thơng minh và gắn bó với ứng dụng
của mình hơn.
2.2. Điểm khác biệt của đề tài
Thực tế, trên thị trường hiện nay chưa có ứng dụng chuyên biệt hỗ trợ mua
bán các thiết bị điện tử. Điều này khiến người dùng phải thao tác tìm kiếm trên
màn hình, giảm tính tiện dụng đối với người mua hàng. Ngồi ra, được
recommend q nhiều sản phẩm khơng mong muốn so với nhu cầu đang cần
mua các thiết bị điện tử sẽ gây trải nghiệm không tốt cho người dùng.
Shopee, Tiki, Lazada: lượng sản phẩm bán trên ứng dụng quá nhiều và đa
dạng, gây ra hiện tượng giao diện trở nên rối với quá nhiều tính năng, sản phẩm,
notification và banner quảng cáo của các mặt hàng khác nhau được đẩy lên liên

4


tục gây phiền nhiễu cho khách hàng nếu khách hàng chỉ mong muốn mua một
loại hàng cụ thể, ở đây là thiết bị điện tử
➢ Ứng dụng cho phép người dùng được thực hiện trải nghiệm mua sắm
đúng với nhu cầu
Khách hàng tiềm năng thường có xu hướng đọc các đánh giá về sản phẩm
và đặc biệt rất muốn hỏi đáp hay cần tham khảo các thông tin về chất lượng của
sản phẩm trước khi chi tiền ra mua hàng. Tuy nhiên các ứng dụng hiện nay lại
chưa chú trọng vào việc tương tác giữa các khách hàng cũ và khách hàng tiềm
năng.
➢ Ứng dụng sẽ áp dụng chức năng đánh giá sản phẩm, từ đó giúp những
người dùng tiềm năng có cơ sở để quyết định mua sản phẩm. Từ những lượt

tương tác, ứng dụng sẽ chọn ra các top đánh giá để người dùng dễ dàng tìm
thấy những đánh giá phù hợp.
Các ứng dụng hiện nay đa số gợi ý cho tất cả người dùng các sản phẩm bán
chạy nhất, sản phẩm mới nhất. Việc này có thể hiệu quả 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 sẽ được gợi ý và mua nhiều
hơn, các sản phẩm chất lượng khác sẽ không được khách hàng biết đến.
➢ Ứng dụng sẽ áp dụng gợi ý sản phẩm cho từng nhóm người dùng khác
nhau dựa trên lịch sử mua hàng, đánh giá 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 cho người bán và người mua
cũng có thể mua được sản phẩm ưng ý.

5


Chương 3. KIẾN THỨC NỀN TẢNG
3.1. Flutter
3.1.1.
-

Giới thiệu về Flutter

Flutter là một framework được cung cấp bởi Google cho phép các nhà
phát triển xây dựng các ứng dụng đa nền tảng có thể chạy được trong
nhiều nền tảng khác nhau như Web, android, ios và tương lai cịn có cả
desktop như Window, MacOS và Linux.
3.1.2.

-

Tại sao sử dụng Flutter?


Phát triển ứng dụng nhanh chóng: Tính năng hot reload của nó giúp phát
triển ứng dụng một cách nhanh chóng, nâng cao năng suất của lập trình
viên, giúp tiết kiệm thời gian phát triển sản phẩm, kiểm thử và tìm lỗi
nhanh hơn đáng kể. Trải nghiệm tải lại lần thứ hai, mà không làm mất
trạng thái, trên emulator, simulator và device cho iOS và Android.

-

UI đẹp và biểu cảm: Thỏa mãn người dùng của bạn với các widget builtin đẹp mắt theo Material Design và Cupertino được tích hợp sẵn của
Flutter, các API chuyển động phong phú, scroll tự nhiên mượt mà.

-

Truy cập các tính năng và SDK native: Nhờ vào khả năng giao tiếp gần
như trực tiếp với native, nhà phát triển có thể gọi các hàm từ native giúp
dễ dàng custom như ý muốn và thực hiện những chắc năng thiên về
native.

-

Hiện nay, Flutter đang rất được ưa chuộng với các developer bởi sự linh
hoạt, đơn giản và nhanh chóng trong việc phát triển sản phẩm.

6


3.2. Java Spring Boot
Giới thiệu về Java Spring Boot


3.2.1.
-

Spring Boot là một Framework phát triển các ứng dụng Java được sử
dụng bởi hàng triệu lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng
cao, dễ kiểm thử, sử dụng lại code, …

-

Spring Boot có nhiều khả năng hữu ích vì nó có thể giúp lập trình viên
giải quyết rất nhiều vấn đề. So với Framework Spring thông thường,
Spring Boot tỏ ra những lợi thế vượt trội. Khi sử dụng Spring Boot, rất
nhiều thứ được cải tiến hỗ trợ lập trình viên như:
+ Auto config: tự động cấu hình thay lập trình viên, chỉ cần viết code
và tiến hành chạy hệ thống là được.
+ Dựa trên các Annotation để tạo lập các bean thay vì XML.
+ Server Tomcat có thể được nhúng ngay trong file JAR build ra và
có thể chạy ở bất kì đâu mà Java chạy được.
3.2.2.

-

Tại sao sử dụng Java Spring Boot

Giảm thiểu được các thao tác cấu hình, có khả năng tự động cấu hình lại
Spring khi cần, từ đó giúp các thành viên có thể tiết kiệm thời gian viết
code và tăng thêm năng suất.

-


Vẫn giữ đầy đủ các tính năng của Spring Framework cùng với những cải
tiến hơn.

-

Spring Boot không yêu cầu cấu hình XML và khơng sinh code cấu hình.

-

Khơng cần phải triển khai file WAR mà thực hiện nhúng trực tiếp các
ứng dụng server.

-

Giúp cung cấp nhiều plugin.

7


3.3. Hệ quản trị cơ sở dữ liệu MySQL

Hình 3-1 Sự phát triển và độ phổ biến của MySQL
3.3.1.
-

Giới thiệu MySQL

MySQL là một hệ quản trị cơ sở dữ liệu nhanh và tiện gọn, dễ dàng sử
dụng để tương tác với các công nghệ tiên tiến ngày nay như C#, Java, …
Nó được phát triển với cơng ty MySQL AB ở Thụy Điển năm 2004 và

sau nhiều lần thay đổi chủ sở hữu, cuối cùng đã được mua lại bởi Oracle
Corporation vào năm 2010.
3.3.2.

-

Tại sao sử dụng MySQL

Nó khá phổ biến với giới lập trình viên bởi:
+ MySQL là mã nguồn mở, hồn tồn miễn phí khi sử dụng.
+ MySQL sử dụng form chuẩn thuộc hệ SQL.
+ MySQL dễ dàng xử lý ngay cả trên các tập dữ liệu lớn.

-

MySQL hỗ trợ giao dịch nhanh. Giao dịch ACID (Atomic-ConsistentIsolated-Durable) hoàn thiện.

8


3.4. Hệ thống gợi ý
3.4.1.

Giới thiệu

Hệ thống gợi ý (Recommendation system) là một dạng của hệ hỗ trợ ra
quyết định, cung cấp giải pháp mang tính cá nhân hóa mà khơng phải trải qua
q trình tìm kiếm phức tạp. Hệ thống gợi ý học từ người dùng và gợi ý các
sản phẩm tốt nhất trong số các sản phẩm phù hợp.
Hệ thống gợi ý đang được ứng dụng trong rất nhiều lĩnh vực khác nhau

như TMĐT (hỗ trợ bán hàng trực tuyến), giải trí (gợi ý phim ảnh, bài hát...),
giáo dục đào tạo (gợi ý nguồn tài nguyên học tập, nghiên cứu...). Chính vì
khả năng ứng dụng rộng rãi của nó, Hệ thống gợi ý mở ra nhiều tiềm năng
trong nghiên cứu cũng như trong xây dựng các hệ thống thực tế, đặc biệt là
các hệ thống hỗ trợ người dùng ra quyết định.
Có hai thực thể chính trong RS là users và items. Users là người dùng,
items là sản phẩm, ví dụ như các bộ phim, bài hát, cuốn sách, clip, hoặc cũng
có thể là các users khác trong bài tốn gợi ý kết bạn. Mục đích chính của các
RS là tìm cách dự đốn mức độ quan tâm của một user tới một item nào đó,
qua đó có chiến lược recommend phù hợp.
Kết quả của hệ thống là dự đoán “đánh giá” của người dùng cho một sản
phẩm nhất định hoặc danh sách những sản phẩm mà người dùng có thể thích.
Recommendation System thường được chia làm hai nhóm lớn:
+ Collaborative filtering: hệ thống gợi ý items dựa trên sự tương
quan (similarity) giữa các users và items. Có thể hiểu rằng ở nhóm
này, một item được recommend tới một user dựa trên những users
có hành vi tương tự.
+ Content-based filtering: đánh giá đặc tính của items được
recommend.
Mục tiêu của hệ thống gợi ý:

9


+ Gia tăng doanh số bán hàng: Đây có lẽ là lý do quan trọng nhất
cho những trang TMĐT, đơn giản là họ sẽ bán thêm được hàng so
với những trang mà không sử dụng RS. RS đề xuất càng chính xác
với nhu cầu người dùng thì website càng bán được nhiều hàng.
+ Thoả mãn nhu cầu khách hàng: Một RS được thiết kế và cài đặt tốt
sẽ cải thiện trải nghiệm người dùng. Người dùng sẽ thấy rằng hệ tư

vấn này rất thú vị, chính xác và cùng với một UI được thiết kế hợp
lý, khách hàng sẽ muốn quay lại Website.
+ Nắm được nhu cầu khách hàng: Một chức năng quan trọng khác
của RS là cho phép ta thu thập được phản hồi của khách hàng. Nếu
khách hàng khơng thích những thứ đề xuất, vẫn có thể thu thập lại
được những thông tin này và tái sử dụng nó để cải thiện độ chính
xác của RS.
3.4.2.

Các phương pháp trong hệ thống gợi ý

3.4.2.1. Hệ thống gợi ý theo nội dung (Content-based approach)
Content-based recommendation đề xuất dựa trên mô tả về mặt hàng và
hồ sơ về các tùy chọn của người dùng.
Trong hệ thống gợi ý dựa trên nội dung, từ khóa được sử dụng để mơ
tả các mục và hồ sơ người dùng được xây dựng để chỉ ra loại mục mà
người dùng này thích. Nói cách khác, các thuật toán này cố gắng đề xuất
các mục tương tự với các mục mà người dùng đã thích trong quá khứ
(hoặc đang kiểm tra trong hiện tại). Cách tiếp cận này có nguồn gốc từ
việc thu thập thơng tin và nghiên cứu lọc thông tin.
Các hệ thống đề xuất dựa trên nội dung có thể được sử dụng trong
nhiều lĩnh vực khác nhau, từ các trang web giới thiệu, tin tức, nhà hàng,
chương trình truyền hình và các mặt hàng để bán. Mặc dù chi tiết của các
hệ thống khác nhau, nhưng đều có chung một phương pháp để mơ tả các
mặt hàng có thể được đề xuất.

10


Để tóm tắt các tính năng của các mục trong hệ thống, một thuật tốn

trình bày mục được áp dụng. Một thuật toán được sử dụng rộng rãi
là biểu diễn TF – IDF (được gọi là biểu diễn không gian vectơ).
Để tạo hồ sơ người dùng, hệ thống chủ yếu tập trung vào hai loại
thơng tin:
+ Một mơ hình ưu tiên của người dùng.
+ Lịch sử tương tác của người dùng với hệ thống gợi ý.
3.4.2.2. Hệ thống gợi ý lọc cộng tác (Collaborative filtering)
Một cách tiếp cận phổ biến khác khi thiết kế RS là lọc cộng tác. Các
phương pháp lọc cộng tác xây dựng mơ hình từ việc thu thập và phân
tích một lượng lớn thơng tin về hành vi, hoạt động hoặc sở thích của
người dùng cũng như các quyết định tương tự của người dùng khác và
dự đốn những gì người dùng sẽ thích dựa trên sự tương đồng của họ
với người dùng khác. Một lợi thế quan trọng của phương pháp lọc cộng
tác là nó khơng dựa vào nội dung phân tích và do đó nó có khả năng đề
xuất chính xác các mục phức tạp như phim mà không yêu cầu “hiểu biết”
về mục đó. Nhiều thuật tốn đã được sử dụng để đo lường sự giống
nhau của người dùng hoặc sự tương đồng về mặt hàng trong các hệ
thống giới thiệu. Ví dụ, cách tiếp cận hàng xóm gần nhất (k-nearest
neighbor k-NN) và Pearson Correlation.
Lọc cộng tác dựa trên giả định rằng những người đã đồng ý trong
quá khứ sẽ đồng ý trong tương lai và dự đốn rằng họ sẽ thích các loại
mặt hàng tương tự như họ thích trong quá khứ.
Khi xây dựng mơ hình từ hành vi của người dùng, sự phân biệt
thường được thực hiện giữa các hình thức thu thập dữ liệu rõ ràng
và tiềm ẩn.

11



×