Untitled TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TRUYỀN THÔNG VIỆT HÀN Khoa Kỹ thuật máy tính và Điện tử ĐỒ ÁN CƠ SỞ 2 XÂY DỰNG WESITE QUÁN ĂN BÁN MÌ QUẢNG BÀ MUA Sinh viên thực hiện ĐÀO NHẬT TRUNG Lớp 2.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Kỹ thuật máy tính và Điện tử
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Kỹ thuật máy tính và Điện tử
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4
LỜI CẢM ƠN
Trê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
Với lòng biết ơn sâu sắc nhất, em xin chân thành cảm ơn đến quý Thầy Cô trong
tổ Khoa Khoa học máy tính đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiếm thức quý báu cho em trong thời gian học tập vừa qua
Ngọc đã tận tâm hướng dẫn em qua từng buổi trao đổi về đề tài đồ án này Trong thời
gian được học tập và thực hành dưới sự hướng dẫn cô, em đã được tiếp thu thêm rất nhiều kiến thức và kinh nghiệm quý báu Nếu không có những sự hướng dẫn, chỉ bảo của cô thì em nghĩ đồ án này của em rất khó có thể hoàn thành
Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm
và góp ý của quí Thầy cô
Em xin chân thành cảm ơn !
Sinh viên
Đào Nhật Trung
Trang 5MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Error: Reference source not found
LỜI CẢM ƠN 6v
DANH MỤC HÌNH VẼ Error: Reference source not found MỞ ĐẦU
1.Giới thiệu 1
2 Mục tiêu, nhiệm vụ đề tài 1
3 Nội dung và kế hoạch thực hiện 1
4 Bố cục báo cáo 2
CHƯƠNG 1: TỔNG QUAN VỀ LARAVEL FRAMEWORK
1 Khái niệm về Laravel Framework 3
2 Ưu điểm và nhược điểm 3
3 Các thành phần cơ bản của Laravel 4
4 Kết chương 5
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG WEBSITE
1 Yêu cầu 6
2 Các tác nhân của hệ thống 7
3 Biểu đồ use- case tổng quát 8
4 Biểu đồ lớp 11
5 Thiết kế cơ sở dữ liệu 13
6 Kết chương 17
CHƯƠNG 3: XÂY DỰNG WEBSITE
1 Sơ đồ website 18
2 Giao diện người dùng 19
3 Giao diện quản trị 24
4 Kết chương 28
KẾT LUẬN 29
Trang 8MỞ ĐẦU
1 Giới thiệu
Thế kỷ XXI, xã hội đề cao tầm quan trọng và sự kết nối của Khoa học, Kỹ thuật,Công nghệ Sự phát triển của thương mại điện tử và chính phủ điện tử trên khắp thếgiới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Đối với một cửa hàng hay quán ăn, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng được nhu cầu của khác hàng sẽ là cần thiết Vậy phải quảng bá thế nào đó là xây dựng được một Website cho cửa hàng của mình nhằm quảng bá tất cả các sản phẩm của mình bán Chính vì thế em đã chọn và thực hiện đề tài “ XÂY DỰNG WEBSITE QUÁN ĂN BÁN MÌ QUẢNG” cho một cửa hàng bán mì quảng Bà Mua Người chủ cửa hàng sẻ đưa các sản phẩm lên website của mình và quản lý bằng website đó Khách hàng có thể đặt mua hàng trên website mà không cần đến cửa hàng Chủ cửa hàng sẽ gửi sản phẩm cho khách hàng khi nhận được tiền
Tuy nhiên mặc dù đã nỗ lực hết sức mình nhưng chắc rằng đồ án khó tránh khỏi thiếu sót Em rất mong nhận được sự thông cảm, những lời góp ý và chỉ bảo tận tình của quýThầy Cô và các bạn
2 Mục tiêu, nhiệm vụ của đề tài
- Nhằm giới thiệu rộng rãi các món ăn của quán đến người dùng với các chi tiết mặthàng cũng như giá cả một cách chính xác nhất để có thể tăng doanh thu cũng nhưbán hàng thuận lợi
- Áp dụng những kiến thức công nghệ web và các môn học vừa đã được học, cùngvới tìm hiểu sâu hơn kiến thức về Framwork Laravel
- Nghiên cứu và phát triển Website “Cửa hàng bán mì Quảng bà Mua”
3 Nội dung và kế hoạch thực hiện :
Xem thông tin và tin tức về cửa hàng
Liên hệ với quản lý cửa hàng
Chức năng của admin:
Quản lý món ăn
Trang 9 Quản lý tin tức
Quản lý hình ảnh hiển thị trang chủ
Quản lý thông tin về cửa hàng
Quản lý hóa đơn
Kế hoạch thực hiện
Stt Thời gian Nội dung làm việc
phẩm, công cụ để xây dựng web
cho trang web
4 Bố cục báo cáo
giới thiệu các đặc điểm, lý thuyết về framework Laravel
bước để thực hiện tạo nên hệ thống website
tính năng của website của người dùng và quản trị viên
Cuối cùng là Kết luận Tài liệu tham khảo, và Phụ lục liên quan đến đề tài
Trang 10Chương 1 TỔNG QUAN VỀ LARAVEL FRAMEWORK
1 Khái niệm Laravel Framework
Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc model-view-controller (MVC)
ứng dụng bạn sắp thực hiện, các thư viện, API, trình biên dịch Framework được cấu thành từ các đoạn code
Mỗi thà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ác class/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ều nghiệ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át triển trên nền tảng Laravel Tại Việt Nam, Laravel được sử dụng phổ biến với cộng đồng rộng lớn chiếm tỷ lệ hơn 70% người dùng
2 Ưu điểm và nhược điểm của Laravel.
Sử dụng Laravel, người dùng sẽ được:
Tiếp cận các tính năng mới nhất mà PHP cung cấp Ưu điểm này đặc biệt hữu ích với người dùng Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax
Tham khảo nguồn tài nguyên đa dạng tài liệu khác nhau Mỗi phiên bản phát hành của Laravel đều kèm theo nguồn tài liệu phù hợp để người dùng tiện tra cứu
Tích hợp với dịch vụ mail dựa trên nền tảng đám mây hoặc local nhờ API sạch trên thư viện SwiftMailer
Tốc độ xử lý nhanh, đáp ứng như cầu tạo lập website hay các dự án lớn trong thời gian ngắn
Dễ sử dụng nhờ tuân theo mẫu thiết kế mô hình 3 lớp MVC dễ hiểu
Tính bảo mật cao
Hỗ trợ các cache backend như Memcached và Redis out-of-the-box
Công cụ tích hợp cho dòng lệnh – Artisan
Tạo liên kết đến các route được đặt tên
Giảm đáng kể chu kỳ phát triển sản phẩm vì Laravel giúp tích hợp nhanh
Trang 11hơn cùng sự hỗ trợ của cộng đồng Laracasts.
Tuy nhiên, Laravel cũng tồn tại một số nhược điểm nhất định Ví dụ như:
Không có sự liên kết giữa các phiên bản Ứng dụng có thể bị đình trệ, ngừnghoạt động hoặc phá vỡ nếu người dùng cố cập nhật code
Làm chậm tốc độ tải trang vì Laravel quá nặng cho ứng dụng di động
Không hỗ trợ tính năng thanh toán
3 Các thành phần cơ bản của Laravel Framework
3.1 Route
- Khái niệm route: Route trong Larvel cũng như các framework khác đều
có chức năng là định ra các dạng resquest (hiểu nôm na là url) định sẵn và cũng có các action (hành động) do chúng ta định nghĩa cho nó
- Các loại route trong Laravel
Laravel là một framework hỗ trợ rất đa dạng về route, và cũng rất dễ sử dụng Nógồm có các loại:
Route::get nhận resquest với phương thức GET.
Route::post nhận resquest với phương thức POST.
Route::put nhận resquest với phương thức PUT.
Route::delete nhận resquest với phương thức DELETE.
Route::match kết hợp nhiều phương phức POST, GET, PUT,
Route::any nhận tất cả các phương thức.
Route::group tạo ra các nhóm route.
Route::controller gọi đến controller tương ứng mà ta tự định.
Route::resource sử dụng với resource controller.
3.2 View
- Khái niệm : Các view trong Laravel được lưu trữ trong thư mục
resources/views Có thể tạo thêm các thư mục trong thư mục resources/views đểphân cấp quản lý Các view có thể chứa mã HTML, CSS, Javascript phục vụ cho hiển thị nội dung cho người dùng
- Tạo View trong Laravel : View trong Laravel không tạo được bằng câu lệnh php artisan mà chỉ đơn giản là tạo một file mới trong các thư mục con của resources/views với cấu trúc tên file như sau:
tên-view.blade.php
3.3 Controller
Thực hiện điều hướng giữa Model và View sau khi nhận request từ trình duyệt web
Để tạo mới một Controller ta sử dụng câu lệnh:
php artisan make:controller MyController
app/Http/Controllers Khi một yêu cầu gửi đến hệ thống Laravel sẽ tìm trong route và route sẽ gọi đến một hàm trong một Controller theo cú pháp như sau:
Route::get('base URI','controller@method'); Trang 12 Khi làm việc với Route::resource thì controller laravel hỗ trợ 8 action: index, create, store, show, edit, update, destroy nhưng trong controller không nhất thiếtphải tạo đủ 8 action này.
Hình 1: Tạo dự án Laravel bằng giao diện
Một cửa sổ yêu cầu nhập tên dự án, ví dụ ở đây nhập dự án là allaravel.com, khi click
Ok, màn hình dòng lênh xuất hiện, chạy các kịch bản cài đặt dự án bao gồm:
Tạo database với tên chính là tên dự án
Tải khung dự án Laravel với phiên bản mới nhất
miền ảo http://allaravel.com.dev
Cách 2: Thông qua Compose
Bạn di chuyển thẳng vào thư mục htdocs của XAMPP Tại đây, bạn mở cửa sổ lệnh và
gõ “composer create-project –prefer-dist laravel/laravel blog”
Trong đó, blog chính là tên thư mục laravel project của bạn Quá trình cài đặt đã hoàn
tất!
Sau khi cài đặt hoàn tất, bạn mở WebServer, đến thư mục Public trong thư
mục Laravel project hoặc từ thư mục Laravel project, gõ lệnh: “php artisan serve”
Màn hình console sẽ xuất hiện thông báo: ”Laravel development server started on http://localhost:8000/”.
Lúc này, bạn vào trình duyệt gõ: http://localhost:8000 và bắt đầu khám phá Laravel ngay thôi!
Trang 134 Kết chương
Trong chương 1 em đã trình bày cơ bản bản lý thuyết về Php framework Laravel.
Trang 14Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Dsads
1 Yêu cầu
1.1 Yêu cầu chức năng
Người dùng :
ND có thể xem món ăn, món ăn theo loại
ND có thể đặt bàn trước khi đến quán
ND có thể xem bài viết và thông tin về cửa hàng
ND có thể liên hệ với người quản lý Website (Liên hệ)
ND có thể đăng ký tài khoản (Đăng ký khách hàng)
ND đăng nhập tài khoản
ND có thể đặt hàng (Mua hàng) thanh toán qua ví điện tử
ND có thể xem thông tin giới thiệu về quán ăn
ND bình luận và đánh giá bài viết, sản phẩm
Quản trị :
NQL có thể thay đổi giao diện người dùng (Slider)
NQL có thể thay đổi các thông tin cơ bản trên website
NQL có thể quản lý thành viên(User)
NQL:
1.2 Yêu cầu phi chức năng
Bảng 1.1 - Các yêu cầu phi chức năng của ứng dụng
Mụ
c Tên yêu cầu Mô tả yêu cầu
1 Giao diện người dùng.Giao diện hệ thống phải dễ sử dụng với
2 Tốc độ xử lý Hệ thống phải xử lý nhanh chóng và chính
xác
4 Tương thích Tương thích với đa phần các trình duyệt
web hiện tại
2 Các tác nhân của hệ thống
Trang 15Dựa vào yêu cầu trên, ta có thể xác định được các tác nhân chính của hệ thống như sau:
+ Tác nhân quản trị: người thực hiện các chức năng quản trị hệ thống, tài khoản, khách hàng, quản lý giao diện Để thực hiện các chức năng quản trị trong hệ thống tác nhân này bắt buộc phải thực hiện đăng nhập
+ Tác nhân khách hàng: có thể thực hiện các chức năng như đăng ký tài khoản, đăng nhập Tìm kiếm sản phẩm, xem tin tức, đặt hàng, xem giỏ hàng, xem hóa đơn
3 Biểu đồ use case
3.1 Biểu đồ Use – case tổng quát
Hình 1.5 - Biểu đồ Use case tổng quát
3.2 Use case đăng nhập
Hình 1.6 - Biểu đồ Use case đăng nhậpTác nhân: Admin
Mô tả: Use case cho admin đăng nhập vào hệ thống
Trang 16Điều kiện trước: admin chưa đăng nhập vào hệ thống.
3.3 Use case quản lý danh mục sản phẩm
Hình 1.7 - Biểu đồ Use case quản lý danh mục sản phẩm
Tác nhân: Admin
Mô tả: use case cho phép xem, thêm, sửa, xóa
Điều kiện trước: admin đã đăng nhập vào hệ thống
Kết quả: các thông tin về danh mục sản phẩm được cập nhật trong cơ sở dữ liệu
3.4 Use case quản lý sản phẩm
Hình 1.8 - Biểu đồ Use case quản lý sản phẩmTác nhân: Admin
Mô tả: use case cho phép xem, thêm, sửa, xóa
Điều kiện trước: admin đã đăng nhập vào hệ thống
Kết quả: các thông tin về sản phẩm được cập nhật trong cơ sở dữ liệu
3.5 Use case quản lý tin tức
Trang 17Hình 1.9 - Biểu đồ Use case quản lý tin tức
Tác nhân: Admin
Mô tả: use case cho phép xem, thêm, sửa, xóa
Điều kiện trước: admin đã đăng nhập vào hệ thống
Dòng sự kiện chính:
Người sử dụng chọn kiểu tác động: thêm, sửa, xóa
Kết quả: các thông tin về tin tức được cập nhật trong cơ sở dữ liệu
3.6 Use case quản lý đơn đặt hàng
Hình 1.10 - Biểu đồ Use case quản lý đơn đặt hàngTác nhân: Admin
Mô tả use case cho phép duyệt đơn đặt hàng, xem chi tiết đơn đặt hàng, xóa đơn đặt hàng, báo cáo đơn đặt hàng đang chờ, đã được xử lý trong hệ thống
Điều kiện trước: admin đã đăng nhập vào hệ thống
Trang 18Dòng sự kiện chính:
Người sử dụng chọn kiểu tác động: duyệt đơn đặt hàng, xem chi tiết đơn đặt hàng, xóa đơn đặt hàng, báo cáo đơn đặt hàng đang chờ, đã được xử lý
Kết quả: các thông tin về đơn đặt hàng được cập nhật trong cơ sở dữ liệu
3.7 Use case chức năng khách hàng
Tác nhân: khách hàng
Mô tả use case cho phép khách hàng đăng ký đăng nhập thoát khỏi tài khoản, tìm kiếm, tra cứu, liên hệ cửa hàng, xem tin tức, quản lý giỏ hàng trong hệ thống
Điều kiện trước: khách đã đăng nhập vào hệ thống
Hình 1.11 - Biểu đồ Use case chức năng khách hàng
Đăng ký, đăng nhập, thoát khỏi tài khoản: chọn chức năng
Liên hệ: hệ thống hiển thị giao diện liên
Xem tin tức: chọn tin tức đọc
Quản lý giỏ hàng
Kết quả: các thông tin về chức năng khách hàng được cập nhật trong cơ sở dữ liệu
4 Biểu đồ lớp
4.1 Danh sách các đối tượng
Bảng 1.12 - Danh sách các đối tượng
STT Tên lớp/quan hệ Ý nghĩa/Ghi chú
1 aboutus Mô tả các thuộc tính và các phương thức liên quan
tới nghiệp vụ thông tin về cửa hàng
Trang 192 sliders tới nghiệp vụ hình ảnh trang chủ.Mô tả các thuộc tính và các phương thức liên quan
3 menus tới nghiệp vụ thông tin danh mục.Mô tả các thuộc tính và các phương thức liên quan
4 posts tới nghiệp vụ danh mục bài viết tin tức.Mô tả các thuộc tính và các phương thức liên quan
5 postcategories Mô tả các thuộc tính và các phương thức liên quan
tới nghiệp vụ hình ảnh trang chủ
6 contacts tới nghiệp vụ thông tin liên hệ của khách hàng.Mô tả các thuộc tính và các phương thức liên quan
7 reservations Mô tả các thuộc tính và các phương thức liên quantới nghiệp vụ thông tin đặt bàn trước của khách
hàng
9 users tới nghiệp vụ thông tin tài khoản.Mô tả các thuộc tính và các phương thức liên quan
10 products Mô tả các thuộc tính và các phương thức liên quan
tới nghiệp vụ món ăn
11 productcategories Mô tả các thuộc tính và các phương thức liên quantới nghiệp vụ danh mục món ăn.
12 carts Mô tả các thuộc tính và các phương thức liên quantới nghiệp vụ thông tin giỏ hàng.
13 customers Mô tả các thuộc tính và các phương thức liên quan
tới nghiệp vụ thông tin hóa đơn đặt hàng
4.2 Mô hình hóa các lớp đối tượng