Những hình thức mua bán bình thường như việc cập nhật các thông tin khách hàng, san phẩm, thanh toán hóa đơn..., các bộ phận quản lý không thê cập nhật thông tin ngay về hàng hóa mất thờ
Trang 1TEN GIANG VIEN: Tran Hoai Thuan
SINH VIÊN THỰC HIỆN: Nguyễn Xuân Trang MSSV: 22140041
Trang 2TRƯỜNG ĐẠI HỌC GIA ĐỊNH KHOA CÔNG NGHỆ THÔNG TIN
GIA DINH
UNIVERSITY
MON: LAP TRÌNH HƯỚNG ĐÓI TƯỢNG
TEN DE TAI: PHAN MEM DE QUAN LY HOA DON CUA CUA HANG BAN MY PHAM
TEN GIANG VIEN: Tran Hoai Thuan SINH VIEN THUC HIEN: Nguyễn Xuân Trang
Trang 3LOI NOI DAU
Ngày nay, công nghệ thông tin đang phát triển rất mạnh mẽ trong mọi lĩnh vực của đời sống trên khắp thế giới Việt Nam cũng không ngoại lệ khi bắt đầu đầu
tư chú trọng vào lĩnh vực nghệ thông tin nói chung và chuyên ngành phần mền nói
riêng Mặc dù công nghệ thông tin còn là ngành đang rất mới nhưng nó cho thấy
được tiềm năng rất lớn của ngành này tại nước ta Đối với các công ty, doanh
nghiệp thì các sản phâm của công nghệ là một phần không thê thiếu Sự kết hợp
giữa máy tính và môi trường giao tiếp tốt hiện nay đã trở thành một tiêu chuẩn để
tạo ra một sản phâm phần mềm ứng dụng Những hình thức mua bán bình thường
như việc cập nhật các thông tin khách hàng, san phẩm, thanh toán hóa đơn , các
bộ phận quản lý không thê cập nhật thông tin ngay về hàng hóa mất thời gian trong
việc mua bán, và hình thức tốt nhất đề con IBƯỜI có thê tiết kiệm thời gian mua bán
và quản lý tốt được mọi công việc một cách nhanh chóng và chính xác đó là các sản
phẩm phần mềm ứng dụng Sử dụng công nghệ thông tin hiệu quả sẽ giúp việc
quản lý trở nên đễ dàng hơn, tiết kiệm được nhiều công sức và chỉ phí lao động
hơn
Bắt nguồn từ những yếu tổ trên, nhằm góp phần giải quyết cho con người có thê quản lý hóa đơn, cập nhật thông tin sản phẩm nhanh chóng và qua quá trình
khảo sát và tìm hiểu nhu cầu thực tế của thị trường ngày nay về phần mềm công
nghệ tôi đã quyết định lựa chọn đề tài '“Xây Dựng Phần Mềm Dé Quan Ly Hóa Đơn
Cua Ctra Hang Ban My Pham” lam dé tài tiêu luận cho môn Lập Trình Hướng Đối
Tượng
Trang 41 Tính cấp thiết của đề tài
Xuất phát từ việc người quản lí của các cửa hàng kinh doanh gặp khó khăn trong quá trình quản trị, điều hành, quản lý hóa đơn bán hàng Và để góp phần giải
quyết các vấn đề đề người quản lý có thể cập nhật thông tin đơn hàng nhanh chống,
tiết kiệm được thời gian và có thê kiếm soát được chính xác thông tin về mặt hàng,
sô lượng, giá cả, doanh thu của các đơn hàng được chính xác nhật
2 Tình hình nghiên cứu liên quan đến đề tài
Nhiều phần mềm về quản lí đã có mặt trong việc điều hành quản lý của đa
số các cửa hàng ngày nay và nó được đề cập đến trong một số tài liệu như:
- Bai bao cdo chuyén dé lập trình java “Xây đựng phần mềm bán hàng mỹ phẩm M ARRY PEACH” của Phùng Việt Hoàng và Hà Huy Hoàn đã cung cấp các
kiến thức việc khảo sát vẫn đề, phân tích vả thiết kế hệ thống của một phần mềm
quản lý
3 Mục đích và nhiệm vụ nghiên cứu
- - Mục đích: Thiết kế xây dựng được phần mềm quản lý hóa đơn bán hàng giúp cho người quản lí của cửa hàng mỹ phẩm có thê đễ dàng kiểm soát được thông
tin hóa đơn bán hàng, quản lý hoạt động kinh doanh của cửa hàng dễ dàng vả thuận
lợi hơn
- Nhiệm vụ nghiên cứu: Hiểu được ngôn ngữ Java, lập trình hướng đối tượng Thiết kế phần mềm
4 Đối tượng và phạm vi nghiên cứu
- - Đôi tượng nghiên cứu: Xây dựng phâm mêm quản lý hóa đơn của cửa hàng mỹ phẩm
- _ Phạm vi nghiên cứu: Các cửa hàng kinh doanh mỹ phẩm
Trang 55 Phương pháp nghiên cứu
Với đặc thù của ngành công nghệ thông tin là sự thay đôi liên tục và phát triển không ngừng nên cần phải nghiên cứu tài liệu, số liệu từ các nguồn miễn phí
trên trang web nhu Google Schoolar, ScienceDirect, Tap chi Khoa hoc Viét Nam
trực tuyến để có thêm các kết quả tìm kiếm mới nhất phục vụ cho quá trình
nghiên cứu Từ các tài liệu cùng nguồn thông tin đã thu thập được kết hợp với
phương pháp phân tích, tổng hợp để đánh giá vấn đề từ đó đưa ra kết luận kết cho
7 Kết cấu của đề tài
Ngoài phần mục lục, lời mở đầu, đanh mục tài liệu tham khảo Kết cấu của tiêu luận gồm chương:
- _ Chương |: Tông quan về ngôn ngữ Java và tổng quan về phần mềm quản
lý hóa đơn bán hàng
- Chương 2: Thiết kế và xây dựng phần mềm quản lý hóa đơn bán hàng của cửa hàng mỹ phẩm
- Chương 3: Kết luận
Trang 6NOI DUNG
CHUONG 1: TONG QUAN VE NGON NGU LAP TRINH JAVA VA
TONG QUAN VE PHAM MEM QUAN LY HOA DON BAN HANG
1 Tông quan về ngôn ngữ lập trình Java 1.1 Khái niệm
Ngôn ngữ lập trình (tiéng Anh: programming language) là ngôn ngữ hình thức bao gồm một tập hợp các lệnh tạo ra nhiều loại đầu ra khác nhau Ngôn ngữ
lập trình được sử đụng trong lập trình máy tính đề thực hiện các thuật toán
Java là một trong ngôn ngữ lập trình hướng đối tượng, nó được sử dụng trong việc phát triển các phần mềm, trang web, game, hay ứng dụng trên các thiết
bị di động Java được khởi đầu bởi James Gosling và bạn ở Sun Microssystems vào
nam 1991 Ban dau, java ra doi nhằm mục đích viết phần mềm cho các sản phẩm
gia dụng có tên là Oak Java chính thức được giới thiệu vào tháng 6/1995 từ đó nó
đã trở thành một công cụ lập trình của các lập trình viên chuyên nghiệp
Khác biệt với các loại ngôn ngữ lập trình khác Java mang một màu sắc riêng Thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn mới có
thé chạy được, thì Java được thiết kế để biên dịch mã nguồn thanh bytecode, sau đó
bytecode sẽ được môi trường thực thi chạy Ngôn ngữ Java được viết ra với tiêu chi
“viết một lần, thực thi khắp nơi” Hiện tại, chương trình phần mềm viết bằng Java
có thể khởi tạo trên mọi nền tảng khác nhau chỉ qua một môi trường thực thị, điều
kiện là môi trường đó phải phủ hợp hỗ trợ nền tảng đó
1.2 Một số tính chất của Java Java được phát triển từ ngôn ngữ C/C+—~>, nó kế thừa các thế mạnh từ nhiều
cú pháp của các ngôn ngữ lập trình € và C++, vì vậy nếu bạn biết bất kỳ ngôn ngữ
nào trong số này thì việc lập trình với ngôn ngữ Java sẽ trở nên để đàng hơn Java
có một số đặc trưng tiêu biểu: đơn giản, hướng đối tượng, độc lập phần cứng và hệ
điều hành, mạnh mẽ, bảo mật, phân tán đa luồng và linh động
Trang 71.2.1 Đơn giản Java đã loại bỏ nhiều tính năng phức tạp và ít được sử dụng hơn Hơn nữa, tính năng tự động thu gom code thừa sẽ giúp loại bỏ các cá thê đối tượng không sử
dụng và ngốn bộ nhớ mà không cần phải làm điều đó theo cách thủ công Java đã
loại bỏ các đặc trưng phức tạp của ngôn ngữ C và C++ như:
- Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng toán tử
- Không cho phép đa kế thừa mà sử dụng các giao diện
- Không sử dụng Iénh “goto” cting nhu “file header”
- Loại bỏ cấu trục “struct” và “union”
1.2.2 Hướng đối tượng
Đối tượng là một trường đữ liệu với tập hợp các thuộc tính và hành vi riêng của nó Lập trình hướng đối tượng (OOP) tập trung vào các đối tượng mả các nhà
phát triển muốn xử lý, thay vì logic được yêu cầu đề thao tác
Java là một ngôn ngữ lập trình thuần hướng đối tượng, mọi chương trình viết trên Java đều phải được xây đựng trên các đối tượng Lập trình hướng đối tượng
(OOP) là một mô hình lập trình tô chức thiết kế phần mềm xung quanh dữ liệu, chứ
không phải là các chức nang va logic
Loại lập trình này phù hợp với các dự án lớn, phức tạp và được cập nhật hoặc bảo trì thường xuyên Điều này bao gồm phần mềm sản xuất, thiết kế, ứng
dụng di động
1.2.3 Độc lập phần cứng và hệ điều hành
Mã Java có thê chạy trên nhiều nền tảng, bao gồm Windows, Linux, macOS
và các nền tảng khác Trình biên dịch mã Java và chuyên đổi nó thành mã byte, vi
Java có thê hoạt động trên các hệ thống khác nhau, mã byte này không phụ thuộc
vào nên tảng, tức là “Viết một lần, Chạy mọi nơi (WORA}”
Trang 81.2.4 Tinh manh mé Không có ngôn ngữ lập trình nào có thê đảm bảo độ tin cậy hoàn toàn như Java Bởi vì các trình biên dịch giúp Java có thê phát hiện ra nhiều lỗ hồng sẽ xuất
hiện tại thời điểm thực thi trong các ngôn ngữ khác, ngôn ngữ lập trình này đặt giá
trị cao trong việc kiểm tra lỗi sớm Một số kiểu cấu trúc lập trình đễ xảy ra lỗi phổ
biến trong các ngôn ngữ khác đã bị loại bỏ trong Java
1.2.5 Tính bảo mật Hiện tại, Java hỗ trợ bảo mật rất tốt nhờ các thuật toán mã hóa như mã hóa một chiều (one way hashing) hay mã hóa công cộng (public key), v.v Nhờ đó mà
khả năng bảo mật của ngôn ngữ này rất cao, giúp cho lập trình viên có thể yên tâm
trong quá trình sử dụng để lập trình phần mềm, ứng dụng, v.v
1.2.6 Đa luồng (Multiread)
Đa luồng là một tính năng của Java tạo điều kiện cho việc thực thi hai hoặc nhiều phần của một chương trình cùng một lúc đề tối đa hóa hiệu quả của CPU
Một luồng là một thành phần của một chương trình Do đó, các chủ đề là các quy
trinh nhẹ trong các quy trình
1.2.7 Tinh linh dong
So voi ng6n net lap trinh C hay C++, Java có tính lĩnh hoạt hơn Bởi ngôn ngữ Java được thiết kế dé thích ứng với nhiều môi trường phát triển khác nhau
2 Tổng quan về phần mềm quản lý hóa đơn bán hàng
2.1 Khảo sát hệ thống
Trong thời đại kinh tế thị trường như hiện nay, các hoạt động kinh doanh với
nhiều loại hình khác nhau trở nên phát triển mạnh mẽ và để đáp ứng nhu cầu đó,
đòi hỏi ngày càng cao của các tô chức doanh nghiệp về vấn đề quản lý, việc xây
dựng phần mềm là một giải pháp tốt nhất Sẽ góp phần rút ngắn thời gian làm việc,
giảm thiểu chỉ phí và sức lao động và mang lại hiểu quả cao cho các cửa hàng và
doanh nghiệp Một trong những mô hình đó là phần mềm hỗ trợ việc quản lý hóa
đơn bán hàng tại các cửa hàng kinh doanh mỹ phẩm
Trang 9Chắc lượng cuộc sống không ngừng phát triển, nhu cầu của con người cũng không ngừng tăng lên Trong số đó, nhu cầu về việc chăm sóc làm đẹp bản thân
cũng ngày cảng được ưa chuộng từ đó các cửa hàng mỹ phẩm đã trở thành ngành
kinh doanh phát triển mạnh mẽ, nó dẫn trở nên phô biến và trở thành địa điểm tiêu
dùng không thê thiếu của mọi người Do vậy, đề đảm bảo việc bán hàng có thê hoạt
động trơn tru hơn, linh động hơn đòi hỏi các cửa hàng mỹ phâm cần có một phần
mềm đề quản lý hóa đơn bán hàng, một phần mềm có khả năng xử lý nhanh chống,
tối ưu hóa quá trình bán hàng, tính bảo mật cao, tiết kiệm thời gian cho cả khách
hàng, nhân viên bán hàng, và người quản lí cửa hàng đề việc quản lý các hóa đơn
tro nén dé dang, thuận tiện hơn
2.2 Các tính năng cần có trong phần mềm quản lý hóa đơn
- Quản lý khách hàng: Phần mềm cho phép cửa hàng lưu trữ thông tin cá nhân và lịch sử mua hàng của khách hàng, nhật kí chăm sóc và mua hàng đảm bảo
kế hoạch kinh doanh hiệu quả với tệp khách hàng trung bình Điều này giúp cửa
hàng có thế tạo ra các chương trình khuyến mãi, thẻ thành viên và xây dựng mối
quan hệ lâu dải với khách hàng
- Quản lý sản phâm: Cửa hàng bán mỹ phẩm có nhiều loại sản phẩm va thường xuyên cập nhật sản phẩm mới Phần mềm quản lý hóa đơn cần cho phép
cập nhật thông tin về sản phẩm như tên, mô tả, giá cả, số lượng tổn kho và phân
loại hàng hóa theo các đặc điểm thuộc tính Điều này giúp cửa hàng biết được sản
phẩm nào đang còn hàng và sản phâm nào đang hết hàng
- Quản lý đơn hàng: Phần mềm nên có khả năng thiết lập, lưu trữ đơn hàng nhanh chóng và quản lý đơn hàng từ khách hàng Quản lý đơn hàng bao gồm việc
tạo và ¡n hóa đơn, theo dõi tiễn trình đặt hàng, và cập nhật trạng thái đơn hàng
(đang giao, đã giao, đã hủy, .)
- Quản lý kho hàng: Cửa hàng bán mỹ phẩm cần phải kiểm soát số lượng hàng tồn kho của mình Phần mềm quản lý hóa đơn cần có tính năng giúp cửa hàng
kiêm soát lượng hàng tồn kho, cảnh báo khi còn ít hàng và tự động cập nhật số
lượng hàng sau khi có giao dịch bán hàng
Trang 10- Báo cáo tài chính: Phần mềm quản lý hóa đơn nên cung cấp các báo cáo tài chính như doanh thu theo khoảng thời gian, lợi nhuận, giá vốn, báo cáo kho, nhân
sự, kênh bán hàng, báo cáo trả hàng và thống kê các mặt hàng bán chạy Các báo
cáo này giúp cửa hàng theo dõi hiệu quả kinh đoanh và đưa ra quyết định dựa trên
đữ liệu
2.3 Những yêu cầu của một phần mềm quản lý hóa đơn bán hàng
- Phần mềm cần có giao điện đơn giản, đễ sử đụng cho cả người quản lý và nhân viên bán hàng
- Khả năng xử lý dữ liệu một cách nhanh chóng, chính xác
- Hệ thống đễ dàng kiêm soát, chỉnh sửa và nâng cấp theo đặc thù từng loại cửa hàng, doanh nghiệp
- Phần mềm cần được kết nối và thích nghi với nhiều phương tiện, nền tảng, phần mềm khác
- Có thể kết xuất nhiều báo cáo quan tri, hỗ trợ lãnh đạo trong việc theo đối, đánh giá và đưa ra quyết định chiến lược
- Dịch vụ hỗ trợ tận tình, chuyên nghiệp từ nhà cung cấp phần mềm
- Phần mềm quản lý bán hàng thường cần được tích hợp với “phần mềm ERP'” đề việc quản lý doanh nghiệp được đồng bộ và thống nhất
- 'Tích hợp trên mọi nên tảng, hệ điều hành
- Công nghệ, tính năng cập nhật liên tục
- Phần mềm chuẩn thuần Việt
- Kết nối với máy POS tính tiền
Trang 11CHUONG 2: THIET KE VA XAY DUNG PHAN MEM QUAN LY
HOA DON BAN HANG CUA CUA HANG MY PHAM
1 Class hoa don package DonHangvaKhachHang;
System out.print("S6 luong don hang muốn nhập: ");
int soLuongDonHang = scanner.nextInt();
scanner.nextLine();
List<DonHang> danhSachDonHang = new ArrayList<>();
for (int 1= 0; 1< soLuongDonHang; i++) { System.out.println("Nhap thong tin don hang "+ (a+ 1)+":");
System.out.print("Ma hoa don: ");
String maHoaDon = scanner.nextLine();
Trang 12System.out.print("Ngay lập hóa don: ");
String ngayLapHoaDon = scanner.nextLine();
System.out.printin(" Thong tin khach hang:");
System.out.print("Ma khach hang: ");
String maKhachHang = scanner.nextLine():
System.out.print("T¢n khach hang: ");
String tenKhachHang = scanner.nextLine();
System.out.print("Dia chi: ");
String diaChi = scanner.nextLine();
System.out.print("Số điện thoại: ");
String soDienThoai = scanner.nextLine();
KhachHang khachHang = new KhachHang(maKhachHang, tenKhachHang, diaChi, soDienThoai);
System.out.println( "Thông tin gói sản phâm:");
System.out.print( "Mã gói sản phâm: ");
String maGoiSanPham = scanner.nextLine();
System.out.print( "Tên gói san pham: ");
String tenGoiSanPham = scanner.nextLine();
10
Trang 13System.out.println(" Thong tin nude hoa:");
System.out.print("Ma nude hoa: ");
String maNuocHoa = scanner.nextLine();
System.out.print("Loai nude hoa (Hoa héng, Hoa cúc): ");
String loaiNuocHoa = scanner.nextLine();
System.out.println( "Thông tin dầu gôi:");
System.out.print( "Mã dầu gội: ");
String maDauGoi = scanner.nextLine();
System.out.print("Loai dầu gội (Cho tóc khô, Cho tóe dầu): ");
String loaiDauGoi = scanner.nextLine();
Trang 14int tieuChuanKiemDinh = scanner.nextInt();
scanner.nextLine();
DauGoi dauGoi = new DauGoi(maDauGoi, loaiDauGoi, dung TichDauGoi, tieuChuanKiemDinh),;
System.out.println( "Thông tin sữa tăm:");
System out.print("MA sira tam: ");
String maSuaTam = scanner.nextLine();
System out.print("Loai sita tam (Cho da khô, Cho da nhờn): ");
String loaiSuaTam = scanner.nextLine();
Trang 15DonHang donHang = new DonHang(maHoaDon, ngayLapHoaDon, khachHang, goiSanPham);
danhSachDonHang.add(donHang);
}
System.out.printIn("Danh sach don hang:");
for (DonHang donHang : danhSachDonHang) { System out.println(donHang.toString());
scanner.close();
13