Phần mềm quản lý bán hàng siêu thị | Báo cáo bài tập lớn kết thúc học phần Lập trình hướng đối tượng
Người sử dụng ứng dụng là quản lý kho hàng siêu thị. quản lý sẽ có quyền thực hiện các chức năng như trên. Khi có một món hàng mới thì quản lý sẽ tiến hành dùng chức năng thêm sản phẩm để thêm sản phẩm mới vào danh sách sản phẩm và quản lý có thể kiểm kê được số lượng sản phẩm có trong siêu thị. Khi nhân viên nhận thấy có sản phẩm bị sai thông tin thì Quản lý sẽ tiến hành sửa lại thông tin đơn hàng. Khi mặt hàng đã hết hoặc siêu thị không muốn bày bán nữa thì quản lý sẽ tiến hành xóa sản phẩm khỏi hệ thống của siêu thị. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đón xem.
Môn: Lập trình hướng đối tượng (Phenikaa)
Trường: Đại học Phenika
Thông tin:
Tác giả:
Preview text:
TRƯỜNG ĐẠI HỌC PHENIKAA
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN KẾT THÚC HỌC PHẦN LẬP
TRÌNH HƯỚNG ĐỐI TƯỢNG
Đề tài : Phần mềm quản lý bán hàng siêu thị
Sinh viên : NGUYỄN ĐỨC ANH Lớp
: Lập trình hướng ối tượng-1-2-23(N01.TH1) Mã SV : 22010353 1
HÀ NỘI, THÁNG 2/2024 Mục Lục
LỜI CẢM ƠN ........................................................................................................................... 3 I. Phân tích yêu
cầu ................................................................................................................. 4
1. Yêu cầu nghiệp vụ ............................................................................................................ 4
2.Các chức năng chính .......................................................................................................... 4
3. Phân tích hệ thống ............................................................................................................. 4
3.1. Môi trường lập trình ..........................................................................................................
4 3.2. Ngôn ngữ lập trình
java .................................................................................................... 5
II. Đặc tả phần mềm ................................................................................................................ 7
1.Mô hình ặc tả ................................................................................................................... 7
2. Sơ ồ lớp của hệ thống ..................................................................................................... 7
III. Chương trình quản lý hàng siêu thị ................................................................................. 9
1. Giao diện ........................................................................................................................ 9
2. Phân tích ...................................................................................................................... 10
1. Chức năng ọc/ghi file nhị phân ................................................................................. 10 2
2. Chức năng thêm, sửa, xóa thông tin sản phẩm ........................................................... 10
2.1.Thêm sản phẩm .................................................................................................................. 10
2.2.Sửa sản phẩm ..................................................................................................................... 11
2.3.Xóa sản phẩm..................................................................................................................... 11
3. Chức năng tìm kiếm thông tin sản phẩm .................................................................... 12
4. Thống kê giá sản phẩm ............................................................................................... 13
KẾT LUẬN ............................................................................................................................. 14 Lời cảm ơn
Em xin cảm ơn thầy Trần Đình Tân về sự hỗ trợ và giảng dạy tận tâm mà thầy ã dành cho lớp
trong quá trình học tập. Bài tập lớn này ã óng góp một phần quan trọng vào sự phát triển kiến
thức và kỹ năng trong lĩnh vực này. Em xin chân thành cảm ơn vì iều ó.
Em cũng xin cảm ơn những người ã ọc và ánh giá về sản phẩm của em. Sự góp ý và
phản hồi sẽ giúp ích rất nhiều cho em trong quá trình học tập cũng như công việc sau này. Trân trọng, Nguyễn Đức Anh 3
I. Phân tích yêu cầu
1. Yêu cầu nghiệp vụ
Người sử dụng ứng dụng là quản lý kho hàng siêu thị. quản lý sẽ có quyền thực
hiện các chức năng như trên. Khi có một món hàng mới thì quản lý sẽ tiến hành dùng
chức năng thêm sản phẩm ể thêm sản phẩm mới vào danh sách sản phẩm và quản lý
có thể kiểm kê ược số lượng sản phẩm có trong siêu thị. Khi nhân viên nhận thấy có
sản phẩm bị sai thông tin thì Quản lý sẽ tiến hành sửa lại thông tin ơn hàng. Khi mặt
hàng ã hết hoặc siêu thị không muốn bày bán nữa thì quản lý sẽ tiến hành xóa sản phẩm
khỏi hệ thống của siêu thị.
2.Các chức năng chính 1.Thêm sản phẩm 2. Tìm kiếm sản phẩm
3. Chỉnh sửa thông tin sản phẩm 4. Xóa sản phẩm 4
3. Phân tích hệ thống
3.1 Môi trường lập trình
Java Development Kit (JDK - Bộ công cụ cho người phát triển ứng dụng bằng ngôn ngữ
lập trình Java) là một tập hợp những công cụ phần mềm ược phát triển bởi Sun Microsystems
dành cho các nhà phát triển phần mềm, dùng ể viết những applet Java hay những ứng dụng Java.
3.2 Ngôn ngữ lập trình Java
Java là một ngôn ngữ hướng ối tượng, a mục ích với các cú pháp rất giống với C và C++.
Ban ầu thì a số mọi người nghĩ là Java sẽ chủ yếu ược sử dụng ể lập trình nên những applet
hay những chương trình nhỏ chạy trên các trình duyệt web, tuy nhiên ến giờ thì mọi người ã
thay ổi quan iểm. Một số người vốn trước ây tin rằng applet chính là ất sống của Java thì nghĩ
rằng Java ã chết do sự xuất hiện của các oạn phim hoạt hình Flash. Nhưng Java ã thay ổi. Cái
thời mà người ta nghĩ rằng ứng dụng chủ yếu của Java là làm các applet ộng trên các trang web
ã qua. Ngày nay, Sun, IBM, BEA... và các công ty khổng lồ khác ã liên kết ể phát triển Java
thành một môi trường a năng chứ không chỉ dừng lại là một thứ ngôn ngữ lập trình a nền tảng
nữa. Java ã có mặt ở khắp mọi nơi: từ những chiếc iện thoại di ộng nhỏ bé mang nhãn hiệu
Nokia, Samsung, Motorola, Ericcson..., từ các thiết bị PDA dùng hệ iều hành Palm cho ến các
con chíp iện tử dùng trên các tấm thẻ tín dụng, các thiết bị chẩn oán và phân tích dùng trong y
tế, khai thác năng lượng, iểu khiển và quản lý thiết bị....từ các phần mềm trên server, các trang
web ộng, cho ến các ứng dụng trên desktop. Bạn có biết rằng người máy Người tìm ường Sao
Hỏa dùng phần mềm iều khiển bằng ngôn ngữ Java không? Nhưng iều có lẽ còn cuốn hút bạn 5
hơn khi bạn biết rằng ngay từ năm 1997, năm mà Java còn chưa tốt như bây giờ, Trung tâm
Vũ Trụ NASA ã chính thức công nhận ngôn ngữ Java là ngôn ngữ chính ược sử dụng ể lập
trình cho các thiết bị và phần mềm dùng cho Trung tâm.
Giờ ây, khi nhắc ến Java, người ta cần phải hiểu ó là: thứ nhất: ó là một môi trường phát
triển và triển khai ứng dụng; thứ hai: ó là một ngôn ngữ lập trình toàn năng. Sự xuất hiển phổ
biến của Flash không hề e dọa ến Java. Rõ ràng với sự ầu tư của Sun và các công ty hỗ trợ Java
khác, chỉ trong vòng 5 năm, nó ã trở thành một ngôn ngữ toàn năng nhất trong các ngôn ngữ
lập trình ược sử dụng trên thế giới hiện nay. Điều người ta quan tâm nhất ở Java là khả năng
viết một lần chạy mọi nơi nghĩa là bạn có thể viết chương trình trên một máy tính cài Window,
chạy chip của Intel nhưng chương trình ó vẫn chạy tốt và cho cùng một kết quả hoạt ộng khi
chạy nó trên Macitosh hay Unix. Điều này là không tưởng ối với C, C++, VB... Khả năng
chuyển ổi nền tảng, dễ phân phối, a tầng, hướng ối tượng chính là những gì mà Java chứng tỏ
nó ưu việt hơn các ngôn ngữ khác.
Với C, C++ tức là cha mẹ ẻ của Java thì iều này là rõ ràng. Với Visual Basic, ngôn ngữ
lập trình quan trọng nhất của Microsoft, ngoài những iểm vừa nói ở trên, Java còn ược giới lập
trình chuyên nghiệp trên thế giới trong ó các hacker thế hệ thứ nhất ánh giá rằng ây là một
ngôn ngữ có cú pháp và cấu trúc tốt hơn nhiều. Sử dụng Java bạn có thể dễ dàng mở rộng dự
án lập trình của mình với quy mô không giới hạn, việc quản lý cũng hết sức dễ dàng trong khi
ó Visual Basic với cấu trúc thiết kế không thực sự tốt, nó chỉ thích hợp với các dự án nhỏ, ít có
nhu cầu mở rộng hay quản lý. 6
II. Đặc tả phần mềm
1 .Mô hình ặc tả
2. Sơ ồ lớp của hệ thống Order - ID: int - name: String - count: int - unitPrice: int - sum: int 7 + getID(): int + setID(int): void + getName(): String + setName(String): void + getCount(): int + setCount(int): void + getUnitPrice(): int + setUnitPrice(int): void + getSum(): int + setSum(int): void + returnSum(): int OrderFunc - listOrder: ArrayList - FILE_NAME: String + OrderFunc() + getListOrder(): List
+ setListOrder(ArrayList): void + addOrder(Order): boolean + editOrder(Order): boolean + deleteOrder(int): boolean +searchOr derByName(String):ArrayList + readData(): void
+ saveData(ArrayList): boolean + createFile(): void OrderController - appV iew: AppView - orderFunc: OrderFunc 8
+ OrderController(appView: AppView) + addOrderClickListener() + editOrderClickListener() + deleteOrderClickListener() + searchOrderClickListener() - handleTextChange() - actionCreateOrder()
- actionEditOrder(selectIndex: int)
- actionDeleteOrder(selectIndex: int) - renderTable(list: List)
III. Chương trình quản lý hàng siêu thị 1. Giao diện 1.1. Giao diện ăng nhập 9 1.2 Giao diện chung 2. Phân tích
1. Chức năng ọc/ghi file nhị phân
2. Chức năng thêm, sửa, xóa thông tin sản phẩm 2.1 Thêm sản phẩm 10
- Phương thức trả về giá trị boolean, thể hiện xem việc lưu dữ liệu ã thành công hay
không. Nếu việc lưu dữ liệu thành công, phương thức trả về true, nếu không sẽ trả về false.
- Phương thức saveData(ArrayList data) sẽ ghi danh sách ơn hàng vào tệp
dữ liệu, ảm bảo rằng dữ liệu mới ược thêm vào sẽ ược lưu lại và không bị mất khi
chương trình kết thúc hoặc khởi ộng lại.
- this.listOrder.add(order) thêm ối tượng ơn hàng mới (order) vào danh sách listOrder 2.2 Sửa sản phẩm
- phương thức kiểm tra xem ID của ơn hàng tại vị trí ‘i’có khớp với ID của ơn hàng
cần chỉnh sửa hay không
- Phương thức sử dụng listOrder.set(i, order) ể thay thế ối tượng ơn hàng cũ trong
danh sách bằng ối tượng ơn hàng mới (order). Điều này có nghĩa là thông tin của
ơn hàng trong danh sách ã ược cập nhật
2.3 Xóa thông tin sản phẩm 11
- vòng lặp foreach ể duyệt qua tất cả các ơn hàng trong danh sách listOrder
- phương thức kiểm tra xem ID của ơn hàng o có khớp với ID của ơn hàng cần xóa hay không
- sử dụng listOrder.remove(o) ể xóa ơn hàng o khỏi danh sách. Điều này sẽ loại bỏ
ơn hàng ó khỏi danh sách
- dừng vòng lặp bằng lệnh break
3. Chức năng tìm kiếm thông tin sản phẩm
- phương thức tạo một danh sách mới có tên list ể chứa các ơn hàng phù hợp
- Phương thức kiểm tra xem ộ dài của chuỗi tìm kiếm sản phẩm có bằng 0 hay không.
Nếu ộ dài bằng 0, có nghĩa là không có tên ược cung cấp hoặc tên tìm kiếm trống.
Khi ó, phương thức trả về toàn bộ danh sách ơn hàng mà không cần tìm kiếm 12
- Nếu tên tìm kiếm không trống, phương thức sẽ duyệt qua toàn bộ danh sách
listOrder ể tìm kiếm các ơn hàng phù hợp
- phương thức kiểm tra xem tên của ơn hàng o có chứa chuỗi tìm kiếm (dùng phương
thức contains()) hay không. Sự so sánh ược thực hiện bằng cách chuyển ổi cả tên
ơn hàng và chuỗi tìm kiếm thành chữ thường (dùng phương thức toLowerCase()) ể so sánh
4. Thống kê giá sản phẩm
- Phương thức tính toán bằng cách nhân số lượng sản phảm với giá trị của sản phẩm ó 13 KẾT LUẬN
Trong quá trình thực hiện dự án, em luôn cố gắng làm việc với một tinh thần cực kỳ
nghiêm túc, vận dụng linh hoạt các kiến thức ã ược giảng dạy ể có thể hoàn thành môn học một
cách tốt nhất có thể. Tuy sản phẩm vẫn còn khá ơn giản, chưa ược hoàn hảo như ý muốn nhưng
rất mong nhận ược sự ghi nhận từ thầy, cô. Mọi ý kiến óng góp sẽ là những kinh nghiệm quý
báu ể em phát triển hơn về sau này. 14