Đề tài nghiên cứu về việc ứng dụng những kiến thức đã học cũng như những kiến thức tự tìm hiểu theo sự hướng dẫn của Thầy Trung về việc sử dụng các công cụ như Eclipse IDE,Xampp,MySQL,Java Spring MVC vào việc thiết kế một website quản lý thông tin kho hàng.
TỔNG QUAN
Tổng quan về vấn đề nghiên cứu
Nghiên cứu ứng dụng kiến thức đã học và tự tìm hiểu dưới sự hướng dẫn của Thầy Trung về việc sử dụng các công cụ như Eclipse IDE, Xampp, MySQL và Java Spring MVC để thiết kế một website quản lý thông tin kho hàng.
Mục tiêu
Xây dựng website quản lý thông tin kho hàng
Nghiệp vụ cần thực hiện bao gồm:
Quản lý nhóm hàng hóa
Quản lý thông tin thủ kho
Mô tả chi tiết về đề tài
Quản lý hàng hóa cho phép người dùng thực hiện các thao tác như thêm, sửa đổi và xóa thông tin về mặt hàng trong kho Thông tin hàng hóa bao gồm tên hàng, mã hàng, mã nhóm hàng, đơn vị tiền, đơn giá, thời gian giao và thời gian cập nhật.
Quản lý nhóm hàng hóa giúp người dùng phân loại các mặt hàng trong kho bằng cách tạo, sửa đổi và xóa các nhóm hàng hóa Thông tin của mỗi nhóm hàng hóa bao gồm mã nhóm, tên nhóm và ghi chú.
Quản lý kho: cho phép người dùng quản lý tên kho, mã kho, địa điểm kho
Quản lý chuyển kho cho phép người dùng theo dõi và quản lý quá trình chuyển kho hiệu quả Các thông tin quan trọng trong chuyển kho bao gồm mã chuyển kho, mã hàng hóa, mã kho, mã thủ kho, ngày chuyển và số lượng chuyển.
Quản lý thông tin thủ kho: cho phép người dùng quản lý thông tin thủ kho, bao gồm mã kho, tên thủ kho, ghi chú.
Phiếu nhập cho phép người dùng tạo các phiếu để nhập hàng hóa vào kho, bao gồm thông tin quan trọng như ngày nhập kho, số lượng hàng hóa, mã phiếu nhập, mã hàng hóa, mã kho và mã thủ kho.
Phiếu xuất cho phép người dùng tạo phiếu để xuất hàng hóa khỏi kho, bao gồm các thông tin quan trọng như ngày xuất kho, số lượng hàng hóa, mã phiếu xuất, mã hàng hóa, mã kho và mã thủ kho.
Hệ thống quản lý hàng hóa và kho giúp tối ưu hóa quy trình nhập xuất, cập nhật thông tin hàng hóa và kiểm soát số lượng hàng hóa trong kho một cách hiệu quả và tiện lợi.
CƠ SỞ LÝ THUYẾT
Giới thiệu chung về hệ quản trị cơ sở dữ liệu MySQL
2.1.1 Hệ quản trị cơ sở dữ liệu là gì?
Hệ quản trị cơ sở dữ liệu là một tập hợp các chương trình giúp quản lý và khai thác dữ liệu theo mô hình cơ sở dữ liệu.
Hệ quản trị cơ sở dữ liệu MySQL là chương trình quản lý hệ thống cơ sở dữ liệu, cho phép lưu trữ thông tin một cách rõ ràng và có tổ chức MySQL giúp truy cập dữ liệu nhanh chóng và thuận lợi, đồng thời hỗ trợ nhiều ngôn ngữ lập trình Đây là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới, được các nhà phát triển ưa chuộng trong quá trình phát triển ứng dụng.
2.1.2 Giới thiệu chung về MySQL
Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị CSDL dạng server based, hệ gần giống với SQL server of Microsoft.
MySQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi một CSDL đều có bảng quan hệ chứa dữ liệu riêng biệt.
MySQL cung cấp cơ chế quản lý người dùng riêng biệt, cho phép nhiều người sử dụng quản lý đồng thời nhiều cơ sở dữ liệu khác nhau Mỗi người dùng được cấp một tên đăng nhập và mật khẩu để truy cập và truy xuất dữ liệu từ cơ sở dữ liệu Để thực hiện truy vấn đến cơ sở dữ liệu MySQL, bạn cần cung cấp tài khoản và mật khẩu có quyền truy cập vào cơ sở dữ liệu đó.
MySQL tương thích tốt với PHP, giúp hệ thống hoạt động hiệu quả Bạn có thể viết và chỉnh sửa mã MySQL trên các IDE dành cho PHP, với nhiều công cụ hỗ trợ có sẵn tại http://free-php-editor.com/.
Giới thiệu về Xampp
Hình 2 1 - Hình ảnh minh họa Xampp
XAMPP là phần mềm phổ biến cho lập trình viên trong việc phát triển dự án website bằng ngôn ngữ PHP Nó cung cấp một máy chủ web tích hợp sẵn PHP, MySQL, Apache, FTP Server, Mail Server và phpMyAdmin Giao diện quản lý của XAMPP rất tiện lợi, cho phép người dùng dễ dàng bật tắt hoặc khởi động lại các dịch vụ máy chủ Phần mềm này được phát triển dựa trên mã nguồn mở.
XAMPP là bộ công cụ hoàn chỉnh cho lập trình viên PHP, hỗ trợ thiết lập và phát triển website với các thành phần quan trọng và tương thích lẫn nhau.
PHP (tạo môi trường chạy các tập tin script *.php);
MySql (hệ quản trị dữ liệu mysql);
Giới thiệu về Eclipse IDE
Eclipse là 1 công cụ hỗ trợ lập trình mã nguồn mở được phát triển bởi IBM.
Eclipse là một môi trường phát triển Java tích hợp (IDE) cho phép mở rộng mã nguồn thông qua việc cài đặt các plugins (PDE - Plug-in Development Environment) Mặc dù được phát triển bằng ngôn ngữ Java, Eclipse không chỉ giới hạn cho ngôn ngữ này; nó còn hỗ trợ nhiều ngôn ngữ lập trình khác như C/C++, COBOL, PHP, và Groovy thông qua các plugins có sẵn hoặc có thể cài đặt thêm.
Eclipse còn hỗ trợ cho lập trình viên code theo các mô hình phát triển như MVC, tạo thêm các lib hỗ trợ phát triển phần mềm.
Hình 2 2- Hình ảnh minh họa Eclipse IDE
2.3.2 Ưu điểm và nhược điểm Eclipse IDE Ưu điểm
• Đa nền tảng: có thể chạy trên cả hệ điều hành Windows và Linux
• Không bị hạn chế về các nhà cung cấp công cụ, bao gồm cả các nhà cung cấp phần mềm độc lập (ISV)
• Hỗ trợ sử dụng nhiều công cụ lập trình
• Tạo thuận lợi cho tích hợp liền mạch các công cụ bên trong và xuyên qua nhiều kiểu nội dung và các nhà cung cấp công cụ khác nhau.
• Hỗ trợ các công cụ thao tác các ngôn ngữ lập trình như: html, Java, C,….
• Hỗ trợ môi trường phát triển GUI lẫn không dựa trên GUI.
• Tính phổ biến của ngôn ngữ Java (ngôn ngữ sử dụng để viết các công cụ).
• Load nhanh hơn do sử dụng SWT/JFace
• Việc cài đặt khá phức tạp, tốn phần cứng và bộ nhớ máy
• Nhiều plugins dẫn đến việc thiếu tính nhất quán
Nhà cung cấp đang khắc phục những nhược điểm trước đây, và phiên bản Eclipse Luna mới ra mắt không cần cài đặt, giúp tiết kiệm bộ nhớ và phần cứng cho máy tính Tuy nhiên, phiên bản này vẫn chưa được phổ biến rộng rãi.
• Framework cho website, trình ứng dụng máy chủ GlassFish và cơ sở dữ liệu.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Xây dựng mô hình thực thể kết hợp
Hình 3.4 - Mô hình thực thể kết hợp
id (PK): mã tài khoản
usename: tên hiển thị của tài khoản
password: mật khẩu của tài khoản
hoten: họ và tên của người dùng
id (PK): mã số của hàng hóa
tenhh: tên của hàng hóa
id_nhomhang (FK): mã số của nhóm hàng
dvt: đơn vị tiền tệ
dongia : đơn giá của hàng hóa
tgtao: thời gian tạo hàng hóa
tgcapnhap: thời gian cập nhập hàng hóa Bảng nhomhang
id (PK): mã của nhóm hàng
tennhom: tên của nhóm hàng
ghichu: ghi chú nhóm nhóm hàng Bảng kho
diadiem: địa điểm của kho
id (PK): mã thủ kho
tenthukho: tên hiển thị của thủ kho
ghi chú: ghi chú của thủ kho
id (PK): mã chuyển kho
id_hanghoa (FK): mã số hàng hóa
id_kho (FK): mã số kho
id_thukho: mã số thủ kho
soluongchuyen : số lượng vận chuyển Bảng Phieunhap
id (PK): mã số phiếu nhập
id_hanghoa (FK): mã số hàng hóa
id_kho (FK): mã số kho
soluongnhap: số lượng nhập hàng hóa
id (PK): mã phiếu xuất
id_hanghoa (FK): mã số hàng hóa
id_kho (FK): mã số kho
id_thukho (FK): mã thủ kho
soluongxuat: số lượng xuất hàng hóa
Thiết kế sơ đồ Use-Case Diagram
Hình 3 5 - Mô hình UseCase tổng quát
• Quản lý nhóm hàng hóa
3.2.2 Use-Case quản lý hàng hóa
Hình 3 6 - Mô hình UseCase quản lý hàng hóa
• Thêm thông tin hàng hóa
• Xóa thông tin hàng hóa
• Cập nhật thông tin hàng hóa
3.2.3 Use-Case quản lý nhóm hàng hóa
Hình 3 7 - Mô hình UseCase quản lý nhóm hàng hóa Đặc tả UC quản lý nhóm hàng hóa
• Thêm thông tin nhóm hàng hóa
• Xóa thông tin nhóm hàng hóa
• Cập nhật thông tin nhóm hàng hóa
3.2.4 Use-Case quản lý kho hàng
Hình 3 8 - Mô hình UseCase quản lý kho hàng Đặc tả UC quản lý kho hàng
• Thêm thông tin kho hàng
• Xóa thông tin kho hàng
• Cập nhật thông tin kho hàng
3.2.5 Use-Case quản lý chuyển kho
Hình 3 9 - Mô hình UseCase quản lý chuyển kho Đặc tả UC quản lý chuyển kho
• Thêm thông tin chuyển kho
• Xóa thông tin chuyển kho
• Cập nhật thông tin chuyển kho
3.2.6 Use-Case quản lý phiếu nhập
Hình 3 10 - Mô hình UseCase quản lý phiếu nhập Đặt tả UC quản lý phiếu nhập
• Thêm thông tin phiếu nhập
• Xóa thông tin phiếu nhập
• Cập nhật thông tin phiếu nhập
3.2.7 Use-Case quản lý phiếu xuất
Hình 3 11 - Mô hình UseCase quản lý phiếu nhập Đặt tả UC quản lý phiếu nhập
•Thêm thông tin phiếu xuất
•Xóa thông tin phiếu xuất
•Kiểm tra số lượng tồn
Thiết kế sơ đồ Class Diagram
Hình 3 12 - Mô hình Class Diagram
Thiết kế sơ đồ cơ sở dữ liệu (Database Diagram)
Hình 3 13 - Mô hình sơ đồ dữ liệu quan hệ
KẾT QUẢ THỰC NGHIỆM
Giao diện đăng nhập
Mô tả giao diện: Nguời dùng nhập thông tin tài khoản, mật khẩu để đăng nhập vào hệ thống.
Hình 4 14 - Giao diện đăng nhập
Giao diện trang thông tin hệ thống
Giao diện sau khi đăng nhập thành công sẽ hiển thị thông tin hệ thống và thông tin đăng nhập của người dùng Menu chính bao gồm các mục như Hệ thống, Nhóm hàng, Hàng hoá, Kho hàng, Thủ kho, Phiếu nhập, Phiếu xuất và Chuyển kho, giúp người dùng dễ dàng truy cập và quản lý các chức năng cần thiết.
Hình 4 15 - Giao diện sau khi đăng nhập thành công
Giao diện thêm tài khoản
Mô tả giao diện: Truy cập vào Hệ thống -> Tạo tài khoản: nhập thông tin tài khoản cần tạo
Giao diện nhóm hàng
Mô tả giao diện: Người dùng truy cập vào menu nhóm hàng, hiện thị thông tin, cập nhật , xoá thông tin.
Hình 4 17 - Giao diện nhóm hàng
Giao diện hàng hóa
Mô tả giao diện: Người dùng truy cập vào menu hàng hoá, hiện thị thông tin hàng hoá, cập nhật , xoá thông tin.
Hình 4 18 - Giao diện hàng hóa
Giao diện kho hàng
Mô tả giao diện: Người dùng truy cập vào menu kho hàng, hiện thị thông tin,cập nhật , xoá thông tin.
Giao diện thủ kho
Mô tả giao diện: Người dùng truy cập vào menu thủ kho, hiện thị thông tin, cập nhật , xoá thông tin.
Hình 4 20 - Giao diện thủ kho
Giao diện phiếu nhập
Mô tả giao diện: Người dùng truy cập vào menu phiếu nhập, hiện thị thông tin, cập nhật , xoá thông tin.
Hình 4 21 - Giao diện phiếu nhập
Giao diện phiếu xuất
Mô tả giao diện: Người dùng truy cập vào menu phiếu xuất , hiện thị thông tin, cập nhật , xoá thông tin.
Hình 4 22- Giao diện phiếu xuất