HỒ CHÍ MINH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA TOÁN - THỐNG KÊ ĐỒ ÁN CUỐI KÌ MÔN HỌC: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÍ BÁN HÀNG SIÊU THỊ TP... Trong
Trang 1Giảng viên giảng dạy: ĐẶNG NGỌC HOÀNG THÀNH
Mã học phần:
Thành viên thực hiện: NGUYỄN LÊ SANG (nhóm trưởng)
NGUYỄN MAI HOÀNG PHÚC
ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH
TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ
KHOA TOÁN - THỐNG KÊ
ĐỒ ÁN CUỐI KÌ
MÔN HỌC: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÍ BÁN HÀNG
SIÊU THỊ
TP H Chí Minh, ngày ồ 10 tháng 11 năm 2024
Trang 2L I M Ờ Ở ĐẦ U Trong b i c nh phát tri n không ng ng c a công ngh thông tin, lố ả ể ừ ủ ệ ập trình hướng đối tượng (OOP) đã trở thành một phương pháp không thể thiếu trong việc xây d ng các ng d ng ph n m m hiự ứ ụ ầ ề ện đại Đặc biệt, trong lĩnh vực qu n lý bán ảhàng t i các siêu th , vi c áp d ng lạ ị ệ ụ ập trình hướng đối tượng không ch giúp tỉ ối ưu hóa quy trình quản lý mà còn tăng cường kh ả năng mở ộ r ng, b o trì và nâng c p h ả ấ ệthống m t cách linh hoộ ạt.
Bài báo cáo này s trình bày v quá trình xây dẽ ề ựng chương trình quản lý bán hàng siêu th , mị ột ứng d ng có khụ ả năng hỗ trợ quản lý s n ph m, ki m soát s ả ẩ ể ốlượng hàng hóa, th c hiự ện thanh toán Trong quá trình phát triển chương trình, các nguyên tắc cơ bản của lập trình hướng đối tượng như tính đóng gói, kế thừa, đa hình
và trừu tượng hóa s ẽ được áp dụng để đả m b o tính rõ ràng, linh ho t ả ạ
Chúng em xin g i l i cử ờ ảm ơn chân thành đến thầy Đặng Ng c Hoàng Thành ọ
- người đã tận tình hướng d n và truyẫ ền đạt ki n th c quý báu trong su t quá trình ế ứ ốhọc t p môn Lậ ập trình Hướng đối tượng Nh s h ờ ự ỗ trợ, giải đáp nhiệt tình và những bài h c sâu s c t ọ ắ ừ thầy, chúng em đã có thêm động l c và s t ự ự ự tin để hoàn thành d ự
án xây dựng chương trình quản lý bán hàng siêu th này ị
Trang 3MỤC L C Ụ
L I M Ờ Ở ĐẦ 1 U
CHƯƠNG I PHẦN MỞ ĐẦU 3
1.1.Tính c p thi ấ ết của đề tài 3
1.2 Giớ i thi u v ệ ề kĩ thuậ ập trình hướng đối tượ t l ng 3
1.3 T m quan tr ng c a l ầ ọ ủ ập trình hướng đối tượng 4
CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ LỚP 5
2.1 Phân tích bài toán 5
2.2 Thi t k l ế ế ớp và sơ đồ ớ 5 l p CHƯƠNG III XÂY DỰNG ỨNG DỤNG 12
3.1 Thi t k giao di ế ế ện chương trình 12
3.2 Phát tri n các ch ể ức năng của ứ ng d ng ụ 12
3.3 Các k ch b n th c thi ng d ng ị ả ự ứ ụ 14
CHƯƠNG IV THẢ O LU ẬN VÀ ĐÁNH GIÁ 18
5.1 Các k t qu ế ả đạt đượ 18 c 5.2 M t s t n t i ộ ố ồ ạ 18
5.3 Hướng phát triển 19
PHỤ Ụ L C 20
PHÂN CÔNG NHI M V Ệ Ụ 21
Trang 41.1.2 Vai trò của công nghệ:
Việc ứng dụng công nghệ thông tin vào quản lý siêu thị không chỉ giúp nâng cao hiệu quả hoạt động mà còn giúp giải quyết các vấn đề nan giải hiện tại Một phần mềm quản lý chuyên nghiệp không chỉ tối ưu hóa quy trình mà còn giảm thiểu sai sót, nâng cao khả năng theo dõi và báo cáo, từ đó tạo ra những quyết định chính xác
và nhanh chóng
1.1.3 Tính cấp thiết của đề tài:
Xây dựng một hệ thống quản lý siêu thị dựa trên Lập trình Hướng Đối Tượng (LTHĐT)chính là giải pháp tối ưu cho những thách thức hiện tại Hệ thống này mang lại nhiều lợi ích, bao gồm tăng năng suất, giảm chi phí, nâng cao độ chính xác trong quản lý hàng hóa và nhân viên, cùng với việc hỗ trợ ra quyết định dựa trên dữ liệu thực tế Việc hiện đại hóa quản lý không chỉ tạo ra lợi thế cạnh tranh mà còn mang lại sự hài lòng cho khách hàng, giúp siêu thị duy trì vị thế trong thị trường khốc liệt 1.2 Giới thi u v ệ ề kĩ thuậ ập trình hướng đối tượt l ng
Kỹ thu t lậ ập trình hướng đối tượng (OOP - Object Oriented Programming) là
m t ộ phương pháp lập trình d a trên khái niự ệm “đối tượng” Đối tượng ở đây bao gồm dữ liệu thuộc tính (properties) và các phương thức (methods) để thao tác với
dữ liệu đó OOP giúp tổ chức lập trình m t cách rõ ràng, d ộ ễ quản lý và tái s dử ụng
Trang 5Có 4 tính chất cơ bản c a lủ ập trình hướng đối tượng
Tính đóng gói
Đóng gói dữ liệu và các phương thức liên quan vào trong một đối tượng Điều nàgiúp gi m sả ự phức tạp và tăng tính bảo
mật
Tính k ế thừa
Cho phép định nghĩa một lớp mới dựa trên lớp đã có Lớp m i s kớ ẽ ế thừa t t cấcác thuộc tính và phương thức của lớpcha, và có th thêm vào các thu c tínhể ộphương thức mới
ử ụ ột phương thứ ớnhi u hình thề ức khác nhau Điều này giúptăng tính linh hoạt
Tính trừu tượng
Mục đích của tính trừu tượng là đơn giản hóa s ự phức t p b ng cách ch ạ ằ ỉ hiển th cịthu c tính và hành vi c n thi t cộ ầ ế ủa đốtượng mà không đi sâu vào cách thức thực hiện của chúng
1.3 T m quan tr ng c a lầ ọ ủ ập trình hướng đối tượng
1.3.1 ng d ng trong qu n lý siêu thỨ ụ ả ị:
Khi áp dụng LTHĐT vào phần m m qu n lý siêu th , chúng ta có th mô hình ề ả ị ểhóa các đối tượng quan trọng như hàng hóa, nhân viên, hóa đơn, và khách hàng một cách trực quan Điều này không ch giúp d dàng qu n lý danh m c hàng hóa và ỉ ễ ả ụtheo dõi t n kho mà còn h ồ ỗ trợ việc tạo hóa đơn và phân tích dữ liệu m t cách chính ộxác và nhanh chóng
1.3.2 K t luế ận:
Trong lĩnh vực phát tri n ph n mể ầ ềm, LTHĐT đóng vai trò cực kỳ quan trọng, đặc bi t trong vi c xây d ng các ph n m m qu n lý siêu th Việ ệ ự ầ ề ả ị ệc ứng dụng LTHĐT không ch giúp c i thiỉ ả ện tính năng của ph n m m mà còn tầ ề ối ưu hóa quy trình quản
lý, t o ra nh ng giá trạ ữ ị thực ti n cho doanh nghi p và khách hàng Hễ ệ ệ thống này s ẽ
là n n t ng v ng ch c cho s phát tri n b n v ng trong ngành bán l ề ả ữ ắ ự ể ề ữ ẻ
Trang 6CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ L P Ớ
2.1 Phân tích bài toán
Bài toán qu n lý bán hàng t i siêu th yêu c u phát tri n m t hả ạ ị ầ ể ộ ệ thống phần
m m giúp qu n lý các hoề ả ạt động kinh doanh trong siêu th , bao g m qu n lý sị ồ ả ản phẩm, khách hàng, đơn hàng, hóa đơn, nhân viên Mục tiêu chính của hệ thống là tối ưu hóa quy trình quản lý siêu thị, giúp nhân viên và quản lý dễ dàng theo dõi và điều hành các hoạt động bán hàng
Chương trình quản lý bán hàng siêu th cị ần đáp ứng các yêu c u chính sau: ầ
▪ Quản lý s n ph m ả ẩ : Lưu trữ thông tin s n ph m bao g m mã s n ph m, ả ẩ ồ ả ẩtên, lo i, giá, s ạ ố lượng tồn kho, v.v
▪ Quản lý nhân viên: Qu n lý thông tin cả ủa các nhân viên, đặc bi t là ệnhân viên bán hàng
▪ Quản lý khách hàng: Lưu trữ thông tin khách hàng, như tên, số điện tho i và l ch s mua hàng ạ ị ử
▪ Quản lý hóa đơn: Tạo và lưu trữ hóa đơn khi khách hàng thực hiện mua hàng Hóa đơn cần chứa danh sách sản phẩm, số lượng, giá, và tổng tiền
▪ Quản lý nh p kho ậ : Theo dõi các đợt nhập hàng và cập nhật số lượng sản ph m trong kho ẩ
2.2 Thi t k lế ế ớp và sơ đồ lớp
2.2.1 Thi t k l p ế ế ớ
Dựa trên phân tích bài toán, ta có các lớp sau đây:
L p Customer ớ Thể hiện thông tin khách hàng
L p Employee ớ Thể hiện thông tin nhân viên
L p Product ớ Thể hiện thong tin s n ph
ả ẩm và đượphân lo i ra 3 m t hàng chính: Fooạ ặBeverage, HouseHoldItem
L p Food ớ Kế thừa t l p Product th ừ ớ ể hiện thông t
sản phẩm đồ ăn
Lớp Beverage Kế thừa t l p Product th ừ ớ ể hiện thông t
sản phẩm đồ ống u
Trang 7L p HouseHoldItem ớ Kế thừa t l p Product th ừ ớ ể hiện thông t
L p DetailInvoice ớ Thể hiện thông tin chi tiết hóa đơn củakhách hàng
L p Seller ớ Kế thừa l p Employee thnhân viên bán hàng ớ ể hiện thông t
Hình 1 Các l p chớ ức năng chính trong chương trình
Trang 82.2.2 Sơ đồ lớp
Hình 2 Sơ đồ lớp chi ti t c a các l p ch ế ủ ớ ức năng trong chương trình
2.3 Cài đặt các l p chớ ức năng
Các l p chớ ức năng được cài đặt:
Hình 3 Các chức năng chính của chương trình
2.3.1 Chức năng quản lý:
Trang 9n lý c a hàng: qu n lý thông tin tên c
Trang 10Quản lý thông tin s n ph m: ả ẩ
và các thông tin khác
Hình 6 Qu n lí thông tin s n ph m ả ả ẩ
Quản lý nhân viên:
Hình 7 Quản lí thông tin nhân viên bán hàng
Trang 112.3.2.Chức năng bán hàng:
Hình 8 Chức năng tạo đơn hàng
Xem danh sách hóa đơn: xem danh sách các hóa đơn được thực hiện với các chức
Hình 9 Chức năng xem danh sách hóa đơn
Trang 12Hình 10 Chi tiết hóa đơn bán hàng
Trang 13CHƯƠNG III XÂY DỰNG ỨNG DỤNG
3.1 Thi t k giao diế ế ện chương trình
S d ng giao diử ụ ện Winform C# để thi t k giao diế ế ện chương trình quản lý bán hàng siêu th ị
Hình 11 Giao di n chính cệ ủa chương trình
3.2 Phát tri n các chể ức năng của ứng d ụng
Từ phần phân tích chi ti t các l p chế ớ ức năng, các giao diện qu n lý cả ủa chương trình như quản lý nhân viên, quản lý khách hàng, quản lý sản phẩm, tạo đơn hàng, xem danh sách hóa đơn đều có các chức năng thêm, xóa, sửa, c p nh t các m t hàng, ậ ậ ặlưu thông tin
Ví d : ta có th c p nh t sụ ể ậ ậ ố lượng hàng hóa còn l i trong kho Sạ ố lượng của Bia Tiger ban đầu là 94 Khi cập nhật thêm 6 sản phẩm cùng loại thì thông tin sẽ được lưu trữ
Hình 12 S ố lượng sản phẩm Bia Tiger ban đầu
Trang 14Hình 13 C p nh t s n ph m ậ ậ ả ẩ
Hình 14 S ố lượng sản ph m bia Tiger sau khi c p nh t ẩ ậ ậ
Trang 153.3 Các k ch bị ản thực thi ng d ứ ụng
K ch b n 1: Thêm thông tin nhân viên bán hàng ị ả
Hình 15 Thông tin các nhân viên bán hàng ban đầu
Hình 16 Sau khi c p nh t thông tin các nhân viên bán hàng ậ ậ
Trang 16K ch bị ản : ạo đơn hàng, lưu và xuất hóa đơn 2 T
Hình 17 Tạo thông tin đơn hàng mới
Hình 18 In ra hóa đơn bán hàng
Trang 17K ch bị ản 3: ử ụng kĩ thuật S d JSONSerialization/Deserialization để lưu/xuấ t d liệu ữ
Ví dụ:
Dữ liệu được nhập từ Form sẽ được lưu vào file text theo hình sau
Ta có th thêm, xóa, s a các thông tin t file text và thông tin s ể ử ừ ẽ được lưu vào Form Ch ng h n s a s ẳ ạ ử ố lượng c a các lo i th c phủ ạ ự ẩm như hình
Trang 18Kết qu ả được lưu lại trong Form
Trang 19CHƯƠNG IV THẢO LU ẬN VÀ ĐÁNH GIÁ
• Tính k ế thừa: các l p có th k ớ ể ế thừa các thu c tính c a nhau Ví d lộ ủ ụ ớp Food kế thừa các thu c tính c a lộ ủ ớp Product như MãSảnPh m, ẩTênS nPh m, Sả ẩ ốLượng, Giá
• Tính đóng gói: các thông tin mã Khách Hàng, S ố ĐiệnThoại,Tên Khách Hàng, Địa Chỉ đều được đóng gói trong một lớp đối tượng Customer, giúp làm gi m s ả ự phức tạp Tương tự cho các lớp khác
• Tính đa hình: một đối tượng có thể th hi n các tính chất khác nhau ể ệthông qua hi n th c c a nó Tùy vào các lo i s n ph m mà tính ch t s ệ ự ủ ạ ả ẩ ấ ẽthể hiện khác nhau Ví d : Food có tính ch t Ngày h t h n, Bevarage ụ ấ ế ạ
• Chưa có tích điểm cho các khách hàng mua hàng nhi u ề
• Chưa áp dụng được các chương trình giảm giá sản phẩm vào trong mã ngu n ồ
• Các định dạng thông tin còn h n ch ạ ế
Trang 205.3 Hướng phát tri n ể
• Thêm các chức năng báo cáo doanh số bán hàng
• Nhập thông tin s n ph m khi bán hàng b ng mã QR Code ả ẩ ằ
• Thi t l p các mã gi m giá cho các m t hàng c n thiế ậ ả ặ ầ ết
• Tham khảo các chương trình quản lý c a các siêu th ủ ị khác để phát triển chương trình
• Tạo ra giao diện gọn, đẹp mặt, giúp nhân viên qu n lý dễ dàng hơn ảtrong vi c bán hàng, nh p hàng, xuệ ậ ất hóa đơn
Hình 19 Ví d v ụ ề chương trình bán hàng của các siêu th khác ị
Trang 21PHỤ L C Ụ
Toàn b mã nguộ ồn chương trình
https://github.com/lesang199/QUAN- -LI BAN-HANG-SIEU-THI-FINAL
Hướng dẫn cài đặt để chạy
Bước 1 Truy cập đường dẫn ở trên để tải xuống chương trình quản lý bán hàng siêu th và gi i nén ị ả
Bước 2 M ởthư mục QuanLiBanHangSieuThi
Bước 3 Chọn “QuanLiBanHangSieuThi.csproj” bằng Visual Studio
Trang 22PHÂN CÔNG NHIỆM V Ụ
Nguy n Lê Sang ễ Viết code toàn bộ chương trình
thi k giao di ể ế ện, thự c hi n bá ệ cáo chương 3, chương 4, thuyết trình
Trầ n Quý Th nh ị Vi t code các l p ch c n ế ớ ứ ắng , bá
cáo chương 2 Nguy n Mai Hoàng Phúc ễ Viết báo cáo chương 1