XÁC ĐỊNH VÀ MÔ TẢ BÀI TOÁN Quản lý hóa đơn bán hàng tại cửa hàng mỹ phẩm Hệ thống quản lý bán hàng tại cửa hàng mỹ phẩm là một giải pháp giúp theo dõi và điều hành hoạt động kinh doanh
Trang 1TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-BÁO CÁO BÀI TẬP LỚN
MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Giảng viên hướng dẫn: Trịnh Thị Xuân
Trang 2Hà Nội, năm 2025 MỤC LỤC
I XÁC ĐỊNH VÀ MÔ TẢ BÀI TOÁN………
II CÁC ĐỐI TƯỢNG CẦN QUẢN LÝ………
III SƠ ĐỒ CÁC LỚP BÀI TOÁN………
1 Class NhanVien………
2 Class KhachHang………
3 Class SanPham………
4 Class HoaDon………
5 Class DanhSachHoaDon………
6 Class XuLyFile………
7 Class Main………
IV CÁC THAO TÁC, CHỨC NĂNG CỦA BÀI TOÁN………
V CÀI ĐẶT CHƯƠNG TRÌNH………
VI KIỂM THỬ CHƯƠNG TRÌNH………
1 Bộ dữ liệu input………
2 Kết quả khi chạy………
a Nhập danh sách hoá đơn………
b In danh sách hoá đơn………
c Tìm hoá đơn theo số hoá đơn………
d Tìm hoá đơn có tổng tiền lớn nhất………
e Sắp xếp hoá đơn theo alphabet………
f Ghi vào file “SanPham.dat”………
g Đọc từ file “SanPham.dat”………
h Thoát chương trình………
VII KẾT LUẬN………
VIII TÀI LIỆU THAM KHẢO………
2
Trang 3I XÁC ĐỊNH VÀ MÔ TẢ BÀI TOÁN
Quản lý hóa đơn bán hàng tại cửa hàng mỹ phẩm
Hệ thống quản lý bán hàng tại cửa hàng mỹ phẩm là một giải pháp giúp theo dõi và điều hành hoạt động kinh doanh hằng ngày một cách hiệu quả Mục tiêu của hệ thống là hỗ trợ nhân viên trong việc tạo lập hóa đơn nhanh chóng, quản lý thông tin khách hàng, sản phẩm và theo dõi doanh thu chính xác.
Mô tả bài toán
Cửa hàng kinh doanh nhiều loại mỹ phẩm khác nhau như son, kem dưỡng da, sữa rửa mặt, nước hoa… với các thông tin liên quan như tên sản phẩm, mã sản phẩm, đơn giá và số lượng tồn.
Mỗi khi có giao dịch mua bán, nhân viên sẽ lập hóa đơn ghi lại thông tin khách hàng, danh sách sản phẩm đã mua, số lượng, đơn giá và tính tổng tiền.
Các hóa đơn được lưu lại để tra cứu, thống kê doanh thu, và hỗ trợ quản lý hàng hóa.
Hệ thống cũng quản lý thông tin các nhân viên bán hàng và khách hàng nhằm phục vụ tốt hơn cho việc chăm sóc khách hàng và theo dõi lịch sử mua hàng.
Một hệ thống quản lý bán hàng hiệu quả sẽ giúp cửa hàng tiết kiệm thời gian, giảm sai sót trong tính toán, tăng trải nghiệm khách hàng
và nâng cao hiệu quả kinh doanh.
II Các đối tượng cần quản lý
Trong hệ thống bán hàng mỹ phẩm cần theo dõi hoá đơn từng ngày:
Các đối tượng cần quản lý gồm: Sản phẩm, Khách hàng, Nhân viên, Hoá đơn -Sản phẩm gồm các thông tin: Mã sản phẩm, Tên sản phẩm, Xuất xứ, Số lượng tồn kho, Giá bán
-Khách hàng gồm các thông tin: Mã khách hàng, Tên khách hàng, Email, Địa chỉ, Sđt
-Nhân viên gồm các thông tin: Tên nhân viên, Email, Vị trí làm việc, Sđt
3
Trang 4-Tìm hoá đơn có tổng tiền lớn nhất-Ghi file
-Đọc file
HÓA ĐƠN BÁN HÀNG MỸ PHẨM
Số Hóa Đơn:BN139– Ngày lập: 11/02/2025
Chủ hộ: Nguyễn Văn Thịnh Số điện thoại: 0356 145 789
Email: nguyenvanthinh@gmail.com Mã số thuế: 142527892
Địa chỉ: Bắc Ninh
TT Mã sản
phẩm Tên sản phẩm
Số lượng Đơn giá Thành Tiền
Bằng chữ: Sáu Trăm Bốn Mươi Nghìn Đồng
Nhân Viên Thu Tiền
Trần Văn Hiếu
0321 610 789tranhieu@gmail.comThu Ngân
Khách Hàng
(Ký)
4
Trang 6Các lớp được xây dựng của bài toán như hình mình họa sau:
Thông tin chi tiết các lớp như sau:
*class Nguoi – lớp cơ sở:
-Thuộc tính: hoTen(họ tên), Sđt(số điện thoại), eMail(eMail)
6
Trang 7-Phương thức: nhap( ), xuat( ), …
*class KhachHang– lớp dẫn xuất – kế thừa từ lớp Nguoi
-Thuộc tính: maKH(mã khách hàng), diaChi(địa chỉ)
-Phương thức: nhap( ), xuat( ), ……
*class NhanVien – lớp dẫn xuất – kế thừa từ lớp Nguoi
-Phương thức: nhap( ), xuat( ), tongTien( ), tienPhaiNop( ), ……….…
*class DanhSachHoaDon
-Thuộc tính : lstHD(danh sách hoá đơn)
-Phương thức : nhapds(), xuatds(), timHoaDonTheoMa(),
sapXepHoaDonTheoSoHD(), timHoaDonTongTienLonNhat(), ………
*class XyLyFile
-Thuộc tính : lstDSHD(danh sách hoá đơn)
-Phương thức : ghiDSHDVaoFile(), docDSHDTuFile(),…
IV Các thao tác, chức năng bài toán
Chương trình khi chạy thực hiện các chức năng sau:
1 Nhập danh sách hóa đơn từ bàn phím
2 In danh sách hóa đơn đã nhập
3 Tìm hoá đơn theo số hoá đơn với số hoá đơn được nhập từ bàn phím
4 Sắp xếp hoá đơn theo tứ tự từ A đến Z
5 Tìm hoá đơn có tổng tiền lớn nhất
6 Ghi danh sách hoá đơn vào file “SanPham.dat”
7 Đọc danh sách hoá đơn từ file “SanPham.dat”
…
7
Trang 1212
Trang 1313
Trang 182 Kết quả khi chạy
a Nhập danh sách hoá đơn
18
Trang 1919
Trang 2020
Trang 2121
Trang 2222
Trang 2323
Trang 2424
Trang 2525
Trang 2727
Trang 2828
Trang 30d Tìm hoá đơn có tổng tiền lớn nhất
e Sắp xếp hoá đơn theo alphabet
30
Trang 32Trong quá trình thực hiện bài tập lớn , nhóm đã xây dựng thành công một chương
trình quản lý kinh doanh cho cửa hàng bán mỹ phẩm, với trọng tâm là quản lý các hóa đơn bán hàng Các nội dung chính đã thực hiện bao gồm:
32
Trang 33- Xây dựng hệ thống các lớp đối tượng mô phỏng các thành phần trong hệ thống
như: KhachHang, NhanVien, SanPham, HoaDon, v.v
- Áp dụng các nguyên lý lập trình hướng đối tượng:
+ Tính đóng gói (Encapsulation): dữ liệu và các phương thức được tổ chức
+ Cài đặt các chức năng chính như: thêm/sửa/xóa hóa đơn, tính tổng tiền
hóa đơn, tìm kiếm hóa đơn theo mã hoặc theo khách hàng
+ Viết mã theo mô hình hướng đối tượng, giúp chương trình rõ ràng, dễ
- Có khả năng mở rộng chương trình: thêm chức năng thống kê, báo cáo,
phân quyền, hoặc giao diện người dùng nâng cao
33
Trang 34ĐIỂM YẾU
- Chưa áp dụng các mẫu thiết kế phần mềm (design patterns) nên chương
trình chưa tối ưu về mặt kiến trúc.
- Chưa tích hợp giao diện đồ họa (GUI), chương trình hiện đang chạy trên
console, gây bất tiện cho người dùng thực tế
- Chưa có tính năng lưu trữ dữ liệu lâu dài (file hoặc database), nên dữ
liệu bị mất sau khi thoát chương trình
- Việc kiểm thử và xử lý ngoại lệ còn đơn giản, chưa xử lý đầy đủ các trường hợp lỗi (nhập sai, trùng mã, v.v.).
VIII Tài liệu tham khảo
Tài liệu về Lập trình Hướng đối tượng (OOP)
1 Giáo trình Lập trình Hướng đối tượng – Đại học Công nghệ, ĐHQGHN