1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng ứng dụng website bán văn phòng phẩm và sử dụng thuật toán Apriori để gợi ý mua hàng

135 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây dựng ứng dụng website bán văn phòng phẩm và sử dụng thuật toán Apriori để gợi ý mua hàng
Tác giả Hồ Quốc Tuần, Hoàng Thị Thanh
Người hướng dẫn Ths. Mai Xuân Hùng
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Hệ thống Thông tin Quản lý
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 135
Dung lượng 34,02 MB

Nội dung

Sử dụng để truy cập một số phương thức của hệ thống, từ Software Development Kit, La các công cụ và phần mềm dùng dé phát triển ứng dụng thông qua một nền tảng nhất định Internet Informa

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA HE THONG THONG TIN

HO QUOC TUAN

HOANG THI THANH

KHOA LUAN TOT NGHIEP

XAY DUNG UNG DUNG WEBSITE BAN VAN PHONG PHAM VA SU DUNG THUAT TOÁN APRIORI DE GOI Ý

MUA HANGBuild a website for selling stationery and using Apriori algorithm for purchase suggestion

KY SU/ CU NHAN NGANH HE THONG THONG TIN QUAN LY

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA HE THONG THONG TIN

HO QUOC TUẦN - 17521211

HOANG THỊ THANH - 17521045

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

XÂY DỰNG UNG DUNG WEBSITE BAN VAN PHÒNG PHAM VÀ SỬ DỤNG THUẬT TOÁN APRIORI DE GỢI Ý

MUA HÀNG

Build a website for selling stationery and using Apriori algorithm for purchase suggestion

KY SU/ CU NHAN NGANH HE THONG THONG TIN QUAN LY

GIANG VIEN HUONG DAN Ths MAI XUAN HUNG

Trang 3

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số

của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

ĐHQG TP HO CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

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

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

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

(CUA CÁN BỘ HƯỚNG DAN)

Tên khóa luận:

XÂY DUNG UNG DỤNG WEBSITE BAN VAN PHONG PHAM

VA SU DUNG THUAT TOAN APRIORI DE GOI Y MUA HANG

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

Hoàng Thị Thanh 17521045 ThS Mai Xuân Hùng

Hồ Quốc Tuan 17521211

Đánh giá Khóa luận

1 Vé cuôn báo cáo:

Số trang 115 Số chương 5

Số bảng 69 Số hình 93

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

Trang 5

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 yê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:

Hoàng Thị Thanh /10

Hồ Quốc Tuan /10

Nguoi nhan xét (Ký tên và ghi rõ ho tên)

Trang 6

ĐHQG TP HÒ CHi MINH CONG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Tên khóa luận:

XÂY DỰNG UNG DUNG WEBSITE BAN VĂN PHONG PHAM

VÀ SỬ DỤNG THUẬT TOÁN APRIORI DE GOI Ý MUA HANG

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

Hồ Quốc Tuấn 17521211 ThS Vũ Minh Sang

Hoàng Thị Thanh 17521045

Đánh giá Khóa luận

1 Vé cuôn báo cáo:

Số trang 115 Sốchương 5

A 6 hình 9

Số bảng 69 Số hìh 93

Sảnphâm 1

Số tài liệu tham khảo 12

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

Trang 7

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 yê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:

Hoàng Thị Thanh /10

Hồ Quốc Tuấn 0

Người nhận xét (Ký tên và ghi rõ họ tên)

Trang 8

LỜI CẢM ƠNKhoảng thời gian bốn năm học tập tại Trường Đại học Công nghệ thông

tin đã giúp chúng em học hỏi được rất nhiều điều, từ những bài học vỡ lòng,

những kiến thức chuyên môn và những lời khuyên bổ ích Khóa luận tốt nghiệp

với dé tài “Xây dựng ứng dụng website bán văn phòng phẩm va sử dụng thuậttoán Apriori để gợi ý mua hàng” được ra đời là kết quả của việc vận dụng kiến

thức đã học, sự tìm tòi, học hỏi cái mới, bên cạnh đó là sự nhiệt tình hướng dẫncủa thầy cô, sự giúp đỡ và hỗ trợ từ gia đình và bạn bè chính là động lực lớn

giúp chúng em hoàn thiện khóa luận này Một cách đặc biệt, nhóm chúng em

xin được gửi lời cảm ơn chân thành đến:

Các thầy cô trường Đại học Công nghệ thông tin nói chung và các thầy cô

trong Khoa Hệ thống thông tin nói riêng đã tận tình truyền đạt kiến thức tới

chúng em trong những năm học tập tại trường Đó là tài sản quý báu đã giúp

chúng em hoàn thành khoá luận và cũng là hành trang cho con đường sự nghiệp của bản thân sau này.

Chúng em xin được gửi lời cảm ơn sâu sắc tới Ths Mai Xuân Hùng, người

trực tiếp hướng dẫn, đã luôn tạo điều kiện tốt nhất cho nhóm và giúp đỡ chúng emnhững lúc gặp khó khăn đề chúng em có thé hoàn thành khóa luận đúng tiến độ

Xin gửi lời cảm ơn đến bạn bè đã giúp đỡ, chia sẻ những kinh nghiệp quýbáu và ủng hộ nhóm trong quá trình thực hiện đề tài

Cuối cùng xin gửi lời cảm ơn đến gia đình, những người đã tạo điều kiện tỉnhthần, vật chất cho nhóm trong quá trình học tập và nghiên cứu

TP Hồ Chí Minh, ngày 05 tháng 07 năm 2021

Nhóm tác giả

Trang 9

MỤC LỤC

Chương 1 MỞ ĐẦU 2 2222222222E2522222211122221122271112771112171112 2.111 ce 3

1.1 Giới thiệu đề tài -22222c222v 2222112222112 c1 cre 31.2 Lý do chọn đề tài :22++222v2+t2222312222111222111122211112271111 21111 xe 4Chương 2 TONG QUAN DE TÀI 222¿222222+22222E2222E2EE2EEEerrtrrkrcree 5

DL MUC Ti6U ố 5 2.2 PAM View a 5 2.3 Phương pháp thực hiỆn - + + S111 HT HH rêc 72.4 Ý nghĩa thực tiễn 2 22+-22S++222222121222111122771122271112227111 22.11 cv 72.5 Kết quả dự kiến .22: 2222222221111222111122711122771122.201112.1 2 eree 72.6 Hiện trạng bài tOán ¿+ - St 2 121211112121 1111110121200 0 01g00 ty 8

2.7 Hướng giải QUYẾT -22c:22222222222222222211222221111222111122221111.2111 1.2111 E11 ce 9Chương 3 KIÊN THỨC NEN TẢNG -ccccccz+22Evcvevecrrrrrrrrrrer 03.1 Thuật toán sử dụng

3.1.1 Thuật toán khai phá luật kết hợp Apriori -¿©2scc+ccsscee 0

knnn‹4 0 0 3.1.1.2 Tiêu chí chọn minsupp, minCOnÏ -++ ++-+x+c++xrrxer 2 3.1.1.3 Các bước thực hiện

3.1.1.4 Đánh giá thuật toán -. ¿- + ccc+ctetetereterkerierirerrrree 5

Trang 10

K5.) 26 3.2.6 Identity

Kon 28

3.2.8 Azure SQL database

3.2.9 Azure App Service va App Service Plan - s5 555c+c+ccss+ 31

Chương 4 DỰNG WEBSITE BAN VAN PHONG PHAM

4.1 Phân tích yêu cầu hệ thOng ccccccssssesssssssesssssssesssssseessssssesesssssessssssesesssseeeeessne334.1.1 Phân tích yêu cầu chức năng

4.1.1.1 Yêu cầu lưu trữ cccccrrtrrttrrrrrrrrrrrrirriiiiiiiiriiiirrrirrrree 334.1.1.2 Yêu cầu về tính năng -¿¿22¿2222+++222vvzvcvEvvvrrrrrrrrrrrrrer 344.1.2 Phân tích yêu cầu phi chức năng ¿ vc+++z+2tcvvvvverrrrrrrr 344.1.3 Phân tích yêu cầu người dùng -::¿¿£2222vv+crtttrrrrrrrrrrrrrrrr 34

4.1.3.1 Mô hình Use case toàn hệ thống ¿ ©22z222+zz+cczs+ 354.1.3.2 Danh sách các AC{OFS ¿- - 5+ Ssxseetsrererrrerrrrrrrrrir DD, 4.1.3.3 Danh sách các Use Case - 55c csccsxseseererererscr TỔ

4.2 Phân tích thiết kế hệ thống -2¿:©222++22ES+++2EEEE+rttEEEEvrrtrrrrrrrrrrer 384.2.1 Thiết kế xử lý những chức năng chính ¿ 252552 384.2.1.1 So đồ hoạt động chức năng Đăng nhập -: 22 384.2.1.2 So đồ hoạt động chức năng Dang ký tài khoản -.- 42

4.2.1.3 Sơ đồ hoạt động chức năng Tìm kiếm sản phẩm - - 444.2.1.4 Sơ đồ hoạt động chức năng Đặt hàng -cccs⁄ 46

4.2.1.5 Sơ đồ hoạt động chức năng Quản lý thông tin người dùng 484.2.1.6 Sơ đồ chức năng Bình luận sản phẩm - -:55+ 504.2.1.7 Sơ đồ hoạt động chức năng Quản lý tài khoản .- 53

Trang 11

4.2.1.8 Sơ đồ hoạt động chức năng Quản lý đơn hàng .- 574.2.1.9 Sơ đồ hoạt động chức năng Quan lý giỏ hàng

4.2.1.10 Sơ đồ hoạt động chức năng Quản lý kho . -s+ 654.2.1.11 Sơ đồ hoạt động chức năng Quản lý khuyến nghị

4.2.1.12 Sơ đồ hoạt động chức năng Quên mật khẩu .- 73

4.2.1.13 Sơ đồ chức năng Quản lý thống kê doanh thu

4.2.2 Thiết kế cơ sở đữ liệu ::cccc 2222222221222 re 714.2.2.1 Lược đồ cơ sở đữ liệu

4.2.2.2 Mô tả các bảng dữ liệu 5< St tt ưêc 78

4.3 Triển khai hệ thỐng - -¿ 222222E2+++22E222+tEEESEvtEEEEvrertrrvrrrrrrkrrrerrrei 964.3.1 Kiến trúc hệ thống tổng th -+ccc+e+22EEErvrvrrrrrrrrrrrrrrerrrri 964.3.2 Kiến trúc hệ thống Web -¿ 2222222222212 re 97

4.3.3 Thiết kế giao dit csccsccsssccsssssseessssseessssssesssssssecssssiseesesssseesssssecsssseesesssseeee 974.3.3.1 Danh sách man hình - - ¿5+ x2 ‡£vEvxeEexstetevevrerrrerexee 974.3.3.2 Một số màn hình của trang web -cz+22ccvvsccccczee 00Chương 5 KET LUẬN VÀ HƯỚNG PHAT TRIÉN . : - + 14

5.1 Kết quả đạt được 22s: 2221112222112 212111 1111.1111 e recrrei 14

LH 0 00 18 15

cm nh ốẽ (£dqẬằậẬH)Hậ) 15

5.3 Hướng phát tridin cccscccscssssesscssssessssssecessssuesessssusesssssesessssessessssecsesssseseessseess 15

TÀI LIEU THAM KHAO\ sssscsssssssscsssssescssssscsssssssecsssiucscsssiscesssiscesssuecssstesessseess 16

Trang 12

DANH MỤC HÌNH

Hình 3.1: Hình ảnh logo của HTML Õ ¿+ +52 ‡v£vxvEeveteterrererrrevee 17

Hình 3.2: Hình ảnh về CSS2 2 -2222-2222+22222211222211112212112221111E211ecrer 17Hình 3.3: Hình ảnh logo Javascript St 1k Sun 18

Hình 3.4: Logo bootstrap 5c S2 S223 12 9 221711311 121101111111 xe 19

Hình 3.5: Các phiên bản của ASP.NET Core và nền tảng thực thi 20Hình 3.6: Mô hình MVC cà HH HH nu 21

Hình 3.7: Ba khái niệm khác nhau - ¿652232 S33 SE ££E+t+eE+vEeteeEeereseereserszee 22Hình 3.8: Minh họa các DI làm việc va inject các dependency cho mô đun cấp cao

— 23

Hình 3.9: Các ứng dụng, hệ điều hành được hỗ trợ sử dung EF Core 24Hình 3.10: Các các tiếp cận của Entity Framework COre - : -:css+ 25Hình 3.11: Cách làm việc của SignalR - + 55+5c+c+ccscccecxseee 27Hình 3.12: Sơ đồ hoạt động của hangfire -ccc:++2222vcvvvrrrrrrrrrrrrrerree 30Hình 3.13: Bảng điều khiển phân tích SQL trên hệ thống Azure - - 31

Hình 3.14: Sơ đồ vị trí của App Service và App service plan 32

Hình 4.1: Sơ đồ UC chức năng đăng nhập -. -¿¿++z++222+ze+zrzxzresrr 38

Hình 4.2: Đăng nhập với bên thứ 3 ¿+ ¿5+ +‡tscx+tsrkerrtererrrkrrrkrrver 39

Hình 4.3: Đăng nhập bằng tài khoản hệ thống ¿¿2c++225+ccz+ccssce2 40Hình 4.4: Sơ đồ UC đăng ký tài khoản 222222 2222222 EErerrrtrrerrrrrrrrrr 42Hình 4.5: Đăng ký với hệ thống -©2222222+t222222 E211 re 43Hình 4.8: Tìm kiếm thông tin sản phẩm . :-¿¿£©+z++222vvcz+evvsvrerz 45

Hình 4.9: Sơ đồ UC đặt hàng „46Hình 4.10: Sơ đồ hoạt động chức năng đặt hàng 7

Hình 4.11: Sơ đồ UC quản lý thông tin người dùng 8Hình 4.12: Sơ đồ chức năng cập nhật thông tin người dùng 49

Hình 4.13: Sơ đồ chức năng xem thông tin người đùng - 2 50

Hình 4.14: Sơ đồ UC đánh giá, bình luận sản phẩm - -72c55cccc+2 50Hình 4.15: Sơ đồ chức năng đánh giá sản phẩm -¿©2+cz+222sz+z+rz 51

Trang 13

Sơ đồ chức năng bình luận sản phẩm -.: ¿©5552 52

Sơ đỗ UC quản lý tài KHOA v eecccccccsssssesssssssesssssseceessssesesssseceessseeseessseeees 53

Sơ đồ chức năng thêm tài khoản -:¿52222vvvcvetrtrvrrreercee 54

Sơ d6 chức năng tìm kiếm tài khoản - -2¿5225+c+eccvsvcecrz 54

Sơ đỗ chức năng xóa tài khoản 2¿-©++z+22+z+z£E2E+zerrrrxeerrrr 55

Sơ dé chức năng xem thông tin tài khoản -.- ¿z2 55

Sơ đồ chức năng khóa tài khoản - 2222©222z+c2222vzceccvseresrr 56

Sơ đồ UC quản lý đơn hàng của A dmin - : 255c:5255scescz 57

Sơ đồ UC quản lý đơn hang của Quản kho - - -=+5s<+ 57

Sơ đồ UC quản lý đơn hàng của Shipper -ccc:-525cccccccce2 58

Sơ đồ UC quản lý đơn hàng của khách hàng -= 58

Sơ đồ chức năng xem đơn hàng -+£222222v2ccr+trcrvvxee 59

So dé chức năng hủy đơn hang 60

So dé chức năng thêm đơn hàng

Hình 4.30: Sơ đồ UC chức năng quản lý giỏ hàng 62

Hình 4.31: Sơ đồ chức năng thêm sản phẩm vào giỏ hàng „603

Hình 4.32: Sơ đồ chức năng cập nhật thông tin trong giỏ hàng 64Hình 4.33: Sơ đồ UC quản lý kho hàng của quản kho - ¿©c5sccz 65

Hình 4.34: Sơ đồ UC chức năng quan lý kho hàng của Admin 65

Hình 4.35: Sơ đồ chức năng thêm phiếu yêu cầu nhập kho - 66Hình 4.36: Sơ đồ chức năng xem sản phẩm tồn kho . -72cccccccc+2 67Hình 4.37: Sơ đồ chức năng cập nhật số lượng sản phẩm đã nhập của phiếu nhập

ANY 67Hình 4.38: Sơ đồ chức năng xem đơn nhập hàng ¿+2 68

Hình 4.39: Sơ đồ chức năng từ chối yêu cầu nhập hàng - 68

Hình 4.40: So đồ chức năng duyệt phiếu yêu cầu nhập hàng -. - 69Hình 4.41: Sơ đồ UC quản lý khuyến nghị cho Admin -z+ 69

Hình 4.42: Sơ đồ UC quản lý khuyến nghị đối cho khách hàng 70Hình 4.43: Sơ đồ UC quản lý khuyến nghị cho Quản kho - 70

Trang 14

Hình 4.44: Sơ đồ chức năng xem sản phâm khuyến nghị - - 71

Hình 4.45: So đồ chức năng xem gợi ý sản phẩm - 2-22 72

Hình 4.46: Sơ đồ chức năng thực hiện thuật toán đề tìm luật kết hợp 72Hình 4.47: Sơ đồ UC chức năng quên mật khẩu : :2+2:5scez+ 73

Hình 4.48: Sơ đồ hoạt động chức năng quên mật khẩu -+ 74

Hình 4.49: Sơ đồ UC thống kê doanh thu 222222++z222222vvvzrrrrrrrrrrrer 75Hình 4.50: Sơ đồ chức năng thống kê doanh thu - ¿©2225 76Hình 4.51: Mô hình quan hệ của hệ thống - 2£©222++2222+zz+ccvsvrerr 78

Hình 4.52: Kiến trúc tổng thé của hệ thống -z£©22222cc+z++ccczvxe+ 96

Hình 4.59: Giao diện bình luận san pham 03

Hình 4.60: Giao diện gio hang 103

Hình 4.61: Giao diện đặt hang - ¿SE HH 04Hình 4.62: Giao diện thanh toán bằng ví Momo 2cz£222vscc+2 04Hình 4.63: Giao diện theo dõi đơn hàng cho khách hàng - - ++-++ 05

Hình 4.64: Giao diện quản lý thông tin cá nhân của khách hàng 05Hình 4.65: Giao diện bảng điều khiển cho quản trị viên .-: -s+ 06

Hình 4.66: Giao diện xem đơn hàng mới cho quản trị viên -‹- 06Hình 4.67: Giao điện danh sách các sản phẩm khuyến nghị cho quản trị viên 07

Hình 4.68: Giao diện quản lý thống kê -V2VV222222222222++rrrrttrrrrrrrrrr 07

Hình 4.69: Giao diện thống kê doanh thu theo năm -cz-+++ 08Hình 4.70: Giao diện quan lý tài khoản nhân viên -¿- ¿5-5 +5+5+s+c+s+xe+ 08

Hình 4.71: Giao diện quản lý thông tin khuyến mại cho quản trị viên 09

Hình 4.72: Giao diện cập nhật lại thông tin khuyến mại cho quản trị viên 09

Trang 16

DANH MỤC BANG

Bảng 3.1:Bang lượt mua sản phẩm trong đơn hàng ¿+55 sscsxsesererersee 14

Bang 3.2: Bảng tập phổ biến 1 phần tử -22c22cc+2222EEvvvrrrrrrrrrrrrrrrree 14 Bảng 3.3: Bảng tập phô biến 2 phần tử - 2 222222222+t222ESzvetvExvrrerrrrrrrrrr 14

Bảng 3.4: So sánh kết quả thực hiện thuật toán tại các tham số khác nhau 16

Bảng 4.1: Danh sách các actor trong hệ thống ¿7c55ccvccvsccsrrssccc 3Õ) Bảng 4.2: Bảng tóm tắt các Use Case 2222222222222 221 re 37 Bang 4.3: Mô tả Use case Đăng nhập - + ¿52 SE 39 Bảng 4.4: Nguyên tắc thực hiện Use case Đăng nhập - ¿c2 Al Bang 4.5: Mô ta Use case Dang ký tài khoản «55s cccsccsrererxerrrrerrer 42 Bang 4.6: Nguyên tắc thực hiện Use case Dang ký tài khoản 44

Bảng 4.7: Mô tả Use case Tìm kiếm sản phẩm Bang 4.8: Nguyên tắc thực hiện Use case Tìm kiếm sản phẩm - 46

Bảng 4.9: Mô ta Use case Đặt hàng - 5:52 22222222 46 Bang 4.10: Nguyên tắc thực hiện Use case Dat hàng -: -2 48 Bảng 4.11: Mô tả Use case Quản lý thông tin người dùng -. - 49

Bang 4.12: Nguyên tắc thực hiện Use case Quản lý thông tin người dùng 50

Bang 4.13: Mô tả Use case Đánh giá bình luận sản phẩm - 5

Bảng 4.14: Nguyên tắc thực hiện Use case Bình luận sản phẩm 52

Bang 4.15: Mô ta Use case Quản lý tài khoản + scssveerrrrrerrrree 53 Bang 4.16: Nguyên tắc thực hiện Use case Quản lý tài khoản 56

Bảng 4.17: Mô tả Use case Quản lý đơn hàng ¿c6 + c+rrekererrek 59 Bang 4.18: Nguyên tắc thực hiện Use case Quản lý don hàng 62

Bảng 4.19: Mô tả Use case Quản lý giỏ hàng „603 Bang 4.20: Mô tả Use case Quản lý kho Ó6 Bảng 4.21: Nguyên tắc thực hiện Use case Quản lý kho 69

Bảng 4.22: Mô tả Use case Quản lý khuyến nghị 2¿22222cc2ccvzzcesrr 70 Bảng 4.23: Nguyên tắc thực hiện Use case Quản lý khuyến nghị - 73

Bảng 4.24: Mô tả Use case Quên mật khẩu -2¿2vzz+222vvre+cvvsrreerr 74

Trang 17

Nguyên tắc thực hiện Use case Quên mật khẩu ccccccccee 75

Nguyên tắc thực hiện Use case Quan lý thống kê doanh thu 75

Mô tả Use case Quản lý thông kê doanh thu -c-+-+-++ 76

Bang Bann€Ts ¿5-5 + 5c S111 2 TT 121 1211212121 0111212 rên 78 Bảng Biill cà n nt tre 78 Bảng BillDetail 55t 2t re 79

Bảng CAaT(Ï(€INS, 6 E121 1 3 1912171211111 T HH0 ti 79

09,0 ÔÔỒ'Ô 79 Bảng COImmETI( 5-5-5 525525 S‡E*EEE2E2EEEEESEEEEEESEEErrkrkrrrrrrerkree 80

Bang Delivery Ad(T€Ss Sàn 12k SH HH vưy §0

Bảng Districts + Sàn” gu 81 Bang ExportWarehouse cccccesseeeesesesesseseseseseseesesesesrsneeasseeseseeaeee 81

Bang ImportWarehouse 81

Bang ImportWarehouseDetail 82

Bang MoMoPayment „82 Bang Notification „83

Bảng NotificationTypeld „83

40)" đố 85 Bang Orderetail - - c6 S22 E2 2 22121011111 rke 85 Bảng PaypalPayImenn( ‹ xà nén HH it §6

Bảng Product 5 5252222223232 212121 1111121212101 re 86

Bang Productletail ¿+ + St E1 HH1 10101 1 rên 87 Bang Productlmages c.ccsesssessssesescsesesseseseseseseesesescsssneseaeseesseeeseae 87 Bang PTOVIIC€S tt it 88

Bảng Rating Sàn HH HH ng it 88

Bang RatinglDetaill -¿- 5-5 2+ St HH Hư 88 Bảng ReceiptR€qU€S( - - càng it 89

Bang ReceiptRequestDetail - 555552 Sc+2+xcssrretererrrerree 89

Bang Recommendation - -¿-¿- ¿5S S2 S*£‡+‡Eekezeererererrkrxee 89

Trang 18

Bảng S€S 2 2S 212212 2222121221122 111 re 94

Bảng Wards - Làn HH giờ 94 Bảng WorkflowHistory 5-55: 2S strsetetererrrrrrererrrrree 95

Bảng UserConnectiOn 5525 S+St2*‡+‡+2sexextkerrrerrerererreee 95

Bảng UserConnectionDetail -¿- 5-5 <5 St+x+x+Eexererkrkekererrkree 96 Danh sách màn hình -¿ - 55+ 5+ 5222S£+£2£+tzE+Eexererrtzrererreree 99

Trang 19

DANH MỤC TU VIET TAT

Y nghia

Document Object Model La mot chuẩn được định nghĩa bởi

W3C (Tổ Chức Web Toàn Cầu — World Wide WebConsortium) DOM được dùng dé truy xuất và thao tác trên các

Application Programming Interface, Giao diện lập trình ứngdụng Sử dụng để truy cập một số phương thức của hệ thống, từ

Software Development Kit, La các công cụ và phần mềm dùng

dé phát triển ứng dụng thông qua một nền tảng nhất định

Internet Information Services, chính là các dịch vụ dành cho

máy chủ chạy trên nền hệ điều hành Window nhằm cung cấp và

User Interface: là những gi chting ta nhìn thấy va giao tiếp với

Asynchronous JavaScript and XML Day là một bộ các kỹ thuậtthiết kế web giúp cho các ứng dụng web hoạt động bat đồng bộ

— Xử lý mọi yêu câu tới server từ phía sau mà không cân tải lại

AJAX

cả trang web.

DNS Domain Name System là hệ thống phân giải tên miền

Trang 20

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

Khóa luận tốt nghiệp với dé tài 'Xây dựng ứng dung website bán văn phòng

phẩm và sử dụng thuật toán Apriori để gợi ý mua hang’ tập trung vào việc tim hiểu,

nghiên cứu và phân tích thực trạng những website hiện tại và xây dựng một website

mới, học hỏi những ưu điểm và khắc phục các khuyết điểm của các website cũ Đâycũng là cơ hội để vận dụng những kiến thức đã học vào bài toán thực tế, tìm tòi, học

hỏi những công nghệ mới phù hợp với khóa luận.

Nhóm đã áp dụng mô hình thác nước trong quá trình nghiên cứu và phát triển

website Ở giai đoạn đầu, nhóm tiến hành nghiên cứu tìm hiểu lý thuyết về cách

phát triển website bằng ASP.NET CORE, HTML, CSS, Javascript, Jquery,

Bootstrap, Entity Framework Core, kỹ thuật lập trình Dependency Injection và cácthư viện SignalR, Identity, Hangfire Ở giai đoạn tiếp theo, nhóm thực hiện phân

tích va thiết kế các chức năng cho website, thiết kế cơ sở đữ liệu ban đầu Ở giai

đoạn thực hiện, nhóm tiến hành thiết kế giao diện và hoàn thiện website Trong giaiđoạn vận hành, website đã được triển khai lên Azure sử dụng các dịch vụ Azure

SQL Database, Azure App Service và App Service Plan.

Phần cuối cùng của khóa luận là trình bày kết quả đạt được, đưa ra kết luận

và hướng phát triển cho website trong tương lai

Trang 21

Chuong 1 MỞ DAU

1.1 Giới thiệu đề tai

Van phòng phẩm là những vật phẩm phục vụ cho các hoạt động văn phòng, họctập của học sinh, sinh viên, Ngành kinh doanh văn phòng phẩm là một ngành

thiết yếu trong cuộc sống, có tiềm năng nhờ thị trường lớn, nhu cầu lớn đến từ các

em học sinh, sinh viên và các văn phòng Các sản phẩm văn phòng pham đang ngàycàng phong phú, đa dạng, đáp ứng nhu cầu học tập, làm việc và sáng tạo của người

tiêu dùng.

Các doanh nghiệp kinh doanh văn phòng phẩm có những điều kiện thuận lợi

nhất định để phát triển mạnh mẽ Để tăng sức cạnh tranh, bên cạnh việc bài trí cửahàng hợp lý, đẹp mắt, cung cấp các sản phâm da dang đề thu hút người mua, nhiều

cửa hàng đã và đang ứng dụng công nghệ thông tin vào việc quản lý, bán hàng để

tăng hiệu quả kinh doanh và giảm chi phí quản lý.

Theo danh sách số lượng người sử dụng Internet của các quốc gia năm 20211, Việt

Nam hiện có khoảng 74 triệu người sử dụng Internet, chiếm 76.1 % tổng dân số Đây

sẽ là lợi thế lớn với các doanh nghiệp tiếp cận được lượng người dùng này

Việc ứng dụng công nghệ thông tin đã tạo ra những lợi thế canh tranh cho ngành

kinh doanh văn phòng phẩm, đồng thời tạo ra những cơ hội cho ngành công nghệ

thông tin khi vẫn còn nhiều những doanh nghiệp chưa có cho riêng mình trang web

để quảng bá và hỗ trợ việc mua bán, quản lý Chính vì vậy, nhóm đã quyết định lên

ý tưởng và thực hiện đề tài với mong muốn đưa công nghệ thông tin ứng dụng

nhiều hơn nữa vào đời sống, cụ thể là trong ngành kinh doanh văn phòng phẩm

' Danh sách từ nguồn World Internet Users: https://www.internetworldstats.com/stats3.htm

Trang 22

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

Xuất phát từ sự yêu thích đối với những cuốn sách, những món đô đáng yêu

được bài trí trong các cửa hàng văn phòng phẩm, nhóm đã ghé thăm một số websitebán văn phòng phẩm dé tìm hiểu và nhận thấy rằng, ngoài những của hàng thực sự

lớn như Fahasa mới có website chính thức đáp ứng đầy đủ những chức năng cần

thiết và đem lại trải nghiệm tốt nhất cho người dùng, hầu hết các website mà nhómtìm hiểu đều có những khuyết điểm riêng Nhóm mong muốn có thể dùng khả năng

và hiểu biết của minh dé xây dựng một trang web đáp ứng các chức năng cơ bản và

khắc phục những khuyết điểm mà nhóm đã trải nghiệm, xa hơn nữa là đưa sản

phẩm đến với những doanh nghiệp vừa và nhỏ dé góp phan tin học hóa những

doanh nghiệp chưa có cơ hội để ứng dụng công nghệ thông tin vào doanh

nghiệp/cửa hàng của mình.

Trang 23

Chương 2 TONG QUAN DE TÀI

2.1 Mục tiêu

Đề tài hướng đến việc xây dựng một website bán hàng và quản lý cửa hàng cơ bảnnhắm đến đối tượng là các cửa hàng văn phòng phẩm ở quy mô trung bình, có chỉ

phí đầu tư website bán hàng ở mức vừa phải Website không chỉ là nơi để khách

hàng có thể ghé thăm và đặt hàng online mà còn có khả năng giúp chủ cửa hàng

quản lý cửa hàng bao gồm việc bán hàng, quản lý hàng tồn kho và nắm bắt các

thông tin giao hàng.

Ngoài ra, ứng dụng cũng là nơi sinh viên áp dụng những kiến thức đã học về xây

dựng website, các bài toán khai thác dữ liệu cũng như học hỏi những công nghệ

mới.

2.2 Phạm vi

Đề tài tập trung vào xây dựng website bán hàng với các chức năng chính:

a Admin:

- Thêm, xóa, sửa, tim kiếm thông tin sản phẩm

- Xem thống kê doanh thu, thống kê lượng hàng nhập vào, bán ra theo mốc thời

gian, theo loại sản phẩm, theo danh mục sản phẩm

- Quản lý khuyến mãi

- _ Xem khuyến nghị sản phẩm nên nhập (sử dụng thuật toán Appriori để tính toán)

- _ Xem thông tin kho

- Nhận thông báo khi có đơn hang mới đặt, hàng nhập kho

- _ Thêm, xóa tài khoản của nhân viên

- Xem, thay đổi thông tin cá nhân

- Duyệt yêu cầu nhập xuất kho

- _ Xem thông tin nhập xuất kho

- Quản lý đơn hàng

- Quản lý hóa đơn

Trang 24

Khách hàng

Đăng ký, đăng nhập tài khoản

Tìm kiếm danh sách sản phẩm

Goi ý san pham (Sử dụng thuật toán Apriori)

Thêm vào giỏ hàng

Thay đổi số lượng sản phẩm

Xem thông tin đơn hàng nhập kho/xuất kho

Tạo yêu cầu nhập xuất kho

Xem, thay đổi thông tin cá nhân

Tạo phiếu nhập kho, phiếu xuất kho

Shipper

Xem thông tin đơn hang

Xem, thay đồi thông tin cá nhân

Cập nhật trạng thái đơn hàng (hàng giao cho khách)

Trang 25

2.3 Phương pháp thực hiện

Đề tài được thực hiện bằng cách tìm hiểu, đánh giá các giải pháp đã có, tìm ra

những điểm hay, phù hợp với đề tài dé kế thừa, những nhược điểm đề cải tiền Cáctính năng mới sẽ được bé sung dé website được hoàn thiện hơn và đáp ứng như cầu

sử dụng thực tế của người dùng

Mô hình thác nước được ứng dụng vào quá trình xây dựng và phát triển website

Các giai đoạn được phân chia rõ ràng Các công nghệ mới hữu ích với dự án sẽ

được xác định và tìm hiểu ở giai đoạn đầu và ứng dụng trong suốt quá trình phát

triển

2.4 Ý nghĩa thực tiễn

Website sẽ là cầu nói đưa của hàng đến với khách hàng gan hon, xây dựng môi

trường nơi những người mua có thé khám phá, tìm hiểu các sản phẩm của cửa hang

và có cái nhìn khách quan nhất về các sản phẩm thông qua các nhận xét, đánh giá từkhách hàng đã sử dụng sản phẩm

Sử dụng website cũng là một cách dé tiết kiệm chi phí quản lý, vận hành cũng như

tối ưu hóa hiệu quả kinh doanh nhờ khai thác được tiềm năng từ các khác hàng sử

dụng mạng Internet.

2.5 Kết quá dự kiến

Hiểu rõ về cách hoạt động của các framework, công nghệ được sử dụng như

Identity, Entity Framework, Dependency Injection va ứng dụng một cách hợp lý

vào quá trình xây dựng website.

Xây dựng website với đầy đủ chức năng đã được thiết kế, có độ hoàn thiện cao,

giao diện thân thiện với người dùng, có khả năng mở rộng và sẵn sàng đưa vào môitrường thực tế

Trang 26

2.6 Hiện trạng bài toán

Hiện nay, cùng với sự phát triển của công nghệ hiện đại và mạng Internet,việc ứng

dụng công nghệ thông tin vào quản lý và mua bán thông qua các website các hệ

thống quản lý đang ngày càng phổ biến Bên cạnh đó, dịch bệnh đang trong diễn

biến phức tạp, các cửa hàng đang hạn chế nơi đông người Lúc này các website đãcho thay sự cần thiết dé người tiêu dùng và các chủ cửa hàng kết nối với nhau mộtcách dễ dàng và an toàn hơn Tuy nhiên, theo tìm hiểu của nhóm, các website của

các cửa hàng vừa và nhỏ tuy đáp ứng được một số yêu cầu cơ bản nhưng vẫn còn

nhiều hạn chế Để phục vụ mục đích nghiên cứu cho khóa luận, nhóm đã trải

nghiệm thực tế trực tiếp sử dụng các website của một số cửa hàng văn phòng phẩm

Sau khi trải nghiệm các trang web trên, nhóm đã đưa ra một số nhận xét như sau:

Hau như các website đều có giao diện đẹp mắt, thân thiện với người dùng, các danh

mục phong phú Tuy nhiên, nhóm nhận thấy còn nhiều bat cập, có thé kề đến như:

- _ Đặt hàng không cần đăng nhập: Đây là một tinh năng tiện lợi với những khách

hàng yêu cầu quá trình nhanh, gọn, nhưng khách hang không thé xem lại thông

tin đặt hàng, không thé hủy hàng nếu có nhu cầu

- Phương thức thanh toán mặc định là thanh toán khi nhận hàng: Điều này khá

bất tiện cho những khách hàng có nhu cầu thanh toán trực tuyến

- Không hiển thị phương thức thanh toán: Ở trang web VPP Minh Anh, phương

thức thanh toán hầu như không được thông báo trong bước đặt hàng

? Các trang web được tham khảo từ https://www.yellowpages.vn/tgcls/80224510/danh-s%C3%A

Ich-c%C3%Báng-ty-v%C4%83n-ph%C3%B2ng-ph%E1%BA%A9m.html?i=7

Trang 27

- Đặt hàng và thanh toán thông qua các phương thức khác như Zalo, Messenger,

gọi điện liên hệ trực tiếp,

2.7 Hướng giải quyết

Có thé thấy, các doanh nghiệp đang từng bước ứng dụng công nghệ thông tin vàocác quy trình bán hàng va quản lý Tuy nhiên, vẫn còn tôn tại nhiều bat cập làm

giảm trải nghiệm người dùng ở nhiều trang web Chính vì vậy, nhóm hy vọng có thể

sử dụng những kiến thức, khả năng của mình, tận dụng những tài nguyên có sẵn,

xây dựng một website kế thừa những ưu điểm của website đã có và phát triển, bé

sung tính năng mới Với mong muốn đưa sản phẩm đến gần hơn với những doanhnghiệp bán văn phòng phẩm, cải thiện mức độ ứng dụng công nghệ thông tin trong

ngành này.

Trang 28

Chương 3 KIÊN THUC NEN TANG

biến riêng biệt rồi mở rộng thành các tập lớn hơn đảm bảo thỏa mãn điều kiện

tập thỏa độ phổ biến quy định trước

Các tập phô biến được xác định bởi Apriori được dùng dé xây dựng các quy

tắc kết hợp làm nổi bật các xu hướng chung trong dữ liệu Thuật toán nàythường được ứng dụng trong việc phân tích thị trường: biết được xu hướng

mua hàng của khách hàng và phân tích dữ liệu giỏ hàng.

Cách thực hiện:

Cách tính thuật toán:

Cho ngữ cảnh khai thác dữ liệu

O: Tập hữu hạn khác rỗng các hóa đơn.

I: Tập hữu hạn khác rỗng các mặt hàng.

R: Quan hệ hai ngôi giữa O và I với o€O và ¡€I[, (o,¡)€R© hóa đơn o có chứa mặt hàng i

-_ Ngữ cảnh khai thác dữ liệu là bộ ba (O, I, R)

- Độ phổ biến của S được định nghĩa là tỉ số giữa số các hóa đơn có chứa S

và số lượng hoá đơn trong O

Ký hiệu:

- SP(S)=|p(S)| / |O|

- p(§) biểu diễn tập các hóa đơn có chung tat cả các mặt hàng trong S

3 Tham khảo từ: https://en.wikipedia.org/wiki/Apriori_algorithm

Trang 29

- Tập phổ biến là những tập có độ phổ biến lớn hơn hoặc bằng | ngưỡng

cho trước là minsupp

Quy trình tìm tập phổ biến tối đại:

Cho độ phổ biến tối thiểu (minsupp) và độ tin cậy tối thiểu (minconf) do

người dùng xác định.

Bài toán khai thác luật kết hợp là bài toán tìm tat cả các luật dạng X > Y“ (X,

Y là tập con của M và X giao Y = {}) thỏa mãn độ phổ biến và độ tin cậy tối

thiểu:

supp(X > Y) > minsupp

conf(X>Y) > minconf

- Tìm tat cả các tập phô biến 1 - hạng mục (C1)

- Tao các tập ứng viên kích thước k - hạng mục (k — candidate itemset) từ

các tập phổ biến có kích thước (k-1)-hang mục Vi dụ, tao ứng viên Ca từtập phổ biến Ci

- Kiểm tra độ phổ biến của các ứng viên trên cơ sở dữ liệu và loại các ứng

viên không thỏa điều kiện

Trang 30

Các bước khai thác luật kết hợp:

Từ tập phổ biến tối đại ta vừa tìm được ở bước trên, ta thực hiện xây dựngcác luật như sau:

- Các luật có dang X > Y, với X, Y là các tập con của tập tối đại M và

thỏa mãn X NY = {}

- Luật kêt hợp dang tin cậy là luật thỏa ngưỡng

conf(X—Y) > minconf Với conf(X—Y) = Supp(X U_ Y)/Supp(X)Ung dung:

Sau khi tìm hiểu cách thực hiện và các ứng dụng thực tế của thuật toán,

nhóm đã ứng dụng thuật toán vào các trường hợp sau:

- Phan tích sở thích mua hang của khác hang, từ đó gợi ý những món hang

khách hàng thường mua kèm với sản phẩm khách hàng đang xem Việc

gợi ý có chọn lọc sẽ tăng khả năng khách hàng mua thêm sản phẩm, tăngdoanh thu bán hàng và tối ưu hóa hiệu quả kinh doanh

- Phân tích việc mua hàng của khách hàng dé tìm ra những sản phẩm bán

chạy nhất và các sản phẩm thường được mua kèm, đưa ra những gợi ý

nhập hàng cho người quản kho để nhập đúng các mặt hàng dễ tiêu thụ,

tránh nhập tràn lan các mặt hàng gây ứ đọng, tồn kho và hao ton chỉ phíbảo quản.

3.1.1.2 Tiêu chí chọn minsupp, minconf

Thuật toán được thực hiện khi quản kho hoặc admin yêu cầu trong chức năng

xem khuyến nghị nhập hàng hoặc thực hiện tự động bởi tác vụ ngầm Đối vớiyêu cầu thực hiện từ người dùng, minsupp và minconf được người dùng nhập

từ bàn phím Đối với tác vụ chạy ngầm, minsupp và minconf được chọn dựatrên các tiêu chí sau:

Trang 31

- Minsupp được lưa chọn trong khoảng [0;0.5], lựa chọn giá trị phù hợp

dựa trên kết quả so sánh thời gian chạy và số luật sinh ra sao cho thời

gian thực hiện nhỏ nhất có thể nhưng vẫn đảm bảo sinh ra số lượng luật

không quá ít Giá trị trong khoảng [0.5;1] không được đưa vào thử

nghiệm vì khả năng dé một nhóm sản phẩm cùng xuat hiện trong hơn

50% số lượng đơn đặt hàng trong thực tế khó có thé xảy ra trong một cửa

hàng đa dạng sản phẩm Chính vì vậy, số luật được sinh ra từ trường hợpnày là rất thấp, thậm chí là không có, từ đó không đáp ứng được mục đíchban đâu khi ứng dụng thuật toán vào hệ thống

- Minconf = 0.81 (81%): độ tin cậy cao để luật sinh ra có tính chính xác

cao hơn.

3.1.1.3 Các bước thực hiện

a) Chuẩn bị dữ liệu

Dữ liệu được tổng hơp từ các chỉ tiết hóa đơn trong bảng OrderDetail với 2

trường Orderld và ProductDetailld, dựng thành ma trận 2 chiều

Với tác vụ chạy thủ công do người dùng yêu cầu, các đơn hàng phải có ngàyđặt hàng nằm trong khoảng người dùng chọn Với tác vụ chạy tự động, đơn

hàng phải có ngày đặt thuộc tháng hiện tại.

Dưới đây là bảng thé hiện cho lượt mua các sản phẩm trong các đơn hàng

trong tháng:

OrderID ProductDetailld

Order 1 | GÔM, BUT CHI, COMPA

Order2 | TAP VO

Order 3 | TAP VG, COMPA

Order 4 | GOM, TAP VO, BUT CHI

Trang 32

Order5 | GÔM, BUT CHI MÀU

Order6 | GÔM, BUT CHI

Bảng 3.1:Bang lượt mua sản phâm trong đơn hàng

b) Thực hiện thuật toán

Thực hiện thuật toán:

- Tham số đầu vào: Tập dé liệu đầu vào, minsupp = 0.3, minconf = 0.81

- Kết quả đầu ra: Các luật sinh ra từ tập dữ liệu

Bảng 3.2: Bang tập phô biến 1 phan tử

Tập phô biến 2 phan tử:

Product Detail Support

GÔM, BÚT CHÌ 0.5

Bảng 3.3: Bảng tập phô biến 2 phần tử

Tập phô biến {GOM, BUT CHI} là tập phổ biến 2 phân tử duy nhất nên

cũng là tập phô biến tối đại

Sinh luật kết hợp:

GÔM — BUT CHI: 0.5/0.67 = 0.75 < 0.81

BUT CHI > GÔM: 0.5/0.5 = 1> 0.81

Vay két quả sau khi thực hiện thuật toán ta có tập luật có 1 phần tử:

{BUT CHI — GÔM}

Lưu kết quả thuật toán:

- Tham số đầu vào: Tập các luật kết hợp

- Tham số dau ra: 1 tương ứng với lưu thành công, 0 tương ứng với lưu

thất bại

Trang 33

Các bước thức hiện:

o Xóa các luật cũ trong cơ sở dữ liệu

o Duyệt từng dòng luật, khởi tạo đối tượng RecomandationDetail, gán

X, Y tương ứng vào trường Input, Output.

o Lưu xuống cơ sở đữ liệu, nếu thất bại trả cơ sở dữ liệu về trạng thái

ban đầu

c) Khai thác luật

Dữ liệu đầu vào: tập các sản phâm cần tìm gợi ý/khuyến nghị

Dữ liệu đầu ra: Các sản phẩm gợi ý mua kèm

Các bước thực hiện:

o Tập sản phẩm đầu vào: GÔM, TAP VO, BUT CHI

o_ Sinh tat cả các tập kết hợp từ các mã sản phẩm:

{GOM}, {TAP VO}, {BUT CHI}, {GOM, TAP VO}, {GOM, BUT

CHI}, {TAP VO, BUT CHI}, {GOM, TAP VO, BUT CHI}

o Tìm tất ca các luật có Input tương ứng với các tập trên:

BUT CHI GÔM

o Lấy thông tin sản phẩm tương ứng với tap Output {GOM} và hiền thị

lên màn hình

3.1.1.4 Đánh giá thuật toán

So sánh hiệu quả thuật toán tại các giá trị tham số khác nhau:

Apriori là một thuật toán máy học có tham số đầu vào, vì vậy, việc lựa chọn

tham số phù hợp cũng sẽ giúp cải thiện hiệu năng của thuật toán Để tìm ra bộ

số minsupp và minconf phù hợp, nhóm đã thử nghiệm các bộ số khác nhaunằm trong khoảng minsupp từ [0.3;0.5] và minconf = 0.81 Bộ dữ liệu bao

gồm 132849 chỉ tiết đơn hàng với 93 sản phẩm Kết quả thu được như sau:

Số dòng Minsupp Minconf Thời gian Số luật

dữ liệu thực hiện (s) sinh ra

32285 0.1 0.81 36.01 732

32285 0.2 0.81 14.24 628

Trang 34

Bảng 3.4: So sánh kết quả thực hiện thuật toán tại các tham số khác nhau

Nhìn chung, mức minsupp càng nhỏ sẽ tạo được càng nhiều luật kết hợp, đổilại cũng sẽ cần tốn nhiêu thời gian hơn Thời gian thực hiện thuật toán khá

lớn Đây cũng là lý do nhóm chọn cách thực hiện thông qua tác vụ ngầm

theo chu kì | ngày và truy van kết quả thực hiện khi cần cho các yêu cầukhông có sự thay đôi tham số minsupp và minconf như chức năng gợi ý sảnphẩm cho khách hàng

Tir bảng kết quả trên, có thé thấy với mức minsupp = 0.5 và minsupp = 0.4

có thời gian chạy thấp nhất, tuy nhiên số luật sinh ra lai quá ít Ở mức

[0.1.0.2] có số luật sinh ra lớn nhưng thời gian thực hiện lại quá lớn Vì vậy,nhóm quyết định chọn mức minsupp = 0.3 dé sử dụng cho tác vụ chạy ngầmtrong hệ thông

3.2 Công nghệ sử dụng

3.2.1 HTML, CSS, Javascript, Jquery, Bootstrap

HTML

HTML (viết tắt của từ Hypertext Markup Language, hay là "Ngôn ngữ Đánh

dâu Siêu văn bản") là một ngôn ngữ đánh dẫu được thiết kế ra dé tạo nên các

trang web trên World Wide Web Nó có thé được trợ giúp bởi các công nghệ

như CSS và các ngôn ngữ kịch bản giống như JavaScript."

+ Nguồn https://vi.wikipedia.org/wiki/HTML

Trang 35

Hình 3.1: Hình ảnh logo của HTML 5°

HTML được tạo ra bởi Tim Berners-Lee, một nhà vật lý học của trung tâm

nghiên cứu CERN ở Thụy Sĩ Hiện nay, HTML đã trở thành một chuẩn Internetđược tổ chức W3C (World Wide Web Consortium) vận hành và phát triển

Css

CSS hay Cascading Style Sheets là ngôn ngữ định kiểu dữ liệu theo tang, hay cóthé hiểu là ngôn ngữ dùng dé mô ta các thành phan hiền thị trên trang web Trên

trang web CSS đóng vai trò làm đẹp cho trang web như chia cột, chia layout,

định đạng cho từng khối hiển thị

CSS có thể tái sử dụng lại cho nhiều trang web khác nhau

Hình 3.2: Hình ảnh về CSS3CSS3 là phiên bản thứ 3 và cũng là mới nhất của CSS, CSS3 được bồ sung thêm

nhiều tính năng mới tiện lợi hơn CSS cho người dùng

Thay đổi lớn nhất hiện của CSS3 là việc giới thiệu các mô-đun Ưu điểm của các

mô-đun là cho phép thuộc tính được hoàn thành và phê duyệt nhanh hơn vì cácphân đoạn được hoàn thành và được phê duyệt theo từng khối

Các tính năng được bao gồm trong CSS3 bao gồm hỗ trợ cho các bộ chọn bổ

sung, d6 bóng, góc tròn, nhiều hình nền, hình động, độ trong suốt vv5 cho phép

chúng ta có thé bồ trí, định dạng hiển thị cho trang web một cách dé dàng hon

Š Nguồn hình https://vi.wikipedia.org/wiki/HTML#/media/T%E1%BA%ADp_tin: HTMLS_logo_resized.svg

© Nguồn https://websolutions.com.vn/css3-la-gi-su-khac-nhau-giua-css-va-css3

Trang 36

Javascript là một ngôn ngữ lập trình thông dịch, một ngôn ngữ kịch bản dựa vào

những đối tượng đã phát triển sẵn hoặc tự định nghĩa, xuất hiện lần đầu tiên vào

tháng 5 năm 1995 Được sử dụng rộng rãi trong các ứng dụng website, hỗ trợ

hầu hết trên tất cả các trình duyệt như Chrome, Firefox, ” Cho đến hiện tại,

phiên bản ồn định nhất của Javascript là ES6 xuất hiện vào ngày 17/6/2015

ds

Hinh 3.3: Hinh anh logo Javascript®

Javascript có thé can thiệp vào cây DOM, cho phép các hành động như thêm,

xóa, sửa các thẻ, thuộc tính HTML cũng như CSS một cách dễ dàng Ngoài ra

Javascript cũng có thé tạo, phản ứng lại với các sự kiện HTML trong trang

Javascript được thiết kế chủ yếu dé lập trình ở phía client, nhưng những năm gần

đây, cùng với sự xuất hiện của NodeJs (Lập trình backend với web realtime),

Angular, React (lập trình Frontend) đã biến Javascript trở thành một ngôn ngữlập trình được cho cả 2 phía là client và server.

Jquery

Là một thư viện của Javascript giúp đơn giản hóa cách viết Javascript và tăng

tốc độ xử lý các sự kiện trên trang web,hỗ trợ các nhà lập trình web tạo ra các

tương tác trên website một cách nhanh nhất

jQuery được khởi xướng bởi John Resig (hiện là trưởng dự án của Mozzila) vàonăm 2006, jQuery có mã nguồn mở và hoàn toàn miễn phí

Lợi ích khi sử dụng Jquery

- Đơn giản hóa việc quản lý các thành phần trong HTML/DOM

7 Nguồn https://freetuts.net/javascript-la-gi-viet-ung-dùng-javascript-dau-tien-263.html

# Nguồn: Slide bài giảng trường đại học Công Nghệ Thông Tin

Trang 37

-_ Thay đổi giao diện của một trang web trong việc sử dung CSS

- Tương tác với người dùng qua Event Handler API

- Tạo hiệu ứng động cho trang web

- Đơn giản hóa AJAX

3.2.2 ASP.NET Core

Là một framework đa nền tảng (cross-platform) chạy trên nền tảng NET Core

ASP.NET Core là một phiên bản mã nguồn mở của ASP.NET, chạy trên các nền

tảng như Mac Os, Linux và Windows Được phát hành lần đầu tiên vào năm

2016 và cũng là phiên bản được thiết kế lại từ các phiên bản ASP.NET vốn chỉ

dành cho nền tảng windows trước đó !9

9 Nguồn: https://getbootstrap.com

19 Nguồn: https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet-core

Trang 38

.NET Core 2.x NET Core 3.x

Windows Windows/macOS

Hình 3.5: Các phiên bản của ASP.NET Core và nền tảng thực thi

So với ASP.NET, ASP.NET Core có những ưu điểm vượt trội hơn như sau:

Hợp nhất giữa việc xây dựng web UI và web APIs lại với nhau

Xây dựng và chạy đa nền tảng (Windows, Mac và Linux)

HTTP request được tối ưu nhẹ hơn

Có thé host trên IIS hoặc tự host

Dependency injection được xây dựng sẵn mà không cần phải cấu hình lại

Mã nguồn mở và lượng cộng đồng lớn

Razor Page cho phép viết các đoạn mã một cách dé dàng và có hiệu quả hơn

nhờ sợ kết hợp giữa HTML và C#

Có thể triển khai ứng dụng viết trên ASP.NET Core như một web server độc

lập hoặc kết hợp với các web server khác như: IIS, Apache, Nginx

Phiên bản mới nhất hiện tại của ASP.NET Core là phiên bản 5.0

ASP.NET Core MVC:

Là một framework cho việc xây dựng và phát triển ứng dụng web sử dụng mô

hình MVC.

MVC là viết tắt của 3 từ (Model — View - Controller) là một mô hình tổ chức

chương trình thành 3 thành phần khác nhau là Model, View và Controller Mỗi

một thành phần có một nhiện vụ riêng biệt và độc lập với các thành phần còn lại

Trang 39

- Model: Là thành phần chứa các lớp ánh xạ với các bang trong cơ sở dữ liệu,

chứa các phương thức xử lý thao tác với cơ sở dữ liệu, truy xuất và lưu trữ

dữ liệu vào cơ sở dữ liệu.

- View: Là thành phan nhận và hién thị thông tin phía người dùng, tương tác

với người dùng thông qua giao diện và gửi yêu cầu đến controller và nhận lại

phải hồi từ controller

- Controller: Là thành phan xử lý, điều hướng các hành động từ phía người

dùng, có nhiện vụ là cầu nói giữa Model và View

Cung cấp các tính năng mạnh mẽ cho việc xây dựng web động như:

- Tag Helper cho phép code bên phía server tham gia vào việc tạo va render

phần tử HTML

- Model Binding tự động ánh xạ dữ liệu từ HTTP request tới tham số của

method action.

- Model Validation: ràng buộc dữ liệu cho các thuộc tính trong model, thuộc

tính sẽ được kiểm tra ở phía client trước khi đưa về server

- Tích hợp sẵn các thư viện và Framework phát triển cho phía người dùng như

Angular, Bootstrap, React.

"| Nguồn Slide bài giảng trường đại học Công Nghệ Thông Tin.

Trang 40

3.2.3 Dependency Injection

Dependency injection là một kỹ thuật lập trình giúp tách một class độc lập vớicác biến phụ thuộc hay nói cách khác là giúp chúng ta làm giảm sự phụ thuộccủa các Module cấp cao vào các Modelu cấp thấp Khi nói đến DI tức

Dependency injection không phải là Dependency Inversion.

Dependency Inversion: Đây là một nguyên lý dé thiết kế và viết code, nội dung

nguyên lý được phát biéu như sau:

Các mô đun cấp cao không nên phụ thuộc vào mô đun cấp cấp, cả hai nên

phụ thuộc vào Abstraction.

Interface (Acstraction) không phụ thuộc vào chỉ tiết mà là ngược lại, nghĩa là

các lớp giao tiếp với nhau thông qua interface chứ không phải thông qua

cách chúng triển khai

Inversion of Control: Đây là một Design Parttern!3 được tạo ra để code có thé

tuân thủ theo nguyên lý Dependency Inversion, va Dependency Injection là mộtcách được phát triển từ Design Pattern này

12 Tham khảo từ: https://sites google.com/site/toilamaichovui/nghien-cuu-khac/software-development

3 Design Pattern là các giải pháp tông thé đã được tối ưu hóa, được tái sử dụng cho các van đề phổ biến

trong thiết kế phần mềm thường gặp

Ngày đăng: 23/10/2024, 00:31

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN