60K1 Bùi Xuân Ngọc-ĐATN

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 64

TRƯỜNG ĐẠI HỌC VINH

VIỆN KỸ THUẬT VÀ CÔNG NGHỆ

BÙI XUÂN NGỌC

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC


NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE BÁN SÁCH

Nghệ An – 05/2024
TRƯỜNG ĐẠI HỌC VINH
VIỆN KỸ THUẬT VÀ CÔNG NGHỆ

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC


NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE BÁN SÁCH

Giảng viên hướng dẫn : ThS. Nguyễn Quang Ninh


Sinh viên thực hiện : Bùi Xuân Ngọc
Mã số sinh viên : 19574802010243
Lớp : 60K1-CNTT

Nghệ An – 05/2024
LỜI CAM ĐOAN
Em xin cam đoan Đồ án Tốt nghiệp “Xây dựng website bán sách” là đồ án của
bản thân dưới sự hướng dẫn của thầy ThS. Nguyễn Quang Ninh và chưa chia sẻ cho bất
kỳ ai, do em tự tìm hiểu, đọc tài liệu, tổng hợp, tự thực hiện. Tất cả những tham khảo
trong đồ án đều được nêu rõ trong danh mục tài liệu tham khảo, tất cả các tài liệu tham
khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Em cam đoan và xin chịu trách
nhiệm với đề tài của mình.
Nghệ An, ngày … tháng 05 năm 2024
Sinh viên thực hiện

Bùi Xuân Ngọc

i
MỤC LỤC

LỜI CAM ĐOAN..................................................................................................................i

DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ................................................................v

DANH MỤC CÁC BẢNG..................................................................................................vi

DANH MỤC CÁC HÌNH..................................................................................................vii

LỜI CẢM ƠN.....................................................................................................................ix

MỞ ĐẦU..............................................................................................................................1

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

2. Mục đích thực hiện........................................................................................................1

3. Phạm vi thực hiện..........................................................................................................2

4. Nội dung thực hiện........................................................................................................2

5. Cấu trúc đồ án...............................................................................................................3

CHƯƠNG 1. MÔ TẢ BÀI TOÁN BÁN SÁCH..................................................................4

1.1. Mô tả bài toán............................................................................................................4

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

1.3. Yêu cầu và nhiệm vụ..................................................................................................9

1.3.1. Về lý thuyết..........................................................................................................9

1.3.2. Về thực tiễn........................................................................................................10

1.3.3. Về hiệu suất và bảo mật.....................................................................................10

1.4. Giới thiệu một số website mẫu tham khảo...............................................................11

CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG BÁN SÁCH............................14

2.1. Phân tích thiết kế cơ sở dữ liệu................................................................................14

2.1.1. Mô tả hệ thống...................................................................................................14

ii
2.1.2. Tác vụ người dùng trên trang............................................................................15

2.1.3. Quản lý thông tin trên website bán sách...........................................................16

2.2. Tổng quan về UML..................................................................................................17

2.2.1. Danh sách các tác nhân và ca sử dụng.............................................................17

2.2.3. Biểu đồ ca sử dụng tổng quát............................................................................18

2.2.4. Biểu đồ Usecase đăng nhập...............................................................................20

2.3. Biểu đồ hoạt động....................................................................................................21

2.3.1. Đặc tả biểu đồ hoạt động thêm mới sách..........................................................21

2.3.2. Đặc tả biểu đồ hoạt động sửa sách...................................................................22

2.3.3. Đặc tả biểu đồ hoạt động xóa sách...................................................................23

2.4. Thiết kế cơ sở dữ liệu...............................................................................................24

2.5. Biểu đồ lớp...............................................................................................................33

CHƯƠNG 3. XÂY DỰNG WEBSITE BÁN SÁCH.........................................................35

3.1. Công cụ phát triển....................................................................................................35

3.2. Giao diện khi cài đặt chương trình...........................................................................37

3.2.1 Giao diện trang chủ............................................................................................37

3.2.2. Giao diện trang đăng nhập, đăng ký.................................................................39

3.2.3. Giao diện trang thông tin cá nhân.....................................................................40

3.2.4. Giao diện trang chi tiết sách.............................................................................41

3.2.5. Giao diện trang mua sản phẩm.........................................................................42

3.3. Giao diện của Trang quản trị..................................................................................43

3.3.1. Giao diện trang quản lý.....................................................................................43

3.3.2. Giao diện trang xác thực và phân quyền...........................................................43

3.3.3. Giao diện trang quản lý sách.............................................................................44

iii
3.3.4. Giao diện trang quản lý thể loại........................................................................45

3.3.5. Giao diện trang phản hồi...................................................................................46

3.3.6. Quản lý đơn hàng..............................................................................................47

KẾT LUẬN........................................................................................................................49

TÀI LIỆU THAM KHẢO..................................................................................................51

iv
DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ

STT Từ viết tắt và Giải thích


thuật ngữ

1 Website Là tập hợp các trang web

2 UX/UI User Interface/User Experience

3 API Application Programming Interface

Là chuyên gia xây dựng và duy trì cơ chế xử lý dữ liệu


4 Backend
và thực hiện các hành động trên web
Là chuyên gia lập trình giao diện website
5 Frontend

6 Spring MVC Spring MVC Framewrok cung cấp kiến truc MVC (Model-
View-Controller) và các componen

7 React Là một thư viện JavaScript font-end mã nguồn mở dùng để


xây dựng giao diện người dùng dựa vào các UI riêng lẻ

8 CSS Cascading Style Sheets

9 HTML Hyper Text Markup Language

10 Server Máy chủ là một máy tính được kết nối mạng

11 CRUD Create – Read – Update – Delete (Tạo, đọc, cập nhật, xóa)

12 Users Người dùng

13 UML Unified Modeling Language

14 JSX Là phần mở rộng của JavaScrip (JavaScrip XML)

15 DOM Document Object Model

16 Mo-dun Là tập hợp các định nghĩa được viết thành cá tệp khác nhau
trong một chương trình, lập trình

v
vi
DANH MỤC CÁC BẢNG
Bảng 2.1. Bảng Book…………………………………………………………24

Bảng 2.2. Bảng cart_item …………………………………………………….25

Bảng 2.3. Bảng delivery ………………………………………………….…..25

Bảng 2.4 Bảng favorite_book ………………………………………………...26

Bảng 2.5. Bảng feedback…………………………………………………….. 27

Bảng 2.6. Bảng genre ………………………………………………………...27

Bảng 2.7. Bảng image ……………………………………………….…….…28

Bảng 2.8. Bảng orders ………………………………………………………..29

Bảng 2.9. Bảng order_detail ………………………………………..………...30

Bảng 2.10. Bảng review.……………………………………………………...30

Bảng 2.11. Bảng role………………………………………………………….31

Bảng 2.12. Bảng user……………………………………………………........32

Bảng 2.13. Bảng favorite_book……………………………………………….32

vii
DANH MỤC CÁC HÌNH
Hình 1.1. Giao diện trang mua sách Tiki.............................................................12

Hình 1.2. Giao diện trang mua sách Fahasha.......................................................13

Hình 2.1. Biểu đồ ca sử dụng tổng quát...............................................................19

Hình 2.2. Biểu đồ ca sử dụng đăng nhập.............................................................20

Hình 2.3. Sơ đồ Đặc tả biểu đồ thêm mới sách …………..……..………….…..21

Hình 2.4. Sơ đồ Đặc tả biểu đồ sửa sách ………..………………….……....….22

Hình 2.5. Sơ đồ Đặc tả biểu đồ xóa sách ………..………………………….….23

Hình 2.6. Biểu đồ lớp………..………………………………………………….34

Hình 3.1: Framework Springboot…………………………………………..…..35

Hình 3.2: Framework React………………………………………………...…..36

Hình 3.3. Giao diện trang chủ ……………………………………………..…...38

Hình 3.4. Giao diện trang đăng nhập………………………………………..….39

Hình 3.5. Giao diện trang đăng ký…………………………………………..….39

Hình 3.6. Giao diện trang thông tin cá nhân………………………………...….40

Hình 3.7. Giao diện trang chi tiết sách……………………………………….....41

Hình 3.8. Giao diện trang mua sản phẩm………………………………...……..42

Hình 3.9. Giao diện trang quản trị…………………………………………..…..43

Hình 3.10. Giao diện quản lý tài khoản người dùng………………………....….44

Hình 3.11. Giao diện quản lý sách………………………………………...…....45


viii
Hình 3.12. Giao diện quản lý thể loại…………………………………………..46

Hình 3.13. Giao diện quản lý phản hồi………………………………………....47

Hình 3.14. Giao diện quản lý đơn hàng………………………………………...48

ix
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến các thầy cô trong trường Đại
học Vinh nói chung cũng như các thầy cô trong Viện Kỹ thuật và Công nghệ nói riêng,
những người đã tận tình dạy dỗ, hướng dẫn và trang bị cho em những kiến thức, kinh
nghiệm quý báu trong suốt quá trình học tập và rèn luyện năm năm qua.
Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến thầy giáo ThS. Nguyễn Quang Ninh,
Giảng viên bộ môn Hệ thống và Mạng máy tính, Viện Kỹ thuật và Công nghệ, người đã
trực tiếp chỉ bảo, định hướng và tạo mọi điều kiện giúp đỡ em trong suốt quá trình thực
hiện đồ án tốt nghiệp. Thầy đã cho em rất nhiều lời khuyên và bài học bổ ích, thiết thực
trong quá trình học tập và làm việc ở trường.
Cuối cùng em xin gửi lời cảm ơn chân thành đến gia đình, bạn bè đã quan tâm,
động viên và đóng góp ý kiến giúp đỡ em trong suốt quá trình nghiên cứu và thực hiện đồ
án tốt nghiệp. Do hạn chế về mặt thời gian, kiến thức cũng như kinh nghiệm của bản thân
nên chắc rằng bản báo cáo này không thể tránh khỏi những thiếu sót. Vì vậy, em rất mong
nhận được sự góp ý từ quý thầy cô và bạn đọc để đề tài của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Nghệ An, ngày … tháng 05 năm 2024
Sinh viên thực hiện

Bùi Xuân Ngọc

x
MỞ ĐẦU
1. Lý do chọn đề tài
Như tất cả chúng ta đã biết mua sách trực tuyến mang lại lợi ích không chỉ cho độc
giả mà còn cho cả nhà sách. Đây là một giải pháp quan trọng, mở ra cơ hội tăng sự tiện
lợi và đa dạng hóa trải nghiệm đọc sách. Bằng cách này, độc giả có thể tìm và mua sách
một cách thuận tiện mà không cần phải đến cửa hàng vật lý. Đồng thời, nhà sách có cơ
hội tiếp cận đến một lượng độc giả rộng lớn hơn thông qua môi trường trực tuyến.
Với một xã hội ngày càng phát triển nhu cầu đọc sách ngày càng tăng, hàng triệu
độc giả trên toàn thế giới đều đang tìm kiếm các tựa sách mới mỗi ngày. Do đó, việc xây
dựng một website bán sách đơn giản, nhanh chóng và hiệu quả trở thành một yêu cầu
quan trọng. Website này sẽ giúp độc giả dễ dàng tìm kiếm và chọn sách một cách thuận
tiện, đồng thời tạo ra một trải nghiệm mua sắm trực tuyến thú vị và hấp dẫn.
Trong xã hội hiện đại, internet đã trở thành một phần không thể thiếu trong cuộc
sống hàng ngày, đặc biệt là trong việc tìm kiếm thông tin và mua sắm. Với sự phát triển
của các nền tảng thương mại điện tử, việc mua sách trực tuyến trở nên phổ biến và tiện lợi
hơn bao giờ hết. Dự án xây dựng website bán sách này của em hứa hẹn sẽ mang lại những
trải nghiệm mua sắm sách mới mẻ và tiện ích cho mọi độc giả, giúp kết nối họ với thế
giới sách một cách dễ dàng và thú vị hơn.
2. Mục đích thực hiện
Xây dựng website bán sách được xây dựng với các mục đích chính sau:
- Nghiên cứu về cách tổ chức và thực hiện của thư viện Reactjs và áp dụng vào xây
dựng giao diện website.
- Vận dụng những kiến thức đã học được ở trường và tham khảo qua nhiều tài liệu
vào đề tài thực tế.
- Qua quá trình phát triển, những kiến thức về lập trình, thiết kế giao diện và quản
lý dữ liệu sẽ được áp dụng vào dự án một cách linh hoạt và hiệu quả.
- Website sẽ được thiết kế để đáp ứng nhu cầu của độc giả trong việc mua sách
trực tuyến một cách dễ dàng và tiện lợi.
1
- Bằng cách này, độc giả có thể truy cập và đặt mua sách từ bất kỳ nơi đâu, chỉ cần
có kết nối internet.
- Website cũng sẽ cung cấp các tính năng quản lý thông tin đơn hàng, lưu trữ dữ
liệu và xử lý thanh toán một cách nhanh chóng và chính xác.
3. Phạm vi thực hiện
Nghiên cứu về website bán sách trong phạm vi: Tiến hành khảo sát để hiểu rõ nhu
cầu và thói quen mua sách trực tuyến của độc giả. Sử dụng các phương pháp phân tích và
điều tra thống kê để xác định các yêu cầu chức năng như tìm kiếm sách, đánh giá, bình
luận và yêu cầu phi chức năng như bảo mật, tốc độ tải trang.
Tìm hiểu hoạt động của các nhà sách trực tuyến: Nghiên cứu các quy trình bán
hàng, quản lý kho sách, và cách thức giao hàng của các nhà sách trực tuyến uy tín. Phân
tích cách thức quản lý người dùng, hệ thống giỏ hàng, và quy trình thanh toán.
Đúc rút kinh nghiệm từ các nguồn tài liệu: Tìm hiểu từ các tài liệu, giáo trình về
thương mại điện tử để xây dựng website bán sách có cấu trúc và giao diện thân thiện với
người dùng. Áp dụng các nguyên tắc thiết kế UX/UI để tạo ra trải nghiệm mua sắm trực
tuyến tốt nhất cho khách hàng.
Nghiên cứu cách kết nối dữ liệu: Phát triển API để kết nối dữ liệu từ Backend, có
thể sử dụng Java Spring MVC, với Frontend.
4. Nội dung thực hiện
a. Đối với khách hàng:
- Hỗ trợ người dùng trong việc tìm kiếm và mua sách một cách dễ dàng, không mất
nhiều thời gian, có thể mua sách từ bất kỳ đâu.
- Giao diện website hiển thị đầy đủ và chính xác thông tin sách, giúp đáp ứng nhu
cầu của người đọc.
- Cho phép khách hàng xem và cập nhật thông tin cá nhân, lịch sử mua hàng của
mình.
- Hiển thị thông tin chi tiết về sách bao gồm giá bán, tác giả, nội dung tóm tắt,
đánh giá của người đọc.

2
- Cung cấp nhiều lựa chọn cho khách hàng như xem các sách bán chạy, sách mới
phát hành, sách được đề xuất.
b. Đối với quản trị viên:
- Quản lý danh sách sách đã xuất bản và gửi thông báo mới cho khách hàng qua
website.
- Cho phép đăng nhập và xem được số lượng sách bán ra trong ngày.
- Cập nhật thông tin sách mới và quản lý hồ sơ sách trên website
- Theo dõi đánh giá và phản hồi của khách hàng để cải thiện chất lượng sách và
dịch vụ.
- Cho phép quản trị viên xem thông tin người dùng và lịch sử mua hàng.
- Cho phép cập nhật danh mục sách, bài viết về sách.
- Thống kê doanh số, đánh giá và phản hồi của khách hàng để nâng cao hiệu quả
kinh doanh.
5. Cấu trúc đồ án
Ngoài phần mở đầu, kết luận báo cáo được trình bày gồm ba phần chính:
Chương 1: Mô tả bài toán bán sách
Chương này trình bày bài toán khách hàng mua sách và các nghiên cứu đã thực
hiện liên quan đến đề tài, giới thiệu một số website mẫu mà bài toán hướng tới.
Chương 2: Phân tích và thiết kế hệ thống bán sách
Chương này trình bày chức năng chính của hệ thống của website bán sách các tác
nhân liên quan đến hệ thống, thiết kế cơ sở dữ liệu và phác họa giao diện.
Chương 3: Xây dựng website bán sách
Chương này trình bày các thử nghiệm, các kết quả đạt được và hiển thị giao diện
sau khi cài đặt và kết quả đạt được và sử hạn chế của website

3
CHƯƠNG 1. MÔ TẢ BÀI TOÁN BÁN SÁCH
1.1. Mô tả bài toán
Bài toán xây dựng Website bán sách là một trong những dự án phức tạp và đòi hỏi
sự tập trung cao độ từ phía quá trình xây dựng phát triển. Website phải đảm bảo người
dùng có thể tìm kiếm sách một cách dễ dàng và thuận tiện nhất. Để xây dựng một Website
bán sách, cần có các yêu cầu cơ bản như hệ thống đăng nhập, đăng ký tài khoản, tìm kiếm
sách, chọn mua sách và các tính năng tương tác khác như đánh giá, bình luận, lưu lại danh
sách yêu thích.

Hệ thống tìm kiếm sách cần được cải thiện để người dùng có thể tìm kiếm sách
nhanh chóng và dễ dàng. Hệ thống phân loại sách cũng rất quan trọng để người dùng có
thể lựa chọn sách một cách thuận tiện và nhanh chóng. Bên cạnh đó, độ an toàn của
website cũng rất quan trọng. Các tính năng bảo mật như chống tin tặc, đảm bảo thông tin
cá nhân của người dùng được bảo mật, bảo vệ website khỏi các cuộc tấn công mạng là
điều cần thiết để đảm bảo sự tin tưởng của người dùng.

Tóm lại, việc xây dựng một website bán sách không chỉ đòi hỏi các kỹ năng, kỹ
thuật phức tạp mà còn đòi hỏi sự tập trung và sự quan tâm đến trải nghiệm người dùng.

Giai đoạn 1: Hoàn thành các tác vụ của người dùng

Để đáp ứng nhu cầu của người dùng, bài toán hoàn thành các tác vụ đóng vai trò
quan trọng trong việc tạo ra trải nghiệm tốt trên website.

Như một người dùng, em muốn có thể đăng ký tài khoản mới trên website để truy
cập nội dung chưa được phép truy cập và quản lý thông tin cá nhân.

Như một người dùng, em muốn có thể đăng nhập vào tài khoản của mình trên
website để truy cập nội dung chưa được phép truy cập và quản lý thông tin cá nhân.

Như một người quản lý, em muốn có thể xem danh sách tài khoản người dùng đã
đăng ký để có thể xác minh và quản lý họ.

4
Như một người quản lý, em muốn có thể xóa tài khoản người dùng nếu tài khoản đó
vi phạm quy định của website hoặc vi phạm pháp luật.

Trong các tác vụ của người dùng, các thông tin cần có gồm:

Tên đăng nhập (username): Là một chuỗi ký tự đặc biệt dùng để nhận diện người
dùng khi đăng nhập và thao tác trên hệ thống.

Mật khẩu (password): Là một chuỗi ký tự đặc biệt dùng để đảm bảo quyền riêng tư
và bảo mật thông tin của người dùng.

Email: Là một thông tin quan trọng có thể liên lạc với người dùng trong trường hợp
cấp thiết hoặc các ưu đãi

Họ đệm: Họ của người dùng

Tên: Tên của người dùng, để quản lý và dễ xưng hô

Ảnh đại diện: Là một bức ảnh cá nhân mà người dùng đặt để dễ nhận diện tài khoản
của cá nhân người dùng

Số điện thoại: Dùng để liên lạc trong trường hợp người dùng đặt sách, người giao
hàng sẽ lấy thông tin và liên lạc để người dùng nhận được sách

Mã kích hoạt: Là một chuỗi ký tự đặc biệt dùng để kích hoạt tài khoản, xem đây có
phải tài khoản chính chủ hay là không

Giai đoạn 2: Quản lý thông tin sách

Quản lý thông tin sách là một nhiệm vụ quan trọng để đảm bảo sự thuận tiện và tổ
chức cho việc cung cấp sách cho người dùng. Bao gồm việc thu thập, tổ chức và duy trì
các thông tin liên quan đến sách.

Như một quản trị viên, em muốn có thể thêm mới một cuốn sách vào hệ thống, với
các thông tin như tên sách, tác giả, năm xuất bản, thể loại, giá bán và hình ảnh để người
dùng có thể tìm kiếm và mua sách.

5
Như một quản trị viên, em muốn có thể chỉnh sửa các thông tin của cuốn sách như
tên sách, tác giả, năm xuất bản, thể loại, giá bán và hình ảnh để cập nhật thông tin mới
nhất.

Như một quản trị viên, em muốn có thể xóa một cuốn sách khỏi hệ thống nếu nó đã
bị xóa khỏi cơ sở dữ liệu hoặc không phù hợp với chính sách của website.

Như một người dùng, em muốn có thể tìm kiếm các cuốn sách dựa trên tiêu chí như
tác giả, thể loại, năm xuất bản để tìm kiếm các cuốn sách phù hợp với sở thích của mình.

Như một người dùng, em muốn có thể xem chi tiết các thông tin của một cuốn sách,
bao gồm tên sách, tác giả, năm xuất bản, thể loại, giá bán và hình ảnh để tìm hiểu thêm về
cuốn sách trước khi quyết định mua.

Trong quản lý thông tin sách, các thông tin cần có gồm:

Tên sách: Đây là thông tin cơ bản của cuốn sách, dùng để nhận diện và tìm kiếm
trên website.

Tác giả: Đây là thông tin về người viết cuốn sách. Thông tin này giúp người dùng
tìm kiếm sách theo tác giả.

Năm xuất bản: Đây là thông tin về năm cuốn sách được xuất bản. Thông tin này
giúp người dùng tìm kiếm sách theo năm xuất bản.

Thể loại: Đây là thông tin về thể loại của cuốn sách, giúp người dùng lựa chọn sách
theo sở thích.

Số lượng: Đây là thông tin về kho sách, giúp người quản lý và người dùng biết số
lượng sách.

Giá bán: Đây là thông tin về giá bán của cuốn sách, giúp người dùng biết giá trước
khi quyết định mua.

Hình ảnh: Đây là thông tin về hình ảnh bìa sách, giúp người dùng xem trước hình
dáng của cuốn sách.

6
Trung bình xếp hạng: Đây là một thông tin quan trọng để khách hàng nhận biết ra
rằng cuốn sách này có hay là không, để chọn một cuốn sách phù hợp với người đọc.

Giai đoạn 3: Công cụ tìm kiếm

Công cụ tìm kiếm là một phần quan trọng trong hệ thống quản lý thông tin sách,
giúp người dùng dễ dàng tìm kiếm và khám phá sách theo các tiêu chí và yêu cầu của họ.

Như một người dùng, em muốn có thể tìm kiếm sách theo tiêu đề để có thể dễ dàng
tìm kiếm những cuốn sách mình quan tâm.

Như một người dùng, em muốn có thể lọc sách theo thể loại để có thể tìm kiếm
những cuốn sách theo sở thích của mình.

Như một người dùng, em muốn có thể lọc sách theo tác giả để có thể tìm kiếm
những cuốn sách của tác giả mình yêu thích.

Như một quản trị viên, em muốn có thể quản lý các tiêu chí tìm kiếm như thể loại,
tác giả, năm xuất bản, để có thể thêm, sửa hoặc xóa các thông tin này một cách dễ dàng.

Giai đoạn 4: Thu thập dữ liệu sách

Việc thu thập dữ liệu sách đóng vai trò quan trọng để xây dựng và duy trì một cơ sở
dữ liệu sách đáng tin cậy.

Như một người dùng, em muốn có thể tìm thấy thông tin về các sách mới nhất và
cập nhật, thông tin về tác giả, năm xuất bản và giá bán.

Như một quản trị viên, em muốn có thể thêm các nhà xuất bản vào danh sách nhà
xuất bản cần thu thập dữ liệu.

Như một quản trị viên, em muốn có thể thực hiện cập nhật và xóa các nhà xuất bản
đã được thêm vào danh sách.

Giai đoạn 5: Quản lý đơn hàng

Quản lý đơn hàng đóng vai trò quan trọng trong việc xử lý và duy trì thông tin về
các đơn đặt sách trên website bán sách.

7
Như một quản trị viên, em muốn có thể thêm mới một đơn hàng vào hệ thống, với
các thông tin như mã đơn hàng, danh sách sách được đặt, thông tin khách hàng, tổng giá
trị đơn hàng và trạng thái đơn hàng.

Như một quản trị viên, em muốn có thể chỉnh sửa các thông tin của đơn hàng như
danh sách sách được đặt, thông tin khách hàng, tổng giá trị đơn hàng và trạng thái đơn
hàng.

Như một quản trị viên, em muốn có thể xóa một đơn hàng khỏi hệ thống nếu đơn
hàng đó đã được xử lý hoặc không còn cần thiết.

Như một người dùng, em muốn có thể xem chi tiết các thông tin của một đơn hàng,
bao gồm mã đơn hàng, danh sách sách được đặt, thông tin khách hàng, tổng giá trị đơn
hàng và trạng thái đơn hàng.

Trong quản lý đơn hàng, các thông tin cần có gồm:

Mã đơn hàng: Đây là thông tin định danh duy nhất của mỗi đơn hàng, giúp quản trị
viên và người dùng dễ dàng xác định và theo dõi.

Danh sách sách được đặt: Đây là thông tin về các cuốn sách được đặt trong mỗi đơn
hàng, bao gồm tên sách, số lượng và giá bán.

Thông tin khách hàng: Đây là thông tin về người đặt hàng, bao gồm tên, địa chỉ, số
điện thoại và địa chỉ email.

Tổng giá trị đơn hàng: Đây là thông tin về tổng giá trị của đơn hàng, tính từ giá bán
của từng cuốn sách và các chi phí khác (nếu có).

Trạng thái đơn hàng: Đây là thông tin về trạng thái hiện tại của đơn hàng, như
"Chưa xử lý", "Đang xử lý", "Đã giao hàng" để người dùng và quản trị viên có thể theo
dõi tình trạng của đơn hàng.

Thông qua quản lý đơn hàng, hệ thống có thể hiệu quả xử lý các giao dịch mua
sách, đồng thời cung cấp thông tin chi tiết cho cả quản trị viên và người dùng.

8
1.2. Đối tượng nghiên cứu
Đối tượng nghiên cứu của website bán sách có thể được phân loại thành hai nhóm
chính: người đọc và người quản lý. Người đọc là những người truy cập vào website để
tìm kiếm, mua sách và sử dụng các tính năng khác như đánh giá, bình luận và chia sẻ sách
với bạn bè. Người quản lý là những người phụ trách quản lý và vận hành website, đảm
bảo việc cung cấp dịch vụ mua sách một cách hiệu quả và liên tục.

Đối tượng người đọc của website bán sách rất đa dạng và có thể phân loại theo
nhiều tiêu chí khác nhau. Về mặt độ tuổi, độc giả có thể là trẻ em, thanh thiếu niên, người
trung niên hay người cao tuổi. Về mặt sở thích và đặc điểm cá nhân, độc giả có thể là
những người yêu thích thể loại sách như tiểu thuyết, kinh doanh, khoa học, hay sách dành
cho trẻ em. Họ có thể đến từ nhiều quốc gia khác nhau và có nhu cầu đọc sách bằng nhiều
ngôn ngữ khác nhau.

Vì vậy, việc đáp ứng nhu cầu của các đối tượng độc giả này là rất quan trọng đối
với thành công của website bán sách. Website cần cung cấp cho người đọc những tính
năng và trải nghiệm tốt nhất để thu hút và giữ chân độc giả. Ví dụ như cung cấp hệ thống
tìm kiếm sách hiệu quả, đề xuất các cuốn sách phù hợp với sở thích của từng độc giả, đảm
bảo thông tin chi tiết và chất lượng ảnh bìa sách.

Đối với người quản lý, việc nghiên cứu và hiểu rõ đối tượng độc giả của website
bán sách là quan trọng để có thể cải thiện và nâng cao chất lượng dịch vụ. Nghiên cứu này
giúp họ phát triển và cải tiến các tính năng của website sao cho phù hợp với nhu cầu của
độc giả, từ đó cải thiện trải nghiệm và tăng sự hài lòng của khách hàng.

1.3. Yêu cầu và nhiệm vụ.


1.3.1. Về lý thuyết
- Nghiên cứu về hoạt động của các website bán sách trực tuyến trong thực tế.

- Phân tích các quy trình nghiệp vụ của hệ thống bán sách trực tuyến.

- Xây dựng các biểu đồ chức năng, luồng dữ liệu của hệ thống.

- Tìm hiểu về nguyên lý hoạt động của ứng dụng trên nền tảng website.

9
- Tìm hiểu và áp dụng các công cụ xây dựng website và trang quản trị.

- Tìm hiểu về hệ thống quản lý cơ sở dữ liệu và cách kết nối ứng dụng web với cơ
sở dữ liệu.

- Tìm hiểu về các công nghệ phát triển web hiện đại như JavaScript, CSS, HTML.

1.3.2. Về thực tiễn


Xây dựng hệ thống bán sách trực tuyến đáp ứng đầy đủ yêu cầu đặt ra, tập trung
vào phù hợp với hoạt động của hệ thống trong thực tế. Phát triển website có khả năng giao
tiếp hiệu quả với server. Tích hợp hệ thống thanh toán an toàn và thuận tiện cho người
dùng.

Đối với quản trị viên cho phép tải lên, quản lý và chia sẻ thông tin về sách một
cách thuận tiện. Có khả năng thêm mô tả, từ khóa và phân loại sách để tìm kiếm dễ dàng
hơn. Tích hợp chức năng nhận xét và đánh giá sách từ người sử dụng khác.

Đối với người mua sách, cung cấp công cụ tìm kiếm mạnh mẽ với khả năng lọc kết
quả. Hiển thị thông tin chi tiết về sách, bao gồm đánh giá và nhận xét từ người sử dụng
khác. Hỗ trợ mua sách và thanh toán một cách thuận tiện.

Tương tác người dùng: Xây dựng tính năng liên hệ phản hồi để người dùng có thể
thắc mắc hoặc đặt câu hỏi với người quản trị website. Cung cấp giao diện thân thiện với
người dùng, đảm bảo dễ sử dụng và không làm rối mắt người dùng.

1.3.3. Về hiệu suất và bảo mật


- Tối ưu hóa hiệu suất của website để đảm bảo tốc độ tải nhanh chóng và trải
nghiệm người dùng tốt.

- Xử lý đồng thời nhiều người dùng và giao dịch một cách hiệu quả.

- Đảm bảo website có thể mở rộng khi có sự gia tăng đột ngột về lượng người sử
dụng hoặc số lượng sách.

- Tích hợp các biện pháp bảo mật như đăng nhập an toàn, mã hóa dữ liệu để đảm
bảo an ninh thông tin.

10
- Kiểm soát quyền truy cập thông tin sách dựa trên vai trò của người dùng (người
đăng bán, người mua).

- Đảm bảo tính nhất quán và tin cậy của thông tin người dùng và sách trong hệ
thống.

1.4. Giới thiệu một số website mẫu tham khảo


Để phát triển một website bán sách trực tuyến thành công, em đã tự học và lấy học
từ những website uy tín như Tiki.com và Fahasha.com. Mục tiêu của em là mang đến cho
người đọc nội dung đa dạng và chất lượng cao với trải nghiệm mua sắm sách linh hoạt và
thuận lợi nhất.

Tiki đứng đầu trong danh sách các website bán sách hàng đầu tại Việt Nam. Với
bộ sưu tập sách đa dạng và chất lượng, Tiki thu hút nhiều độc giả yêu sách. Không chỉ là
nơi cung cấp sách, Tiki thường xuyên tổ chức các chương trình ưu đãi, giảm giá hấp dẫn,
giúp người mua tiết kiệm chi phí đáng kể. Lựa chọn đa dạng: Tiki thường cung cấp một
loạt các đầu sách từ nhiều thể loại khác nhau, từ sách giáo khoa đến sách văn học, sách kỹ
năng và nhiều hơn nữa. Điều này cho phép người dễ dàng tìm kiếm và mua sách phù hợp
với nhu cầu của người dùng. Giá cả cạnh tranh: Thị trường cạnh tranh của Tiki có thể dẫn
đến việc có giá cả cạnh tranh và các ưu đãi hấp dẫn, giúp người dùng tiết kiệm chi phí khi
mua sách. Dịch vụ giao hàng nhanh chóng: Tiki thường cung cấp các tùy chọn giao hàng
nhanh chóng và tiện lợi, giúp người dùng nhận được sách một cách nhanh chóng và thuận
tiện. Đó là những thuật tiện sau đây là những yếu điểm mà em đã trải nghiệm. Khả năng
kiểm tra sản phẩm trước khi mua. Một trong những hạn chế của việc mua sách trực tuyến
là người dùng không thể kiểm tra sản phẩm trước khi mua. Điều này có thể dẫn đến việc
nhận được sách không đúng như mong đợi. Vấn đề về chất lượng: Mặc dù Tiki cố gắng
để cung cấp các sản phẩm chất lượng, nhưng có thể có trường hợp người dùng nhận được
sách có chất lượng không như mong đợi. Phụ thuộc vào dịch vụ vận chuyển: Mặc dù Tiki
cung cấp dịch vụ giao hàng, nhưng người dùng có thể gặp phải trở ngại hoặc trễ trong
việc nhận được sách do vấn đề vận chuyển.

11
Hình 1.1. Giao diện trang mua sách Tiki

Fahasa.com, hay còn được biết đến là FahaBooks, là một trong những địa chỉ tin
cậy và phổ biến nhất trong cộng đồng đam mê sách tại Việt Nam. Website này nổi tiếng
với bộ sưu tập sách đa dạng, phong phú từ các thể loại văn học, khoa học, kinh doanh đến
sách giáo khoa và sách ngoại ngữ. Giao diện sử dụng thân thiện. Giao diện của
Fahasha.com thân thiện và dễ sử dụng, giúp người dùng dễ dàng tìm kiếm và mua sách
một cách thuận tiện. Ngoài ra, Fahasa.com còn là địa điểm lý tưởng cho các độc giả muốn
tham gia các sự kiện văn hóa, triển lãm sách, các buổi ký tặng sách của các tác giả nổi
tiếng. Điều này tạo ra không gian giao lưu, trao đổi và chia sẻ đam mê sách giữa cộng
đồng độc giả. Ngoài những ưu điểm trên đang còn có một số yếu điểm mà Fahasha vẫn
còn tồn tại. Vấn đề về chất lượng: Mặc dù Fahasha.com cố gắng để cung cấp các sản
phẩm chất lượng, nhưng có thể có trường hợp người dùng nhận được sách không đúng
như mô tả hoặc không đạt được mong đợi. Phụ thuộc vào dịch vụ vận chuyển: Có thể gặp
phải trễ hạn trong việc nhận sách do vấn đề vận chuyển hoặc các vấn đề khác ngoài tầm
kiểm soát của Fahasha.com. Dịch vụ khách hàng có thể không hiệu quả: Có thể gặp khó
khăn trong việc liên hệ và giải quyết các vấn đề với dịch vụ khách hàng của Fahasha.com
chưa giải quyết được.
12
Hình 1.2. Giao diện trang mua sách Fahasha

13
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG BÁN SÁCH
2.1. Phân tích thiết kế cơ sở dữ liệu
2.1.1. Mô tả hệ thống
Mô tả: Hệ thống website bán sách của em đã được thiết kế với mục tiêu chính là
đáp ứng những nhiệm vụ quan trọng nhất, bao gồm: Quản lý Đăng nhập và Đăng ký tài
khoản website cung cấp một giao diện đơn giản và dễ sử dụng cho người dùng đăng nhập
và đăng ký tài khoản mới. Người dùng có thể tạo tài khoản chỉ trong vài bước đơn giản,
cung cấp các thông tin cần thiết như địa chỉ email, tên đăng nhập và mật khẩu. Quá trình
này được thiết kế để đảm bảo tính bảo mật cao và tiện lợi cho người dùng. Quản lý Thông
tin Sách. Hệ thống của em lưu trữ một cơ sở dữ liệu toàn diện về thông tin sách, bao gồm
các chi tiết như tiêu đề, tác giả, mô tả, hình ảnh và giá cả. Quản trị viên có thể dễ dàng
quản lý và cập nhật thông tin về sách từ giao diện quản trị. Điều này giúp đảm bảo rằng
người dùng luôn có thông tin chính xác và chi tiết về sách mà họ quan tâm. Quản lý Đơn
hàng website cung cấp một hệ thống quản lý đơn hàng tiện lợi cho cả người dùng và quản
trị viên. Người dùng có thể dễ dàng thêm sách vào giỏ hàng, xem lại các mặt hàng trong
giỏ hàng và thực hiện thanh toán một cách nhanh chóng. Quản trị viên có thể theo dõi và
quản lý các đơn hàng từ giao diện quản trị, từ việc xác nhận đơn hàng đến theo dõi tình
trạng giao hàng.

- Chi tiết đăng nhập, đăng kí:

+ Quản trị viên: Tài khoản quản trị viên được tạo qua hệ thống, cung cấp quyền
truy cập đầy đủ để quản lý tài khoản người dùng, thông tin sách, và bài viết liên quan.
Quản trị viên đăng nhập để thực hiện các nhiệm vụ này, đồng thời có khả năng cập nhật
thông tin trực tiếp lên website.

+ Người dùng: Người dùng đăng kí tài khoản và đợi được cấp phép bởi quản trị
viên. Sau khi tài khoản được xác nhận, họ có thể đăng nhập, giúp xác thực danh tính và
bảo vệ thông tin cá nhân.

- Chi tiết quản lý thông tin sách:

14
Thêm, sửa và xóa sách: Quản trị viên có khả năng thêm sách mới vào hệ thống,
cập nhật thông tin về sách đang tồn tại, và loại bỏ những cuốn sách đã lỗi thời. Tính năng
này giúp website cung cấp nhanh chóng những tuyển tập sách đa dạng và phản ánh xu
hướng độc đáo.

- Chi tiết quản lý đơn hàng:

+ Thêm, sửa và xóa đơn hàng: Quản lý đơn hàng là bước quan trọng trong quá
trình vận hành website bán sách. Tính năng này giúp quản trị viên cập nhật thông tin về
đơn hàng mới, điều chỉnh thông tin khi cần thiết, và loại bỏ những đơn hàng đã xử lý.
Việc này đảm bảo sự linh hoạt và hiệu quả trong việc quản lý quá trình giao dịch.

+ Tổng cộng, hệ thống được xây dựng với mục tiêu cung cấp một nền tảng linh
hoạt và thuận tiện cho cả quản trị viên và người dùng, đảm bảo rằng website bán sách
không chỉ là nơi mua sắm, mà còn là cộng đồng yêu sách đầy đủ và đa dạng.

2.1.2. Tác vụ người dùng trên trang


Xác định các trường thông tin cần thiết cho người dùng. Trong quá trình xây dựng
website bán sách, các trường thông tin quan trọng cho người dùng sẽ bao gồm:

- Tên đăng nhập, mật khẩu, họ tên, số điện thoại, địa chỉ, ảnh đại diện. Thiết kế mô
hình quan hệ cơ sở dữ liệu

+ Chúng ta có thể thiết kế một bảng dữ liệu người dùng với các trường như ID
người dùng (khóa chính), tên đăng nhập, mật khẩu được mã hóa, họ tên, số điện thoại, địa
chỉ và đường dẫn đến ảnh đại diện.

+ Lập trình các thao tác CRUD trên dữ liệu người dùng

Chúng ta cần phát triển các chức năng thêm mới, đọc, cập nhật và xóa dữ liệu
trong bảng Users. Các chức năng này sẽ tương tác với cơ sở dữ liệu để thực hiện các thao
tác tương ứng.

- Xây dựng giao diện và chức năng đăng ký và đăng nhập

15
+ Tạo giao diện đăng ký và đăng nhập cho người dùng với các trường thông tin
cần thiết.

+ Xử lý lỗi đăng ký hoặc đăng nhập không thành công và hiển thị thông báo cho
người dùng.

- Lập trình tính năng quản lý thông tin cá nhân

+ Xây dựng giao diện quản lý thông tin cá nhân, cho phép người dùng cập nhật
thông tin và đổi mật khẩu.

+ Lập trình các hàm xử lý dữ liệu để thực hiện các thao tác cập nhật thông tin cá
nhân và đổi mật khẩu trong cơ sở dữ liệu người dùng.

- Kiểm thử chức năng quản lý người dùng

+ Thực hiện kiểm thử đơn vị và kiểm thử tích hợp trên các chức năng quản lý
người dùng.

+ Kiểm tra tính đúng đắn, ổn định và tương thích với các thành phần khác trên
website bán sách.

2.1.3. Quản lý thông tin trên website bán sách

Quản lý thông tin trên website bán sách là một phần quan trọng trong việc cung
cấp trải nghiệm đáng tin cậy và thuận tiện cho người dùng.

- Tạo trường thông tin và thiết kế mô hình quan hệ

+ Xác định các trường thông tin cần thiết cho sách như tên sách, thể loại, năm xuất
bản, tác giả, nhà xuất bản, mô tả, giá bán, số lượng trong kho và hình ảnh.

+ Thiết kế mô hình quan hệ giữa các bảng trong cơ sở dữ liệu để lưu trữ thông tin
sách.

- Lập trình các thao tác CRUD (thêm mới, đọc, cập nhật, xóa) trên dữ liệu sách

+ Xây dựng giao diện cho các chức năng quản lý sách bao gồm: Thêm sách mới,
sửa thông tin sách, xóa sách và hiển thị danh sách.

16
+ Lập trình các hàm xử lý dữ liệu để thực hiện các thao tác CRUD trên cơ sở dữ
liệu sách.

- Kiểm thử chức năng quản lý sách

+ Thực hiện kiểm thử đơn vị và kiểm thử tích hợp trên các chức năng quản lý sách.

+ Kiểm tra tính đúng đắn, hoạt động ổn định và tương thích với các thành phần
trên trang.

2.2. Tổng quan về UML

2.2.1. Danh sách các tác nhân và ca sử dụng

- Danh sách các tác nhân

STT Tác nhân Nhiệm vụ

1 Quản trị viên + Quản trị viên là tác nhân giữ vai trò chính của
website: quyền quản lý là quyền cao nhất của hệ
thống. Đây cũng là người chịu trách nhiệm lớn nhất.
Những người giữ vai trò quản lý chính có thể phân
quyền cho các thành viên trong website.

+ Tác nhân quản trị viên có thể thực hiện được tất cả
các chức năng của website như: tạo, quản lý tài khoản
thành viên, quản lý và phân quyền các chuyên mục,
đăng sửa xóa sách …

+ Tác nhân quản trị viên có quyền thêm, sửa, xóa, cập
nhật thông tin mới.

2 Người dùng + Đăng nhập vào hệ thống: Mỗi một thành viên có
một số quyền giới hạn do quản trị viên cấp cho.

+ Đăng ký tài khoản thành viên khi muốn tham gia


website.

17
+ Xem sách mới: Người dùng có thể xem sách trên
website.

- Danh sách các ca sử dụng

STT Tên ca sử dụng Người liên quan Ghi chú

1 Mức tổng quát Quản trị viên, Được quyền truy cập
người dùng vào hệ thống và thực
hiện các chức năng đã
được phân quyền.

2 Đăng nhập Quản trị viên, Đăng nhập vào hệ thống


người dùng theo đúng thông tin đã
đăng kí.

3 Quản lý người dùng Quản trị viên Được quyền thêm mới,
sửa xóa tài khoản nhân
viên, người dùng trong
hệ thống.

4 Quản lý sách Quản trị viên Được quyền thêm mới,


sửa xóa bài viết theo
chuyên mục.

5 Tìm kiếm Quản trị viên, Tìm kiếm thông tin.


người dùng

2.2.3. Biểu đồ ca sử dụng tổng quát

Mô tả: Biểu đồ ca sử dụng tổng quát website bán sách của em bao gồm hai nhóm
người dùng chính là Quản trị viên và Người dùng.

18
Hình 2.1. Biểu đồ ca sử dụng tổng quát

- Quản trị viên

+ Đăng nhập: Quản trị viên đăng nhập vào hệ thống để có quyền truy cập vào các
tính năng quản lý.

+ Quản lý người dùng: Quản trị viên có thể thêm, sửa, xóa thông tin người dùng
trong hệ thống.

+ Quản lý chuyên mục: Quản trị viên có thể tạo, sửa, xóa các chuyên mục sách để
người dùng dễ dàng tìm kiếm.

+ Quản lý thông tin sách : Quản trị viên có thể thêm, sửa, xóa các thông tin liên
quan đến sách như tên sách , thể loại, diễn viên, đạo diễn, nội dung...

- Người dùng

+ Xem sách: Người dùng có thể xem các bộ sách được cập nhật mới nhất trên
website.

+ Tìm kiếm: Người dùng có thể tìm kiếm sách theo từ khóa, thể loại hoặc chuyên
mục.

+ Phản hồi: Người dùng có thể đóng góp ý kiến hoặc phản hồi về website.
19
Tất cả các ca sử dụng này sẽ kết hợp với nhau để tạo ra một hệ thống quản lý thông
tin sách hoàn chỉnh và giúp người dùng có được trải nghiệm xem sách tốt nhất trên
website.

2.2.4. Biểu đồ Usecase đăng nhập

Hình 2.2. Biểu đồ ca sử dụng đăng nhập

Mô tả: Chức năng này cho phép quản trị viên và các thành viên đăng nhập vào hệ
thống để sử dụng các chức năng của website. Khi các thành viên muốn thao tác với các
chức năng của hệ thống bắt buộc phải đăng nhập theo đúng thông tin đã đăng kí trước đó.

- Dòng sự kiện chính:

+ Bắt đầu quản trị viên và thành viên đăng nhập vào website.

+ Hệ thống yêu cầu quản trị viên và thành viên đăng nhập vào website.

+ Quản trị viên và thành viên nhập tên và mật khẩu.

+ Hệ thống kiểm tra tên và mật khẩu đúng với thông tin đã đăng kí và cho phép
người dùng đăng nhập vào website.

+ Nếu người dùng chưa nhập “Tên đăng nhập” và “mật khẩu” mà nhấn vào nút
“Đăng nhập” thì coi như đăng nhập không hợp lệ.

- Dòng sự kiện phụ:

20
Nếu người dùng nhập tài khoản và mật khẩu sai thì website sẽ báo lỗi và yêu cầu
người dùng đăng nhập lại, nếu người dùng không muốn đăng nhập nữa thì chỉ xem được
thông tin các bài viết.

2.3. Biểu đồ hoạt động

2.3.1. Đặc tả biểu đồ hoạt động thêm mới sách

Hình 2.3. Sơ đồ Đặc tả biểu đồ thêm mới sách

Đặc tả quy trình hoạt động thêm mới sách

- Yêu cầu thêm mới sách

- Hệ thống sẽ hiển thị giao diện thêm mới sách

- Sau đó hệ thống yêu cầu nhập thông tin cho nội dung thêm mới sách để hoàn
thành quy trình với các thông tin như: tên, mô tả, nội dung chuyên mục, hình ảnh hoặc
video minh họa.

- Sau khi thêm vào thông tin của nội dung thêm mới sách, hệ thống sẽ kiểm tra các
nội dung đầu vào xem có đúng hay không. Kết quả sẽ trả về Đúng hoặc Sai.

21
+ Nếu đúng: Chấp nhận cho phép thêm mới sách

+ Nếu sai: Yêu cầu nhập lại và quay lại quá trình nhập các thông tin

- Kết thúc quy trình thêm mới sách.

2.3.2. Đặc tả biểu đồ hoạt động sửa sách

Hình 2.4. Sơ đồ Đặc tả biểu đồ sửa sách

Đặc tả quy trình hoạt động sửa sách :

- Yêu cầu chỉnh sửa sách.

- Hệ thống sẽ hiển thị giao diện sửa nội dung sách cho nội dung cần sửa.

- Quản trị viên sẽ lựa chọn nội dung sách cần sửa.

- Sau khi chỉnh sửa nội dung sách được lựa chọn trước đó, hệ thống sẽ kiểm tra các
nội dung đầu vào có hợp lệ hay không. Kết quả sẽ trả về Đúng hoặc Sai.

22
+ Nếu đúng: Chấp nhập cho phép sửa sách

+ Nếu sai: Hệ thống yêu cầu xem xét lại nội dung để hệ thống có thể chấp nhận

- Kết thúc quy trình sửa sách.

2.3.3. Đặc tả biểu đồ hoạt động xóa sách

Hình 2.5. Sơ đồ Đặc tả biểu đồ xóa sách

Đặc tả quy trình hoạt động xóa sách:

- Quản trị viên lựa chọn xóa sách

- Hệ thống hiển thị giao diện xóa sách. Lúc này hệ thống sẽ đưa ra hai lựa chọn
Đồng ý hoặc Không đồng ý.

+ Nếu đồng ý: Hệ thống sẽ xóa sách mà quản trị viên đã chọn trước đó.

+ Nếu không đồng ý: Hệ thống sẽ hủy việc xóa sách và kết thúc quá trình xóa.

- Kết thúc quy trình xóa sách.

23
2.4. Thiết kế cơ sở dữ liệu

- Thiết kế bảng Book (sách): Để lưu trữ thông tin về các cuốn sách trong website
bán sách trực tuyến. Chức năng bảng này là lưu trữ và quản lý thông tin chi tiết về các
cuốn sách, bao gồm thông tin về giá cả, tác giả, số lượng tồn kho, điểm đánh giá và các
thông tin liên quan đến quá trình bán hàng như số lượng đã bán và chiết khấu áp dụng.
Điều này giúp cho việc quản lý kho sách, giá cả và việc áp dụng các chiến lược bán hàng
trở nên dễ dàng hơn.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 id_book int 11 Mã sách (Khóa chính)

2 name_book nvarchar 255 Tên sách

3 author nvarchar 255 Tác giả

4 description longtext Mô tả

5 list_price double Gia niêm yết

6 Sellprice double Giá bán

7 quantity int 11 Số lượng

8 avgRating double Trung bình xếp hạng

9 soldQuantity int 11 Đã bán

10 discountPercent int 11 Giảm giá theo %

Bảng 2.1. Bảng Book

- Thiết kế bảng cart_item(giỏ hàng): Chức năng của bảng này là lưu trữ thông tin
về các mặt hàng được thêm vào giỏ hàng của người dùng. Mỗi bản ghi trong bảng này
biểu diễn một mặt hàng cụ thể trong giỏ hàng của một người dùng cụ thể. Thông qua bảng
này, hệ thống có thể theo dõi các mặt hàng mà người dùng đã thêm vào giỏ hàng, số
24
lượng của mỗi mặt hàng và liên kết chúng với người dùng cụ thể. Điều này giúp cho việc
quản lý giỏ hàng và quá trình mua sắm trở nên dễ dàng hơn.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_cart int 11 Mã giỏ hàng (Khóa


chính)

2 quantity int 11 Số lượng

3 Id_book int 11 Mã sách (Khóa ngoại)

4 Id_user int 11 Mã người dùng (Khóa


ngoại)

Bảng 2.2. Bảng cart_item

- Thiết kế bảng delivery (giao hàng): Chức năng của bảng này là lưu trữ và quản
lý thông tin về các phương thức giao hàng mà khách hàng có thể lựa chọn khi đặt hàng.
Thông qua bảng này, hệ thống có thể hiển thị các lựa chọn giao hàng cho khách hàng và
tính toán phí giao hàng tương ứng. Điều này giúp cho quá trình đặt hàng và giao hàng trở
nên dễ dàng và minh bạch hơn đối với người dùng.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_delivery int 11 Mã giao hàng (Khóa


chính)

2 description nvarchar 255 Mô tả

3 Fee_delivery double Phí giao hàng

4 Name_delivery nvarchar 255 Tên đơn hàng

Bảng 2.3. Bảng delivery

25
- Thiết kế bảng favorite_book (sách yêu thích): Chức năng của bảng này là lưu trữ
thông tin về các cuốn sách mà mỗi người dùng đã đánh dấu là yêu thích. Mỗi bản ghi
trong bảng này đại diện cho một mục sách yêu thích cụ thể của một người dùng cụ thể.
Thông qua bảng này, hệ thống có thể hiển thị danh sách các cuốn sách yêu thích cho
người dùng.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_favorite_book int 11 Mã sách yêu thích


(Khóa chính)

2 Id_book int 11 Mã sách (Khóa ngoại)

3 Id_user int 11 Mã người dùng (Khóa


ngoại)

Bảng 2.4. Bảng favorite_book

- Thiết kế bảng feedback (phản hồi): Chức năng của bảng này là lưu trữ các phản
hồi từ người dùng, giúp cho hệ thống hoặc nhà cung cấp dịch vụ hiểu và phản ứng đúng
đắn đối với ý kiến và yêu cầu từ người dùng. Thông qua bảng này, hệ thống có thể theo
dõi và quản lý các phản hồi, cung cấp khả năng xem lại và phản hồi lại các phản hồi từ
người dùng. Điều này giúp cải thiện trải nghiệm của người dùng và xây dựng một môi
trường hoạt động tích cực và tương tác giữa hệ thống và người dùng.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_feedback int 11 Mã phản hồi (Khóa


chính)

2 comment nvarchar 225 Bình luận

3 Date_created date Ngày tạo

26
4 title varchar 255 Tiêu đề

5 Id_user int 11 Mã người dùng (Khóa


ngoại)

6 Is_readed bit 1 Đã đọc

Bảng 2.5. Bảng feedback

- Thiết kế bảng genre (thể loại): Thông qua bảng này, hệ thống có thể phân loại và
tổ chức sách theo từng thể loại, giúp người dùng dễ dàng tìm kiếm và duyệt qua các sách
theo sở thích của họ. Điều này cũng giúp cho việc quản lý dữ liệu về thể loại sách trở nên
dễ dàng hơn, cũng như tạo ra các tính năng như bộ lọc sách theo thể loại trên giao diện
người dùng.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_genre int 11 Mã thể loại (Khóa


chính)

2 Name_genre varchar 11 Tên thể loại

Bảng 2.6. Bảng genre

- Thiết kế bảng image (hình ảnh): Chức năng của bảng này là lưu trữ và quản lý
các hình ảnh liên quan đến các cuốn sách trong hệ thống. Thông qua bảng này, hệ thống
có thể hiển thị hình ảnh của cuốn sách trên giao diện người dùng, cung cấp hình ảnh đại
diện cho cuốn sách, và cung cấp các tính năng như xem hình ảnh lớn khi người dùng nhấp
vào hình ảnh. Điều này giúp tạo ra một trải nghiệm hấp dẫn và trực quan hơn cho người
dùng khi khám phá và chọn mua sách.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_image int 11 Mã hình ảnh (Khóa


chính)

27
2 Data_image longtext Dữ liệu ảnh

3 Is_thumbnail bit 1 Xử lý hình

4 Name_image Varchar 255 Tên hình ảnh

5 url_image Varchar 255 Đường dẫn hình ảnh

6 Id_book int 11 Mã sách (Khóa phụ)

Bảng 2.7. Bảng image

- Thiết kế bảng orders (đặt hàng): Chức năng của bảng này là lưu trữ và quản lý
thông tin về các đơn hàng trong hệ thống. Thông qua bảng này, hệ thống có thể theo dõi
trạng thái của các đơn hàng, tính toán tổng giá trị của đơn hàng và thông tin liên lạc của
người nhận hàng. Điều này giúp quản lý quá trình đặt hàng và giao hàng một cách hiệu
quả, đồng thời cung cấp thông tin đầy đủ cho người quản lý và người dùng.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_order int 11 Mã đặt hàng (Khóa


chính)

2 Date_created date Ngày tạo

3 Delivery_address Varchar 255 Địa chỉ giao hàng

4 Fee_delivery double Phí giao hàng

5 Fee_payment double Thành tiền

6 Total_price double Tổng tiền

7 Total_price_product double Tổng sản phẩm

8 Id_delivery int 11 Mã giao hàng (Khóa

28
ngoại)

9 Id_payment int 11 Mã thanh toán


(Khóa ngoại)

10 Id_user int 11 Mã người dùng


(Khóa ngoại)

11 Status Varchar 255 Trạng thái

12 Note Varchar 255 Ghi chú

13 Phone_number Varchar 255 Số điện thoại

14 Full_name Varchar 255 Họ và tên

Bảng 2.8. Bảng orders

- Thiết kế bảng order_detail (chi tiết đặt hàng): Chức năng của bảng này là lưu
trữ thông tin chi tiết về các mặt hàng trong mỗi đơn hàng. Mỗi bản ghi trong bảng này
biểu diễn một mặt hàng cụ thể trong một đơn hàng cụ thể, bao gồm giá, số lượng và thông
tin liên quan đến sản phẩm. Thông qua bảng này, hệ thống có thể tính toán tổng giá trị của
mỗi đơn hàng, theo dõi số lượng sản phẩm đã đặt và xác định xem người dùng đã đánh
giá sản phẩm hay chưa. Điều này giúp quản lý và phân tích dữ liệu đơn hàng một cách chi
tiết và hiệu quả.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_order_detail bigint 20 Mã chi tiết đặt hàng


(Khóa chính)

2 price double Giá

3 Quantity int 11 Số lượng

4 Id_book int 11 Mã sách (Khóa ngoại)

29
5 Id_order int 11 Mã đặt hàng (Khóa
ngoại)

6 Is_review bit 1 Trạng thái

Bảng 2.9. Bảng order_detail

- Thiết kế bảng review (đánh giá): Chức năng của bảng này là lưu trữ thông tin về
các đánh giá từ người dùng về các cuốn sách. Thông qua bảng này, hệ thống có thể hiển
thị và quản lý các đánh giá của người dùng, cung cấp thông tin phản hồi cho cộng đồng
người dùng và giúp người dùng khác trong việc quyết định mua sách dựa trên các đánh
giá từ cộng đồng. Điều này tạo ra một cơ sở dữ liệu đánh giá đáng tin cậy và giúp cải
thiện trải nghiệm mua sắm sách của người dùng.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_review bigint 20 Mã đánh giá (Khóa


chính)

2 content Varchar 255 Nội dung

3 Rating_point float Điểm đánh giá

4 Id_book int 11 Mã sách (Khóa ngoại)

5 Id_user int 11 Mã người dùng (Khóa


ngoại

6 timestamp datetime 6 Dòng thời gian

7 Id_order_detail bigint 20 Mã chi tiết đơn hàng


(Khóa ngoại)

Bảng 2.10. Bảng review

- Thiết kế bảng role (quyền): Chức năng của bảng này là lưu trữ danh sách các
quyền có sẵn trong hệ thống. Mỗi quyền sẽ được định danh bằng một mã quyền duy nhất

30
và có một tên mô tả. Các quyền này sau đó có thể được gán cho người dùng hoặc nhóm
người dùng để quản lý quyền hạn truy cập vào các tính năng hoặc tài nguyên trong hệ
thống. Điều này giúp kiểm soát quyền truy cập và bảo mật trong hệ thống, cho phép quản
trị viên cấp phát và quản lý quyền một cách linh hoạt và hiệu quả.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_role int 11 Mã quyền (Khóa


chính)

2 Name_role Varchar 255 Tên quyền

Bảng 2.11. Bảng role

- Thiết kế bảng user (người dùng): Chức năng của bảng này là lưu trữ thông tin cá
nhân của người dùng trong hệ thống. Thông qua bảng này, hệ thống có thể quản lý thông
tin cá nhân, quản lý quyền truy cập và cung cấp các tính năng như đăng nhập, đăng ký tài
khoản và quản lý thông tin cá nhân cho người dùng. Điều này giúp tạo ra một hệ thống
quản lý người dùng hiệu quả và bảo mật.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_user int 11 Mã người dùng (Khóa


chính)

2 Date_of_birth date Ngày sinh

3 Delivery_address int 255 Địa chỉ giao hàng

4 Email Varchar 255 Địa chỉ emai

5 First_name Varchar 255 Họ

6 Gender Char 1 Giới tính

7 Last_name Varchar 255 Tên

31
8 Password Varchar 512 Mật khẩu

9 Phone_number Varchar 255 Số điện thoại

10 Avartar Varchar 255 Ảnh đại diện

11 Activation_code Varchar 255 Mã kích hoạt

12 enabled bit 1 Kích hoạt

13 username Varchar 255 Tên tài khoản

Bảng 2.12. Bảng user

- Thiết kế bảng payment (phương thức thanh toán): Chức năng của bảng này là
lưu trữ và quản lý thông tin về các phương thức thanh toán trong hệ thống. Thông qua
bảng này, hệ thống có thể hiển thị các lựa chọn thanh toán cho người dùng và tính toán
phí thanh toán tương ứng. Điều này giúp quản lý quá trình thanh toán một cách dễ dàng
và minh bạch hơn đối với người dùng.

STT Tên trường Kiểu dữ liệu Độ dài Mô tả

1 Id_payment int 11 Mã thanh toán (Khóa


ngoại)

2 description int 11 Mô tả

3 Fee_payment double Phí thanh toán

4 Name_payment Varchar 255 Tên thanh toán

Bảng 2.13. Bảng favorite_book

2.5. Biểu đồ lớp


- Bảng Book (sách): Có quan hệ 1-n với bảng Book_Genre, bảng Cart_Item, bảng
Favorite_Book, bảng Image, bảng Order_Detail, bảng Review thông qua id_book.

32
- Bảng Book_Genre (sách và thể loại), là bảng nối (join table) giữa Book và Genre.
Có quan hệ n-n với bảng Book và bảng Genre thông qua id_book.

- Bảng Cart_Item (giỏ hàng): Có quan hệ n-1 với bảng Book và bảng User thông
qua id_book.

- Bảng Delivery (giao hàng): Không có quan hệ với bất kỳ bảng nào khác nếu
thông tin giao hàng không cần thiết cho các đơn đặt hàng cụ thể.

- Bảng Favorite_Book (sách yêu thích): Có quan hệ n-1 với bảng Book và bảng
User thông qua id_book.

- Bảng Feedback (phản hồi): Có quan hệ n-1 với bảng User thông qua id_user.

- Bảng Genre (thể loại): Có quan hệ n-n với bảng Book_Genre thông qua id_genre.

- Bảng Image (hình ảnh): Có quan hệ n-1 với bảng Book thông qua id_book.

- Bảng Orders (đặt hàng): Có quan hệ n-1 với bảng Delivery, bảng Payment, bảng
User thông qua id_delivery.

- Bảng Order_Detail (chi tiết đặt hàng): Có quan hệ n-1 với bảng Book, bảng
Orders thông qua id_book.

- Bảng Review (đánh giá): Có quan hệ n-1 với bảng Book, bảng User,
Order_Detail thông qua id_book.

- Bảng Role (quyền): Có thể có quan hệ n-n với bảng User thông qua bảng
User_Role.

- Bảng User (người dùng): Có quan hệ n-1 với bảng Cart_Item, Favorite_Book,
bảng Feedback, bảng Orders, bảng Role thông qua id_user.

- Bảng User_Role (quyền và người dùng): Là bảng nối (join table) giữa User và
Role. Có quan hệ n-n với bảng User, bảng Role thông qua id_user.

- Bảng Payment (phương thức thanh toán):

33
Hình 2.6: Biểu đồ lớp

34
CHƯƠNG 3. XÂY DỰNG WEBSITE BÁN SÁCH
3.1. Công cụ phát triển
Spring Boot là một trong những Framework Java bậc cao miễn phí, được xây dựng
trên ngôn ngữ lập trình Java và tuân theo mô hình mô-đun được gọi là "Convention over
Configuration". Spring Boot giúp nhà phát triển làm việc một cách dễ dàng bằng cách tổ
chức các chức năng khác nhau thành các module có thể tái sử dụng, giúp tăng cường hiệu
suất trong quá trình phát triển ứng dụng web.

Tốc độ phát triển: Spring Boot có cấu trúc tổ chức rõ ràng và dễ dàng triển khai và
học hỏi, giúp bạn có thể bắt đầu sử dụng trong thời gian ngắn. Những nhà phát triển
Spring Boot đã xây dựng khung để giúp triển khai nhanh chóng bất kỳ kiến trúc web nào
bằng mã. Khung hỗ trợ, giúp quá trình phát triển diễn ra mạnh mẽ và với thiết kế nhìn gọn
gàng, thực tế. Spring Boot cung cấp cấu trúc sẵn sàng sử dụng cho nhiều tác vụ phát triển
web phổ biến như xác thực người dùng, quản trị nội dung, sơ đồ website, và nguồn cấp dữ
liệu.

Hình 3.1: Framework Springboot

React là một thư viện JavaScript mã nguồn mở, được phát triển bởi Facebook, để
xây dựng giao diện người dùng cho các ứng dụng web hiệu quả và linh hoạt. React tập
trung vào việc tạo ra các thành phần UI tái sử dụng và quản lý trạng thái của ứng dụng
một cách dễ dàng, giúp nhà phát triển xây dựng các ứng dụng web phức tạp một cách hiệu
quả.

35
Tốc độ phát triển: React giúp tăng tốc quá trình phát triển bằng cách sử dụng các
thành phần tái sử dụng. Những thành phần này có thể được xây dựng một lần và sử dụng
lại ở nhiều nơi trong ứng dụng hoặc thậm chí trong các dự án khác. JSX, một phần của
React, cho phép viết mã HTML trong JavaScript, giúp tạo ra mã nguồn sạch sẽ và dễ đọc
hơn.

Hình 3.2: Framework React

Hiệu suất: React sử dụng Virtual DOM để quản lý và cập nhật giao diện người
dùng một cách hiệu quả. Thay vì cập nhật toàn bộ DOM, React chỉ cập nhật những phần
thay đổi, giảm thiểu tác động lên hiệu suất của ứng dụng.

Cộng đồng lớn: React có một cộng đồng phát triển lớn, với hàng nghìn thành viên
đóng góp và hỗ trợ. Điều này mang lại nhiều tài nguyên, thư viện và công cụ hỗ trợ cho
những người làm việc với React.

Khả năng mở rộng: React có khả năng tích hợp với nhiều thư viện và frameworks
khác, giúp mở rộng chức năng của ứng dụng. Cùng với đó, React Native cho phép phát
triển ứng dụng di động sử dụng React.

Tương thích: React có khả năng tương thích với nhiều trình duyệt khác nhau, giúp
đảm bảo rằng ứng dụng của bạn sẽ hoạt động đúng cách trên nhiều nền tảng và môi
trường. React không chỉ là một thư viện UI mạnh mẽ mà còn là một hệ sinh thái phát triển
đầy đủ, giúp người phát triển xây dựng ứng dụng web hiện đại và dễ bảo trì.

36
3.2. Giao diện khi cài đặt chương trình
3.2.1 Giao diện trang chủ

Thiết kế giao diện trang chủ của một website xem sách là một yếu tố quan trọng để
tạo ra trải nghiệm tốt nhất cho người dùng. Một giao diện đơn giản, dễ sử dụng và thân
thiện giúp người dùng dễ dàng tìm kiếm và truy cập vào các nội dung sách một cách
nhanh chóng và thuận tiện.

Trang chủ là trang đầu tiên mà người dùng truy cập khi vào website xem sách . Trên
trang chủ, cần có một giao diện đơn giản và hấp dẫn, hiển thị các nội dung sách phổ biến,
mới nhất hoặc được đề xuất dựa trên sở thích của người dùng, hiển thị các sách hot, sách
đề cử, hay các bộ sách mới ra mắt. Đồng thời, cần cung cấp một công cụ tìm kiếm nhanh
giúp người dùng tìm kiếm sách một cách dễ dàng và thuận tiện.

Trang sách lẻ hiển thị danh sách các sách lẻ theo các thể loại hoặc các danh sách
sách nổi tiếng. Cần có hình ảnh thu nhỏ của sách, tựa đề và thông tin ngắn gọn để người
dùng có thể xem xét trước khi quyết định xem sách . Khi người dùng nhấp vào một sách
cụ thể, họ sẽ được chuyển đến trang chi tiết của sách đó.

Trang sách bộ hiển thị danh sách các bộ sách truyền hình theo các thể loại hoặc theo
danh sách phổ biến. Tương tự như phần sách lẻ, cần hiển thị hình ảnh thu nhỏ, tựa đề và
thông tin ngắn gọn để người dùng lựa chọn. Khi người dùng nhấp vào một bộ sách, họ sẽ
được chuyển đến trang chi tiết của bộ sách đó.

Trang new hiển thị danh sách các tin tức về sách, giúp người dùng cập nhật những
thông tin.

37
Hình 3.3. Giao diện trang chủ
38
3.2.2. Giao diện trang đăng nhập, đăng ký

Đăng nhập cần cung cấp một giao diện cho phép người dùng nhập thông tin đăng
nhập của họ, tên đăng nhập và mật khẩu. Khi người dùng nhấp vào giao diện ở phần nút
đăng nhập, họ sẽ được xác thực và truy cập vào tài khoản của mình.

Hình 3.4. Giao diện trang đăng nhập

Trang đăng ký cung cấp cho người dùng một giao diện để tạo một tài khoản mới
trên website. Người dùng cần phải điền vào các thông tin cần thiết như tên đăng nhập, địa
chỉ email, họ đệm, tên, số điện thoại, mật khẩu và nhập lại mật khẩu. Liên kết này thường
được đặt cạnh phần đăng nhập..

Hình 3.5. Giao diện trang đăng ký


39
3.2.3. Giao diện trang thông tin cá nhân
Giao diện thông tin cá nhân có giao diện hiển thị chi tiết. Thông tin cá nhân, hiển thị
họ và tên, địa chỉ email, tên tài khoản, số điện thoại và các thông tin cá nhân khác của
người dùng. Cung cấp khả năng cập nhật thông tin này.

Hình ảnh đại diện: Hiển thị hình ảnh đại diện của người dùng. Cho phép người dùng
cập nhật hoặc thay đổi hình ảnh đại diện.

Đổi mật khẩu: Cho phép người dùng đổi mật khẩu. Yêu cầu xác nhận mật khẩu cũ
và nhập mật khẩu mới.

Đơn hàng: Là lịch sử đặt hàng hoặc là hoạt động. Hiển thị lịch sử đặt hàng hoặc các
hoạt động khác liên quan đến tài khoản. Điều này có thể giúp người dùng theo dõi và
quản lý các tương tác của họ trên website.

Lưu và thay đổi: Nếu là chức năng xác nhận thông tin người dùng muốn lưu và thay
đổi thông tin cá nhân.

Hình 3.6. Giao diện trang thông tin cá nhân

40
3.2.4. Giao diện trang chi tiết sách
Trong giao diện trang chi tiết sách, việc thiết kế giao diện cần được xem xét kỹ
lưỡng để đảm bảo người dùng dễ dàng tiếp cận thông tin mà không gặp phải sự rối bời.
Một giao diện chi tiết nhưng không quá phức tạp là điều cần thiết để người dùng biết
được tiêu đề cuốn sách, thể loại sách, tác giả, giá cả về cuốn sách. Ngoài ra người dùng có
thể xem mô tả sản phẩm. Xem khách hàng đánh giá khi quyết định mua một cuốn sách
một cách thật kỹ lưỡng.

Hình 3.7. Giao diện trang chi tiết sách

41
3.2.5. Giao diện trang mua sản phẩm
Giao diện trang mua sản phẩm với thiết kế đơn giản, chỉ gồm những thông tin cá
nhân quan trọng bao gồm: Họ tên người nhận, số điện thoại, địa chỉ giao hàng có thể thay
đổi để khách hàng linh hoạt có thể thay đổi phương thức liên lạc, địa chỉ giao hàng. Có
thể ghi chú thêm để nói những lưu ý đối với những đơn hàng của mình. Người dùng có
thể thanh toán bằng phương pháp đó là thành toán bằng tiền mặt (COD)

Hình 3.8. Giao diện trang mua sản phẩm

42
3.3. Giao diện của Trang quản trị
3.3.1. Giao diện trang quản lý
Trang quản trị của website bán sách cung cấp một loạt chức năng quan trọng để đảm
bảo xác thực và phân quyền người dùng, quản lý thông tin sách và diễn viên, quảng cáo,
thể loại, tin tức và chi tiết người dùng. Dưới đây là một tóm tắt ngắn gọn về các chức
năng chính của trang chủ.

Hình 3.9. Giao diện trang quản trị

3.3.2. Giao diện trang xác thực và phân quyền

Quản lý Groups: Chức năng này cho phép quản lý tài khoản của các quản trị viên
(admin). Nó bao gồm quản lý và phân quyền các quyền truy cập đối với các chức năng
khác trên website.

Quản lý người dùng: Chức năng này liên quan đến quản lý tài khoản người dùng
thông thường. Nó cho phép quản lý thông tin người dùng, như đăng ký, đăng nhập và các
thông tin cá nhân khác.

43
Hình 3.10. Giao diện quản lý tài khoản người dùng

3.3.3. Giao diện trang quản lý sách


Quản lý sách: Chức năng này cho phép quản lý thông tin về các cuốn sách. Quản trị
viên có thể thêm, chỉnh sửa và xóa thông tin diễn viên từ cơ sở dữ liệu.

Thêm sách: Chức năng này giúp quản trị viên thêm một cuốn sách mới bao gồm các
trường dữ liệu nhập vào như là: Tên sách, số lượng, tên tác giả, thể loại, giá niêm yêt,
giảm giá, và mô tả sách. Ngoài ra có thể tải ảnh thumbnail để làm ảnh đại diện và tải các
ảnh liên quan đến cuốn sách mà quản trị viên muốn tạo

Chỉnh sửa sách: Chức năng này giúp quản trị viên chỉnh sửa cuốn sách đang có nằm
trên trang quản trị viên có thể chỉnh sửa các trường dữ liệu như là: Tên sách, số lượng, tên
tác giả, thể loại, giá niêm yêt, giảm giá, và mô tả sách. Ngoài ra có thể sửa tải ảnh
thumbnail để làm ảnh đại diện và sửa các ảnh liên quan đến cuốn sách mà quản trị viên
muốn sửa

Xóa sách: Chức năng này giúp quản trị viên xóa một cuốn sách không mong muốn
hiển thị lên website.

44
Hình 3.11. Giao diện quản lý sách

3.3.4. Giao diện trang quản lý thể loại

Quản lý thể loại sách là một phần quan trọng trong việc tổ chức và hiển thị sách một
cách có tổ chức trên website bán sách.

Hiển thị danh sách thể loại: Liệt kê tất cả các thể loại sách hiện có. Cho phép người
quản trị xem danh sách, sửa đổi và xóa thể loại.

Thêm thể loại mới: Cung cấp một giao diện để người quản trị có thể thêm thể loại
mới. Điều này bao gồm một biểu mẫu với các trường như tên thể loại, mô tả và các
trường liên quan khác.

Chức năng sửa đổi thể loại: Cho phép người quản trị cập nhật thông tin của một thể
loại, bao gồm cả việc sửa tên thể loại hoặc mô tả.

Chức năng xóa thể loại: Cung cấp chức năng xóa thể loại. Trước khi xóa, có thể hiển
thị cảnh báo hoặc xác nhận để người quản trị có thể xác nhận quyết định xóa.

Phân phân trang: Nếu có nhiều thể loại, cung cấp tùy chọn phân trang hoặc tải lại
trang động để người quản trị có thể dễ dàng duyệt qua danh sách.

45

nh 3.12. Giao diện quản lý thể loại

3.3.5. Giao diện trang phản hồi

Quản lý phản hồi là một phần quan trọng giúp doanh nghiệp hiểu rõ hơn về ý kiến
của khách hàng và cải thiện dịch vụ của mình.

Hiển thị danh sách phản hồi: Liệt kê tất cả các phản hồi từ khách hàng. Cho phép
người quản trị xem nhanh thông tin chính như tên người đánh giá, nội dung phản hồi, thời
gian đánh giá.

Chi tiết phản hồi: Cung cấp chức năng chi tiết để người quản trị có thể xem đầy đủ
nội dung phản hồi từ khách hàng. Hiển thị tất cả các thông tin như tên người đánh giá,
đánh giá sao, ý kiến chi tiết và các thông tin khác liên quan.

Xóa: Cho phép người quản trị xóa các phản hồi không phù hợp hoặc không liên
quan.

46
Hình 3.13. Giao diện quản lý phản hồi

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

Giao diện quản lý đơn hàng thường phải đảm bảo tính thuận tiện và thông tin đầy đủ
để người quản trị có thể dễ dàng theo dõi và quản lý các đơn hàng.

Danh sách đơn hàng: Hiển thị danh sách các đơn hàng gần đây với thông tin chính
như số đơn hàng, tình trạng, ngày đặt hàng và thông tin khách hàng.

Chi tiết đơn hàng: Cung cấp một giao diện chi tiết khi người quản trị chọn một đơn
hàng. Hiển thị thông tin về sản phẩm, địa chỉ giao hàng, thông tin thanh toán và các chi
tiết khác.

Trạng thái đơn hàng: Cho phép người quản trị xác định và cập nhật trạng thái của
đơn hàng (đang xử lý, đã giao hàng, đã thanh toán, v.v.).

Chức năng xử lý đơn hàng: Cung cấp các chức năng như xác nhận đơn hàng, gửi
thông báo đến khách hàng, và in hóa đơn.

Bộ lọc và tìm kiếm: Đặt các bộ lọc và tìm kiếm để người quản trị có thể dễ dàng tìm
kiếm đơn hàng cụ thể hoặc lọc theo trạng thái.

47
Thống kê: Tích hợp chức năng thống kê và báo cáo để người quản trị có cái nhìn
tổng quan về tình trạng đơn hàng và xu hướng đặt hàng.

Hình 3.14. Giao diện quản lý đơn hàng

48
KẾT LUẬN
1. Kết quả đạt được

Trong quá trình kiểm thử, em phát hiện ra rằng thời gian phản hồi của hệ thống
quản lý người dùng chưa đạt yêu cầu về hiệu suất. Điều này có thể gây khó khăn cho
người dùng khi đăng ký hoặc đăng nhập vào hệ thống. Để cải thiện hiệu suất, em có thể
tối ưu hóa mã nguồn hoặc sử dụng các công nghệ mới để xử lý dữ liệu.

+ Thiết kế cơ sở dữ liệu cho người dùng đã được hoàn thiện và thỏa mãn yêu cầu
lưu trữ thông tin người dùng.

+ Các tính năng đăng ký, đăng nhập và quản lý thông tin cá nhân đã được phát
triển và tích hợp vào giao diện người dùng.

+ Các kiểm thử đã được thực hiện và cho thấy chức năng quản lý người dùng hoạt
động đúng đắn, ổn định và tương thích với các thành phần khác trên trang.

+ Đã hoàn thành việc cài và tạo các bộ lọc để tìm kiếm sách theo nhiều tiêu chí
khác nhau.

+ Bộ lọc đang hoạt động ổn định và trả về kết quả đúng như mong đợi.

+ Người dùng đã có thể tìm kiếm sách theo thể loại, quốc gia và năm sản xuất.
Giao diện người dùng cũng đã được cập nhật để hiển thị các bộ lọc và kết quả tìm kiếm.

+ Đã kiểm tra và bảo mật các trường đầu vào để tránh tấn công XSS và SQL
Injection.

+ Tính năng lấy dữ liệu sách từ những website uy tín đã được triển khai thành
công hệ thống đã có thể cập nhật sách mới.

+ Đã tối ưu hóa thuật toán lấy dữ liệu để giảm thiểu thời gian lấy dữ liệu.

2. Sự hạn chế
Qua quá trình kiểm thử em thấy vấn đề hệ thống bảo mật chưa đảm bảo. Khi xây
dựng chức năng đăng nhập, đăng ký và quản lý thông tin cá nhân, bảo mật dữ liệu là một
yếu tố quan trọng cần phải đảm bảo. Tuy nhiên, trong giai đoạn một, em chưa thực hiện
49
được việc bảo vệ dữ liệu người dùng đầy đủ. Chưa có chức năng tìm kiếm nâng cao để
người dùng có thể tìm kiếm theo nhiều tiêu chí cùng lúc. Cần thêm một số tài liệu hướng
dẫn để giúp người dùng sử dụng các bộ lọc hiệu quả hơn. Cần tối ưu hiệu suất để tìm
kiếm nhanh hơn và trả về kết quả chính xác hơn. Một số thông không cho phép crawl dữ
liệu, do đó không thể lấy được toàn bộ dữ liệu sách từ những website này. Một số dữ liệu
sách có thể bị trùng lặp hoặc bị thiếu thông tin.

3. Bài học kinh nghiệm


Tuy sản phẩm của em là một website bán sách đơn giản, nhưng có thể nói đây là sự
tổng hợp những kiến thức mà em đã học hỏi và tích lũy được trong quá trình học tập và
thực hành.

Trong quá trình xây dựng website, em đã phải đối mặt với rất nhiều thách thức và
vấn đề cần giải quyết. Đầu tiên, phải lựa chọn công nghệ phù hợp để xây dựng website,
sau đó là thiết kế giao diện cho website sao cho đẹp và dễ sử dụng nhất cho người dùng.
Một trong những công việc quan trọng nhất trong quá trình xây dựng website là phát triển
tính năng tìm kiếm sách . Để đáp ứng được nhu cầu của người dùng, em đã phải tìm hiểu
và áp dụng các thuật toán tìm kiếm phù hợp để cho ra kết quả tìm kiếm chính xác và
nhanh chóng. Bên cạnh đó, em cũng đã phát triển tính năng đánh giá và bình luận sách ,
giúp người dùng có thể chia sẻ nhận xét của mình về những bộ sách đã xem. Trong tương
lai, em sẽ cải tiến giao diện quản lý sách và tăng cường tính bảo mật cho cơ sở dữ liệu.
Việc cải tiến giao diện quản lý sách giúp quản trị viên có thể dễ dàng thêm, sửa, xóa và
tìm kiếm các bộ sách trong cơ sở dữ liệu. Tăng cường tính bảo mật cho cơ sở dữ liệu là
một việc làm cần thiết, đặc biệt là trong bối cảnh hiện nay khi các vấn đề liên quan đến an
toàn và bảo mật thông tin ngày càng được quan tâm.

Để cải thiện và hoàn thiện sản phẩm, em sẽ tiếp tục hoàn thiện những chức năng cũ
để tối ưu hóa trong tương lai.

50
TÀI LIỆU THAM KHẢO
[1] Lê Văn Phùng, Kỹ nghệ phần mềm, NXB Thông tin và Truyền thông, 2019.

[2] Lê Văn Phùng, Lê Hương Giang, Kỹ nghệ phần mềm nâng cao, NXB Thông tin và
truyền thông, 2015.

[3] Đoàn Văn Ban, Nguyễn Thị Tĩnh, Giáo trình phân tích thiết kế hệ thống hướng đối
tượng bằng UML, NXB Đại học sư phạm, 2011.

[4] Ian Sommerville, Software Engineering, Ninth Edition, Addison-Wesley, 2011.

[5] Scott Tilley, Harry J.Rosenblatt, Systems Analys and Design, Shelly Cashman Series,
11th Edition, 2016.

[6] https://www.bing.com/chat?q=Bing%20AI&qs=ds&form=ATCVAJ

[7] https://kungfutech.edu.vn/khoa-hoc/spring-boot

[8] https://spring.io/guides/tutorials/react-and-spring-data-rest

[9] https://openplanning.net/10683/tao-ung-dung-web-ban-hang-voi-spring-boot-
hibernate

51

You might also like