1. Trang chủ
  2. » Luận Văn - 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 đề tài phần mềm quản lý bán hàng siêu thị

14 19 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phần mềm quản lý bán hàng siêu thị
Tác giả Nguyễn Đức Anh
Người hướng dẫn Trần Đình Tân
Trường học Trường Đại Học Phenikaa
Chuyên ngành Lập Trình Hướng Đối Tượng
Thể loại Bài tập lớn kết thúc học phần
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 14
Dung lượng 1,17 MB

Nội dung

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ờ ọingư

Trang 1

1

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:

HÀ NỘI, THÁNG 2/2024

Trang 2

2

Mục Lục

LỜI ẢM ƠN C

I Phân tích yêu cầu

1 Yêu cầu nghiệp vụ

2.Các chức năng chính

3 Phân tích hệ thống

3.1 Môi trường lập trình

3.2 Ngôn ngữ lập trình java .

II Đặc tả phần mềm

1.Mô hình đặc tả

2 Sơ đồ lớp của hệ thống

III Chương trình quản lý hàng siêu thị 9

1 Giao diện

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 10

2.1 T hêm sản phẩm .

2.2 S ửa sản phẩm .

2.3 Xóa sản phẩm

3 Chức năng tìm kiếm thông tin sản phẩm 1

4 Thống kê giá sản phẩm

KẾT LUẬN

Trang 3

3

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

Trang 4

4

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

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 Microsyste 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 Java

Trang 5

5

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ỏ ệ ừ ế ị

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ụ ạ ế 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 Javữ không? Nhưng điều có lẽ còn cuốn hút bạn 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 Truậ ế ị ầ ề 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

Trang 6

6

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ý

Trang 7

7

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

Trang 8

8

+ 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

derController Or

- appView: AppView

- orderFunc: OrderFunc

OrderFunc

- listOrder: ArrayList<Order>

- FILE_NAME: String + OrderFunc()

+ getListOrder(): List<Order>

+ setListOrder(ArrayList<Order>): void + addOrder(Order): boolean

+ editOrder(Order): boolean + deleteOrder(int): boolean +searchOrderByName(String):ArrayList<Orde + readData(): void

+ saveData(ArrayList<Order>): boolean + createFile(): void

Trang 9

9

+ OrderController(appView: AppView)

+ addOrderClickListener()

+ editOrderClickListener()

+ deleteOrderClickListener()

+ searchOrderClickListener()

- handleTextChange()

- actionCreateOrder()

- actionEditOrder(selectIndex: int) - actionDeleteOrder(selectIndex: int) - renderTable(list: List<Order>) 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

Trang 10

10

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

Trang 11

11

- 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<Order> 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

Trang 12

12

- 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

Trang 13

13

- 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 đó

Trang 14

14

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

Ngày đăng: 24/07/2024, 16:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w