1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo kết thúc môn lập trình java nâng cao Đề tài thiết kế và phát triển một ứng dụng quản lý kho hàng

21 0 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

Định dạng
Số trang 21
Dung lượng 2,75 MB

Nội dung

LỜI MỞ ĐẦUTrong bối cảnh nền kinh tế ngày càng phát triển, việc quản lý kho hàng mộtcách hiệu quả là yếu tố quan trọng giúp các doanh nghiệp tối ưu hóa chi phí, nâng cao năng suất và đáp

Trang 1

TRƯỜNG ĐẠI HỌC KIẾN TRÚC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO KẾT THÚC MÔN LẬP TRÌNH JAVA NÂNG CAO

Đề tài: Thiết kế và phát triển một ứng dụng quản lý kho hàng

Giảng viên hướng dẫn: TS Lý Quỳnh Trân

Lớp: 22CT2

Sinh viên thực hiện:

Lê Tấn Thống

Lê Chí Thanh Huỳnh Tỉnh Trương Minh Thuận Trương Quốc Trung

Trang 2

cô đã giúp chúng em vượt qua nhiều khó khăn, hoàn thiện đồ án này.

Chúng em cũng xin gửi lời cảm ơn đến Thầy, Cô trong bộ môn Java nângcao đã tạo điều kiện tốt nhất cho chúng em trong quá trình học tập và nghiêncứu

Do kiến thức và thời gian có hạn, đồ án không thể tránh khỏi những thiếusót Chúng em rất mong nhận được sự góp ý từ Cô để đồ án được hoàn thiệnhơn

Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến quý Thầy, Cô ở KhoaCông nghệ thông tin – Trường Đại học Kiến Trúc đã truyền đạt vốn kiến thứcquý báu cho chúng em trong suốt thời gian học tập tại trường

Một lần nữa, chúng em xin chân thành cảm ơn!

Nhóm sinh viên

Lê Tấn Thống

Lê Chí ThanhHuỳnh TỉnhTrương Minh ThuậnTrương Quốc Trung

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 3

CHƯƠNG 1 KHẢO SÁT THỰC TRẠNG HỆ THỐNG 4

1.1 Khảo sát thực trạng 4

1.2 Phát biểu bài toán/đề tài/dự án 5

1.3 Đề xuất các giải pháp kiến nghị để giải quyết bài toán/đề tài/dự án.6 1.4 Tiền xác định các yếu tố liên quan với dự án 6

CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ VÀ TRIỂN KHAI THỰC HIỆN WEBSITE BÁN HÀNG ONLINE 8

2.1 Tóm lược các nội dung quan trọng cần thực hiện 8

2.2 Phân tích và thiết kế hệ thống 8

2.2.1 Tác nhân của hệ thống 8

2.3 Thiết kế cơ sở database với MySQL Server 10

CHƯƠNG 3 KHÁI QUÁT CÔNG NGHỆ SỬ DỤNG 38

3.1 Hibernate framework? 38

3.1.1 Hibernate framework là gì? 38

3.1.2 Lợi ích khi sử dụng Hibernate framework 38

3.2 JavaFX 39

3.2.1 JavaFX là gì? 39

3.2.2 Cấu trúc của JavaFX 39

CHƯƠNG 4 ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC 44

4.1 Demo code và giao diện sản phẩm 44

4.1.1 Giao diện sản phẩm: 44

4.1.2 Một số hình ảnh của source code: 52

Trang 4

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60 5.1 Thực hiện được 60 5.2 Hướng phát triển 60

Trang 5

LỜI MỞ ĐẦU

Trong bối cảnh nền kinh tế ngày càng phát triển, việc quản lý kho hàng mộtcách hiệu quả là yếu tố quan trọng giúp các doanh nghiệp tối ưu hóa chi phí, nâng cao năng suất và đáp ứng kịp thời nhu cầu của thị trường Tuy nhiên, nhiềudoanh nghiệp hiện nay vẫn gặp khó khăn trong việc theo dõi, kiểm soát hàng hóa và xử lý dữ liệu kho bãi do phụ thuộc vào các phương pháp quản lý truyền thống hoặc thiếu hệ thống quản lý tự động hóa hiện đại

Xuất phát từ thực tế đó, nhóm chúng em đã lựa chọn đề tài "Xây dựng hệ thống quản lý kho hàng" làm nội dung nghiên cứu Mục tiêu chính của đề tài

là phát triển một hệ thống phần mềm giúp các doanh nghiệp dễ dàng quản lý thông tin nhập, xuất, tồn kho cũng như hỗ trợ quá trình lập báo cáo nhanh chóng, chính xác

Để thực hiện đề tài, chúng em đã áp dụng các kiến thức chuyên môn về lập trình, cơ sở dữ liệu, phân tích và thiết kế hệ thống thông tin, đồng thời kết hợp các phương pháp nghiên cứu thực tiễn nhằm đảm bảo tính ứng dụng cao cho hệ thống

Chúng em hy vọng rằng sản phẩm của mình sẽ không chỉ giải quyết được các vấn đề trong quản lý kho hàng mà còn mở ra tiềm năng phát triển thêm nhiều tính năng phù hợp với yêu cầu thực tế của các doanh nghiệp

Chúng em xin chân thành cảm ơn quý Thầy/Cô đã tận tình hướng dẫn và đồng hành trong suốt quá trình thực hiện đề tài Đồng thời, xin gửi lời cảm ơn đến gia đình và bạn bè đã luôn ủng hộ và động viên Mặc dù đã cố gắng hết mình, nhưng sản phẩm chắc chắn không tránh khỏi những hạn chế Chúng em rất mong nhận được sự góp ý quý báu từ quý Thầy/Cô và các bạn để đồ án được hoàn thiện hơn

Trang 6

CHƯƠNG 1 KHẢO SÁT THỰC TRẠNG HỆ THỐNG 1.1 Khảo sát thực trạng

Quản lý kho hàng là một trong những hoạt động quan trọng đối với cácdoanh nghiệp trong việc vận hành sản xuất và kinh doanh Tuy nhiên, trong thực

tế, nhiều doanh nghiệp vẫn đối mặt với các thách thức trong việc quản lý khohàng hiệu quả, đặc biệt là trong bối cảnh chuyển đổi số đang diễn ra mạnh mẽ

Phương pháp quản lý kho hàng hiện nay

 Quản lý thủ công:

 Phương pháp này phổ biến ở các doanh nghiệp vừa và nhỏ Dữ liệuhàng hóa được ghi chép bằng tay hoặc lưu trữ trên các bảng tínhnhư Excel Mặc dù đơn giản và dễ thực hiện, cách quản lý này dễgặp phải các vấn đề như sai sót số liệu, mất mát thông tin, khó khăntrong việc truy xuất dữ liệu, và không hiệu quả khi quy mô khohàng mở rộng

 Quảng lý bằng phần mềm:

 Một số doanh nghiệp đã áp dụng các hệ thống quản lý kho hàng(Warehouse Management System - WMS) để tự động hóa quy trìnhnhập, xuất, và kiểm kê hàng hóa Các phần mềm này cho phépdoanh nghiệp kiểm soát số lượng, vị trí hàng hóa trong kho, và lậpbáo cáo nhanh chóng Tuy nhiên, chi phí triển khai và duy trì các hệthống này vẫn là trở ngại đối với các doanh nghiệp nhỏ

Những vấn đề thường gạp trong quản lý kho hàng:

● Sai sót trong nhập liệu và kiểm kê: Khi sử dụng phương pháp thủ công,việc ghi chép không chính xác dẫn đến tình trạng dư thừa hoặc thiếu hụthàng hóa

Trang 7

● Khó khăn trong quản lý hàng thồn kho: Nhiều doanh nghiệp không nắm

rõ số lượng và tình trạng của hàng tồn kho, dẫn đến việc không tối ưu hóanguồn lực hoặc bị tổn thất do hàng hóa hết hạn hoặc hư hỏng

● Thiếu tính đồ bộ dữ liệu: Trong các doanh nghiệp lớn, việc quản lý khohàng tại nhiều chi nhánh có thể gặp khó khăn khi không có một hệ thốngtrung tâm để đồng bộ thông tin

● Chi phí quản lý cao: Việc duy trì hệ thống kho hàng, kiểm kê thủ cônghoặc sử dụng các giải pháp không phù hợp làm gia tăng chi phí vận hành

1.2 Phát biểu bài toán/đề tài/dự án

Đề tài “Phần mềm quản lý kho hàng” tập trung xây dựng một ứng dụnghoạt động trên các nền tảng web và khởi chạy tốt trên tất cả các nền tảng hệ điềuhành hỗ trợ chạy các trình duyệt cho phép như Chrome hay Firefox, với mụcđích chính là cho phép người quản lý ứng dụng (admin) và người dùng (user)nói chung có quyền được quản lý mua bán hàng thông qua hình thức online mộtcách thuận tiện và tự động hoá nhất có thể

Các chức năng chính của ứng dụng:

- Đăng nhập tài khoản quản lý

- Đăng nhập tài khoản người dùng

- Người dùng đăng ký

- Tìm kiếm và xem thông tin về các sản phẩm có sẵn

- Đặt, cập nhật, review, huỷ các đơn hàng (bookings) cho sản phẩmmong muốn

- Chỉnh sửa và cập nhật hồ sơ người dùng

1.3 Đề xuất các giải pháp kiến nghị để giải quyết bài toán/đề tài/dự án

Xây dựng và triển khai giao diện: sử dụng các giao diện có sẵn ở bên thứ3

Trang 8

Ứng dụng desktop sử dụng JavaFX và Hibernate Ngôn ngữ sử dụng:Java, JSP.

Các mục khác cần chuẩn bị: Máy tính hoặc laptop đi kèm để test one với máy deploy chính

one-by-1.4 Tiền xác định các yếu tố liên quan với dự án

Các tác nhân hay các nhân tố chính sử dụng trang web chính: Admin(quản trị viên) và User (người dùng)

- Các chức năng thiết yếu của Admin bao gồm:

● Đăng nhập

● Quản lý sản phẩm: thêm, sửa, xóa sản phẩm

● Quản lý các User: xoá các User nếu thấy thực sự cần thiết

● Quản lý danh mục sản phầm: thêm, sửa, xoá danh mục sản phẩm

- Các chức năng thiết yếu của User bao gồm:

● Đăng nhập/ đăng ký

● Xem, chỉnh sửa hồ sơ người dùng

● Xem thông tin sản phẩm

● Tìm kiếm và các thông tin về sản phẩm

● Mua sản phẩm

● Lập hoá đơn

● Thanh toán

Trang 9

CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ VÀ TRIỂN KHAI THỰC HIỆN

PHẦM MỀM QUẢN LÝ KHO HÀNG 2.1 Tóm lược các nội dung quan trọng cần thực hiện

- Phân tích thiết kế hệ thống ban đầu cho ứng dụng.

- Phác thảo giao diện từ bên thứ ba và chỉnh sửa giao diện UI/UX phù

hợp

- Thiết kế kiến trúc chung cho ứng dụng sử dụng các mô hình MVC hoặc

MVVM hoặc hướng tiếp cận sử dụng Servlet

- Liệt kê & xây dựng tương tác các chức năng chính, tương tác chính với

database trong MySQL

- Code giao diện UI/UX sử dụng JavaFX.

- Tiến hành apply các data tương ứng với các logic của project thông qua

mô hình MVC

- Tiến ành apply các logic tương ứng với UI của project.

- Chạy thử trên localhost và các máy tính khác so sánh kết quả.

- Kiểm thử & fix bug (nếu có).

- Deloy sản phẩm (deploy với heroku, CI/CD) (Hướng phát triển sau này) 2.2 Phân tích và thiết kế hệ thống

2.2.1 Tác nhân của hệ thống

- Admin: là tác nhân có vai trò chủ đạo trong cả hệ thống của trang web, làngười quản lý và theo dõi mọi diễn biến và hoạt động trên hệ thống, thực hiệnđược hầu như tất cả các chức năng của hệ thống

Các chức năng của trang web mua bán hàng online:

 Đăng nhập: cho phép admin

 Thêm sản phẩm: cho phép admin thêm sản phẩm vào hệ thống

 Xóa sản phẩm: cho phép admin xóa các sản phẩm khỏi hệ thống

Trang 10

 Cập nhật sản phẩm: cho phép admin cập nhật lại thông tin sản phẩm

trên hệ thống

 Thêm sản phẩm: cho phép khách hàng chọn để lưu các sản phẩm

mình yêu thích vào giỏ hàng

 Xem chi tiết sản phẩm: khách hàng có thể xem chi tiết các sản phẩm.

2.3 Thiết kế cơ sở database với MySQL Server:

Trang 11

Table hanghoa:

Table user:

Table user_hanghoa:

Trang 12

CHƯƠNG 3 KHÁI QUÁT CÔNG NGHỆ SỬ DỤNG

3.1 Hibernate framework?

3.1.1 Hibernate framework là gì?

Hibernate framework là một giải pháp ORM (Object Relational Mapping)

mã nguồn mở, gọn nhẹ Hibernate giúp đơn giản hoá sự phát triển của ứng dụngjava để tương tác với cơ sở dữ liệu

Tool ORM giúp đơn giản hoá việc tạo ra dữ liệu, thao tác dữ liệu và truycập dữ liệu Đó là một kỹ thuật lập trình để ánh xạ đối tượng vào dữ liệu đượclưu trữ trong cơ sở dữ liệu

Các tool ORM sử dụng JDBC API để tương tác với cơ sở dữ liệu

3.1.2 Lợi ích khi sử dụng Hibernate framework

Hibernate Framework có các lợi ích như dưới đây:

1 Mã nguồn mở và nhẹ: Hibernate Framework là mã nguồn mở có giấy

phép LGPL và nhẹ

2 Hiệu suất nhanh: Hiệu suất của Hibernate Framework là nhanh bởi vì

bộ nhớ cache được sử dụng trong nội bộ Hibernate Framework Có hai loại bộnhớ cache trong Hibernate Framework, gồm bộ nhớ cache cấp một và bộ nhớcache cấp hai Bộ nhớ cache cấp một được bật bằng lệnh mặc định

3 Truy vấn cơ sở dữ liệu độc lập: HQL (Hibernate Query Language) là

phiên bản hướng đối tượng của SQL Nó tạo ra các truy vấn cơ sở dữ liệu độclập Vì vậy, bạn không cần phải viết các truy vấn cơ sở dữ liệu cụ thể TrướcHibernate, nếu dự án có cơ sở dữ liệu bị thay đổi, chúng ta cần phải thay đổitruy vấn SQL dẫn đến sự cố bảo trì

Trang 13

4 Tạo bảng tự động: Hibernate framework cung cấp phương tiện để tạo

ra các bảng cơ sở dữ liệu tự động Vì vậy, không cần phải tạo ra các bảng trong

cơ sở dữ liệu bằng tay

5 Đơn giản lệnh join phức tạp: Có thể lấy dữ liệu từ nhiều bảng một

cách dễ dàng với Hibernate framework

6 Cung cấp thống kê truy vấn và trạng thái cơ sở dữ liệu: Hibernate

hỗ trợ bộ nhớ cache truy vấn và cung cấp số liệu thống kê về truy vấn và trạngthái cơ sở dữ liệu

3.2 JavaFX

3.2.1 JavaFX là gì?

JavaFX là một thư viện sử dụng trong ngôn ngữ lập trình java, dùng đểphát triển và phân phối các ưng dụng chạy trên máy tính để bàn và các ứng dụngRich Internet Applications (RIA) chạy trên nhiều thiết bị khác nhau

Hiểu một cách cụ thể, JavaFX là một framework bao gồm các gói dồ họa,công cụ hỗ trọ cho người lập trình có thể tạo, kiểm tra, gỡ lỗi và triển khai ứngdụng trên nhiều loại thiết bị như: Điện thoại di động, máy tính để bàn,

3.2.2 Cấu trúc JavaFX

Stage (Sân khấu)

Giai đoạn (một cửa số) chứa tất cả các đối tượng của ứng dụng JavaFX

Nó được đại diện bởi lớp Stage của gói javafx.stage Stage chính được tạo bởichính nền tảng của nó Đối tượng stage đã tạo sẽ được truyền như một đối sốcho phương thức start() của lớp Application (được giải thích trong phần tiếptheo)

Trang 14

Mỗi sân khấu có hai tham số xác định vị trí của nó là Width và Height Nóđược chia thành Content Area (Khu vực nội dung) và Decoration (Trang trí)(Thanh tiêu đề và Đường viền).

Có năm loại sân khấu có sẵn:

Một bối cảnh tượng trưng cho nội dung vật lý của một ứng dụng JavaFX

Nó chứa tất cả nội dung của một biểu đồ cảnh Lớp Scene của gói javafx.sceneđại diện cho đối tượng cảnh Tại một thể hiện, đối tượng cảnh chỉ được thêmvào một giai đoạn

Bạn có thể tạo một cảnh bằng cách khởi tạo Lớp Scene Bạn có thể chọn kíchthước của cảnh bằng cách truyền kích thước của nó (chiều cao và chiều rộng)cùng với nút gốc tới hàm tạo của nó

Scene Graph và Node

Một đồ thị cảnh là một cây giống như cấu trúc dữ liệu (thứ bậc) thể hiện nộidung của một cảnh Ngược lại, một nút là một đối tượng trực quan/đồ họa củabiểu đồ cảnh

Trang 15

Các vùng chứa (Ngân bố cục) chẳng hạn như Border Pane, Grid Pane, FlowPane, v.v.

Các phần tử media như Đối tượng Âm thanh, Video và Hình ảnh

Lớp Node của gói javafx.scene đại diện cho một nút trong JavaFX, lớp này làsiêu lớp của tất cả các nút

Như đã thảo luận trước đó, một nút có ba loại:

Nút gốc - Đồ thị cảnh đầu tiên được gọi là nút gốc

Nút nhành/Nút cha - Nút có các nút con được gọi là nút nhành/nút cha Lớp trừutượng có tên là Parent của gói javafx.scene là lớp cơ sở của tất cả các nút cha vàcác nút cha đó sẽ

thuộc các loại sau:

• Nhôm - Nút nhôm là một nút tập hợp có chứa danh sách các nút con Bất cứkhi nào nút nhóm được hiển thị, tất cả các nút con của nó được hiển thị theo thứ

tự Mọi biến đổi, trạng thái hiệu ứng được áp dụng trên nhóm sẽ được áp dụngcho tất cả các nút con

• Vùng - Đây là lớp cơ sở của tất cả các Điều khiển giao diện người dùng dựatrên Node JavaFX, chẳng hạn như Biểu đồ, Ngân và Điều khiển

• WebView - Nút này quản lý công cụ web và hiển thị nội dung của nó.Nút là - Nút không có nút con được gọi là nút là Ví dụ, Rectangle, Ellipse, Box,ImageView, MediaView là các ví dụ về các nút lá

Bắt buộc phải chuyển nút gốc vào đồ thị cảnh Nếu Nhóm được chuyển làm gốc,tất cả các nút sẽ được cắt bớt vào cảnh và bất kỳ thay đổi nào về kích thước củacảnh sẽ không ảnh hưởng

đến bố cục của cảnh

Trang 16

3.2.3 Các lợi ích của JavaFX là gì?

 Giao diện người dùng đẹp mắt và tương tác cao

 Đa nền tảng và tương thích ngược với Swing

 Hỗ trợ các hiệu ứng đồ họa và hoạt ảnh phức tạp

 Công cụ và thư viện mạnh mẽ để xây dựng ứng dụng phong phú

 Tích hợp tốt với ngôn ngữ Java và các thư viện Java

CHƯƠNG 4 ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC

4.1 Demo code và giao diện sản phẩm

4.1.1 Giao diện sản phẩm:

Trang chủ:

Trang 17

Trang chủ khi người dùng đăng nhập thành công:

Giao diện sản phẩm có sẵn:

Trang 18

Giao diện nhập và xuất kho:

4.1.2 Một số hình ảnh của source code:

Login:

Trang 19

Giao diện quản lý:

Hóa đơn:

Trang 20

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1 Thực hiện được

Đầu tiên, nhóm chúng em đã làm được những việc như sau:

 Khảo sát thực trạng các website hiện nay

 Phát biểu được bài toán

 Xây dựng được các biểu đồ như: Biểu đồ Usecase, biểu đồ lớp, biểu đồtuần tự và biểu đồ hoạt động

 Xây dựng được giao diện và các tính năng cơ bản của trang web

Ngày đăng: 23/12/2024, 12:42