- Hệ thống cần thực hiện được các chức năng sau: + Quản lý người mua hàng + Quản lý sản phẩm + Quản lý bán hàng + Quản lý báo cáo + Thống kê người dùng, sản phẩm và đơn hàng 1.2 Yêu cầu
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2TP HỒ CHÍ MINH, tháng 6 năm 2021LỜI CÁM ƠN
Đồ án này đạt kết quả tốt đẹp, chúng em đã nhận được sự hỗ trợ, giúp đỡ của nhiểu
cơ quan, tổ chức, cá nhân Với tình cảm sâu sắc, chân thành, cho phép chúng em đượcbày tỏ lòng biết ơn sâu sắc đến tất cả các cá nhân và cơ quan đã tạo điều kiện giúp đỡ
em trong quá trình học tập và nghiên cứu đề tài
Trước hết chúng em xin gửi tới các thầy cô khoa Công Nghệ Thông Tin
trường Đại Học Công Nghiệp Thực Phẩm Thành Phố Hồ Chí Minh lời chào trân trọng,lời chúc sức khỏe và lời cảm ơn sâu sắc Với sự quan tâm, dạy dỗ, chỉ bảo tận tình chuđáo của thầy cô, đến nay chúng em đã hoàn thành đề tài: “TÌM HIỂU PHP, MVC VÀBOOTSTRAP XÂY DỰNG ỨNG DỤNG WEBSITE MUA BÁN NÔNG SẢN”.Đặc biệt chúng em xin gửi lời cảm ơn chân thành nhất tới cô giáo Phan Thị NgọcMai đã quan tâm giúp đỡ, hướng dẫn chúng em hoàn thành tốt đồ án này trong thờigian qua
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, đồ ánnày không thể tránh được những thiếu sót Chúng em rất mong nhận đƣợc sựchỉ bảo,đóng góp ý kiến của các thầy cô để chúng em có điều kiện bổ sung, nâng cao ý thứccủa mình, phục vụ tốt hơn công tác thực tế sau này
Chúng em xin chân thành cảm ơn!
Sinh viên thực hiện Đồ án
Lê Ngọc Sơn Từ Thanh Phong
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Nhóm sinh viên gồm: 1.Lê Ngọc Sơn MSSV: 2033180055
2.Từ Thanh Phong MSSV: 2033180009 Nhận xét:
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
· ···
Điểm đánh giá: · ···
· ···
· ···
· ···
· ··· Ngày… Tháng….Năm 2021
(Ký tên ghi rõ họ tên)
Trang 4MỤC LỤC
Trang 5DANH MỤC HÌNH ẢNH
Trang 6CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1 MỤC TIÊU VÀ YÊU CẦU:
1.1 Mục tiêu
- Xây dựng ứng dụng website mua bán nông sản
- Hệ thống cần thực hiện được các chức năng sau:
+ Quản lý người mua hàng
+ Quản lý sản phẩm
+ Quản lý bán hàng
+ Quản lý báo cáo
+ Thống kê người dùng, sản phẩm và đơn hàng
1.2 Yêu cầu
- Xây dựng giao diện trang dụng
- Xây dựng trang chủ
- Phân quyền 2 nhóm người dùng
- Hiển thị thông tin sản phẩm chi tiết sản phẩm
- Thêm xoá sửa sản phẩm
- Xây dựng tính năng giỏ hàng: thêm, cập nhật, xoá giỏ hàng
- Xây dựng tính năng đăng ký và quản lý tài khoản
1.3 Môi trường thực hiện
- Sử dụng công cụ lập trình: Subline text, Xamp, SQL server 2012
- Sử dụng ngôn ngữ: Html, CSS, PHP, framwork Larave (PHP)
và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hó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ảnphẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trởthành một ngôn ngữ lập trình web phổ biến
- Ưu điểm của PHP:
PHP là ngôn ngữ mã nguồn mỡ, có thể chạy được trên cả Apache và IIS do đó
so với ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh chứng bằng số
Trang 7lượng các website được thiết kế bằng ngôn ngữ PHP hiện nay Cấu trúc PHP cực kỳđơn giản, vậy nên bạn sẽ không mất nhiều thời gian để có thể học được Một khi đãlàm chủ được HTML và C, bạn hoàn toàn có thể làm chủ được ngôn ngữ lập trình này.Thư viện của PHP vô cùng phong phú, hệ thống CMS miễn phí dùng tương
đối nhiều, cũng như được cộng đồng hỗ trợ một cách vô cùng mạnh mẽ Vậy nên bạn có thể dễ dàng tìm nguồn tài liệu mình cần cũng như có thể nhận được sự hỗ trợmột cách nhanh nhất
Do chạy được trên máy chủ Apache và thường đi cặp cùng với hệ quản trị cơ
sở dữ liệu MySQL nên việc cài đặt môi trường phát triển vô cùng đơn giản, thông qua một bộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS
+ Bootstrap là một nền tảng (framework) miễn phí, mã nguồn mở, dựa trên
HTML, CSS & Javascript Nó được tạo ra để xây dựng các giao diện Website
tương thích với tất cả các thiết bị có kích thước màn hình khác nhau
+ Bootstrap bao gồm những đối tượng cơ bản có sẵn như: typography, forms, buttons, tables, navigation, modals, image carousels và nhiều thứ khác Nó cũng
có nhiều Component, Javascript hỗ trợ cho việc thiết kế Reponsive dễ dàng,
thuận tiện và nhanh chóng hơn
- Ưu điểm của Bootstrap:
+ Boostrap giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian Các thư viện Bootstrap có những đoạn mã sẵn sàng cho lập trình viên áp dùng vào
website của mình mà không phải tốn quá nhiều thời gian để tự viết code cho
giao diện
+ Bootstrap dễ dàng sử dụng, chỉ cần có kiến thức cơ bản về html, css
+ Ưu điểm nổi bật nhất của bootstrap là khả năng tự động điểu chỉnh kích thước trang web phù hợp với các loại màn hình: điện thoại, tablets, laptop hay máy
Trang 8+Laravel là một framework rõ ràng và ưu việt cho việc phát triển web PHP Giảithoát khỏi mã spaghetti, nó giúp tạo ra những ứng dụng tuyệt vời, sử dụng syntax đơngiản Phát triển là thích thú những trải nghiệm sáng tạo chứ không phải là sự khó chịu.+ Laravel là một framework PHP 5.3 được miêu tả như ‘một framework cho webartisan.
- Đặc tính nổi trội của Laravel:
+ Đơn giản: các chức năng của Laravel rất dễ hiểu và thực hiện
+ Ngắn gọn: hầu hết các chức năng của Laravel hoạt động liên tục với cấu hình rấtnhỏ, dựa vào các quy tắc chuẩn để giảm bớt code-bloat
+ Trình bày hợp lý: hướng dẫn sử dụng Laravel rất đầy đủ và luôn cập nhật Nhà lậptrình, người tạo ra framework luôn cập nhật tài liệu trước khi cho ra một phiên bảnmới, đảm bảo những người học lập trình luôn luôn có những tài liệu mới nhất
- Đặc điểm khiến Laravel nổi trội:
+ Bundles: là dành cho Laravel cũng như PEAR là cho PHP Ngoài ra laravel đi kèm với công cụ command-line gọi là Artisan, giúp việc cài đặt các gói dễ
dàng
+ Eloquent ORM: là file thực thi PHP Active Record tiên tiến nhất hiện có
+ Migrations: trog laravel, migrations được xây dựng trong framework, chúng có thể thực hiện thông quan Artisan command-line
+ Unit-testting: laravel là một framework tuyệt vời để tích hợp PHP Unit
+ Redis: Laravel hỗ trợ Redis rất ngắn gọn
- Cấu trúc thư mục Laravel:
Folder/File Mô tả
app Thư mục app, chứa tất cả các project được tạo, hầu hết
các class trong project được tạo đều ở trong đây và lànơi chứa code chính của bạn
app/Console Thư mục Console, chứa các tập tin định nghĩa các câu
app/Providers Thư mục Providers, chứa các file thực hiện việc khai
báo service và bind vào trong Service Container
bootstrap Thư mục bootstrap, chứa những file khởi động của
framework và những file cấu hình auto loading, route,
và file cache
config Thư mục config, chứa tất cả những file cấu hình của
bạn
database Thư mục database, chứa 2 thư mục migration (tạo và
thao tác database) và seeds (tạo dữ liệu mẫu), tiện lợi
để lưu trữ dữ liệu sau này
database/factories Thư mục factories, chứa các file định nghĩa các cột
Trang 9bảng dữ liệu để tạo ra các dữ liệu mẫu.
database/migrations Thư mục migrations, chứa các file tạo và chỉnh sửa dữ
liệu
database/seeds Thư mục seeds, chứa các file tạo dữ liệu thêm vào
CSDL
public Thư mục public, là nơi chứa file khởi động index.php
và đồng thời là nơi lưu trữ file css, javascrip, images
resources Thư mục resources, chứa những file view và raw, các
file biên soạn như LESS, SASS, hoặc JavaScript
resources/views Thư mục views, chứa các file view xuất giao diện
người dùng
routes Thư mục routes, chứa tất cả các điều khiển route
(đường dẫn) trong project Chứa các file route sẵn có:web.php, channels.php, api.php, và console.php
routes/api.php File api.php, điều khiển các route của ứng dụng, như
route của ứng dụng User (đăng ký, đăng nhập, )
routes/web.php File web.php, điều khiển các route của view
storage Thư mục storage, chứa các file biên soạn blade
templates , file based sessions, file caches, và nhữngfile sinh ra từ project
+ Thư mục app, dùng để chứa những file sinh ra từproject
+Thư mục framework, chứa những file sinh ra từframework và caches
+ Thư mục logs, chứa những file logs
+ Thư mục /storage/app/public, lưu những file ngườidùng tạo ra như hình ảnh
tests Thư mục tests, chứa những file tests, như PHPUnit
- Model (M): Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng Bộ phậnnày là một cầu nối giữa 2 thành phần bên dưới là View và Controller Model thể hiệndưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bìnhthường Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất,
xử lý dữ liệu,…
Trang 10- View (V): Đây là phần giao diện (theme) dành cho người sử dụng Nơi mà ngườidùng có thể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn nhưtìm kiếm hoặc sử dụng thông qua các website.
- Controller (C): Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thôngqua view Từ đó, C đưa ra dữ liệu phù hợp với người dùng Bên cạnh đó, Controllercòn có chức năng kết nối với model
Hình 1.1 Mô hình MVC
-Ưu điểm và nhược điểm của mô hình MVC
+Ưu điểm :
Mô hình MVC quy hoạch các class/function vào các thành phần riêng biêt
Controller Model View, việc đó làm cho quá trình phát triển quản lý vận hành bảo trì web diễn ra thuận lợi hơn, tạo ra được các chức năng chuyên biệt hoá đồng thời kiểm soát được luồng xử lý
- Trình tự xử lý rõ ràng, nhiệm vụ riêng biệt, độc lập với các thành phần khác vàcác thành phần có thể tương tác được với nhau
Mô hình triển khai rõ ràng, mạch lạc, xử lý nghiệp vụ tốt, dễ dàng triển khai cácứng dụng vừa
+ Nhược điểm :
MVC thường được sử dụng vào những dự án lớn Do đó, với các dự án nhỏ, môhình MVC có thể gây cồng kềnh, tốn thời gian trong quá trình phát triển cũng như thờigian trung chuyển dữ liệu
Phân chia công việc và nghiệp vụ giữa các thành phần không đồng đều, trong đóModel phải xử lý rất nhiều tác vụ
- Mô hình MVC trong Laravel
+ Model:
Trang 11Hình 1 2 Chi tiết Model+ Controller:
Trang 12Hình 1 3 Chi tiết Controller+ View
Trang 13Hình 1 4 Chi tiết View
3 QUY TRÌNH XÂY DỰNG PHẦN MỀM
Quy trình công nghệ phần mềm là tập hợp tất cả các hoạt động nhằm tạo ra một số sản phẩm công nghệ Quy trình công nghệ rất đa dạng và phức tạp, vì mỗi nhóm, công ty tổ chức có cách thức để phát triển riêng dành cho phần mềm của họ Qua tìm hiểu nhóm em tổ chức xây dựng phần mềm website theo mô hình thác Nước
Trang 14Hình 1 5 Quy trình xây dựng phần mềm
3.1 Khảo sát và lập kế hoạch
- Khảo sát - bước đầu tiên của quá trình phát triển phần mềm
- Lập kế hoạch tiến độ là bước đầu tiên và là một trong những phần lõi của giai đoạnphát triển phần mềm hoặc phát triển sản phẩm vì nó được giả định phạm vi của dự án,xác định phương tiện và cách thức cho hệ thống mới trả lời các mục tiêu chiến lượckinh doanh, nguồn lực có sẵn, các vấn đề liên quan đến chi phí, thời gian khung và xácđịnh giải pháp
3.2 Xác định yêu cầu và phân tích tính khả thi
- Để xây dựng một giải pháp khả thi và thiết kế hấp dẫn là chưa đủ, trước tiên ta cầnnhóm phát triển hiểu sâu hơn về mục tiêu của dự án và thu thập tất cả các yêu cầu
- Phân tích khả thi hiển thị tất cả các khía cạnh kỹ thuật và kinh tế ảnh hưởng đến quátrình phát triển ứng dụng: thời gian, nguồn lực và nhiệm vụ và ước tính sự tham gia từcác thành viên trong nhóm giúp xác định chi phí và lợi nhuận của dự án
3.3 Thiết kế phần mềm
- Thiết kế phần mềm là một thành phần ưu việt của chu trình phát triển sản phẩm
- Trong giai đoạn thiết kế, khái niệm thực tế của giải pháp được tạo ra, đó là kiến trúcphần mềm chi tiết đáp ứng các yêu cầu cụ thể của dự án được tạo ra
- Thiết kế phần mềm được điều chỉnh tùy chỉnh bởi các kiến trúc sư và kỹ sư phầnmềm đặt ra các quy trình và tiêu chuẩn công việc nhất định và bao gồm thiết kế giải
Trang 15pháp / sản phẩm tổng thể rõ ràng cùng với cấu trúc và thiết kế cơ sở dữ liệu Trong giaiđoạn này, toàn bộ cấu trúc của dự án được xây dựng với nguyên mẫu cuối cùng và môhình thử nghiệm được sử dụng cho các giai đoạn tiếp theo của quá trình phát triểnphần mềm.
3.5 Kiểm thử
- Nhóm Đảm bảo chất lượng tiến hành một loạt các thử nghiệm bao gồm kiểm tra chứcnăng, tích hợp hệ thống và khả năng tương tác cũng như kiểm tra sự chấp nhận củangười dùng, v.v để đảm bảo mã sạch và đáp ứng các mục tiêu kinh doanh của giảipháp Xác minh và xác nhận là một phần quan trọng trong việc đảm bảo ứng dụng /giải pháp được hoàn thành thành công Bây giờ phần mềm không có lỗi, giai đoạntriển khai bắt đầu
3.6 Thực hiện và triển khai
Đây là giai đoạn khi quá trình cài đặt thực tế của giải pháp chế tạo diễn ra Nó đượcthực hiện từng bước theo kế hoạch triển khai Ứng dụng mới được xây dựng và thửnghiệm được chuyển sang sản xuất bao gồm truyền dữ liệu và thành phần trong khitrong các bản phát hành tiếp theo, chỉ những thay đổi cụ thể mới được triển khai Tùythuộc vào mức độ phức tạp của dự án, nó có thể là một bản phát hành đơn giản (nếu dự
án đơn giản) hoặc phát hành ngẫu nhiên (theo từng giai đoạn) trong trường hợp một dự
án phức tạp hơn Giờ đây, các nhà phân tích hệ thống và người dùng cuối thực sự cóthể thấy và dùng thử ứng dụng đã sẵn sàng
3.7 Vận hành và bảo trì
- Giai đoạn cuối cùng của phát triển phần mềm bao gồm bảo trì và cập nhật thườngxuyên Giai đoạn này được xử lý với sự chú ý tối đa vì trong giai đoạn này, sản phẩmđược đánh bóng, nâng cấp, cải tiến và tinh chỉnh theo phản hồi thực tế về hiệu suất của
nó Đó chính xác là thời điểm hoàn hảo để tăng cường các chức năng của ứng dụng
Trang 16nhằm nâng cấp hiệu suất của ứng dụng và sửa đổi theo nhu cầu thực tế của người dùngcuối để thêm các khả năng mới hoặc đáp ứng các yêu cầu bổ sung của người dùng.
4 CÁC QUY TRÌNH NGHIỆP VỤ (BUSSINESS PROCESS MODEL BPM)
4.1 Mô hình nghiệp vụ đăng ký tài khoản
- Bước 1: Khách hàng nhập thông tin cá nhân để đăng ký tài khoản
- Bước 2: Hệ thống kiểm tra email hoặc số điện thoại đã đăng ký hay chưa
- Bước 3: Hệ thống tiến hành xác nhận email hoặc số điện thoại khách hàng
- Bước 4: Sau khi xác nhận thông tin đúng thì hệ thống gửi thống báo đăng ký tài khoản thành công
Hình 1 6 Mô hình BPM đăng ký tài khoản
4.2 Mô hình nghiệp vụ đặt hàng
- Bước 1: Khách hàng xem và lựa chọn sản phẩm cần đặt hàng
- Bước 2: Hệ thống tiến hành kiểm tra hàng hóa mà khách hàng đã yêu cầu
còn hàng hay không từ cơ sở dữ liệu hàng hóa được lưu trữ trong kho
- Bước 3: Nếu hàng hóa mà khách hàng yêu cầu không còn thì hệ thống sẽ mời kháchhàng chọn sản phẩm khác, nếu hàng hóa yêu cầu còn hàng thì hệ
Trang 17thống xử lý sẽ yêu cầu khách hàng xác nhận mua hàng và nhập thông tin cá nhân (nếu chưa đăng nhập).
- Bước 4: Khách hàng tiếp tục chọn và mua sản phẩm khác và thêm sản phẩm vào giỏhàng
- Bước 5: Tiến hành thanh toán giỏ hàng
- Bước 6: Hệ thống sẽ kiểm tra và gửi thông tin xác nhận cho khách hàng Khách hàng xác nhận đúng nếu sai thì cập nhật lại thông tin giao hàng
- Bước 7: Thanh toán trực tiếp qua ngân hàng hoặc thành toán tiền mặt
- Bước 8: Khách hàng xem đơn hàng đã đặt và theo dõi quá trình giao hàng
Trang 18Hình 1 7 Mô hình BPM đặt hàng
Trang 194.3 Mô hình nghiệp vụ giao hàng
- Bước 1: Cửa hàng hoặc kho đóng gói sản phẩm và gửi cho nhân viên giao hàng
- Bước 2: Nhân viên giao hàng sẽ tiếp nhận đơn hàng và xác nhận địa điểm giao hàng cho khách
- Bước 3: Nhân viên giao hàng tiến hành giao hàng cho khách
- Bước 4: Nếu khách hàng từ chối nhận hàng thì bộ phận giao hàng sẽ lưu sản
phẩm vào kho tạm và sẽ tiến hành giao với những ngày kế tiếp Nếu đã đủ 2 lần
mà vẫn chưa giao được thì quá trình giao hàng kết thúc và gửi sản phẩm về cửa hàng Ngược lại khách hàng nhận hàng thì đơn hàng được đánh dấu hoàn thành và kết thúc quá trình giao hàng
Hình 1 8 Mô hình BPM giao hàng
4.4 Mô hình nghiệp vụ đổi trả hàng
- Bước 1: Khách hàng thông báo cho cửa hàng thông tin hàng hóa bị lỗi
- Bước 2: Cửa hàng tiếp nhận thông tin từ khách hàng và phản hồi cho khách hàng chính sách đổi trả
- Bước 3: Khách hàng sẽ gửi hàng hóa và các thông tin liên quan tới hàng hóa cần
Trang 20đổi như: Phiếu mua hàng, …
- Bước 4: Cửa hàng sẽ tiếp nhận hàng hóa và kiểm tra hàng hóa có đáp ứng các điều kiện để được đổi trả
- Bước 5: Thông báo cho khách hàng có được đổi trả hay không, nếu có thì tiến hành đổi trả, hàng hóa không đủ điều kiện sẽ không được đổi cho khách hàng
Hình 1 9 Mô hình BPM đổi trả hàng
4.5 Các biểu mẫu liên quan
- Các biếu mẫu thu hoạch tại tiki.vn gồm:
+ Quy trình đăng ký hoặc đăng nhập