Vậy để tiếp cận được nhóm đối tượng khách hàng này nhất thiết bạn phải thiết kế website bán hàng thực phẩm sạch để khi họ tìm kiếm trang web của bạn sẽ xuất hiện, từ đó họ có thể vào tr
Trang 1- -BÁO CÁO BÀI TẬP LỚN
Đề tài: Xây dựng website bán thực phẩm
Giảng viên hướng dẫn : Nguyễn Trọng Phúc Lớp : Công nghệ thông tin 4 - K58 Sinh viên thực hiện :
Đỗ Văn Cường (MSV: 171201933) Kiều Văn Huy (MSV: 171200232)
Lê Xuân Lợi (MSV: 171200785)
Hà Nội, tháng 11 – 2020
Trang 2Nhận xét của giảng viên hướng dẫn:
GIẢNG VIÊN HƯỚNG DẪN (Ký và ghi rõ họ tên)
Trang 3Lời mở đầu
Với tình trạng thực phẩm bẩn, thực phẩm nhiễm độc tràn lan trên thị trường bắt buộc người tiêu dùng phải tìm đến những nơi cung cấp sản phẩm chất lương, có kiếm chứng Lúc này họ sử dụng mạng internet cụ thể là các công cụ tìm kiếm và mạng xã
hội Vậy để tiếp cận được nhóm đối tượng khách hàng này nhất thiết bạn phải thiết kế
website bán hàng thực phẩm sạch để khi họ tìm kiếm trang web của bạn sẽ xuất hiện,
từ đó họ có thể vào trang web để xem thông tin, hình ảnh và liên hệ mua hàng trực tiếptrên website hoặc cũng có thể đến tận nơi để xem
Không những thế, người dùng hiện nay cũng rất cẩn trọng trước khi mua hàng
họ cần xem xét đơn vị cung cấp có uy tín hay không, đảm bảo chất lượng như thế nào
Chính vì vậy, một website bán thực phẩm sạch chuyên nghiệp sẽ giúp bạn khẳng
định được uy tín với người tiêu dùng, mang đến trải nghiệm tốt nhất cho khách hàng chính là cách bạn thuyết phục họ sử dụng sản phẩm của mình
Thiết kế web bán thực phẩm sạch là giải pháp cực kỳ thông minh, giúp tiếp cận sản phẩm sạch của mình đến với khách hàng tiềm năng, là xu thế phát triển internet hiện nay
Trang 4MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ 1
DANH MỤC CÁC BẢNG 2
DANH MỤC CÁC HÌNH VẼ 3
CHƯƠNG 1:TỔNG QUAN VỀ ĐỀ TÀI 5
1.1 Lý do chọn đề tài 5
1.2 Mục tiêu của đề tài 5
1.3 Giới hạn và phạm vi của đề tài 6
1.4 Nội dung thực hiện 7
1.5 Phương pháp tiếp cận 8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 9
2.1 Quy trình phát triển phần mềm 9
2.2 Phương pháp phân tích thiết kế hướng đối tượng và UML 10
2.3 Hệ quản trị cơ sở dữ liệu MySQL 14
2.4 Thiết kế giao diện website 14
2.6 Lập trình phía back-end 18
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 20
3.1.Đặc tả yêu cầu phần mềm 20
3.2.Thiết kế hệ thống 36
CHƯƠNG 4: TRIỂN KHAI WEBSITE 64
4.1.Triển khai các chức năng cho phân hệ người dùng 64
4.2.Triển khai các chức năng cho phân hệ quản trị nội dung 64
4.3.Hướng dẫn cài đặt 64
4.4.Hướng dẫn sử dụng 64
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
Trang 55.2.Hạn chế của bài tập lớn 65 5.3.Hướng phát triển của bài tập lớn 65 TÀI LIỆU THAM KHẢO 67
Trang 6STT Từ viết tắt Cụm từ tiếng anh Diễn giải
System
Hệ quản trị nội dung
2 MySQL Relational Database
Management System
Hệ quản trị cơ sở dữ liệu
3 PHP Hypertext Pre-processor Ngôn ngữ lập trình kịch bản
Language
Ngôn ngữ đặc tả,hình dung, xây dựng và làm tài liệu của các hệ thống phần mềm
Language
Ngôn ngữ đánh dấu siêu văn bản
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý do chọn đề tài
Thực phẩm là một trong những nỗi lo lớn mà bất kì ai trong mỗi chúng ta đều quan tâm Bởi nó gắn liền tới sức khỏe của mỗi con người Có thể qua ti vi, báo đài hoặc qua mỗi câu chuyện ai đó kể mà bạn sẽ nhận thấy rằng vai trò vô cùng quan trọngcủa thực phẩm đến sức khỏe của mỗi chúng ta
Vì vậy, người dùng hiện nay cũng rất cẩn trọng trước khi mua hàng họ cần xemxét đơn vị cung cấp có uy tín hay không, đảm bảo chất lượng như thế nào Chính vì vậy, một website bán thực phẩm sạch chuyên nghiệp sẽ giúp bạn khẳng định được uy tín với người tiêu dùng, mang đến trải nghiệm tốt nhất cho khách hàng chính là cách bạn thuyết phục họ sử dụng sản phẩm của mình. Để đáp ứng nhu cầu của mọi người
nhóm em quyết định “ Xây dựng website bán thực phẩm sạch Fresh Food” nhằm
tạo ra hệ thống quản lý bán hàng có tính thiết thực và tính ứng dụng thực tế cao
1.2 Mục tiêu của đề tài
Mục tiêu của đề tài là giúp người bán, người quản trị dễ dàng quản lý được các thông tin của website, quản lý được các mặt hàng mà cửa hàng kinh doanh cũng như quản lý được việc mua bán dễ dàng hơn Ngoài ra, hệ thống còn giúp người mua dễ dàng tiếp cận được sản phẩm và mua hàng thuận tiện hơn Xây dựng được một websitegồm hai phân hệ: phân hệ người dùng cho phép xem và mua sản phẩm, phân hệ người quản trị cho phép quản lý các thông tin của Website
Website sau khi xây dựng xong sẽ đáp ứng được các yêu cầu cơ bản sau:
- Phía khách hàng:
+ Xem các thông tin sản phẩm trên website, xem theo danh mục hoặc xem tất
cả Xem chi tiết từng sản phẩm
+ Chọn sản phẩm cho vào giỏ hàng, cập nhật, xóa thông tin giỏ hàng, gửi thông tin giỏ hàng cùng thông tin cá nhân đến người quản trị để đặt hàng
Trang 8+ Quản lý các giỏ hàng mà khách hàng đã gửi Tiếp nhận và trả lời thông tin liên hệ từ khách hàng thông qua email.
+ Gửi ý kiến đóng góp, liên hệ đến người quản trị
- Phía người quản trị:
+ Đăng nhập vào website
+ Người quản trị có quyền xem, cập nhật, xóa, tìm kiếm, thống kê đặt hàng trong website
+ Cập nhật thông tin sản phẩm cho website Bao gồm thêm mới, sửa thông tin, xóa thông tin sản phẩm, danh mục sản phẩm và các thông tin khác
+ Người quản trị quản lý nhập hàng và bán hàng
+ Cập nhật tin tức cho website khi có sự kiện hoặc chương trình khuyến mại.+ Quản lý đơn hàng
+ Quản lý khách hàng
Bên cạnh các chức năng nêu trên thì website cũng phải trông đẹp mắt và dễ truycập Website phải làm cho khách hàng thấy được những thông tin cần tìm, cung cấp những thông tin quảng cáo hấp dẫn nhằm thu hút sự quan tâm của khách hàng
Website mua bán hàng trên mạng thì cần đảm bảo an toàn những thông tin liên quan đến khách hàng trong quá trình đặt mua hay thanh toán Đồng thời website còn phải dễnâng cấp, sửa chữa khi cần bổ sung cập nhật những tính năng mới
1.3 Giới hạn và phạm vi của đề tài
- Giới hạn của đề tài:
Các đối tượng ứng dụng của đề tài: Mọi người tiêu dùng trên toàn quốc có nhu cầu đặt mua sản phẩm qua mạng.
- Phạm vi của đề tài:
Trang 9Thiết kế được CSDL, cách thức hoạt động và các đối tượng trong PHP, My SQl, xampp Hiểu được cách lưu trữ cơ sở dữ liệu của hệ quản trị cơ sở dữ liệu
MySQL
Sử dụng framework Laravel và hệ quản trị cơ sở dữ liệu MySQL để xây dựng website
1.4 Nội dung thực hiện
Website cho cửa hàng thực phẩm sạch Fresh Food có nội dung như sau:
Xây dựng và khảo sát thực trạng của đề tài :
Khảo sát thực trạng về nhu cầu sử dụng thực phẩm của con người ngày nay ta xác định và lựa chọn đề tài “Xây dựng website bán thực phẩm sạch Fresh Food”
Xác định các yêu cầu chức năng của người dùng :
Giai đoạn này ta cần thu thập các thông tin về đối tượng của đề tài ở đây là hệ thống bán thực phẩm sạch Fresh Food Xác định những yêu cầu cơ bản người dùng đặt
ra cho hệ thống để tiến hành xây dựng một hệ thống đúng theo yêu cầu và tiêu chuẩn
đề ra Phân tích các yêu cầu chức năng của người dùng Dựa vào những yêu cầu đã xácđịnh ở trên, phân tích cụ thể từng yêu cầu chức năng của hệ thống
- Xây dựng các ca sử dụng tương ứng với từng chức năng cụ thể bằng biểu đồ
UML.Xây dựng hệ cơ sở dữ liệu cho hệ thống
- Xây dựng cơ sở dữ liệu cho hệ thống Sau khi đã có những thông tin về đối tượng thì xây dựng các mô hình thực thể và các mô hình chung liên quan
- Xây dựng chương trình website bằng framework Laravel và MySQL
1.5 Phương pháp tiếp cận
- Các tài liệu liên quan đến nghiệp vụ quản lý bán hàng và bán hàng.
- Với việc sử dụng trình duyệt (Browser) thì người dùng có thể sử dụng máy tính tại
bất kỳ đâu có kết nối Internet với đường truyền tốt đều có thể làm việc với máy chủ (server) từ xa
Trang 10CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Quy trình phát triển phần mềm
Giai đoạn 1: Thu thập thông tin khách hàng
- Tìm hiểu yêu cầu thực tế của khách hàng
- Xác nhận các yêu cầu của khách hàng về trang Web và các thông tin khách hàng cung cấp
Giai đoạn 2: Giai đoạn phân tích
- Dựa vào những thông tin và yêu cầu thiết kế website của khách hàng, phân tích rõ ràng mục đích, yêu cầu, nguyện vọng của khàch hàng
- Lập kế hoạch thực hiện dự án
- Căn cứ trên kết quả khảo sát, thông tin do khách hàng cung cấp thiết kế lập cấu trúc cho website và thiết kế chung cho toàn hệ thống
Giai đoạn 3: Giai đoạn thiết kế
- Xem xét chi tiết yêu cầu và tiến hành thiết kế website
- Tiến hành xử lý hiệu ứng ảnh, thu thập tài liệu liên quan
- Kiểm tra sản phẩm để đảm bảo tính thẩm mỹ và thống nhất
Giai đoạn 4: Giai đoạn xây dựng
- Xây dựng cơ sở dữ liệu dựa trên thiết kế
- Soạn thảo nội dung tài liệu, chỉnh sửa hoàn thiện nội dung rồi đưa lên trang web
- Tích hợp hệ thống: lắp ghép phân tích thiết kế, nội dung lập trình thành một sản phẩm
- Tiến hành kiểm tra, chỉnh sửa và thực hiện nghiệm thu nội bộ
Trang 11 Giai đoạn 5: Giai đoạn chạy thử
- Tổng hợp nội dung, xây dựng hệ thống theo thiết kế
- Kiểm tra và sửa lỗi
- Lắp ghép thiết kế với phần mềm, đảm bảo không sai lệch với thiết kế và phần mềm hoạt động tốt
- Chạy thử hệ thống, kiểm tra và sửa
Giai đoạn 6: Giai đoạn nghiệm thu và chuyển giao
- Khách hàng duyệt dự án: khách hàng duyệt chất lượng dự án
- Đăng tải hệ thống: đảm bảo hệ thống chạy tốt
- Bàn giao cho khách hàng
- Đào tạo và huấn luyện khách hàng quản trị website một cách hiệu quả
- Đánh giá, bảo trì
2.2 Phương pháp phân tích thiết kế hướng đối tượng và UML
2.2.1 Phương pháp phân tích hướng đối tượng
Trong kỹ thuật phần mềm để sản xuất được một sản phẩm phần mềm người ta chia quá trình phát triển sản phẩm ra nhiều giai đoạn như thu thập và phân tích yêu cầu, phân tích và thiết kế hệ thống, phát triển (coding), kiểm thử, triển khai và bảo trì Trong đó, giai đoạn phân tích, thiết kế bao giờ cũng là giai đoạn khó khăn và phức tạp nhất Giai đoạn này giúp chúng ta hiểu rõ yêu cầu đặt ra, xác định giải pháp, mô tả chi tiết giải pháp Nó trả lời 2 câu hỏi What (phần mềm này làm cái gì?) và How (làm nó như thế nào?)
Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trong những cách làm đó là xem hệ thống gồm những đối tượng sống trong đó và tương tác với nhau Việc mô tả được tất cả các đối tượng và sự tương tác của chúng sẽ giúp chúng ta
Trang 12hiểu rõ hệ thống và cài đặt được nó Phương thức này gọi là Phân tích thiết kế hướng đối tượng (OOAD)
2.2.2 Ngôn ngữ mô hình hóa UML
UML (Unified Model Language) là một ngôn ngữ dùng cho phân tích thiết kế hướng đối tượng (OOAD – Object Oriented Analys and Design)
Các biểu đồ UML cho ta cái nhìn rõ hơn về hệ thống
Hiện nay UML được sử dụng rất phổ biến trong các dự án phần mềm
UML thể hiện phương pháp phân tích hướng đối tượng nên không lệ thuộc ngôn ngữ lập trình
Có rất nhiều công cụ phần mềm hỗ trợ phân tích thiết kế dùng UML
Nhiều công cụ có thể sinh ra mã từ UML và ngược lại
UML không phải là ngôn ngữ lập trình
Một số biểu đồ UML cơ bản:
- Biểu đồ Ca sử dụng Use Case Diagram
- Biểu đồ lớp Class Diagram
- Biểu đồ tuần tự Sequence Diagram
2.3 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ quản trị csdl nhanh, dễ sử dụng được sử dụng cho nhiều doanh nghiệp lớn nhỏ khác nhau MySQL được hỗ trợ và phát triển bởi MySQL AB, một công ty của Thụy Điển MySQL đang trở nên phổ biến vì nhiều lý do khác nhau như:
MySQL được phát triển theo dạng mã nguồn mở Vì vậy, bạn không phải trảtiền để sử dụng nó
MySQL là một phần mềm rất mạnh mẽ Nó xử lý một tập hợp lớn các chức năng của các gói cơ sở dữ liệu đắt tiền và mạnh
MySQL hoạt động trên nhiều hệ điều hành và với nhiều ngôn ngữ bao gồm PHP, PERL, C, C ++, JAVA, v.v
Trang 13 MySQL hoạt động rất nhanh và hoạt động tốt ngay cả với các tập dữ liệu lớn.
MySQL rất thân thiện với PHP, ngôn ngữ được đánh giá cao nhất để phát triển web
MySQL hỗ trợ cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn trong một bảng Giới hạn kích thước file mặc định cho một bảng là 4GB, nhưng bạn có thể tăng điều này (nếu hệ điều hành của bạn có thể xử lý nó) với giới hạn là 8 triệu terabyte (TB)
2.4 Thiết kế giao diện website
- Thiết kế giao diện web là một trong các khâu quan trọng, có thể nói là chiếm đếm 50% mức độ thành công của một trang web Thiết kế giao diện web là tổng hợp các thao tác cơ bản của các nhà thiết kế (designer) bao gồm tổng hợp, hình dung và tạo
ra các option cụ thể đúng với những yêu cầu và mong muốn của khách hàng Tìm hiểu
về thông điệp mà doanh nghiệp muốn truyền tải Thiết kế giao diện web bao gồm tất
cả những gì xuất hiện trên website bao gồm hình ảnh, thông tin, các điều hướng người dùng trên website, liên kết trên web… hay đơn giản là tất cả những gì người dùng nhìn thấy, tương tác trên website (truy cập danh mục, đặt hàng, … ) khi vào trong trang web của bạn
Các bước thiết kế giao diện website
- Bước 1: Tiếp nhận thông tin từ khách hàng
- Bước 2: Phác thảo giao diện web nháp trên giấy
- Bước 3: Thiết kế giao diện web trên các phần mềm chuyên dụng
- Bước 4: Chỉnh sửa và thay đổi
- Bước 5: Hoàn thiện bản thiết kế cuối cùng
2.5 Lập trình phía front-end
Phần front-end của một trang web là phần tương tác với người dùng Tất cả mọi thứ nhìn thấy khi điều hướng trên Internet, từ các font chữ, màu sắc cho tới các menu
Trang 14xổ xuống và các thanh trượt, là một sự kết hợp của HTML, CSS, Bootstrap và
JavaScript được điều khiển bởi trình duyệt máy tính
2.6 Lập trình phía back-end
Phần back-end của một trang web bao gồm một máy chủ, một ứng dụng, và một
cơ sở dữ liệu Một lập trình viên back-end xây dựng và duy trì công nghệ mà sức mạnh của những thành phần đó, cho phép phần giao diện người dùng của trang web có thể tồn tại được
Tổng quan về PHP
PHP (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
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
Ngôn ngữ kịch bản
PHP là ngôn ngữ kịch bản (scripting language) Ngôn ngữ kịch bản là một nhánh của ngôn ngữ lập trình Tập tin chứa mã lệnh viết bằng ngôn ngữ kịch bản (như PHP) có thể được chạy (hay thực thi) trực tiếp trên máy mà không cần phải chuyển sang một định dạng khác Đối với các ngôn ngữ như C hay Pascal thì tập tin chứa mã lệnh (source code) cần phải được chuyển sang định dạng khác chứa machine code để máy tính có thể chạy được
Mã nguồn mở
Trang 15PHP là ngôn ngữ lập trình mã nguồn mở và điều này có nghĩa là bạn có thể sử dụng PHP hoàn toàn miễn phí PHP có thể được chạy trên nhiều nền tảng hệ điều hànhkhác nhau như Windows, Mac OS và Linux Ngôn ngữ lập trình PHP có thể được sử dụng trên nhiều hệ điều hành khác nhau bao gồm Windows, Mac OS và Linux
(Ubuntu, Linux Mint )
Tập tin PHP
Các tập tin PHP chứa mã lệnh viết bằng ngôn ngữ PHP và được lưu trên máy tính (hoặc máy chủ) với phần mở rộng là php Việc tạo và chỉnh sửa nội dung các tập tin này thường được thực hiện bởi một chương trình hiệu chỉnh văn bản (hay còn gọi là text editor) Dưới đây là danh sách các chương trình hiệu chỉnh mã lệnh phổ biến trên các hệ điều hành khác nhau:
- Trên Windows: Notepad có sẵn hoặc Nodepad++ (cần cài đặt thêm)
- Trên Mac OSX: TextEdit
- Trên Ubuntu: Gedit hoặc Vim
Tổng quan về Framework 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)
Ưu điểm của Laravel
Sử dụng các tính năng mới nhất của PHP
Sử dụng Laravel 5 giúp các lập trình viên tiếp cận những tính năng mới nhấ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 vô cùng lớn và sẵn có