ix DANH MỤC HÌNH VẼ Hình 1: Logo Laravel Hình 2: Sơ đồ chức năng quản lý admin Hình 3: Sơ đồ chức năng người dùng Hình 4: Sơ đồ use case tổng quát Hình 5:Sơ đồ use case quản lý admin Hì
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
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 ĐIỆN THOẠI
Giảng viên hướng dẫn: Ths Trần Thu Thủy
Đà 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
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
Tô Tự Thanh Tâm
Trang 5v
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT viii
DANH MỤC HÌNH VẼ ix
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 4
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? 5
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ơ đồ chức năng quản lý admin 9
2.2.2 Sơ đồ chức năng người dùng: 10
2.2.3 Sơ đồ use case 11
Trang 6vi
2.2.4 Phân tích cơ sở dữ liệu 18
Chương 3 XÂY DỰNG ỨNG DỤNG 26
3.1 Giao diện chung 26
3.1.1 Giao diện trang chủ Website 26
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 27
3.1.6 Giao diện chi tiết sản phẩm 27
3.2 Giao diện admin 28
3.2.1 Giao diện thống kê 28
3.2.2 Giao diện thông tin website 28
3.2.3 Giao diện thêm slider 28
3.2.4 Giao diện thống kê đơn hàng 28
3.2.5 Giao diện danh mục sản phẩm 28
3.2.6 Giao diện thêm danh mục sản phẩm 29
3.2.7 Giao diện liệt kê sản phẩm 29
3.2.8 Giao diện thêm sản phẩm 29
3.2.9 Giao diện thêm bài viết 30
3.2.10 Giao diện liệt kê bài viết 30
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 30
4.1 Kết quả đạt được 30
4.1.1 Về phía người quản trị 30
4.1.2 Về phía người dùng 31
4.1.3 Về phía bản thân 31
4.2 Những hạn chế và thiếu sót 31
4.3 Hướng phát triển 31
TÀI LIỆU THAM KHẢO Error! Bookmark not defined.
Trang 7vii
Trang 8
viii
DANH MỤC CÁC TỪ VIẾT TẮT
OOP Object Oriented Programming
MVC Model-View-Controller
MIT Massachusetts Institute of Technology
IoC Inversion of Control
IDE Integrated Development Environment
Trang 9ix
DANH MỤC HÌNH VẼ
Hình 1: Logo Laravel Hình 2: Sơ đồ chức năng quản lý admin Hình 3: Sơ đồ chức năng người dùng Hình 4: Sơ đồ use case tổng quát Hình 5:Sơ đồ use case quản lý admin Hình 6: Sơ đồ use case quản lý danh mục Hình 7: Sơ đồ use case quản lý sản phẩm Hình 8: Sơ đồ use case quản lý đơn hàng Hình 9: Sơ đồ use case quản lý bình luận Hình 10:Sơ đồ use case quản lý slider Hình 11: Sơ đồ use case quản lý thông tin website Hình 12: Sơ đồ use case quản lý bài viết
Hình 13: Sơ đồ use case ngời dùng Hình 14: Sơ đồ use case giỏ hàng Hình 15: Sơ đồ use case thêm sản phẩm Hình 16: Sơ đồ use case đặt hàng
Hình 17:Giao diện banner người dùng Hình 18: Giao diện người dùng
Hình 19: Giao diện footer nười dùng Hình 20: Giao diện đăng ký, đăng nhập Hình 21:Giao diện giỏ hàng
Hình 22:Giao diện đặt hàng Hình 23:Giao diện bài viết Hình 24:Giao diện chi tiết sản phẩm Hình 25:Giao diện thống kê
Hình 26:Giao diện thông tin website Hình 27:Giao diện thêm slider Hình 28:Gia diện liệt kê đơn hàng Hình 29:Giao diện danh mục sản phẩm Hình 30:Giao diện thêm danh mục sản phẩm Hình 31: Giao diện liệt kê sản phẩm
Hình 32: Giao diện thêm sản phẩm Hình 33:Giao diện thêm bài viết Hình 34:Giao diện liệt kê bài viết
Trang 10đó, 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 điện thoại
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
Thời gian Nội dung 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 112
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 123
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ỏ
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ơ
Trang 134
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
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
Trang 145
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…
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ủ
Trang 156
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 167
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, quảng cáo website
Trang 178
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 189
2.2 Phân tích chức năng
2.2.1 Sơ đồ chức năng quản lý admin
Hình 2: Sơ đồ chức năng quản lý admin
Trang quản trị Đăng nhập
Trang
chủ
Sản Phẩm
Danh mục Slider
Bài viết
Thương hiệu
Đơn hàng
Bình luận
Thêm, sửa, xóa
Kiểm tra, xóa
Trang 1910
2.2.2 Sơ đồ chức năng người dùng
Hình 3: Sơ đồ chức năng người dùng
Sản phẩm Tìm kiếm
Trang 2011
2.2.3 Sơ đồ use case
a Sơ đồ use case tổng quát
Hình 4 Sơ đồ use case tổng quát
Trang 2112
b Sơ đồ use case quản lý admin
Hình 5 Sơ đồ use case quản lý admin
c Sơ đồ use case quản lý danh mục
Hình 6 Sơ đồ use case quản lý danh mục
Trang 2213
d Sơ đồ use case quản lý sản phẩm
Hình 7 Sơ đồ use case quản lý sản phẩm
e Sơ đồ use case quản lý đơn hàng
Hình 8 Sơ đồ use case quản lý đơn hàng