1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lập trình java Đề tài xây dựng chương trình quản lý kho hàng Điện tử

73 5 2
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 đề Xây dựng chương trình quản lý kho hàng điện tử
Tác giả Phạm Phú Hiệp, Mai Thanh Hậu, Cao Ngọc Tân
Người hướng dẫn Th.S Lê Thanh
Chuyên ngành Lập trình Java
Định dạng
Số trang 73
Dung lượng 5,54 MB

Nội dung

- Hệ thống cũng cần cung cấp tính năng thống kê để hiển thị thông tin tổng quan về số lượng sản phẩm, đơn nhập và đơn xuất, giúp người dùng dễ dàng theo dõi và quản lý hoạt động kinh do

Trang 1

Giáo Viên Hướng Dẫn: Th.S Lê Thanh

Đề tài: Xây dựng chương trình

quản lý kho hàng điện tử

 

Trang 2

Chương I: Giới

Thiệu 1.1 Lí do chọn đề tài

Trong ngành công nghiệp máy tính, việc quản lý kho hàng linh kiện không chỉ là

nhiệm vụ cần thiết mà còn là yếu tố quyết định sự thành công của mỗi doanh

nghiệp Để đảm bảo rằng sản phẩm luôn sẵn sàng và được theo dõi một cách chính xác, việc áp dụng công nghệ điện thoại vào quản lý kho là không thể phủ nhận

Bằng cách sử dụng ứng dụng di động đơn giản nhưng hiệu quả, nhân viên có thể dễ dàng ghi nhận thông tin về hàng hóa, kiểm tra tồn kho và cập nhật dữ liệu một cách nhanh chóng từ bất kỳ đâu Điều này giúp giảm thiểu thời gian và công sức cần

thiết cho việc quản lý kho, từ đó tăng cường hiệu suất làm việc và đáng kể cải thiện trải nghiệm của khách hàng.

Trang 3

Khái niệm về Java

Java được khởi đầu bởi James Gosling

và bạn đồng nghiệp

ở Sun MicroSystem năm

1991 Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và

lại từ Sun MicroSystem.

Java được tạo ra với tiêu

chí “Viết (code) một lần,

thực thi khắp nơi”

(Write Once, Run Anywhere – WORA) Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền

tảng đó.

Trang 4

Ngôn ngữ lập trình Java thuộc loại ngôn ngữ thông dịch Chính xác hơn, Java là loại ngôn ngữ vừa biên dịch vừa thông dịch Cụ thể như sau

Khi viết mã, hệ thống tạo ra một tệp java Khi biên dịch mã nguồn của chương trình sẽ được biên dịch ra mã byte

code Máy ảo Java (Java Virtual Machine) sẽ thông dịch mã byte code này thành machine code (hay native code) khi nhận được yêu cầu chạy chương trình

Cơ chế hoạt động của quá trình biên dịch và thông dịch của

Java

Trang 5

Khi thực hiện một chương trình, máy ảo Java lần lượt thông dịch các chỉ thị dưới dạng Bytecode thành các chỉ thị dạng nhị phân của máy tính thực và thực thi thực sự chúng trên máy tính thực (còn gọi là khả năng khả chuyển).

Máy ảo thực tế đó là một chương trình thông dịch Vì thế các hệ điều hành khác nhau sẽ có các máy ảo khác nhau Để thực thi một ứng dụng của Java trên một hệ điều hành cụ thể, cần phải cài đặt máy ảo tương ứng cho hệ điều hành đó.JVM cung cấp môi trường thực thi cho chương trình Java (còn gọi là khả năng độc lập với nền)

Có nhiều JVM cho các nền tảng khác nhau chẳng hạn như: Windows, Liux, và Mac

Hình 2 Sơ đồ hoạt động của

JVM

Trang 6

Hình 3 Các ứng dụng được phát triển sử dụng

Java

Trang 7

Các phiên bản của Java

Java Enterprise Edition (Java EE) – Được xây

dựng trên nền tảng Java SE, giúp phát triển các ứng dụng web, các ứng dụng ở cấp doanh nghiệp…

nền tảng cho phép phát triển các ứng dụng nhúng vào các thiết bị điện tử như mobile…

Trang 8

1.3.1.5 Các thành phần của Java SE Platform

Gồm 2 thành phần:

JRE (Java Runtime Environment): cung cấp JVM (Java Virtual Machine) và thư viện được sử dụng để chạy chương

trình Java

JDK (Java Development Kit): được biết đến như bộ cung cụ phát triển Java, bao gồm: trình biên dịch và trình gỡ rối

được sử dụng để phát triển các ứng dụng Java

Hình 4 Các thành phần của Java SE

Platform

Trang 9

Chương II: Phân tích và thiết kế hệ thống

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

2.3.1 phân tích hệ thống

Yêu cầu chức năng:

- Hệ thống quản lý kho hàng cần hỗ trợ quản lý thông tin của các đối tượng như tài khoản, người dùng, khách hàng,

sản phẩm, hãng sản xuất, đơn nhập và đơn xuất

- Người dùng được cung cấp các chức năng quản lý như thêm, xoá, sửa thông tin của các đối tượng nêu trên, cũng

như tìm kiếm và xem chi tiết

- Hệ thống cũng cần cung cấp tính năng thống kê để hiển thị thông tin tổng quan về số lượng sản phẩm, đơn nhập và

đơn xuất, giúp người dùng dễ dàng theo dõi và quản lý hoạt động kinh doanh của kho hàng

Thực thể chính:

Tài khoản: Thông tin về các tài khoản người dùng của hệ thống

Người dùng: Các thông tin liên quan đến người sử dụng hệ thống quản lý kho hàng

Khách hàng: Thông tin về các khách hàng mua hàng từ kho

Sản phẩm: Các thông tin về sản phẩm được lưu trữ và quản lý trong kho

Hãng sản xuất: Thông tin về các hãng sản xuất cung cấp sản phẩm cho kho

Đơn nhập: Thông tin về các đơn hàng nhập hàng vào kho từ nhà cung cấp

Đơn xuất: Thông tin về các đơn hàng xuất hàng ra khỏi kho đến khách hàng

Trang 10

2.3.2 Thiết kế hệ thống

2.3.2.1 Tổng quan

Hình 5 Sơ đồ tổng quan chức năng hệ

thống

Trang 11

2.3.2.2 Các chức năng quản lý tài khoản

Hình 6 Sơ đồ chức năng quản lý tài khoản

Trang 12

2.3.2.3 Chức năng quản lý người dùng

Hình 7 Sơ đồ chức năng quản lý người dùng

Trang 13

2.3.2.4 Chức năng quản lý khách hàng

Hình 8 Sơ đồ chức năng quản lý khách hàng

Trang 14

2.3.2.5 Chức năng quản lý sản phẩm

Hình 9 Sơ đồ chức năng quản lý sản phẩm

Trang 15

2.3.2.6 Chức năng quản lý hãng sản xuất

Hình 10 Sơ đồ chức năng quản lý hãng sản xuất

Trang 16

2.3.2.7 Chức năng quản lý đơn nhập

Hình 11 Sơ đồ chức năng quản lý đơn nhập

Trang 17

2.3.2.8 Chức năng quản lý đơn xuất

Hình 12 Sơ đồ chức năng quản lý đơn xuất

Trang 18

2.4 Thiết kế cơ sở dữ liệu

2.4.1 Bảng nhân viên

Hình ảnh của nhân viên (dưới dạng dữ liệu nhị phân)

Trang 20

Hình ảnh của sản phẩm (dưới dạng dữ liệu nhị phân)

đích đơn giản)

Trang 21

Hệ điều hành của sản phẩm

Dung lượng pin của sản phẩm

Loại phụ kiện đi kèm với sản phẩm

Trang 23

2.4.7 Bảng chi tiết hóa đơn

maCTHD INTEGER PRIMARY KEY, AUTOINCREMENT Mã chi tiết hóa đơn (tự tăng, duy nhất)

HoaDon)

SanPham)

mục đích đơn giản)

Trang 24

Các ô chứa thông tin: Giao diện có bốn ô chứa thông tin được thiết kế dưới dạng

LinearLayout.

Mỗi ô chứa một hình ảnh đại diện cho một loại hoạt động và một TextView để hiển thị thông tin liên quan.

Các ô này bao gồm:

"Sản Phẩm" (car_SP): Hiển thị số lượng sản phẩm, được đặt ở góc trái trên của giao diện.

"Khách Hàng" (car_KH): Hiển thị số lượng khách hàng, được đặt ở góc phải trên của giao diện.

"Đơn Nhập" (car_HDN): Hiển thị số lượng đơn nhập, được đặt dưới ô "Sản Phẩm".

"Đơn Xuất" (car_HDX): Hiển thị số lượng đơn xuất, được đặt dưới ô "Khách Hàng".

Thông tin doanh thu: Dưới các ô chứa thông tin, có một TextView (textView10) hiển thị

tiêu đề "Doanh thu" ở giữa màn hình, với màu cam nổi bật.

Dưới đó là một ConstraintLayout chứa các TextView hiển thị thông tin chi tiết về doanh thu, bao gồm:

Số hóa đơn (tv_soHD)

Số lượng bán (tv_SLBan)

Tổng tiền (tv_bank)

Mỗi TextView trong ConstraintLayout này được đặt ở một hàng ngang, có màu đen và có

kiểu chữ đậm.

Thiết kế và Kích thước: Các thành phần được định vị sử dụng ConstraintLayout để có thể

điều chỉnh tỷ lệ trên mọi loại màn hình.

Kích thước của các ô chứa thông tin được định nghĩa trong file dimens.xml để có thể dễ

dàng thay đổi.

Trang 25

2.5.2.2 Giao diện điều hướng chính activity_main

DrawerLayout: Là layout chính của giao diện, chứa toàn bộ nội dung của

activity, bao gồm cả nội dung chính và menu điều hướng.

Có thuộc tính fitsSystemWindows="true" để đảm bảo rằng nội dung sẽ

không bị che phủ bởi các phần tử giao diện hệ thống như thanh trạng thái hay thanh điều hướng.

Sử dụng tools:openDrawer="start" để mở menu điều hướng ở phía bên

trái khi mô phỏng trong Android Studio.

app_bar_main: Là một phần của nội dung chính của giao diện, được

include từ một layout khác (có thể là một toolbar hoặc một action bar).

Chiếm toàn bộ chiều rộng và chiều cao của DrawerLayout.

NavigationView: Là một thành phần của DrawerLayout, chứa các mục

menu điều hướng.

Được đặt bên trong DrawerLayout và có thuộc tính layout_gravity="start"

để đặt nó ở phía bên trái của giao diện.

Có thuộc tính fitsSystemWindows="true" để đảm bảo rằng nội dung của

nó không bị che phủ bởi các phần tử giao diện hệ thống.

Sử dụng app:headerLayout="@layout/nav_header_main" để chỉ định

layout cho phần header của NavigationView.

Sử dụng app:menu="@menu/activity_main_drawer" để chỉ định menu sẽ được hiển thị trong NavigationView.

Trang 26

Thuộc tính tools:showIn: Xác định nơi mà layout này được hiển thị trong Design Editor của Android Studio, trong

trường hợp này là @layout/app_bar_main

Trang 27

2.5.2.6 Giao diện quản lý tài khoản

2.5.2.6.1 Giao diện thêm tài khoản

ConstraintLayout: Đây là gốc của cấu trúc giao diện, sử dụng

ConstraintLayout để xác định các quy tắc vị trí cho các phần tử con

TextInputLayouts: Đây là các phần tử để nhập văn bản với

tính năng định dạng và kiểm soát lỗi Mỗi TextInputLayout bao gồm:

EditText: Các trường để người dùng nhập thông tin

startIconDrawable: Biểu tượng bắt đầu bên trong trường nhập văn bản

endIconMode: Chế độ hiển thị biểu tượng cuối cùng, ở đây

được đặt thành clear_text để cho phép xóa văn bản.

LinearLayout: Được sử dụng để chứa một biểu tượng và một

văn bản bên cạnh nhau Trong trường hợp này, nó chứa một

biểu tượng và một văn bản để hiển thị mật khẩu mặc định cho tài khoản mới

ImageView và TextView: Dùng để hiển thị biểu tượng và văn bản trong LinearLayout

Margin và Padding: Sử dụng margin và padding để tạo khoảng cách giữa các phần tử và việc điều chỉnh kích thước

Trang 28

2.5.2.6.2 Giao diện chi tiết tài khoản

ConstraintLayout: Gốc của cấu trúc giao diện, sử dụng

ConstraintLayout để xác định các quy tắc vị trí cho các phần tử con

TextView: Được sử dụng để hiển thị các nhãn hoặc thông tin

về tài khoản, như "Tên tài khoản", "Số điện thoại", "Địa chỉ",

"Năm sinh", "Mật khẩu quên" Các TextView này thường có một phong cách và kích thước văn bản được xác định trong tệp values/dimens.xml

LinearLayout: Được sử dụng để chứa các thông tin cụ thể về

tài khoản, mỗi LinearLayout chứa một cặp nhãn và giá trị

tương ứng Các LinearLayout này có một nền trắng và được

xếp chồng lên nhau dọc theo chiều dọc

Button: Được sử dụng để hiển thị nút "Đặt lại mật khẩu", cho

phép người dùng thực hiện hành động liên quan đến mật khẩu Nút này có một màu nền và một văn bản trắng, có thể được tùy chỉnh bằng các thuộc tính như android:backgroundTint,

android:textColor, và android:textAllCaps

Trang 29

2.5.2.6.3 Giao diện chỉnh sửa tài khoản

ConstraintLayout: Gốc của cấu trúc giao diện, sử dụng

ConstraintLayout để xác định các quy tắc vị trí cho các phần tử con.

TextInputLayout và EditText: Được sử dụng để chứa

và chỉnh sửa các trường thông tin của tài khoản như Mã nhân viên, Họ tên, Số điện thoại, Tên tài khoản, Địa chỉ

và Năm sinh Mỗi TextInputLayout kèm theo một

EditText tương ứng để người dùng nhập dữ liệu.

startIconDrawable: Được sử dụng để hiển thị biểu

tượng bắt đầu của TextInputLayout, thường là một biểu tượng đại diện cho loại thông tin được nhập vào.

endIconMode: Xác định chế độ của biểu tượng kết thúc

của TextInputLayout, thường là một biểu tượng xóa dữ liệu đã nhập.

Trang 30

2.5.2.6.4 Giao diện danh sách tài khoản

ConstraintLayout: Gốc của cấu trúc giao diện, sử dụng

ConstraintLayout để xác định các quy tắc vị trí cho các phần

tử con

Toolbar: Được sử dụng để hiển thị thanh tiêu đề ở đầu trang,

cho phép người dùng tương tác với ứng dụng Trong trường hợp này, thanh Toolbar chứa một Spinner để chọn các tùy

chọn lọc và một biểu tượng collapse (hoặc back) ở góc trái

collapseIcon: Biểu tượng collapse (hoặc back) hiển thị bên

trái của thanh Toolbar

Spinner: Một thành phần Spinner cho phép người dùng chọn

các tùy chọn lọc từ danh sách

RecyclerView: Được sử dụng để hiển thị danh sách các tài

khoản RecyclerView này được đặt bên dưới thanh Toolbar

và được giới hạn bởi ràng buộc của ConstraintLayout, cho

phép nó mở rộng theo chiều ngang và chiều dọc của màn

hình

Trang 31

2.5.2.7 Giao diện quản lý người dùng

2.5.2.7.1 Giao diện chi tiết người dùng

ConstraintLayout: Gốc của cấu trúc giao diện, sử dụng ConstraintLayout để

xác định các quy tắc vị trí cho các phần tử con.

CircleImageView (imgNguoiDung): Một ImageView được tạo với thư viện

CircleImageView để hiển thị hình ảnh người dùng dưới dạng hình tròn Được đặt ở đầu trang.

ImageView (imgChonAnh): Hiển thị một biểu tượng máy ảnh Được đặt bên

cạnh CircleImageView để cho phép người dùng chọn hoặc chụp hình ảnh mới.

LinearLayout: Một layout horizontal chứa một TextView và một ImageView

TextView hiển thị một tiêu đề, trong khi ImageView hiển thị một biểu tượng chỉnh sửa thông tin người dùng.

LinearLayout: Chứa một TextView và một TextView khác để hiển thị thông

tin về họ và tên của người dùng.

LinearLayout Chứa một TextView và một TextView khác để hiển thị thông

tin về số điện thoại của người dùng.

LinearLayout: Chứa một TextView và một TextView khác để hiển thị thông

tin về địa chỉ của người dùng.

LinearLayout: Chứa một TextView và một TextView khác để hiển thị thông

tin về năm sinh của người dùng.

Button (btnChangePass): Để chuyển đến giao diện đổi mật khẩu.

Trang 32

2.5.2.7 Giao diện đổi mật khẩu

ConstraintLayout: Gốc của cấu trúc giao diện, sử dụng

ConstraintLayout để xác định các quy tắc vị trí cho các phần tử con

TextView: Hiển thị một văn bản nhắc nhở người dùng về việc

quên mật khẩu hoặc cần hỗ trợ Được đặt dưới các phần tử nhập mật khẩu

Button (btnReSetPassNguoiDung): Để người dùng có thể chọn

để thực hiện việc đặt lại mật khẩu Được đặt ở cuối trang

Trang 33

2.5.2.8 Giao diện quản lý sản phẩm 2.5.2.8.1 Giao diện thêm sản phẩm

Trang 34

2.5.2.8.2 Giao diện chi tiết sản phẩm

ScrollView: Đây là một thành phần UI cho phép người

dùng cuộn nếu nội dung vượt quá kích thước màn hình

ConstraintLayout: Đây là một loại Layout trong

Android cho phép bạn xác định các quan hệ giữa các

thành phần UI dựa trên ràng buộc

ImageView (imgSanPhamDeltail): Đây là nơi hiển thị

hình ảnh của sản phẩm

LinearLayouts: Có nhiều LinearLayouts để hiển thị

thông tin chi tiết của sản phẩm, bao gồm tên sản phẩm, hãng sản xuất, loại sản phẩm, tình trạng, giá tiền, trạng thái, bộ nhớ, RAM, chip, hệ điều hành, màn hình, pin,

cổng sạc, loại phụ kiện, và mô tả sản phẩm

TextViews: Các TextViews được sử dụng để hiển thị các

nhãn và thông tin chi tiết của sản phẩm

Kích thước và màu sắc: Có sự sử dụng các kích thước

và màu sắc được định nghĩa trong tệp dimens.xml và

colors.xml

Trang 35

2.5.2.8.3 Giao diện chỉnh sửa sản phẩm

ScrollView: Đây là một View Group trong Android được

sử dụng để cuộn nếu nội dung vượt quá kích thước màn

hình.

ConstraintLayout: Đây là một loại Layout trong Android,

cho phép bạn xác định các quan hệ giữa các View trong

giao diện một cách linh hoạt bằng cách sử dụng các ràng

buộc (constraints).

ImageView: Hiển thị hình ảnh của sản phẩm Có một

ImageView để hiển thị hình ảnh và một ImageView khác để chọn hình ảnh mới.

TextInputLayout và EditText: Được sử dụng để nhập

thông tin về sản phẩm như mã sản phẩm, tên sản phẩm, giá tiền, bộ nhớ, RAM, chipset, hệ điều hành, màn hình, pin,

loại, loại phụ kiện và mô tả sản phẩm.

TextView: Được sử dụng để hiển thị nhãn (label) cho các

trường nhập liệu hoặc để hiển thị các thông tin như loại sản phẩm và trạng thái.

RadioGroup và RadioButton: Sử dụng để chọn loại sản phẩm

(điện thoại hoặc phụ kiện) và trạng thái của sản phẩm (cũ, like new, mới), cũng như trạng thái trước khi bán (chưa làm kí, đã làm kí)

Trang 36

2.5.2.8.4 Giao diện danh sách sản phẩm

ConstraintLayout: Là một ViewGroup trong Android được

sử dụng để xây dựng giao diện bằng cách đặt các thành

phần UI (View) dưới dạng ràng buộc với nhau.

Toolbar: Toolbar được sử dụng để hiển thị tiêu đề của màn

hình danh sách sản phẩm và các tùy chọn lọc.

ImageView: Hiển thị một biểu tượng (icon) để mở tùy chọn

lọc sản phẩm.

Spinner: Là một dropdown menu cho phép người dùng

chọn một tùy chọn lọc từ danh sách các tùy chọn.

RecyclerView: RecyclerView được sử dụng để hiển thị

danh sách sản phẩm.

Ngày đăng: 02/11/2024, 15:37

TỪ KHÓA LIÊN QUAN

w