Trong thời gian được học tập và thựchành dưới sự hướng dẫn của thầy, chúng em không những thu được rất nhiều kiến thức bổích, mà còn được truyền sự say mê và thích thú đối với việc phát
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
ĐỒ ÁN LẬP TRÌNH WEB NÂNG CAO
ĐỀ TI:
XÂY DỰNG TRANG WEB BÁN ĐỒ ĐIỆN TỬ BẰNG PHP
Sinh viên thực hiện : NGUYỄN NHƯ MẠNH
Giảng viên hướng dẫn : LÊ HON
Chuyên ngành : CÔNG NGHỆ PHẦN MỀM
Hà Nội, tháng5 năm 2023
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
NỘI DUNG 2
CHƯƠNG I MỞ ĐẦU 2
1.1 Lý do chọn đề tài 2
1.2 Đối tượng nghiên cứu 2
1.3 Đối tượng khảo sát 3
1.4 Giới hạn và phạm vi nghiên cứu 3
1.5 Mục tiêu nghiên cứu 4
1.6 Phương pháp nghiên cứu 4
CHƯƠNG II TỔNG QUAN VỀ PHP LARAVEL 5
2.1 Giới thiệu về PHP 5
2.2 Laravel 5
2.3 Những tính năng nổi bật của laravel 5
CHƯƠNG III PHÂN TÍCH YÊU CẦU 7
3.1 Các use-case 7
3.1.1 Use case cho toàn bộ hệ thống 7
3.1.2 Biểu đồ use case cho quản trị hệ thống 8
3.1.3 Biểu đồ use case cho chức năng phản hồi 9
3.1.4 Use case cho chức năng thêm sản phẩm vào giỏ và thanh toán 10
3.1.5 Use case cho việc đăng nhập đăng ký 11
3.2 Biểu đồ trình tự 12
3.2.1 Biểu đồ trình tự cho việc đăng nhập 12
3.2.2 Biểu đồ trình tự cho việc thêm sản phẩm vào giỏ hàng 12
3.2.3 Biểu đồ trình tự cho việc phản hồi 13
3.2.4 Biểu đồ trình tự cho việc quản lý hệ thống 13
3.2.5 Biểu đồ trình tự cho việc tìm kiếm 14
CHƯƠNG IV THIẾT KẾ CỞ SỞ DỮ LIỆU 15
4.1 Diagram 15
4.2 Xây dựng các bảng CSDL 16
4.2.1 Bảng user 16
4.2.2 Bảng Product 17
4.2.3 Bảng Category 18
4.2.4 Bảng Order 18
4.2.5 Bảng Partner 19
4.2.6 Bảng Style 19
4.2.7 Bảng Feedback 20
Trang 4CHƯƠNG V THIẾT KẾ GIAO DIỆN 21
5.1 Giao diện trang chủ 21
5.2 Giao diện danh mục các sản phẩm 21
5.3 Giao diện tìm kiếm 22
5.4 Giao diện giỏ hàng 22
5.5 Trang quản lý sản phẩm 23
5.6 Trang thêm mới một sản phẩm 23
5.7 Trang chỉnh sử thông tin 1 sản phẩm 24
CHƯƠNG VI ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 25
6.1 Kết quả đạt được 25
6.2 Ưu/nhược điểm của đề tài 25
6.3 Hướng phát triển của đề tài 26
KẾT LUẬN 27
Trang 5DANH MỤC CÁC HÌ
Hình 3 1 Usecase cho toàn bộ hệ thống 7
Hình 3 2 Use case cho quản trị hệ thống 8
Hình 3 3 Use case cho chức năng phản hồi 9
Hình 3 4 Use case cho chức năng thêm giỏ hàng 10
Hình 3 5, Use case cho chức năg đăng nhập đăng ký 11
Hình 3 6 Biểu đồ trình tự cho việc đăng nhập 12
Hình 3 7 Biểu đồ trình tự cho việc thêm sản phẩm vào giỏ hàng 12
Hình 3 8 Biểu đồ trình tự cho việc phản hồi 13
Hình 3 9 Biểu đồ trình tự cho việc quản lý hệ thống 13
Hình 3 10 Biểu đồ trình tự cho việc tìm kiếm 14
Y Hình 4 1 Diagram 15
Hình 4 2 Bảng user 16
Hình 4 3 Bảng product(sản phẩm) 17
Hình 4 4 Bảng danh mục sản phẩm 18
Hình 4 5 Bảng đơn hàng 18
Hình 4 6 Bảng đối tác 19
Hình 4 7 Bảng kiểu 19
Hình 4 8 Bảng phản hồi 20
Hình 5 1 Giao diện trang chủ 21
Hình 5 2 Giao diện danh mục các sản phẩm 21
Hình 5 3 Giao diện tìm kiếm 22
Hình 5 4 Giao diện giỏ hàng 22
Hình 5 5 Trang quản lý sản phẩm 23
Hình 5 6 Trang thêm mới một sản phẩm 23
Hình 5 7 Trang chỉnh sử thông tin một sản phẩm 24
Trang 6LỜI CẢM ƠNTrên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ,giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian đã
và đang học tập tại trường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ củaquý Thầy Cô, gia đình và bạn bè
Và đặc biệt, trong học kỳ này Em xin cảm ơn thầy Lê Hoàn đã hướng dẫn, góp ý,thảo luận để bài báo cáo này của em được hoàn thiện Trong thời gian được học tập và thựchành dưới sự hướng dẫn của thầy, chúng em không những thu được rất nhiều kiến thức bổích, mà còn được truyền sự say mê và thích thú đối với việc phát triển một website.Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên, do bước đầu
đi vào thực tế, tìm hiểu và xây dựng đồ án trong thời gian có hạn, với lượng kiến thức cònhạn chế, nhiều bỡ ngỡ, nên đồ án “Xây dựng website bán đồ điện tử” chắc chắn sẽ khôngthể tránh khỏi những thiếu sót Em rất mong nhận được sự quan tâm, thông cảm và nhữngđóng góp quý báu của các thầy cô và các bạn để đồ án này ngày càng hoàn thiện hơn.Sau cùng, em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông Tin dồi dàosức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thứccho thế hệ mai sau
Trân trọng!
Trang 7NỘI DUNGCHƯƠNG I MỞ ĐẦU
1.1 Lý do chọn đề tài
Công nghệ thông tin là một trong những lĩnh vực bức thiết không thể thiếutrong guồng máy kinh tế của nhiều nước trên thế giới đặc biệt là những nướcđang phát triển như Việt Nam hiện nay
Việc cập nhập thông tin là rất cần thiết với nhà quản lý, nhà kinh doanhtrong lĩnh vực này Để quảng bá sản phẩm nhiều nhà kinh doanh của các công tylớn đã có chiến lược quảng bá sản phẩm trên các thông tin đại chúng như báo,radio, TV trong đó quảng bá sản phẩm trên website là một trong những giảipháp hữu hiệu nhất.Đây là hình thức truyền tải thông tin nhanh chóng, hiệu quả
và chi phí thấp
Với nhiều thành quả quan trọng, công nghệ thông tin đã được ứng dụngrộng rãi trong nhiều lĩnh vực, trở thành một trong những yếu tố quan trọng nhấtcủa sự phát triển kinh tế - xã hội, an ninh - quốc phòng Việc đẩy mạnh ứngdụng công nghệ thông tin sẽ làm thay đổi tác phong làm việc, nâng cao năngsuất lao động, nâng cao dân trí,
…Chính vì thế, công nghệ thông tin sẽ trở thành nền kinh tế mũi nhọn của nước
ta trong những năm tới đây
Qua quá trình được học trên lớp và tìm hiểu về môn học mã nguồn mởnhóm em đã áp dụng những kiến thức đã học để xây dựng hệ thống “Websitebán điện tử” với sự hướng dẫn tận tình của giáo viên hướng dẫn Ngoài ra làmbáo cáo chuyên đề này cũng giúp cho bản thân nâng cao khả năng lập trình vàrút được nhiều kinh nghiệm cho các trang web sau Do kiến thức và kinh nghiệmlập trình, thiết kế còn hạn chế nên phần mềm của nhóm em còn có nhiều thiếuxót Rất mong được sự đóng góp của thầy cô và các bạn để phần mềm của nhómđược hoàn thiện hơn nữa
1.2 Đối tượng nghiên cứu
Người sử dụng: là tất cả những người có nhu cầu mua đồ điện tử Mọingười ai cũng có thể tham gia
- Công cụ: Microsof Visual Studio code 2022, MYSQL trên PHP myadmin
- Ngôn ngữ lập trình PHP, sử dụng Laravel framework
2
Trang 81.3 Đối tượng khảo sát
Nhân viên của hàng kinh doanh đồ điện tử A
1.4 Giới hạn và phạm vi nghiên cứu
Thực hiện thao tác tìm kiếm nhanh, hiệu quả bên cạnh đó còn giúp chokhách hàng tiết kiệm được thời gian, tiết kiệm được chi phí của các doanhnghiệp
Có chức năng tiện lợi đó là chức năng giỏ hàng, thống kê số lượng mặthàng mà khách hàng chọn để thực hiện giao dịch mua bán, khách hàng có thểthay đổi số lượng hàng cần mua
Theo dõi đơn hàng của mình, gửi ý kiến đóng góp, phản hồi lại cho hệ thống
Giúp người quản lý:
Trong vấn đề quản lý khách hàng, lượng người truy cập, quản lý thông tin cũng như quản lý về nguồn tìm kiếm của khách hàng
Thêm, sửa, xóa thông tin sản phẩm và thông tin khách hàng, kiểm tra và xử
lý đơn hàng
- Phạm vi nghiên cứu
+ Các chức năng chính của chương trình:
Bán hàng: Sau khi người dùng truy cập vài hệ thống họ có thể xemthông tin về các mặt hàng, thêm vào giỏ hàng những món hàng mà
họ thấy ưng ý, phù hợp với yêu cầu cầu của họ
Giỏ hàng: Khi người dùng hệ thống đã tìm được những sản phẩm phùhợp với nhu cầu của mình có thể cho vào giỏ hàng Giỏ hàng là nơingười dùng có thể xem lại các món ăn mà mình đã lựa chọn màkhông phải mất công tìm kiếm
Trang 9lại Đồng thời ở đây họ có thể đặt mua đồ ăn, thêm, sửa, xóa các món
ăn trong giỏ hàng và biết được số tiền mà họ phải trả cho số sách đó
Tìm kiếm: Chức năng này giúp người dùng có thể tìm kiếm nhanhchóng khi mà họ đã định hướng mình cần gì …
Đăng nhập, đăng kí: Hai chức năng này giúp người dùng có thể đặtmua được sách của hệ thống
Quản trị: Cập nhật, sửa, xóa, thêm, bổ sung các thông tin về sách.Quản lý người dùng, quản lý việc bán, mua, giao hàng, liên hệ, tổnghợp ý kiến của khách hàng…
1.5 Mục tiêu nghiên cứu
Giới thiệu, quảng bá về cửa hàng bán đồ điện tử Cách liên hệ, địa chỉ, những điều khoản khi khách hàng có nhu cầu mua hàng tại cửa hàng
Giúp khách hàng có thể tìm thấy sản phẩm phù hợp với mục đích của mình,…
Tiếp nhận phản ánh của khách hàng về sản phẩm cũng như phương pháp làm việc của cửa hàng thông qua website
1.6 Phương pháp nghiên cứu
- Tìm kiếm tài liệu về PHP laravel
- Tham khảo các Website bán hàng trên mạng
- Vận dụng vào việc thiết kế và xây dựng ứng dụng Web
- Thu thập các tài liệu liên quan đến nghiệp vụ quản lý website bán đồ điện tử
- Tham khảo tài liệu, sau đó coding thành phần mềm trên Visual StudioCode 2022 và hoàn thiện chương trình
4
Trang 10CHƯƠNG II TỔNG QUAN VỀ PHP LARAVEL
2.1 Giới thiệu về PHP
PHP: Hypertext Preprocessor, thường được viết tắt thành 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áttriển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát
Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưuhó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ôn ngữ khác nênPHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
2.2 Laravel
Được phát triển dựa trên mô hình MVC, Laravel làmột PHP Framework mã nguồn mở miễn phí với cú pháp rõ ràng, mạch lạc.MVC (Model-View-Controller) là mô hình phân bố source code thành 3 phần Mỗithành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác Cụ thểlà:
Model : Đây là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản
trị cơ sở dữ liệu (mysql, mssql…) Thành phần Model bao gồm cácclass/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu,thêm – xóa – sửa dữ liệu, …
View : Đây là nơi chứa những giao diện như nút bấm, khung nhập, menu,
hình ảnh, … Thành phần View sẽ đảm nhiệm nhiệm vụ hiển thị dữ liệu vàgiúp người dùng tương tác với hệ thống
Controller : Đây là nơi tiếp nhận những yêu cầu xử lý được gửi từ người
dùng Thành phần Controller sẽ gồm những class/ function xử lý nhiềunghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết và hiển thị dữ liệu
đó ra cho người dùng qua lớp View
Alison.com, Barchart.com, … và nhiều trang web lớn trên thế giới đã được pháttriển trên nền tảng Laravel Tại Việt Nam, Laravel được sử dụng phổ biến vớicộng đồng rộng lớn chiếm tỷ lệ hơn 70% người dùng
2.3 Những tính năng nổi bật của laravel
Nâng cấp, cài đặt, … với Composer
Thao tác với cú pháp đẹp mắt và đơn giản với Eloquent ORM
Hỗ trợ biến Laravel thành một web service API với Restful API
Cung cấp các lệnh cần thiết để phát triển ứng dụng với Artisan
Trang 11 Hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng, tạo mốiquan hệ giữa các bảng, với Migrations.
Cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu, … vớiAuthentication
Hỗ trợ test lỗi để sửa chữa với Unit Testing
6
Trang 12CHƯƠNG III PHÂN TÍCH YÊU CẦU
3.1 Các use-case
3.1.1 Use case cho toàn bộ hệ thống
Biểu đồ usecase tổng quát gồm có 2 actor là khách hàng và người quản trị hệthống
- Khách hàng khi tương tác với trang web thì có thể thực hiện các công việc sauđây:
+ Liệt kê các sản phẩm hiện có
+ Đăng ký là thành viên của cửa hàng
+ Đăng nhập vào trang web
+ Tìm kiếm sản phẩm
+ Đặt hàng qua mạng
+ Gửi thông tin yêu cầu tới cửa hàng
+ Thực hiện thanh toán qua mạng
+ Đánh giá
- Người quản trị hệ thống (admin) thực hiện các công việc sau trong hệ thống+ Quản lý khách hàng
+ Phân quyền sử dụng
+ Quản lý sản phẩm: quản lý nhập , cập nhật, xoá sản phẩm
+ Quản lý hoá đơn: Quản lý hoá đơn nhập, quản lý hoá đơn bán
Trang 13Hình 3 1 Usecase cho toàn bộ hệ thống
3.1.2 Biểu đồ use case cho quản trị hệ thống
Hình 3 2 Use case cho quản trị hệ thống
Mô tả tóm tắt: use case này cho phép người dùng(ở đây là người quản trị)
có thể quản lý tìm kiếm, thêm, sửa xóa thông tin của các đối tượng cần quản lý.-Dòng sự kiện chính :
+Người dùng chọn loại đối tượng cần thao tác
+Hệ thống hiển thị trang quản lý tương ứng với loại đối tượng
+Người dùng thực hiện tìm kiếm, thêm, sửa , xóa đối với đối tượng cầnthao tác
8
Trang 14+Hệ thống thực hiện truy vấn đối tượng cụ thể mà người dùng cần thaotác rồi hiển thị thông tin cho người dùng
+Người dùng thực hiện các thao tác chỉnh sửa rồi bấm lưu
+Hệ thống lưu lại thông tin người dùng đã chỉnh sửa và thông báo kết quảvới người dùng
-Dòng sự kiện khác:
+Người dùng thực hiện việc hủy bỏ thao tác hiện tại
+Người dùng bấm thoát
3.1.3 Biểu đồ use case cho chức năng phản hồi
Hình 3 3 Use case cho chức năng phản hồi
Mô tả tóm tắt: Khách hàng thực hiện gửi phản hồi về sản phẩm dưới phầnthông tin của sản phẩm, tương tự như comment , đánh giá về sản phẩm ở một sốtrang web thương mại điện tử
Trang 153.1.4 Use case cho chức năng thêm sản phẩm vào giỏ và thanh toán
Hình 3 4 Use case cho chức năng thêm giỏ hàng
Mô tả tóm tắt: Khách hàng xem thông tin sản phẩm và bấm đặt hàng, sản phẩm được chuyển vào giỏ hàng , khách hàng bấm thanh toán trong giỏ hàng hệ thống tính tổng rồi in ra hóa đơn
-Dòng sự kiện chính :
+Khách hàng bấm thêm sản phẩm vào giỏ hàng
+Hệ thống thực hiện thêm sản phẩm vào giỏ hàng và lưu thông tin giỏ hàng của người dùng
+Người dùng bấm thanh toán
+Hệ thống in ra hóa đơn và lưu vào lịch sử của người dùng
11
Trang 163.1.5 Use case cho việc đăng nhập đăng ký
Hình 3 5, Use case cho chức năg đăng nhập đăng ký
-Mô tả tóm tắt: người dùng đăng ký tài khoản và đăng nhập để xác nhận danh tính
Trang 173.2 Biểu đồ trình tự
3.2.1 Biểu đồ trình tự cho việc đăng nhập
Hình 3 6 Biểu đồ trình tự cho việc đăng nhập
3.2.2 Biểu đồ trình tự cho việc thêm sản phẩm vào giỏ hàng
Hình 3 7 Biểu đồ trình tự cho việc thêm sản phẩm vào giỏ hàng
13
Trang 183.2.3 Biểu đồ trình tự cho việc phản hồi
Hình 3 8 Biểu đồ trình tự cho việc phản hồi
3.2.4 Biểu đồ trình tự cho việc quản lý hệ thống
Hình 3 9 Biểu đồ trình tự cho việc quản lý hệ thống
Trang 193.2.5 Biểu đồ trình tự cho việc tìm kiếm
Hình 3 10 Biểu đồ trình tự cho việc tìm kiếm
15
Trang 20CHƯƠNG IV THIẾT KẾ CỞ SỞ DỮ LIỆU
4.1 Diagram
Hình 4 1 Diagram
Trang 214.2 Xây dựng các bảng CSDL
4.2.1 Bảng user
Hình 4 2 Bảng user
17
Trang 224.2.2 Bảng Product
Hình 4 3 Bảng product(sản phẩm)
Trang 244.2.5 Bảng Partner
Hình 4 6 Bảng đối tác
4.2.6 Bảng Style
Hình 4 7 Bảng kiểu
Trang 254.2.7 Bảng Feedback
Hình 4 8 Bảng phản hồi
21
Trang 26CHƯƠNG V THIẾT KẾ GIAO DIỆN
5.1 Giao diện trang chủ
Hình 5 1 Giao diện trang chủ
5.2 Giao diện danh mục các sản phẩm
Hình 5 2 Giao diện danh mục các sản phẩm
Trang 275.3 Giao diện tìm kiếm
Hình 5 3 Giao diện tìm kiếm
5.4 Giao diện giỏ hàng
Hình 5 4 Giao diện giỏ hàng
23
Trang 285.5 Trang quản lý sản phẩm
Hình 5 5 Trang quản lý sản phẩm
5.6 Trang thêm mới một sản phẩm
Hình 5 6 Trang thêm mới một sản phẩm
Trang 295.7 Trang chỉnh sử thông tin một sản phẩm
Hình 5 7 Trang chỉnh sử thông tin một sản phẩm
25
Trang 30CHƯƠNG VI ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
6.1 Kết quả đạt được
- Khảo sát thực tế hệ thống bán hàng trực tuyến ở một số trang web Tìm hiểuđược cách thức, nghiệp vụ trong xây dựng website bán hàng trực tuyến nói chung vànhu cầu cụ thể về “Website bán đồ điện tử”
- Đánh giá tính chính xác, khoa học trong cách thức xây dựng hệ thống của
“Website bán Đồ đồ điện tử”, phát huy những ưu điểm, khắc phục những nhược điểmcòn tồn tại để xác định hướng đi và xây dựng các chức năng cho chương trình sao chophù hợp
- Phân tích thiết kế hệ thống, lập được biểu đồ usecase, biểu đồ lớp, biểu
đồ hoạt động cho các chức năng chính trên cơ sở thực tế của hệ thống “Website bán
đồ điện tử”
- Phân tích, tìm hiểu và thiết kế cơ sở dữ liệu hợp lý
- Thiết kế giao diện chính cho chương trình và xây dựng “Website bán đồ điệntử” với đầy đủ tính năng mà yêu cầu đặt ra
6.2 Ưu/nhược điểm của đề tài
Ưu điểm:
- Đề tài mang tính gần gũi với sinh viên
- Hoạt động trên nhiều môi trường
- Đề tài có khả năng ứng dụng thành công cao
- Website online với giao diện thân thiện, dễ sử dụng
- Nội dung dễ hiễu , tương tác dễ dàng
Khuyết điểm:
- Tư duy làm web của chưa được phát triển ở mức cao dẫn đến khả năngtương tác môi trường mạng vẫn còn hạn chế
- Môi trường ứng dụng còn hạn chế do không có đủ kinh phí thử nghiệm trên
hệ thống thực dẫn tới đề tài còn mang tính phát triển