CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI “Xây dựng websiCHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI “Xây dựng websidedede quản lý cửa quản lý cửa Đối với người quản lý cửa hàng:Đối với người quản lý cửa hàng: -
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP
TÊN ĐỀ TÀI: XÂY DỰNG WEBSIDE QUẢN LÝ C
TÊN ĐỀ TÀI: XÂY DỰNG WEBSIDE QUẢN LÝ CỬA HÀNG ỬA HÀNG
BÁN QUẦN ÁO
Giảng viên hướng dẫn : VŨ VĂN ĐỊNH
Sinh viên thực hiện
Mã sinh viên : TỐNG MINH NGỌC: 18810310079
Trang 2PHIẾU CHẤM ĐPHIẾU CHẤM ĐIIIIIỂỂỂMMSinh viên thực hiện:
Trang 3LỜI MỞ ĐẦU
Đặc biệt các website bán hàng ngày càng được xây dựng nhiều hơn
Trang 4
LỜI CẢM ƠLỜI CẢM ƠNN
Em xin chân thành cảm ơEm xin chân thành cảm ơnnnnn!!!!!Em xin chân thành cảm ơ
Sinh viên thực hiện
Tống Minh Ngọc
MỤC LỤC
Trang 5LỜI MỞ ĐẦU
LỜI MỞ ĐẦU 1
LỜI CẢM Ơ LỜI CẢM ƠN.N.N 2
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI “Xây dựng websi CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI “Xây dựng websidedede quản lý cửa quản lý cửa hàng bán quần áo”
hàng bán quần áo” 8
1.1 GIỚI THIỆU ĐỀ TÀI 8
1.1.1 Khảo sát hiện trạng 8
1.1.2 Phạm vi đề tài 8
1.1.3 Nắm bắt hiện trạng 8
1.1.4 Phương pháp xử lý hiện trạng 9
1.2 CÁC CÔNG CỤ SỬ DỤNG 10
1.2.1 Ngôn ngữ lập trình PHP 10
1.2.2 Framework Laravel 11
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐN CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN G THÔNG TIN 13G THÔNG TIN
2.1 ĐẶT TẢ HỆ THỐNG 13
2.1.1 Giới thiệu hệ thống 13
2.1.2 Mô tả hệ thống 13
2.2 THIẾT KẾ CÁC MÔ HÌNH 14
2.2.1 Mô hình phân rã chức năng người dùng 14
2.2.2 Mô hình phân rã chức năng người quản lý 14
2.2.3 Mô hình Use Case 14
2.2.4 Flowchart 18
2.3 THIẾT KẾ CƠ SỞ DỮ LIỆU 22
2.3.1 Mô hình cơ sở dữ liệu 22
2.3.2 Mô tả dữ liệu 22
2.4 KẾT QUẢ XÂY DỰNG HỆ THỐNG 32
2.4.1 Một số giao diện chính từ trang người dùng 32
3.4.2 Một số giao diện chính từ trang quản lý 41
CHƯƠNG 3: KẾT LUẬN
CHƯƠNG 3: KẾT LUẬN 46
3.1 KẾT QUẢ ĐẠT ĐƯỢC 46
3.2 ƯU ĐIỂM VÀ HẠN CHẾ CỦA ĐỀ TÀI 46
3.3 HƯỚNG NGHIÊN CỨU TRONG TƯƠNG LAI 46
TÀI LIỆU THAM KHẢO
TÀI LIỆU THAM KHẢO 47
Trang 6DANH MỤC HÌNH ẢNH
Hình 3.1: Mô hình phân rã chức năng người dùng
Hình 3.1: Mô hình phân rã chức năng người dùng 33Hình 3.2: Mô hình phân rã chức năng người quản lý
Hình 3.2: Mô hình phân rã chức năng người quản lý 34Hình 3.3: Mô hình use case chức năng khách hàng chưa đăng nhập
Hình 3.3: Mô hình use case chức năng khách hàng chưa đăng nhập 35Hình 3.4: Mô hình use case khi khách hàng đăng nhập
Hình 3.4: Mô hình use case khi khách hàng đăng nhập 36Hình 3.5: Mô hình use case chức năng nhân viên
Hình 3.5: Mô hình use case chức năng nhân viên 37Hình 3.6: Mô hình use case chức năng người quản lý
Hình 3.6: Mô hình use case chức năng người quản lý 38Hình 3.7: Sơ đồ flowchart chức năng thêm mới
Hình 3.7: Sơ đồ flowchart chức năng thêm mới 39Hình 3.8: Sơ đồ flowchart chức năng chỉnh sửa
Hình 3.8: Sơ đồ flowchart chức năng chỉnh sửa 40Hình 3.9: Sơ đồ flowchart chức năng xóa
Hình 3.9: Sơ đồ flowchart chức năng xóa 41Hình 3.10: Sơ đồ flowchart chức năng tìm kiếm
Hình 3.10: Sơ đồ flowchart chức năng tìm kiếm 42Hình 3.11: Mô hình cơ sở dữ liệu
Hình 3.11: Mô hình cơ sở dữ liệu 43Hình 3.12: Giao diện trang chủ của website
Hình 3.12: Giao diện trang chủ của website 53Hình 3.13: Cửa sổ đăng nhập website
Hình 3.13: Cửa sổ đăng nhập website 54Hình 3.14: Giao diện trang đăng ký tài khoản
Hình 3.14: Giao diện trang đăng ký tài khoản 55Hình 3.15: Giao diện trang chi tiết sản phẩm
Hình 3.15: Giao diện trang chi tiết sản phẩm 56Hình 3.16: Giao diện trang thể loại hay nhóm sản phẩm
Hình 3.16: Giao diện trang thể loại hay nhóm sản phẩm 57Hình 3.17: Giao diện trang giỏ hàng
Hình 3.17: Giao diện trang giỏ hàng 58Hình 3.18: Giao diện thanh toán đơn hàng (đã đăng nhập)
Hình 3.18: Giao diện thanh toán đơn hàng (đã đăng nhập) 59Hình 3.19: Giao diện trang thanh toán đơn hàng (chưa đăng nhập)
Hình 3.19: Giao diện trang thanh toán đơn hàng (chưa đăng nhập) 60Hình 3.20: Giao diện trang tìm kiếm sản phẩm
Hình 3.20: Giao diện trang tìm kiếm sản phẩm 61Hình 3.21: Giao diện trang chi tiết tin tức
Hình 3.21: Giao diện trang chi tiết tin tức 62Hình 3.22: Giao diện trang đăng nhập quản lý
Hình 3.22: Giao diện trang đăng nhập quản lý 64Hình 3.23: Giao diện trang chủ trang admin
Hình 3.23: Giao diện trang chủ trang admin 64Hình 3.24: Giao diện trang thêm sản phẩm
Hình 3.24: Giao diện trang thêm sản phẩm 65Hình 3.25: Giao diện trang danh sách sản phẩm
Hình 3.25: Giao diện trang danh sách sản phẩm 66Hình 3.26: Giao diện trang chi tiết sản phẩm
Hình 3.26: Giao diện trang chi tiết sản phẩm 67
Trang 7Hình 3.27: Giao diện trang thêm tin tức
Hình 3.27: Giao diện trang thêm tin tức 68Hình 3.28: Giao diện trang nhân viên
Hình 3.28: Giao diện trang nhân viên 69Hình 3.29: Giao diện đơn đặt hàng 70
Trang 8DANH MỤC BẢNGBảng 1.1: So sánh một số website bán hàng online
Bảng 1.1: So sánh một số website bán hàng online 7Bảng 1.2: Bảng các công cụ thực hiện
Bảng 1.2: Bảng các công cụ thực hiện 8Bảng 2.1: Một số lệnh console phổ biển được cung cấp của Laravel
Bảng 2.1: Một số lệnh console phổ biển được cung cấp của Laravel 23Bảng 3.1: Thực thể categories
Bảng 3.1: Thực thể categories 43Bảng 3.2: Thực thể SubCategory
Bảng 3.2: Thực thể SubCategory 44Bảng 3.3: Thực thể users
Bảng 3.3: Thực thể users 44Bảng 3.4: Thực thể products
Bảng 3.4: Thực thể products 45Bảng 3.5: Thực thể product_detail
Bảng 3.5: Thực thể product_detail 46Bảng 3.6: Thực thể product_colors
Bảng 3.6: Thực thể product_colors 47Bảng 3.7: Thực thể order
Bảng 3.7: Thực thể order 48Bảng 3.8: Thực thể order_detail
Bảng 3.8: Thực thể order_detail 49Bảng 3.9: Thực thể staff
Bảng 3.9: Thực thể staff 49Bảng 3.20: Thực thể wishlist
Bảng 3.20: Thực thể wishlist 50Bảng 3.31: Thực thể promotion
Bảng 3.31: Thực thể promotion 51Bảng 3.42: Thực thể news
Bảng 3.42: Thực thể news 51
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI “Xây dựng websi
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI “Xây dựng websidedede quản lý cửa quản lý cửa
Đối với người quản lý cửa hàng:Đối với người quản lý cửa hàng:
- Tạo mới thêm sửa xóa các phần như: danh mục, nhà sản xuất, dữ liệu sản phẩm, sản phẩm
- Quản lý phần sửa xóa đơn hàng
- Thống kê doanh thu các ngày trong tháng và trạng thái đơn hàng. - Quản lý thêm xóa sửa tin tức cho cửa hang
- Quản lý sliders quảng cáo sản phẩm cho cửa hàng
Đối với khách hàng:Đối với khách hàng:
- Mua sản phẩm trực tuyến trên website
- Góp ý, nhận xét sản phẩm
- Tìm kiếm sản phẩm theo thể loại, nhóm sản phẩm
- Có chức năng lọc và sắp xếp sản phẩm theo giá sản phẩm
- Tạo tài khoản trên website
- Chức thêm sản phẩm vào ưa thích
1.1.3 Nắm bắt hiện trạng
Đối với khách hàng:
- Khó khăn trong việc tìm kiếm sản phẩm
- Biết rất ít thông tin về sản phẩm tại cửa hàng
Đối với cửa hàng:
Trang 10- Khó khăn trong việc tìm kiếm và quản lý đơn hàng.
- Việc thống kê báo cáo gặp nhiều khó khăn
1.1.4 Phương pháp xử lý hiện trạng
1.1.4.1 Về lý thuyết
- Tìm hiểu tài liệu về hệ quản trị cơ sở dữ liệu MYSQL
Javascript, jQuery, Ajax
- Nắm vững mô hình MVC trong lập trình website
- Tham khảo các đề tài website bán hàng liên quan
Trang 111.1.4.3 Các công cụ thực hiện
2 SceneBuilder hìnhThiết kế các mô Phân tích hệ thống
3 Microsoft Word Soạn thảo văn bản Viết báo cáo
4 Microsoft Power Point Soạn thảo trình chiếu Báo cáo
5 Xampp dụngTạo server chạy ứng Chạy ứng dụng
6 PhpMyAdmin Quản lý database Tất cả
Bảng 1.2: Bảng các công cụ thực hiện1.2 CÁC CÔNG CỤ SỬ DỤNG
1.2.1 Ngôn ngữ lập trình PHP
1.2.1.1 Giới thiệu sơ về ngôn ngữ lập trình PHP
Ngôn ngữ PHP thông thường sẽ phù hợp với việc lập trình website bởi nó
có thể dễ dàng kết nối với các website khác có sử dụng HTML để chạy trên các trình duyệt web Vì vậy, đây là ngôn ngữ lập trình được người dùng đánh giá là khá dễ đọc Ngôn ngữ PHP cũng trở thành ngôn ngữ web dev phổ biến
mà các lập trình viên phải học trước khi bắt đầu vào nghề
Một số ứng dụng của PHP như:Một số ứng dụng của PHP như:
- Thiết lập các chương trình cho hệ thống máy chủ: Ứng dụng chủ yếu của PHP đó chính là việc xây dựng nên các chương trình dành cho các server máy chủ Để có thể viết nên các chương trình chạy được trên
Trang 12máy chủ thì các lập trình viên sẽ phải thực hiện các công việc như: xây dựng máy chủ web, phân tích cú pháp ngôn ngữ lập trình PHP, trình duyệt web Các lập trình viên có thể xây dựng output này bằng các trình duyệt web phổ biến.
- Tạo các dòng tập lệnh: Các ngôn ngữ PHP Dev có thể tạo nên dòng tập lệnh để chạy các chương trình PHP mà không cần bất cứ một máy chủ nào Lập trình này được sử dụng trên các hệ điều hành như: Các trình lập tác vụ trên Windows, Linux
- Xây dựng ứng dụng làm việc: Từ những điểm mạnh vốn có của PHP,
có thể đây chưa là phương thức tốt nhất để xây dựng ứng dụng phần mềm nhưng nếu như muốn đi sâu hơn vào tạo lập phần mềm từ PHP thìbạn cũng có thể sử dụng PHP – GTK như một ngôn ngữ nền tảng để xây dựng phần mềm của riêng mình PHP – GTK là nhánh mở rộng củangôn ngữ lập trình này, nó cũng không có sẵn trong các phiên bản hiện nay
- Hỗ trợ cho một loại cơ sở dữ liệu khác nhau: Đây chính là ứng dụng mạnh nhất của PHP Nếu trang web được hỗ trợ cơ sở dữ liệu tốt sẽ giúp ích rất nhiều đến việc vận hành cũng như backup dữ liệu nếu không may xảy ra tình huống tấn công an ninh mạng xảy ra
Hiện nay, ngôn ngữ PHP được sử dụng trên hầu hết các hệ điều hành phổ biến trên thị trường như: Microsoft Windows, Linux, macOS… Vì vậy, các DEV có thể tự quyết định, lựa chọn cho mình một hệ điều hành tự lập trình
1.2.2 Framework Laravel
1.2.2.1 Giới thiệu sơ về framework laravel
1.2.2.2 Sơ lược các tính năng cơ bản của framework laravel
Eloquent ORM trình bày các bảng trong cơ sở
Trang 13(link)
Trang 14CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN2.1 ĐẶT TẢ HỆ THỐNG
Trang 152.2 THIẾT KẾ CÁC MÔ HÌNH
2.2.1 Mô hình phân rã chức năng người dùng
Hình 2.1: Mô hình phân rã chức năng người dùng
2.2.2 Mô hình phân rã chức năng người quản lý
Trang 16Hình 2.2: Mô hình phân rã chức năng người quản lý2.2.3 Mô hình Use Case
2.2.3.1 Mô hình use case chức năng của khách hàng
Mô hình use case chức năng khách hàng chưa đăng nhập Mô hình use case chức năng khách hàng chưa đăng nhập
14
Trang 17Hình 2.3: Mô hình use case chức năng khách hàng chưa đăng nhập Đối với khách hàng chưa đăng nhập: Khi khách hàng truy cập website chưa đăng nhập thì được sử dụng các chức năng như: tìm kiếm sản phẩm, chia sẻ sản phẩm, mua sản phẩm
Mô hình use case khi khách hàng đăng nhập Mô hình use case khi khách hàng đăng nhập
Trang 18Hình 2.4: Mô hình use case khi khách hàng đăng nhập
2.2.3.2 Mô hình use case chức năng người quản lý
16
Trang 19Hình 2.5: Mô hình use case chức năng người quản lý
Đối với người quản lý (administrator) sẽ có đầy đủ các chức năng trên
hệ thống như: có chức năng của thống kê, quản lý danh mục, quản lý khách hàng, đơn hàng, nhân viên…
2.2.4 Flowchart
Trang 20 Flowchart Thêm mới Flowchart Thêm mới
Input: Các thông tin thuộc tính của đối tượng Output: Kết quả thêm thành công
Hình 2.6: Sơ đồ flowchart chức năng thêm mới
Flowchart Chỉnh sửa Flowchart Chỉnh sửa
Input: Các thông tin thuộc tính của đối tượng Output: Kết quả chỉnh sửa thành công
18
Trang 21Hình 2.7: Sơ đồ flowchart chức năng chỉnh sửa
Flowchart Xóa
Input: Mã đối tượng
Output: Thông báo xóa thành công
Trang 22Hình 2.8: Sơ đồ flowchart chức năng xóa
20
Trang 23 Flowchart tìm kiếm
Input: Thông tin tìm kiếm
Output: Danh sách các đối tượng
Hình 2.9: Sơ đồ flowchart chức năng tìm kiếm
Trang 242.3 THIẾT KẾ CƠ SỞ DỮ LIỆU
2.3.1 Mô hình cơ sở dữ liệu
Hình 2.10: Mô hình cơ sở dữ liệu2.3.2 Mô tả dữ liệu
- Bảng Categories: Lưu thông tin các danh mục chính của website
Bảng 2.1: Thực thể categories
- Bảng SubCategory: Hiển thị loại sản phẩm của các danh mục
22
Trang 25Bảng 2.2: Thực thể SubCategory-Bảng Users: Lưu thông tin của khách hàng như họ tên, địa chỉ, số điện thoại, email trường ‘provide_id’ để lưu mã mạng xã hội nếu khách hàng đăng nhậpthông qua mạng xã hội
Trang 2610 updated_at Timestamp Ngày sửa Bắt buộc
Bảng 2.3: Thực thể users-Bảng Products: Mỗi sản phẩm có một mã sản phẩm và thông tin cần thiết Sản phẩm cần biết được thuộc thể loại nào Bảng sản phẩm có trường giảm giá sản phẩm nếu trường giảm giá này lớn hơn 0 thì sản phẩm này được xem
là đang khuyến mãi Thuộc tính id_color để tham chiếu đến bảng màu sắc Một sản phẩm có thể có một hoặc nhiều chi tiết sản phẩm
ST
2 Subcategoryid Interger Mã loại sản phẩm Khóa ngoại
24
Trang 279 Description LongText Mô tả sản phẩm Tùy chọn
Bảng 2.4: Thực thể products-Bảng Product_detail: Lưu thông tin chi tiết của sản phẩm như kích cỡ, số lượng, trạng thái, hình ảnh chi tiết của sản phẩm
Trang 28Bảng 2.5: Thực thể product_detail-Bảng Product_colors: Lưu thông tin màu sắc như mã màu sắc, tên màu, mã css của màu
ST
Bảng 2.6: Thực thể product_colors
26
Trang 29-Bảng Order (Đơn hàng): Mỗi đơn hàng có mã đơn hàng để phân biệt, đơn hàng cần biết được của khách hàng nào có phương thức vận chuyển, thanh toán là gì và tình trạng của đơn hàng cũng như biết được ngày nào khách hàng
9 Payment_Metho
d
Phương thức thanh toán
Trang 3011 Order_date Ngày đặt DateTime Bắt buộc
hàng
Varchar
13 Order_status Tình trạng đơn hàng Interger Bắt buộc
Bảng 2.7: Thực thể order-Bảng order_detail: Mỗi chi tiết đơn hàng sẽ thuộc một đơn hàng duy nhất Chi tiết đơn hàng cho biết số lượng mua và giá mua sản phẩm tại thời điểm đó
và số lượng đã giao cho khách hàng
STT
STT Thuộc tínhThuộc tính Diễn giải Kiểu dữ liệuKiểu dữ liệu Ràng buộcRàng buộc
Bảng 2.8: Thực thể order_detail
28
Trang 31Bảng Staff (Nhân viên): Mỗi nhân viên sẽ có một mã số để phân biệt và có đầy đủ thông tin để liên lạc
STT
STT Thuộc tínhThuộc tính Diễn giải Kiểu dữ liệu Ràng buộc
4 password Mật khẩu nhân viên Varchar
Trang 3213 created_at Ngày tạo TimeStamp Tùy chọn
Bảng 2.9: Thực thể staff-Bảng Wishlist: Lưu các sản phẩm vào danh sách yêu thích
Bảng 2.10: Thực thể wishlist-Bảng Promotion: Lưu các mã giảm giá
Trang 33
Bảng 2.11: Thực thể promotion-Bảng News: Lưu thông tin tin tức
STT
STT Thuộc tínhThuộc tính Diễn giải Kiểu dữ liệu Ràng buộc
Trang 34Bảng 2.11: Thực thể promotion
2.4 KẾT QUẢ XÂY DỰNG HỆ THỐNG
2.4.1 Một số giao diện chính từ trang người dùng
Giao diện từ trang chủ website
Khi khách hàng truy cập vào trang chủ sẽ thấy những mục như sau: sản phẩm mới, sản phẩm nổi bật, sản phẩm theo danh mục, tin tức mới
Hình 2.10: Giao diện trang chủ của website
Giao diện trang đăng nhập
Khi khách hàng nhấn vào liên kết đăng nhập trên thanh menu thì sẽ xuất hiện một cửa sổ đăng nhập như sau:
32
Trang 35Hình 2.11: Cửa sổ đăng nhập website
Giao diện trang đăng ký
Khi khách hàng muốn đăng ký một tài khoản mới từ website thì sẽ nhấn vào liên kết đăng ký trên thanh menu khách hàng sẽ được dẫn đến trang giao diện đăng ký với giao diện như bên dưới
Trang 36Hình 2.12: Giao diện trang đăng ký tài khoản
Giao diện trang chi tiết sản phẩm
Khi chọn xem chi tiết một sản phẩm nào đó sẽ được dẫn sang trang chi tiếtcủa sản phẩm, nội dung trang chi tiết sản phẩm bao gồm các mục cơ bản như: giới thiệu sản phẩm, thuộc tính sản phẩm, sản phẩm liên quan, danh sách bình luận từ khách hàng
34