- Tóm tắt kết quả đạt được: + Ứng dụng quản lý kho hàng hoàn chỉnh: cho phép quản lý thông tin sản phẩm, nhập kho, xuất kho, và kiểm tra tồn kho một cách hiệu quả và chính xác.. + Bảo m
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2MỤC LỤC
1 GIỚI THIỆU 3
2 MÔ TẢ CƠ SỞ DỮ LIỆU 4
2.1 Danh sách các bảng dữ liệu trong sơ đồ 4
2.2 Mô tả từng bảng dữ liệu 4
2.2.1 Bảng Account 5
2.2.1 Bảng ChiTietPhieuNhap 5
2.2.1 Bảng ChiTietPhieuXuat 5
2.2.1 Bảng PhieuNhap 5
2.2.1 Bảng PhieuXuat 6
2.2.1 Bảng NhaCungCap 6
2.2.1 Bảng MayTinh 6
3 THIẾT KẾ HỆ THỐNG 7
3.1 Sơ đồ lớp 7
3.2 Usecase 8
3.2.1 Sơ đồ usecase 8
3.2.2 Mô tả usecase 9
3.3 Sơ đồ ERD 9
3.4 Activity Diagram 10
3.4.1 Mô hình nghiệp vụ đăng nhập 10
3.4.2 Mô hình nghiệp vụ xuất kho 11
3.4.3 Mô hình nghiệp vụ nhập kho 12
4 ỨNG DỤNG MÔ HÌNH MVC 12
4.1 Cấu trúc thư mục 13
4.2 Thành phần của mô hình MVC 14
5.THIẾT KẾ GIAO DIỆN 15
5.1 Giao diện trang đăng nhập 15
5.2 Giao diện đăng nhập với tư cách admin 16
5.3 GIao diện đăng nhập với tư cách quản lí kho 16
5.4 Giao diện đăng nhập với tư cách nhân viên nhập 17
5.5 Giao diện đăng nhập với tư cách nhân viên xuất 17
5.6 Màn hình nhà cung cấp 18
5.7 Trang tài khoản 18
5.8 Trang thống kê 19
5.9 Trang tồn kho 19
5.10 Trang phiếu nhập 20
5.11 Trang phiếu xuất 20
5.12 Trang nhập hàng 21
5.13 Trang xuất hàng 21
6 KẾT LUẬN 21
7 TÀI LIỆU THAM KHẢO 22
Trang 3- Công cụ và công nghệ sử dụng:
+ Ngôn ngữ lập trình: Java
+ Cơ sở dữ liệu: MySQL
+ Giao diện người dùng: Swing
+ IDE phát triển: Netbean
- Tóm tắt kết quả đạt được:
+ Ứng dụng quản lý kho hàng hoàn chỉnh: cho phép quản lý thông tin sản
phẩm, nhập kho, xuất kho, và kiểm tra tồn kho một cách hiệu quả và chính xác
+ Giao diện người dùng thân thiện: Giao diện đơn giản, dễ sử dụng, giúp người
dùng dễ dàng thực hiện các tác vụ quản lý
+ Báo cáo và thống kê: Hệ thống cung cấp các báo cáo chi tiết về tình trạng kho
hàng, lịch sử nhập/xuất kho, giúp người quản lý có cái nhìn tổng quan về kho hàng
+ Bảo mật và phân quyền: Hệ thống quản lý người dùng với các cấp độ phân
quyền khác nhau, đảm bảo an toàn và bảo mật thông tin
+ Tối ưu hóa quy trình: Giảm thiểu sai sót và thời gian xử lý các công việc quản
lý kho, giúp nâng cao hiệu suất làm việc
- Cam kết: Đề tài do nhóm tự phân tích thiết kế và không dựa trên đề tài nào khác.
Trang 42 MÔ TẢ CƠ SỞ DỮ LIỆU
2.1 Danh sách các bảng dữ liệu trong sơ đồ
Trang 52.2.1 Bảng Account
2.2.1 Bảng ChiTietPhieuNhap
2.2.1 Bảng ChiTietPhieuXuat
2.2.1 Bảng PhieuNhap
phiếu
Trang 64 maNhaCungCap varchar(50) Not null Mã nhà cung cấp
2.2.1 Bảng PhieuXuat
phiếu
2.2.1 Bảng NhaCungCap
1 maNhaCungCap varchar(50) Primary key Mã nhà cung cấp
3 tenNhaCungCap varchar(50) Not null Tên nhà cung cấp
2.2.1 Bảng MayTinh
Trang 710 loaiMay varchar(50) Not null loại máy
3 THIẾT KẾ HỆ THỐNG
3.1 Kiến trúc hệ thống
Trang 83.2 Sơ đồ lớp
Trang 9- Tạo phiếu xuất kho: Phiếu được tạo khi hàng hoá được xuất đi.
- Đăng xuất: các tác nhân thoát khỏi hệ thống
- Đăng nhập: các tác nhân đăng nhập vào hệ thống
- Đổi mật khẩu: các tác nhân thay đổi mật khẩu đăng nhập của bản thân hệ thống
- Quản lí hàng hóa: tác nhân có thể chỉnh sửa thông tin của hàng hóa (thêm, sửa, xóa) và cập nhật lại lên hệ thống
- Xem thống kê: Xem bảng thống kê lại doanh thu qua các ngày, tháng, quý, năm
Trang 10- Quản lý xuất kho: các tác nhân có thể xem chi tiết các hàng hoá được xuất khỏi kho.
- Tạo phiếu nhập kho: Phiếu được tạo khi hàng hóa được nhập về
- Quản lý nhập kho: các tác nhân có thể xem chi tiết các hàng hoá được nhập vào kho
3.4 Sơ đồ ERD
Trang 113.5 Activity Diagram
3.5.1 Mô hình nghiệp vụ đăng nhập
Trang 123.5.2 Mô hình nghiệp vụ xuất kho
Trang 133.5.3 Mô hình nghiệp vụ nhập kho
Trang 144.1 Cấu trúc thư mục
Trên đây chỉ là minh họa một vài file trong folder ,thực tế thì trong mỗi folder sẽ có nhiều file hơn
4.2 Thành phần của mô hình MVC
Trang 15+ Model:
Vai trò: Model chịu trách nhiệm quản lý dữ liệu và logic nghiệp vụ của ứng dụng Trong trường hợp của quản lý kho hàng, Model sẽ bao gồm các lớp và phương thức để thao tác với cơ sở dữ liệu MySQL
Chức năng: Model sẽ thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên dữ liệu kho hàng, ví dụ như thêm mới sản phẩm, cập nhật thông tin sản phẩm, xóa sản phẩm, và truy vấn thông tin sản phẩm từ cơ sở dữ liệu
Ví dụ: Một lớp Product đại diện cho các sản phẩm trong kho, và một lớp
+ View:
Vai trò: View chịu trách nhiệm về giao diện người dùng Trong ứng dụng Java Swing, View sẽ bao gồm các thành phần giao diện như bảng (JTable), nút bấm (JButton), và các ô nhập liệu (JTextField)
Chức năng: View sẽ hiển thị dữ liệu từ Model và gửi các yêu cầu của người dùng tới Controller
Ví dụ: Một JFrame hiển thị danh sách sản phẩm trong kho, các biểu mẫu để thêm mới hoặc chỉnh sửa thông tin sản phẩm
+ Controller:
Vai trò: Controller làm nhiệm vụ trung gian giữa Model và View, nhận các yêu cầu từ View, xử lý logic nghiệp vụ (thông qua Model), và cập nhật View tương ứng
Chức năng: Controller sẽ xử lý các sự kiện từ View, chẳng hạn như khi người dùng nhấn nút thêm sản phẩm mới, Controller sẽ gọi phương thức tương ứng trong Model để thêm sản phẩm vào cơ sở dữ liệu và cập nhật View để hiển thị sản phẩm mới
Ví dụ: Một lớp ProductController xử lý các sự kiện từ giao diện người dùng như thêm, sửa, xóa sản phẩm
Trang 165 THIẾT KẾ GIAO DIỆN
5.1 Giao diện trang đăng nhập
5.2 Giao diện đăng nhập với tư cách admin
Trang 175.3 GIao diện đăng nhập với tư cách quản lí kho
5.4 Giao diện đăng nhập với tư cách nhân viên nhập
Trang 185.5 Giao diện đăng nhập với tư cách nhân viên xuất
5.6 Màn hình nhà cung cấp
Trang 195.7 Trang tài khoản
5.8 Trang thống kê
Trang 205.9 Trang tồn kho
5.10 Trang phiếu nhập
Trang 215.11 Trang phiếu xuất
5.12 Trang nhập hàng
5.13 Trang xuất hàng
6 KẾT LUẬN
- Trong quá trình phát triển ứng dụng quản lý kho hàng bằng Java Swing, chúng em
đã hoàn thành nhiều nhiệm vụ quan trọng, từ việc phân tích yêu cầu đến thiết kế và triển khai Ứng dụng hiện tại đã tích hợp đầy đủ các chức năng cơ bản như quản lý hàng hóa, theo dõi tồn kho, nhập xuất hàng, và báo cáo thống kê Những chức năng
Trang 22này không chỉ giúp đơn giản hóa quy trình quản lý kho hàng mà còn nâng cao hiệu quả công việc thông qua giao diện người dùng trực quan và dễ sử dụng.
- Xây dụng được chương trình cụ thể
- Chức năng hài lòng nhất là xuất nhập file excel
- Trong tương lai nhóm dự định sẽ thêm các tính năng như bên dưới để ứng dụng được hoàn thiện hơn:
+ Thông báo ,chat online giữa các tài khoản
+ Các tính năng kéo thả các đối tượng trong ứng dụng
+ Cải thiện ui
7 TÀI LIỆU THAM KHẢO
https://javarush.com/vi/groups/posts/vi.1226.cch-gi-email-t-ng-dng-java-c-v-d
4xawDUMQ0
https://www.youtube.com/watch?v=UEr7QViCLWE&list=PL4-MwTSyUjf3YIKLB4yPMr3-https://blog.conholdate.com/vi/total/export-data-to-excel-in-java/
Link github:https://github.com/truongcaophuc/quan-li-kho-hang