Tên đề tài: Xây dựng website Quản lý bán sách trực tuyến.Sinh viên thực hiện: Nguyễn Đăng Khánh Hưng MSV: 1811505310112 Lớp: 18T1 Khách vãng lai sau khi truy cập website thì có thể tìm k
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
XÂY DỰNG WEBSITE QUẢN LÝ BÁN SÁCH TRỰC TUYẾN
Sinh viên thực hiện : Nguyễn Đăng Khánh Hưng
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
XÂY DỰNG WEBSITE QUẢN LÝ BÁN SÁCH TRỰC TUYẾN
Giảng viên hướng dẫn duyệt
Đà Nẵng, tháng 02/2023
Trang 3
Đà Nẵng, ngày tháng năm 2023 Giảng viên hướng dẫn
Trang 4NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN
Đà Nẵng, ngày tháng năm 2023
Người phản biện
Trang 5Tên đề tài: Xây dựng website Quản lý bán sách trực tuyến.
Sinh viên thực hiện: Nguyễn Đăng Khánh Hưng
MSV: 1811505310112 Lớp: 18T1
Khách vãng lai sau khi truy cập website thì có thể tìm kiếm sách theo tên sáchhoặc danh mục, xem thông tin các quyển sách, chọn mua sách, cập nhật giỏ hàng vàđăng ký tài khoản thành viên để tiến hành đặt hàng và thanh toán
Khách hàng đã đăng nhập có thể tiến hành đặt hàng và chọn hình thức thanh toántrực tiếp hoặc thanh toán online, nếu chọn thanh toán trực tiếp thì khách hàng sẽ thanhtoán sau khi nhận sách, nếu chọn thanh toán online thì giao diện sẽ chuyển sang trangthanh toán online để khách hàng thực hiện Ngoài ra khách hàng còn có thể theo dõitình trạng của đơn hàng đã đặt, xem những đơn hàng đã mua trước đó; có thể bìnhluận, đánh giá quyển sách mong muốn
Quản trị viên sẽ là người quản trị cao nhất của hệ thống, quản lý tất cả các thôngtin của website: danh mục sách, thông tin của sách, nhà xuất bản, kho sách, đơn hàng,tài khoản của khách hàng, bình luận và đánh giá của khách hàng, tài khoản của quảntrị viên
Trang 6TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: Th.S Trần Bửu Dung
Sinh viên thực hiện: Nguyễn Đăng Khánh Hưng Mã SV: 1811505310112
1 Tên đề tài: Xây dựng website Quản lý bán sách trực tuyến
2 Các số liệu, tài liệu ban đầu:
- Tài liệu:
https://laravel.com/docs /7.x
https://php.net /docs.php
3 Nội dung chính của đồ án:
Quá trình xây dựng website quản lý bán sách trực tuyến:
- Thu thập thông tin tài liệu liên quan và khảo sát thực tế
- Phân tích thiết kế các chức năng của hệ thống
- Phân tích thiết kế cơ sơ dữ liệu
- Thiết kế giao diện cho các chức năng
- Xây dựng hệ thống website
- Kiểm thử website
- Hoàn thành báo cáo tổng hợp
4 Các sản phẩm dự kiến:
- Website quản lý bán sách trực tuyến
- File báo cáo hoàn chỉnh
5 Ngày giao đồ án: 15/09/2022
6 Ngày nộp đồ án: 20/01/2023
Đà Nẵng, ngày tháng năm 2023
LỜI NÓI ĐẦU
ii
Trang 7hoá trong xã hội, tạo ra một sự thay đổi to lớn trong lực lượng sản xuất, cơ sở hạ tầng,cấu trúc kinh tế, tính chất lao động và cả cách thức quản lý trong các lĩnh vực của xãhội.
Với sự phát triển Internet nó được xem là một trong những thành tựu khoa học kỹthuật vĩ đại trong lịch sử loài người và là nguồn tài nguyên thông tin lớn nhất, đa dạngnhất của thế giới hiện nay Internet giúp mọi người có thể trao đổi thông tin trong sinhhoạt hàng ngày, thu thập, tìm kiếm các thông tin mới nhất ở khắp mọi nơi trên toàn thếgiới, giao dịch thương mại, cộng tác trong nghiên cứu khoa học… Vì vậy, trên conđường công nghiệp hóa, hiện đại hóa đất nước ta hiện nay, việc đưa Internet đến mọingười là một xu thế tất yếu Vấn đề đặt ra là làm sao cho Internet thực sự phục vụ chocon người một cách có hiệu quả trên mọi lĩnh vực
Xu thế thương mại điện tử hóa việc quản lý kinh doanh là xu thế rất cần thiết đốivới mọi quốc gia bởi những ưu điểm vượt trội và những thành quả to lớn của việc ứngdụng thương mại điện tử mang lại hiệu quả kinh tế to lớn trong quản lý kinh doanh vàtrong nhiều lĩnh vực khác Điều này có nghĩa là việc xây dựng các hệ thống hỗ trợquản lý kinh doanh trên mạng là điều không thể không làm, trong đó có hệ thống quản
lý và bán sách
Hệ thống quản lý sách của một nhà sách trên mạng sẽ giúp tất cả mọi người dùngInternet đều có thể ngồi trước máy tính của mình truy cập vào nhà sách để xem, tìmkiếm thông tin một cách trực quan và có thể mua sách mà không phải đến cửa hàngsách Em chọn đề tài của mình là "XÂY DỰNG WEBSITE QUẢN LÝ BÁN SÁCHTRỰC TUYẾN" với mục đích xây dựng một môi trường kinh doanh điện tử cho cácnhà sách, đồng thời tìm hiểu và nghiên cứu các phương pháp luận và công cụ cho thiết
kế và xây dựng website thương mại điện tử Hệ thống này giúp bất kỳ ai truy nhập vàowebsite đều có thể xem, tra cứu, đăng ký mua sách một cách nhanh chóng, an toàn màkhông phải trực tiếp đến cửa hàng sách Ngoài ra khách hàng có thể gửi thư góp ý haythắc mắc tới nhà sách Những vấn đề trên vượt ra khỏi khả năng và phạm vi phục vụcủa một hiệu sách thực tế
Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến quý thầy cô đã giúp đỡ emthực hiện đề tài này, đặc biệt là ThS Trần Bửu Dung, cô đã tận tình giúp đỡ em trongsuốt quá trình thực hiện đề tài tốt nghiệp này
Trang 8Đồng thời, em cũng xin chân thành cảm ơn quý thầy cô thuộc ngành Công NghệThông Tin trường Đại học Sư phạm Kỹ thuật - Đại học Đà Nẵng đã truyền đạt nhữngkiến thức cần thiết và những kinh nghiệm quý báu cho chúng em trong suốt thời giantrên giảng đường để em thực hiện tốt đề tài này.
Trong quá trình thực hiện đề tài, do kiến thức và thời gian còn hạn chế nên khôngthể tránh khỏi những sai sót Vì vậy em mong quý thầy, cô thông cảm và góp ý để em
có thể hoàn thiện đề tài Thêm nữa là, những lời góp ý đó có thể giúp em tránh đượcnhững sai lầm sau này
Em xin chân thành cảm ơn!
iv
Trang 9Em xin cam đoan đồ án “Xây dựng website Quản lý bán sách trực tuyến” là một
công trình nghiên cứu độc lập dưới sự hướng dẫn của giảng viên Th.S Trần Bửu Dung.Ngoài ra không có bất cứ sự sao chép nào của người khác Đề tài, nội dung báo cáo đồ
án là sản phẩm mà em đã nỗ lực nghiên cứu trong quá trình học tập tại trường Các kếtquả trình bày trong báo cáo là hoàn toàn trung thực, em xin chịu hoàn toàn tráchnhiệm, kỷ luật của trưởng bộ môn và nhà trường đề ra nếu như có vấn đề xảy ra
Sinh viên thực hiện
Trang 10MỤC LỤC
MỤC LỤC vi
DANH MỤC BẢNG BIỂU xi
DANH MỤC HÌNH ẢNH xiii
DANH MỤC CHỮ VIẾT TẮT xvi
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu và nhiệm vụ nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 1
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học và thực tiễn 2
6 Giải pháp công nghệ 2
7 Cấu trúc của đồ án tốt nghiệp 3
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 Tổng quan về ngôn ngữ lập trình 4
1.1.1 HTML 4
1.1.2 CSS 4
1.1.3 PHP 5
1.2 Hệ quản trị cơ sở dữ liệu MySQL 5
1.3 Framework và thư viện hỗ trợ 6
1.3.1 Giới thiệu Laravel Framework 6
1.3.2 Thư viện Jquery 7
1.3.3 Thư viện Chart.js 7
1.3.4 Thư viện Bootstrap 8
1.4 Công cụ hỗ trợ xây dựng hệ thống 8
1.4.1 Visual Studio Code 8
1.4.2 Xampp 9
1.5 Lý thuyết xây dựng website 10
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 11
2.1 Tác nhân 11
2.2 Đặc tả yêu cầu nghiệp vụ 11
2.2.1 Khách vãng lai 11
vi
Trang 112.3 Đặc tả yêu cầu phần mềm 11
2.3.1 Khách vãng lai 11
2.3.2 Khách hàng 12
2.3.3 Quản trị viên 12
2.4 Sơ đồ Use case 13
2.5 Kịch bản cho Use case 13
2.5.1 Khách vãng lai 13
2.5.1.1 Tìm kiếm sách 13
2.5.1.2 Xem thông tin sách 14
2.5.1.3 Thêm sách vào giỏ hàng 14
2.5.1.4 Cập nhật giỏ hàng 15
2.5.1.5 Đăng ký tài khoản thành viên 16
2.5.2 Khách hàng 16
2.5.2.1 Đăng nhập trang người dùng 17
2.5.2.2 Cập nhật thông tin tài khoản 17
2.5.2.3 Thanh toán giỏ hàng 18
2.5.2.4 Xem danh sách đơn hàng đã mua 19
2.5.2.5 Bình luận, đánh giá sách 19
2.5.2.6 Quản lý bình luận, đánh giá của tài khoản 20
2.5.3 Quản trị viên 21
2.5.3.1 Đăng nhập trang quản trị 21
2.5.3.2 Quản lý danh mục sách 21
2.5.3.3 Quản lý thông tin sách 22
2.5.3.4 Quản lý nhà xuất bản 23
2.5.3.5 Quản lý kho sách 24
2.5.3.6 Quản lý đơn hàng 24
2.5.3.7 Quản lý tài khoản khách hàng 25
2.5.3.8 Quản lý bình luận, đánh giá 26
2.5.3.9 Quản lý bài viết 27
2.6 Sơ đồ hoạt động 28
Trang 122.6.1 Khách vãng lai 28
2.6.1.1 Tìm kiếm sách 28
2.6.1.2 Xem thông tin sách 28
2.6.1.3 Thêm sách vào giỏ hàng 29
2.6.1.4 Cập nhật giỏ hàng 29
2.6.1.5 Đăng ký tài khoản thành viên 30
2.6.2 Khách hàng 30
2.6.2.1 Đăng nhập trang người dùng 30
2.6.2.2 Cập nhật thông tin tài khoản 31
2.6.2.3 Thanh toán giỏ hàng 31
2.6.2.4 Bình luận, đánh giá sách 32
2.6.3 Quản trị viên 32
2.6.3.1 Đăng nhập trang quản trị 32
2.6.3.2 Quản lý danh mục sách 33
2.6.3.3 Quản lý thông tin sách 33
2.6.3.4 Quản lý nhà xuất bản 34
2.6.3.5 Quản lý bài viết 34
2.6.3.6 Quản lý tài khoản khách hàng 35
2.6.3.7 Quản lý bình luận và đánh giá 35
2.6.3.8 Quản lý kho sách 36
2.6.3.9 Quản lý đơn hàng 37
2.7 Sơ đồ quan hệ 38
2.8 Thiết kế form, bảng cơ sở dữ liệu 39
2.8.1 Khách hàng 39
2.8.1.1 Đăng ký tài khoản 39
2.8.1.2 Cập nhật thông tin tài khoản 40
2.8.1.3 Cập nhật giỏ hàng 40
2.8.1.4 Bình luận sách 41
2.8.1.5 Đánh giá sách 42
2.8.2 Quản trị viên 43
2.8.2.1 Thêm mới danh mục sách 43
2.8.2.2 Sửa danh mục sách 43
viii
Trang 132.8.2.5 Thêm mới sách 45
2.8.2.6 Sửa thông tin sách 46
2.8.2.7 Nhập sách về kho 47
2.8.2.8 Thêm mới bài viết 48
2.8.2.9 Sửa bài viết 48
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 49
3.1 Giao diện người dùng (Khách vãng lai và Khách hàng) 49
3.1.1 Giao diện trang chủ khi chưa đăng nhập 49
3.1.2 Giao diện đăng nhập tài khoản 49
3.1.3 Giao diện trang chủ sau khi đăng nhập 50
3.1.4 Giao diện kết quả tìm kiếm sách theo từ khóa 50
3.1.5 Giao diện kết quả tìm kiếm sách theo danh mục 51
3.1.6 Giao diện trang thông tin sách 51
3.1.7 Giao diện danh sách đơn hàng 52
3.1.8 Giao diện chi tiết đơn hàng 52
3.1.9 Giao diện theo dõi đơn hàng 53
3.1.10 Giao diện lịch sử bình luận 53
3.1.11 Giao diện lịch sử đánh giá 54
3.2 Giao diện trang quản trị 54
3.2.1 Giao diện đăng nhập trang quản trị 54
3.2.2 Giao diện chính của trang quản trị 55
3.2.3 Giao diện quản lý danh mục sách 55
3.2.4 Giao diện quản lý thông tin sách 56
3.2.5 Giao diện quản lý nhà xuất bản 56
3.2.6 Giao diện quản lý đơn hàng 57
3.2.7 Giao diện xem chi tiết đơn hàng 57
3.2.8 Giao diện quản lý hàng tồn kho 58
3.2.9 Giao diện xem lịch sử nhập hàng của quyển sách 58
3.2.10 Giao diện danh sách tất cả sách đã xuất kho 59
3.2.11 Giao diện quản lý khách hàng 59
Trang 143.2.12 Giao diện quản lý bình luận của khách hàng 60
3.2.13 Giao diện quản lý đánh giá của khách hàng 60
3.2.14 Giao diện quản lý quản trị viên 61
3.2.15 Giao diện quản lý bài viết 61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62
TÀI LIỆU THAM KHẢO 63
x
Trang 15Bảng 1 2 Kịch bản cho use case xem thông tin sách 14
Bảng 1 3 Kịch bản cho use case thêm sách vào giỏ hàng 15
Bảng 1 4 Kịch bản cho use case cập nhật giỏ hàng 16
Bảng 1 5 Kịch bản cho use case đăng ký tài khoản thành viên 16
Bảng 1 6 Kịch bản cho use case đăng nhập trang người dùng 17
Bảng 1 7 Kịch bản cho use case cập nhật thông tin tài khoản 18
Bảng 1 8 Kịch bản cho use case thanh toán giỏ hàng 19
Bảng 1 9 Kịch bản cho use case xem danh sách đơn hàng đã mua 19
Bảng 1 10 Kịch bản cho use case bình luận, đánh giá sách 20
Bảng 1 11 Kịch bản cho use case quản lý bình luận, đánh giá 21
Bảng 1 12 Kịch bản cho use case đăng nhập trang quản trị 21
Bảng 1 13 Kịch bản cho use case quản lý danh mục sách 22
Bảng 1 14 Kịch bản cho use case quản lý thông tin sách 23
Bảng 1 15 Kịch bản cho use case quản lý nhà xuất bản 23
Bảng 1 16 Kịch bản cho use case quản lý kho sách 24
Bảng 1 17 Kịch bản cho use case quản lý đơn hàng 25
Bảng 1 18 Kịch bản cho use case quản lý tài khoản khách hàng 26
Bảng 1 19 Kịch bản cho use case quản lý bình luận, đánh giá 26
Bảng 1 20 Kịch bản cho use case quản lý bài viết 27Y Bảng 2 1 Bảng Khách hàng 39
Bảng 2 2 Bảng Giao dịch 41
Bảng 2 3 Bảng Đơn hàng 41
Bảng 2 4 Bảng Bình luận 42
Bảng 2 5 Bảng Đánh giá 42
Bảng 2 6 Bảng Danh mục sách 43
Trang 16Bảng 2 7 Bảng Nhà xuất bản 44
Bảng 2 8 Bảng Sách 46
Bảng 2 9 Bảng Phiếu nhập sách 47
Bảng 2 10 Bảng Bài viết 48
xii
Trang 17Hình 1 2 Icon CSS 5
Hình 1 3 Ví dụ code PHP 5
Hình 1 4 Icon MySQL 6
Hình 1 5 Icon Laravel 6
Hình 1 6 Icon jQuery 7
Hình 1 7 Hình ảnh sơ đồ trong Chart.js 7
Hình 1 8 Icon Bootstrap 8
Hình 1 9 Ảnh minh họa Visual Studio Code 9
Hình 1 10 Ảnh minh họa Xampp 9
Hình 1 11 Ảnh minh họa mô hình MVC 10Y Hình 2 1 Sơ đồ Use case 13
Hình 2 2 Sơ đồ hoạt động chức năng tìm kiếm sách 28
Hình 2 3 Sơ đồ hoạt động chức năng xem thông tin sách 28
Hình 2 4 Sơ đồ hoạt động chức năng thêm sách vào giỏ hàng 29
Hình 2 5 Sơ đồ hoạt động chức năng cập nhật giỏ hàng 29
Hình 2 6 Sơ đồ hoạt động chức năng đăng ký tài khoản 30
Hình 2 7 Sơ đồ hoạt động chức năng đăng nhập trang người dùng 30
Hình 2 8 Sơ đồ hoạt động chức năng cập nhật thông tin tài khoản 31
Hình 2 9 Sơ đồ hoạt động chức năng thanh toán giỏ hàng 31
Hình 2 10 Sơ đồ hoạt động chức năng bình luận, đánh giá sách 32
Hình 2 11 Sơ đồ hoạt động chức năng đăng nhập trang quản trị 32
Hình 2 12 Sơ đồ hoạt động chức năng quản lý danh mục sách 33
Hình 2 13 Sơ đồ hoạt động chức năng quản lý thông tin sách 33
Hình 2 14 Sơ đồ hoạt động chức năng quản lý nhà xuất bản 34
Hình 2 15 Sơ đồ hoạt động chức năng quản lý bài viết 34
Trang 18Hình 2 16 Sơ đồ hoạt động chức năng quản lý khách hàng 35
Hình 2 17 Sơ đồ hoạt động chức năng quản lý bình luận và đánh giá 35
Hình 2 18 Sơ đồ hoạt động chức năng quản lý kho sách 36
Hình 2 19 Sơ đồ hoạt động chức năng quản lý đơn hàng 37
Hình 2 20 Sơ đồ quan hệ 38
Hình 2 21 Giao diện đăng ký tài khoản 39
Hình 2 22 Giao diện cập nhật thông tin tài khoản 40
Hình 2 23 Giao diện giỏ hàng 40
Hình 2 24 Giao diện bình luận sách 41
Hình 2 25 Giao diện đánh giá sách 42
Hình 2 26 Giao diện thêm mới danh mục sách 43
Hình 2 27 Giao diện sửa danh mục sách 43
Hình 2 28 Giao diện thêm mới nhà xuất bản 44
Hình 2 29 Giao diện sửa nhà xuất bản 44
Hình 2 30 Giao diện thêm mới sách 45
Hình 2 31 Giao diện sửa thông tin sách 46
Hình 2 32 Giao diện nhập sách về kho 47
Hình 2 33 Giao diện thêm mới bài viết 48
Hình 2 34 Giao diện sửa bài viết 4 Hình 3 1 Giao diện trang chủ khi chưa đăng nhập 49
Hình 3 2 Giao diện đăng nhập tài khoản 49
Hình 3 3 Giao diện trang chủ sau khi đăng nhập 50
Hình 3 4 Giao diện kết quả tìm kiếm sách theo từ khóa 50
Hình 3 5 Giao diện kết quả tìm kiếm sách theo danh mục 51
Hình 3 6 Giao diện trang thông tin sách 51
Hình 3 7 Giao diện danh sách đơn hàng 52
Hình 3 8 Giao diện chi tiết đơn hàng 52
xiv
Trang 19Hình 3 11 Giao diện lịch sử đánh giá 54
Hình 3 12 Giao diện đăng nhập trang quản trị 54
Hình 3 13 Giao diện chính trang quản trị 55
Hình 3 14 Giao diện quản lý danh mục sách 55
Hình 3 15 Giao diện quản lý thông tin sách 56
Hình 3 16 Giao diện quản lý nhà xuất bản 56
Hình 3 17 Giao diện quản lý đơn hàng 57
Hình 3 18 Giao diện chi tiết đơn hàng 57
Hình 3 19 Giao diện quản lý hàng tồn kho 58
Hình 3 20 Giao diện xem lịch sử nhập hàng của quyển sách 58
Hình 3 21 Giao diện danh sách tất cả sách xuất kho 59
Hình 3 22 Giao diện quản lý khách hàng 59
Hình 3 23 Giao diện quản lý bình luận 60
Hình 3 24 Giao diện quản lý đánh giá 60
Hình 3 25 Quản lý quản trị viên 61
Hình 3 26 Giao diện quản lý bài viết 61
Trang 20DANH MỤC CHỮ VIẾT TẮTS
TT
Chữ
1 PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch
bản
L
HyperText MarkupLanguage
Ngôn ngữ đánh dấu siêuvăn bản
3 CSS Cascading Style Sheets Ngôn ngữ tạo phong cách
cho website4
World Wide WebConsortium
Tổ chức tiêu chuẩn quốc
tế chính cho World Wide Web
MS
Relational DatabaseManagement System
Hệ quản trị cơ sở dữ liệuquan hệ
xvi
Trang 21một vài thao tác đơn giản họ sẽ có được một sản phẩm ưng ý nhất Bên cạnh đó còn
giúp cửa hàng quản lý được việc mua bán hiệu quả hơn so với việc quản lý trên giấy tờ
dễ gây sai sót hay mất mác thông tin, các dữ liệu về sản phẩm, khách hàng được lưutrữ một cách an toàn
Ngày nay, sở thích đọc sách của con người rất phổ biến và có xu hướng phát triểnmạnh Sách mang đến cho con người nền tri thức vô giá, làm cho cuộc sống con ngườingày trở lên văn minh hơn Cùng với sự phát triển của Internet và thương mại điện tử
Em quyết định thực hiện đề tài “Xây dựng website quản lý bán sách trực tuyến”.
Những khách hàng có nhu cầu mua sách chỉ cần thông qua website trực tuyến khôngmất nhiều thời gian để có thể sở hữu cuốn sách mà mình yêu thích
2 Mục tiêu và nhiệm vụ nghiên cứu
- Mục tiêu:
Xây dựng một hệ thống với mục tiêu chủ yếu là giới thiệu sách của cửa hàng vớikhách hàng Khách hàng có thể xem, tìm kiếm các thông tin về sách một cách trựcquan và có thể đặt mua các loại sách trên mạng mà không cần phải trực tiếp đến cửahàng bán sách Quản trị viên có thể quản lý hệ thống một cách chính xác và hiệu quả
- Nhiệm vụ:
+ Nghiên cứu đề tài
+ Phân tích và thiết kế hệ thống
+ Thiết kế và xây dựng website
3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:
+ Khách hàng là những người yêu sách, có sở thích đọc sách
+ Quản lý và nhân viên tại cửa hàng bán sách
Trang 22Xây dựng website quản lý bán sách trực tuyến
+ Tài liệu tham khảo
+ Hoạt động bán sách, cập nhật thông tin về sách
4 Phương pháp nghiên cứu
- Tham khảo các website bán sách trên mạng như Fahasa.com, Tiki,…
- Khảo sát thực tế
- Tìm kiếm tài liệu trên internet có liên quan đến nội dung nghiên cứu
- Tìm hiểu về công cụ hỗ trợ lập trình và cách sử dụng
- Thu tập tài liệu liên quan đên nghiệp vụ quản lý website bán sách
5 Ý nghĩa khoa học và thực tiễn
a) Ý nghĩa khoa học của đề tài
- Giúp sinh viên bổ sung kiến thức để bắt đầu trên con đường trở thành kỹ sư lậptrình giỏi
- Rèn luyện kỹ năng phân tích và thiết kế dự án
b) Ý nghĩa thực tiễn của đề tài
Qua việc xây dựng website này, em có thể áp dụng những kiến thức trong quátrình học tập và trao dồi sự hiểu biết về các kiến thức như :
- Kiến thức về ngôn ngữ PHP
- Kiến thức về Laravel Framework
- Kiến thức thiết kế website với HTML, CSS, Javascript, Jquery,…
- Phát huy tính sáng tạo và cách làm việc độc lập cho mình
6 Giải pháp công nghệ
- Thiết kế cơ sở dữ liệu, sơ đồ usecase, sơ đồ hoạt động: StarUML
- Hỗ trợ soạn thảo mã nguồn: Visual Studio Code
- Ngôn ngữ lập trình:
+ Backend: PHP (Framework Laravel)
+ Frontend: HTML, CSS, JavaScript, Jquery
Trang 23- Thư viện: Framework Laravel, Bootstrap 4, JQuery confirm, Chart.js
- Hệ quản trị CSDL: MySQL (chạy trên môi trường XAMPP)
7 Cấu trúc của đồ án tốt nghiệp
Bài báo cáo ngoài các nội dung gồm phần mở đầu và phần kết thúc thì bố cục gồm
có 3 chương:
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Nêu các cơ sở lý thuyết sẽ áp dụng trong hệ thống: ngôn ngữ HTML, CSS,JavaScript, ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu MySQL, thư việnChart.js,
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Trình bày các sơ đồ use case, kịch bản cho các use case, sơ đồ ERD, sơ đồ hoạtđộng của các chức năng trong hệ thống Từ những phân tích ở trên, tiến hành thiết kế
cơ sở dữ liệu cho hệ thống sẽ triển khai
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH
Từ những phân tích và thiết kế về hệ thống ở trên, áp dụng xây dựng các chứcnăng hệ thống Trình bày giao diện của phần mềm triển khai
Trang 24Xây dựng website quản lý bán sách trực tuyến
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT1.1 Tổng quan về ngôn ngữ lập trình
1.1.1 HTML
HTML là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web vớicác mẫu thông tin được trình bày trên World Wide Web Cùng với CSS và Javascript,HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web
HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sửdụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thànhmột chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bảnchính thức mới nhất của HTML và HTML 4.01 (1999) Sau đó, các nhà phát triển đãthay thế nó bằng XHTML Hiện nay, HTML đang được phát triển tiếp với phiên bảnHTML5 hứa hẹn mang lại diện mạo mới cho trang Web
Trang 25Hình 1 2 Icon CSS
1.1.3 PHP
PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng
để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổngquát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML
Hình 1 3 Ví dụ code PHP
Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống
C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngônngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến.PHP được sử dụng trong Website là công nghệ được thiết kế bởi Rasmus Lerdorf, nhàphát triển The PHP Group, phiên bản sử dụng là PHP 7.3.0 và được sử dụng cho Back-end
1.2 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS) hoạt động theo
mô hình client-server RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lýcác cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL
là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh
Trang 26Xây dựng website quản lý bán sách trực tuyến
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ
sở dữ liệu trên internet
Hình 1 4 Icon MySQL
1.3 Framework và thư viện hỗ trợ
1.3.1 Giới thiệu Laravel Framework
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởiTaylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếmtrúc model-view-controller (MVC) Những tính năng nổi bật của Laravel bao gồm cúpháp dễ hiểu – rõ ràng , sử dụng hệ thống đóng gói module, quản lý package(Composer), hỗ trợ nhiều hệ quản trị CSDL quan hệ (MySQL, SQLite, PostgeSQL…)
Hình 1 5 Icon Laravel
Ưu điểm của Laravel:
- Sử dụng các tính năng mới nhất của PHP
- Nguồn tài nguyên vô cùng lớn và sẵn có
Trang 271.3.2 Thư viện Jquery
Jquery chính là một thư viện của JavaScript giúp đơn giản hóa cách viết Javascript
và tăng tốc độ xử lý các sự kiện trên trang web Jquery thêm tính năng tương tác Ajaxvào trong trang web Jquery được thiết kế để thay đổi cách viết mới cho Javascript
Jquery được sử dụng trong Website là công nghệ được thiết kế bở John Resig,phát triển bởi jQuery Team và phiên bản được sử dụng là 3.2.1, được sử dụng choBack-end
Hình 1 6 Icon jQuery
1.3.3 Thư viện Chart.js
Chart.js là thư viện JavaScript mã nguồn mở đơn giản, dễ dàng thiết lập và tùychỉnh Nó cung cấp nhiều thiết kế mặt phẳng cho biểu đồ như biểu đồ đường thẳng,biểu đồ bong bóng…
Chart.js được sử dụng trong Website là công nghệ phiên bản sử dụng là 2.0 vàđược sử dụng cho Front-end
Hình 1 7 Hình ảnh sơ đồ trong Chart.js
Trang 28Xây dựng website quản lý bán sách trực tuyến
1.3.4 Thư viện Bootstrap
Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễdàng thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bịcầm tay như mobile, ipad, tablet,
Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng để tạo
ra một mẫu webiste hoàn chỉnh Với các thuộc tính về giao diện được quy định sẵn nhưkích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản phẩmmới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quátrình thiết kế giao diện website
Hình 1 8 Icon Bootstrap
1.4 Công cụ hỗ trợ xây dựng hệ thống
1.4.1 Visual Studio Code
Visual Studio Code được biết đến là một trình biên tập lập trình code miễn phí
dành cho Windows, Linux và macOS Nó được phát triển bởi Microsoft là sự kết hợp
hoàn hảo giữa IDE và Code Editor Trình biên tập này được hỗ trợ chức năng debug,
đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, cùng
đó là cải tiến mã nguồn Ngoài ra, Visual Studio Code còn cho phép người dùng thayđổi theme, phím tắt, và các tùy chọn khác
Những ưu điểm nổi bật của Visual Studio Code:
Đa dạng ngôn ngữ lập trình giúp bạn thỏa sức sáng tạo như HTML, CSS,
JavaScript, C++,…
Ngôn ngữ, giao diện tối giản, tinh tế, giúp người dùng dễ dàng định hình nội dung
Các tiện ích mở rộng đa dạng, phong phú
Tích hợp các tính năng bảo mật (Git), tăng tốc xử lý vòng lặp (Debug),…
Có thể đơn giản trong việc tìm quản lý hết tất cả các Code có trên hệ thống
Trang 29Hình 1 9 Ảnh minh họa Visual Studio Code
1.4.2 Xampp
Xampp là một phần mềm cho phép giải lập môi trường server hosting ngay trênmáy tính của bạn, cho phép bạn chạy demo website mà không cần phải mua hostinghay VPS Chính vì vậy, Xampp hay được phục vụ cho hoạt động học tập giảng dạy thựhành và phát triển web
Xampp được viết tắt của X + Apache + MySQL + PHP + Perl vì nó được tích hợpsẵn Apache, MySQL, PHP, FTP Server, Mail Server Còn X thể hiện cho sự đa nềntảng của Xampp vì nó có thể dùng được cho 4 hệ điều hành khác nhau: Windows,MacOS, Linus và Solaris
Hình 1 10 Ảnh minh họa Xampp
Trang 30Xây dựng website quản lý bán sách trực tuyến
1.5 Lý thuyết xây dựng website
Mô hình hoạt động MVC (Server Side Rendering):
Người dùng gửi yêu cầu (HTTP Request) qua một trình duyệt web bất kỳ Yêu cầunày có thể kèm theo những dữ liệu tới Controller xử lý Bộ Routing điều hướng sẽxác định Controller xử lý
Khi Controller nhận được yêu cầu, nó sẽ kiểm tra yêu cầu đó có cần dữ liệu từModel hay không Nếu có sẽ dùng các class/function trong Model sau đó trả ra kếtquả Khi đó, Controller cũng sẽ xử lý các giá trị đó và trả ra view để hiển thị.Controller sẽ xác định các View tương ứng và hiển thị đúng theo yêu cầu
Khi View nhận được giá trị từ Controller, chúng sẽ xây dựng các thành phần hiểnthị như hình ảnh, thông tin dữ liệu, … rồi trả về GUI content để Controller đưa rakết quả và hiển thị lên màn hình Browser
Browser sẽ nhận được giá trị trả về và hiển thị với người dùng và kết thúc quátrình hoạt động
Hình 1 11 Ảnh minh họa mô hình MVC
Trang 31CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG2.1 Tác nhân
- Tìm kiếm sách theo tên hoặc danh mục sách
- Xem thông tin:
+ Thông tin tổng quan của website
+ Thông tin sách bao gồm tên sách, thể loại, mô tả, giá tiền,…
+ Thông tin bài viết
- Thêm sách vào giỏ hàng
- Cập nhật giỏ hàng
+ Chỉnh sửa số lượng sách
+ Xóa sách trong giỏ hàng
+ Điền form thông tin người nhận hàng (Tên, sđt, email, địa chỉ nhận hàng)
- Đăng ký tài khoản thành viên
Trang 32Xây dựng website quản lý bán sách trực tuyến
2.3.2 Khách hàng
Có đầy đủ chức năng của khách vãng lai, ngoài ra còn có thêm các chức năng:
- Đăng nhập, đăng xuất hệ thống
- Xác minh tài khoản qua gmail
- Cập nhật thông tin tài khoản
- Xem danh sách đơn hàng đã mua
- Xem chi tiết đơn hàng
- Theo dõi tình trạng đơn hàng
- Bình luận, đánh giá sách
- Quản lý bình luận, đánh giá của tài khoản
2.3.3 Quản trị viên
- Đăng nhập, đăng xuất hệ thống
- Xem báo cáo, thống kê
- Quản lý danh mục sách: Có thể thêm, sửa và xóa
- Quản lý thông tin sách: Có thể thêm, sửa và xóa và lọc sách theo danh mục
- Quản lý nhà xuất bản: Có thể thêm, sửa và xóa
- Quản lý bài viết: Có thể thêm, sửa và xóa
- Quản lý kho sách:
+ Nhập sách về kho
+ Xem thông tin những sách tồn kho
+ Xem thông tin những sách đã xuất kho (đã bán)
- Quản lý tài khoản người dùng: Có thể xem và xóa tài khoản
- Quản lý bình luận, đánh giá của người dùng: Có thể xem và xóa
- Quản lý tài khoản Admin: Có thể thêm, sửa và xóa tài khoản
Trang 332.4 Sơ đồ Use case
Hình 2 1 Sơ đồ Use case
2.5 Kịch bản cho Use case
2.5.1 Khách vãng lai
2.5.1.1 Tìm kiếm sách
STT Use case name Tìm kiếm sách
1 Description Actor tìm kiếm sách mong muốn
2 Actor Khách vãng lai
3 Input Khách vãng lai truy cập vào hệ thống
4 Output Quyển sách cần tìm được hiển thị
5 Basic flow
1) Bắt đầu use case2) Actor nhập từ khoá sau đó bấm tìm kiếm3) Quyển sách liên quan đến từ khóa hiển thị4) Kết thúc use case
Actor muốn tìm sách theo danh mục:
2’) Chọn danh mục mong muốn
Trang 34Xây dựng website quản lý bán sách trực tuyến
3’) Không có quyển sách nào liên quan đến từ khóa
Bảng 1 1 Kịch bản cho use case tìm kiếm sách
2.5.1.2 Xem thông tin sách
STT Use case name Xem thông tin sách
1 Description Actor xem thông tin của quyển sách như tên sách, thể
loại, giá tiền, mô tả ngắn, đánh giá và bình luận
2 Actor Khách vãng lai
3 Input Khách vãng lai truy cập vào hệ thống
4 Output Thông tin về quyển sách được hiển thị
5 Basic flow
1) Bắt đầu use case2) Khách vãng lai nhấn chuột vào quyển sách muốn xem thông tin
3) Thông tin của quyển sách được hiển thị4) Kết thúc use case
Bảng 1 2 Kịch bản cho use case xem thông tin sách
2.5.1.3 Thêm sách vào giỏ hàng
STT Use case name Thêm sách vào giỏ hàng
1 Description Actor muốn thêm sách vào giỏ hàng
2 Actor Khách vãng lai
3 Input Khách vãng lai truy cập vào hệ thống
4 Output Quyển sách mà khách vãng lai chọn mua hiển thị trong
giỏ hàng
Trang 355 Basic flow
1) Bắt đầu use case2) Khách vãng lai nhấn chuột vào quyển sách muốn mua3) Khách vãng lai nhấn nút mua ngay
4) Kết thúc use case6
STT Use case name Cập nhật giỏ hàng
1 Description Giỏ hàng hiển thị những quyển sách mà actor đã chọn
mua, actor xem và cập nhật
Trang 36Xây dựng website quản lý bán sách trực tuyến
Bảng 1 4 Kịch bản cho use case cập nhật giỏ hàng
2.5.1.5 Đăng ký tài khoản thành viên
STT Use case name Đăng ký tài khoản thành viên
1 Description Actor đăng ký tài khoản thành viên của hệ thống
số điện thoại, mật khẩu và nhấn nút đăng ký 4) Kết thúc use case
3’) Hệ thống thông báo nếu email đã được sử dụng
Bảng 1 5 Kịch bản cho use case đăng ký tài khoản thành viên
2.5.2 Khách hàng
Có các kịch bản giống với actor khách vãng lai, ngoài ra còn có thêm:
2.5.2.1 Đăng nhập trang người dùng
STT Use case name Đăng nhập trang người dùng
1 Description Actor đã có tài khoản có thể đăng nhập
2 Actor Khách hàng
3 Input Khách hàng truy cập vào hệ thống
4 Output Khách hàng đăng nhập thành công
5 Basic flow
1) Bắt đầu use case2) Khách hàng chọn đăng nhập3) Khách hàng nhập tài khoản và mật khẩu sau đó nhấn nút đăng nhập
Trang 37Bảng 1 6 Kịch bản cho use case đăng nhập trang người dùng
2.5.2.2 Cập nhật thông tin tài khoản
STT Use case name Cập nhật thông tin tài khoản
1 Description Actor chỉnh sửa thông tin tài khoản
2 Actor Khách hàng
3 Input Khách hàng đăng nhập thành công
4 Output Khách hàng chỉnh sửa thông tin thành công
5 Basic flow
1) Bắt đầu use case2) Khách hàng vào phần Thông tin tài khoản3) Khách hàng nhập các thông tin muốn sửa đổi4) Khách hàng nhấn nút cập nhật
5) Kết thúc use case6
Bảng 1 7 Kịch bản cho use case cập nhật thông tin tài khoản
2.5.2.3 Thanh toán giỏ hàng
STT Use case name Thanh toán giỏ hàng
1 Description Actor tiến hành thanh toán giỏ hàng sau khi đã cập nhật
Trang 38Xây dựng website quản lý bán sách trực tuyến
giỏ hàng
2 Actor Khách hàng
3 Input Actor đăng nhập thành công và đã cập nhật giỏ hàng
4 Output Khách hàng thanh toán đơn hàng thành công, đơn hàng
được lưu vào hệ thống
5 Basic flow
1) Bắt đầu use case2) Nếu khách hàng chọn hình thức thanh toán là Trực tiếp
và nhấn nút Thanh toán3) Đơn hàng được lưu vào hệ thống4) Khách hàng sẽ thanh toán khi nhận sách5) Kết thúc use case
2e) Nhấn nút Xác nhận4a) Khách hàng sẽ không thanh toán tiền mặt khi nhận sách
Bảng 1 8 Kịch bản cho use case thanh toán giỏ hàng
2.5.2.4 Xem danh sách đơn hàng đã mua
STT Use case name Xem danh sách đơn hàng đã mua
1 Description Khách hàng có thể xem danh sách đơn hàng
2 Actor Khách hàng
3 Input Khách hàng truy cập vào hệ thống, đăng nhập thành công
4 Output Khách hàng xem được lịch sử đơn hàng
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấp chuột vào danh sách đơn hàng3) Giao diện hiển thị thông tin tất cả các đơn hàng mà khách hàng đã đặt mua, bao gồm các đơn hàng đã giao và chưa giao
4) Khách hàng có thể chọn hủy đơn hàng5) Kết thúc use case
Trang 39STT Use case name Bình luận, đánh giá sách
1 Description Khách hàng bình luận, đánh giá về quyển sách mong
muốn
2 Actor Khách hàng
3 Input Khách hàng truy cập vào hệ thống, đăng nhập thành công
4 Output Khách hàng bình luận, đánh giá về quyển sách thành công
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấp chuột vào quyển sách muốn bình luận, đánh giá
3) Khách hàng nhập bình luận về sách ở phần bình luận,
có thể đánh giá bằng cách chọn số sao cho quyển sách4) Nhấn nút gửi
Kết thúc use case6
Bảng 1 10 Kịch bản cho use case bình luận, đánh giá sách
2.5.2.6 Quản lý bình luận, đánh giá của tài khoản
STT Use case name Quản lý bình luận, đánh giá
1 Description Khách hàng có thể xem lại những bình luận, đánh giá về
sách của mình, có thể chọn xóa
Trang 40Xây dựng website quản lý bán sách trực tuyến
2 Actor Khách hàng
3 Input Khách hàng truy cập vào hệ thống, đăng nhập thành công
4 Output Khách hàng xem được những bình luận, đánh giá về sách
của mình; xóa được bình luận, đánh giá bất kỳ
5 Basic flow
1) Bắt đầu use case2) Khách hàng nhấp chuột vào quản lý bình luận, đánh giá
3) Khách hàng xem lại bình luận, đánh giá của mình; có thể chọn xóa bình luận, đánh giá bất kỳ
4) Kết thúc use case6
2.5.3.1 Đăng nhập trang quản trị
STT Use case name Đăng nhập vào trang quản trị
1 Description Quản trị viên đã được cấp tài khoản có thể đăng nhập vào
trang quản trị
2 Actor Quản trị viên
3 Input Quản trị viên truy cập trang quản trị
4 Output Quản trị viên đăng nhập thành công
5 Basic flow
1) Bắt đầu use case2) Quản trị viên nhập tên tài khoản và mật khẩu, nhấn nút đăng nhập
4) Kết thúc use case6
7 Exception flow 2’) Thông báo lỗi nếu tên tài khoản hoặc mật khẩu không