Với lòng biết ơn sâu sắc và chân thành nhất, chúng emxin gửi đến thầy Nguyễn Hữu Vĩnh và quý Thầy Cô Viện Kỹ Thuật – Công Nghệ –Trường Đại học Thủ Dầu Một đã cùng với tri thức, kinh nghi
Trang 1VIỆN KỸ THUẬT CÔNG NGHỆ
Trang 2TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆ
Trang 3TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT 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: Nguyễn Hữu Vĩnh
Tên đề tài: XÂY DỰNG WEBSITE BÁN ĐỒNG HỒ EL
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)
ii
Trang 4LỜI CẢM ƠN
Suốt khoảng thời gian học tập và rèn luyện môn học đồ án chuyên ngành tại trườngĐại học Thủ Dầu Một, nhóm em đã nhận được rất nhiều sự quan tâm, giúp đỡ của thầyNguyễn Hữu Vĩnh và các bạn bè Với lòng biết ơn sâu sắc và chân thành nhất, chúng emxin gửi đến thầy Nguyễn Hữu Vĩnh và quý Thầy Cô Viện Kỹ Thuật – Công Nghệ –Trường Đại học Thủ Dầu Một đã cùng với tri thức, kinh nghiệm và tâm huyết của mình
đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập để nhóm
em có thể hoàn thành được đề tài “Website bán đồng hồ EL”
Chúng em cũng xin bày tỏ lòng biết ơn đến ban lãnh đạo của Trường Đại học ThủDầu Một và các Khoa Phòng ban chức năng đã trực tiếp và gián tiếp giúp đỡ bọn emtrong suốt quá trình học tập và nghiên cứu đề tài này
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một sinh viên, bàibáo cáo này không thể tránh được những thiếu sót Nhóm thực hiện rất mong nhận được
sự chỉ bảo, đóng góp ý kiến của các quý thầy cô để em có điều kiển bổ sung, nâng cao ýthức của mình, phục vụ tốt hơn công tác thực tế sau này
Em xin chân thành cảm ơn!
iii
Trang 5TRƯỜNG ĐH THỦ DẦU MỘT
VIỆN KỸ THUẬT CÔNG NGHỆ
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
PHIẾU ĐÁNH GIÁ PROJECT
(Đánh giá quá trình thực hiện, báo cáo văn bản và sản phẩm)
Khá 75%
Trung bình 50%
Kém 0%
Tìm kiếm và đưa rađược ý tưởng khá tốt
Chọn ý tưởng trong sốđược đề nghị
Không quantâm lựa chọn ýtưởngLập kế
hoạch thực
không cần điều
Khá hợp lý, điềuchỉnh chút ít theo
Chưa hợp lý, có điềuchỉnh theo góp ý
Không hợp lý
và không điềui
Trang 6hiện chỉnh góp ý chỉnh theo góp
ýQuá trình
Chuẩn bị được đa sốđiều kiện cho việcthực hiện, có thểkhởi động và bổsung sau
Chuẩn bị được một sốđiều kiện cho việc thựchiện nhưng cần bổsung thêm mới có thểkhởi động
Không chuẩn bịđược điều kiệnnào
Thực hiện tương đốiđúng phương pháp, saisót quan trọng và cósửa chữa
Thực hiệnkhông đúngphương pháp,sai sót khôngsửa chữa
hoạch
Triển khai khá đúng
kế hoạch, có chậmtrễ nhưng không gâyảnh hưởng
Triển khai tương đốiđúng kế hoạch, cóchậm trễ gây ảnhhưởng nhưng khắcphục được
Triển khaichậm trễ, gâyảnh hưởngkhông khắcphục đượcMức độ
Trang 8Phần 2: Đánh giá cá nhân làm việc nhóm Làm việc nhóm
Hướng dẫn: Nhóm họp thảo luận đánh giá lẫn nhau Kết quả này sẽ được sử dụng để qui đổi từ điểm của nhóm thành điểm của mỗi cá nhân, tuỳ theo % mỗi cá nhân đạt được
1) Thành viên có tham gia họp đầy đủ: 40%
Trang 10Nguyễn Hữu Vĩnh Ghi nhận của GV
(phần này do GV ghi và lưu riêng
để theo dõi, tư vấn cho cá nhân SV,
không phổ biến cho lớp, nhóm)
GÓP Ý CẢI TIẾN CHO CÁ NHÂN:
Trang 12LỜI CAM ĐOAN
Chúng tôi xin cam đoan đồ án đồ án chuyên ngành mở “Xây dựng Website bánđồng hồ EL” là công trình nghiên cứu của em và được sự hướng d•n của giảng viênNguyễ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 phần sử dụng tài liệu tham khảo trong đồ án đã được nêu rõ trong phần tàiliệ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ê Žucủ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ô Židung luâ Žn văn của mình Trường đại học Thủ Dầu Mô Žt không liên quan đến những viphạ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 23 tháng 11 năm 2021
Sinh viên
i
Trang 13TÓM TẮT
Đề tài này được thực hiê Žn dựa trên quá trình thu thâ Žp và khảo sát thông tin t• cácchuỗi cửa hàng cũng như những công ty chuyên về đồng hồ, trong suốt quá trình thu thâ Žpkết quả cho thấy đa số các hê Ž thống kinh doanh này chưa phát triển , quảng bá sản phẩmcủa mình trên nền tảng website
Do vâ Žy Website bán đồng hồ EL đã giải quyết được các vấn đề trên, giúp kháchhàng dễ tiếp câ Žn hơn với các sản phẩm cũng như giúp các chủ cửa hàng quản lý tốt hơntrong viê Žc quản lý các sản phẩm, hóa đơn thanh toán và thông tin của khách hàng.Dựa trên Laravel song song là ngôn ngữ PHP cùng với công cụ lưu trữ cơ sở dữliê Žu My SQL đã giúp cho viê Žc thực hiê Žn xây dựng webiste mô Žt cách thuâ Žn lợi để pháttriển đến người dùng
Website bán đồng hồ EL hoàn thành với các giao diê Žn đơn giản , dễ hiểu với cáctính năng giỏ hàng và lựa chọn các loại đồng hồ thông qua việc lọc sản phẩm theo loạicũng như thương hiệu giúp cho khách hàng có thể lựa chọn sản phẩm phù hợp với cánhân cũng như dễ dàng mua hàng thông qua website không tốn thời gian chi phí dichuyển của khách hàng khi phải đến trực tiếp cửa hàng Ngược lại, giao diê Žn quản lý sequản lý được tất cả thông tin sản phẩm, thương hiệu, loại sản phẩm
Sau cùng, đề tài này được triển khai mô Žt cách tương đối hoàn chỉnh với các chứcnăng khá đầy đủ của mô Žt website kinh doanh trên thị trường hiê Žn nay Tuy nhiên côngnghê Ž ngày càng phát triển nên website cũng se có những hướng phát triển nổi bâ Žt và mớihơn để người dùng tiếp câ Žn dễ dàng
Cấu trúc bài báo cáo bao gồm 4 phần:
Chương 1 Tổng Quan
Chương 2 Phân Tích Thiết Kế Hệ Thống
Chương 3 Xây Dựng Website
Chương 4 Kết Luận
ii
Trang 14This study was carried out based on the process of collecting and surveyinginformation from chain stores as well as watch companies, during the process ofcollecting results showed that most of these business systems has not yet developed andpromoted its products on the website platform
Therefore, the EL watch website has solved the above problems, making it easierfor customers to access products as well as helping store owners better manage products,payment bills billing and customer information
Based on Laravel parallel PHP language along with the database storage engine
My SQL has made building webiste a convenient way for development to users
The website selling EL watches is complete with simple, easy-to-understandinterfaces with shopping cart features and watch selection through product filtering bytype and brand to help customers choose Products suitable for individuals as well as easy
to purchase through the website do not waste time traveling costs of customers when theyhave to go directly to the store In contrast, the management interface will manage allproduct information, brands, and product types
Finally, this topic is implemented in a relatively complete way with quite completefunctions of a business website on the market today However, technology is developingmore and more, so the website will also have development directions prominent andnewer for easy access by users
The report structure consists of four parts:
Chapter 1 Overview
Chapter 2 System Design Analysis
Chapter 3 Building Websites
Chapter 4 Conclusion
iii
Trang 15MỞ ĐẦU
Công nghệ thông tin là một trong những lĩnh vực bức thiết không thể thiếu trongguồ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ểnnhư 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 doanh tronglĩnh vực này Để quảng bá sản phẩm nhiều nhà kinh doanh của các công ty lớ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ải pháp hữu hiệu nhất.Thương mại điện tử phát triển mạnh me vượt bật ở nhiều lĩnh vực trong đó có thươngmại điện tử Thương mại điện tử giúp cho con người tiết kiệp rất nhiều thời gian và chiphí trong các hoạt động mua sắm cũng như nhiều hoạt động khác Đây là hình thứctruyền tải thông tin nhanh chóng, hiệu quả và chi phí thấp Những khách hàng có nhucầu mua cho mình một cuốn sách có thể trực tiếp mua thông qua website trực tuyến,không mất nhiều thời gian mà khách hàng đã có thể sở hữu cuốn sách mà mình yêuthích
Với nhiều thành quả quan trọng, công nghệ thông tin đã được ứng dụng rộng rãitrong nhiều lĩnh vực, trở thành một trong những yếu tố quan trọng nhất của sự pháttriển kinh tế - xã hội, an ninh - quốc phòng Việc đẩy mạnh ứng dụng công nghệ thôngtin se làm thay đổi tác phong làm việc, nâng cao năng suất lao động, nâng cao dân trí,chính vì thế, công nghệ thông tin se trở thành nền kinh tế mũi nhọn của nước ta trongnhững năm tới đây
Chính vì vậy trong bài báo cáo này tôi chọn đề tài về: Website bán đồng hồ EL“ ”.
Đây là một hệ thống đơn giản nhưng đủ mạnh để cho phép nhanh chóng Thiết kế cácứng dụng bán hàng trên Internet
Trang 16MỤC LỤC
LỜI CẢM ƠN iii
LỜI CAM ĐOAN iv
TÓM TẮT v
SUMMARY vi
MỞ ĐẦU 1
MỤC LỤC 2
DANH MỤC HÌNH 5
DANH MỤC BẢNG 7
DANH SÁCH CÁC KÝ TỰ, CHỮ VIẾT TẮT 8
CHƯƠNG 1 TỔNG QUAN 9
1.1 G IỚI THIỆU ĐỀ T ÀI 9
1.1.1 Tên đề tài 9
1.1.2 Giới thiệu đề tài: 9
1.1.3 Lý do chọn đề tài: 9
1.1.4 Đối tượng và phạm vi nghiên cứu: 9
1.1.5 Chức năng 9
1.2 C ÔNG NGHỆ SỬ DỤNG 11
1.2.1 Giới thiệu PHP 11
1.2.2 PHP Framework 12
1.2.3 Giới thiệu Laravel 13
1.2.4 Giới thiệu Xampp 13
1.2.5 Giới thiệu về MySQL 14
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 15
2.1 P HÂN TÍCH 15
2.1.1 Mô tả hệ thống 15
2.1.2 Sơ đồ phân rả chức năng 15
15
2.2 T HIẾT KẾ HỆ THỐNG 15
2.2.1 Danh sách các Actor và mô tả: 16
2.2.2 Danh sách Use case và mô tả: 16
2.2.3 Vẽ Use Case: 17
2.2.4 Sơ đồ phân rã usecase 18
2.2.5 Đặc tả Use Case: 19
2.2.4.1 UC_1 “Đăng Nhập” 19
2.2.4.2 UC_2 “Quản lý Sản phẩm” 20
2.2.4.3 UC_3 “Quản lý Thương hiệu” 21
2.2.4.4 UC_4 “Quản lý Loại sản phẩm” 23
2.2.4.5 UC_5 “Xem thông tin sản phẩm” 24
2
Trang 172.2.4.6 UC_6 “Đặt hàng” 24
2.2.4.7 UC_7 “Lọc sản phẩm” 25
2.2.4.1 UC_8“Giỏ hàng” 26
2.2.4.2 UC_9“Quản lý vận chuyển” 28
2.2.4.3 UC_10“Thanh toán” 28
2.2.4.4 UC_11“Quản lý đặt hàng” 29
2.2.6 Biểu đồ hoạt động: 30
2.2.5.1 Biểu đồ hoạt động Đăng nhập: 30
2.2.5.2 Biểu đồ hoạt động Quản lý thương hiệu: 32
2.2.5.3 Biểu đồ hoạt động Quản lý loại sản phẩm: 33
2.2.5.4 Biểu đồ hoạt động Quản lý sản phẩm: 34
2.2.5.5 Biểu đồ hoạt động Xem thông tin sản phâm: 35
2.2.5.6 Biểu đồ hoạt động lọc sản phẩm: 36
2.2.5.7 Biểu đồ hoạt động đặt hàng 37
5.2.5.8 Biểu đồ hoạt động quản lý giỏ hàng 38
5.2.5.9 Biểu đồ hoạt động quản lý vận chuyển 39
5.2.5.10 Biểu đồ hoạt động thanh toán 40
5.2.5.11 Biểu đồ hoạt động quản lý đơn hàng 41
2.3 T HIẾT KẾ CƠ SỞ DỮ LIỆU 41
2.3.1 Sơ đồ quan hệ CSDL 41
2.3.2 Các bảng trong CSDL 42
CHƯƠNG 3 XÂY DỰNG WEBSITE 45
3.1 YÊU CẦU 45
3.1.1 Yêu cầu phần cứng: 45
3.1.2 Yêu cầu website: 45
3.2 GIAO DIỆN WEBSITE: 45
3.2.1 Giới thiệu website: 45
3.2.2 Giao diện và hướng dẫn sử dụng 45
3.2.2.1 Giao diện trang Home 45
3.2.2.2 Giao diện trang Đăng nhập: 46
3.2.2.3 Giao diện Admin home 46
3.2.2.4 Giao diện trang thêm thương hiệu 47
3.2.2.5 Giao diện trang thêm loại sản phẩm 47
3.2.2.6 Giao diện trang thêm sản phẩm 48
3.2.2.7 Giao diện trang edit Thương hiệu 48
3.2.2.8 Giao diện trang edit Loại sản phẩm 49
3.2.2.9 Giao diện trang edit sản phẩm 49
3.2.2.10 Giao diện trang List sản phẩm 50
3.2.2.11 Giao diện trang List thương hiệu 51
3.2.2.12 Giao diện trang List loại sản phẩm 51
Trang 183.2.2.13 Giao diện Trang Chi tiết sản phẩm 52
3.2.2.14 Giao diện trang Giỏ hàng 53
3.2.2.15 Giao diện trang Lọc sản phẩm theo loại 54
3.2.2.16 Giao diện trang Lọc sản phẩm theo thương hiệu 55
CHƯƠNG 4 KẾT LUẬN 60
1 Đ ÁNH GIÁ KẾT QUẢ 60
1.1 Chức năng đã làm được 60
1.2 Chức năng chưa làm được 60
2 H ƯỚNG PHÁT TRIỂN 60
TÀI LIỆU THAM KHẢO 61
4
Trang 19DANH MỤC HÌNH
Hình 1 Sơ đồ phân rã chức năng của website 15
Hình 2 Use Case tổng quát 18
Hình 3 Phân rã usecase Quản lý 18
Hình 4 Phân rã usecase Lọc sản phẩm 19
Hình 5 Biểu đồ hoạt động Đăng nhập 31
Hình 6 Biểu đồ hoạt động Quản lý thương hiệu 32
Hình 7 Biểu đồ hoạt động Quản lý loại sản phẩm 33
Hình 8 Biểu đồ hoạt động Quản lý sản phẩm 34
Hình 9 Biểu đồ hoạt động Xem thông tin sản phẩm 35
Hình 10 Biểu đồ hoạt động lọc sản phẩm 36
Hình 11 Biểu đồ hoạt động đặt hàng 37
Hình 12 Biểu đồ hoạt động quản lý giỏ hàng 38
Hình 13 Biểu đồ hoạt động quản lý vận chuyển 39
Hình 14 Biểu đồ hoạt động thanh toán 40
Hình 15 Biểu đồ hoạt động quản lý in hóa đơn 41
Hình 16 Sơ đồ quan hệ CSDL 42
Hình 17 Bảng sản phẩm 42
Hình 18 Bảng thương hiệu 43
Hình 19 Bảng loại sản phẩm 43
Hình 20 Bảng tài khoản 43
Hình 21Bảng order 43
Hình 22.Bảng order_detail 44
Hình 23 Bảng quận huyện 44
Hình 24 Bảng Shipping 44
Hình 25 Bảng thành phố 44
Hình26 Bảng xã phường 44
Hình 27 Giao diện trang Home 46
Hình 28 Giao diện trang Đăng nhập 46
Hình 29 Giao diện Admin home 46
Hình 30 Giao diện trang thêm thương hiệu 47
Hình 31 Giao diện trang thêm loại sản phẩm 47
Hình 32 Giao diện trang thêm sản phẩm 48
Trang 20Hình 33 Giao diện trang edit Thương hiệu 48
Hình 34 Giao diện edit Loại sản phẩm 49
Hình 35 Giao diện trang edit sản phẩm 49
Hình 36 Giao diện trang List sản phẩm 50
Hình 37 Giao diện trang List thương hiệu 51
Hình 38 Giao diện trang List loại sản phẩm 51
Hình 39 Giao diện Trang Chi tiết sản phẩm 53
Hình 40 Giao diện trang Giỏ hàng 53
Hình 41 Giao diện trang Lọc sản phẩm theo loại 54
Hình 42 Giao diện trang Lọc sản phẩm theo thương hiệu 55
Hình 43Giao diện trang thanh toán 57
Hình 44 Giao diện trang xác nhận thanh toán 57
Hình 45 Giao diện trang quản lý vận chuyển 57
Hình 46 Giao diện trang quản lý đặt hàng 58
Hình 47 Giao diện trang chi tiết đơn hàng 58
Hình 48 Giao diện hóa đơn 59
Hình 49Giao diện thống kê doanh thu 60
6
Trang 21DANH MỤC BẢNG
Bảng 1 Bảng tác nhân và mô tả 15
Bảng 2 Danh sách các Use case và mô tả 16
Bảng 3 Đặt tả usecase đăng nhập 18
Bảng 4 Đặt tả use quản lý sản phẩm 19
Bảng 5 Đặt tả usecase quản lý thương hiệu 21
Bảng 6 Đặt tả usecase quản lý loại sản phẩm 22
Bảng 7 Đặt tả usecase xem thông tin sản phẩm 23
Bảng 8 Đặt tả usecase đặt hàng 23
Bảng 9 Đặt tả usecase lọc sản phẩm 24
Bảng 10 Đặt tả usecase quản lý giỏ hàng 25
Trang 23CHƯƠNG 1 TỔNG QUAN 1.1 Giới thiệu đề Tài
1.1.1 Tên đề tài
Đề tài “Xây dựng Website bán đồng hồ EL dựa trên Laravel và ngôn ngữ PHP”
1.1.2 Giới thiệu đề tài:
Trong thời đại công nghệ 4.0 đang diễn ra song hành với nền kinh tế khôngng•ng vươn mình mạnh me, đòi hỏi mỗi doanh nghiệp phải có những giải pháp chiếnlược phù hợp đúng đắn để có thể đứng vững và phát triển Một giải pháp được đặt ra làứng dụng tiến bộ của công nghệ thông tin vào công việc quản lý kinh doanh Nhữngcông việc hàng ngày không còn là thao tác thủ công với một đống hỗn độn tài liệu nữa
mà được thay bằng những chương trình hỗ trợ cho mọi công việc Nó se giảm thiểuđược những khó khan trong công việc quản lý kinh doanh như: nhân lực, thời gian, độchính xác của thông tin…giúp cho các doanh nghiệp có thể đưa ra những quyết địnhkinh doanh chính xác, đúng thời điểm làm cho việc kinh doanh trở nên hiệu quả hơn
Do đó dự án xây dựng và phát triển một chương trình hoàn chỉnh ứng dụngnhững kỹ thuật và công nghệ mới nhất để giúp cho việc quảng bá sản phẩm của doanhnghiệp được mọi người biết đến rộng rãi trên toàn quốc
Website bán đồng hồ ELlà website cung cấp các loại đồng hồ, giúp người chủkinh doanh có thể hiển thị tất cả mặt hàng sản phẩm của mình lên trên website này,ngoài ra còn có thể giao dịch với khách hàng thông qua website cũng như quản lý sảnphẩm của công ty mình
Thu thâ Žp thông tin, ý kiến t• các cửa hàng hiê Žn có trên thị trường
Khảo sát nhu cầu và hướng phát triển của loại sản phẩm qua mạng online cũngnhư các nguồn hàng cần cung cấp cho các tiểu thương bán nhỏ le
Phương pháp nghiên cứu:
Nghiên cứu và xây dựng website với Laravel, ngôn ngữ PHP và My SQL
1.1.5 Chức năng
Trang 24Chức năng admin (Quản lý sản phẩm, loại sản phẩm và thương hiệu,đặt hàng,inhóa đơn, quản lý thông tin vận chuyển):
+ Xem danh sách loại sản phẩm
+ Cập nhập thông tin loại sản phẩm
+ Thêm loại sản phẩm
+ Xóa loại sản phẩm
Quản lý thương hiệu:
+ Xem danh sách thương hiệu
+ Cập nhập thông tin thương hiệu
+ Thêm loại thương hiệu
+ Xóa thương hiệu
Quản lý vận chuyển
+ Thêm tiền vận chuyển
+ Cập nhật tiền vận chuyển
Quản lý đặt hàng
+ Xem danh sách đơn đặt hàng
+ Xem thông tin chi tiết đơn hàng
Chức năng xem chi tiết sản phẩm:
+ Hiển thị các sản phẩm liên quan
Chức năng giỏ hàng:
+ Xem danh sách sản phẩm trong giỏ hàng
10
Trang 25+ Cập nhập số lượng sản phẩm của giỏ hàng, giá.
+ Xóa sản phẩm khỏi giỏ hàng
Chức năng thanh toán
+ Thanh toán khi nhận hàng
+ Thanh toán trực tuyến Paypal
1.2 Công nghệ sử dụng
1.2.1 Giới thiệu PHP PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngônngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứngdụ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ợpvới web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứngdụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xâydựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanhchóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và
có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lậpnên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanhnghiệp
PHP được phát triển t• một sản phẩm có tên là PHP/FI PHP/FI do RasmusLerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mãkịch bảnPerl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng.Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đếncác chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thểtruy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng webđơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem,
sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn
PHP/FI, viết tắt t• "Personal Home Page/Forms Interpreter", bao gồm một sốcác chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó có các biến kiểu
Trang 26như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng Cú pháp nàygiống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán.PHP là ngôn ngữ script được tạo cho các giao tiếp phía server Do đó, nó cóthể xử lý các chức năng phía server như thu thập dữ liệu biểu m•u, quản lý filetrên server, sửa đổi cơ sở dữ liệu và nhiều hơn nữa.
Ngôn ngữ này ban đầu được tạo ra bởi Rasmus Lerdorf để theo dõi kháchtruy cập vào trang chủ cá nhân của anh ấy Khi đã trở nên phổ biến hơn, Lerdorfphát hành nó thành dự án nguồn mở Quyết định này đã khuyến khích các nhà pháttriển sử dụng, sửa chữa, cải thiện code và cuối cùng biến nó thành ngôn ngữ script
mà chúng ta sử dụng ngày nay
Mặc dù PHP được coi là ngôn ngữ script vì mục đích chung, nhưng nó được
sử dụng rộng rãi nhất để phát triển web Điều này do một trong những tính năngnổi bật của nó – khả năng nhúng vào file HTML
Nếu không muốn người khác xem mã nguồn của mình, bạn có thể ẩn bằng ngônngữ script này Đơn giản chỉ cần bạn viết code vào file PHP, nhúng nó vào HTMLthì mọi người se không bao giờ biết được nội dung gốc
Ưu điểm của ngôn ngữ PHP
+ Dễ học – bạn có thể học dễ dàng vì nó có tài liệu tuyệt vời về các chức năngcùng các ví dụ
+ Được sử dụng rộng rãi – nó được sử dụng để tạo ra các loại nền tảng nhưthương mại điện tử, blogs, phương tiện truyền thông xã hội, v.v Thống kê chothấy 79% tất cả các trang web đều sử dụng PHP!
+ Chi phí thấp – nó là nguồn mở để bạn có thể sử dụng miễn phí
+ Cộng đồng lớn – nếu gặp phải bất k• vấn đề nào với nó, bạn không phải lo lắng
vì có rất nhiều blog PHP trên internet
+ Tích hợp với cơ sở dữ liệu như MySQL, Oracle, Sybase,…
1.2.2 PHP Framework
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 đẩynhanh 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
Nhắc đến sự hỗ trợ mạnh me của cộng đồng cho ngôn ngữ lập trình PHP thìchắc chắn phải kể tới sự đa dạng của các PHP Framework: Laravel, Symfony,Codeigniter, Cake PHP Các PHP Framework đều được xây dựng theo chuẩn mô hìnhMVC (Model –View –Controller) và cung cấp rất nhiều lớp hỗ trợ xử lý về bảo mật,phân quyền, captcha, view helper, module manager, database, service khi đó các lậptrình viên se xây dựng, phát triển website một cách dễ dàng và nhanh chóng.PHPframework làm cho sự phát triển của những ứng dụng web viết bằ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 đỡ các bạn thúc đẩy nhanhchóng quá trình phát triển ứng dụng
Ngoài ra Framework còn giúp những người mới bắt đầu có thể xây dựng cácứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) vàgiao diện (HTML) một cách riêng biệt Điều này cho phép bạn dành nhiều thời gian để
12
Trang 27tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong mộtproject Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được kểđến là Model View Controller (MVC) MVC là 1 mô hình (kiến trúc) trong lập trình,cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phầnriêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng le.Trong cụm t• MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ(business logic), View(V) được hiểu là phần xử lý lớp giao diện (presentation layer),
và Controller(C) làm nhiệm vụ lọc các request đc gọi t• user, có chức năng như 1route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp Về cơbản, MVC chia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn có thể làm việc trênt•ng thành phần riêng le, trong khi những thành phần khác se không bị ảnh hưởng tới.Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp hơn
1.2.3 Giới thiệu Laravel Laravel là một PHP Framework mã nguồn mở miễn phí, được phát triển
bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm
2011 Laravel ra đời nhằm mục đích hỗ trợ phát triển các ứng dụng web, dựa trên môhình MVC (Model – View – Controller)
Laravel hiện được phát hành theo giấy phép MIT, với source code được lưu trữ
tại Gitthub Mặc dù ra đời muộn hơn so với các đối thủ, tuy nhiên Laravel đã thật sựtạo thành một làn sóng lớn, được đánh giá tốt và sử dụng rộng rãi nhất hiện nay Biểu
đồ dưới đây cho thấy sự tăng trưởng về số lượng sao trên Github của Laravel so vớicác Framework khác:
Phiên bản đầu tiên của Laravel được Taylor Otwell tạo ra vào tháng 6 năm
2011 như một giải pháp thay thế cho CodeIgniter Với framework này, lập trình viênđược hỗ trợ nhiều tính năng mới me, hiệu quả và dễ thực hiện hơn Cho đến nay,Laravel đã được phát triển đến phiên bản 5.8 với nhiều cải tiến mới me hơn
Ưu điểm của Laravel
+ Sử dụng Laravel giúp các lập trình viên tiếp cận những tính năng mớinhấ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 của Laravel rất thân thiện với các lập trình viên với đadạ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
+ 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âyhoặc local
+ Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trongthờ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ọ
+ 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ớivốn kiến thức cơ bản nhất về lập trình với PHP
+ Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh me để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:
Nhược điểm
Trang 28+ So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm Vấn
đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa cácphiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạnhoặc phá vỡ
+ Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trởnên chậm chạp
1.2.4 Giới thiệu Xampp Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợpsẵn Apache PHP MySQL FTP Server Mail Server, , , , và các công cụnhư phpMyAdmin Không như Appserv, Xampp có chương trình quản lý khá tiện lợi,cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất k• lúc nào.[2]
Xampp là một mã nguồn mở máy chủ web đa nền được phát triển bởi ApacheFriends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpretersdành cho những đối tượng sử dụng ngôn ngữ PHP và Perl Xampp là viết tắtcủa Cross-Platform (đa nền tảng-X), Apache (A), MariaDB (M), PHP (P) và Perl (P)
Nó phân bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ramáy chủ web local để kiểm tra và triển khai trang web của mình Tất cả mọi thứ cầncho phát triển một trang web - Apache (ứng dụng máy chủ), Cơ sở dữ liệu (MariaDB)
và ngôn ngữ lập trình (PHP) được gói gọn trong 1 tệp Xampp cũng là 1 đa nền tảng vì
nó có thể chạy tốt trên cả Linux, Windows và Mac Hầu hết việc triển khai máy chủweb thực tế đều sử dụng cùng thành phần như XAMPP nên rất dễ dàng để chuyển t•máy chủ local sang máy chủ online
1.2.5 Giới thiệu về MySQL
MySQL là hệ quản trị cơ sở dữ liệutự 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à hệ quản trị 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ậpCSDL trên internet Người dùng có thể tải về MySQL miễn phí t• trang chủ MySQL
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ềuhành dòng Windows Linux, , Mac OS X, Unix FreeBSD NetBSD Novell, , ,
NetWare, SGI Irix, Solaris SunOS, ,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).MySQL được sử dụng cho việc bổtrợ NodeJs, PHP Perl, , và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trêncác trang web viết bằng NodeJs, PHP hay Perl,
14
Trang 29CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Phân tích
2.1.1 Mô tả hệ thống
Hiện nay, việc tạo ra những sản phẩm tin học phục vụ cho kinh doanh ở cácdoanh nghiệp t• nhỏ đến lớn là một điều cần phải quan tâm, đặc biệt là các phần mềmquản lý Việc quản lý bán hàng online là một trong những công việc hết sức quantrọng Các doanh nghiệp nhỏ là những đơn vị rất công cụ hỗ trợ của tin học để gópphần quảng bá sản phẩm, phát triển kinh doanh online qua mạng góp phần tăng doanhthu của doanh nghiệp và chuyên nghiệp hơn
Yêu cầu đặt ra:
Khách hàng có thể tìm kiếm sản phẩm phù hợp và nhanh chóng
Khách hàng có thể thêm sản phẩm vào giỏ hàng và tạo đơn đặt hàng
Khách hàng có thể thanh toán
Quản lý có thể quản lý sản phẩm
Quản lý có thể quản lý loại sản phẩm
Quản lý có thể quản lý thương hiệu sản phẩm
Quản lý có thể quản lý thông tin vận chuyển
In hóa đơn để thanh toán
2.1.2 Sơ đồ phân rả chức năng
Hình 1 Sơ đồ phân rã chức năng của website
2.2 Thiết kế hệ thống
Trang 302.2.1 Danh sách các Actor và mô tả:
Các thông tin về Actor và Use case của đề tài được mô tả trong bảng 1
Đ t hàngặ
Gi hàngỏThanh toán
ph mẩ
Thếm, c p nh t, xóaậ ậ ,Xem
16
Trang 31UC_4 Admin Qu n lý S n ph mả ả ẩ Thếm, c p nh t, xóaậ ậ ,
PaypalThanh toán tr c tếếpự
v i t ng tếền câềnớ ổthanh toán
Trang 32Hình 2 Use Case tổng quát
2.2.4 Sơ đồ phân rã usecase
Phân rã usecase Quản lý
Hình 3 Phân rã usecase Quản lý
18
Trang 33 Tr ng thái h thôống tr ạ ệ ướ c khi use-case đ ượ c s d ng: ử ụ
Tài kho n đã tôền t iả ạ
Tr ng thái h thôống khi use-case đ ạ ệ ượ c s d ng: ử ụ
Thành công: Màn hình hi n th đăng nh p thành công vào trang adminể ị ậ
Trang 34Thâết b i: H thôếng báo lôỗi ạ ệ
Dòng s ki n chính ự ệ
1 Admin ch n icon loginọ
2 H thôếng hi n th form đăng nh pệ ể ị ậ
3 Admin nh p các thông tn câền thiếếtậ
4 H thôếng Port ki m tra thông tn đăng nh p v i dbệ ể ậ ớ
5 H thôếng chuy n màn hình làm vi c sang trang adminệ ể ệ
Dòng s ki n ph : ự ệ ụ
4.1 H thôếng ki m tra tài kho n không tôền t iệ ể ả ạ
4.2H thôếng hi n th thông báo lôỗiệ ể ị
Tr ng thái h thôống tr ạ ệ ướ c khi use-case đ ượ c s d ng: ử ụ
AC ph i đăng nh p vào h thôếngả ậ ệ
Tr ng thái h thôống khi use-case đ ạ ệ ượ c s d ng: ử ụ
Thành công: Tác nhân thay đ i d li u thành côngổ ữ ệ
Thâết b i: H thôếng báo lôỗi ạ ệ
20
Trang 35 Dòng s ki n chính ự ệ
1 AC đăng nh pậ
2 AC ch n nav-lef ch n qu n lýọ ọ ả
3 AC ch n ch c năng thếmọ ứ
3.1 AC nh p thông tn câền thiếếtậ
3.2 H thôếng kết nôếi db và l u d li u vào dbệ ư ữ ệ
4 AC ch n ch c năng editọ ứ
4.1 H thôếng in ra màn hình thông tn c a s n ph mệ ủ ả ẩ
4.2 AC ch nh s a thông tn đăng nh pỉ ử ậ
5 AC ch n ch c năng Detailọ ứ
5.1 H thôếng hi n th tâết c thông tn c a s n ph m ra màn hìnhệ ể ị ả ủ ả ẩ
5.2 H thôếng hi n thi thếm buton editệ ể
5.3 AC nhâếp vào edit
2 H thôếng ki m tra không kh p ệ ể ớ
3 H thôếng báo lôỗiệ
Yêu câầu đ c bi t ặ ệ ID Brand và ID Caterogy ph i có trongả
Trang 36 Tr ng thái h thôống tr ạ ệ ướ c khi use-case đ ượ c s d ng: ử ụ
AC ph i đăng nh p vào h thôếngả ậ ệ
Tr ng thái h thôống khi use-case đ ạ ệ ượ c s d ng: ử ụ
Thành công: Tác nhân thay đ i d li u thành côngổ ữ ệ
Thâết b i: H thôếng báo lôỗi ạ ệ
Dòng s ki n chính ự ệ
1 AC đăng nh pậ
2 AC ch n nav-lef ch n qu n lýọ ọ ả
3 AC ch n ch c năng thếmọ ứ
3.3 AC nh p thông tn câền thiếếtậ
3.4 H thôếng kết nôếi db và l u d li u vào dbệ ư ữ ệ
4 AC ch n ch c năng editọ ứ
4.3 H thôếng in ra màn hình thông tn c a s n ph mệ ủ ả ẩ
4.4 AC ch nh s a thông tn đăng nh pỉ ử ậ
5 AC ch n ch c năng Detailọ ứ
5.5 H thôếng hi n th tâết c thông tn c a s n ph m ra màn hìnhệ ể ị ả ủ ả ẩ
5.6 H thôếng hi n thi thếm buton editệ ể
5.7 AC nhâếp vào edit
5 H thôếng ki m tra không kh p ệ ể ớ
6 H thôếng báo lôỗiệ
Yêu câầu đ c bi t ặ ệ ID Brand và ID Caterogy ph i có trongả
h thôếngệ
Đi m m r ngể ở ộ
Tâền suâết s d ngử ụ Nhiếều
Bảng 5 Đặt tả usecase quản lý thương hiệu
22
Trang 372.2.4.4 UC_4 “Quản lý Loại sản phẩm”
Use-case iD UC_4
Tên Use-case Qu n lýả lo i s n ph mạ ả ẩ
Tác nhân Admin
Mô t : ả Dùng đ qu n lý h thôếngể ả ệ
Tr ng thái h thôống tr ạ ệ ướ c khi use-case đ ượ c s d ng: ử ụ
AC ph i đăng nh p vào h thôếngả ậ ệ
Tr ng thái h thôống khi use-case đ ạ ệ ượ c s d ng: ử ụ
Thành công: Tác nhân thay đ i d li u thành côngổ ữ ệ
Thâết b i: H thôếng báo lôỗi ạ ệ
Dòng s ki n chính ự ệ
1 AC đăng nh pậ
2 AC ch n nav-lef ch n qu n lýọ ọ ả
3 AC ch n ch c năng thếmọ ứ
3.5 AC nh p thông tn câền thiếếtậ
3.6 H thôếng kết nôếi db và l u d li u vào dbệ ư ữ ệ
8 H thôếng ki m tra không kh p ệ ể ớ
9 H thôếng báo lôỗiệ
Trang 38 Yêu câầu đ c bi t ặ ệ ID Brand và ID Caterogy ph i có trongả
h thôếngệ
Đi m m r ngể ở ộ
Tâền suâết s d ngử ụ Nhiếều
Bảng 6 Đặt tả usecase quản lý loại sản phẩm
2.2.4.5 UC_5 “Xem thông tin sản phẩm”
Use-case iD UC_5
Tên Use-case Xem thông tn s n ph mả ẩ
Tác nhân Admin,Khách hàng
Mô t : ả Dùng đ ể xem thông tn s n ph mả ẩ
Tr ng thái h thôống tr ạ ệ ướ c khi use-case đ ượ c s d ng: ử ụ
Đã truy c p vào websiteậ
Tr ng thái h thôống khi use-case đ ạ ệ ượ c s d ng: ử ụ
4.1 H thôếng ki m tra thông tn s n ph m lôỗiệ ể ả ẩ
4.2H thôếng hi n th thông báo lôỗiệ ể ị
Yêu câầu đ c bi t ặ ệ
Đi m m r ngể ở ộ
Tâền suâết s d ngử ụ Nhiếều
Bảng 7 Đặt tả usecase xem thông tin sản phẩm