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

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Xây dựng ứng dụng quản lý thư viện sách điện tử online với chức năng khuyến nghị và chatbot

73 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

Nội dung

TÓM TẮT KHÓA LUẬNKhoá luận với đề tài “Xây dựng ứng dụng quản lý thư viện sách điện tử với chứcnăng khuyến nghị và Chatbot” là là một hệ thống với hai nghiệp vụ chính là quản lýnguồn sác

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

DƯƠNG THÀNH VƯƠNG

PHAN DUY ĐỨC

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

XÂY DỰNG ỨNG DỤNG QUẢN LÝ THƯ VIỆN SÁCH

ĐIỆN TU VỚI CHỨC NĂNG KHUYEN NGHỊ VA

CHATBOT

Building an online e-book library management application with

recommendation and Chatbot

KY SU NGANH KY THUAT PHAN MEM

TP HO CHÍ MINH, 2023

Trang 2

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

KHOA CONG NGHE PHAN MEM

DUONG THANH VUONG - 18521677

PHAN DUY DUC - 18520621

KHOA LUAN TOT NGHIEP

XAY DUNG UNG DUNG QUAN LY THU VIEN SACH

DIEN TU VOI CHUC NANG KHUYEN NGHI VA

CHATBOT

Building an online e-book library management application with

recommendation and Chatbot

KY SU NGANH KY THUAT PHAN MEM

GIANG VIEN HUONG DANTHS TRAN THI HONG YEN

TP HO CHi MINH, 2023

Trang 3

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ố

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

Trang 4

LỜI CẢM ƠN

Trước hết, chúng em xin gửi lời cảm ơn chân thành đến toàn bộ các khoa, bộ môn,các thầy cô giảng viên và cán bộ công nhân viên Trường Đại học Công nghệ Thông tin,Đại học Quốc gia Thành phó Hồ Chí Minh đã tạo điều kiện tốt nhất cho quá trình học

tập hơn 4 năm tại trường.

Đặc biệt, chúng em muốn cảm ơn giảng viên Trần Thị Hồng Yến đã chia sẻ kiến thức

bổ ích và hướng dẫn chúng em trong quá trình làm khóa luận

Chúng em cũng muốn cảm ơn gia đình và bạn bè đã ủng hộ và giúp đỡ trong suốt quátrình học tập và làm khóa luận Họ là nguồn động lực và sự hỗ trợ quan trọng cho chúng

Trang 5

MỤC LỤC

CHƯƠNG 1 MỞ DAU oivecccssssssssessssscssssccsssccsssccssssccsssccssnecssssccssscssssecssneeeseses 2

1.1 Giới thiệu đề tai

1.7 Phương pháp thực hiỆn «<< «<5 5s sexeetsetsesrkrkrereersnssssnssk 4

1.8 Kết quả mong Agi sssssssssssssssssssccsssssssssscccsssssssscsssssssssssssssssusssesssssssnuseseessssssssessssess 5

CHƯƠNG 2 GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG -.- 6

2.1 Mô hình Client-server

2.1.1 Khái niệm

2.1.2 Nguyên tắc hoạt động.

2.1.3 Ưu nhược điểm

2.2 Hệ thống khuyến nghị dựa trên Machine Learning - The Universal

Recommender

2.2.1 Khái niệm -. +-5+-©2s St 2 ETH22210211211 T1.1 T1 8

2.2.2 Đặc trưng ¿+ cành ni O

2.2.3 Ưu điểm - 22t thue 9

2.3.1 Khái niệm -+-5+-©2s 2t 2 ETH22210211211 T1 1 11111 Eerrree 9 2.3.2 Các đặc trưng của R€act -ccccseeeerrrrrrrrrrrrrrrrrrrrrrrerrree LO

2.4 React NatÏV€ c series 11

2.4.1 Khái niệm - ¿+ nàn HH HH HH HH HH HH gái 11

2.4.3 Ưu điểm co HH ưei 11

Trang 6

2.5 Node.js

2.5.1 Khái niệm

2.5.2 Đặc trưng của NOde.jS - nh it 12

2.5.3 Ưu điểm của Node.js occcccseerrrrririirrrrrirrrrrrirrrrr.e, T2

CHƯƠNG 3 PHAN TÍCH THIẾT KE HỆ THONG 15

3.1 Sơ đồ UML Use case.

3.1.1 Danh sách các Actor.

3.1.2 Danh sách các Use CasSe - 5-5222 E212 221212112121 111101111111 xe 17

3.1.3 Đặc tả một $6 Use ŒaS€ 552 2 St EE1227112711221121111111 1112.11.11 xe 20

3.2 Sơ đồ UML Sequence cho các chức năng chính -s -sssss<= 27

3.3 Thiết kế kiến tTÚC cvv++ HEEEE1111117111111111114000000Eptttrtttrrrtrrsrke 30 3.3.1 Sơ đồ kiến trúc hệ thống -.-:::¿222ccssccerrrrrxseerrrerrrreeceerr , 3Ô,

3.1.2 Mô tả thành phần kiến trúc hệ thống 22+222222222z+z+ttvzvvscez 30

3.4 Thiết kế cơ sở dữ liệu s«-2+ee+S22xeeEE2LAA412213382111410173340121340021143e c7 32

3.4.1 Sơ đồ các bảng dữ liệu quan hệ 222222++22222221222222211122trrrrrrree 32

3.4.2 Danh sách các bảng dữ liệu quan hệ - +c++cccsxseereeeerereeerxeee.e OO

3.4.3 Chi tiết một số bang dữ liệu quan hệ -2-¿552ccsccccsesrrrsseecceserr 35

3.4.4 Danh sách các ràng buộc quan hé -¿-¿ ¿5+5 5+ ccsesrsesesesrrrrir OO

3.5 Thiết kế cách thức triển khai Hệ thống khuyến nghị - 40 3.6 Thiết kế cách thức triển khai Hệ thống Chatbot -css<<e 41

CHUONG 4 XÂY DUNG UNG DUNG

4.1 Xây dựng Ứng dụng A dmiin ss -+s©V©EE22++esetttvrvvxxereorrrrrrrssre 43 4.3.1 Danh sách màn hình Ứng dụng Admin ccccccseeeeeeereeeee 4S

Trang 7

4.3.2 Một số màn hình Ứng dụng Admin và mô tả chỉ tiết - 44

4.2 Xây dựng Ứng dụng IMobile s°©22v+++sseEEovvrvxeseeeosrrrveeseee 50

4.2.1 Danh sách màn hình Ứng dụng Mobile - -: ccccscccccsccccsssccc > SO 4.2.2 Một số màn hình Ứng dụng Mobile và mô tả chỉ tiết - - SL

CHƯƠNG 5 KET LUẬN VÀ HƯỚNG PHÁT TRIÊN 60

5.1 Kết quả dat Que c sccccccsssscsssseccsssseccsssusccsssseccssssecsssnsecssssssccssnsccessssccessnsccessnsccessnecees 60

5.2 Những hạn chế -s°+©©VE22++++tttSEE222A3122222211311.20217211311.02222122 ce 60

5.3 Thuận lợi và khó khăn s << 55< se se Sen s93 6130814033840 see 61

5.2.1 Thuan hi 61

1190 na 'Ọ 5.4 Hướng phát (riÊn -«-«-s- «se EssEnEstEktrsrktExERAEEA.1401408008018.18038.018018 013 61

TÀI LIEU THAM KHAO\ ccssssssssssssssssssscssssssssssssssssnssssssssssssssessssssssnssssssees 63

Trang 8

Mô hình Client — Server 6

So dé UML Use case 1 15

Sơ đồ Sequence Admin CRUD .27

Sơ đồ Sequence Đọc sách csseccsssssesssssseessssseeesssseessssssessessseeesssseeeessseeeeess 28

Sơ đồ Sequence Chatbot 2:-222222222++EEESEEt222211 2221122221 errrkr 29

Sơ đồ kiến trúc hệ thống -:¿£©2+2+++tt222EEvvrrrrrttrrrxrrrrrrrrr 30

Sơ đồ các bang dữ liệu quan hệ -:2 ©2z+2222+zetEEEEzerrrrrkerrrrks 32

Mô hình triển khai hệ thống khuyến nghị -.-2 252¿52555c2 4I

Mô hình triển khai Hệ thống Chatbot 2¿-©2222¿2222vzz+ccvscez 42

Man hình Dang nhập A dmin - - ¿2-2-5 52 5252 522*+*‡£+£s£vzzxzxree 44 Màn hình Admin Xem thông tin và tra cứu sách - 46

Màn hình Quản lý danh sách User ¿- 5-5 5c+S+xrcexexsree 48

Màn hình Thống kê -.22:22222E222+2EES++e2EEEEveEEEEvretrrvrrerrrsree 49

Màn hình Trang chủ 5-55 +52 St rketrkerrkerrrerrrerkerrrrre 51

Maan hinh 6:0 017 7® 33Màn hình Chỉ tiết sách -iccc co cccc tre 54

Màn hình Kệ sách - (2c 2t 2122321251211 E 1211115111151 ekxrke 56 Màn hình ChatbOt - - 255255 S2 S*2E2E£EEreterrrrrrree 58

Trang 9

DANH MỤC BANG

Bang 1.1: Khảo sát các sản phẩm tương tự ¿5-52 522S2+EckeEEeEzEzEerkerkerxres 3

Bảng 3.1: Danh sách UML Use case ACfOT 5 5 11k ng ng ni 17 Bảng 3.2: Danh sách UML UsSe CaSG - G2 c 122111991111 11 8101 1 911 1g vn ngư 17

Bảng 3.4: Đặc tả Use case UC2 - -.- c1 11119 11191 1H TH HH ng ng 21 Bang 3.5: Đặc ta Use case UC Ổ - G1 HH 22 Bang 3.6: Đặc ta Use case UC(4| - - - c1 v1 111 1119 1 1H HH ng HH 23

Bang 3.8: Đặc tả Use case UC6 - - 5 5 «kh HH TH ng HT ngưng 25

Bang 3.9: Đặc ta Use case Chat với ChafbOI - 5 S2 S + vsEveerrerseerrrerrrre 26

Bang 3.10: Mô tả thành phần kiến trúc hệ thống - + - 552 2+£+£+£s+£s2 30

Bảng 3.11: Danh sách các bảng dữ liệu quan hỆ ¿5-5 +++<*++s++s++erssexs 33

Bang 3.12: Chi tiết bảng USER 5 5-51 SE 1218215 12E1211211217111 11111 Ee 35 Bảng 3.13: Chi tiết bảng USER_LIBRARIES 2-22-55222S252+zx2zeccszz 36 Bang 3.14: Chi tiết bảng USER,_CHATT 5: 5S SE2EE2EE‡E£EEEEEEEEEEEzErkerkeree 36

Bảng 3.15: Danh sách các ràng buộc quan hỆ - - ¿55+ ++s*++sx++s++ersserssers 38

Bảng 4.1: Danh sách màn hình Ứng dụng Admin - - «<< <++<++ee+ses 43

Bảng 4.2: Mô tả các thành phần màn hình Đăng nhập Admin - 44 Bảng 4.3: Mô tả các thành phần màn hình Admin Xem thông tin và tra cứu sách.46 Bảng 4.4: Mô tả các thành phan màn hình Quản lý danh sách User 48 Bang 4.5: Mô tả các thành phần màn hình Thống kê - 2-2-5 5¿+5z25+25+ 49

Bảng 4.6: Danh sách màn hình ứng dụng Mobile - 5-5 +s<*s+s++sseerssers 50

Bang 4.7: : Mô tả các thành phần màn hình Trang chủ 2- 2-2 2+2 51 Bang 4.8: : Mô ta các thành phan màn hình Thể loại 2- 5252252252252: 53 Bảng 4.9: : Mô tả các thành phan màn hình Chi tiết sách - 54 Bang 4.10: : Mô tả các thành phần màn hình Kệ sách 2-52 2522552: 56 Bang 4.11: Mô ta các thành phan màn hình Chatbot - 5 2 2+52+se£s+£s2 58

Trang 10

DANH MỤC TU VIET TAT

STT Ký hiệu chữ viết tắt Chữ viết đầy đủ

1 API Application Programming Interface

2 UR The Universal Recommender

3 cco Correlated Cross-Occurrence

4 DOM Document Object Model

5 UI User Interface

6 SEO Search Engine Optimization

7 UML Universal Modelling Language

Trang 11

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

Khoá luận với đề tài “Xây dựng ứng dụng quản lý thư viện sách điện tử với chứcnăng khuyến nghị và Chatbot” là là một hệ thống với hai nghiệp vụ chính là quản lýnguồn sách và cung cấp nền tảng sách dưới dạng thư viện sách điện tử Hệ thống cungcấp một nền tảng với chỉ phí thấp giúp người dùng tiếp cận nguồn sách từ các tác giả,nhà xuất bản một cách dễ dàng nhất

Đề tài được thực hiện tuần tự qua các bước: khảo sát thực trạng, phân tích ưu nhượcđiểm các mô hình tương tự trên thị trường, xác định mục tiêu, phạm vi đề tài, phân tíchyêu cầu hệ thống, thiết kế hệ thống, kiểm thử và triển khai hệ thông Nhóm đã có gắnglựa chọn những framework và công nghệ tốt nhất dé triển khai hệ thống nhanh nhất cóthể: React, React Native, NodeJS, MySQL, Universal Recommender, DialogFlow

Trong quá trình thực hiện đề tài, nhóm đã sử dụng mô hình Agile-scrum dé quản lýcũng như phát triển hệ thống một cách linh hoạt Các yêu cầu và chức năng được cập

nhật và phát triển liên tục qua các sprint Nhóm cũng sử dụng các công cụ hỗ trợ quá

trình phát triển, quản lý dự án: Trello, GoogleDrive, Figma, LucidChart, Canvas, Visual

Studio Code

Việc phát triển 4 module của hệ thống trong thời gian ngắn với những yêu cầu phứctạp đòi hỏi tỉnh thần ham học hỏi, sẵn sàng thử sức với những công nghệ mới và khảnăng quản lý thời gian hiệu quả Cả 2 thành viên phải phân chia công việc và trực tiếpquản lý tiến độ của nhau Dưới sự hướng dẫn của giảng viên, dự án đã được hoàn thànhđúng tiến độ và đạt yêu cầu dé ra ban dau

Khóa luận bao gồm năm chương:

— Chương | trình bày về dé tài và phương pháp thực hiện

— Chương 2 trình bày lý thuyết và các công nghệ được áp dụng trong đề tài

— Chương 3 tập trung vào phân tích và thiết kế hệ thống

— Chương 4 liên quan đến việc xây dựng ứng dụng

— Chương 5 tổng kết kết quả và đề xuất hướng phát triển cho đề tài trong tương lai

Trang 12

CHƯƠNG 1 MO DAU

1.1 Giới thiệu đề tài

Trong thời đại công nghệ 4.0, khi thế giới phát triển không ngừng, nhu cầu của conngười trong việc đọc sách ngày càng tăng cao Người ta tìm đến sách để khám phá vàhọc hỏi những điều mới mẻ, phát triển khả năng tư duy suy luận và sáng tạo, giúp chúng

ta hiệu rõ hơn về thê giới xung quanh và các van dé xã hội.

Đề tài "Xây dựng ứng dụng thư viện sách điện tử với chức năng khuyến nghị và

Chatbot" là một dự án xây dựng một ứng dụng thư viện sách điện tử cho phép người

dùng tìm kiếm, xem thông tin và đọc sách điện tử trực tuyến Ứng dụng sẽ có chức năng

khuyến nghị cho người dùng những cuốn sách phù hợp với sở thích và lịch sử đọc của

họ, bằng cách sử dụng thuật toán khuyến nghị Ứng dụng cũng sẽ có một Chatbot hỗ trợ

người dùng trong việc tìm kiếm và lựa chọn sách, cũng như cung cấp thông tin về cáccuốn sách trong thư viện Trong quá trình xây dựng, người thực hiện sẽ phải tìm hiểu vềcác công nghệ liên quan như lập trình trên nền tảng web, ứng dụng di động, thuật toánkhuyến nghị và Chatbot Họ sẽ cần phải xây dựng các giao diện người dùng thân thiện

và dễ sử dụng cho ứng dụng, cũng như xử lý các tính năng chính như tìm kiếm, xem

thông tin và đọc sách.

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

Việc mua và sở hữu sách đôi khi khá tốn kém, đặc biệt là ở một quốc gia đang pháttriển như Việt Nam Các thư viện sách điện tử đã được xây dựng như Google Play Book,Amazon Kindle, nhưng chi phí dé thuê sách hoặc phân phối sách trên các hệ thốngtrên là khá cao Một thư viện sách điện tử với hệ thống vừa và nhỏ là giải pháp chonhững vấn đề trên Nhóm đã quyét định tích hợp thêm hệ thống khuyến nghị và Chatbotnhằm tăng trải nghiệm cho người dùng, tăng tính cạnh tranh cho sản phẩm

Trang 13

1.3 Khảo sát hiện trạng

Hiện nay, các hệ thông cung cấp sách điện tử (ebook) đã và đang được phát triển và

phân phối rộng rãi Từ những hệ thống phân phối sách này, người dùng có thể sử dụng

bat ky thiét bi nao có kết nối Internet dé mua và đọc sách thuộc mọi thể loại và tác giả.

Bảng 1.1: Khảo sát các sản phẩm tương tự

STT Tên sán phẩm Ưu điểm Nhược điểm

Cho phép người dùn

_ ẽ Giá thành sách cao Sách chưa

1 Google Play Books đọc sách từ các nguồn , ,

da dạng, nhất là sách tiêng Việt thứ ba.

Nhiều sách dé lựa Các sách của Amazon cung cấp

2 Amazon Kindle chọn, chiếm thị phần cao,| bị khóa DRM và chỉ có thé đọc

giá thành sách tốt bằng thiết bị có cài đặt Kindle.

Cho phép người dùng

3 Calibre Content Server | quản lý sách của cá nhân Không có khuyến nghị sách.

offline.

Các hệ thống cung cấp sách điện tử hiện nay chủ yếu là do các tập đoàn công nghệ

lớn như Google, Amazon, Apple làm chủ Một hệ thống phân phối sách với quy mô vừa

và nhỏ để đáp ứng nhu cầu của các nhà cung cấp là nhà sách, nhà xuất bản đang được

quan tâm vì chỉ phí của các nhà phân phối sách nói trên là khá cao Với Google Play

Books, nhà xuất bản tại Việt Nam sẽ được nhận 52% doanh thu bán sách còn với

Amazon Kindle thì con số nay là 35%, đây là những mức chiết khấu rất cao do đó đã và

đang góp phan giới han sự phát triển thị trường sách điện tử tại Việt Nam Một hệ thống

với chỉ phí thấp hơn và được phát triển để đáp ứng những nhu cầu đặc thù của các nhà

xuất bản và tác giả tại Việt Nam sẽ giúp giảm chỉ phí và giúp các độc giả Việt Nam dễ

dàng tiếp cận hơn với sách điện tử

Trang 14

1.4 Mục tiêu

Xây dựng một hệ thống cho phép quản lý một thư viện sách điện tử online, cho phépngười dùng đọc sách trong thư viện bằng ứng dụng mobile và nhận được khuyến nghịsách theo đúng nhu cầu đọc của bản thân cũng như tư van từ Chatbot thông minh

1.5 Phạm vỉ

— Ứng dụng admin cho phép quan lý sách trong một thư viện online và quản lý tai

khoản người dùng.

— Ứng dụng mobile cho phép đọc sách trên thiết bị mobile và nhận tư van từ Chatbot

— Hệ thống khuyến nghị sử dung dữ liệu người dùng cũng như lịch sử đọc sách dé đưa

ra khuyến nghị về sách cho người đọc trên ứng dụng mobile

1.6 Đối tượng

— Các nhà sách, các nhà xuất bản, các tác giả có nhu cầu cung cấp sách dưới dạng sách

điện tử trên mạng Internet.

— Người dùng muốn đọc sách trên thiết bị mobile

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

Hệ thống sẽ chia làm 4 module chính: Module Quản Lý Admin, Module Ứng DụngMobile, Module Khuyến Nghị và Module Chatbot:

— Module Quản Ly Admin: Cho phép thêm sửa xóa, giới hạn sách, quan lý người dùng

từ giao diện ứng dụng web.

— Module Ứng Dụng Mobile: Cho phép đăng ký người dùng và đọc sách trên thiết bi

mobile.

— Module Khuyến Nghị: Sử dụng dữ liệu người dùng từ Module Quản Lý Admin và

Module Ứng Dụng Mobile đề đưa ra khuyến nghị về sách tương ứng

— Module Chatbot: Đưa ra lời khuyên về sách cho người dùng, được tích hợp vào

Module Ứng Dụng Mobile

Trang 15

Quá trình công việc sẽ bắt đầu bằng việc xây dựng một hệ thống khuyến nghị bằngcác công nghệ có sẵn Tiếp theo là thu thập dữ liệu từ các nguồn khác nhau dé phân tích

về những dữ liệu cần có trong các ứng dụng admin và ứng dụng mobile

Tiếp theo các Module Quản Lý Admin và Module Ứng Dụng Mobile sẽ được pháttriển với RESTful API xây dựng bằng Node.js và Front-End là React và React Native

Sau đó dit liệu đọc sách được lấy từ dataset mở ”! sẽ được xử lý dé lay các kết quảcủa người dùng Việt Nam và chuẩn hóa theo mô hình dữ liệu của các ứng dụng WebAdmin và mobile và được sử dụng đề huấn luyện khuyến nghị cho một phiên bản của

The Universal Recommender chạy trên Harness Machine Learning Server 8l, Day là

những nền tảng mã nguồn mở chuyên dung dé rút ngắn thời gian phát triển các chứcnăng khuyến nghị

Tiếp theo là quá trình kiểm thử và đánh giá kết quả đạt được từ các bước cai đặt, tiếptục tinh chỉnh dé cải thiện độ chính xác, cải thiện trải nghiệm người dùng

1.8 Kết quả mong đợi

— Ứng dụng admin cho phép quản lý các sách được phân phối trong hệ thống và thông

tin người dùng một cách trực quan, hiệu quả Thực hiện tốt chức năng của một ứng

dụng quản lý thư viện online.

— Ứng dụng mobile đem lại trải nghiệm người dùng đọc sách dễ dàng, tiện lợi và đưa

ra các khuyến nghị phù hợp về sách cho người đùng dựa trên thông tin cá nhân và

lịch sử đọc sách.

n

Trang 16

CHƯƠNG 2 GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG

2.1 Mô hình Client-server

client client client

Hình 2.1: Mô hình Client — Server

2.1.1 Khái niệm

Client-server là mô hình mạng máy tính gồm có 2 thành phần chính đó là máy khách

(client) và máy chủ (server) Server chính là nơi giúp lưu trữ tài nguyên cũng như cài

đặt các chương trình dịch vụ theo đúng như yêu cầu của client Ngược lại, client baogồm máy tính cũng như các loại thiết bị điện tử nói chung sẽ tiến hành gửi yêu cầu đến

server.

Mô hình mang Client-server sẽ cho phép mang tập trung các ứng dụng có cùng chức

năng tại một hoặc nhiều dịch vụ file chuyên dụng Chúng sẽ trở thành trung tâm của hệ

Trang 17

thống Hệ điều hành của mô hình Client-server sẽ cho phép người dùng chia sẻ đồng

thời cùng một loại tài nguyên mà không giới hạn vị trí địa lý.

2.1.2 Nguyên tắc hoạt động

— Client: là máy khách sử dụng dich vu Client đóng vai trò trung gian trong việc gửi

yêu cầu (request) và nhận phản hồi (response) từ server để phản hồi cho người dungcuối (end user)

— Server: là máy tính từ xa, có chức năng cung cấp dữ liệu, phản hồi yêu cầu từ phía

máy khách.

2.1.3 Ưu nhược điểm

— Ưuđiểm:

+ Tập trung: tất cả dữ liệu được tập trung ở một nơi duy nhất Ưu điểm này giúp

việc quản lý, giải quyết sự có, cập nhật tài nguyên dễ dàng được thực hiện ởmột nơi thống nhất

+ Bao mật: tat cả các dữ liệu đều sẽ được bảo vệ một cách tối đa nhờ vào hệ

thống kiến trúc tập trung của mạng Chỉ những người được cấp quyền mới cóthể truy cập được những đữ liệu được cho phép Nếu dữ liệu bị đánh mất cũng

có thể được khôi phục dễ dang

+ Khả năng mở rộng: mô hình Client-server có khả năng mở rộng vô cùng tốt

(vertical scaling & horizontal scaling).

— Nhược điểm:

+ Tae nghẽn lưu lượng: nhược điểm lớn nhất của mô hình mang Client Server

đó chính là tắc nghẽn lưu lượng Khi có quá nhiều client cùng gửi request mộtlúc có thé gây nên tắc nghẽn, thậm chi crash hệ thống Chưa ké đến nhữnghình thức tắn công làm tê liệt hệ thống như DDoS

+ Chỉ phí: chi phí được sử dụng dé thiết lập và bảo tri Server trong Client Server

thường sẽ khá cao Lý do là vì các hệ thống mạng có sức mạnh rất lớn cũngđồng nghĩa với việc giá dé chi cho việc nay là rất đắt Chưa ké đến đội ngũ débảo trì và kiểm tra hệ thống cũng đòi hỏi một nguồn chỉ phí lớn

Trang 18

+ Bảo trì: khi các Server được triển khai, nó sẽ hoạt động không ngừng nghỉ.

Có nghĩa là nó cần được quan tâm đúng mức nếu có bất kỳ vấn đề gì thì phảigiải quyết ngay Vì vậy, cần có một nhà quản lý mạng chuyên biệt dé duy trì

hoạt động của Server.

+ Tài nguyên: không phải tat cả tài nguyên hiện có ở trên Server đều có thé sử

dụng được Ví dụ như bạn không thé in trực tiếp tài liệu trên web, hoặc chỉnhsửa bat kỳ thông tin nào trên 6 cứng của Client

2.2 Hệ thống khuyến nghị dựa trên Machine Learning - The Universal

Recommender

2.2.1 Khái niệm

Universal Recommender là một giải pháp khuyến nghị phô biến, được sử dụng trongcác hệ thống khuyến nghị đề tìm kiếm và khuyến nghị nội dung cho người dùng Nóđược thiết kế dé có thé hoạt động trên nhiều lĩnh vực khác nhau, và có thé dùng trênnhiều nền tảng khác nhau như trang web, ứng dụng di động và truyền hình

2.2.2 Đặc trưng

The Universal Recommender (UR) là một loại hệ thống khuyến nghị sử dụng trí tuệnhân tạo mới, mã nguồn mở dựa trên thuật toán Liên Quan Giao Nhau (Correlated

Cross-Occurrence — CCO).

CCO là một thuật toán được sử dụng rộng rãi trong các lĩnh vực khoa học dữ liệu,

như xử lý ngôn ngữ tự nhiên, thị giác máy tính và khuyến nghị Thuật toán CCO sẽ đođạt và so sánh sự phụ thuộc lẫn nhau về mặt số liệu thống kê giữa các mục trong tập dữliệu Điều này có thé là màu sắc, độ đậm nhẹ của các điểm ảnh trong hình ảnh, sự xuấthiện cùng nhau của những từ ngữ trong các đoạn văn Trong một hệ thống khuyến nghị,

thuật toán này sẽ phân tích sự tương đồng về dữ liệu độ tuổi, giới tính hoặc những sản

phẩm được tiêu thụ cùng nhau để đưa ra dự đoán về các sản phẩm mà người dùng có

khả năng cao sẽ tiêu thụ trong tương lai.

Trang 19

Các thành phan chính của hệ thống khuyến nghị bao gồm:

— Một REST Server có nhiệm vụ xử lý và xác nhận dit liệu đầu vào cũng như gửi các

yêu cầu truy vấn, huấn luyện

— MongoDB: Cơ sở dit liệu phi quan hệ, hỗ trợ truy van nhanh

— Spark: công cụ phân tích mã nguồn mở đề xử lý dữ liệu quy mô lớn

— ElasticSearch: là một công cụ tìm kiếm và phân tích phân tán, mã nguồn mở hỗ trợ

tìm kiếm và phân tích thời gian thực có khả năng mở rộng, với khả năng xử lý lượng

dữ liệu lớn và hỗ trợ các truy vấn tìm kiếm phức tạp

2.2.3 Ưu điểm

Ưu điểm của Universal Recommender là nó cung cấp một giải pháp tùy chỉnh choviệc xây dựng hệ thống khuyến nghị, giúp bạn có thé tùy chỉnh hệ thống cho phù hợpvới nhu cầu của trang web hoặc ứng dụng của mình Nó cũng có thể tích hợp với nhiềunguồn dữ liệu khác nhau, giúp bạn có thé sử dụng nhiều loại dữ liệu khác nhau

2.3 React

2.3.1 Khái niệm

React (còn được gọi là Reactjs hay React.js) là một Thư viện javascript được tạo ra

bởi sự cộng tác giữa Facebook và Instagram Nó cho phép những nhà phát triển web tạo

ra giao điện người dung nhanh chóng Phần Views của React thường được hiền thị bằngviệc chủ yếu dung các component mà chứa các component cụ thé hoặc các thẻ HTML.Một trong những đặc trưng duy nhất của React là việc render dữ liệu không những cóthể thực hiện ở tầng server mà còn ở tầng client

Nó cũng sử dụng khái niệm là Virtual DOM (DOM ảo) Virtual DOM tạo ra ban

cache cấu trúc dữ liệu của ứng dụng trên bộ nhớ Sau đó, ở mỗi vòng lặp, nó liệt kênhững thay đổi và sau đó là cập nhật lại sự thay đồi trên DOM của trình duyệt một cáchhiệu quả Điều này cho phép ta viết các đoạn code như thể toàn bộ trang được render lại

dù thực tế là React chi render những component hay subcomponent nao thực sự thay

đôi.

Trang 20

2.3.2 Các đặc trưng của React

Components: React cho phép ban tạo những giao diện (UI) phức tap từ những đoạn code nhỏ và độc lập Những đoạn code này được gọi là “components”.

Virtual DOM: Những Framework sử dụng DOM như React khi

Virtual-DOM thay đồi, chúng ta không cần thao tác trực tiếp với Virtual-DOM trên View ma vẫnphản ánh được sự thay đổi đó Do Virtual-DOM vừa đóng vai trò là Model, vừa đóngvai trò là View nên mọi sự thay đổi trên Model đã kéo theo sự thay đổi trên View vàngược lại Có nghĩa là mặc dù chúng ta không tác động trực tiếp vào các phần tửDOM ở View nhưng vẫn thực hiện được cơ chế Data-binding Điều này làm cho tốc

độ ứng dụng tăng lên đáng kể

JSX: Trong React, thay vì chỉ sử dụng JavaScript đề thiết kế bố cục trang web thì sẽ

dùng JSX JSX được đánh giá là sử dụng đơn giản hơn JavaScript và cho phép trích

dẫn HTML cũng như việc sử dụng các cú pháp thẻ HTML để render cácsubcomponent JSX tối ưu hóa code khi biên soạn, vì vậy nó chạy nhanh hơn so với

code JavaScript tương đương.

Single-way Data Flow: React không có những module chuyên dụng dé xử ly data,

vì vậy React chia nhỏ view thành các component nhỏ có mỗi quan hệ chặt chẽ với

nhau Việc React sử dụng one-way data flow có thể gây ra một chút khó khăn chonhững người muốn tìm hiểu và ứng dụng vào trong các dự án Tuy nhiên, cơ chế này

sẽ phát huy được ưu điểm của mình khi cấu trúc cũng như chức năng của view trở

Trang 21

2.4 React Native

2.4.1 Khái niệm

React Native là một nền tảng được phát triên bởi Facebook dùng để xây dựng cácứng dụng đi động cho các hệ điều hành iOS và Android Nó sử dụng ngôn ngữ lập trìnhJavaScript và cú pháp của React, một thư viện để xây dựng giao diện người dùng trênweb.

2.4.2 Đặc trưng

Đặc trưng của React Native là nó cho phép bạn xây dựng các ứng dụng di động với

giao diện người dùng tương tự như ứng dung native, nhưng bằng cách sử dụng mã

JavaScript thay vì các ngôn ngữ lập trình native (như Swift cho iOS hoặc Java cho Android).

Các thành phần của React Native bao gồm các thành phần cơ bản như View, Text,Image, và các thành phần khác như ListView, Navigator, và các thành phần tùy chỉnhđược tạo ra bởi các nhà phát triển khác

2.4.3 Ưu điểm

— Cho phép bạn xây dựng các ứng dụng di động với mã JavaScript chung cho cả hai

hệ điều hành iOS và Android

— Tiết kiệm thời gian và chi phí phát trién

—_ Tăng tốc độ phat triển bởi vì có thé sử dụng các thư viện và công cụ JavaScript phd

biến như npm và Babel

11

Trang 22

2.5 Node.js

2.5.1 Khái niệm

Node.js là một nền tảng mã nguồn mở dùng dé xây dựng các ứng dụng máy chủ dùngJavaScript Nó được xây dựng trên nền tảng V§ của Google, một trình thông dịch

JavaScript nhanh và hiệu quả.

2.5.2 Đặc trưng của Node.js

Đặc trưng của Node.js là nó cho phép bạn xây dựng các ứng dụng máy chu dùng

JavaScript, đồng thời cũng có thé sử dung nó đề xây dựng các ứng dụng di động và trìnhduyệt Nó cũng hỗ trợ các chức năng mạnh mẽ như xử lý đồng thời và giao tiếp với các

dịch vụ khác qua giao thức mạng.

2.5.3 Ưu điểm của Node.js

— Tốc độ cao: Vì nó sử dụng trình thông dịch JavaScript nhanh V8 của Google,

Node.js có thể xử lý các yêu cầu máy chủ rất nhanh

— Đồng bộ: Node.js sử dụng hệ thống đồng bộ hóa hoàn toàn, giúp các yêu cầu không

bị gián đoạn và xử lý nhanh hơn.

— Dễ dàng mở rộng: Node.js có rất nhiều thư viện và công cụ khác nhau có sẵn trên

npm, một kho lưu trữ lớn các gói thư viện JavaScript, giúp bạn dé dàng mở rộng.

12

Trang 23

2.6 DialogFlow

2.6.1 Khái niệm

Dialogflow là một nền tảng phát triển ứng dụng trò chuyện (chatbot) và giọng nóiđược phát triển bởi Google Nền tảng này cho phép người dùng xây dựng các ứng dụng

trò chuyện thông qua việc tạo các tài liệu trò chuyện với các lựa chọn đơn giản, trả lời

câu hỏi của người dùng, hiểu được ngôn ngữ tự nhiên và các khái niệm liên quan đến

ngữ cảnh.

2.6.2 Đặc trưng

— Cung cấp giao diện đồ họa dé sử dụng dé thiết kế trò chuyện

— _ Hỗ trợ nhiều ngôn ngữ và các kênh nhắn tin phổ biến, bao gồm Facebook Messenger,

Slack, Skype, và nhiều hơn nữa

— Cung cấp tính năng phân tích ngữ nghĩa tự nhiên dé hiểu các yêu cầu của người dùng

va phản hồi một cách thông minh và tự động

— Cung cấp các tính năng thông minh như xác định ngữ cảnh, phân tích cảm xúc, và

đưa ra đề xuất

2.6.3 Ưu điểm

— Dễ dàng sử dụng với giao điện đồ họa thân thiện với người dùng

— Hỗ trợ nhiều ngôn ngữ và các kênh nhắn tin phổ biến

— Cung cấp các tính năng thông minh giúp xây dung các ứng dụng trò chuyện thông

minh.

— C6 thể tích hợp với các nền tảng khác như Google Cloud Platform, Firebase, và các

ứng dụng của bên thứ ba.

2.6.4 Nhược điểm

— Đối với các ứng dụng phức tạp, việc xây dựng và cấu hình trò chuyện có thé mat

nhiều thời gian

Trang 24

Giới hạn về các tùy chọn trả lời câu hỏi trong các lựa chọn đơn giản và có thể khôngđáp ứng được yêu cầu của một số ứng dụng phức tạp.

Hiệu suất của Dialogflow có thê bị gián đoạn nếu có nhiều lưu lượng truy cập vàocùng một thời điểm

14

Trang 25

CHƯƠNG 3 PHÂN TÍCH THIẾT KÉ HỆ THÓNG

3.1 Sơ dé UML Use case

Chat với Chatbot

Xem thông tin “D>

Trang 26

'Xem đanh sách

“đánh giá sách.

Fang tê eo nà xuất bồ)

Thống kê theo thé loại

“Thống kê theo tác giả

ẤẤhồng kê theo người dùng)

Hình 3.2: Sơ đồ UML Use case 2

16

Trang 27

3.1.1 Danh sách các Actor

Bang 3.1: Danh sách UML Use case Actor

STT Tén Actor Ghi cha

Là quản trị viên hệ thống, có các quyền liên quan đến quản

1 Admin ,

ly hé thong

2 User Người dung có đăng ky tài khoản trong hệ thống

3.1.2 Danh sách các Use case

Bảng 3.2: Danh sách UML Use case

STT Tén Use case Actor

1 Dang nhap Admin, User

2 Dang xuất Admin, User

3 Đăng ký User

4 Đổi mật khẩu User

5 Quản lý sách Admin

6 Xem danh sách sách Admin

7 Thêm sách mới Admin

8 Sửa thông tin sách Admin

9 An sách Admin

10 Quản lý nhà xuất bản Admin

11 Xem danh sách nhà xuất bản Admin

12 Thêm nhà xuất bản mới Admin

13 Chỉnh sửa nhà xuất bản Admin

17

Trang 28

14 Xóa nhà xuất bản Admin

15 Quan ly tac gia Admin

16 Xem danh sach tac gia Admin

17 Thêm tac gia mới Admin

18 Chỉnh sửa tác gia Admin

19 Xóa tác giả Admin

20 Quản lý thê loại Admin

21 Xem danh sách thể loại Admin

2 Thêm thể loại mới Admin

23 Chỉnh sửa thé loại Admin

24 Xóa thê loại Admin

25 Quản lý người dùng Admin

26 Xem danh sách người dùng Admin

27 Câm tài khoản người dùng Admin

28 Kiểm duyệt đánh giá sách Admin

29 Xem danh sách đánh giá sách Admin

30 Ấn đánh giá sách Admin

31 Thống kê Admin

32 Thống kê theo nhà xuất bản Admin

33 Thống kê theo thể loại Admin

33 Thống kê theo tác giả Admin

34 Thống kê theo người dung Admin

18

Trang 29

35 Xem danh sách sách trong thư viện User

36 Doc sach User

37 Xem thông tin sách User

38 Thêm sách vao thư viện User

Trang 30

3.1.3 Đặc tả một số Use case

Đặc tả Use case Quản lý sách:

Bảng 3.3: Đặc ta Use case UCI

STT - tén: UCI - Use case Quản lý sách

Actor: Admin

Mô Cho phép Actor thực hiện việc xem và thay đôi các sách trong ứng

ô tả:

dụng

Điều kiện tiên ;

Actor phải đăng nhập

quyết:

Điều kiện lúc sau:

Actor phải thực hiện được hành động cần thiết với sách trong ứng

dụng

Quy trình cơ bản:

1 Actor chọn tùy chọn “Quản lý sách” từ menu ứng dụng.

2 Actor hiển thị một màn hình với thông về các sách trong ứng dụng

3 Actor chọn sách va từ các tùy chọn có sẵn (vi dụ: chỉnh sửa, xóa, tải

xuống, V.V.).

4 Ứng dụng thực hiện hành động đã chọn.

5 Ứng dụng hiên thị thông báo xác nhận cho Actor.

Ngoại lệ:

Nếu gặp bat kỳ lỗi nao trong khi thực hiện một hành động, ứng dụng

sẽ hiển thị thông báo lỗi thích hợp.

20

Trang 31

Đặc tả Use case Xem danh sách sách:

Bang 3.4: Đặc tả Use case UC2

STT - tên: UC2 - Use case Xem danh sách sách

Actor: Admin

Mô tả: Cho phép Actor thực hiện việc xem các sách trong hệ thống

Điều kiện tiên

quyết: Actor phải đăng nhập

Điêu kiện lúc sau: Actor đã xem được danh sách sách trong ứng dụng

Quy trình cơ bản:

1 Actor nhập vào nút “Xem danh sách sách” trong menu.

2 Actor sẽ thay một màn hình hiền thị những cuốn sách trong thư viện

của họ.

3 Actor có thé xem danh sách sách trong thư viện của họ.

Ngoại lệ:

Nếu gặp bat kỳ lỗi nào trong khi thực hiện một hành động, ứng dụng

sẽ hiển thị thông báo lỗi thích hợp.

21

Trang 32

Đặc tả Use case Thêm sách mới:

Bang 3.5: Đặc tả Use case UC 3

STT - tên: UC3 - Use case Thêm sách mới

Actor: Admin

Mô tả: Cho phép Actor thực hiện việc thêm sách mới vào hệ thống

Điều kiện tiên

quyết: Actor phải đăng nhập

Điêu kiện lúc sau: Sách phải được thêm vào hệ thống

Quy trình cơ bản:

1 Actor nhấp vào nút “Thêm sách”.

2 Actor chọn tệp sách điện tử muốn tải lên.

3 Actor nhấp vào nút “Tải lên”.

4 Sách điện tử được tải lên hệ thống.

5 Hệ thống lấy thông tin meta-data từ file sách và thống hiển thị một

form dé Actor có thé sửa đôi

6 Actor xác nhận thông tin

7 Hệ thống lưu lại sách và thông tin truy van và thông báo thành công

cho Actor.

Nếu người dùng chon sai định dạng file, ứng dụng sẽ hiền thị thông,

báo lỗi thích hợp.

Ngoại lệ: : : :

Nêu gặp bât kỳ lỗi nào trong khi thực hiện một hành động, ứng dụng

sẽ hiển thị thông báo lỗi thích hợp.

Uu tiên: Cao

22

Trang 33

Đặc tả Use case Chỉnh sửa thông tin sách:

Bang 3.6: Đặc ta Use case UC4

STT - tén: UC4 - Use case Chỉnh sửa thông tin sách

Actor: Admin

Mô tả: Cho phép Actor thực hiện việc chỉnh sửa thông tin sách trong hệ thống

Điều kiện tiên

quyết: Actor phải đăng nhập

Điêu kiện lúc sau: Thông tin sách phải được chỉnh sửa trong hệ thống

Quy trình cơ bản:

1 Actor chọn sách và chọn “Chỉnh sửa sách”

2 Hệ thống lấy thông tin meta-data từ file sách và thống hiển thị một

form dé Actor có thé sửa đôi

3 Actor nhấp vào nút “Hoan thành”.

4 Hệ thống lưu lại sách và thông tin truy van và thông báo thành công

cho Actor.

Ngoại lệ:

Nếu gặp bat ky lỗi nào trong khi thực hiện một hành động, ứng dụng

sẽ hiền thị thông báo lỗi thích hợp.

Trang 34

Đặc ta Use case An sách:

Bang 3.7: Đặc ta Use case UCS

STT - tén: UCS - Use case An sách

Actor: Admin

M6 ta: Cho phép actor An một sách trong hệ thống khỏi ứng dung mobile

Điều kiện tiên

quyết: Actor phải đăng nhập

Điêu kiện lúc sau: Trạng thái sách phải được chuyền sang “ẩn”

Nếu gặp bat ky lỗi nào trong khi thực hiện một hành động, ứng dụng

sẽ hiển thị thông báo lỗi thích hợp.

24

Trang 35

Đặc tả Use case Đọc sách:

Bang 3.8: Đặc ta Use case UC6

STT - tén: UC6 - Use case Doc sách

Actor: User

M6 ta: Cho phép Actor đọc sách trên ứng dụng

Điều kiện tiên

quyết: Actor phải đăng nhập

Điều kiện lúc sau: Actor phải đọc được sách

Nếu gặp bat kỳ lỗi nào trong khi thực hiện một hành động, ứng dụng

sẽ hiển thị thông báo lỗi thích hợp.

25

Trang 36

Đặc tả Use case Chat với Chatbot:

Bang 3.9: Đặc ta Use case Chat với Chatbot

STT - tén: UCT- Use case Đánh giá sách

Actor: User

M6 ta: Cho phép Actor tương tác với Chatbot

Điều kiện tiên

quyết: Actor phải đăng nhập vào thiết bi di động

Điêu kiện lúc sau:

Chatbot agent phải đưa ra các thông tin chính xác dựa theo yêu cầu

của actor

Quy trình cơ bản:

1 Actor chọn chức năng Chatbot

24 Ứng dụng đi tới màn hình chat với Chatbot

3 Actor nhập các câu hỏi cho Chatbot

4 Chatbot phản hồi lại câu trả lời cần thiết cho Actor

Ngoại lệ:

Nếu gặp bat ky lỗi nào trong khi thực hiện một hành động, ứng dụng

sẽ hiển thị thông báo lỗi thích hợp.

26

Ngày đăng: 02/10/2024, 05:27

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

TÀI LIỆU LIÊN QUAN

w