Xác định các Use case Tác nhân “Khách hàng” có các Use case sau: Đăng ký làm thành viên Xem thông tin sản phẩm Xem thông tin giỏ hàng Chọn sản phẩm cần mua Thêm bớt các sản phẩm trong gi
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG ÁKHOA: CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚNHỌC PHẦN: LẬP TRÌNH.NET
Đề tài 2: Xây dựng ứng dụng quản lý bán hàng
Phạm Mạnh Cương DC.CNTT12.10.03 K12Phạm Việt Hoàng DC.CNTT12.10.03 K12Nguyễn Huy Hoàng DC.CNTT12.10.03 K12
Bắc Ninh, năm 2023
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚNHỌC PHẦN: LẬP TRÌNH.NET
Nhóm: 8
Đề tài 2: Xây dựng ứng dụng quản lý bán hàng
STT Sinh viên thực hiện Mã sinh viên Điểm
bằng số
Điểm bằng chữ
Trang 3MỤC LỤC
DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ 4
Chương 1 Giới thiệu về đề tài 6
1.1 Giới thiệu về đề tài 6
1.2 Kế hoạch làm đề tài 6
1.3 Các công nghệ sử dụng 7
Chương 2 Mô hình hệ thống 8
2.1 Các chức năng của hệ thống 8
2.2 Các giao diện có trong hệ thống 14
2.3 Mô hình lớp 26
2.4 Mô hình cơ sở dữ liệu 30
Chương 3 Phát triển hệ thống 34
3.1 Lớp GUI 34
3.2 Lớp BUS 36
3.3 Lớp DAL 49
3.4 Crystal Report 49
KẾT LUẬN 51
Kết quả thu được 51
Hạn chế và phương hướng phát triển 51
DANH MỤC THAM KHẢO 52
Trang 4DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ
2.4 Nhóm Use case quảng lý thông tin cá nhân 102.5 Nhóm Use case quản lý danh sách thành viên 112.6 Nhóm Use case quản lý danh mục sản phẩm 11
2.8 Nhóm Use case tiếp nhận và quản lý đơn hàng 12
Trang 53 tblNhanVien 31
Trang 6Chương 1 Giới thiệu về đề tài 1.1 Giới thiệu về đề tài
Ngày nay dưới sự phát triển mạnh mẽ của hệ thông mạng Internet thì cáctrang web thương mại, bán hàng online càng được phổ biến và ngày càng mởrộng Việc cung cấp tới khách hàng các mặt hàng mà cửa hàng của mình cóthông qua chính website bán hàng của công ty, doanh nghiệp hay cá nhân cửahàng, tạo sự chọn lựa một cách nhanh chóng, thuận tiện đối với mọi người, hay
vì khoảng cách địa lý mà không thể tới trực tiếp cửa hàng để chọn lựa mua đượcmón mình thích Điều đó đã tạo nên sự phát triển mạnh mẽ của các websitethương mại Phần mềm quản lý website bán quần áo online là một phần mềm hỗtrợ việc quản lý, xây dựng và phát triển website bán quần áo online thông qua hệthống mạng Internet
Và để giúp cho hoạt động mua bán hàng thông qua website được thuậnlợi, khách hàng lựa chọn trong mục hàng, loại hàng có giá trị phù hợp với nhucầu muốn mua và cho vào giỏ hàng của mình Khách hàng tiến hành thanh toáncác mặt hàng trong giỏ thì hệ thống sẽ chuyển đến hệ thống thanh toán Hệthống thanh toán xác thực thông tin và gửi thông tin lại cho hệ thống Nhân viêncủa hệ thống có nhiệm vụ hỗ trợ khách hàng và chuyển hàng hóa cho hệ thôngvận chuyển
Quản lý hệ thống (admin) có quyền thêm, bớt, sửa, xóa các mặt hàng cótrên website, điều chỉnh giá hàng cho phù hợp với thị trường và quản lý thôngtin người dùng
Trang 71.3 Các công nghệ sử dụng
1 Ngôn ngữ lập trình: C#
2 Cơ sở dữ liệu: SQL
3 Crystal Report
Trang 8Chương 2 Mô hình hệ thống2.1 Các chức năng của hệ thống
2.1.1 Sơ đồ phân rã chức năng:
Hình 2.1: Biểu đồ phân rã chức năng
1 Quản lý đơn hàng: Cho phép quản lý thông tin kho, kiểm tra số lượngsản phẩm, cập nhật số lượng sản phẩm còn lại sau khi bán hàng, đặt hàng vớinhà cung cấp và các thông tin liên quan
2 Quản lý mua hàng: Cho phép tạo, xem, sửa đơn hàng, quản lý thôngtin khách hàng, thông tin sản phẩm trong đơn hàng, giá cả, số lượng và cácthông tin liên quan
3 Quản lý khách hàng: Cho phép tạo, xem, sửa, quản lý thông tin kháchhàng, danh sách khách hàng, lịch sử mua hàng, thông tin liên lạc và các thôngtin khác
4 Quản lý nhân viên: Cho phép quản lý thông tin nhân viên, danh sáchnhân viên, thông tin liên lạc và các thông tin khác
5 Hệ thống:
+ Đăng nhập: Cho phép quản lý, khách hàng, nhân viên đăng nhậpvào hệ thống
Trang 9+ Đăng ký: Cho phép khách hàng mới đăng ký vào hệ thống.
6 Quản lý thông tin sản phẩm: Cho phép quản lý danh mục sản phẩm,thông tin sản phẩm, giá cả, số lượng sản phẩm còn lại trong kho và các thông tinliên quan
2.1.2 Xác định các Use case
Tác nhân “Khách hàng” có các Use case sau:
Đăng ký làm thành viên
Xem thông tin sản phẩm
Xem thông tin giỏ hàng
Chọn sản phẩm cần mua
Thêm bớt các sản phẩm trong giỏ hàng
Thực hiện việc mua hàng
Thanh toán
Tác nhân “Người quản lý” có các Use case sau:
Tiếp nhận đơn hàng
Giao cho nhân viên
Quản lý danh sách thành viên
Quản lý danh mục sản phẩm
Tác nhân “Nhân viên” có các Use case sau:
Thực hiện giao hàng
Báo cáo kết quả
Ngoài ra, các thành viên của hệ thông bao gồm người quản lý, nhân viên
và các hàng đã đăng ký làm thành viên còn có các Use case sau:
Đăng nhập
Xem thông tin cá nhân
Sửa đổi thông tin cá nhân
- Biểu đồ ca sử dụng (use case) tổng quát:
Trang 10Hình 2.2: Biểu đồ Use case tổng quát2.1.3 biểu đồ Use case chi tiết
2.1.4 Nhóm Use case đăng ký, đăng nhập
Hình 2.3: Nhóm Use case đăng ký, đăng nhập
Trang 112.1.5 Nhóm Use case quản lý thông tin cá nhân
Hình 2.4: Nhóm Use case quản lý thông tin cá nhân2.1.6 Nhóm Use case quản lý danh sách thành viên
Hình 2.5: Nhóm Use case quản lý danh sách thành viên
Trang 122.1.7 Nhóm Use case quản lý danh mục sản phẩm
Hình 2.6: Nhóm Use case quản lý danh mục sản phẩm.2.1.8 Nhóm Use case mua hàng
Hình 2.7: Nhóm Use case mua hàng
Trang 132.1.9 Nhóm Use case tiếp nhận và xử lý đơn hàng
Hình 2.8: Nhóm Use case tiếp nhận và xử lý đơn hàng
Trang 142.2 Các giao diện có trong hệ thống
Giao diện bắt đầu:
Hình 2.9: Giao diện bắt đầu
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
2 btnDangNhap Button Chuyển qua form đăng nhập
3 btnDangKy Button Chuyển qua form đăng ký
4 pictureBox1 PictureBox Ảnh giao diện
Trang 15Giao diện trang chủ:
Hình 2.10: Giao diện trang chủ
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
5 pictureBox1 Background Dùng làm hình nền trang
chủ
6 mnuStrip1 MenuStrip Dùng làm menu chính
7 mnuDangxuat Menu Đăng xuất và chuyển về
Trang 16hàng háo
đơn bán hàng
Giao diện đăng ký:
Hình 2.11: Giao diện đăng ký
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
K Text Hiển thị và nhập dữ liệu Tài khoản đăng ký
6 txtMatKhauDK Text Hiển thị và nhập dữ liệu
Trang 17Mật khẩu đăng ký
7 btnDangNhap Button chuyển sang form Đăng
nhập
8 btnDangKy Button Lưu biến tạm thời tài
khoản, mật khẩu khi đăng
ký rồi chuyển qua form đăng nhập để đăng nhậpGiao diện đăng nhập:
Hình 2.12: Giao diện Đăng nhập
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
2 btnDangNhap Button Chuyển vào form trang chủ
3 btnDangKy Button Chuyển qua form đăng ký
Trang 187 txtTaiKhoan Text Nhập tài khoản đăng nhập
8 txtMatKhau Text Nhập mật khẩu đăng nhập
Giao diện quản lý nhân viên:
Hình 2.13: Giao diện quản lý nhân viên
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
Ghi chú
2 menustrip1 MenuStrip Dùng làm menu chính
Trang 1921 txtMaNhanVien Text Nhập mã nhân viên
22 txtTenNhanVien Text Nhập tên nhân viên
23 txtTuoiNhanVien Text Nhập tuổi nhân viên
26 txtDienThoai Text Nhập số điện thoại
28 dgvNhanVien DataGridView Hiển thị và chỉnh sửa CSDL
29 btnThem Button Thêm nhân viên (Khi nhập xong thông tin phải bấn Lưu)
Giao diện quản lý khách hàng:
Trang 20Hình 2.14: Giao diện quản lý khách hàng
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
Ghi chú
2 menustrip1 MenuStrip Dùng làm menu chính
10 mnuHanghoa Menu Chuyển qua form danh mục hàng hóa
Trang 21bán hàng
Tên Label: Danh Mục KháchHàng
Nhập số điện thoại khách hàng
25 dgvKhachHang
DataGridView
Hiển thị và chỉnh sửa CSDL
Thêm nhân viên (Khi nhập xong thông tin phải bấn Lưu)
Trang 22Giao diện quản lý hàng hóa.
Hình 2.15: Giao diện quản lý hàng hóa
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
2 menustrip1 MenuStrip Dùng làm menu chính
6 mnuDangXuat Menu Đăng xuất và chuyển về form đăng nhập
8 mnuNhanvien Menu Chuyển qua form danh mục nhân viên
9 mnuKhachhang Menu Chuyển qua form danh mục khách hàng
Trang 23bán hàng
Tên Label: Danh Mục Hàng Hóa
Hiển thị địa chỉ file ảnh khi chọn
30 picAnh PictureBox Hiển thị ảnh hàng hóa
31 dgvKhachHang
DataGridView
Hiển thị và chỉnh sửa CSDL
32 btnThem Button Thêm nhân viên (Khi nhập xong thông tin phải bấn Lưu)
40 btnHienThi Button Hiển thị danh sách hàng hóa
Trang 24Giao diện hóa đơn.
Hình 2.16:Giao diện hóa đơn
Mô tả các thuộc tính, phương thức của các giao diện trong hệ thống:
Ghi chú
2 menustrip1 MenuStrip Dùng làm menu chính
Trang 2528 label17 Label Tên Label: Nháy đúp một dòng để xóa
33 txtMaHDBan TextBox Hiển thị mã hóa đơn
34 dtpNgayBan DateTimePiker Chọn ngày bán
35 cboMaNhanVien ComboBox Chọn mã nhân viên
37 txtTenKhach TextBox Hiển thị tên khách
38 txtDiaChi TextBox Hiển thị địa chỉ khách
39 txtDienThoai TextBox Hiển thị số điện thoại khách
Nhập số lượng hàng hóa khách muốn mua
42 txtTenHang TextBox Hiển thị tên hàng
43 txtGiamGia TextBox Nhập số % giảm giá (nếu có)
44 txtDonGiaBan TextBox Hiển thị đơn giá
45 txtThanhTien TextBox Hiện thị tổng tiền
Trang 2646 txtTongTien TextBox Hiển thị tổng tiền
51 dgvHDBanHang DataGridView Hiển thị và chỉnh sửa CSDL
Thêm nhân viên (Khi nhập xong thông tin phải bấn Lưu)
56 btnInHoaDon Button In hóa đơn ra file excel
2.3 Mô hình lớp
Các lớp trong hệ thống ban gồm:
1 Lớp Hàng hóa:
Thuộc tính:
MaHang: Mã hàng hóa (nvarchar(50))
TenHang: Tên hàng hóa (nvarchar(50))
ChatLieu: Chất liệu của hàng hóa (nvarchar(50))
SoLuong: Số lượng hàng hóa trong kho (float)
GiaNhap: Giá nhập của hàng hóa (float)
GiaBan: Giá bán của hàng hóa (float)
Anh: Đường dẫn đến ảnh của hàng hóa (nvarchar(200))
GhiChu: Ghi chú về hàng hóa (nvarchar(200))
Phương thức:
Khởi tạo: Tạo mới đối tượng hàng hóa với các thuộc tính được chỉ
định
Thêm hàng hóa: Thêm một hàng hóa mới vào hệ thống
Xóa hàng hóa: Xóa một hàng hóa khỏi hệ thống
Cập nhật thông tin: Cập nhật các thông tin của hàng hóa
Trang 272 Lớp Nhân viên:
Thuộc tính:
MaNhanVien: Mã nhân viên (nvarchar(50))
TenNhanVien: Tên nhân viên (nvarchar(50))
TuoiNhanVien: Tuổi nhân viên (nvarchar(50))
GioiTinh: Giới tính nhân viên (nvarchar(50))
NgaySinh: Ngày sinh của nhân viên (nvarchar(50))
DienThoai: Số điện thoại của nhân viên (nvarchar(50))
DiaChi: Địa chỉ của nhân viên (nvarchar(50))
Phương thức:
Khởi tạo: Tạo mới đối tượng nhân viên với các thuộc tính được chỉ định
Cập nhật thông tin: Cập nhật các thông tin của nhân viên
Thêm nhân viên: Thêm một nhân viên mới vào hệ thống
Xóa nhân viên: Xóa một nhân viên khỏi hệ thống
3 Lớp Khách hàng:
Thuộc tính:
MaKhach: Mã khách hàng (nvarchar(50))
TenKhach: Tên khách hàng (nvarchar(50))
DiaChi: Địa chỉ của khách hàng (nvarchar(50))
DienThoai: Số điện thoại của khách hàng (nvarchar(50))
Phương thức:
Khởi tạo: Tạo mới đối tượng khách hàng với các thuộc tính được chỉ
định
Cập nhật thông tin: Cập nhật các thông tin của khách hàng
Thêm khách hàng: Thêm một khách hàng mới vào hệ thống.Xóa khách hàng: Xóa một khách hàng khỏi hệ thống
Trang 284 Lớp Hóa đơn bán:
Thuộc tính:
MaHDBan: Mã hóa đơn bán (nvarchar(50))
MaNhanVien: Mã nhân viên thực hiện giao dịch (nvarchar(50)).NgayBan: Ngày bán hàng (datetime)
MaKhach: Mã khách hàng mua hàng (nvarchar(50))
TongTien: Tổng số tiền của hóa đơn (float)
Phương thức:
Khởi tạo: Tạo mới đối tượng hóa đơn bán với các thuộc tính được chỉ định
Thêm sản phẩm: Thêm một sản phẩm vào hóa đơn bán
Xóa sản phẩm: Xóa một sản phẩm khỏi hóa đơn bán
Tính tổng tiền: Tính tổng số tiền của hóa đơn bán
5 Lớp Chi tiết hóa đơn bán:
Thuộc tính:
MaHDan: Mã chi tiết hóa đơn bán (nvarchar(50))
MaHang: Mã sản phẩm bán (nvarchar(50))
SoLuong: Số lượng sản phẩm bán (float)
DonGia: Đơn giá của sản phẩm bán (float)
GiamGia: Giảm giá của sản phẩm bán (float)
ThanhTien: Thành tiền của sản phẩm bán (float)
Phương thức:
Khởi tạo: Tạo mới đối tượng chi tiết hóa đơn bán với các thuộc tính
được chỉ định
Tính thành tiền: Tính thành tiền của sản phẩm bán
Thêm hóa đơn: Thêm một hóa đơn mới vào hệ thống
Hủy hóa đơn: Xóa một hóa đơn ra khỏi hệ thống
Trang 39Kiểm tra nếu có dùng chưa được nhập sẽ hiện thông báo nhắc nhở phải nhập.
Thêm những thông tin mới nhập vào bảng
Trang 40+ Sửa dữ liệu hàng hóa:
+Xóa dữ liệu:
Chọn một bản ghi bất kỳ và bấm xóa
Khi không có bản ghi nào hoặc không chọn bản ghi nào mà bấm xóa thì sẽ hiện thông báo nhắc nhở
Trang 41+Tìm kiếm hàng hóa:
Nhập thông tin cần tìm kiếm lên bảng text
Khi không có bảng ghi nào có thông tin giống vậy thì sẽ hiện thông báo.Khi có thông tin giống với thông tin bạn nhập thì sẽ hiện ra những bản ghi đó
+Hiển thị danh sách hàng hóa
Trang 42- Xử lý hóa đơn bán:
+ Thêm hóa đơn bán
Mở tính năng Enabled của nút Lưu
+ Lưu hóa đơn
Chọn thông tin nhân viên và khách hàng.Lưu hóa đơn
Trang 43Kiểm tra đã nhập hết thông tin chưa.
Kiểm tra xem số lượng hàng còn đủ để bán không
Khi hóa đơn bán nhập mua bao nhiêu đơn hàng thì sẽ trừ trong số lượng hàng hóa trong Danh Mục Hàng Hóa bấy nhiêu
Trang 44- Xử lý khách hàng:
+ Thêm khách hàng
Mở tính năng Enabled của nút Lưu
+ Lưu khách hàng
Kiểm tra thông tin nhập đủ chưa Nếu chưa sẽ hiện thông báo nhắc nhở
Kiểm tra có trùng mã khách không Nếu trùng thì hiện thông báo
Thêm khách hàng vào bảng
Trang 45+ Sửa thông tin khách hàng
+ Xóa khách hàng
Trang 46- Xử lý nhân viên:
+ Thêm nhân viên
Bật tính năng Enabled của nút Lưu
+ Lưu nhân viên
Kiểm tra các thông tin có nhập đủ không Nếu không nhập đủ sẽ hiện thông báo
Trang 47Kiểm tra thông tin có nhập đủ không Nếu không nhập đủ sẽ hiện thông báo.Kiểm tra mã nhân viên có trùng không Nếu trùng sẽ hiện thông báo.
Thêm nhân viên
+ Sửa nhân viên
Nếu không ấn vào nhân viên nào đó hoặc không có nhân viên mà ấn nút sửa thì
sẽ hiện thông báo
Update thông tin nhân viên vừa sửa
Trang 48+ Xóa nhân viên
Trang 493.3 Lớp DAL
Các lớp thực thể có trong hệ thống:
1 Lớp HangHoa: đại diện cho bảng tblHangHoa trong cơ sở dữ liệu, chứa cácthuộc tính như mã hàng, tên hàng, chất liệu, số lượng, giá nhập, giá bán, ảnh, ghichú
2 Lớp HoaDonBan: đại diện cho bảng tblHDBan trong cơ sở dữ liệu, chứa cácthuộc tính như mã hóa đơn, ngày bán, mã nhân viên, mã khách hàng, tổng tiền
3 Lớp NhanVien: đại diện cho bảng tblNhanVien trong cơ sở dữ liệu, chứa cácthuộc tính như mã nhân viên, tên nhân viên, tuổi nhân viên, giới tính, địa chỉ, sốđiện thoại, ngày sinh
4 Lớp KhachHang: đại diện cho bảng tblKhachHang trong cơ sở dữ liệu, chứacác thuộc tính như mã khách hàng, tên khách hàng, địa chỉ, số điện thoại
5 Lớp ChiTietHoaDonBan: đại diện cho bảng tblChiTietHDBan trong cơ sở dữliệu, chứa các thuộc tính như mã hóa đơn bán, mã hàng, số lượng, đơn giá, giảmgiá, thành tiền
3.4 Crystal Report
Trang 51KẾT LUẬNKết quả thu được
Trong quá trình thực hiện đề tài này nhóm em đã cố gắng hết sức để tìmhiểu xây dựng và cài đặt chương trình nhưng vì thời gian có hạn nên có thể chưagiải quyết được tất cả các vẫn đề đặt ra Em rất mong nhận được sự thông cảmcủa cô giáo Em xin chân thành cảm ơn !
Những kết quả đạt được:
Về công nghệ:
- Tìm hiểu và nắm bắt được các dụng cụ thiết kế ứng dụng
- Các dịch vụ trên internet, đặc biệt là C#
Về cài đặt chương trình:
- Giao diện thân thiện với người dùng
- Cho phép tra cứu mặt hàng khi khách hàng có nhu cầu tiềnhàng
- Tiếp nhận đơn đặt hàng của khách hàng
- Lập hóa đơn
- Cập nhật: sản phẩm, khách hàng, đơn đặt hàng
- Thống kê các mặt hàng theo nhiều tiêu chí
Hạn chế và phương hướng phát triển
- Thay đổi giao diện cho ứng dụng thân thiện với người dùng hơn và thêm chứcnăng, tăng khả năng bảo mật, tăng độ quảng bá thương hiệu
Trang 52DANH MỤC THAM KHẢO[1] Phạm Hữu Khang, Đoàn Thiên Ngân – C# Lập trình Windows Form, NXB Lao động xã hội, 2005.
[2] Phạm Nguyễn Cương, Hồ Tường Vinh – Phân tích thiết kế hệ thống hướng đối tượng sử dụng UML, ĐH KHTN-TP.HCM, 2017
[3] Slide bài giảng Phân tích thiết kế phần mềm hướng đối tượng, Nguyễn Minh
Vi, ĐH An Giang, 2017