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

Xây dựng trang web thời trang với các tiện ích chatbot, khuyến nghị sản phẩm để nâng cao trải nghiệm người dùng

109 15 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 109
Dung lượng 2,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM TRẦN ANH THẮNG TRƯƠNG CÔNG TẤN PHÁT KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG TRANG WEB THỜI TRANG VỚI CÁC TIỆN ÍCH CHATBOT,

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

TRẦN ANH THẮNG TRƯƠNG CÔNG TẤN PHÁT

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

XÂY DỰNG TRANG WEB THỜI TRANG VỚI CÁC TIỆN ÍCH CHATBOT, KHUYẾN NGHỊ SẢN PHẨM

ĐỂ NÂNG CAO TRẢI NGHIỆM NGƯỜI DÙNG Fashion website with support utility to enhance user experience

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

TP HỒ CHÍ MINH, <2021>

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

TRẦN ANH THẮNG – 17520159 TRƯƠNG CÔNG TẤN PHÁT – 17520884

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

XÂY DỰNG TRANG WEB THỜI TRANG VỚI CÁC TIỆN ÍCH CHATBOT, KHUYẾN NGHỊ SẢN PHẨM

ĐỂ NÂNG CAO TRẢI NGHIỆM NGƯỜI DÙNG Fashion website with support utility to enhance user experience

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

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

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ố ………

Trang 4

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Tên khóa luận:

XÂY DỰNG TRANG WEB THỜI TRANG VỚI CÁC TIỆN ÍCH CHATBOT, KHUYẾN

NGHỊ SẢN PHẨM ĐỂ NÂNG CAO TRẢI NGHIỆM NGƯỜI DÙNG

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

Trần Anh Thắng 17520159 ThS Mai Trọng Khang

Trương Công Tấn Phát 17520884

Đá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 5

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

3 Về chương trình ứng dụng:

Trang 6

4 Về thái độ làm việc của sinh viên:

Trang 7

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Tên khóa luận:

XÂY DỰNG TRANG WEB THỜI TRANG VỚI CÁC TIỆN ÍCH CHATBOT,

KHUYẾN NGHỊ SẢN PHẨM ĐỂ NÂNG CAO TRẢI NGHIỆM NGƯỜI DÙNG

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

Trần Anh Thắng 17520159

ThS Trần Thị Hồng Yến Trương Công Tấn Phát 17520884

Đánh giá Khóa luận

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:

Trang 8

3 Về chương trình ứng dụng:

4 Về thái độ làm việc của sinh viên:

Trang 10

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Xây dựng trang web thời trang với các tiện ích Chatbot,

khuyến nghị sản phẩm để nâng cao trải nghiệm người dùng

Cán bộ hướng dẫn: ThS Mai Trọng Khang

Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 20/06/2021

Sinh viên thực hiện:

Trương Công Tấn Phát – 17520884

Trần Anh Thắng – 17520159

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)

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

1.1 Bối cảnh chọn đề tài

Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không ngừng, bằng việc chinh phục hết đỉnh cao này thành đỉnh cao khác Mạng internet đang trở thành mạng truyền thong có sức ảnh hưởng lớn nhất, không thể thiếu trong tất cả các hoạt động của con người trong việc truyền tải và trao đổi dữ liệu Không như ngày xưa ngày nay mọi việc liên quan đến thông tin ngày càng dễ dàng hơn cho người sử dụng bằng việc kết nối internet và một dòng dữ liệu truy tìm thì ngay lập tức cả kho tài nguyên không chỉ trong nước mà ngoài nước hiện

ra không chỉ bằng ngôn ngữ mà cả bằng hình ảnh , âm thanh Chính vì lợi ích

từ internet đã thúc đảy sự ra đời và phát triển của thương mại điện tử làm biến đổi bộ mặt văn hoá cũng như nâng cao chất lượng cuộc sống của con người các hoạt động thong thường như sản xuất, kinh doanh và các doing nghiệp cũng phát triển cuộc sống con người ngày càng phát triển thì nhu cầu sống của con người cũng được nâng cao và những nhu cầu đơn giản nhưng cũng rất thiết thực Đó là nhu cầu ăn, ở và mặc đây là vấn đề cũng đang là 1 bài toán của các nhà kinh doanh, làm sao để đáp ứng nhu cầu của con người để cải thiện đời sống ngày càng cao Chính lẽ đó để đáp ứng những nhu cầu đó của con người trên cơ sở kế thừa những trang web bán hang khác em xây dựng nên một website bán hang thời trang qua mạng để đáp ứng nhu cầu mua sắm của mọi người, giúp

họ tiết kiếm kiệm được thời gian, chi phí trong việc phải đi ra các shop, các cửa hàng hay các chợ truyền thống để mua và tìm kiếm sản phẩm Thay vào đó chỉ

Trang 11

việc ngồi ở nhà với chiếc máy tính đã kết nối internet mọi người có thể thảo sức tìm kiếm, lựa chọn sản phẩm áo quần, mà mình yêu thích mọi lúc mọi nơi

Có các tính năng nổi bật và thuận lợi như chatbot khi không có nhân viên trực tiếp trả lời hay khuyến nghị sản phẩm cho người dùng khi không biết mua gì hay gợi ý các sản phẩm tương tự Giúp cho người quản trị dễ dàng trong việc phân quyền quản lí, quản lí khách hàng và các đơn đặt hàng của họ Đó là lí do chúng em chọn đề tài “Xây dựng trang web thời trang với các tiện ích chatbot, khuyến nghị sản phẩm để nâng cao trải nghiệm người dùng”,

1.2 Mục đích của đề tài

Trang web đượ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 java web với SpringMVC

Thứ hai là phát triển trang web có tính thực tiễn cao, có khả năng triển khai

và ứng dụng vào thực tế, giúp những người có nhu cầu mua áo quần có thể thao tác dễ dàng và tiện lợi

Em hy vọng dựa trên nền tảng lý thuyết đã được thầy cô truyền thụ lại, kết 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 em sẽ đạt được mục đích mong đợi

1.3 Ý nghĩa của đề tài

Trước hết, đề tài “Xây dựng trang web thời trang với các tiện ích chatbot, khuyến nghị sản phẩm để nâng cao trải nghiệm người dùng” là một trang web được xây dựng như một đề tài thể hiện việc áp dụng những kiến thức quý báu

đã được các thầy cô của trường Đại học Công nghệ Thông tin – Đại học Quốc gia thành phố Hồ Chí Minh đã nhiệt tình truyền thụ lại cho chúng em Và đặc biệt là sự theo dõi và quan tâm giúp đỡ của thầy Mai Trọng Khang trong suốt thời gian nhóm chúng em thực hiện đề tài này

Thứ hai là những kinh nghiệm quý báu mà nhóm có được trong quá trình thực hiện đề tài sẽ là hành trang tuyệt vời giúp ích rất nhiều cho công việc sau này của mỗi thành viên trong nhóm

Thứ ba, trong thời đại công nghệ thông tin phát triển như vũ bão ngày nay, công nghệ không ngừng được cải tiến, những công nghệ mới ra đời đòi hỏi người lập trình viên phải cố gắng nghiên cứu và tìm hiểu để áp dụng vào thực tiễn Điều này cũng được thể hiện qua sự cố gắng của mỗi thành viên trong nhóm khi quyết định thực hiện đề tài này với các công nghệ được coi là mạnh

và dự báo sẽ càng được dùng nhiều hơn nữa trong tương lai Do vậy, nhóm chúng em rất hy vọng sẽ tạo nên một sản phẩm hoàn chỉnh nhất có thể để đáp lại sự nhiệt tình giúp đỡ từ thầy cô và cả tâm huyết của nhóm khi quyết định thực hiện đề tài này

1.4 Nhiệm vụ của đề tài

Trang 12

Đề tài “Xây dựng trang web thời trang với các tiện ích chatbot, khuyến nghị sản phẩm để nâng cao trải nghiệm người dùng” là một ứng dụng chạy trên điện thoại sử dụng hệ điều hành Android

Trang web được viết bằng ngôn ngữ Java

Mục tiêu của đề tài này là:

- Tìm hiểu các hoạt động kinh doanh của các shop thời trang trong thực

tế

- Tìm hiểu cách thức xây dựng một trang java web

- Xây dựng thành công website thời trang có chatbot hỗ trợ gợi ý sản phẩm trên android Hệ thống gợi ý sản phẩm đạt hiệu năng cao: phản hồi thời gian thực, độ chính xác cao

- Hệ thống tối ưu hóa lợi nhuận đối với những khách hàng mới

- Hệ thống có khả năng ứng dụng và triển khai vào thực tiễn nhanh chóng

Tìm hiểu về cách Crawler data vào trang web bằng jSoup, Selenium

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

Trang 13

Cách tiếp cận: ứng dụng được xây dựng dựa theo framework SpringMVC 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 web hiện có

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

Qua khảo sát tìm hiểu, các website thời trang nổi tiếng và giống với ý tưởng của nhóm, nhận thấy các ứng dụng đều có mô hình xử lý như sau:

● Cho phép nhập hàng vào CSDL

● Quản lý tài khoản người dùng và phân quyền

● Quản lý sản phẩm: quản lý thêm, xóa, sửa, tìm kiếm

● Quản lý Crawler dữ liệu từ trang web cung cấp

● Quản lý thông tin khách hàng

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ế trang web cần đạt được những mục tiêu sau:

o Đối với admin: Đảm bảo an toàn hệ thống, cung cấp tài khoản mật khẩu

để người quản trị có thể truy cập vào hệ thông quản lí, thao tác với CSDL của website Quản lí giúp cho việc theo dõi người dùng dễ dàng, nhanh chóng cập nhật được các mặt hàng, thể loại để phục vụ cho nhu cầu người dùng Quản lý cập nhật lấy dữ liệu từ trang web được crawler data

Có hệ thống chatbot trả lời nhanh chóng và tương tác hiệu quả với khách hàng Hệ thống khuyến nghị sản phẩm dành cho người mới và người dùng cũ

Trang 14

o Đối với user: Có thể xem sản phẩm một cách nhanh chóng; Có thể đặt mua các mặt hàng và tiến hành thanh toán thuận tiện

o Đối với hệ thống: Website dung lượng không quá lớn, tốc độ xử lý nhanh, đảm bảo sự chính xác tránh sai sót, Ứng dụng có giao diện đẹp,

dễ sử dụng tâm lý thoải mái cuốn hút khách hàng khi sử dụng Tạo được

sự liên kết logic giữa các màn hình để khách hàng có thể chuyển màn hình một cách nhanh nhất và thuật tiện nhất Đảm bảo tính bảo mật về các thông tin nhạy cảm của khách hàng tạo cảm giác an toàn cho khách hàng

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

sinh viên tham gia)

Mô hình làm việc theo quy trình Scrum với các sprint kéo dài từ 01/03/2021 đến 20/06/2021 theo kế hoạch như sau:

Giai đoạn 1: Tìm hiểu phân tích nghiệp vụ và thực hiện các chức năng cơ bản

Trương Công Tấn Phát

Trần Anh Thắng

Trang 15

3 Sprint 3

(19/03/2021-

01/04/2021)

- Xây dựng CSDL

- Thực hiện source base

- Thực hiện các chức năng cơ bản

- Triển khai lần 1

Trương Công Tấn Phát

- Tích hợp các giải pháp đã nghiên cứu vào đồ án

Trương Công Tấn Phát

Trang 16

06/06/2021) - Tiền hành sửa chữa các lỗi đã

- Tham khảo ý kiến

- Chuẩn bị slide và các câu hỏi

để biện hộ và phản biện

Trương Công Tấn Phát

Trương Công Tấn Phát

Trang 17

Sinh viên 2

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

Trần Anh Thắng

Trang 18

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 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ề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

Chúng em xin gửi lời cảm ơn chân thành đến thầy 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 Đó là những góp ý hết sức quý 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ếp bướ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 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 Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau

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 đồng hành cùng mọi người

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

Sinh viên

TRẦN ANH THẮNG TRƯƠNG CÔNG

Trang 19

MỤC LỤC

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

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

1.2 Đối tượng nghiên cứu 30

1.3 Phạm vi nghiên cứu 30

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

Chương 2 KIẾN THỨC NỀN TẢNG 32

2.1 Sơ đồ kiến trúc hệ thống 32

2.2 Tổng quan về mô hình MVC 33

2.2.1 Khái niệm 33

2.2.2 Cấu trúc mô hình MVC 34

2.2.3 Luồng đi trong mô hình MVC 35

2.2.4 Tại sao dùng mô hình MVC 36

2.3 Tổng quan về Java SpringMVC 37

2.3.1 Khái niệm Java 37

2.3.2 SpringMVC 42

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

2.5 Tổng quan về Hibernate Framework 48

2.5.1 ORM 48

2.5.2 Hibernate 48

2.6 Frontend kết hợp giữa HTML + CSS + Bootstrap + jQuery 48

2.6.1 HTML 48

2.6.2 CSS 48

Trang 20

2.6.3 Bootstrap 49

2.6.4 Jquery 49

2.7 Tổng quan về Crawler data bằng Jsoup 49

2.8 Tổng quan về Chatbot 50

2.8.1 Chatbot là gì? 50

2.8.2 Chatbot bán hàng là gì? 51

2.8.3 Chatbot chăm sóc khách hàng là gì? 51

2.8.4 Nguyên tắc hoạt động của Chatbot 51

2.8.5 Chatbot được ứng dụng như thế nào? 52

2.8.6 Lợi ích của Chatbot 53

2.8.7 Ai nên sử dụng Chatbot 54

2.9 Tổng quan về hệ thống khuyến nghị sản phẩm 55

2.9.1 Khái niệm 55

2.9.2 Các phương pháp trong hệ thông khuyến nghị 57

Chương 3 PHÂN TÍCH HỆ THỐNG 64

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

3.1.1 Tổng quan khảo sát ứng dụng liên quan 64

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

3.2 Phân tích thiết kế hệ thống 65

3.2.1 Sơ đồ use case 65

3.2.2 Phân tích và thiết kế CSDL 81

3.2.3 Thiết kế giao diện 88

Chương 4 MÔ TẢ CÁC TIỆN ÍCH CHỨC NĂNG 100

4.1 Chức năng khuyến nghị 100

Trang 21

4.1.1 Lựa chọn phương pháp 100

4.1.2 Ví dụ 101

4.2 Chức năng Chatbot 103

4.2.1 Cách làm việc 103

4.2.2 Thực hiện 103

Chương 5 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 106

5.1 Kết quả đạt được 106

5.2 Ưu điểm 106

5.3 Nhược điểm 106

5.4 Hướng phát triển 107

TÀI LIỆU THAM KHẢO 108

Trang 22

DANH MỤC HÌNH

Hình 2.1: Sơ đồ kiến trúc hệ thống 32Hình 2.2: Sơ đồ kiến trúc hệ thống khi triển khai lên Heroku 33Hình 2.3: Mô hình MVC 34Hình 2.4: Mô hình MVC pattern 36Hình 2.5: Mô hình hệ thống Complier Java 39Hình 2.6: Các phiên bản của Java 41Hình 2.7: Các JDK của Java 42Hình 2.8: Sprint Framework Runtime 43Hình 2.9: Spring MVC 46Hình 2.10: Sự phát triển và độ phổ biến của MYSQL 47Hình 2.11: Chatbot là 1 công cụ ứng dụng công nghệ AI để tương tác 50Hình 2.12: Chatbot giao tiếp với người dùng theo quy trình Translator -> Processor -> Respondent 52Hình 2.13: Chatbot được ứng dụng rất nhiều trong công việc kinh doanh bán hàng ngày nay 53Hình 2.14: Chatbot giúp giảm thiểu chi phí sale và chăm sóc khách hàng 54Hình 2.15: Chatbot được sử dụng nhiều trong ngành bán lẻ thời trang 55Hình 3.1: Mô hình Use case của hệ thống 66Hình 3.2: Sơ đồ lớp của trang web TP-Shop 81Hình 3.3: Giao diện trang chủ 1 90Hình 3.4: Giao diện trang chủ 2 90Hình 3.5: Giao diện trang chủ 3 91Hình 3.6: Giao diện đăng nhập/ đăng ký 91Hình 3.7: Giao diện đăng ký 92Hình 3.8: Giao diện danh mục và sản phẩm 92Hình 3.9: Giao diện chi tiết sản phẩm 93Hình 3.10: Giao diện giỏ hàng 94

Trang 23

Hình 3.12: Giao diện tìm kiếm 95Hình 3.13: Giao diện liên hệ 95Hình 3.14: Giao diện Chatbot 96Hình 3.15: Giao diện Khuyến nghị 96Hình 3.16: Giao diện thống kê 97Hình 3.17: Giao diện quản lý đơn hàng 98Hình 3.18: Giao diện quản lý danh mục 98Hình 3.19: Giao diện quản lý sản phẩm 99Hình 3.20: Giao diện Crawler data 99Hình 4.1: Mô hình làm việc của Chatbot TP-Shop 103Hình 4.2: Thư viện mở Messenger4j 104Hình 4.3: Tích hợp thêm công cụ Chatfuel cho Chatbot 105

Trang 24

DANH MỤC BẢNG

Bảng 3-1: Bảng danh sách các Actors 66Bảng 3-2: Bảng use case “Đăng nhập” 67Bảng 3-3: Bảng use case “Đăng ký” 67Bảng 3-4: Bảng use case “Xem thông tin mặt hàng” 68Bảng 3-5: Bảng use case “Xem chi tiết sản phẩm” 68Bảng 3-6: Bảng use case “Xem lại giỏ hàng” 69Bảng 3-7: Bảng use case “Xóa giỏ hàng” 69Bảng 3-8: Bảng use case “Thêm giỏ hàng” 70Bảng 3-9: Bảng use case “Cập nhật giỏ hàng” 70Bảng 3-10: Bảng use case “Tìm kiếm” 71Bảng 3-11: Bảng use case “Thanh toán” 71Bảng 3-12: Bảng use case “Phương thức thanh toán” 72Bảng 3-13: Bảng use case “Crawler data” 72Bảng 3-14: Bảng use case “Quản lý sản phẩm” 73Bảng 3-15: Bảng use case “Thêm sản phẩm” 73Bảng 3-16: Bảng use case “Sửa sản phẩm” 74Bảng 3-17: Bảng use case “Xóa sản phẩm” 74Bảng 3-18: Bảng use case “Quản lý đặt hàng” 75Bảng 3-19: Bảng use case “Quản lý tài khoản” 75Bảng 3-20: Bảng use case “Quản lý danh mục” 76Bảng 3-21: Bảng use case “Thêm danh mục” 76Bảng 3-22: Bảng use case “Sửa danh mục” 77Bảng 3-23: Bảng use case “Xóa danh mục” 77Bảng 3-24: Bảng use case “Chatbot” 78Bảng 3-25: Bảng use case “Báo cáo tổng kết” 78Bảng 3-26: Bảng use case “Doanh thu” 79Bảng 3-27: Bảng use case “Thống kê” 79

Trang 25

Bảng 3-29: Bảng các tên bảng trong CSDL 82Bảng 3-30: Bảng “user” 82Bảng 3-31: Bảng “role” 83Bảng 3-32: Bảng “user-role” 83Bảng 3-33: Bảng “mausanpham” 83Bảng 3-34: Bảng “khuyenmai” 84Bảng 3-35: Bảng “chitietkhuyenmai” 84Bảng 3-36: Bảng “sizesanpham” 84Bảng 3-37: Bảng “sanpham” 85Bảng 3-38: Bảng “chitietsanpham” 85Bảng 3-39: Bảng “hoadon” 86Bảng 3-40: Bảng “chitiethoadon” 86Bảng 3-41: Bảng “danhmucsanpham” 87Bảng 3-42: Bảng “review” 87Bảng 3-43: Bảng “cosinesimilarity” 87Bảng 3-44: Bảng “recommendrating” 88Bảng 3-45: Bảng danh sách các màn hình 89

Trang 26

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

1 Jsp Java Scripting Preprocessor

2 API Application Programming Interface

3 CSS Cascading Style Sheets

4 HTML Hypertext Markup Language

6 XML eXtensible Markup Language

7 MVC Model-Controller-View

8 SoC Separation of Concern

9 JVM Java Virtual Machine

10 Java SE Java Standard Edition

11 Java EE Java Enterprise Edition

12 Java ME Java Mobile Edition

13 JRE Java Runtime Environment

14 JDK Java Development Kit

15 POJO Plain Old Java Object

16 IoC Inversion of Control

17 EJB Enterprise Java Bean

18 JMX Java Management Extensions

19 JDBC Java Database Connectivity

Trang 27

21 ORM Object Relational Mapping

22 JMS Java Message Service

23 ACID Atomic-Consistent-Isolated-Durable

24 URL Uniform Resource Locator

25 DOM Document Object Model

Trang 28

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

Trong khóa luận này, nhóm chúng em tập trung nghiên cứu về SpringMVC, các công nghệ để xây dựng một trang web SpringMVC căn bản như Hibernate, Crawler data, … từ những kiến thức nghiên cứu nhóm đã áp dụng vào xây dựng một trang web thương mại, bên cạnh việc tìm hiểu về mô hình hệ thống SpringMVC nhóm chúng em tìm hiểu nghiệp vụ trong Thương Mại Điện Tử, kết hợp với những kiến

thức được dạy trong các năm học, nhóm chúng em xây dựng trang web TP-Shop

giúp cho người dùng có một trang web mua sắm thời nam trang nhanh chóng và hiệu quả

Bố cục của khóa luận:

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, trong chương này cũng đề cập đến đối tượng nghiên cứu, phạm vi đề tài, phương pháp nghiê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ệ sử dụng để xây dựng

trang web

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 trang web

Chương 4: Tập trung trình bày chức năng khuyến nghị và Chatbot Các kiến thức

cần nắm, đưa ra bài toán, cách chạy giải thuật, sau đó áp dụng vào trang web

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

Trang 29

cả bằng hình ảnh, âm thanh Chính vì lợi ích từ Internet đã thúc đảy sự ra đời và phát triển của thương mại điện tử làm biến đổi bộ mặt văn hoá cũng như nâng cao chất lượng cuộc sống của con người các hoạt động thông thường như sản xuất, kinh doanh

và các doanh nghiệp cũng phát triển Cuộc sống con người ngày càng phát triển thì nhu cầu sống của con người cũng được nâng cao và những nhu cầu đơn giản nhưng cũng rất thiết thực Đó là nhu cầu ăn, ở và mặc đây là vấn đề cũng đang là bài toán của các nhà kinh doanh, làm sao để đáp ứng nhu cầu của con người để cải thiện đời sống ngày càng cao Chính lẽ đó để đáp ứng những nhu cầu đó của con người trên cơ

sở kế thừa những trang web bán hàng khác nhóm chúng em xây dựng nên một trang web bán hàng thời trang qua mạng để đáp ứng nhu cầu mua sắm của mọi người, giúp

họ tiết kiếm kiệm được thời gian, chi phí trong việc phải đi ra các shop, các cửa hàng hay các chợ truyền thống để mua và tìm kiếm sản phẩm Thay vào đó chỉ việc ngồi ở nhà với chiếc máy tính đã kết nối Internet mọi người có thể thỏa sức tìm kiếm, lựa chọn sản phẩm áo quần, mà mình yêu thích mọi lúc mọi nơi Giúp cho người quản trị dễ dàng trong việc phân quyền quản lí, quản lí người dùng và các đơn đặt hàng của họ

Trong những năm gần đây, với các thành tựu từ trí tuệ nhân tạo, bên cạnh sự bùng nổ của các ứng dụng nhắn tin, đang thúc đẩy sự phát triển của Chatbot một cách mạnh mẽ Các dự báo cho thấy sự tăng trưởng của Chatbot trong thời gian này đã tạo

Trang 30

nên nhiều tác động tích cực tới các doanh nghiệp sử dụng chúng và dần trở thành một

xu hướng tất yếu của các doanh nghiệp, chủ hộ kinh doanh online Không những giúp giảm chi phí cho các doanh nghiệp, Chatbot còn có thể hoạt động trong các phân đoạn như tiếp thị, dịch vụ, thanh toán, truyền thông,

Bên cạnh đó để hình thức mua bán qua mạng thực sự phát triển nhờ các lợi thế vốn có thì hệ thống trợ giúp là hết sức cần thiết Hệ thống khuyến nghị sản phẩm được hình thành và phát triển không nằm ngoài mục đích đáp ứng những yêu cầu trên Một hệ thống tư vấn tốt có thể đóng vai trò trung gian giúp người tiêu dùng đưa

ra được quyết định lựa chọn hàng hóa của họ

Đó là lí do nhóm chúng em chọn đề tài “Xây dựng trang Web thời trang với các tiện ích Chatbot, khuyến nghị sản phẩm để nâng cao trải nghiệm người dùng”

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

Giao diện: Bootstrap, HTML, CSS

Đối tượng trong phạm vi đề tài hướng đến: Người dùng có nhu cầu mua sắm thời trang qua mạng Internet

1.3 Phạm vi nghiên cứu

Trang web TP-Shop được nhóm chúng em xây dựng dựa trên ngôn ngữ Java

và framework SpringMVC

Trang 31

31

● Học SpringMVC5, Hibernate5

● Tìm hiểu Jsp, Jquery, Bootstrap, HTML, CSS kết hợp hệ CSDL MySQL

● Tìm hiểu về RESTful API và áp dụng vào đồ án

● Tìm hiểu về cách Crawler data vào trang web bằng jSoup, Selenium

● Cách đưa Chatbot Facebook vào trang web

● Cách deploy trang web lên Heroku

● Sử dụng Machine learning cho hệ thống khuyến nghị sản phẩm

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

Cách tiếp cận: Trang web được xây dựng dựa theo mô hình SpringMVC

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 những trang web thời trang tương tự hiện có

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

• Nhằm giải quyết bài toán xây dựng chức năng khuyến nghị sản phẩm cho người dùng, nhóm chúng em đã nghiên cứu Machine learning để áp dụng vào

hệ thống

Trang 32

Chương 2 KIẾN THỨC NỀN TẢNG 2.1 Sơ đồ kiến trúc hệ thống

Hình 2.1: Sơ đồ kiến trúc hệ thống Front-end: Sử dụng Bootstrap, HTML, CSS, …

Back-end: Java SpringMVC kết hợp Hibernate Framework

Hệ cơ sở dữ liệu: MySql

Trang 33

33

Hình 2.2: Sơ đồ kiến trúc hệ thống khi triển khai lên Heroku

Cloud Platform: Heroku

Cơ sở dữ liệu: ClearDB MySql

2.2 Tổng quan về mô hình MVC

2.2.1 Khái niệm

MVC là từ viết tắt bởi 3 từ Model – View – Controller Đây là mô hình thiết

kế sử dụng trong kỹ thuật phần mềm Mô hình source code thành 3 phần, tương ứng mỗi từ Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình.[6]

Trang 34

Hình 2.3: Mô hình MVC

2.2.2 Cấu trúc mô hình MVC

2.2.2.1 Tầng Model

Model (M):

Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng Bộ phận này

là một cầu nối giữa 2 thành phần bên dưới là View và Controller Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý

Thông thường, các trang web sử dụng MVC View như một phần của hệ thống, nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng có chức năng ghi nhận hoạt động của người dùng để tương tác với Controller Tuy nhiên, View không

Trang 35

35

có mối quan hệ trực tiếp với Controller, cũng không được lấy dữ liệu từ Controller

mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi. [6]

2.2.2.3 Tầng Controller

Controller (C):

Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view

Từ đó, C đưa ra dữ liệu phù hợp với người dùng Bên cạnh đó, Controller còn có chức năng kết nối với model. [6]

2.2.3 Luồng đi trong mô hình MVC

Luồng tương tác giữa các thành phần trong MVC

Ví dụ: Chức năng thêm bài viết mới trong trang quản trị trang web Nơi đây

có 2 trường nhập về tiêu đề và nội dung bài viết, thì trong đó:

View sẽ hiển thị ra phần nhập form tiêu đề và nội dung

Controller lấy dữ liệu từ 2 trường và gửi tới Model

Model lúc này sẽ nhận dữ liệu từ Controller để lưu trữ trong cơ sở dữ liệu Mỗi bộ phận thực hiện chức năng nhất định, nhưng chúng có sự thống nhất, liên kết với nhau tạo nên mô hình MVC Mô hình này tương đối nhẹ Nó có thể tích hợp được nhiều tính năng có trong Java hiện giờ Ví dụ như authentication (quá trình xác thực)

Người lập trình có thể hình dung, khi một yêu cầu từ máy client gửi tới server, Controller sẽ thực hiện nhiệm vụ của mình đó là tiếp nhận và xử lý yêu cầu Trong trường hợp cần thiết, nó có thể liên hệ Model – bộ phận làm việc với CSDL để hỗ trợ

Khi xử lý xong yêu cầu, kết quả sẽ được trả về View Tại View sẽ tạo mã HTML thành giao diện và trả về hiển thị trên trình duyệt. [6]

Trang 36

2.2.4 Tại sao dùng mô hình MVC

Ưu điểm của mô hình MVC

• Nhẹ, tiết kiệm băng thông: MVC không sử dụng viewstate nên khá tiết kiệm diện tích băng thông Khi sử dụng, người dùng có thể sử dụng ứng dụng trên web cần tương tác gửi và nhận dữ liệu một cách liên tục Do

đó, việc giảm băng thông giúp cho trang web hoạt động tốt và ổn định hơn

• View và size: View sẽ là nơi lưu trữ các dữ liệu Càng nhiều yêu cầu được thực hiện thì kích thước càng tệp càng lớn Khi đó, đường truyền mạng cũng giảm tốc độ load Việc sử dụng mô hình MVC sẽ giúp người dùng tiết kiệm được diện tích băng thông một cách tối ưu

Trang 37

sẽ được giảm tải khá nhiều

• Đơn giản: Đây là một mô hình với kết cấu tương đối đơn giản Dù người lập trình không có quá nhiều chuyên môn cũng có thể sử dụng được. [6]

Nhược điểm của mô hình MVC:

• MVC thường được sử dụng vào những dự án lớn Do đó, với các dự án nhỏ, mô hình MVC có thể gây cồng kềnh, tốn thời gian trong quá trình phát triển cũng như thời gian trung chuyển dữ liệu. [6]

Tóm lại, MVC đang là mô hình được ứng dụng rất nhiều trong lập trình

• Hệ thống MVC phát triển tốt sẽ cho phép phát triển front – end, back – end cùng trên hệ thống mà không có sự can thiệp, chia sẻ, chỉnh sửa các tập tin trong khi một hoặc hai bên vẫn đang làm việc

• Việc sử dụng mô hình tương đối đơn giản Chỉ cần hiểu rõ quy trình vận hành, nắm được các chức năng của từng bộ phận thì việc triển khai

mô hình MVC tương đối dễ dàng. [6]

2.3 Tổng quan về Java SpringMVC

2.3.1 Khái niệm Java

Java là một trong những ngôn ngữ lập trình hướng đối tượng Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động

Java được khởi đầu bởi James Gosling và đồng nghiệp ở Sun MicroSystem năm 1991 Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem

Trang 38

Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA) Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. [7]

Đặc điểm của ngôn ngữ lập trình Java

Tương tự C++, hướng đối tượng hoàn toàn

Trong quá trình tạo ra một ngôn ngữ mới phục vụ cho mục đích chạy được trên nhiều nền tảng, các kỹ sư của Sun MicroSystem muốn tạo ra một ngôn ngữ dễ học và quen thuộc với đa số người lập trình Vì vậy họ đã sử dụng lại các cú pháp của

C và C++ Tuy nhiên, trong Java thao tác với con trỏ bị lược bỏ nhằm đảo bảo tính

an toàn và dễ sử dụng hơn Các thao tác overload, goto hay các cấu trúc như struct và union cũng được loại bỏ khỏi Java. [7]

Độc lập phần cứng và hệ điều hành

Một chương trình viết bằng ngôn ngữ Java có thể chạy tốt ở nhiều môi trường khác nhau Gọi là khả năng “cross-platform” Khả năng độc lập phần cứng và hệ điều hành được thể hiện ở 2 cấp độ là cấp độ mã nguồn và cấp độ nhị phân

Ở cấp độ mã nguồn: Kiểu dữ liệu trong Java nhất quán cho tất cả các hệ điều hành và phần cứng khác nhau Java có riêng một bộ thư viện để hỗ trợ vấn đề này Chương trình viết bằng ngôn ngữ Java có thể biên dịch trên nhiều loại máy khác nhau

mà không gặp lỗi

Ở cấp độ nhị phân: Một mã biên dịch có thể chạy trên nhiều nền tảng khác nhau mà không cần dịch lại mã nguồn Tuy nhiên cần có Java Virtual Machine để thông dịch đoạn mã này. [7]

Ngôn ngữ thông dịch

Ngôn ngữ lập trình thường được chia ra làm 2 loại (tùy theo các hiện thực hóa ngôn ngữ đó) là ngôn ngữ thông dịch và ngôn ngữ biên dịch

Trang 39

Ngôn ngữ lập trình Java thuộc loại ngôn ngữ thông dịch Chính xác hơn, Java

là loại ngôn ngữ vừa biên dịch vừa thông dịch Cụ thể như sau:

Khi viết mã, hệ thống tạo ra một tệp java Khi biên dịch mã nguồn của chương trình sẽ được biên dịch ra mã byte code Máy ảo Java (Java Virtual Machine) sẽ thông dịch mã byte code này thành machine code (hay native code) khi nhận được yêu cầu chạy chương trình

Hình 2.5: Mô hình hệ thống Complier Java

Ưu điểm : Phương pháp này giúp các đoạn mã viết bằng Java có thể chạy được trên nhiều nền tảng khác nhau Với điều kiện là JVM có hỗ trợ chạy trên nền tảng này

Nhược điểm : Cũng như các ngôn ngữ thông dịch khác, quá trình chạy các đoạn mã Java là chậm hơn các ngôn ngữ biên dịch khác (tuy nhiên vẫn ở trong một mức chấp nhận được). [7]

Cơ chế thu gom rác tự động

Khi tạo ra các đối tượng trong Java, JRE sẽ tự động cấp phát không gian bộ nhớ cho các đối tượng ở trên heap

Trang 40

Với ngôn ngữ như C \ C++, người lập trình sẽ phải yêu cầu hủy vùng nhớ mà người lập trình đã cấp phát, để tránh việc thất thoát vùng nhớ Tuy nhiên vì một lý do nào đó, người lập trình không hủy một vài vùng nhớ, dẫn đến việc thất thoát và làm giảm hiệu năng chương trình

Ngôn ngữ lập trình Java hỗ trợ cho người lập trình điều đó, nghĩa là người lập trình không phải tự gọi hủy các vùng nhớ Bộ thu dọn rác của Java sẽ theo vết các tài nguyên đã được cấp Khi không có tham chiếu nào đến vùng nhớ, bộ thu dọn rác sẽ tiến hành thu hồi vùng nhớ đã được cấp phát. [7]

Đa luồng

Java hỗ trợ lập trình đa tiến trình (multithread) để thực thi các công việc đồng thời Đồng thời cũng cung cấp giải pháp đồng bộ giữa các tiến trình (giải pháp sử dụng priority…).[7]

Tính an toàn và bảo mật

Tính an toàn

• Ngôn ngữ lập trình Java yêu cầu chặt chẽ về kiểu dữ liệu

• Dữ liệu phải được khai báo tường minh

• Không sử dụng con trỏ và các phép toán với con trỏ

• Java kiểm soát chặt chẽ việc truy nhập đến mảng, chuỗi Không cho phép sử dụng các kỹ thuật tràn Do đó các truy nhập sẽ không vượt quá kích thước của mảng hoặc chuỗi

• Quá trình cấp phát và giải phóng bộ nhớ được thực hiện tự động

• Cơ chế xử lý lỗi giúp việc xử lý và phục hồi lỗi dễ dàng hơn

Tính bảo mật

Java cung cấp một môi trường quản lý chương trình với nhiều mức khác nhau

• Mức 1: Chỉ có thể truy xuất dữ liệu cũng như phương phức thông qua giao diện mà lớp cung cấp

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

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w