1.3.4 Duyệt sản phẩm theo thực đơn Hiển thị những sản phẩm thuộc thực đơn mà khách hàng chọn.. Nội dung: Với mọi k1, k2 thuộc KhachHang: Nếu k1 khác k2 thì k1.TaiKhoanKHkhác k2.TaiKhoanK
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
LẬP TRÌNH WEB
XÂY DỰNG WEBSITE BÁN ĐỒ ĂN NHANH
Khoa: Công Nghệ Thông Tin
Ngành: Công Nghệ Thông Tin
Giảng viên hướng dẫn: ThS Huỳnh Khắc Duy
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
LẬP TRÌNH WEB
XÂY DỰNG WEBSITE BÁN ĐỒ ĂN NHANH
Khoa: Công Nghệ Thông Tin
Ngành: Công Nghệ Thông Tin
Giảng viên hướng dẫn: ThS Huỳnh Khắc Duy
TP Hồ Chí Minh, 2020
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 4
LỜI CAM ĐOAN 5
CHƯƠNG 1: TỔNG QUAN 6
1.1 Giới thiệu đề tài 6
1.2 Cấu trúc đồ án 7
1.3 Lĩnh vực tin học hoá 7
1.3.1 Đăng kí tài khoản 7
1.3.2 Đăng nhập tài khoản 7
1.3.3 Đặt hàng online 7
1.3.4 Duyệt sản phẩm theo thực đơn 7
1.3.5 Thêm mới một sản phẩm 7
1.3.6 Chỉnh sửa một sản phẩm 7
1.3.7 Xóa một sản phẩm 8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 9
2.1 Các loại thực thể 9
2.2 Mô hình ERD 9
2.3 Mô hình quan hệ 9
2.4 Ràng buộc toàn vẹn 10
CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM 16
3.1 Hệ quản trị cơ sở dữ liệu và ngôn ngữ lập trình 16
3.2 Các màn hình giao diện 16
3.2.1 Giao diện trang chủ 16
3.2.2 Giao diện sản phẩm 17
3.2.3 Giao diện chi tiết sản phẩm 17
3.2.4 Giao diện quản lý giỏ hàng 18
3.2.5 Giao diện đăng nhập tài khoản 18
3.2.6 Giao diện đăng ký tài khoản 19
3.2.7 Giao diện đặt hàng 20
3.2.8 Giao diện liệt kê sản phẩm 21
Trang 43.2.10 Giao diện sửa đổi thông tin sản phẩm 23
3.2.11 Giao diện thông tin chi tiết sản phẩm 24
3.2.12 Giao diện đăng nhập dành cho admin 24
3.3 Chi tiết từng màn hình 25
3.3.1 Giao diện trang chủ 25
3.3.2 Giao diện sản phẩm 25
3.3.3 Giao diện chi tiết sản phẩm 25
3.3.4 Giao diện quản lý giỏ hàng 26
3.3.5 Giao diện đăng nhập tài khoản 26
3.3.6 Giao diện đăng ký tài khoản 27
3.3.7 Giao diện đặt hàng 27
3.3.8 Giao diện liệt kê sản phẩm 27
3.3.9 Giao diện thêm mới sản phẩm 28
3.3.10 Giao diện sửa đổi thông tin sản phẩm 28
3.3.11 Giao diện thông tin chi tiết sản phẩm 29
3.3.12 Giao diện đăng nhập dành cho admin 29
CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ 30
4.1 Kết luận 30
4.1.1 Vấn đề đã làm được 30
4.1.2 Vấn đề còn thiếu sót 30
4.2 Kiến nghị 30
TÀI LIỆU THAM KHẢO 31
Trang 5LỜI MỞ ĐẦU
Ngày nay, chúng ta đang sống trong kỷ nguyên của khoa học công nghệ Trong thờiđại bùng nổ công nghệ thông tin và có rất nhiều phương thức truyền đạt thông tin thìphương tiện truyền thông tin bằng công nghệ số là nhanh và phổ biến nhất Công NghệThông Tin không chỉ dừng lại ở mục đích phục vụ cho khoa học kỹ thuật mà còn đi sâuvào đời sống, chính trị, kinh tế và xã hội
Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và nó là mộtcông cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàncầu Nhờ có Internet mà mọi việc đã trở nên dễ dàng hơn bao giờ hết, chúng ta đã thựchiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cáchthức truyền thống Chính điều này đã thúc đẩy sự ra đời và phát triển của thương mại điện
tử trên khắp thế giới, giúp nâng cao chất lượng cuộc sống của con người
Trong hoạt động sản xuất, kinh doanh, thương mại điện tử đã khẳng định được vaitrò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Công Nghệ Thông Tin đã cónhững đóng góp quan trọng trong công việc quản lý và quảng cáo sản phẩm, hàng hoácho các công ty, xí nghiệp, doanh nghiệp lớn nhỏ Để bán được sản phẩm một cách nhanhchóng, các doanh nghiệp cần phải quảng cáo để mọi người có thể biết đến sản phẩm mộtcách rộng rãi Vì vậy, dù là công ty hay xí nghiệp, muốn tồn tại và phát triển trong thịtrường cạnh tranh khốc liệt ngày nay thì việc xây dựng một website quảng cáo và bán sảnphẩm là điều tối cần thiết
Qua thời gian tìm hiểu để xác định đề tài cho đồ án môn Lập Trình Web, chúng emnhận thấy website bán hàng có một lợi ích không nhỏ đối với doanh nghiệp cũng nhưngười tiêu dùng Chúng em quyết định chọn đề tài xây dựng Website bán đồ ăn nhanh đểlàm đồ án môn Lập Trình Web
Trang 6LỜI CAM ĐOAN
Chúng tôi xin cam đoan đề tài: “Xây dựng Website bán đồ ăn nhanh” được tiến hànhcông khai, dựa trên sự cố gắng, nỗ lực của bản thân và sự hướng dẫn nhiệt tình của giảngviên Huỳnh Khắc Duy Các số liệu và kết quả trình bày trong báo cáo là hoàn toàn trungthực, không sao chép bất kỳ nguồn nào khác Ngoài ra trong bài báo cáo có sử dụng một
số nguồn tài liệu tham khảo đã được trích dẫn nguồn và chú thích rõ ràng Chúng tôi xinhoàn toàn chịu trách nhiệm trước Khoa và nhà trường về sự cam đoan này
TP Hồ Chí Minh, năm 2020
Tác giả đề tàiPhạm Mai HươngTrần Đức HuyHuỳnh Nhật Sang
Trang 7CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu đề tài
Mua bán hàng qua mạng – một hình thức thương mại mới xuất hiện ở Việt Namnhưng phát triển rất nhanh chóng, thu hút được nhiều khách hàng tin dùng Mua hàng quamạng có nhiều điểm ưu việt so với cách mua bán trực tiếp
Trong cuộc sống bận rộn, việc sử dụng thời gian một cách hợp lý là cần thiết Theocách mua hàng truyền thống, chúng ta phải mất công, mất thời gian tìm sản phẩm, đến nơibán hàng để lựa chọn và mua sản phẩm Bên cạnh đó, chúng ta cũng gặp khó khăn trongviệc so sánh giá cả, chúng ta sẽ phải đi lòng vòng rất nhiều lần, quay đi quay lại một vàinơi chỉ để tìm ra mức giá rẻ nhất cho một món hàng Ngoài ra, chúng ta còn phải chịuđựng sự xô đẩy, chen lấn để chọn lựa sản phẩm
Một website bán hàng trực tuyến sẽ là giải pháp để giải quyết những vấn đề trên Nókhông chỉ giải quyết những bất cập của việc mua hàng trực tuyến mà còn cho chúng tanhiều sự lựa chọn hơn khi mua sắm, giá thành rẻ hơn vì không phải thanh toán các khoảntiền mặt bằng Website sẽ cung cấp cho chúng ta một mạng lưới mua sắm rộng, chúng takhông cần phải mất công đi lại dù trời mưa dầm hay nắng gắt, không tốn tiền xăng dầu đilại vất vả
Bên cạnh những lợi ích dành cho người tiêu dùng thì doanh nghiệp cũng có thêmnhững yếu tố có lợi để cạnh tranh với những doanh nghiệp khác Doanh nghiệp có thể dễdàng quản lý, nâng cao chất lượng phục vụ, tiết kiệm thời gian và công sức Ngoài ra cácdoanh nghiệp sẽ có cơ hội bán được nhiều sản phẩm hơn nhờ việc quảng cáo sản phẩmđến người tiêu dùng một cách dễ dàng hơn
Chính vì những lý do trên mà chúng em đã chọn làm một Website bán đồ ăn nhanh
để làm đề tài cho môn Lập Trình Web
Trang 8Chương 2: Cơ sở lý thuyết
Trình bày các khái niệm và phương pháp giải quyết vấn đề bao gồm mô tả các côngnghệ, hệ thống, các ràng buộc, mô hình toán, lý giải xây dựng mô hình
Chương 3: Kết quả thực nghiệm
Kết quả nghiên cứu lý thuyết, kết quả thực nghiệm đạt được Mô tả chức năng từngmàn hình
Chương 4: Kết luận và kiến nghị
Nêu những việc đã làm được hoặc chưa làm được trong đồ án, những ưu khuyếtđiểm của website và hướng phát triển của đồ án
1.3 Lĩnh vực tin học hóa
1.3.1 Đăng kí tài khoản
Nếu chưa có tài khoản thì phải đăng kí một tài khoản để có thể mua hàng
1.3.2 Đăng nhập tài khoản
Khi thanh toán mà khách hàng chưa đăng nhập thì sẽ chuyển đến trang đăng nhập
1.3.3 Đặt hàng online
Khách hàng chọn sản phẩm muốn mua, sản phẩm đó sẽ được thêm vào giỏ hàng.Trong giỏ hàng, khách hàng có thể thay đổi lựa chọn của mình bằng cách bỏ chọn nhữngsản phẩm mà khách hàng không muốn nữa
1.3.4 Duyệt sản phẩm theo thực đơn
Hiển thị những sản phẩm thuộc thực đơn mà khách hàng chọn
1.3.5 Thêm mới một sản phẩm
Người quản lý có thể thêm một sản phẩm mới lên website
Trang 10CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Các loại thực thể
KhachHang(MaKhachHang, TenKH, NgaySinhKH, TaiKhoanKH, MatKhauKH,EmailKH, DienThoaiKH, DiaChiKH)
Trang 11SanPham(MaSanPham, TenSP, MoTa, GiaBan, AnhSP, NgayCapNhat,SoLuongTon, MaThucDon).
DonDatHang(MaDonDatHang, DaThanhToan, TinhTrangGiaoHang, NgayDat,NgayGiao, MaKhachHang)
ChiTietDonDatHang(MaDonDatHang, MaSanPham, SoLuong, DonGia)
Admin(UserAdmin, PassAdmin, HoTen)
2.4 Ràng buộc toàn vẹn
R1: Tất cả các khách hàng phải có mã số phân biệt với nhau
Nội dung: Với mọi k1, k2 thuộc KhachHang: Nếu k1 khác k2 thì k1.MaKhachHangkhác k2.MaKhachHang
Bối cảnh: Loại quan hệ KhachHang
Bảng tầm ảnh hưởng:
R2: Ngày sinh của khách hàng phải nhỏ hơn ngày hiện tại
Nội dung: Với mọi kh thuộc KhachHang: kh.NgaySinhKH < Ngày hiện tại
Bối cảnh: Loại quan hệ KhachHang
Trang 12Nội dung: Với mọi k1, k2 thuộc KhachHang: Nếu k1 khác k2 thì k1.TaiKhoanKHkhác k2.TaiKhoanKH.
Bối cảnh: Loại quan hệ KhachHang
Bảng tầm ảnh hưởng:
Trang 13R4: Tất cả các khách hàng phải có email phân biệt với nhau.
Nội dung: Với mọi k1, k2 thuộc KhachHang: Nếu k1 khác k2 thì k1.EmailKH kháck2.EmailKH
Bối cảnh: Loại quan hệ KhachHang
Bảng tầm ảnh hưởng:
R5: Tất cả các khách hàng phải có số điện thoại phân biệt với nhau
Nội dung: Với mọi k1, k2 thuộc KhachHang: Nếu k1 khác k2 thì k1.DienThoaiKHkhác k2.DienThoaiKH
Bối cảnh: Loại quan hệ KhachHang
Bảng tầm ảnh hưởng:
R6: Tất cả các thực đơn phải có mã số phân biệt với nhau
Nội dung: Với mọi t1, t2 thuộc ThucDon: Nếu t1 khác t2 thì t1.MaThucDon kháct2.MaThucDon
Bối cảnh: Loại quan hệ ThucDon
Bảng tầm ảnh hưởng:
Trang 14R7: Tất cả các sản phẩm phải có mã số phân biệt với nhau.
Nội dung: Với mọi s1, s2 thuộc SanPham: Nếu s1 khác s2 thì s1.MaSanPham khács2.MaSanPham
Bối cảnh: Loại quan hệ SanPham
Bảng tầm ảnh hưởng:
R8: Giá bán của sản phẩm phải lớn hơn hoặc bằng 0
Nội dung: Với mọi sp thuộc SanPham: sp.GiaBan >= 0
Bối cảnh: Loại quan hệ SanPham
Bảng tầm ảnh hưởng:
R9: Tất cả các sản phẩm phải có ảnh sản phẩm phân biệt với nhau
Nội dung: Với mọi s1, s2 thuộc SanPham: Nếu s1 khác s2 thì s1.AnhSP khács2.AnhSP
Bối cảnh: Loại quan hệ SanPham
Bảng tầm ảnh hưởng:
Trang 15R10: Ngày cập nhật không được lớn hơn ngày hiện tại.
Nội dung: Với mọi sp thuộc SanPham: sp.NgayCapNhat <= Ngày hiện tại
Bối cảnh: Loại quan hệ SanPham
Bảng tầm ảnh hưởng:
R11: Số lượng tồn của sản phẩm phải lớn hơn hoặc bằng 0
Nội dung: Với mọi sp thuộc SanPham: sp.SoLuongTon >= 0
Bối cảnh: Loại quan hệ SanPham
Bảng tầm ảnh hưởng:
R12: Tất cả các đơn đặt hàng phải có mã số phân biệt với nhau
Nội dung: Với mọi d1, d2 thuộc DonDatHang: Nếu d1 khác d2 thìd1.MaDonDatHang khác d2.MaDonDatHang
Bối cảnh: Loại quan hệ DonDatHang
Bảng tầm ảnh hưởng:
Trang 16Nội dung: Với mọi ddh thuộc DonDatHang: ddh.NgayDat <= Ngày hiện tại.Bối cảnh: Loại quan hệ DonDatHang.
Bảng tầm ảnh hưởng:
R14: Ngày giao không được lớn hơn ngày hiện tại
Nội dung: Với mọi ddh thuộc DonDatHang: ddh.NgayGiao <= Ngày hiện tại.Bối cảnh: Loại quan hệ DonDatHang
Bảng tầm ảnh hưởng:
R15: Ngày giao không được nhỏ hơn ngày đặt
Nội dung: Với mọi ddh thuộc DonDatHang: ddh.NgayGiao >= ddh.NgayDat.Bối cảnh: Loại quan hệ DonDatHang
Bảng tầm ảnh hưởng:
R16: Số lượng của chi tiết đơn đặt hàng phải lớn hơn 0
Nội dung: Với mọi ctddh thuộc ChiTietDonDatHang: ctddh.SoLuong > 0
Bối cảnh: Loại quan hệ ChiTietDonDatHang
Trang 17Bảng tầm ảnh hưởng:
Trang 18R17: Đơn giá của chi tiết đơn đặt hàng phải lớn hơn hoặc bằng 0.
Nội dung: Với mọi ctddh thuộc ChiTietDonDatHang: ctddh.DonGia >= 0
Bối cảnh: Loại quan hệ ChiTietDonDatHang
Bảng tầm ảnh hưởng:
R18: Tất cả các admin phải có useradmin phân biệt với nhau
Nội dung: Với mọi a1, a2 thuộc Admin: Nếu a1 khác a2 thì a1.UserAdmin kháca2.UserAdmin
Bối cảnh: Loại quan hệ Admin
Bảng tầm ảnh hưởng:
Trang 19CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM 3.1 Hệ quản trị cơ sở dữ liệu và ngôn ngữ lập trình
Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server
Ngôn ngữ lập trình: C#
3.2 Các màn hình giao diện
3.2.1 Giao diện trang chủ
Hình 3.1: Giao diện trang chủ.
Trang 203.2.2 Giao diện sản phẩm
Hình 3.2: Giao diện sản phẩm.
Trang 213.2.3 Giao diện chi tiết sản phẩm
Hình 3.3: Giao diện chi tiết sản phẩm.
Trang 223.2.4 Giao diện quản lý giỏ hàng
Hình 3.4: Giao diện quản lý giỏ hàng.
3.2.5 Giao diện đăng nhập tài khoản
Hình 3.5: Giao diện đăng nhập tài khoản.
Trang 233.2.6 Giao diện đăng ký tài khoản
Hình 3.6: Giao diện đăng ký tài khoản.
Trang 243.2.7 Giao diện đặt hàng
Hình 3.7: Giao diện đặt hàng.
Trang 253.2.8 Giao diện liệt kê sản phẩm
Hình 3.8: Giao diện liệt kê sản phẩm.
Trang 263.2.9 Giao diện thêm mới sản phẩm
Hình 3.9: Giao diện thêm mới sản phẩm.
3.2.10 Giao diện sửa đổi thông tin sản phẩm
Trang 27Hình 3.10: Giao diện sửa đổi thông tin sản phẩm.
Trang 283.2.11 Giao diện thông tin chi tiết sản phẩm
Hình 3.11: Giao diện thông tin chi tiết sản phẩm.
3.2.12Giao diện đăng nhập dành cho admin
Trang 29Hình 3.12: Giao diện đăng nhập dành cho admin.
3.3 Chi tiết từng màn hình
3.3.1 Giao diện trang chủ
Danh sách các xử lý:
Bảng 3.1: Các xử lý trên giao diện trang chủ.
01 XL1 TRANG CHỦ Hiển thị 5 sản phẩm bán chạy nhất
02 XL2 ĐĂNG KÝ Hiển thị giao diện đăng ký tài khoản
03 XL3 ĐĂNG NHẬP Hiển thị giao diện đăng nhập tài khoản
04 XL4 GIỎ HÀNG Hiển thị giao diện quản lý giỏ hàng
05 XL5 ADMIN Hiển thị giao diện đăng nhập dành cho admin
3.3.2 Giao diện sản phẩm
Danh sách các xử lý:
Bảng 3.2: Các xử lý trên giao diện sản phẩm.
01 XL1 Menu chính Hiển thị những sản phẩm thuộc thực đơn menu chính
02 XL2 Điểm tâm Hiển thị những sản phẩm thuộc thực đơn điểm tâm
Trang 303.3.3 Giao diện chi tiết sản phẩm
Danh sách các xử lý:
Bảng 3.3: Các xử lý trên giao diện chi tiết sản phẩm.
01 XL1 Đặt mua Thêm sản phẩm vào giỏ hàng
Trang 313.3.4 Giao diện quản lý giỏ hàng
Danh sách các xử lý:
Bảng 3.4: Các xử lý trên giao diện quản lý giỏ hàng.
01 XL1 Chi tiết Hiển thị giao diện chi tiết sản phẩm
02 XL2 Xóa Xóa 1 sản phẩm khỏi giỏ hàng
03 XL3 Cập nhật Cập nhật lại số lượng 1 sản phẩm trong giỏ hàng
04 XL4 Xóa giỏ hàng Xóa toàn bộ sản phẩm có trong giỏ hàng
05 Xl5 Đặt hàng Hiển thị giao diện đặt hàng
3.3.5 Giao diện đăng nhập tài khoản
Danh sách các xử lý:
Bảng 3.5: Các xử lý trên giao diện đăng nhập tài khoản.
01 XL1 Input Tên đăng nhập Nhập tên đăng nhập, thông tin bắt buộc
02 XL2 Input Mật khẩu Nhập mật khẩu, thông tin bắt buộc
03 XL3 Đăng nhập Hiển thị giao diện trang chủ
Trang 323.3.6 Giao diện đăng ký tài khoản
Danh sách các xử lý:
Bảng 3.6: Các xử lý trên giao diện đăng ký tài khoản.
01 XL1 Input Họ tên khách hàng Nhập họ tên khách hàng, thông tin bắt buộc
02 XL2 Input Tên tài khoản Nhập tên tài khoản, thông tin bắt buộc
03 XL3 Input mật khẩu Nhập mật khẩu, thông tin bắt buộc
04 XL4 Input Mật khẩu nhập lại Nhập lại mật khẩu, thông tin bắt buộc
05 XL5 Input Địa chỉ Nhập địa chỉ, thông tin bắt buộc
06 XL6 Input Email Nhập email, thông tin bắt buộc
07 XL7 Input Điện thoại Nhập điện thoại, thông tin bắt buộc
08 XL8 Input Ngày sinh Nhập ngày sinh, thông tin bắt buộc
09 XL9 Đăng ký Lưu tài khoản đăng kí vào hệ thống
3.3.7 Giao diện đặt hàng
Danh sách các xử lý:
Bảng 3.7: Các xử lý trên giao diện đặt hàng.
01 XL1 Input Ngày giao hàng Nhập ngày giao hàng, thông tin bắt buộc
02 XL2 ĐỒNG Ý ĐẶT HÀNG Hiển thị thông báo đặt hàng thành công
3.3.8 Giao diện liệt kê sản phẩm
Danh sách các xử lý:
Bảng 3.8: Các xử lý trên giao diện liệt kê sản phẩm.
Trang 3301 XL1 Thêm mới Hiển thị giao diện thêm mới sản phẩm.
02 XL2 Sửa Hiển thị giao diện sửa đổi thông tin sản phẩm
03 XL3 Chi tiết Hiển thị giao diện thông tin chi tiết sản phẩm
3.3.9 Giao diện thêm mới sản phẩm
Danh sách các xử lý:
Bảng 3.9: Các xử lý trên giao diện thêm mới sản phẩm.
01 XL1 Input Tên sản phẩm Nhập tên sản phẩm, thông tin bắt buộc
02 XL2 Input Giá bán Nhập giá bán, thông tin bắt buộc
04 XL4 Input Ảnh bìa Nhập ảnh bìa, thông tin bắt buộc
05 XL5 Input Ngày cập nhật Nhập ngày cập nhật, thông tin bắt buộc
06 XL6 Input Số lượng tồn Nhập số lượng tồn, thông tin bắt buộc
07 XL7 Input Thực đơn Nhập thực đơn, thông tin bắt buộc
09 XL9 VỀ TRANG QUẢN LÝ SẢN
PHẨM Hiển thị giao diện liệt kê sản phẩm.
3.3.10 Giao diện sửa đổi thông tin sản phẩm
Danh sách các xử lý:
Bảng 3.10: Các xử lý trên giao diện sửa đổi thông tin sản phẩm.
01 XL1 Input Tên sản phẩm Nhập tên sản phẩm