Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3Điều kiện cuối Không có Bảng 3Use case đ ng nhập 1.1.1.. Hệ thống kiểm tra thông tin và thông báo đăng ký thành công Dòng sự kiện
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘTVIỆN KỸ THUẬT CÔNG NGHỆ
ĐỒ ÁN MÔN HỌC
ĐỒ ÁN CHUYÊN NGÀNH
Đề tài
Xây Dựng Website Bán Truyện Tranh TMW
Sinh viên thực hiện : MẠCH HOÀNG MINH THẢO Lớp : D18PM02
Mã số sinh viên: : 1824801030086 Khoá : 2018-2022
Ngành : KỸ THUẬT PHẦN MỀM Giảng viên hướng dẫn : Th.S NGUYỄN HỮU VĨNH
Bình Dương, tháng 11/2021
Trang 2RƯỜNG ĐẠI HỌC THỦ DẦU MỘTVIỆN KỸ THUẬT CÔNG NGHỆ
ĐỒ ÁN MÔN HỌC
ĐỒ ÁN CHUYÊN NGÀNH
Đề tài
Xây Dựng Website Bán Truyện Tranh TMW
Sinh viên thực hiện : MẠCH HOÀNG MINH THẢO Lớp : D18PM02
Mã số sinh viên: : 1824801030086 Khoá : 2018-2022
Ngành : KỸ THUẬT PHẦN MỀM Giảng viên hướng dẫn : Th.S NGUYỄN HỮU VĨNH
Trang 3Môn: Đồ án chuyên ngành
VIỆN KỸ THUẬT CÔNG NGHỆ NHẬN XÉT VÀ CHẤM ĐIỂM CỦA GIẢNG VIÊN
Họ và tên giảng viên: Th.S NGUYỄN HỮU VĨNH
Tên đề tài: Xây Dựng Website Bán Truyện Tranh TMW
Nội dung nhận xét:
Điểm: Bằng số:
Bằng chữ:
GIẢNG VIÊN CHẤM
(Ký, ghi rõ họ tên)
NGUYỄN HỮU VĨNH
Trang 4MỤC LỤC
LỜI MỞ ĐẦU 7
LỜI CAM ĐOAN 8
TZM T[T 9
CHƯƠNG 1: GIỚI THIỆU 10
1.1 Tên đề tài 10
1.2 Lý do thực hiện đề tài 10
1.3 Mục đích nghiên cứu 10
1.4 Đối tượng và phạm vi nghiên cứu 10
1.5 Phương pháp nghiên cứu 11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 12
2.1 Giới thiệu công nghệ lavarel 12
2.1.1 Lavarel là gì ? 12
2.1.2 Ưu và nhược điểm 13
2.2 Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL 14
2.2.1 MySQL là gì ? 14
2.2.2 Ưu điểm và nhược điểm 14
2.3 Công nghệ Ajax 15
2.3.1 Ajax là gì ? 15
2.3.2 Cách thức hoạt động của Ajax 16
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 18
3.1 Danh sách các actor 18
3.2 Danh sách các use case 20
3.3 Sơ đồ use case 23
3.3.1 Sơ đồ use case Admin 23
3.3.2 Sơ đồ use case khách hàng 23
3.3.3 Sơ đồ use case nhân viên 24
3.4 Đặc tả usecase 24
3.4.1 Use case đăng nhập 24
3.4.1 Use case đăng ký 25
3.4.2 Use case đăng xuất 25
3.4.3 Use case xem sản phẩm 26
3.4.4 Use case mua sản phẩm 27
3.4.5 Use case xem bài viết 27
Trang 53.4.6 Use case thêm bài viết 28
3.4.7 Use case đổi mật khẩu 29
3.4.8 Use case bình luận bài viết 29
3.4.9 Use case bình luận sản phẩm 30
3.4.10 Use case đánh giá sản phẩm 30
3.4.11 Use case tìm kiếm sản phẩm 31
3.4.12 Use case lọc sản phẩm 32
3.4.13 Use case Thêm thương hiệu 32
3.4.14 Use case Sửa thương hiệu 33
3.4.15 Use case Xóa thương hiệu 33
3.4.16 Use case Thêm sản phẩm 34
3.4.17 Use case Sửa sản phẩm 35
3.4.18 Use case Xóa sản phẩm 35
3.4.19 Use case Thêm danh mục 36
3.4.20 Use case Sửa danh mục 37
3.4.21 Use case Xóa danh mục 37
3.4.22 Use case Sửa đơn hàng 38
3.4.23 Use case Xóa đơn hàng 39
3.4.24 Use case Thêm tài khoản nhân viên 39
3.4.25 Use case Sửa tài khoản nhân viên 40
3.4.26 Use case Xóa tài khoản nhân viên 41
3.4.27 Use case Thêm tài khoản khách hàng 42
3.4.28 Use case Sửa tài khoản khách hàng 42
3.4.29 Use case Xóa tài khoản khách hàng 43
3.4.30 Use case Xóa bình luận sản phẩm 44
3.4.31 Use case Xóa bình luận bài viết 45
3.4.32 Use case Sửa thông tin tài khoản khách hàng 46
3.4.33 Use case Xem thông tin đơn hàng 46
3.5 Cơ sở dữ liệu 47
3.6 Sơ đồ quan hệ 53
3.7 Sơ đồ phân rã chức năng 54
CHƯƠNG 4: GIAO DIỆN TRANG WEB 55
4.1 Giao diện đăng ký 55
4.2 Giao diện đăng nhập 56
4.3 Giao diện trang chủ 57
Trang 64.4 Giao diện danh mục sản phẩm 58
4.5 Giao diện thương hiệu sản phẩm 59
4.6 Giao diện chi tiết sản phẩm 60
4.7 Giao diện tất cả bài viết 61
4.8 Giao diện thêm bài viết 62
4.9 Giao diện giỏ hàng 63
4.10 Giao diện thông tin đặt hàng 64
4.11 Giao diện thanh toán 65
4.12 Giao diện thông tin tài khoản 66
4.13 Giao diện quản lý đơn hàng 67
4.14 Giao diện quản lý bài viết 68
4.15 Giao diện đổi mật khẩu 71
4.16 Giao diện thêm danh mục sản phẩm 71
4.17 Giao diện liệt kê danh mục sản phẩm 72
4.18 Giao diện thêm sản phẩm 74
4.19 Giao diện liệt kê sản phẩm 75
4.20 Giao diện liệt kê đơn hàng 76
4.21 Giao diện duyệt bài viết 77
4.22 Giao diện thêm tài khoản admin 78
4.23 Giao diện liệt kê tài khoản admin 78
4.24 Giao diện thêm tài khoản khách hàng 79
4.25 Giao diện liệt kê tài khoản khách hàng 80
CHƯƠNG 5: KẾT LUẬN 82
5.1 Kết quả đạt được 82
5.2 Hạn chế 82
5.3 Hướng phát triển 82
TÀI LIỆU THAM KHẢO 83
Trang 7Danh mục hình
Hình 1 : Logo Lavarel 12
Hình 2 : Cách thức hoạt động Ajax 16
Hình 3 Use case Admin 23
Hình 4 Use case khách hảng 23
Hình 5 Use case nhân viên 24
Hình 6 Sơ đồ quan hệ 53
Hình 7 Sơ đồ phân rã chức năng 54
Hình 8 Giao diện Đăng Ký 55
Hình 9 Giao diện Đăng Nhập 56
Hình 10 Giao diện trang chủ 57
Hình 11 Giao diện danh mục sản phẩm 58
Hình 12 Giao diện thương hiệu sản phẩm 59
Hình 13 Giao diện chi tiết sản phẩm 60
Hình 14 Giao diện tất cả bài viết 61
Hình 15 Giao diện thêm bài viết 62
Hình 16 Giao diện giỏ hàng 63
Hình 17 Giao diện thông tin đặt hàng 64
Hình 18 Giao diện thanh toán 65
Hình 19 Giao diện đã đặt hàng thành công 66
Hình 20 Giao diện thông tin tài khoản 66
Hình 21 Giao diện quản lý đơn hàng 67
Hình 22 Giao diện quản lý chi tiết đơn hàng 68
Hình 23 Giao diện quản lý bài viết 69
Hình 24 Giao diện quản lý chi tiết bài viết 70
Hình 25 Giao diện đổi mật khẩu 71
Hình 26 Giao diện thêm danh mục sản phẩm 71
Hình 27 Giao diện liệt kê danh mục sản phẩm 72
Hình 28 Giao diện sửa danh mục sản phẩm 72
Hình 29 Giao diện thêm sản phẩm 74
Hình 30 Giao diện liệt kê sản phẩm 75
Hình 31 Giao diện sửa sản phẩm 75
Hình 32 Giao diện liệt kê đơn hàng 76
Hình 33 Giao diện sửa chi tiết đơn hàng 76
Hình 34 Giao diện duyệt bài viết 77
Hình 35 Giao diện sửa chi tiết bài viết 77
Hình 36 Giao diện thêm tài khoản admin 78
Hình 37 Giao diện liệt kê tài khoản admin 78
Hình 38 Giao diện sửa tài khoản 79
Hình 39 Giao diện thêm tài khoản khách hàng 79
Hình 40 Giao diện liệt kê tài khoản khách hàng 80
Hình 41 Giao diện sửa tài khoản khách hàng 80
Trang 8Danh mục bảng
Bảng 1 Danh sách Actor 19
Bảng 2 Danh sách use case 22
Bảng 3Use case đăng nhập 25
Bảng 4 Use case đăng ký 25
Bảng 5Use case đăng xuất 26
Bảng 6 Use case xem sản phẩm 26
Bảng 7 Use case mua hàng 27
Bảng 8 Use case bài viết 28
Bảng 9 Use case bài viết 28
Bảng 10 Use case đổi mật khẩu 29
Bảng 11 Use case bình luận bài viết 30
Bảng 12 Use case bình luận sản phẩm 30
Bảng 13 Use case đánh giá sản phẩm 31
Bảng 14 Use case tìm kiếm sản phẩm 31
Bảng 15 Use case lọc sản phẩm 32
Bảng 16 Use case thêm thương hiệu 33
Bảng 17 Use case sửa thương hiệu 33
Bảng 18 Use case xóa thương hiệu 34
Bảng 19 Use case thêm sản phẩm 35
Bảng 20 Use case sửa sản phẩm 35
Bảng 21 Use case xóa sản phẩm 36
Bảng 22 Use case thêm danh mục 37
Bảng 23 Use case sửa sản phẩm 37
Bảng 24 Use case xóa danh mục 38
Bảng 25 Use case sửa đơn hàng 39
Bảng 26 Use case xóa đơn hàng 39
Bảng 27 Use case thêm tài khoản nhân viên 40
Bảng 28 Use case sửa tài khoản nhân viên 41
Bảng 29 Use case xóa tài khoản nhân viên 42
Bảng 30 Use case thêm tài khoản khách hàng 42
Bảng 31 Use case sửa tài khoản khách hàng 43
Bảng 32 Use case xóa tài khoản khách hàng 44
Bảng 33 Use case xóa bình luận sản phẩm 45
Bảng 34 Use case xóa bình luận bài viết 45
Bảng 35 Use case sửa thông tin tài khoản khách hàng 46
Bảng 36 Use case xem thông tin đơn hàng 47
Bảng 37 Bảng mô tả bảng Admin 47
Bảng 38 Bảng mô tả bảng Brand 48
Bảng 39 Bảng mô tả bảng Category 48
Bảng 40 Bảng mô tả bảng Comment 48
Bảng 41 Bảng mô tả bảng Comment_post 49
Bảng 42 Bảng mô tả bảng Comment_post 49
Bảng 43 Bảng mô tả bảng Ship 50
Bảng 44 Bảng mô tả bảng Order 50
Bảng 45 Bảng mô tả bảng Order_detail 51
Bảng 46 Bảng mô tả bảng Payment 51
Bảng 47 Bảng mô tả bảng Post 52
Bảng 48 Bảng mô tả bảng Product 52
Bảng 49 Bảng mô tả bảng Rating 52
Trang 9LỜI MỞ ĐẦU
Đất nước ta đang trong giai đoạn công nghiệp hoá hiện đại hoá, nền khoa học – kỹ
thuật luôn là mối quan tâm hàng đầu Sự phát triển nhanh chóng về khoa học - kỹ thuật, lĩnh
vực phát triển thương mại các trang web bán hàng có những bước phát triển nhảy vọt với đầy
đủ các chức năng đáp ứng nhu cầu về mua sắm giúp tiết kiệm phần lớn thời gian cũng như
mang lại sự thuận tiện cho con người
Ngày nay với sự lây lan nhanh chóng bởi dịch bệnh covid-19 và việc tuân thủ về chỉ thị số 16
của thủ tướng chính phủ việc đi đến các cửa hàng gặp khó khăn khiến nhu cầu mua sắm của người dân
ngày càng tăng cao ở mọi lĩnh vực bao gồm cả sách truyện Để đáp ứng như cầu tất yếu đó, em đã lựa
chọn và thực hiện đề tài “Xây Dựng Website Bán Truyện Tranh TMW” để tìm hiểu và đưa ra một giải
pháp tốt nhằm giải quyết công việc bán hàng trực tuyến Ở Website này sẽ cập nhật đầy đủ thông tin
mới nhất của các loại truyện được xuất bản in ấn.
Em xin gửi lời cám ơn đặc biệt đến các thầy cô thuộc khoa Kỹ thuật – Công nghệ Các
thầy cô đã trực tiếp giúp đỡ chúng em tiếp thu được rất nhiều kiến thức bổ ích trong quá trình
học tập tại trường Các thầy cô trong khoa chính là những người đã đặt nền móng cho những
kiến thức hiện giờ của chúng em, giúp chúng em có thể đem những kiến thức này áp dụng ra
ngoài cuộc sống Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Hữu Vĩnh,
thầy đã giúp em rất nhiều trong học tập cũng như các hoạt động tại trường Thầy đã giúp em
học được nhiều kiến thức, giúp em hoàn thành báo cáo tốt nghiệp và đã định hướng giúp em
đi một hướng đi đúng đắn cho tương lai Đối với đồ án tốt nghiệp, thầy đã tận tình hướng
dẫn, giúp đỡ em rất nhiều để có thể hoàn thiện được đề tài “Xây Dựng Website Bán Truyện
Tranh TMW” Một lần nữa, em xin cám ơn thầy
Do điều kiện thời gian có hạn và kinh nghiệm làm báo cáo chưa có nhiều nên em
không thể tránh khỏi những thiếu sót trong lúc trình bày cũng như làm báo cáo, kính mong
nhận được những ý kiến đóng góp từ quý thầy cô
Trang 10LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn
của ThS Nguyễn Hữu vĩnh Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực
và chưa công bố dưới bất kỳ hình thức nào trước đây
Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá
được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của
các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung
báo cáo của mình Trường Đại học Thủ Dầu Một không liên quan đến những vi phạm tác
quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)
B nh Dư ng, ngày tháng n m 2021
Người thực hiện (ký tên và ghi rõ họ tên)
Trang 11TZM T[T
Hiện nay, Có rất nhiều các cửa hàng bán sách truyện hoạt động với rất nhiều quy mô
từ các sạp bán truyện nhỏ cho đến các của hàng to lớn và hiện đại để đáp ứng nhu cầu tìm và
đọc sách truyện Sách luôn gắn bó trong cuộc sống của mỗi con người là nguồn tiếp cận kiến
thức được dùng từ thời xa xưa đến hiện nay với nhiều thể loại và cách sử dụng khác nhau
trong đó việc đọc sách cũng là một cách thư giãn phổ biến nhất Có rất nhiều câu hỏi về yếu
tố để một hàng sách truyện có thể phát triển nhanh chóng cũng như về mặt quản lý nó như
‘Làm thế nào để quản lý một số lượng lớn nhanh chóng và tốn ít thời gian’,’Làm thế nào để
lưu trữ các dữ liệu mà không sợ bị mau hư hỏng hay thất lạc’,’Làm sao khách hàng có thể
đúng mặt hàng một cách nhanh chóng’ và yếu tố nổi nhất hiện nay là dịch bệnh covid-19
khiến khách hàng hạn chế ra ngoài cửa hàng
Vì những câu hỏi đó, website Bán Truyện Tranh TMW ra đời nhằm giúp mọi người có
thể mua hàng mà không cần đến cửa hàng ,có thể tham khảo thông tin trước khi mua và cũng
hỗ trợ công việc quản lý cho người bán hàng giúp tiết kiệm thời gian và đẩy doanh số bán lên
Sau đây là các chức năng của trang web:
Trang 12CHƯƠNG 1: GIỚI THIỆU
Chư ng 1 giới thiệu chung về đề tài, lý do thực hiện đề tài, mục dích nghiên cứu, đối tượng
và phạm vi nghiên cứu cuối cùng là phư ng pháp nghiên cứu
1.1 Tên đề tài
ĐỀ TÀI “XÂY DỰNG WEBSITE BÁN TRUYỆN TRANH TMW”
1.2 Lý do thực hiện đề tài
Để mở một của hàng truyện tranh cần phải hội tụ nhiều yếu tố như địa điểm, tài chính,
trang thiết bị, nhân sự, cảnh quan, đi theo đó việc quản lý cũng quan trọng không kém Hiện
nay việc mua sắm trực tuyến đang được nhiều người ưa chuộng đặc biệt giới trẻ ngày nay bị
hấp dẫn và thu hút bởi internet vì nó tiết kiệm thời gian, không tốn công đến cửa hàng, có
thời gian nghiên cứu các sản phẩm, lựa chọn đa dạng và chủ động hơn
Vì tất cả lý do tên rất nhiều các trang thương mại điện tử ra đời nhắm đáp ứng nhu cầu
mua sắm của con người ngày nay cũng như thực hiện việc quản lý và bán sản phẩm của cá
nhân hoặc tổ chức nào đó thuận lợi hơn trong việc kinh doanh giúp nâng cao lợi
1.3 Mục đích nghiên cứu
Mục đích chủ yếu của đề tài là Xây dựng một website thương mại điện tử nhằm phục
vụ tối nhất cho khách hàng Đảm bảo các tính năng gần gũi với khách hàng và dễ dàng sử
dụng với mọi phân khúc khách hàng
Website có thể giúp khách hàng mua sản phẩm một cách dễ dàng hơn, giao diện thân
thiện với người dùng, dễ hiểu giúp khách hàng dễ chịu và thoải mái hơn khi sử dụng website
Giúp người quản lý trang web cũng sẽ dễ dàng quản lý các chức năng của trang khách
hàng thông qua trang dành riêng cho người quản lý
Đồng thời giúp bản thân có cơ hội vận dụng kiến thức vào sản phẩm thực tiễn, trao dồi
khả năng sáng tạo, hiểu được mong muốn của khách hàng ở website thông qua thiết kế giao
diện tương tác với người dùng
1.4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Website bán truyện tranh
Phạm vi nghiên cứu: Xoay quanh vào cách vận hành của một cửa hàng truyện tranh
vừa và nhỏ, đảm bảo đầy đủ các chức năng hoạt động của của hàng và người quản lý
Trang 131.5 Phương pháp nghiên cứu
− Khảo sát thực trạng tại thị trường buôn bán sách truyện ở khu vực thành phố Thủ DầuMột
− Thu thập các yêu cầu, nhu cầu từ phía khách hàng
− Đưa ra những công nghệ mới giúp cho trang website tiện nghi và dễ sử dụng
− Phân tích thiết kế hệ thống theo yêu cầu của người dùng
Trang 14CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Chư ng 2 Giới thiệu c bản lý thuyết về framework Laravel được sử dụng trong ứng dụng,
các tính n ng chính cũng như ưu nhược điểm mà framework này có thể đáp ứng được Đồng
thời giới thiệu về hệ quản trị c sở dữ liệu và công nghệ ajax.
2.1 Giới thiệu công nghệ lavarel
2.1.1 Lavarel là gì ?
H nh 1 : Logo Lavarel
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng
nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC Hiện nay,
Laravel đang là PHP framework phổ biến nhất và tốt nhất Vậy những lý do khiến
Laravel được biết đến rộng rãi là gì?
Laravel là một framework PHP với nhiều ưu điểm vượt trội Những lý do khiến
Laravel trở nên rộng rãi:
Cú pháp dễ hiểu – rõ ràng
Hệ thống đóng gói modular và quản lý gói phụ thuộcNhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ
Trang 15Nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.
Framework là g ? PHP Framework là g ?
Framework – thư viện với các tài nguyên không thể thiếu với các lập trình viên
Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập
trình viên sử dụng thay vì phải tự thiết kế Có Framework, lập trình viên chỉ tìm hiểu
và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm
của mình Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp
chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm
PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viếtbằng ngôn ngữ PHP trở nên trôi chảy hơn Bằng cách cung cấp 1 cấu trúc cơ bản để
xây dựng những ứng dụng đó Hay nói cách khác, PHP framework giúp bạn thúc đẩy
nhanh chóng quá trình phát triển ứng dụng Giúp bạn tiết kiệm được thời gian, tăng sự
ổn định cho ứng dụng Giảm thiểu số lần phải viết lại code cho lập trình viên
2.1.2 Ư u và nhượ c điểm
Ưu điểm của Laravel là g ?
Sử dụng các tính n ng mới nhất của PHP : Sử dụng Laravel 5 giúp các lập trình
viên tiếp cận những tính năng mới nhất mà PHP cung cấp, nhất là đối với
Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax
Nguồn tài nguyên vô cùng lớn và sẵn có: Nguồn tài nguyên của Laravel rất thân
thiện với các lập trình viên với đa dạng tài liệu khác nhau để tham khảo Các phiên
bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình
Tích hợp với dịch vụ mail: Lavarel là framework được trang bị API sạch trên
thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám
mây hoặc local
Tốc độ xử lý nhanh: Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các
dự án lớn trong thời gian ngắn Vì vậy, nó được các công ty công nghệ và lập trình
viên sử dụng rộng rãi để phát triển các sản phẩm của họ
Dễ sử dụng: Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất d sử
dụng Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến
thức cơ bản nhất về lập trình với PHP
Trang 16Tính bảo mật cao: Laravel cung cấp sẵn cho người dùng các tính năng bảo mật
mạnh mẽ để người dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình:
Sử dụng PDO để chống lại tấn công SQL Injection
Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF
Mặc định đều được Laravel escape các biến được đưa ra view mặc định, do
đó có thể tránh được tấn công XSS
Nhược điểm của Laravel là g ?
So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm Vấn đề lớnnhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố
cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ
Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trangtrở nên chậm chạp
2.2 Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL
2.2.1 MySQL là gì ?
MySQL (là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở mà trong tiếnganh gọi là Relational Database Management System (viết tắt là RDBMS) hoạt động
theo mô hình client-server Máy tính cài đặt và chạy phần mềm RDBMS được gọi là
client (máy khách) Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ
(server) RDBMS Cách thức này chính là 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 có những đặc điểm nổi bật như sau:
2.2.2 Ư u điể m và nhượ c điểm
Trang 17Tiêu chuẩn trong ngành: Bất cứ ai đã dấn thân vào ngành công nghệ và dữ liệuthì đều đã sử dụng MySQL và người dùng cũng có thể triển khai dự án nhanh và thuê
các chuyên gia dữ liệu
An toàn: Vấn đề an toàn luôn là vấn đề cực kì quan trọng trong ngành dữ liệu
và MySQL đảm bảo được tiêu chuẩn bảo mật rất cao
Nhược điểm :
MySQL có thể bị khai thác để chiếm quyền điều khiển
Dù có thể quản lí dữ liệu với số lượng lớn nhưng MySQL vẫn không đủ khảnăng tích hợp quản lí dữ liệu khổng lồ và mang tính hệ thống cao như: hệ thống siêu
thị trên toàn quốc, ngân hàng, quản lý thông tin dân số cả nước,…
Nó là một hệ thống quản trị cơ sở dữ liệu có tốc độ cao, bảo mật, ổn định, dễ sửdụng
Được phát hành lần đầu tiên vào năm 1995, tính đến nay thì đã có một lượngngười dùng khổng lồ cùng với các diễn đàn hỏi đáp, sẵn sàng trợ giúp bạn khi gặp
phải bất kỳ khó khăn nào
MySQL là miễn phí, có thể tải trực tiếp tại trang chủ https://www.mysql.comBởi vì tốc độ cao cùng tính bảo mật, MySQL có thể được xem là sự lựa chọnhàng đầu trong việc phát triển các ứng dụng có truy cập cơ sở dữ liệu trên internet, nó
đặc biệt phù hợp làm App điều khiển chỉ chạy trên điện thoại hệ điều hành Android
2.3 Công nghệ Ajax
2.3.1 Ajax là gì ?
AJAX là một trong những công cụ giúp chúng ta đem lại cho người dùng trải nghiệm tốt h n Khi cần một thay đổi nhỏ th sẽ không cần load lại cả trang web, làm
trang web phải tải lại nhiều thứ không cần thiết.
Những lợi ích mà AJAX mang lại:
AJAX được sử dụng để thực hiện một callback Được dùng để thực hiện việctruy xuất dữ liệu hoặc lưu trữ dữ liệu mà không cần phải reload lại toàn bộ trang web
Với những server nhỏ thì việc này cũng tiết kiệm được băng thông cho chúng ta hơn
Trang 18Cần gì thì chỉ gửi dữ liệu phần đó, load lại 1 phần nhỏ để cập nhật thông tin chứkhông load cả trang Bằng cách này thì có thể giảm thiểu được tốc độ tải trang giúp
người dùng có trải nghiệm tốt hơn
Trang web tạo ra cũng sẽ đa dạng và động hơn
H nh 2 : Cách thức hoạt động Ajax
2.3.2 Cách thứ c hoạ t động của Ajax
Từ trình duyệt của client, ta có một sự kiện để gọi ajax Khi đó javascript sẽtạo nên một đối tượng XMLHttpRequest Và đối tượng này sẽ được gửi một request
đến server
ví dụ: Khi người dùng click vào ô input và chọn skill tìm việc làm của người dùng
Khi đó ta sẽ lấy thông tin đó và gửi đến server và cần trả về các việc làm tương ứng
phù hợp với người dùng
Khi server nhận được HttpRequest từ đó sẽ xử lý request và trả về response cho
web
Server xử lí lấy ra các việc làm javascript chẳng hạn thuộc skill mà người dùng cần
và trả về dữ liệu của các việc làm
Trang 19Sau khi nhận được một response từ server, Javascript sẽ xử lý và cập nhật vào trang
web cho chúng ta
Trang 20CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Chương 3 sẽ tập trung trình bày các nội dung như Danh sách các Actor, Danh sách các Use case, Sơ đồ Use case, đặc tả Use case, Lược đồ CSDL, Sơ đồ phan rã chức năng
3.1 Danh sách các actor
Đăng KýĐăng XuấtXem sản phẩmMua sản phẩmXem bài viếtThêm bài viếtĐổi mật khẩuThông tin tài khoản Thông tin đơn hàngBình luận bài viếtBình luận sản phẩm Tìm kiếm sản phẩmLọc sản phẩm
Quản lý sản phẩmQuản lý đơn hàngQuản lý danh mục
Trang 21Quản lý tài khoản nhân viênDuyệt bài viết
Quản lý bình luận
Duyệt bài viếtQuản lý bình luận
Bảng 1 Danh sách Actor
Trang 223.2 Danh sách các use case
đăng nhập vào trang Nhân viênchủ
tạo một tài khoảnkhách hàng
thoát khỏi hệ thống Nhân viên
xem các sản phẩm cótrong trang web
đặt sản phẩm vào giỏhàng va mua
xem các bài viết củangười khác được đăngtrong diễn đàn
tạo bài viết mới trêndiễn đàn
đổi mật khẩu
Trang 23lọc sản phẩm theodanh mục sản phẩm
và thương hiệu sảnphẩm
quản lý các thươnghiệu của sản phẩm
quản lý các sản phẩm
quản lý các đơn hàngcủa sản phẩm
quản lý các danh mụccủa sản phẩm
Trang 24nhân viên
khách hàng
quản lý bình luận bàiviết và sản phẩm
quyết định bài viết cóđược hiển thị haykhông
xem và cập nhậtthông tin tài khoản
xem trình trạng vàthông tin đơn hàng đãđặt
Bảng 2 Danh sách use case
Trang 253.3 Sơ đồ use case
3.3.1 S ơđ ồồ use case Admin
H nh 3 Use case Admin
3.3.2 S ơđ ồồ use case khách hàng
H nh 4 Use case khách hảng
Trang 263.3.3 S ơđ ồồ use case nhân viên
H nh 5 Use case nhân viên
3.4 Đặc tả usecase
3.4.1 Use case đăng nhập
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng, actor đã được đăng ký
tài khoản trước đó
Dòng sự kiện chính 1 Actor khởi động giao diện đăng nhập
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Actor nhập thông tin cần thiết, chọn nút đăng nhập
4 Hệ thống kiểm tra thông tin
Trang 27Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Không có
Bảng 3Use case đ ng nhập
1.1.1 Use case đăng ký
Mô tả Mô tả hoạt động đăng ký vào hệ thống của actor.
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng, actor chưa có tài
khoản trước đó
Dòng sự kiện chính 1 Actor khởi động giao diện đăng ký
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Actor nhập thông tin cần thiết, chọn nút đăng ký
4 Hệ thống kiểm tra thông tin và thông báo đăng ký thành công
Dòng sự kiện phụ Actor nhập sai thông tin
Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Dữ liệu đăng ký được lưu lại để đăng nhập
Bảng 4 Use case đ ng ký
1.1.2 Use case đăng xuâ t ất
Mô tả Mô tả hoạt động đăng xuất ra hệ thống của actor.
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng, actor đã đăng nhập
vào hệ thống trước đó
Dòng sự kiện chính 1 Actor chọn nút đăng xuất
2 Hệ thống đăng xuất actor ra khỏi hệ thống
Dòng sự kiện phụ Không có
Điều kiện cuối Không có
Bảng 5Use case đ ng xuất
1.1.3 Use case xem sản phẩm
Tên Use case
Trang 28Xem sản phẩm
Mô tả Mô tả hoạt động xem sản phẩm của actor.
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng.
Dòng sự kiện chính 1 Actor xem và lựa chọn sản phẩm.
2 Actor nhấn vào hình ảnh miêu tả sản phẩm.
3 Actor được chuyển đến xem chi tiết sản phẩm.
Dòng sự kiện phụ Không có
Điều kiện cuối Không có
Bảng 6 Use case xem sản phẩm
Trang 291.1.4 Use case mua sản phẩm
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng, actor đã đăng nhập vào
hệ thống trước đó
Dòng sự kiện chính 1 Actor nhấn vào nút mua sản phẩm.
2 Sản phẩm được chuyển vào giỏ hàng.
3 Actor nhấn vào nút thanh toán.
4 Hệ thống yêu cầu actor nhập thông tin giao hàng.
5 Actor nhập thông tin giao hàng và nhấn nút Thanh toán.
6 Hệ thống kiểm tra thông tin và chuyển đến trang thnh toán.
7 Actor chọn phương thức thanh toán.
8 Hệ thống thông báo đã thanh toán cho actor
Dòng sự kiện phụ Actor nhập sai thông tin thông tin đơn hàng
Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Hệ thống lưu lại đơn hàng vào hệ thống
Bảng 7 Use case mua hàng
1.1.5 Use case xem bài viê t ất
Tên Use case Xem bài viết
Tác nhân
Mô tả
Khách Hàng
Mô tả hoạt động xem bài viết của actor.
Trang 30Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng.
Dòng sự kiện chính 1 Actor xem và lựa chọn bài viết.
3 Actor được chuyển đến xem chi tiết bài viết.
Bảng 8 Use case bài viết
1.1.6 Use case thêm bài viê t ất
Tên Use case Thêm bài viết
Mô tả Mô tả hoạt động thêm bài viết của actor.
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng, actor đã đăng nhập
vào hệ thống trước đó
Dòng sự kiện chính 1 Actor nhấn vào nút thêm bài viết.
2 Hệ thống yêu cầu actor nhập thông tin bài viết.
3 Actor nhập thông tin bài viết và nhấn nút Đăng bài.
4 Hệ thống kiểm tra thông tin và thông báo đã chuyển bài viết cho admin xác duyệt
Dòng sự kiện phụ Actor nhập sai thông tin thông tin bài
viết Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Hệ thống lưu lại bài viết vào hệ thống
Bảng 9 Use case bài viết
Trang 311.1.7 Use case đổ i mật khẩu
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng, actor đã đăng nhập vào
hệ thống trước đó
Dòng sự kiện chính 1 Actor nhấn vào thông tin tài khoản.
3 Actor nhập thông tin hệ thống yêu cầu.
4 Hệ thống kiểm tra thông tin và thông báo đã mật khẩu thành công.
Dòng sự kiện phụ Actor nhập sai thông tin thông tin mật khẩu
Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Hệ thống lưu lại mật khẩu vào hệ thống
Bảng 10 Use case đổi mật khẩu
1.1.8 Use case bình luận bài viê t ất
Tên Use case Đổi mật khẩu
Dòng sự kiện chính 1 Actor chọn xem chi tiết bài viết
2 Actor nhập thông tin hệ thóng yêu cầu
Trang 323 Hệ thống kiểm tra thông tin và hiển thị bình luận
Dòng sự kiện phụ Actor nhập sai thông tin thông tin
Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Hệ thống lưu lại bình luận vào hệ thống
Bảng 11 Use case b nh luận bài viết
1.1.9 Use case bình luậ n sản phẩm
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng
Dòng sự kiện chính 1 Actor chọn xem chi tiết sản phẩm
2 Actor nhập thông tin hệ thống yêu cầu
3 Hệ thống kiểm tra thông tin và hiển thị bình luận
Dòng sự kiện phụ Actor nhập sai thông tin thông tin
Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Hệ thống lưu lại bình luận vào hệ thống
Bảng 12 Use case b nh luận sản phẩm
Tên Use case Đánh giá sản phẩm
Trang 33Mô tả Mô tả hoạt động đánh giá sản phẩm của actor.
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng
Dòng sự kiện chính 1 Actor chọn xem chi tiết sản phẩm
2 Actor chọn số sao cần đánh giá
3 Hệ thống kiểm tra thông tin và hiển thị đánh giá
Dòng sự kiện phụ Actor nhập sai thông tin thông tin
Hệ thống báo lỗi và yêu cầu nhập lại Actor lặp lại bước 3
Điều kiện cuối Hệ thống lưu lại đánh giá vào hệ thống
Bảng 13 Use case đánh giá sản phẩm
1.1.11 Use case tìm kiê m ất ảs n phẩ m
Điều kiện tiên quyết Hệ thống đã được khởi động sẵn sàng
Dòng sự kiện chính 1 Actor nhập tên cần tìm kiếm vào ô tìm kiếm
2 Actor nhấn vào nút tìm kiếm
3 Hệ thống kiểm tra thông tin và hiển thị kết quả tìm kiếm
Dòng sự kiện phụ Actor nhập sai thông tin thông tin tìm kiếm
Hệ thống hiện thông báo không tìm thấy Actor lặp lại bước 3
Bảng 14 Use case t m kiếm sản phẩm
Trang 34Thêm thương hiệu
1 Admin yêu cầu chức năng thêm thương hiệu.
Dòng sự kiện chính 2 Hệ thống hiển thị và yêu cầu nhập thông tin.
3 Admin nhập thông tin, yêu cầu ghi nhận.
4 Hệ thống ghi nhận, thông báo đã thêm thành công.
Trang 35Hệ thống báo lỗi không nhập được.
Dòng sự kiện phụ bước 4
Admin lặp lại bước 3
Nếu actor chọn lưu thì thông tin về thương hiệu được ghi
Điều kiện cuối
nhận vào hệ thống.
Bảng 16 Use case thêm thư ng hiệu
1.1.14 Use case Sử a thươ ng hiệu
2 Hệ thống hiển thị thông tin thương hiệu được chọn.
3 Admin cập nhật lại thông tin, yêu cầu ghi nhận.
5 Hệ thống ghi nhận, thông báo và hiển thị danh sách.
Dòng sự kiện phụ bước 4
Hệ thống báo lỗi không nhập được.
Actor Admin lặp lại bước 3
Điều kiện cuối
Nếu actor Admin chọn lưu thì thông tin về thương hiệu được cập nhật lại vào hệ thống
Bảng 17 Use case sửa thư ng hiệu
Trang 36Tác nhân Admin
Use case này mô tả chức năng xóa 1 thương hiệu của actor
Mô tả
AdminActor Admin cần đăng nhập được vào hệ thống, chọn chức
Điều kiện cần
năng Quản lý thương hiệu, hệ thống sẵn sàng
Hệ thống xóa thương hiệu được chọn, thông báo và hiển thị lại danh sách.
Actor Admin chọn hủy thao tác
Dòng sự kiện phụ bước 3
Hệ thống hủy việc xóa và liệt kê lại danh sách thương hiệu
Điều kiện cuối Nhân viên được xóa thành công nếu actor xác nhận xóa.
Bảng 18 Use case xóa thư ng hiệu
Dòng sự kiện chính Thêm thương hiệu
Trang 376 Admin nhập thông tin, yêu cầu ghi nhận.
Hệ thống báo lỗi không nhập được.
Dòng sự kiện phụ bước 4
Admin lặp lại bước 3
Nếu actor chọn lưu thì thông tin về sản phẩm được ghi
Điều kiện cuối
nhận vào hệ thống.
Bảng 19 Use case thêm sản phẩm
5 Hệ thống hiển thị thông tin sản phẩm được chọn.
6 Admin cập nhật lại thông tin, yêu cầu ghi nhận.
7 Hệ thống ghi nhận, thông báo và hiển thị danh sách.
Dòng sự kiện phụ bước 4
Hệ thống báo lỗi không nhập được.
Actor Admin lặp lại bước 3
Điều kiện cuối
Nếu actor Admin chọn lưu thì thông tin về sản phẩm được cập nhật lại vào hệ thống
Bảng 20 Use case sửa sản phẩm
Trang 381.1.18 Use case Xóa sản phẩm
4 Hệ thống xóa thương hiệu được chọn, thông báo
và hiển thị lại danh sách.
Actor Admin chọn hủy thao tác
Dòng sự kiện phụ bước 3
Hệ thống hủy việc xóa và liệt kê lại danh sách sản phẩm
Điều kiện cuối Nhân viên được xóa thành công nếu actor xác nhận xóa.
Bảng 21 Use case xóa sản phẩm
Trang 391 Admin yêu cầu chức năng thêm danh mục.
Hệ thống báo lỗi không nhập được.
Dòng sự kiện phụ bước 4
Admin lặp lại bước 3
Nếu actor chọn lưu thì thông tin về danh mục được ghi
Điều kiện cuối
nhận vào hệ thống.
Bảng 22 Use case thêm danh mục
2 Hệ thống hiển thị thông tin danh mục được chọn.
3 Admin cập nhật lại thông tin, yêu cầu ghi nhận.
4 Hệ thống ghi nhận, thông báo và hiển thị danh sách.
Dòng sự kiện phụ bước 4
Hệ thống báo lỗi không nhập được.
Actor Admin lặp lại bước 3
Điều kiện cuối
Nếu actor Admin chọn lưu thì thông tin về danh mục được cập nhật lại vào hệ thống
Trang 40Bảng 23 Use case sửa sản phẩm
2 Hệ thống hỏi xác nhận xóa danh mục.
4 Hệ thống xóa danh mục được chọn, thông báo và hiển thị lại danh sách.
Dòng sự kiện phụ bước 3
Actor Admin chọn hủy thao tác
Hệ thống hủy việc xóa và liệt kê lại danh sách danh mục.Điều kiện cuối Nhân viên được xóa thành công nếu actor xác nhận xóa.
Bảng 24 Use case xóa danh mục