Thành Phố Hồ Chí Minh, năm 2022 TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI TP HỒ CHÍ MINH BỘMÔN CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI XÂY DỰNGWEBSITE BÁN HÀNG ĐIỆN TỬ ỨNG DỤNG THUẬT[.]
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI TP HỒ CHÍ MINH BỘ MƠN CƠNG NGHỆ THƠNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN HÀNG ĐIỆN TỬ ỨNG DỤNG THUẬT TOÁN K-NEAREST NEIGHBORS Giảng viên hướng dẫn : ThS TRẦN PHONG NHÃ Sinh viên thực : TRẦN ĐỨC VŨ Lớp : CƠNG NGHỆ THƠNG TIN Khóa : 59 Thành Phố Hồ Chí Minh, năm 2022 TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI PHÂN HIỆU TẠI TP HỒ CHÍ MINH BỘ MƠN CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN HÀNG ĐIỆN TỬ ỨNG DỤNG THUẬT TOÁN K-NEAREST NEIGHBORS Giảng viên hướng dẫn : ThS TRẦN PHONG NHÃ Sinh viên thực : TRẦN ĐỨC VŨ Lớp : CƠNG NGHỆ THƠNG TIN Khóa : 59 Thành Phố Hồ Chí Minh, năm 2022 TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÂN HIỆU TẠI THÀNH PHỐ HỒ CHÍ MINH Độc lập – Tự – Hạnh phúc NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP BỘ MÔN: CÔNG NGHỆ THÔNG TIN *** Mã sinh viên: 5951071123 Họ tên SV: Trần Đức Vũ Khóa: 59 Lớp: Cơng nghệ thơng tin Tên đề tài XÂY DỰNG WEBSITE BÁN HÀNG ĐIỆN TỬ ỨNG DỤNG THUẬT TỐN K-NEAREST NEIGHBORS Mục đích, u cầu a Mục đích - Xây dựng website bán hàng điện tử Giúp người dùng dễ dàng tùy chọn mua laptop, PC linh kiện liên quan b Yêu cầu - Tìm hiểu mơ hình MVC ASP NET - Tìm hiểu thuật tốn K-Nearest Neighbors - Yêu cầu công nghệ: + Sử dụng HTML, CSS, C# + Visual Studio + Microsoft SQL - Yêu cầu chức năng: + Khách hàng: - Đăng nhập, đăng ký - Xem sản phẩm - Xem chi tiết sản phẩm - Tìm kiếm sản phẩm - Tiếp nhận tư vấn - Quản lý giỏ hàng - Đặt hàng - Quản lý thông tin cá nhân - Thông dõi thông tin đơn hàng - Xem tin tức, tìm kiếm tin tức - Đánh giá sản phẩm - Xem chương trình khuyến + Quản trị viên: - Phân lớp khách hàng -> đưa hỗ trợ - Quản lý sản phẩm - Quản lý nhập hàng - Cấu hình email - Quản lý tin tức - Quản lý khuyến - Quản lý đơn hàng - Yêu cầu phi chức năng: + Tốc độ truy cập nhanh, xác + Giao diện đơn giản,trẻ trung + Dễ dàng sử dụng + Tốc độ truy xuất liên tục - Yêu cầu tổ chức code: + Đơn giản, dễ hiểu + Thể rõ đầu vào đầu Nội dung phạm vi đề tài a Nội dung đề tài - Tổng quan đề tài - Khảo sát đề tài - Phân tích thiết kế hệ thống - Lập trình xây dựng website bán hàng điện tử - Kiểm thử chạy thực nghiệm b Phạm vi nghiên cứu - Nghiên cứu ASP.Net - Mơn hình MVC lập trình Web - Ứng dụng thuật tốn K-Nearest Neighbors để xây dựng website bán đồ điện tử Công nghệ, cơng cụ, ngơn ngữ lập trình - Cơng nghệ: Visual studio, ASP NET, SQL server - Ngôn ngữ sử dụng: C#, SQL Các kết đạt - Hoàn chỉnh báo cáo đề tài - Hiểu cách hoạt động thuật toán K-Nearest Neighbors - Xây dựng hoàn chỉnh website bán hàng điện tử Giảng viên hướng dẫn Họ tên: Trần Phong Nhã Đơn vị công tác: Bộ môn Công Nghệ Thông Tin –Trường Đại học Giao Thông Vận Tải phân hiệu TPHCM Điện thoại: 0906761014 Email: tpnha@utc2.edu.vn Ngày … tháng … năm 2022 Đã giao nhiệm vụ TKTN Trưởng BM Công Nghệ Thông Tin Giảng viên hướng dẫn ThS.Trần Phong Nhã ThS.Trần Phong Nhã Đã nhận nhiệm vụ TKTN Sinh viên: Trần Đức Vũ Ký tên: Điện thoại: 0961416773 Email: 5951071123@st.utc2.edu.vn LỜI CẢM ƠN Lời nói đầu tiên, em xin kính gửi lời cảm ơn chân thành tới Quý thầy cô Bộ môn Công Nghệ Thông Tin, Ban Giám Hiệu Trường Đại học Giao thông Vận tải phân hiệu Thành phố Hồ Chí Minh, cho phép em thực đề tài tốt nghiệp: XÂY DỰNG WEBSITE BÁN HÀNG ĐIỆN TỬ ỨNG DỤNG THUẬT TOÁN K-NEAREST NEIGHBORS Để hoàn thành nhiệm vụ giao này, nỗ lực học hỏi khơng ngừng thân cịn có hướng dẫn tận tình thầy Trần Phong Nhã, người hướng dẫn cho em hướng đi, truyền đạt cho em kiến thức, kỹ để em hồn thành đề tài tốt nghiệp Mặc dù cố gắng để hoàn thành đề tài, chắn khó tránh khỏi thiếu sót Em mong nhận đánh giá, góp ý Q thầy để em rút cho học, kinh nghiệm q báu Sau cùng, em khơng biết nói ngồi kính chúc Q thầy Bộ môn Công Nghệ Thông Tin đặc biệt thầy Trần Phong Nhã thật dồi sức khỏe ngày gặt hái nhiều thành công sống nghiệp giảng dạy Em xin chân thành cảm ơn! Trần Đức Vũ - K59 i NHẬN XÉT CỦA GIẢNG VIÊN Tp Hồ Chí Minh, ngày tháng năm 2022 Giảng viên hướng dẫn ThS Trần Phong Nhã Trần Đức Vũ - K59 ii MỤC LỤC LỜI CẢM ƠN i NHẬN XÉT CỦA GIẢNG VIÊN ii MỤC LỤC iii DANH MỤC HÌNH ẢNH .viii DANH MỤC BẢNG BIỂU x DANH MỤC CHỮ VIẾT TẮT xii LỜI GIỚI THIỆU xiii GIỚI THIỆU ĐỀ TÀI Đặt vấn đề Mục đích đề tài Đối tượng Phạm vi đồ án CHƯƠNG I: CƠ SỞ LÝ THUYẾT .3 1.1 Mơ hình MVC .3 1.1.1 Khái niệm MVC ASP NET 1.1.2 Kiến trúc MVC 1.1.3 Sơ đồ hoạt động mơ hình MVC 1.1.4 Ưu điểm hạn chế ASP NET 1.1.5 Lịch sử phiên ASP NET .6 1.2 LINQ 1.2.1 Định nghĩa LINQ 1.2.2 Truy vấn LINQ 1.3 Thuật toán K-Nearest Neighbors 1.3.1 Định nghĩa 1.3.2 Một số khái niệm người máy 1.3.3 Giới 1.3.4 Ý tưởng thuật toán K-NN .10 Trần Đức Vũ - K59 iii 1.3.5 Ví dụ thuật tốn K-NN 12 1.3.6 Phân lớp khách hàng thuật toán K-NN 13 1.4 Kết chương 13 CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 14 2.1 Mơ hình hóa quy trình 14 2.1.1 Sơ đồ usecase tổng quát 14 2.1.2 Sơ đồ hoạt động .14 2.1.3 Sơ đồ 20 2.2 Đặc tả usecase 26 2.2.1 Đặc tả usecase đăng ký 26 2.2.2 Đặc tả usecase đăng nhập 27 2.2.3 Quy trình quản lý thông tin cá nhân 27 2.2.4 Quy trình đặt hàng 28 2.2.5 Quy trình xem chi tiết sản phẩm 29 2.2.6 Quy trình tìm kiếm sản phẩm .29 2.2.7 Quy trình cung cấp thơng tin tư vấn 30 2.2.8 Quy trình chương trình khuyến .30 2.2.9 Quy trình xem tin tức công nghệ 31 2.2.10 Quy trình đánh giá 31 2.2.11 Quy trình quản lý thống kê 32 2.2.12 Quy trình nhập hàng 32 2.2.13 Quy trình quản lý sản phẩm 33 2.2.14 Quy trình quản lý cơng nợ 33 2.2.15 Quy trình phiếu nhập hàng 34 2.2.16 Quy trình quản lý quà tặng 34 2.2.17 Quy trình quản lý thành viên 35 2.2.18 Quy trình quản lý tin tức 35 2.2.19 Quy trình quản lý đơn hàng 36 2.2.20 Quy trình giảm giá sản phẩm 36 Trần Đức Vũ - K59 iv 2.2.21 Quy trình quản lý mã giảm giá 37 2.2.22 Quy trình quản lý mẫu email: 37 2.3 Sơ đồ lớp 38 2.4 Thiết kế sở liệu 38 2.4.1 Sơ đồ diagram 38 2.4.2 Danh sách đối tượng 39 2.4.3 Mô tả chi tiết bảng 40 2.4.3.1 Bảng TB_ThongKe 40 2.4.3.2 Bảng TinTuc 40 2.4.3.3 Bảng LoaiTinTuc .40 2.4.3.4 Bảng LoaiMauEmail 41 2.4.3.5 Bảng MauEmail 41 2.4.3.6 Bảng Quyen 41 2.4.3.7 Bảng DanhMuc 41 2.4.3.8 Bảng LoaiThanhVien_Quyen 42 2.4.3.9 Bảng DonDatHang .43 2.4.3.10 Bảng KhachHang .43 2.4.3.11 Bảng ThanhVien 44 2.4.3.12 Bảng ChiTietDonDatHang 44 2.4.3.13 Bảng LoaiThanhVien 44 2.4.3.14 Bảng LoaiDanhMuc 45 3.4.3.15 Bảng DanhGia 45 2.4.3.16 Bảng SuKienKhuyenMai 45 2.4.3.17 Bảng LoaiSanPham 46 2.4.3.18 Bảng QuaTang 46 2.4.3.19 Bảng ChiTietPhieuNhap 46 2.4.3.20 Bảng PhieuNhap 47 2.4.3.21 Bảng NhaCungCap 47 2.4.3.22 Bảng SanPham 48 2.4.3.23 Bảng PhanLopKhachHang 49 2.4.3.24 Bảng KhachHangTrain 49 Trần Đức Vũ - K59 v 2.5.3.23 Bảng PhanLopKhachHang Tên cột Kiểu liệu Diễn giải MaPL Int Mã phân lớp TenPL Nvarchar(MAX) Tên phân lớp Tuoi Int Tuổi MucTaiChinh Nvarchar(30) Khả tài Ghi Khóa Bảng 2.46: Mơ tả bảng PhanLopKhachHang 2.5.3.24 Bảng KhachHangTrain Tên cột Kiểu liệu Diễn giải MaKHPL Int Mã KH phân lớp Tuoi Int Tuổi MucTaiChinh Nvarchar(30) Khả tài MaPL Int Mã phân lớp Ghi Khóa Khóa ngoại Bảng 2.47: Mô tả bảng KhachHangTrain 2.5.3.25 Bảng GiamGia Tên cột Kiểu liệu Diễn giải MaGiamGia Int Mã giảm giá GiaKhuyenMai Int Giá khuyến NgayBatDau Datetime Ngày bắt đầu NgayKetThuc Datetime Ngày kết thúc Ghi Khóa Bảng 2.48 Mô tả bảng GiamGia 2.5.3.26 Bảng DanhMucTin Tên cột Kiểu liệu Diễn giải MaDanhMucTin Int Mã danh mục tin TenDanhMuc Nvarchar(255) Tên danh mục Ghi Khóa Bảng 2.49 Mô tả bảng Danh MucTin Trần Đức Vũ – K59 49 CHƯƠNG III: THIẾT KẾ GIAO DIỆN VÀ CÀI ĐẶT HỆ THỐNG 3.1 PHẦN USER 3.1.1 Trang chủ chức phân lớp khách hàng, gợi ý mua hàng Hình 3.1 Trang chủ - Đây trang chủ website bán hàng điện tử Hiển thị chức tìm kiếm, xem sản phẩm, chi tiết sản phẩm, đăng nhập, đăng ký, Hình 3.2 Phân lớp khách hàng Trần Đức Vũ – K59 50 - Chức phân lớp khách hàng giúp người mua dễ dàng tùy chọn vào sản phẩm gợi ý phù hợp với lứa tuổi thu nhập 3.1.2 Chức quản lý đặt hàng Hình 3.3 Quản lý đặt hàng Hình 3.4 Giỏ hàng - Khi khách hàng lựa chọn hàng hàng đưa vào giỏi hàng để chờ toán Trần Đức Vũ – K59 51 Hình 3.5 Phiếu điền thơng tin đặt hàng - Người mua tiếp tục thực điền đầy đủ thông tin cá nhân địa để đặt hàng, có mã giảm giá sử dụng kèm Hình 3.6 Lựa chọn phương thức toán Trần Đức Vũ – K59 52 - Sau hồn thành phiếu điền thơng tin mua hàng người mua giao hàng đến tận nơi tốn hóa đơn cho người giao hàng Hình 3.7 Mail thông báo đặt hàng thành công - Một mail thông báo đặt hàng thành công gửi mail cho khách hàng, bao gồm thông tin tên sản phẩm, số lượng, giá, tổng tiền, 3.1.3 Chức quản lý tài khoản Trần Đức Vũ – K59 53 Hình 3.8 Thơng tin hồ sơ Hình 3.9 Giao diện đổi mật 3.1.4 Chức tìm kiếm lọc sản phẩm theo giá, xem chi tiết sản phẩm Trần Đức Vũ – K59 54 Hình 3.10 Lọc sản phẩm theo giá Hình 3.11 Chi tiết sản phẩm 3.1.5 Chức đăng ký, đăng nhập, xác nhận qua email Trần Đức Vũ – K59 55 Hình 3.12 Đăng ký tài khoản - Người mua tạo tài khoản để thuận tiện việc đặt hàng quản lý giỏi hàng Hình 3.13 Thơng tin đăng ký Trần Đức Vũ – K59 56 Hình 3.14 Mã OTP xác thực - Một mã OTP gửi mail đăng ký để người mua hồn thành việc đăng ký Hình 3.15 Hồn thành việc đăng ký - Sẽ có mail phản hồi báo thành công đăng ký tài khoản thành công Trần Đức Vũ – K59 57 3.2 PHẦN ADMIN 3.2.1 Chức quản lý đơn hàng Hình 3.16 Quản lý đơn hàng - Admin quản lý đơn hàng người mua đặt, thị đơn hàng mà người mua đặt Hình 3.17 Thông tin đơn hàng Trần Đức Vũ – K59 58 - Thông tin chi tiết đơn hàng mã đơn hàng, ngày đặt, trạng thái, địa chỉ, ghi thơng tin hàng Ngồi admin cịn in đơn hàng hủy đơn hàng 3.2.2 Chức thống kê doanh thu Sử dụng High Charts Hình 3.18 Thống kê, doanh thu - Khi người mua thực mua hàng thành công, doanh thu thống kê theo tháng năm 3.2.3 Chức quản lý khuyến mãi, mã giảm giá, quà tặng Hình 3.19 Quản lý khuyến Trần Đức Vũ – K59 59 - Admin thêm chương trình khuyến mục quản lý khuyến mãi, đặt thời gian bắt đầu thời gian kết thúc chương trình khuyến 3.1.4 Chức quản lý sản phẩm Hình 3.20 Quản lý sản phẩm - Tùy chọn xem xét thêm sản phẩm mục quản lý sản phẩm 3.1.5 Chức nhập hàng, quản lý phiếu nhập Hình 3.21 Quản lý phiếu nhập Trần Đức Vũ – K59 60 KẾT LUẬN Kết đạt Về mặt học thuật, em bổ sung thêm kiến thức machine learning cụ thể bổ sung thêm kiến thức thuật toán K-Nearest Neighbors Cũng từ báo cáo này, em cải thiện kỹ làm báo cáo qua lần hỏi bạn lần hướng dẫn từ giảng viên hướng dẫn để viết cáo cáo hồn chỉnh Sau làm đồ án tốt nghiệp, em xây dựng website bán hàng điện tử tương đối hoàn chỉnh nằm mức thử nghiệm đáp ứng nhu cầu người dùng Hạn chế Website chưa có chức toán online Giao diện chưa thật hấp dẫn người mua Tốc độ website chậm chưa tối ưu Hướng phát triển Hướng phát triển ngắn hạn: Tiếp tục phát triển webiste hoàn thiện đầy đủ chức toán Tối ưu giao diện để thu hút nhiều khách hàng Hướng phát triển dài hạn: Tìm hiểu thêm thuật toán khác để áp dụng vào website Tối ưu website SEO để góp phần đưa website trở thành hệ thống rộng mở Trần Đức Vũ – K59 61 PHỤ LỤC h Hướng dẫn cài đặt - Cài đặt csdl : mục CSDL - Sửa đường dẫn kết nối database webconfig - Chạy chương trình Hướng dẫn sử dụng - Sau chạy thành công chương trình, người vào xem hàng laptop, PC, chuột, bàn phím phụ kiện liên quan Sau xem xong có nhu cầu đặt hàng, sau tiến hành điền thơng tin xác nhận đặt hàng - Người mua nên đăng ký tài khoản riêng để dễ dàng quản lý giỏ hàng - Link github: https://github.com/DucVu0609/DATN_WebBanHangDienTu Trần Đức Vũ – K59 62 TÀI LIỆU THAM KHẢO [1] Đỗ Văn Uy – Bài giảng mơn phân tích thiết kế hệ thống, Viện công nghệ thông tin Đại học Bách Khoa Hà Nội Lê Đình Duy - Thiết kế lập trình ứng dụng web ASP, NXB Thống Kê, [2] năm 2002 Nguyễn Văn Ba – Phân tích thiết kế hệ thống thông tin, phương pháp [3] hướng cấu trúc, NXB Đại học Quốc gia Hà Nội, năm 2003 [4] [5] [6] VN-Guide - Những thực hành ASP, NXB Thống Kê, năm 2002 Wikipedia, MySQL, https://vi.wikipedia.org/wiki/MySQL, 2012 Wikipedia, HTML, https://vi.wikipedia.org/wiki/HTML, 2012 [7] Wikipedia, CSS, https://vi.wikipedia.org/wiki/MySQL, 2012 [8] [9] Wikipedia, JavaSciprt, https://vi.wikipedia.org/wiki/MySQL, 2012 TEU Channel, Lập trình ASP.NET MVC5 Cơ bản, 2018 [10] Thuật Toán K-Nearest Neighbors (KNN) Siêu Cơ Bản (codelearn.io) [11] Đánh Giá Thuật Toán Knn (K, Đề Tài: Nghiên Cứu Thuật Toán K (exposedjunction.com) [12] Tài liệu Nghiên cứu thuật toán k nearest neighbor sử dụng iris flowers dataset đánh giá hiệu thuật toán (xemtailieu.net) [13] KNN - giải thuật "siu" Học máy - Blog Lê Thạch (lethach.com) Trần Đức Vũ – K59 63