CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG BÁN HÀNG
d. Mối kết hợp HoaDon, NhanVien
Hình 3.11: Mối kết hợp Hóa đơn – Nhân viên.
− Các thực thể tham gia: SanPham, LoaiSanPham.
− Khóa của mối kết hợp: MaSP, MaSP.
− Diễn giải: Một loại sản phẩm có nhiều sản phẩm, một sản phẩm thuộc một loại sản phẩm.
Hình ..: Mối kết hợp SanPham, NhaCungCap
− Các thực thể tham gia: SanPham, NhaCungCap.
− Khóa của mối kết hợp: MaNCC, MaNCC.
− Diễn giải: Một nhà cung cấp có nhiều sản phẩm, một sản phẩm thuộc một nhà cung cấp.
f. Mối kết hợp NhaCungCap, PhieuNhap.
Hình ..: Mối kết hợp PhieuNhap, NhaCungCap
− Các thực thể tham gia: PhieuNhap, NhaCungCap.
− Khóa của mối kết hợp: MaNCC, MaNCC.
− Diễn giải: Một nhà cung cấp có nhiều phiếu nhập, một phiếu nhập thuộc một nhà cung cấp.
g. Mối kết hợp PhieuNhap, ChiTietPhieuNhap
Hình..: Mối kết hợp phiếu nhập, chi tiết phiếu nhập
− Các thực thể tham gia: PhieuNhap, ChiTietPhieuNhap.
− Khóa của mối kết hợp: MaPN, MaPN.
− Diễn giải: Một phiếu nhập có nhiều chi tiết phiếu nhập, một chi tiết phiếu nhập thuộc một phiếu nhập.
Hình 3.12: Mối kết hợp Hóa đơn – Khách hàng
− Các thực thể tham gia: SanPham, NhaSanXuat.
− Khóa của mối kết hợp: MaNSX, MaNSX.
− Diễn giải: Một nhà sản xuất có nhiều sản phẩm, một sản phẩm thuộc một nhà sản xuất.
3.2. PHÂN TÍCH3.2.1. Sơ đồ use case. 3.2.1. Sơ đồ use case.
Các chức năng chính của Website bao gồm:
− Bán hàng.
− Quản lý thành viên.
− Quản lý khách hàng.
− Quản lý sản phẩm
− Tra cứu thông tin.
Hình 3.13:
Sơ đồ Use Case
Các quy
trình nghiệp vụ hệ thống:
Hình 3.14: Use Case đăng ký
Use case nghiệp vụ: Đăng ký:
Use case bắt đầu khi khách hàng truy cập vào trang web và bấm vào nút đăng ký. Mục tiêu của use case nhằm đáp ứng nhu cầu đăng ký tài khoản của khách hàng.
1. Khách hàng tiến hành truy cập vào Website. 2. Khách hàng chọn chức năng “Đăng kí”.
3. Nhập đầy đủ tài khoản và mật khẩu, thông tin cá nhân mà hệ thống hiển thị trên giao diện.
4. Hệ thống xác nhận thông tin và tạo tài khoản cho khách hàng. 5. Hiển thị kết quả
Các dòng thay thế:
Ở bước 3, nếu tài khoản hoặc mật khẩu – thông tin cá nhân không hợp lệ hay đã tồn tại, khách hàng sẽ phải nhập lại thông tin.
Hình.. :Use case đăng kí
Use case nghiệp vụ: Quản Lý Đăng nhập
Use case bắt đầu khi người dùng truy cập vào website và muốn đăng nhập . Mục tiêu của use case nhắm giúp người dùng đăng nhập vào hệ thống.
Các dòng cơ bản:
1. Khách hàng tiến hành truy cập vào Website. 2. Khách hàng chọn chức năng “Đăng nhập”. 3. Khách hàng nhập tên đăng nhập và mật khẩu. 4. Hệ thống kiểm tra thông tin đăng nhập.
5. Trả về và hiển thị kết quả.
Các dòng thay thế:
Ở bước 3, nếu khách hàng nhập tên đăng nhập và mật khẩu không đúng thì người dùng phải nhập lại hoặc kết thúc.
Hình .. : Sơ đồ tuần tự chức năng đăng nhập
Hình.. : Use case tra cứu thông tin
Use case bắt đầu khi khách hàng muốn tra cứu thông tin của một sản phẩm bất kì. Mục tiêu của use case nhằm giúp khách hàng tra cứu thông tin cần thiết liên quan đến sản phẩm.
Các dòng cơ bản:
1. Khách hàng tiến hành truy cập vào Website. 2. Khách chọn chức năng tra cứu thông tin.
3. Khách hàng nhập thông tin cần tra cứu và bấm tìm kiếm.
4. Hệ thống sẽ hiển thị các thông tin liên quan mà khách hàng yêu cầu.
Các dòng thay thế:
Ở bước 3 và 4, nếu thông tin khách hàng tra cứu không hợp lệ thì hệ thống sẽ hiển thị “ không có sản phẩm cần tìm”
Hình .. : Sơ đồ tuần tự nghiệp vụ tra cứu thông tin của khách hàng
Use case nghiệp vụ: Tra cứu thông tin của quản lý
Use case bắt đầu khi quản lý có nhu cầu tra cứu – sử dụng các tác vụ các liên quan đến sản phẩm, hóa đơn... Mục tiêu của use case nhằm cung cấp các thông tin liên quan của các sản phẩm, hóa đơn, khách hàng …
Các dòng cơ bản:
1. Quản lý đăng nhập vào hệ thống và vào giao diện quản lý. 2. Quản lý chọn chức năng tra cứu thông tin.
3. Quản lý nhập tự khóa cần tra cứu. 4. Hệ thống kiểm tra thông tin.
5. Hiển thị các thông tin mà quản lý đã yêu cầu.
Các dòng thay thế:
Ở bước 3 và 4, nếu thông tin quản lý tra cứu không hợp lệ thì hệ thống sẽ hiển thị “ không có sản phẩm cần tìm”
Hình .. : Use case bán hàng
Use case nghiệp vụ: Bán hàng
Use case bắt đầu khi khách hàng có nhu cầu mua hàng và thanh toán. Mục tiêu của use case nhằm giúp quản lý việc bán hàng…
Các dòng cơ bản:
1. Khách hàng tiến hành truy cập vào Website. 2. Khách hàng tiến thành đăng nhập vào hệ thống.
3. Khách hàng tiến hành chọn sản phẩm muốn mua vào giỏ hàng. 4. Sau khi chọn đủ, khách hàng tiến thành thanh toán ở giỏ hàng. 5. Hệ thống kiểm tra số lượng tồn của sản phẩm.
6. Hệ thống thông báo số lượng đáp ứng đủ
7. Hệ thống lập hóa đơn và hiển thị thông báo thành công.
Các dòng thay thế:
điền thông tin cần thiết ở giỏ hàng rồi tiến bước 4.
Sequence bán hàng
Hình..: Use case quản lý sản phẩm
Use case nghiệp vụ: Quản lý Sản phẩm
Use case bắt đầu khi quản lý muốn thao tác liên quan đến sản phẩm (thêm, xóa, sửa ). Mục tiêu của use case nhắm giúp ban quản lý quản lý chi tiết về các thông tin mặt hàng của cửa hàng mình.
Các dòng cơ bản:
1. Quản lý đăng nhập vào hệ thống và vào giao diện quản lý. 2. Quản lý chọn chức năng quản lý mặt sản phẩm.
3. Quản lý chọn thao tác: Thêm, Xóa, Sửa, Xem chi tiết, Thoát. 4. Hệ thống tra cứu thông tin mà quản lý thao tác.
Các dòng thay thế:
Hình ..: Use case quản lý khách hàng
Use case nghiệp vụ: Quản lý khách hàng
Use case bắt đầu khi quản lý muốn thao tác liên quan đến khách hàng (thêm, xóa, sửa ). Mục tiêu của use case nhắm giúp ban quản lý quản lý chi tiết về các thông tin khách hàng của cửa hàng mình.
Các dòng cơ bản:
1. Quản lý đăng nhập vào hệ thống và vào giao diện quản lý. 2. Quản lý chọn chức năng quản lý mặt khách hàng.
3. Quản lý chọn thao tác: Xóa, Sửa, Xem chi tiết. 4. Hệ thống tra cứu thông tin mà quản lý thao tác. 5. Hiển thị kết quả
Hình.. : Use case thống kê
Use case nghiệp vụ: Thống kê
Use case bắt đầu khi quản lý muốn thống kê hàng và doanh thu. Mục tiêu của use case nhắm giúp ban quản lý thống kê số lượng hàng hóa, hóa đơn và doanh thu.
Các dòng cơ bản:
1. Quản lý đăng nhập vào hệ thống và vào giao diện quản lý. 2. Quản lý chọn chức năng thống kê.
3. Hệ thống hiển thị các thông tin liên quan. 4. Quản lý xem và có các thao tác tùy ý. 5. Hiển thị kết quả
Các dòng thay thế:
Hình 3.15: Sơ đồ cơ sở dữ liệu
3.2.3. Mô tả cơ sở dữ liệu
a. Mô tả bảng NhaSanXuat
Chứa thông tin của Nhà sản xuất: MaNSX, TenNSX, ThongTin, Logo. STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaNSX int
Là khóa chính để phân biệt giữa các nhà sản xuất với nhau, mỗi nhà sản
xuất được cung cấp một mã riêng. 2 TenNSX Nvarchar(100) Tên của nhà sản xuất
3 ThongTin Nvarchar(225) Thông tin của nhà sản xuất 4 Logo Nvarchar(max) Đường dẫn hình ảnh logo của nhà sảnxuất
b. Mô tả bảng NhaCungCap
Chứa thông tin của Nhà cung cấp: MaNCC, TenNCC, DiaChi, Email, SoDienThoai, Fax.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaNCC int
Là khóa chính dùng để phân biệt các nhà cung cấp với nhau, mỗi nhà cung
cấp sẽ có một mã riêng biệt.
2 TenNCC Nvarchar(100) Tên của nhà cung cấp.
3 DiaChi Nvarchar(255) Địa chỉ của nhà cung cấp.
4 Email Nvarchar(255) Email liên hệ của nhà cung cấp. 5 SoDienThoai Varchar(11) Số điện thoại liên hệ của nhà cung
cấp.
6 Fax Nvarchar(50) Số Fax liên hệ của nhà cung cấp.
c. Mô tả bảng PhieuNhap
Chứa thông tin của Phiếu nhập: MaPN, MaNCC, NgayNhap, DaXoa.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaPN Int Là khóa chính, dùng để phân biệt
giữa các phiếu nhập với nhau.
2 MaNCC int Thuộc tính để phân biệt giữa các
nhà cung cấp với nhau. ( Khóa ngoại)
4 DaXoa Bit Thuộc tính để nhận biết các phiếu nhập đã xóa.
d. Mô tả bảng ChiTietPhieuNhap
Chứa thông tin của Chi tiết phiếu nhập:MaChiTiet, MaPN, MaSP, DonGiaNhap, SoLuongNhap.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaChiTiet Int
Là khóa chính, dùng để phân biệt giữa các chi tiết phiếu nhập với nhau, mỗi chi tiết hóa đơn có mã riêng biệt.
2 MaPN Int
Thuộc tính dùng để phân biệt giữa các phiếu nhập với nhau (Khóa ngoại).
3 MaSP Int
Thuộc tính dùng để phân biệt giữa các sản phẩm với nhau ( Khóa ngoại).
4 SoLuongNhap Int
Thuộc tính dùng để đếm số lượng mỗi sản phẩm có trong chi tiết phiếu nhập.
5 DonGia Decimal(18,0)
Thuộc tính dùng để hiển thị giá của mỗi sản phẩm có trong chi tiết phiếu nhập.
e. Mô tả bảng LoaiThanhVien
Chứa thông tin của Loại thành viên: MaLoaiTV, TenLoai, UuDai.
1 MaLoaiTV Int Là khóa chính, dùng để phân biệt giữa các loại thành viên với nhau, mỗi loại thành viên có mỗi mã
riêng biệt.
2 TenLoại Nvarchar(50) Tên của loại thành viên.
3 UuDai Int Ưu đãi của loại thành viên.
f. Mô tả bảng ThanhVien
- Chứa thông tin của Thành viên: MaThanhVien, TaiKhoan, MatKhau, HoTen, DiaChi, Email, SoDienThoai, CauHoi, CauTraLoi, MaLoaiTv.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaThanhVien Int
Là khóa chính, dùng để phân biệt giữa các thành viên với nhau, mỗi
thành viên có mã riêng biệt. 2 TaiKhoan Nvarchar(100) Tên tài khoản của mỗi thành viên. 3 MatKhau Nvarchar(100) Mật khẩu của mỗi tài khoản thuộc
thành viên.
4 HoTen Nvarchar(100) Họ và Tên của mỗi khách hàng.
5 DiaChi Nvarchar(255) Địa chỉ giao hàng của mỗi khách hàng.
6 Email Nvarchar(100) Email liên hệ của mỗi khách hàng. 7 SoDienThoai Varchar(11) Số điện thoại liên hệ của mỗi khách
hàng.
8 CauHoi Nvarchar(max) Câu hỏi bí mật cảu mỗi khách hàng. 9 CauTraLoi Nvarchar(max) Câu trả lời cho câu hỏi bí mật
loại thành viên với nhau.
g. Mô tả bảng LoaiSanPham
- Chứa thông tin của Loại sản phẩm : MaThanhVien, TaiKhoan, MatKhau, HoTen, DiaChi, Email, SoDienThoai, CauHoi, CauTraLoi, MaLoaiTv.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaLoaiSP Int Là khóa chính, dùng để phân biệt
giữa các loại sản phẩm với nhau, mỗi loại thành viên có mỗi mã
riêng biệt.
2 TenLoai Nvarchar(100) Tên của loại sản phẩm.
3 Icon Nvarchar(max) Đường link Icon của mỗi loại sản phẩm.
4 BiDanh Nvarchar(50) Tên bí danh của mỗi loại sản phẩm
h. Mô tả bảng SanPham
- Chứa thông tin của Sản phẩm: MaSP, TenSP, DonGia, NgayCapNhat, Mota, Mota2, Mota3, HinhAnh, SoLuongTon, LuotXem, LuotBinhChon, LuatBinhLuan, SoLanMua, Moi, MaNCC, MaNSX, MaLoaiSP, DaXoa.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaSP Int
Là khóa chính, dùng để phân biệt giữa các sản phẩm với nhau, mỗi
sản phẩm có mã riêng biệt.
2 TenSP Nvarchar(255) Tên của mỗi sản phẩm.
4 NgayCapNhat Datetime Ngày cập nhật của mỗi sản phẩm. 5 Mota Nvarchar(max) Mô tả chi tiết thứ nhất của sản
phẩm.
6 Mota2 Nvarchar(max) Mô tả chi tiết thứ hai của sản phẩm. 7 Mota3 Nvarchar(max) Mô tả chi tiết thứ ba của sản phẩm. 8 HinhAnh Nvarchar(max) Đường link hình ảnh của mỗi sản
phẩm
9 SoLuongTon Int Số lượng còn lại của mỗi sản phẩm.
10 LuotXem Int Lượt xem của mỗi sản phẩm.
11 LuotBinhChon Int Lượt bình chọn của mỗi sản phẩm.
12 LuatBinhLuan Int Lượt bình luận của mỗi sản phẩm.
13 SoLanMua Int Số lần mua của mỗi sản phẩm
14 Moi Int
Thuộc tính mới của sản phẩm ( nếu sản phẩm mới thì moi =1; ngược lại
moi =0)
15 MaNCC Int Là khóa phụ dùng để phân biệt các
nhà cung cấp với nhau.
16 MaNSX Int Là khóa phụ dùng để phân biệt các
nhà sản xuất với nhau.
17 MaLoaiSP Int Là khóa phụ dùng để phân biệt các
loại sản phẩm với nhau.
18 DaXoa Int
Thuộc tính đã xóa của sản phẩm ( nếu sản phẩm đã xóa thì DaXoa
=1; ngược lại DaXoa =0)
i. Mô tả bảng DonDatHang
TinhTrangGiaoHang, NgayGiao, DaThanhToan, MaKH, UuDai.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaDDH Int
Là khóa chính, dùng để phân biệt giữa các đơn đặt hàng với nhau,
mỗi đơn đặt hàng có mã riêng biệt.
2 NgayDat Datetime Ngày đặt của mỗi đơn đặt hàng
3 TinhTrangGiaoHang Bit
Tình trạng giao của mỗi đơn hàng. (Giao hành công – true và
ngược lại).
4 NgayGiao Datetime Ngày giao của mỗi sản phẩm.
5 DaThanhToan Bit
Tình trạng thanh toán của mỗi đơn hàng. (Giao hành công – true
và ngược lại)..
6 MaKH Int Là khóa phụ dùng để phân biệt
các khách hàng với nhau.
7 UuDai Int Ưu đãi của mỗi đơn hàng.
j. Mô tả bảng ChiTietDonDat
- Chứa thông tin của Chỉ tiết đơn đặt hàng: MaChiTietDonDat, MaDDH, MaSP, TenSP, SoLuong, DonGia.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaChiTietDonDat Int
Là khóa chính, dùng để phân biệt giữa các chi tiết đơn đặt hàng với nhau, mỗi chi tiết đơn đặt hàng có
mã riêng biệt.
2 MaDDH Int Là khóa phụ dùng để phân biệt
các sản phẩm với nhau. 4 TenSP Nvarchar(255) Tên sản phẩm có trong đơn đặt
hàng.
5 SoLuong Bit Số lượng mỗi sản phẩm có trong
đơn đặt hàng.
6 DonGia Decimal(18,0) Đơn giá mỗi sản phẩm có trong đơn đặt hàng.
k. Mô tả bảng Bình luận
Chứa thông tin của Thành viên: MaBinhLuan, NoiDung, MaThanhVien, MaSP.
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaBinhLuan Int
Là khóa chính, dùng để phân biệt giữa các bình luận với nhau, mỗi
bình luấn có mã riêng biệt. 2 NoiDung Nvarchar(max) Nội dung của mỗi bình luận.
3 MaThanhVien Int Là khóa phụ dùng để phân biệt các
thành viên với nhau
4 MaSP Int Là khóa phụ dùng để phân biệt các
sản phẩm với nhau.
CHƯƠNG 5. KẾT LUẬN 5.1. KẾT QUẢ ĐẠT ĐƯỢC
5.1.1. Về kiến thức & học tập
Nắm vững kiến thức lý thuyết cơ bản phục vụ tốt cho việc thiết kế chương trình.
Thiết kế được CSDL tương đối hoàn chỉnh, đáp ứng tốt cho việc viết chương trình.
Xây dựng được một ứng dụng quản lý với đầy đủ các chức năng cần thiết cho việc quản lý bán hàng, minh họa tốt cho các vấn đề lý thuyết đã trình bày.
Củng cố lại các kiến thức đã được học, đặt biệt là kỹ năng phân tích, giải quyết vấn đề.
Biết cách áp dụng các kiến thức lý thuyết vào ứng dụng thực tế.
5.1.2. Về Website
Hoàn thiện đầy đủ chức năng cơ bản của một Website: thêm, sửa, xóa, cập nhật thông tin.
Thống kê, báo cáo, in thống kê.
5.2. HẠN CHẾ CỦA ĐỀ TÀI
Do thời gian nghiên cứu có hạn, cộng thêm tình hình dịch Covid-19 đang diễn biến phức tạp, nên việc nghiên cứu các vấn đề còn chưa đầy đủ.
Kiến thức thực tế và kiến thức lập trình còn hạn chế, nên tính chuyên nghiệp của chương trình chưa cao, bắt lỗi chưa kỹ ở một số chổ và một số tính năng chưa được tối ưu.
Chương trình chưa thực sự đầy đủ các tình năng như mong muốn.
5.3. HƯỚNG PHÁT TRIỂN
Thiết kế chương trình và chỉnh sửa giao diện mang tính chuyên nghiệp hơn.