Cách tổ chức dữ liệu và thiết kế chương trình

Một phần của tài liệu Xây dựng website bán đồ ăn vặt (Trang 59)

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

Một phần của tài liệu Xây dựng website bán đồ ăn vặt (Trang 59)

Tải bản đầy đủ (PDF)

(80 trang)