Mục đích của đề tài là Xây dựng một trang website bán các sản phẩm, thiết bị điện tử cần thiết cho người tiêu dùng, nhằm đáp ứng nhu cầu sử dụng công nghệ trong thời điểm công nghệ 4.0 đ
Trang 11
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
Trang 22
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
Trang 33
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 Nguyễn Trọng Tài
Trang 55
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT 8
DANH MỤC HÌNH VẼ 9
DANH MỤC BẢNG 11
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 2
a Nội dung 2
b Kế hoạch thực hiện 2
4 Bố cục báo cáo 2
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1 TỔNG QUAN VỀ LARAVEL FRAMEWORK 4
1.1 Laravel Framework là gì ? 4
1.2 Ưu điểm của Laravel Framework 4
1.3 Mô hình MVC (Model – View – Controller) của Laravel 4
2 TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH PHP 5
2.1 Giới thiệu về PHP 6
2.2 Ưu điểm của PHP 6
2.3 Nhược điểm của P HP 7
3 TÌM HIỂU VỀ HỆ QUẢN TRỊ MYSQL 7
3.1 Lịch sử hình thành và phát triển 8
3.2 Ưu và nhược điểm của MySQL 8
Trang 66
3.2.1 Ưu điểm 8
3.2.2 Nhược điểm 9
3.3 Hoạt động của MySQL 9
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG .11
1 PHÂN TÍCH, ĐẶC TẢ YÊU CẦU CỦA HỆ THỐNG .11
2 BIỂU ĐỒ USE CASE 11
2.1 Các tác nhân 11
2.2 Xác định các Use Case 12
2.3 Biểu đồ Use Case với tác nhân là Khách hàng .13
2.4 Biểu đồ Use Case với tác nhân là Quản trị viên 13
2.5 Biểu đồ Use Case Quản lý sản phẩm 14
2.6 Biểu đồ Use Case Quản lý danh mục 14
2.7 Biểu đồ Use Case Quản đơn đặt hàng .15
2.8 Đặc tả Use Case 15
3 BIỂU ĐỒ LỚP .16
4 MÔ HÌNH HÓA HÀNH VI 17
4.1 Biểu đồ hoạt động 17
5 MÔ HÌNH HÓA TƯƠNG TÁC 18
5.1 Biểu đồ trình tự xem giỏ hàng 18
5.2 Biểu đồ trình tự xóa sản phẩm trong giỏ hàng 18
6 THIẾT KẾ CÁC B ẢNG DỮ LIỆU QUAN HỆ 19
6.1 Bảng products 19
6.2 Bảng Orders 20
6.3 Bảng Order_detail 20
6.4 Bảng Users 21
6.5 Bảng Categories 21
6.6 Bảng images 21
Trang 77
6.7 Bảng comments 21
6.8 Bảng address 22
7 BIỂU ĐỒ CƠ SỞ DỮ LIỆU QUAN HỆ 22
8 BIỂU ĐỒ THÀNH PHẦN 22
9 BIỂU ĐỒ TRIỂN KHAI .23
CHƯƠNG 3 KẾT QUẢ ĐẠT ĐƯỢC 25
1 Giao diện phía người dùng .25
2 Giao diện phía người quản trị 31
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 37
1 Kết quả đạt được 37
2 Hướng nghiên cứu 37
TÀI LIỆU THAM KHẢO 37
Trang 99
DANH MỤC HÌNH VẼ
Hình 1 Mô hình MVC của Laravel Framework 5
Hình 2 PHP là gì ? 6
Hình 3 Hệ quản trị MySql là gì ? 8
Hình 4 Cách MySQL vận hành là khá đơn giản 10
Hình 5 Biểu đồ Use Case với tác nhân là Khách hàng 13
Hình 6 Biểu đồ Use Case với tác nhân là Quản trị viên 14
Hình 7 Biểu đồ Use Case Quản lý sản phẩm 14
Hình 8 Biểu đồ Use Case Quản lý danh mục 15
Hình 9 Biểu đồ Use Case Quản đơn đặt hàng 15
Hình 10 Biểu đồ lớp 16
Hình 11 Biểu đồ hoạt động của giỏ hàng 17
Hình 12 Biểu đồ hoạt động đăng nhập 18
Hình 13 Biểu đồ trình tự xem giỏ hàng 18
Hình 14 Biểu đồ trình tự xóa sản phẩm trong giỏ hàng 19
Hình 15 Biểu đồ cơ sở dũ liệu quan hệ 22
Hình 16 Biểu đồ thành phần 23
Hình 17 Biểu đồ triển khai 24
Hình 18 Trang Chủ 25
Hình 19 Chi Tiết Sản Phẩm 26
Hình 20 Giỏ Hàng 27
Hình 21 Kiểm Tra Thông Tin 28
Hình 22 Thanh Toán 29
Hình 23 So Sánh Sản Phẩm 30
Hình 24 Tin Tức 31
Hình 25 Giao Diện Trang Admin 32
Hình 26 Quản Lý Đơn Đặt Hàng 33
Hình 27 Quản Lý Sản Phẩm 33
Hình 28 Quản Lý Danh Mục 34
Hình 29 Quản Lý Bình Luận 34
Trang 1010
Hình 30 Quản Lý Tin Tức 35 Hình 31 Quản Lý Slide 35 Hình 32 Quản Lý Liên Hệ 36
Trang 1111
DANH MỤC BẢNG
Bảng 1 Bảng mô tả mô hình MVC 5
Bảng 2 Đặc tả Use Case 15
Bảng 3 Các bảng trong CSDL 19
Bảng 4 Bảng Products 20
Bảng 5 Bảng Orders 20
Bảng 6 Bảng Order_detail 20
Bảng 7 Bảng Users 21
Bảng 8 Bảng Categories 21
Bảng 9 Bảng Images 21
Bảng 10 Bảng comments 22
Bảng 11 Bảng address 22
Trang 12lý do trên, chúng em quyết định chọn đề tài “Xây dựng website cho cửa hàng điện tử” - xây dựng thử nghiệm cửa hàng điện thoại di động ảo theo mô hình thương mại điện tử B2C Thông qua đó để chúng em hiểu biết, nắm rõ hơn về lĩnh vực TMĐT và các kỹ năng ứng dụng lập trình cho website thương mại điện
tử một cách hiệu quả
2 Mục tiêu của đề tài
Mục đích của đề tài là Xây dựng một trang website bán các sản phẩm, thiết bị điện tử cần thiết cho người tiêu dùng, nhằm đáp ứng nhu cầu sử dụng
công nghệ trong thời điểm công nghệ 4.0 đang phát triển như hiện nay
Trang 13- Thiết kế và thực hiện nội dung giải pháp
- Vận hành thử nghiệm và đánh giá kết quả
Trang 154
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1 TỔNG QUAN VỀ LARAVEL FRAMEWORK
Laravel là PHP Web Framework miễn phí, mã nguồn mở, được tạo bởi Taylor Otwell và dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc mô hình MVC và dựa trên Symfony PHP Framework Một số tính năng của Laravel như là 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, MariaDB, SQLite,
PostgreSQL,…), các tiện ích hỗ trợ triển khai và bảo trì ứng dụng
Dưới đây là 10 ưu điểm của Laravel so với các framework khác:
• Sử dụng các tính năng (feature) mới nhất của PHP Sử dụng mô hình MVC (Model – View – Controller)
• Hệ thống xác thực (Authentication) và ủy quyền (Authorization) tuyệt vời
• Tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh
• Sử dụng composer để quản lý PHP package
• Sử dụng npm để quản lý các gói Javascript, giao diện
• Hỗ trợ Eloquent ORM, Query Builder, Template Engine (Blade)
• Hỗ trợ routing mềm dẻo
Trang 16Model Gồm những Class, tạo ra các table của Database, nơi mà
Eloquent ORM thao tác với CSDL View Chứa các template được thiết kế ra và được xử lý để output ra mã
html/css cho trang web Controller Chứa các class, function để xử lý các request từ người dùng
2 TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH PHP
Trang 176
PHP - viết tắt của "Hypertext Preprocessor", là một ngôn ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã html trên client PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ ràng tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến
và được ưa chuộng
Hình 2 PHP là gì ?PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP)
Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu
Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu
Ngôn ngữ lập trình PHP là một ngôn ngữ dễ học, dễ viết nó không áp dụng các quy tắc cứng nhắc vào việc xây dựng tính năng nên bạn có thể linh hoạt giải quyết các vấn đề với các phương pháp khác nhau Ngoài ra, PHP là ngôn ngữ thông dịch do vậy bạn vẫn có thể biên dịch và chạy chương trình cho đến khi gặp phải vấn
đề So với các ngôn ngữ khác thì học PHP nhanh hơn
Trang 18ý khi sao chép cần hiểu rõ nội dung mình sao chép là gì để tránh bị cài mã độc
Với ngôn ngữ PHP thì cơ hội việc làm của bạn rất rộng mở Nhu cầu xây dựng
và quản trị Web rất cao giúp các bạn có thể làm mà không cần hiểu biết quá sâu về
kỹ thuật lập trình
Bên cạnh những ưu điểm thì PHP cũng có nhiều nhược điểm riêng của nó Nhược điểm lớn nhất là khả năng dễ dàng bị sao chép code và hack code làm cho các dự án PHP có độ an toàn không cao như các ngôn ngữ lập trình khác
Nếu bạn học C# hay Java bạn có thể làm web, ứng dụng điện thoại, phần mềm… nhưng với PHP thì bạn chỉ có thể làm web và các ứng dụng web
Cấu trúc của PHP khá đơn giản và không có có chuẩn, phiên bản PHP 7 ra đời phần nào khắc phục nhược điểm của PHP
3 TÌM HIỂU VỀ HỆ QUẢN TRỊ MYSQL
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à 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
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 CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS…
Trang 198
Hình 3 Hệ quản trị MySql là gì ?
Quá trình hình thành và phát triển của MySQL được tóm tắt như sau:
Công ty Thuy Điển MySQL AB phát triển MySQL vào năm 1994
Phiên bản đầu tiên của MySQL phát hành năm 1995
Công ty Sun Microsystems mua lại MySQL AB trong năm 2008
Năm 2010 tập đoàn Oracle thâu tóm Sun Microsystems Ngay lúc đó, đội ngũ phát triển của MySQL tách MySQL ra thành 1 nhánh riêng gọi
là MariaDB Oracle tiếp tục phát triển MySQL lên phiên bản 5.5
Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao
Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp
Trang 20Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm
với các hạn chế về chức năng mà một vào ứng dụng có thể cần
Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với
một số hệ quản trị cơ sở dữ liệu quan hệ khác
Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất
dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp
để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL
Cách vận hành chính trong môi trường MySQL như sau:
MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng đó
Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL
Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client
Trang 2110 Hình 4 Cách MySQL vận hành là khá đơn giản
Trang 2211
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 PHÂN TÍCH, ĐẶC TẢ YÊU CẦU CỦA HỆ THỐNG
• Đối với người quản trị:
- Điều hành mọi hoạt động của website
- Thêm xóa, sửa sản phẩm trong catalog chính của cửa hàng Tiếp nhận đơn đặt hàng của khách hàng
- Hiệu suất hoạt động 24/7
- Giao diện dễ nhìn, dễ sử dụng
- Cài ứng dụng Xampp
- Máy tính ít nhất phải có hệ điều hành Windows 7 trở lên
2 BIỂU ĐỒ USE CASE
Người quản trị: Người quản trị website đăng nhập vào hệ thống nhằm mục đích quản lý thông tin, có toàn quyền sử dụng cấu hình và thêm xóa sửa cơ sở dữ liệu, xem các chi tiết đơn hàng, quản lý danh mục, quản lý sản phẩm…
Khách hàng: Khách hàng xem và mua hàng tại Website Website cung cấp nhiều chức năng cho cả khách hàng vãng lai và khách hàng là hội viên.Các chức năng phục
vụ cho khách hàng nhằm giúp khách hàng có nhiều tiện ích khi xem và mua hàng như:
Trang 2312
xem tin tức, xem chi tiết sản phẩm, chon sản phẩm bỏ vào giỏ hàng, tạo đơn đặt hàng Khách hàng vãng lai có thể đăng ký tài khoản và mật khẩu để tiện cho lần giao dịch tiếp theo
- Khách hàng :
o Chức năng đăng ký tài khoản khách hàng
o Chức năng đăng nhập hệ thống
o Chức năng thoát khỏi hệ thống
o Chức năng sửa thông tin thành viên
o Chức năng tìm kiếm sản phẩm
o Chức năng thêm hàng vào giỏ hàng
o Chức năng xóa sản phẩm trong giỏ hàng
o Chức năng cập nhật giỏ hàng
o Chức năng xem sản phẩm
o Chức năng xem chi tiết sản phẩm
o Chức năng xem tin tức
- Người quản trị:
o Chức năng đăng nhập hệ thống
o Chức năng thoát khỏi hệ thống
o Chức năng quản lý danh mục sản phẩm
Trang 2413
o Chức năng xem chi tiết sản phẩm
Hình 5 Biểu đồ Use Case với tác nhân là Khách hàng
Trang 2514
Hình 6 Biểu đồ Use Case với tác nhân là Quản trị viên
Hình 7 Biểu đồ Use Case Quản lý sản phẩm
Trang 2615
Hình 8 Biểu đồ Use Case Quản lý danh mục
Hình 9 Biểu đồ Use Case Quản đơn đặt hàng
Bảng 2 Đặc tả Use Case
1 Quản lý đơn đặt hàng Thống kê các đơn đặt hàng bởi khách hàng, xem tình
trạng đơn đặt hàng như: đã giao hàng và chi tiết đơn đặt
hàng
2 Quản lý hàng Quản lý thông tin, hình ảnh sản phẩm Quản trị có thể
upload sản phẩm, nhập thông tin mô tả và tính năng sản
phẩm, giá cả, số lượng
3 Quản lý danh mục Quản lý nhiều thông tin về sản phẩm trong một loại
Nhiều sản phẩm có thể nằm trong một loại 9 và có rất
nhiều loại sản phẩm khác nhau
Trang 2716
4 Thêm sản phẩm Người quản lý có thể thêm các sản phẩm cho website
của mình bao gồm các thông tin của sản phẩm như tên
, giá, mô tả,…
5 Xóa sản phẩm Người quản lý có thẻ xóa các sản phẩm mình không
muốn bán
6 Sửa sản phẩm Người quản lý có thể sửa các thông tin của sản phẩm
nhu tên, giá, mô tả,…
Hình 10 Biểu đồ lớp
Trang 2918
Hình 12 Biểu đồ hoạt động đăng nhập
5 MÔ HÌNH HÓA TƯƠNG TÁC
Hình 13 Biểu đồ trình tự xem giỏ hàng
Trang 3019
Hình 14 Biểu đồ trình tự xóa sản phẩm trong giỏ hàng
6 THIẾT KẾ CÁC BẢNG DỮ LIỆU QUAN HỆ
Trang 337 BIỂU ĐỒ CƠ SỞ DỮ LIỆU QUAN HỆ
Hình 15 Biểu đồ cơ sở dũ liệu quan hệ
`
8 BIỂU ĐỒ THÀNH PHẦN
Trang 3423 Hình 16 Biểu đồ thành phần
9 BIỂU ĐỒ TRIỂN KHAI
Trang 3524 Hình 17 Biểu đồ triển khai
Trang 36
25
CHƯƠNG 3 KẾT QUẢ ĐẠT ĐƯỢC
1 Giao diện phía người dùng
Hình 18 Trang Chủ
Mô tả: Đây là giao diện trang chủ, nơi sẽ hiển thị các sản phẩm của trang website, sản phẩm mới, sản phẩm nổi bật, các slide, các tin tức
Trang 3726
Hình 19 Chi Tiết Sản Phẩm
Mô tả: Đây là giao diện trang chi tiết của một sản phẩm, nơi sẽ hiển thị hình ảnh của sản phẩm, giá sản phẩm, mô tả sản phẩm, người dùng có thể thêm vào giỏ hàng để mua hàng sau đó tiến hành thanh toán, người dùng có thể đánh giá mức độ hài lòng về chất lượng sản phẩm khi trải nghiệm sản phẩm, bình luận sản phẩm