Nhiệm vụ và hướng giải quyết Từ các yêu cầu đặt ra, đề tài tiến hành phân tích và đưa ra hướng giải quyết theo các bước sau: - Tìm hiểu về các website tương tự để xây dựng các chức năng
Trang 1i
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN GIÀY ĐÁ BÓNG ONLINE
Sinh viên thực hiện : Võ Thanh Lực
Giảng viên hướng dẫn: Ths.Dương Thị Mai Nga
Đà Nẵng, tháng 11 năm 2021
Trang 2ii
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN GIÀY ĐÁ BÓNG ONLINE
Giảng viên hướng dẫn: Ths Dương Thị Mai Nga
Đà Nẵng, tháng 11 năm 2021
Trang 3iii
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4
iv
LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp
ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè
Em xin gửi lời cảm ơn chân thành đến Th.s Dương Thị Mai Nga, giảng viên trường Đại học ông nghệ thông tin và truyền thông Việt Hàn, người đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình làm đồ án tốt nghiệp
Em cũng xin chân thành cảm ơn các thầy, cô giáo trong trường đại học công nghệ thông tin và truyền thông Việt Hàn nói chung, các thầy, cô trong Khoa Khoa học máy tính nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành khoá luận tốt nghiệp
Sinh viên
Võ Thanh Lực
Trang 5v
MỤC LỤC
LỜI CẢM ƠN iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT vii
DANH MỤC HÌNH VẼ viii
MỞ ĐẦU 1
1 Giới thiệu 1
2 Mục tiêu của đề tài 1
3 Nội dung và kế hoạch thực hiện 1
4 Nhiệm vụ và hướng giải quyết 2
5 Ý nghĩa thực tiển của đề tài 2
Chương 1 CÔNG CỤ CÔNG NGHỆ SỬ DỤNG 3
1.1 Giới thiệu về Laravel 3
1.1.1 Laravel là gì? 3
1.1.2 Lịch sử phát triển Laravel 3
1.1.3 Triết lý của Laravel 5
1.2 Giới thiệu về hệ quản trị cơ sở dữ liệu MYSQL 5
1.2.1 MySQL là gì? Giới thiệu về MySQL 5
1.2.2 MySql có gì nổi bật? 6
1.2.3 Những các nhân, tổ chức nào đang sử dụng MySQL? 6
Chương 2 PHÂN TÍCH MÔ HÌNH HỆ THỐNG 7
2.1 Phân tích yêu cầu 7
2.1.1.Yêu cầu về chức năng hệ thống 7
2.1.2.Yêu cầu về hình thức 8
2.1.3.Yêu cầu về bảo mật 8
2.2 Phân tích chức năng 9
2.2.1 Sơ đồ use case 9
Trang 6vi
2.2.2 Phân tích cơ sở dữ liệu 16
Chương 3 XÂY DỰNG ỨNG DỤNG 25
3.1 Giao diện chung 25
3.1.1 Giao diện trang chủ Website 25
3.1.2 Giao diện đăng ký, đăng nhập 26
3.1.3 Giao diện giỏ hàng 27
3.1.4 Giao diện đặt hàng 27
3.1.5 Giao diện bài viết 28
3.1.6 Giao diện chi tiết sản phẩm 28
3.2 Giao diện admin 29
3.2.1 Giao diện thống kê 29
3.2.2 Giao diện thông tin website 29
3.2.3 Giao diện thêm slider 30
3.2.4 Giao diện thống kê đơn hàng 30
3.2.5 Giao diện danh mục sản phẩm 31
3.2.6 Giao diện thêm danh mục sản phẩm 31
3.2.7 Giao diện liệt kê sản phẩm 32
3.2.8 Giao diện thêm sản phẩm 32
3.2.9 Giao diện thêm bài viết 33
3.2.10 Giao diện liệt kê bài viết 33
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 34
4.1 Kết quả đạt được 34
4.1.1 Về phía người quản trị 34
4.1.2 Về phía người dùng 34
4.1.3 Về phía bản thân 34
4.2 Những hạn chế và thiếu sót 34
4.3 Hướng phát triển 35
TÀI LIỆU THAM KHẢO 36
Trang 7vii
DANH MỤC CÁC TỪ VIẾT TẮT
Trang 8viii
DANH MỤC HÌNH VẼ
Hình 1: Logo Laravel trang 3 Hình 2: Sơ đồ use case tổng quát trang 9 Hình 3:Sơ đồ use case quản lý admin trang 10 Hình 4: Sơ đồ use case quản lý danh mục trang 10 Hình 5: Sơ đồ use case quản lý sản phẩm trang 11 Hình 6: Sơ đồ use case quản lý đơn hàng trang 11 Hình 7: Sơ đồ use case quản lý bình luận trang 12 Hình 8:Sơ đồ use case quản lý slider trang 12 Hình 9: Sơ đồ use case quản lý thông tin website trang 13 Hình 10: Sơ đồ use case quản lý bài viết trang 13 Hình 11: Sơ đồ use case ngời dùng trang 14 Hình 12: Sơ đồ use case giỏ hàng trang 14 Hình 13: Sơ đồ use case thêm sản phẩm trang 15 Hình 14: Sơ đồ use case đặt hàng trang 15 Hình 15:Giao diện banner người dùng trang 24 Hình 16: Giao diện người dùng trang 24 Hình 17: Giao diện footer nười dùng trang 25 Hình 18: Giao diện đăng ký, đăng nhập trang 25 Hình 19:Giao diện giỏ hàng trang 26 Hình 20:Giao diện đặt hàng trang 26 Hình 21:Giao diện bài viết trang 27 Hình 22:Giao diện chi tiết sản phẩm trang 27 Hình 23:Giao diện thống kê trang 28 Hình 24:Giao diện thông tin website trang 28 Hình 25:Giao diện thêm slider trang 29 Hình 26:Gia diện liệt kê đơn hàng trang 29 Hình 27:Giao diện danh mục sản phẩm trang 30 Hình 28:Giao diện thêm danh mục sản phẩm trang 30 Hình 29: Giao diện liệt kê sản phẩm trang 31 Hình 30: Giao diện thêm sản phẩm trang 31 Hình 31:Giao diện thêm bài viết trang 32 Hình 32:Giao diện liệt kê bài viết trang 32
Trang 9GVHD: Ths Dương Thị Mai Nga 1 SVTH: Võ Thanh Lực – 19i1
MỞ ĐẦU
1 Giới thiệu
Ngày nay Internet đã trở thành dịch vụ phổ biến và thiết yếu và có ảnh hưởng sâu
rộng tới thói quen, sinh hoạt, giải trí của nhiều người Cùng với sự phát triển nhanh
chóng của Internet thì các hình thức mua và bán hàng hóa cho mọi người ngày càng đa
dạng và phát triển hơn Các ứng dụng Web ngày càng trở nên phổ biến Trước nhu cầu
đó, cùng với yêu cầu môn học, em quyết định chọn đề tài Xây dựng Website bán giày
đá bóng online
2 Mục tiêu của đề tài
- Xây dựng được một website hoàn chỉnh, đầy đủ các chức năng cơ bản của một
website bán hàng trực tuyến
- Website có nội dung hấp dẫn, đầy đủ, phù hợp với mọi đối tượng sử dụng
- Website được sắp xếp, bố cục một cách hợp lý, tạo điều kiện cho người dùng
dễ định hướng trong website
- Website có hình thức đẹp, phù hợp với chủ đề, nội dung, thân thiện với người
dùng
3 Nội dung và kế hoạch thực hiện
Từ 03/09 đến 10/09 Xát định vấn đề cần giải quyết
Từ 11/09 dến 24/09 Phân tích hiện trạng
Từ 25/09 đến 03/10 Tìm kiếm giải pháp
Từ 04/10 đến 20/11 Thiết kế và thực hiện nội dung giải pháp
Từ 21/11 đến 29/11 Vận hành thử nghiệm và đánh giá kết quả
Trang 10GVHD: Ths Dương Thị Mai Nga 2 SVTH: Võ Thanh Lực – 19i1
4 Nhiệm vụ và hướng giải quyết
Từ các yêu cầu đặt ra, đề tài tiến hành phân tích và đưa ra hướng giải quyết theo
các bước sau:
- Tìm hiểu về các website tương tự để xây dựng các chức năng sao cho phù hợp
với đa phần thị hiếu của người sử dụng hiện nay
- Tiến hành tìm hiểu về các khái niệm có liên quan và từ các thông tin khảo sát
được sẽ tiến hành phân tích các chức năng dự định đưa vào website
- Tìm hiểu về các nội dung cần có của một trang web bán giày đá bóng, từ đó đưa
ra các giải pháp để tiến hành xây dựng
- Lựa chọn và cài đặt các công cụ, phần mềm phù hợp cho việc thiết kế website
- Bắt tay vào việc xây dựng website
- Tiến hành kiểm tra và chạy thử
- Thay đổi, bổ sung, khắc phục các lỗi để website hoàn chỉnh hơn
5 Ý nghĩa thực tiển của đề tài
Ý nghĩa thực tiễn của đề tài như sau:
- Ý nghĩa đối với doanh nghiệp:Website được xây dựng nhằm giúp quảng bá
thông tin sản phẩm , dịch vụ của hệ thống ra ngoài thị trường một cách rộng
rãi Qua đó giúp tăng số lượng khách hàng sử dụng trang web và tăng doanh
thu Bên cạnh đó, còn giúp cho doanh nghiệp, cá nhân giảm được chi phí
- Ý nghĩa đối với khách hàng: Giúp cho người sử dụng có thể nhanh chóng lựa
chọn những món hàng mà mình muốn đặt mà không cần đến cửa hàng
- Ý nghĩa đối với cá nhân sinh viên: Qua đề tài này, em có thể xây dựng một
website để ứng dụng vào thực tế với giao diện thân thiện, dễ dàng sử dụng
trong quá trình xem thông tin và dễ quản lý
Trang 11GVHD: Ths Dương Thị Mai Nga 3 SVTH: Võ Thanh Lực – 19i1
Chương 1 CÔNG CỤ CÔNG NGHỆ SỬ DỤNG
1.1 Giới thiệu về Laravel
1.1.1 Laravel là gì?
Hình 1: Logo Laravel
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi
Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trú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 , một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách
khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ
việc triển khai vào bảo trì ứng dụng
1.1.2 Lịch sử phát triển Laravel
Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó là:
Laravel 1 phát hành trong cùng tháng Laravel 1 bao gồm các tính năng như xác
thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu khác, nhưng vẫn còn
thiếu controller, điều này làm nó chưa thật sự là một MVC framework đúng nghĩa
Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ tác
giả và cộng đồng Tính năng đáng kể bao gồm hỗ trợ controller, điều này thực sự biến
Laravel 2 thành một MVC framework hoàn chỉnh, hỗ trợ Inversion of Control (IoC), hệ
thống template Blade Bên cạnh đó, có một nhược điểm là hỗ trợ cho các gói của nhà
phát triển bên thứ 3 bị gỡ bỏ
Trang 12GVHD: Ths Dương Thị Mai Nga 4 SVTH: Võ Thanh Lực – 19i1
Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới bao
gồm giao diện dòng lệnh (CLI) tên “Artisan”, hỗ trợ nhiều hơn cho hệ thống quản trị cơ
sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration, hỗ trợ “bắt sự kiện” trong ứng
dụng, và hệ thống quản lý gói gọi là “Bundles” Lượng người dùng và sự phổ biến tăng
trưởng mạnh kể từ phiên bản Laravel 3
Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013 Lần này
thực sự là sự lột xác của Laravel framework, di chuyển và tái cấu trúc các gói hỗ trợ vào
một tập được phân phối thông qua Composer, một chương trình quản lý gói thư viện
phụ thuộc độc lập của PHP Bố trí mới như vậy giúp khả năng mở rộng của Laravel 4
tốt hơn nhiều so với các phiên bản trước Ra mắt lịch phát hành chính thức mỗi sáu tháng
một phiên bản nâng cấp nhỏ các tính năng khác trong Laravel 4 bao gồm tạo và thêm
dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các kiểu gởi mail, và hỗ trợ “xóa
mềm” (soft-delete: record bị lọc khỏi các truy vấn từ Eloquent mà không thực sự xóa
hẳn khỏi DB)
Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay đổi
đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3 Bên cạnh một loạt tính
năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúc cây thư mục
nội bộ cho phát triển ứng dụng mới Những tính năng mới của Laravel 5 bao gồm hộ trợ
lập lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là “Scheduler”, một lớp trừu
tượng gọi là “Flysystem” cho phép điều khiển việc lưu trữ từ xa đơn giản như lưu trữ
trên máy local – dễ thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản lý
assets thông qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với các dịch vụ bên
ngoài bằng gói “Socialite”
Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận
được hỗ trợ dài hạng (LTS) với một kết hoạch fix bug lên tới 2 năm vào hỗ trợ vá lỗi
bảo mật lên tới 3 năm Các bản phát hành LTS của Laravel được lên kế hoạch theo mỗi
2 năm
Trang 13GVHD: Ths Dương Thị Mai Nga 5 SVTH: Võ Thanh Lực – 19i1
1.1.3 Triết lý của Laravel
Laravel là một framework phát triển ứng dụng web (gọi tắt là phát triển) với sự
diễn cảm và cú pháp lịch lãm Chúng tôi tin rằng việc phát triển phải là một trải nghiệm
thú vị và đầy sáng tạo để thực sự thỏa mãn Laravel cố gắng xóa đi những đau khổ ấy
khỏi quá trình phát triển bằng cách giảm tối thiểu các tác vụ thường dùng trong các dự
án web như xác thực, định tuyến, phiên làm việc và caching
Laravel nhằm giúp cho quá trình phát triển trở nên dễ chịu với developer mà
không làm thiếu sót các chức năng của ứng dụng Những developer hạnh phúc sẽ tạo ra
những dòng code tốt nhất Để có được điều này, chúng tôi đã cố gắng kết hợp rất nhiều
điều tuyệt vời mà chúng tôi thấy được từ những web framework khác, bao gồm cả những
framework của các ngôn ngữ khác như Ruby on Rails, ASP.NET MVC và Sinatra
Laravel dễ gần, nhưng mạnh mẽ, cung cấp những công cụ mạnh cần thiết cho
những ứng dụng lớn, tráng kiện Tính năng IoC tuyệt vời, hệ thống ánh xạ đáng kinh
ngạc, tương tác chặt chẽ với hỗ trợ Unit test mang lại cho bạn những công cụ cần thiết
để xây dựng bất cứ ứng dụng nào, bất kỳ nhiệm vị nào bạn được giao
1.2 Giới thiệu về hệ quản trị cơ sở dữ liệu MYSQL
1.2.1 MySQL là gì? Giới thiệu về MySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS)
được phát triển bởi MySQL AB MySQL phát triển và hỗ trợ bởi Oracle Corporation
MySQL được viết bằng C và C++ và hỗ trợ nhiều hệ điều hành khác nhau như
Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix,
Solaris, SunOS…
MySQL hổ trợ nhiều ngôn ngữ lập trình như NodeJs, PHP, Perl, Java và nhiều
ngôn ngữ khác để xây dựng trang thương mại điện tử hoặc những phần mềm đóng gói…
Trang 14GVHD: Ths Dương Thị Mai Nga 6 SVTH: Võ Thanh Lực – 19i1
1.2.2 MySql có gì nổi bật?
Sau đây là một số điểm nổi bật hệ quản trị cơ sở dữ liệu MySQL:
MySQL là miễn phí để sử dụng và bạn có thể tải MySQL từ trang chủ
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ
MySQL rất dễ sử dụng nếu như bạn có kiến thức cơ bản về SQL
MySQL tuân theo mô hình kiến trúc máy khách / máy chủ
MySQL có thể xử lý dữ liệu lên đến 50 triệu hàng hoặc nhiều hơn, với giới hạn kích
thước tệp mặc định là khoảng 4 GB tuy nhiên bạn có thể tăng số này lên một giới
hạn lý thuyết là 8 TB
MySQL được viết bằng C và C++ và hỗ trợ nhiều hệ điều hành khác nhau như
Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix,
Solaris, SunOS…
MySQL hổ trợ nhiều ngôn ngữ lập trình như NodeJs, PHP, Perl, Java và nhiều ngôn
ngữ khác
MySQL hiệu năng cao và đáng tin cậy
1.2.3 Những các nhân, tổ chức nào đang sử dụng MySQL?
Danh sách một số công ty sử dụng các cơ sở dữ liệu MySQL như GitHub, US
Navy, NASA, Tesla, Netflix, WeChat, Facebook, Zendesk, Twitter, Zappos, YouTube,
Spotify…
MySQL được tích hợp sẵn trong AppServ đi kèm với Apache, PHP và
phpMyAdmin
Trang 15GVHD: Ths Dương Thị Mai Nga 7 SVTH: Võ Thanh Lực – 19i1
Chương 2 PHÂN TÍCH MÔ HÌNH HỆ THỐNG
2.1 Phân tích yêu cầu
2.1.1.Yêu cầu về chức năng hệ thống
-Về phía người dùng (user):
+ Đăng ký, đăng nhập + Xem chi tiết sản phẩm + Tìm kiếm sản phẩm + Chọn hàng, mua hàng và thanh toán + Bình luận, đánh giá sản phẩm + Thêm vào giỏ hàng, cập nhật giỏ hàng + Lọc sản phẩm
+…
-Về phía nhà cung cấp:
-Về phía quản trị (admin)
+ Đăng nhập: Thông tin đăng nhập có sẵn của quản trị viên sẽ được tạo sẵn khi website được đưa vào sử dụng
+ Thống kê: Bài viết được xem nhiều, sản phẩm được xem nhiều nhất, đơn hàng, thống kê bình luận của sản phẩm
+ Quản lý danh mục: Quản lý, thêm sửa, xóa, danh mục + Quản lý sản phẩm: Quản lý, thêm sửa, xóa, sản phẩm + Quản lý slider: Quản lí các slider trong website + Quản lý đơn hàng: Kiểm tra tình trạng đơn hàng , kiểm duyệt thông tin và giao hàng cho khách hàng đặt hàng
+Quản lý bài viết: Quản lý, thêm, sửa, xóa bài viết +Quản lý thương hiệu:Quản lý, thêm, sửa, xóa thương hiệu + Cập nhật giao diện
Trang 16GVHD: Ths Dương Thị Mai Nga 8 SVTH: Võ Thanh Lực – 19i1
2.1.2.Yêu cầu về hình thức
-Giao diện thân thiện, dễ dùng
-Màu sắc hài hòa
-Bố cục các chức năng hợp lý
-Cho phép người dùng chọn nhanh các sản phầm thông qua danh sách có sẵn
2.1.3.Yêu cầu về bảo mật
-Về phía người dùng: cần phải đăng nhập để mua hàng, cũng như bình luận và
đánh giá sản phẩm, nếu chưa có tài khoản thì có thể đăng ký…
-Về phía người quản trị: đăng nhập để quản lý dữ liệu website
Trang 17GVHD: Ths Dương Thị Mai Nga 9 SVTH: Võ Thanh Lực – 19i1
2.2 Phân tích chức năng
2.2.1 Sơ đồ use case
a Sơ đồ use case tổng quát
Hình 2 Sơ đồ use case tổng quát
Trang 18GVHD: Ths Dương Thị Mai Nga 10 SVTH: Võ Thanh Lực – 19i1
b Sơ đồ use case quản lý admin
Hình 3 Sơ đồ use case quản lý admin
c Sơ đồ use case quản lý danh mục
Hình 4 Sơ đồ use case quản lý danh mục
Trang 19GVHD: Ths Dương Thị Mai Nga 11 SVTH: Võ Thanh Lực – 19i1
d Sơ đồ use case quản lý sản phẩm
Hình 5 Sơ đồ use case quản lý sản phẩm
e Sơ đồ use case quản lý đơn hàng
Hình 6 Sơ đồ use case quản lý đơn hàng
Trang 20GVHD: Ths Dương Thị Mai Nga 12 SVTH: Võ Thanh Lực – 19i1
f Sơ đồ use case quản lý bình luận
Hình 7 Sơ đồ use case quản lý bình luận
g Sơ đồ use case quản lý slider
Hình 8 Sơ đồ use case quản lý slider
Trang 21GVHD: Ths Dương Thị Mai Nga 13 SVTH: Võ Thanh Lực – 19i1
h Sơ đồ use case quản lý thông tin website
Hình 9 Sơ đồ use case quản lý thông tin website
i Sơ đồ use case quản lý bài viết
Hình 10 Sơ đồ use case quản lý bài viết
Trang 22GVHD: Ths Dương Thị Mai Nga 14 SVTH: Võ Thanh Lực – 19i1
j Sơ đồ use case người dùng
Hình 11 Sơ đồ use case người dùng
k Sơ đồ use case giỏ hàng
Hình 12 Sơ đồ use case giỏ hàng