2.12.1 Bảng “SanPham”
Bảng sản phẩm cho phép quản lý các thông tin liên quan đến sản phẩm
Bảng 2.2: Bảng Sản phẩm
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaSp Int No Mã sản phẩm Khóa
TenSP Nvarchar(255) Yes Tên sản
phẩm
DonGia Decimal(18,0) Yes Đơn giá
NgayCapNhap datetime Yes Ngày cập
nhật ThongTin nvarchar(MAX) Yes Thông tin
MoTa nvarchar(MAX) Yes Mô tả
HinhAnh Nvarchar(MAX) Yes Hình ảnh
SoLuongTon Int Yes Số lượng tồn
LuotXem Int Yes Lượt xem
LuotBinhChon Int Yes Lượt bình
chọn
LuotBinhLuan Int Yes Lượt bình
luân
SoLanMua Int Yes Số lần mua
MaNCC Int Yes Mã nhà cung cấp
MaNSX Int Yes Mã nhà sản
xuất
MaLoaiSP Int Yes Mã loại sản
phẩm
DaXoa Bit Yes Đã xóa
2.12.2 Bảng “KhachHang”
Bảng khách hàng cho phép quản lý các thông tin về khách hàng
Bảng 2.3: Bảng Khách hàng
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaKH Int No Mã khách
hàng
Khóa
TenKH Nvarchar(100) Yes Tên khách
hàng DiaChi Nvarchar(100) Yes Địa chỉ
Email Nvarchar(255) Yes Email
SoDienThoai nvarchar(255) Yes Số điện thoại
MaThanhVien Int Yes Mã thành
2.12.3 Bảng “NhaCungCap”
Bảng NhaCungCap cho phép quản lý các thông tin về nhà cung cấp
Bảng 2.4: Bảng nhà cung cấp
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaNCC Int No Mã nhà cung cấp Khóa
TenNCC Nvarchar(100) Yes Tên nhà cung cấp
DiaChi Nvarchar(255) Yes Địa chỉ
Email Nvarchar(255) Yes Email
SoDienThoai nvarchar(255) Yes Số điện thoại
Fax nvarchar(255) Yes Số Fax
2.12.4 Bảng “NhaSanXuat”
Bảng 2.5: Bảng nhà sản xuất
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaNSX Int No Mã nhà sản
xuất
Khóa
TenNSX Nvarchar(100) Yes Tên nhà sản xuất
ThongTin Nvarchar(255) Yes Thông tin
2.12.5 Bảng “LoaiSanPham”
Bảng 2.6: Bảng loại sản phẩm
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaLoaiSP Int No Mã loại sản
phẩm
Khóa
TenLoai Nvarchar(100) Yes Tên loại
Icon Nvarchar(MAX) Yes Icon
BiDanh Nvarchar(50) Yes Bí danh
2.12.6 Bảng “LoaiThanhVien”
Bảng 2.7: Bảng loại thành viên
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaLoaiTV Int No Mã loại thành
viên
Khóa
TenLoai Nvarchar(50) Yes Tên loại
2.12.7 Bảng “LoaiThanhVien_Quyen”
Bảng 2.8: Bảng phân quyền
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaLoaiTV Int No Mã loại thành
viên
Khóa
MaQuyen Nvarchar(50) No Mã quyền
GhiChu Nvarchar(50) Yes Ghi chú
2.12.8 Bảng “ChiTietDonDatHang”
Bảng 2.9: Bảng chi tiết đơn đặt hàng
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaChiTietDDH Int No Mã chi tiết
đơn đặt hàng
Khóa
MaDDH Int Yes Mã đơn đặt
hàng
MaSP Int Yes Mã sản phẩm
TenSP Nvarchar(50) Yes Tên sản
phẩm
SoLuong Int Yes Số lượng
2.12.9 Bảng “ChiTietPhieuNhap”
Bảng 2.10: Bảng chi tiết phiếu nhập
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaChiTietPN Int No Mã chi tiết
phiếu nhập
Khóa
MaPN Int Yes Mã phiếu
nhập
MaSP Int Yes Mã phiếu
nhập
DonGiaNhap Decimal(18,0) Yes Đơn giá nhập
SoLuongNhap Int Yes Số lượng
nhập
2.12.10 Bảng “PhieuNhap”
Bảng 2.11: Bảng phiếu nhập
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaPN Int No Mã phiếu
nhập
Khóa
MaNCC Int Yes Mã nhà cung
cấp
NgayNhap Datetime Yes Ngày nhập
2.12.11 Bảng “DonDatHang”
Bảng 2.12: Bảng đơn đặt hàng
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaDDH Int No Mã đơn đặt
hàng
Khóa
NgayDat Datetime Yes Ngày đặt
TinhTrangGiaoHang Bit Yes Tình trạng giao hàng
NgayGiao Datetime Yes Ngày giao
DaThanhToan Bit Yes Đã thanh
toán
MaKH Int Yes Mã khách
hàng
UuDai Int Yes Ưu đãi
DaHuy Bit Yes Đã hủy
DaXoa Bit Yes Đã xóa
2.12.12 Bảng “Quyen”
Bảng 2.13: Bảng quyền
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaQuyen Nvarchar(50) No Mã quyền Khóa
2.12.13 Bảng “ThanhVien”
Bảng 2.14: Bảng thành viên
Tên thuộc tính Kiểu dữ liệu Null Chú thích Khóa
MaThanhVien Int No Mã thành
viên
Khóa
TaiKhoan Nvarchar(100) Yes Tài khoản MatKhau Nvarchar(100) Yes Mật khẩu
HoTen Nvarchar(100) Yes Họ tên
DiaChi Nvarchar(255) Yes Địa chỉ
Email Nvarchar(255) Yes Email
SoDienThoai varchar(12) Yes Số điện thoại CauHoi Nvarchar(MAX) Yes Câu hỏi
CauTraLoi Nvarchar(MAX) Yes Câu trả lời
MaLoaiTV Int Yes Mã loại
2.14 Yêu cầu về bảo mật
Có tính bảo mật cao, đảm bảo nếu không có được username, password và được cho phép hoạt động của Admin thì không có một User nào có thể thay đổi thông tin về sản phẩm cũng như toàn bộ Website ngoài việc thay đổi thông tin cá nhân của User vì vậy việc quản lý dữ liệu bằng mật khẩu đăng nhập:
+ Tên đăng nhập
+ Mật khẩu đăng nhập
Các thông tin của khách hàng được bảo mật. Hệ thống quản trị tuyệt đối an toàn, không thể bị truy cập do lỗi của hệ thống.
Như vậy, từ các biểu đồ Use Case và biểu đồ hoạt động của hệ thống đã thể hiện được các chức năng của các tác nhân và hệ thống làm việc như thế nào, xuất phát từ hệ thống hiện tại và các yêu cầu về hệ thống, yêu cầu khách hàng, chúng ta nên xây dựng cho trang Website có đầy đủ chức năng của người quản trị và người dùng và phải đảm bảo có được tính bảo mật cao.
2.15 Kết luận chương 2
Trong chương 2 em đã đi sâu vào phân tích các chức năng của hệ thống và đưa ra phân tích thiết kế hệ thống bằng hình ảnh theo phương pháp phân tích thiết kế hướng đối tượng. Thông qua các biểu đồ: biểu đồ UseCase, Biểu đồ tuần tự chức năng, biểu đồ hoạt động, biểu đồ cộng tác, và bảng các cơ sở dữ liệu. Từ đó khái quát nhất các chức năng có trong hệ thống có thể nói đến như: chức năng quản lý đơn hàng, quản lý sản phẩm, danh mục các nhà cung cấp, phân chia theo thuộc tính của sản phẩm, tìm kiếm chức năng, quản lý giỏ hàng, đăng nhập, đăng kí, quản lý hóa đơn theo giai đoạn triển khai sản phẩm...
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH
3.1 Xây dựng chương trình Môi trường cài đặt Môi trường cài đặt
Website được viết trên ngôn ngữ Asp.Net MVC, là một nền tảng lâu đời và phát triển qua nhiều giai đoạn nên ưu điểm của ngôn ngữ lập trình này rất lớn, thư viện hỗ trợ đa dạng, chạy được trên nhiều loại trình duyệt hiện nay
Thông tin cấu hình máy được sử dụng trong việc xây dựng và cài đặt chương trình:
CPU: I5 4200 2.3Hz Ram 4Gb
SSD: 120Gb
Graphic: AMD Radeon 8600m 4Gb
ASP.NET MVC là một framework tuyệt vời hỗ trợ pattern MVC cho ASP.NET. Nếu bạn muốn hiểu ASP.NET MVC làm việc như thế nào, bạn cần phải có một sự hiểu biết rõ ràng về mô hình MVC. MVC là cụm từ viết tắt của Model-View-Controller, nó phân chia pattern của ứng dụng thành 3 phần - model, controller và view.
Model giúp lưu trữ dữ liệu của ứng dụng và trạng thái của nó. Nó là một cơ sở dữ liệu hoặc cũng có thể chỉ là một tập tin XML.
View được coi là một giao diện người dùng được sử dụng bởi khách truy cập trang web của bạn để nhìn thấy các dữ liệu. Các trang ASPX thường được sử dụng để hiển thị view trong các ứng dụng ASP.NET MVC.
Controller chịu trách nhiệm xử lý các tương tác của người dùng với trang web. Nó được sử dụng để xác định loại view nào cần phải được hiển thị. Controller cũng được sử dụng cho mục đích giao tiếp với model.
Framework này là khá nhẹ và cung cấp khả năng kiểm thử, trong đó tích hợp với các tính năng hiện có của ASP.NET như xác thực (authentication) dựa trên membership và cả các master page.[2]
Bạn nên sử dụng ASP.NET MVC framework cho việc tạo ra các ứng dụng web vì những lý do được liệt kê sau đây:
SoC
Một trong những lợi ích chính được đưa ra bởi ASP.NET MVC đó là Separation of Concern (phân tách mối bận tâm). Framework này cung cấp sự phân tách rất rõ gàng giữa model, logic nghiệp vụ, giao diện người dùng và dữ liệu.
Control
Khi bạn sử dụng framework ASP.NET MVC, bạn được cung cấp một bộ control rất mạnh mẽ trên JavaScript, HTML và CSS so với các control được cung cấp bởi một số hình thức truyền thống trên web.
Có khả năng kiểm thử
Framework ASP.NET MVC hỗ trợ việc kiểm thử các ứng dụng web rất tốt. Vì vậy, nếu bạn muốn kiểm thử ứng dụng web của mình trước khi đưa chúng cho người sử dụng, bạn có thể chỉ cần sử dụng ASP.NET MVC.
Gọn nhẹ
Framework này không sử dụng View State, hỗ trợ bạn trong việc làm giảm băng thông của các request rất nhiều. Nhiều chuyên gia khuyên bạn nên sử dụng framework này nếu bạn quan tâm đến việc tạo ra các ứng dụng MVC tuyệt vời và hữu ích dựa trên web.
View và Size của Control
Các framework ASP.NET thường phải đối mặt với vấn đề của view state và kích thước của control trong HTML. Phần view lưu toàn bộ dữ liệu đã được rendered và do đó kích thước các tập tin HTML trở nên lớn hơn. Nếu bạn sử dụng một đường kết nối internet chậm, bạn sẽ quan sát thấy độ trễ trong việc tải các
trang web và ứng dụng. Vấn đề này không còn tồn tại trong framework ASP.NET MVC cũng như nó không chứa một khái niệm về view ở trong đó. Bằng cách sử dụng ASP.NET MVC, bạn sẽ không còn phải đối mặt với các vấn đề về thời gian tải trang nữa.
Tích hợp
Khi bạn tích hợp MVC với jQuery, bạn có thể viết code của mình chạy trong các trình duyệt web. Điều này sẽ giúp giảm tải cho các web server của bạn.
Khả năng sử dụng
Bạn không cần phải có nhiều kiến thức kỹ thuật khi sử dụng framework ASP.NET MVC. Tuy nhiên, bạn sẽ thích nó sau khi học được cách làm cho nó hoạt động. Framework này tốt hơn rất nhiều so với nhiều hình thức trang web khác. Lý do là nó hoạt động khá gần với các chiến lược làm việc của web và được coi là khá dễ dàng và thú vị để sử dụng.
API Services
Một lợi thế lớn khác đó là việc rendered bởi MVC giúp bổ sung thêm các API web services. Nếu bạn muốn thêm các service tới ứng dụng web của mình, thì bạn chắc chắn cần phải tìm hiểu làm thế nào những service này hoạt động.[3]
3.2 Các chức năng chương trình
Layout sử dụng chung cho Admin:
Trong chương trình của mình em sử dụng layout bootstrap miễn phí trên website: https://startbootstrap.com/
Với giao diện trực quan, dễ hiểu, ngắn gọn cung cấp giao diện tùy biến cao cho người sử dụng, đặc biệt là người quản trị website, trong giao diện này cung cấp các template có sẵn được viết trên ngôn ngữ html mới nhất kết hợp với CSS tạo ra một giao diện đơn giản, dễ nắm bắt và ổn định
Website cung cấp các chức năng cơ bản nhất cho người quản trị và người dùng, cụ thể là quản lý bán hàng với mặt hàng là đồ ăn vặt
Người sử dụng là: Admin( người điều hành website), khách hàng (những người đã có tài khoản trên trang web), và khách hàng vãng lai (những khách hàng chưa có tài khoản)
Các chức năng có thể kể đến như: Quản lý sản phẩm Quản lý danh mục sản phẩm Quản lý giỏ hàng Quản lý đơn hàng Quản lý khách hàng
Quản lý thống kê, báo cáo Quản lý nhà cung cấp Tìm kiếm
Gửi Email
Đánh giá món ăn ...
3.3 Giao diện website 3.3.1 Giao diện trang chủ 3.3.1 Giao diện trang chủ
3.3.2 Giao diện trang đăng kí
Hình 3.2: giao diện trang đăng kí
3.3.3 Giao diện trang quản lý sản phẩm
3.3.4 Giao diện trang giỏ hàng
Hình 3.4: Giao diện trang giỏ hàng
3.3.6 Giao diện trang tìm kiếm
Hình 3.6 giao diện trang tìm kiếm
3.4 Kết quả thực nghiệm
Chương trình hoạt động với đầy đủ các chức năng đã kể trên, giao diện website dễ nhìn, đơn giản, có đầy đủ thông tin của các mặt hàng
Các chức năng của người quản trị hoạt động tốt, xử lý hiệu quả các quy trình quản lý
Đối với người sử dụng, các thông tin cụ thể, trực quan bằng hình ảnh đem đến cho người dùng cái nhìn khách quan nhất về sản phẩm cũng như thông qua đánh giá từ các người dùng khác, chức năng quản lý đơn hàng với 3 cấp dễ sử dụng giúp người dùng nắm được tình trang đơn hàng và giá cả của đơn hàng qua hóa đơn
Chương trình hoạt đọng đôi khi bị giật, lag, xử lý dữ liệu chậm do chưa được tối ưu hóa về cơ sở dữ liệu
3.5 Kết luận chương 3
Trong phần này em đã nói về môi trường cài đặt chương trình cũng như các chức năng của hệ thống, các chức năng được xử lý trên môi người windows sử dụng ngôn ngữ lập trình Asp.Net theo mô hình MVC và hệ quản trị cơ sở dữ liệu Microsoft SQL Server
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Sau một thời gian nghiên cứu và bắt tay vào thực hiện, với mong muốn xây dựng website hệ thống được sự quan tâm và hướng dẫn tận tình của cô Bùi Khánh Linh em đã bước đầu hoàn thành đề tài: “Xây dựng website bán đồ ăn vặt”. Cơ bản em đã làm được những chức năng sau
Quản lý mặt hàng đưa lên trang web
Quản lý người dùng
Quản lý danh mục sản phẩm
Hiển thị thông tin về sản phẩm
Bình chọn đánh giá sản phẩm sử dụng sao(5 sao)
Gửi Email thông tin đơn hàng cho khách hàng
Thực hiện giao dịch mua hàng với khách thông qua chức năng mua sản phẩm
Quản lý giỏ hàng
Tìm kiếm các mặt hàng có trên hệ thống
Chức năng duyệt đơn hàng cho người quản trị
Thông báo sản phẩm sắp hết hàng trên hệ thống để người quản trị nắm được
Hiển thị các mặt hàng lên hệ thống một cách trực quan và dễ hiểu
Thanh toán trực tuyến cho người dùng
Với mục đích hoàn thiện hơn nữa chương trình của mình để đáp ứng tốt nhất cho nhu cầu thực tế, trong tương lai em sẽ cố gắng thực hiện các chức năng:
Tạo lập trang web trở thành sàn giao dịch thương mại chuyên về đồ ăn vặt
Chức năng thông báo cho khách hàng về đơn hàng và trạng thái của đơn hàng
Lưu lịch sử mua hàng cho khách hàng
Thực hiện các chương trình triết khấu cho khách hàng thành viên thông qua đánh giá cấp độ khách hàng
Vì thời gian triển khai có hạn, và việc tìm hiểu công nghệ mới cón gặp nhiều khó khăn do không có nhiều tài liệu nên không tránh được những sai sót. Em rất mong nhận được sự đóng góp ý kiến và hướng dẫn của thầy cô để đồ án thêm hoàn thiện. Một lần nữa em xin chân thành cảm ơn cô Bùi Khánh Linh đã tận tình giúp đỡ chúng em trong suốt thời gian thực hiện đề tài này.
Sinh viên thực hiện
Trần Tuấn Anh
TƯ LIỆU THAM KHẢO [1]https://infonet.vn/cong-bo-bao-cao-chi-so-thuong-mai-dien-tu-viet-nam-2018- vao-ngay-143-post255501.info [2]https://techmaster.vn/posts/33728/aspnet-mvc-la-gi-and-tai-sao-ban-nen-su- dung-no [3] https://techmaster.vn/posts/33728/aspnet-mvc-la-gi-and-tai-sao-ban-nen-su- dung-no