ĐẠ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
ĐỖ NGỌC CƯỜNG
ĐẶNG NGỌC DUY
KHÓA LUẬN TỐT NGHIỆP
HỆ THỐNG KHUYẾN NGHỊ DÀNH CHO
THƯƠNG MẠI ĐIỆN TỬ
RECOMMENDATION SYSTEM FOR E-COMMERCE
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
TP. HỒ CHÍ MINH, 2022
ĐẠ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
ĐỖ NGỌC CƯỜNG – 18520542
ĐẶNG NGỌC DUY – 18520655
KHÓA LUẬN TỐT NGHIỆP
HỆ THỐNG KHUYẾN NGHỊ DÀNH CHO
THƯƠNG MẠI ĐIỆN TỬ
RECOMMENDATION SYSTEM FOR E-COMMERCE
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
TS. NGUYỄN TRỊNH ĐƠNG
TP. HỒ CHÍ MINH, 2022
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
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
Độc Lập - Tự Do - Hạnh Phúc
CƠNG NGHỆ THƠNG TIN
TP.HCM, ngày……tháng…...năm…….
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:
HỆ THỐNG KHUYẾN NGHỊ DÀNH CHO THƯƠNG MẠI ĐIỆN TỬ
Nhóm SV thực hiện:
Cán bộ hướng dẫn:
Đỗ Ngọc Cường
18520542
Đặng Ngọc Duy
18520655
TS. NGUYỄN TRỊNH ĐÔNG
Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang
______
Số chương
_______
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:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
3. Về chương trình ứng dụng:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
4. Về thái độ làm việc của sinh viên:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/
cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Đỗ Ngọc Cường: ………../10
Đặng Ngọc Duy: ………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN
TP.HCM, ngày……tháng…...năm…….
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:
HỆ THỐNG KHUYẾN NGHỊ DÀNH CHO THƯƠNG MẠI ĐIỆN TỬ
Nhóm SV thực hiện:
Cán bộ phản biện:
Đỗ Ngọc Cường
18520542
Đặng Ngọc Duy
18520655
..
Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang
________
Số chương
_________
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:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
3. Về chương trình ứng dụng:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
4. Về thái độ làm việc của sinh viên:
………………………………………………………………………………………
………………………………………………………………………………………
Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/
cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Đỗ Ngọc Cường: ………../10
Đặng Ngọc Duy: ………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)
LỜI CẢM ƠN
Sau khi trải qua một kỳ học tập cũng như suốt q trình gắn bó tại trường
Đại học Cơng Nghệ Thơng Tin, nhóm chúng em xin gửi lời cảm ơn đến tất cả các
thầy cơ trong trường vì đã quan tâm, giúp đỡ, hướng dẫn tận tình cho chúng em.
Đặc biệt là thầy Nguyễn Trịnh Đơng vì đã tận tình và trực tiếp giảng dạy
nhóm chúng em, những lời góp ý cũng như truyền đạt của thầy đã góp phần ảnh
hưởng rất lớn tới định hướng đồ án của nhóm em. Trong q trình thực hiện cũng
như q trình làm báo cáo, nhóm chúng em khó lịng tránh khỏi những sai sót,
chúng em mong thầy bỏ qua. Cảm ơn thầy vì đã ln động viên và sát cánh bên
chúng em từ những bước đi ban đầu cho tới những khó khăn gặp phải trong q
trình làm việc. Những lời động viên hay những kiến thức quý báu của thầy sẽ là nền
tảng, hậu phương vững chắc chắp cánh cho tụi em phát triển trên con đường sự
nghiệp sau này.
Chúng em xin chân thành cảm ơn!
MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1.1. Thơng tin nhóm
1.2. Tổng quan đề tài
1.2.1. Bài toán thực tế
1.2.2. Tổng quan đề tài
1.2.3. Phạm vi nghiên cứu
1.2.4. Nội dung nghiên cứu
1.2.5. Kết quả hướng tới
1.3. Công cụ sử dụng
1.4. Source tree
CHƯƠNG 2: CÔNG NGHỆ TRIỂN KHAI
2.1. Flutter và Dart
2.1.1. Giới thiệu
2.1.2. Ưu nhược điểm của Flutter và Dart
2.1.3. Kiến trúc Flutter
2.1.4. Một số khái niệm cơ bản của Flutter
2.1.5. Clean Architecture
2.1.5.1. Ưu điểm
2.1.5.2. Nhược điểm
2.2. Hệ thống .NET
2.2.1. Khái niệm
2.2.2. Ưu nhược điểm của .NET
2.2.3. Kiến trúc MVC của .NET
2.3. SQL Server
2.3.1. Khái niệm
2.3.2. Ưu nhược điểm của SQL Server
2.3.3. Các thành phần của SQL Server
2.4. Hệ thống Python
2.4.1. Khái niệm
2.4.2. Ưu nhược điểm của hệ thống Python
2.4.3. Công nghệ đi kèm của Python
CHƯƠNG 3: HỆ THỐNG KHUYẾN NGHỊ
3
4
4
4
4
5
5
5
6
6
7
7
7
7
8
10
11
13
13
13
13
14
14
15
15
16
16
17
17
19
20
22
3.1. Giới thiệu
3.2. Các thông tin chung
3.2.1. Cách sử dụng thông tin về người dùng
3.2.2. Knowledge Discovery in Database (KDD)
3.3. Các kỹ thuật của khuyến nghị
3.3.1. Khuyến nghị dựa trên các luật kết hợp
3.3.2. Khuyến nghị dựa trên sự cộng tác
3.3.3. Khuyến nghị dựa trên nội dung
3.3.4. Khuyến nghị phối hợp
3.3.5. Khuyến nghị linh hoạt dựa trên các hành vi của người dùng
3.4. Hướng phát triển và sử dụng dữ liệu trong ứng dụng của nhóm
3.4.1. Tập đầu vào dữ liệu
3.4.2. Phương pháp phát triển của hệ thống
22
22
22
23
24
24
25
28
30
31
34
34
34
CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
36
4.1. Phân tích u cầu hệ thống
36
4.1.1. Xác định vấn đề
36
4.1.2. Xác định phạm vi bài toán
36
4.1.2.1. Vấn đề về con người
36
4.1.2.2. Vấn đề về quản lý
37
4.1.2.3. Vấn đề về mua hàng
38
4.1.3. Xác định các bên liên quan
38
4.1.4. Xác định không gian địa lý hoạt động và các thuộc tính của
khơng gian
39
4.1.5. Xác định mối quan hệ giữa sự vật và sự việc trong không gian
bài toán:
39
4.1.6. Phạm vi kiến thức để giải bài toán (chuyên mơn, nghiệp vụ) 39
4.1.7. Xác định loại bài tốn
39
4.1.8. Tổ chức thực hiện
39
4.2. Thiết kế hệ thống
42
4.2.1. Mô tả kiến trúc
42
4.2.1.1. Scenarios
42
4.2.1.2. Logical views
43
4.2.1.3. Process views
43
4.2.1.4. Deployment view
43
4.2.1.5. Physical view
4.2.2. Các mục tiêu và ràng buộc về kiến trúc
4.2.2.1. Phía máy chủ
4.2.2.2. Phía khách hàng
4.2.2.3. Bảo mật
4.2.2.4. Tính bền bỉ
4.2.2.5. Độ tin cậy / Tính khả dụng
4.2.2.6. Hiệu suất
4.2.2.7. Khả năng portable và tái sử dụng
4.2.2.8. Công cụ phát triển
4.2.2.9. Schedule
4.2.3. Use-case view
4.2.4. Đặc tả Use-case
4.2.4.1. Các use-case liên quan tới người dùng
4.2.4.2. Các use-case liên quan tới Supplier
4.2.5. UML Diagram
4.2.5.1. Context diagram
4.2.5.2. Sequence diagram
4.2.5.3. Activity diagram
4.3. Thiết kế cơ sở dữ liệu
4.3.1. Bảng User
4.3.2. Bảng Store
4.3.3. Bảng Category
4.3.4. Bảng Rate
4.3.5. Bảng Product
4.3.6. Bảng Bill
4.3.7. Bảng Address
4.3.8. Bảng BillDetail
4.3.9. Bảng CartProduct
4.3.10. Bảng Coupon
4.4. Thiết kế kiến trúc hệ thống
4.5. Thiết kế giao diện
CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN
5.1. Kết quả đạt được
43
43
43
44
44
44
45
45
45
45
46
47
48
48
51
54
54
55
58
62
63
64
65
66
66
67
68
69
69
70
71
72
77
77
5.1.1. Hệ thống khuyến nghị
5.1.2. Ứng dụng thương mại điện tử
5.2. Hướng phát triển
TÀI LIỆU THAM KHẢO
77
79
84
85
DANH MỤC HÌNH
Hình 2.1.3. Kiến trúc hệ thống Flutter
8
Hình 2.1.4.1 Ví dụ StatefulWidget
10
Hình 2.1.4.2 Ví dụ StatelessWidget
11
Hình 2.1.5. Clean Architecture
12
Hình 2.2.3. Mơ hình MVC trong ASP.NET Core
15
Hình 2.3.1: Logo SQL Server
16
Hình 2.3.3: Mơ hình của SQL Server
16
Hình 2.4.1: Khái niệm Python
18
Hình 2.4.2: Flask
20
Hình 2.4.3: Google Colab
21
Hình 4.1.5. Hình ảnh sơ đồ cơ cấu tổ chức
39
Hình 4.2.2. Schedule Gantt
46
Hình 4.2.3. Use-case
47
Hình 4.2.5. Sơ đồ ngữ cảnh
54
Hình 4.2.5.1 Sơ đồ tuần tự “Integrate recommendation service”
55
Hình 4.2.5.2 Sơ đồ tuần tự “Người dùng tạo đơn hàng”
55
Hình 4.2.5.3 Sơ đồ tuần tự “Người dùng thanh tốn giỏ hàng”
56
Hình 4.2.5.4 Sơ đồ tuần tự “Người dùng thêm sản phẩm”
57
Hình 4.2.5.5 Sơ đồ tuần tự “ Người dùng quản lý giá thành”
57
Hình ảnh 4.2.5. Sơ đồ hoạt động “Người dùng tạo đơn hàng”
58
Hình ảnh 4.2.5. Sơ đồ hoạt động “Người dùng thanh tốn”
59
Hình ảnh 4.2.5. Sơ đồ hoạt động “Người dùng quản lý thơng tin sản phẩm” 60
Hình ảnh 4.2.5. Sơ đồ hoạt động “Người dùng quản lý giá thành”
61
Hình 4.3: Thiết kế cơ sở dữ liệu
62
Hình ảnh 4.4. Kiến trúc hệ thống
71
Hình 5.1.1.1: ma trận đầu vào của ứng dụng
77
Hình 5.1.1.2: ma trận tương quan giữa người dùng
78
DANH MỤC BẢNG
Bảng 1 - Các loại dữ liệu sử dụng trong hệ thống khuyến nghị
24
DANH MỤC TỪ VIẾT TẮT
TĨM TẮT KHĨA LUẬN
Hệ thống thương mại điện tử tồn cầu đã phát triển sâu rộng trong những năm
gần đây, Việt Nam cũng khơng nằm ngồi xu thế đó, đặc biệt trong giai đoạn dịch
bệnh. Thương mại điện tử đã khẳng định vai trò to lớn trong giao thương. Bên cạnh
sự những ưu điểm đó, thương mại điện tử cịn một số vấn đề như thơng tin hàng hóa
phụ thuộc vào sự trung thực của người bán, khách hàng không trực tiếp xem hàng
hóa. Hàng giả và hàng thật khó phân biệt, do chưa áp dụng được truy xuất nguồn
gốc. Đồng thời, q trình vận chuyển hàng hóa cũng nảy sinh nhiều vấn đề như
hàng bị tráo, bị va đập gây sứt mẻ, trong khi đó khách hàng là người lãnh nhận rủi
ro. Tức là chất lượng cung cấp dịch vụ gặp nhiều vấn đề. Một khía cạnh nữa, khi
xây dựng trang web thương mại điện tử, có một số mục tiêu phải được tính đến, một
trong số đó là cách tăng hiệu quả của trang web để đảm bảo lượt truy cập của khách
hàng và đạt được lợi nhuận cần thiết. Đối với những nhà cung cấp trung thực muốn
nhận phản hồi của khách hàng để phục vụ được tốt hơn, bán được nhiều hàng hơn,
với công nghệ và chi phí hiện tại khó có thể thu thập các ý kiến khách hàng riêng lẻ
hoặc khảo sát trên thị trường.
Hiện nay có một phương pháp nổi bật để phân tích các nhận định, đánh giá của
khách hàng khi mua hàng trên hệ thống thương mại điện tử. Dựa trên các phân tích
các dữ liệu, khách hàng có thơng tin về sản phẩm và chất lượng dịch vụ nhằm mục
đích khuyến khích khách hàng lựa chọn được sản phẩm và dịch vụ chất lượng.
Đồng thời, giúp cho người bán hàng có một cơng cụ nắm bắt được thị hiếu của
khách hàng tốt hơn để gia tăng doanh thu.
Bên cạnh những trang thương mại điện tử lớn như Amazon, Alibaba, Tiki,
Shopee, v.v. cịn có nhiều cơng ty, hệ thống chuỗi cũng mong muốn xây dựng các
trang thương mại điện tử của riêng họ. Tuy nhiên, không phải hệ thống thương mại
điện tử nào cũng có khả năng tài chính và nhân lực để xây dựng riêng cho họ một
hệ thống khuyến nghị. Một bài tốn đặt ra liệu có thể xây dựng một hệ thống
khuyến nghị dành cho các trang thương mại điện tử có nguồn lực hữu hạn mà vẫn
1
có đầy đủ các chức năng về phân tích, đánh giá và đưa ra khuyến nghị dựa trên các
hành vi và phản hồi của khách hàng?
Xuất phát từ lý do trên chúng em lựa chọn đề tài “Hệ thống khuyến nghị dành
cho thương mại điện tử”. Đề tài hướng đến xây dựng một hệ thống khuyến nghị
độc lập với các hệ thống thương mại điện tử, khi các trang thương mại điện tử có
nhu cầu, sẽ kết nối đến hệ thống này để trao đổi thông tin. Đề tài tập trung tìm hiểu
các phương pháp khuyến nghị trong hệ thống thương mại điện tử sau đó áp dụng
thử nghiệm trên ứng dụng bán hàng di động. Khóa luận được tổ chức thành năm
chương. Chương 1 giới thiệu tổng quát về đề tài, phạm vi nghiên cứu, những kiến
thức áp dụng trong khóa luận và kết quả hướng tới. Chương 2 trình bày về các cơng
nghệ và kiến thức sử dụng trong khóa luận gồm có ngơn ngữ lập trình Dart và nền
tảng Flutter để xây dựng phần frontend cho ứng dụng trong mơi trường di động.
Phía backend, khóa luận sử dụng cơng nghệ .NET của Microsoft. Cụ thể, khóa luận
sử dụng ASP.NET để xây dựng các mô đun, Webservice, xử lý, truy vấn và cập nhật
dữ liệu lên Cơ sở dữ liệu. Chương 3 Khóa luận trình bày các yếu tố liên quan và
các cách tiếp cận cũng như thuật toán được triển khai trong hệ thống khuyến nghị.
Để phát triển hệ thống khuyến nghị, hiện nay có một số cách tiếp cận chính như
Collaborative Recommender system,
Content-based recommender system,
Demographic based recommender system, Knowledge based recommender system
và Community-based, bên cạnh đó còn một số cách tiếp cận khác [tài liệu 1]. Trong
khóa luận này chúng em sử dụng phương pháp Collaborative Filtering để triển
khai. Chương 4 Phân tích thiết kế hệ thống. Trong chương này, Khóa luận phân tích
các chức năng của hệ thống khuyến nghị, người dùng và dữ liệu để thiết kế hệ
thống. Cuối cùng là Chương 5 trình bày kết quả đạt được và hướng phát triển tiếp
theo.
Qua q trình thực hiện Khóa luận, chúng em đã nắm được nhiều kiến thức về
lĩnh vực khai phá tri thức, quy trình phát triển phần mềm, đặc biệt phần mềm dựa
trên việc khai thác thông tin người dùng và các sản phẩm thương mại điện tử.
2
Những kiến thức trong khóa luận giúp chúng em rất nhiều trong việc nâng cao trình
độ và định hướng cơng việc trong tương lai.
3
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1.1. Thơng tin nhóm
MSSV
Họ tên
Email
18520542
Đỗ Ngọc Cường
18520655
Đặng Ngọc Duy
1.2. Tổng quan đề tài
1.2.1. Bài toán thực tế
Mơ hình thương mại điện tử đã khẳng định vai trị và ưu thế trước mơ hình kinh
doanh truyền thống và đã phổ biến như Amazon, Alibaba ở phạm vi quốc tế, đối với
phạm vi trong nước các trang thương mại điện tử như Tiki, Shopee, Lazada, v.v. đã
thành cơng và đem lại nhiều lợi ích cho người tiêu dùng. Các ứng dụng này thành
công nhờ việc tối đa hóa về các mảng cung cấp các dịch vụ, hàng hóa.
Cũng vì thế việc tối đa hóa các giao dịch trên các ứng dụng E-Commerce cũng
là một bài toán cần phải giải quyết và cách giải quyết bài toán này có thể thơng qua
các ứng dụng khuyến nghị cho hệ thống.
1.2.2. Tổng quan đề tài
Nhóm đã đề ra kế hoạch phát triển một ứng dụng di động để phục vụ cho việc
mua sắm cho người dùng và ứng dụng Decee là giải quyết cho vấn đề này
E-shop cung cấp các dụng cụ để cho người dùng tương tác và sử dụng để bn
bán. Người chủ cửa hàng có thể đưa lên các sản phẩm mong muốn, và người dùng
phổ thông có thể kiếm những mặt hàng đó và mua các mặt hàng. Cùng với hệ thống
admin hệ thống đảm bảo giá cả phải chăng và người dùng luôn không bị lừa đảo,
kèm theo đó là các yếu tố bảo mật đảm bảo thông tin của người dùng sẽ không bị lộ
ra ngoài.
4
Tiếp theo sau giai đoạn này là việc tối đa hóa số lượng các giao dịch thơng qua
hệ thống khuyến nghị tích hợp vào chương trình. Hệ thống này sẽ hỗ trợ dự đốn
các sản phẩm mà người dùng có thể thích hoặc sẽ mua tiếp theo để khuyến nghị cho
người dùng.
1.2.3. Phạm vi nghiên cứu
Phạm vi bài toán chỉ bao gồm các nghiệp vụ của một ứng dụng của một ứng
dụng E-commerce hỗ trợ việc mua sắm trực tuyến. Ứng dụng không đi sâu vào các
nghiệp vụ nhập kho, quản lý nhân viên.
Bài tốn cũng xử lý thơng tin của người dùng để có thể xây dựng hệ thống
khuyến nghị đưa tới người dùng các sản phẩm mà người dùng có thể thích nhất.
1.2.4. Nội dung nghiên cứu
Các dịch vụ liên quan đến E-commerce với các tính năng cơ bản của một ứng
dụng bn bán hàng hóa trực tuyến. Ứng dụng này giúp cho các chủ cửa hàng trực
tuyến có thể quản lý hàng hóa của mình, đồng thời là nơi cho các người dùng phổ
thơng có thể mua hàng hóa với trải nghiệm tốt nhất khi mua hàng online.
Hệ thống khuyến nghị cũng là chủ đề lớn trong lần làm khóa luận lần này với
mục đích là tối ưu hóa trải nghiệm của người dùng. Cùng với E-commerce app và
hệ thống khuyến nghị sẽ cho thấy được khả năng sử dụng dữ liệu của người phát
triển cũng như là khả năng đáp ứng nhu cầu cho các ứng dụng hiện tại.
1.2.5. Kết quả hướng tới
Chủ shop: ứng dụng hỗ trợ chủ cửa hàng quản lý hàng hóa một cách tiện lợi,
nhanh chóng, tạo ra các coupon để thu hút người dùng
Về phía khách hàng phổ thơng: Ứng dụng hỗ trợ mua hàng trực tuyến với quy
trình nhanh chóng, đơn giản, theo dõi tình trạng đơn hàng một cách chi tiết, nâng
cao trải nghiệm người dùng với giao diện tiện dụng và dễ sử dụng.
Về phía ứng dụng: phải cho người dùng trải nghiệm tốt và khuyến nghị các
mặt hàng đúng, hợp nhu cầu của khách hàng vào lúc hiện tại.
5
1.3. Cơng cụ sử dụng
Trong q trình xây dựng phần mềm, nhóm đã sử dụng các phần mềm sau:
● Visual Studio IDE: IDE hỗ trợ xây dựng các ứng dụng liên quan tới
.NET (server)
● Visual Studio Code: hỗ trợ xây dựng ứng dụng giao diện người dùng
(Flutter)
● Mysql server management: hỗ trợ nhóm lưu trữ dữ liệu cũng như là
các thao tác trên cơ sở dữ liệu
● Google Colab: hỗ trợ nhóm xây dựng các model, trực quan hóa dữ
liệu, training các bảng dữ liệu để xây dựng hệ thống khuyến nghị.
1.4. Source tree
Frontend: />Backend: />Colab:
/>sp=sharing
6
CHƯƠNG 2: CƠNG NGHỆ TRIỂN KHAI
Chương này Khóa luận trình bày các công nghệ nền tảng để phát triển hệ thống.
Mục 2.1 giới thiệu Flutter và Dart để xây dựng ứng dụng trên thiết bị di động, ứng
dụng này sẽ hiển thị các mặt hàng để khách hàng mua hàng hóa, nhận xét, và phản
hồi thơng tin về hàng hóa và chất lượng dịch vụ. Mục 2.2 giới thiệu công nghệ
.NET và các kiến thức liên quan, Khóa luận sử dụng ASP.NET để xây dựng phần
Backend cho ứng dụng. Tiếp theo, Mục 2.3 trình bày về SQL Server, máy chủ cơ sở
dữ liệu này lưu trữ các thông tin được lấy từ khách hàng, dữ liệu đã xử lý để phản
hồi lại cho ứng dụng di động. Cuối cùng là mục Python, nhờ tính ưu việt của
Python trong xử lý dữ liệu trong lĩnh vực học máy, Khóa luận sử dụng Python để xử
lý dữ liệu về hệ thống khuyến nghị.
2.1. Flutter và Dart
2.1.1. Giới thiệu
Flutter được Google giới thiệu là một người mới trong thế giới ứng dụng di
động. Là một SDK mới của Google dành cho các thiết bị di động giúp developers
và designers xây dựng nhanh chóng ứng dụng dành cho các thiết bị di động
(Android, iOS). Flutter là dự án mã nguồn mở đang trong giai đoạn thử nghiệm.
Flutter bao gồm Reactive framework và công nghệ hiển thị 2D (2D rendering
engine) và các công cụ phát triển (development tool). Các thành phần này làm việc
cùng nhau giúp ta thiết kế, xây dựng, test, debug ứng dụng.
2.1.2. Ưu nhược điểm của Flutter và Dart
Các nhà phát triển tại Google và các nơi khác sử dụng Dart để tạo các ứng dụng
chất lượng cao, quan trọng cho iOS, Android và web. Với các tính năng nhắm đến
sự phát triển phía khách hàng, Dart rất phù hợp cho cả ứng dụng di động và web.
Dart giúp bạn tạo ra những trải nghiệm đẹp, chất lượng cao trên tất cả các màn hình:
● Một ngơn ngữ được tối ưu hóa cho client
● Framework mạnh mẽ
7