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

Xây dựng phần mềm quản lý tiền lương với Java

21 46 0

Đ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 Phần Mềm Quản Lý Tiền Lương
Tác giả Phạm Văn Tùng, Trần Văn Tâm, Nguyễn Tiến Long
Người hướng dẫn Trần Xuân Thanh
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập lớn
Năm xuất bản 2021
Thành phố Bắc Ninh
Định dạng
Số trang 21
Dung lượng 1,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xây dựng phần mềm quản lý tiền lương với Java | Học phần lập trình hướng đối tượng với Java giúp sinh viên năm được phương pháp lập trình hướng đối tượng (OOP) và ngôn ngữ lập trình Java cơ bản. Bài tập lớn môn học là tổng hợp kiến thức, kỹ năng về phương pháp lập trình hướng đối tượng và ngôn ngữ lập trình Java. Nội dung bài tập lớn gồm: Phân tích bài toán, giới thiệu tông quan về phương pháp lập trình hướng đối tượng, đặc trưng của ngôn ngữ lập trình Java, cài đặt phần mềm với ngôn ngữ Java trong đó sử dụng các lớp kế thừa, lớp trừu tượng vào giao diện (interface) của lập trình hướng đối tượng. Bài tập lớn là tài liệu tham khảo hữu ích cho SV ngành CNTT.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

BÀI TẬP LỚN

HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

TÊN BÀI TẬP LỚN: XÂY DỰNG PHẦN MỀM QUẢN LÝ TIỀN LƯƠNG

Nhóm sinh viên thực hiện: Nhóm 13

Lớp: CNTT 3

Khóa: K11

Khoa: Công nghệ thông tin

Giảng viên: Trần Xuân Thanh

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

Tỉ lệ đóng góp

(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)

Bắc Ninh, ngày 15 tháng 10 năm 2021

Trang 3

KẾ HOẠCH THỰC HIỆN

STT Nội dung công việc Ngày hoàn thành dự

kiến

Ngày hoàn thành

Trang 4

MỤC LỤC

DANH MỤC HÌNH VẼ, DỒ THỊ I LỜI NÓI ĐẦU 1

I Nội Dung 2

1 Tổng quan về lập trình hướng đối tượng 2

2 Phát biểu bài toán 6

3 Phân tích bài toán 7

4 Thiết kế mô hình lớp,mô hình dữ liệu 8

5 Cài đặt 9

6 Kiểm thử và đánh giá kết quả 14

II Kết Luận 15

III Tài Liệu Tham Khảo 16

Trang 5

I

DANH MỤC HÌNH VẼ, DỒ THỊ

Hình 1: Các đặc điểm cơ bản của lập trình hướng đối tượng 3

Hình 2: Ví dụ về tính đóng gói 4

Hình 3: Sơ đồ phân cấp chức năng bài toán quản lý tiền lương 7

Hình 4: Mô hình lớp (Class) 8

Hình 5: Bảng QUANLYTIENLUONG 8

Hình 6: Project Demo 9

Hình 7: Class Main 9

Hình 8: Class cha (Supper Class) NhanVien 10

Hình 9: Class con NVFT (Nhân viên Full Time) 11

Hình 10: Class con NVPT (Nhân viên Part Time) 12

Hình 11: Connect to Database 13

Hình 12: Giao diện GUI (Form) 13

Trang 6

1

LỜI NÓI ĐẦU

Trong bất kỳ quốc gia nào, ở các doanh nghiệp, các tổ chức kinh tế…kế toán bao giờ cũng có một vị trí đặc biệt quan trọng Công tác kế toán ở các doanh nghiệp Việt Nam là một bộ phận không thể thiếu ở tất cả các đơn vị tổ chức Trong

đó kế toán tiền lương nhân viên là một bộ phận quan trọng trong doanh nghiệp, tổ chức kinh tế Nó góp phần quyết định sự tồn tại và phát triển của doanh nghiệp và

tổ chức kinh tế đó Quản lý lương là một công việc phức tạp, đòi hỏi sự tỉ mỉ, chi tiết và độ chính xác cao Quản lý lương một cách có hiệu quả không đơn giản nếu chỉ sử dụng những phương pháp quản lý lương truyền thống như trước đây Đối với một doanh nghiệp, tổ chức kinh tế thì việc xây dựng được một hệ thống quản lý lương sao cho có hiệu quả, đảm bảo sự công bằng, chính xác, thuận tiện

là một trong những công tác được đặt lên hàng đầu nhằm ổn định nhân lực, phục

vụ cho hoạt động của doanh nghiệp, tổ chức kinh tế Ngày nay, với sự phát triển của khoa học kỹ thuật thì việc áp dụng công nghệ thông tin vào công tác quản lý

đã không còn xa lạ nữa Do tính chất quan trọng của việc quản lý tiền lương, một loạt các phần mềm quản lý lương, các dạng máy chấm công được ra đời Tuy nhiên, giá thành của các sản phẩm này là không nhỏ và để áp dụng cho một tổ chức kinh doanh nào đó thì đôi khi lại không đáp ứng được các nhu cầu cụ thể hoặc các chức năng của chúng quá rộng lớn mà tổ chức kinh doanh đó không sử dụng hết thì rất lãng phí

Xuất phát từ vấn đề đó nên nhóm chúng em xin chọn đề tài “XÂY DỰNG PHẦN

MỀM QUẢN LÝ TIỀN LƯƠNG “ Nhóm chúng em nghiên cứu đề tài này với mong

muốn phục vụ cho việc quản lý lương của các doanh nghiệp, tổ chức kinh tế được thuận tiện hơn và tránh những sai sót trong công tác quản lý tiền lương

Tuy đã cố gắng hết sức để có thể hoàn thiện bài báo cáo nhưng chắc hẳn rằng bài báo cáo chúng em vẫn còn nhiều hạn chế và thiếu sót, nhóm chúng em rất mong nhận được sự đóng góp ý kiến của thầy và các bạn để bài báo cáo của nhóm chúng em được hoàn thiện hơn, chúng em xin chân thành cảm ơn!

Trang 7

2

I Nội Dung

1 Tổng quan về lập trình hướng đối tượng

Lập trình hướng đối tượng có những gì?

Lập trình hướng đối tượng (Object Oriented Programming, viết tắt: OOP) là một

kỹ thuật lập trình cho phép lập trình viên tạo ra các đối tượng trong code trừu tượng hóa các đối tượng thực tế trong cuộc sống Nói đến đây có thể các bạn chưa hiểu

để mình giải thích rõ hơn:

Đối tượng (Object) có thể là con người, điện thoại, máy tính, yasuo, leesin và điểm chung là đều gồm 2 thành phần chính là:

- Thuộc tính (Attribute): là những thông tin, đặc điểm của đối tượng

- Phương thức (Method): là những hành động mà đối tượng có thể thực hiện

- Mình lấy một ví dụ là máy vi tính cho các bạn dễ hiểu nha:

- Máy tính sẽ có các thuộc tính như: màu sắc, kích thước, bộ nhớ,

- Và các phương thức như: quét virus, tắt máy, khởi động máy, mở LoL Khi một đối tượng có những đặc tính như nhau sẽ được gom lại thành một lớp đối tượng (class) và cũng sẽ có 2 thành phần là thuộc tính và phương thức Lớp (class) cũng có thể được dùng để định nghĩa một kiểu dữ liệu mới

Với ví dụ máy vi tính trên ta hiểu lớp (class) máy vi tính có:

- Các thuộc tính như: màu sắc, kích thước, bộ nhớ,

- Và các phương thức như: quét virus, tắt máy, khởi động máy, mở LoL

- Và đối tượng (object) có thể là các dòng máy như Asus, Acer, Lenovo, Thinkpad, đều mang đặc tính của lớp máy vi tính

Vậy tại sao lại cần đến cái "Lập trình hướng đối tượng" rối rắm này?

Nếu như trước đây chúng ta lập trình với hướng thủ tục thì sẽ chia thành các hàm để xử lý, thì giờ đây khi sử dụng hướng đối tượng thì chúng ta sẽ chia thành các đối tượng để xử lý

Vì lập trình hướng đối tượng ra đời sau nên nó khắc phục được tất cả các điểm yếu của các phương pháp lập trình trước đó Cụ thể nó có các ưu điểm sau:

- Dễ dàng quản lý code khi có sự thay đổi chương trình

- Dễ mở rộng dự án

- Có tính bảo mật cao

Trang 8

3

- Có thể sử dụng mã nguồn, tiết kiệm tài nguyên

Các đặc điểm cơ bản của lập trình hướng đối tượng:

Hình 1: Các đặc điểm cơ bản của lập trình hướng đối tượng

Tính đóng gói (Encapsulation): Tính chất này không cho phép người dùng trực

tiếp tác động đến dữ liệu bên trong đối tượng mà phải thông qua các phương thức

mà đối tượng cung cấp Tính chất này đảm bảo tính toàn vẹn của đối tượng

Trang 9

getline(cin, this->mausac);

cout << "Nhap chieu dai may: ";

cin >> this->chieudai;

cout << "Nhap chieu rong may: ";

cin >> this->chieurong;

}

void output()

{

cout << "Mau sac may: " << this->mausac << endl;

cout << "Chieu dai may: " << this->chieudai << endl;

cout << "Chieu rong may: " << this->chieurong << endl;

Tính kế thừa (Inheritance): Kế thừa, tái sử dụng phương thức, thuộc tính của

lớp cơ sở và lớp kế thừa được gọi là lớp con, nó sẽ thừa hưởng những gì lớp cha

có và cho phép

Trang 10

5

Cũng với ví dụ là class mayvitinh, class này sẽ có các thuộc tính: mausac, chieudai, chieurong Một class mayAsus, mayAcer sẽ kế thừa class mayvitinh do mayAsus cũng có các thuộc tính: mausac, chieudai, chieurong Thay vì sao chép

những thuộc tính này, ta nên đặt chúng vào một lớp chung gọi là lớp cha – trong

trường hợp này là mayvitinh và có những lớp con mayAsus, mayAcer kế thừa từ

nó, tạo ra một mối quan hệ cha/con

Tính đa hình (Polymorphism): Tính đa hình cho phép các chức năng (method)

khác nhau được thực thi khác nhau trên các đối tượng khác nhau

Ví dụ như class mayvitinh ở trên, mỗi một dòng máy đều kế thừa từ lớp cha mayvitinh nhưng được chạy với một hệ điều hành khác nhau, mayAsus thì được chạy với hệ điều hành Windows, còn mayMacbook sẽ được chạy với hệ diều hành MacOs

Tính trừu tượng(Abstraction): Tập trung vào cốt lõi của đối tượng, bỏ qua những

thứ không liên quan và không quan trọng

Ví dụ: Bài toán quản lý sinh viên chúng ta chỉ cần quản lý các thông tin như:

Tại vì chúng thực sự không cần thiết

Đây chỉ là những khái niệm cơ bản các bạn cần nắm đề chuẩn bị cho học phần này Đi vào cụ thể sẽ tìm hiểu rõ hơn về từng tính chất trong học phần lập trình hướng đối tượng

Trang 11

6

2 Phát biểu bài toán

Hiện nay việc quản lý tiền lương trên sổ sách là vô cùng khó khăn Vì quản lý lương cho hàng nghìn công nhân (trung bình trong một công ty) bằng phương pháp thủ công là bất khả thi Các nhà quản lý cần một phần mềm quản lý tiền lương thuận lợi Chỉ với việc thao tác các câu lệnh và nhập thông tin đơn giản còn việc thống kê, xử lý tính toán, lưu trữ, tìm kiếm và kết xuất báo cáo hoàn toàn được thực hiện tự động bằng máy tính có thể xử lý một khối lượng lớn và đảm bảo tính chính xác của thông tin Do đó phần mềm quản lý tiền lương ra đời phù hợp với mong muốn cấp thiết đó của các nhà quản lý

Lựa chọn ngôn ngữ lập trình: Ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình hướng đối tượng (OOP) Khác với phần lớn các

ngôn ngữ lập trình thông thường, Java thường chạy nhanh hơn Ngoài ra Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch, viết một lần chạy mọi nơi Hướng đối tượng trong Java tương tự như C++ đồng thời Java hỗ trợ lập trình đa nhiệm, đa luồng, hỗ trợ mạnh cho việc phát triển ứng dụng Đây chính là ưu điểm của Java khiến nhóm chúng em chọn ngôn ngữ lập trình này!

Lựa chọn SQL Sever để liên kết database

Do SQL Sever quen thuộc với nhóm chúng em khi đã được sử dụng trong học

phần Cơ Sở Dữ Liệu cùng với một số những ưu điểm sau khiến chúng em chọn

SQL Sever để thực hiện trong bài tập lớn lần này:

Với phiên bản miễn phí dành cho người dùng mới có tên là SQL Express Phiên bản của SQL Server này có gần như đầy đủ các tính năng của phiên bản tiêu chuẩn của MS SQL Server

Microsoft SQL Server bao gồm phần mềm quản lý cơ sở dữ liệu cho người dùng chuyên nghiệp và cho doanh nghiệp dễ sử dụng hơn và có nhiều tính năng hơn Nó cũng hỗ trợ đầy đủ các trình kích hoạt SQL Server luôn là hệ quản trị cơ

sở dữ liệu hàng đầu được lựa chọn trong các dự án lớn

MS SQL Server đi kèm với một bộ công cụ ấn tượng Các thành phần như SQL Server Profiler, SQL Server Management Studio, công cụ BI và Trình tư vấn điều chỉnh cơ sở dữ liệu có thể giúp bạn tiết kiệm rất nhiều thời gian khắc phục sự cố, phát triển và quản trị Ngoài ra, là một sản phẩm cốt lõi trong kho công nghệ của Microsoft, MS SQL Server có các tài liệu hướng dẫn và hỗ trợ rất phong phú

Trang 12

7

3 Phân tích bài toán

Yêu cầu, chức năng của bài toán:

Chức năng: Nhập / xuất thông tin nhân viên, tính toán tiền lương cho từng nhân viên, thống kê, báo cáo danh sách nhân viên kèm theo bảng lương

+ Phi chức năng: Giao diện GUI (giao diện đồ hoạ - form), đơn giản, dễ sử dụng

+ Yêu cầu khác: Sử dụng kế thừa, đa hình, lớp trừu tượng, phương thức trừu tượng và linh hoạt trong tận dụng đặc điểm modifier cho thuộc tính và phương thức

Sơ đồ phân cấp chức năng:

Hình 3: Sơ đồ phân cấp chức năng bài toán quản lý tiền lương

Trang 13

8

4 Thiết kế mô hình lớp,mô hình dữ liệu

Mô hình lớp( Class ): Gồm 3 lớp với lớp Nhan Vien là lớp cha và hai lớp con

là NVFT( Nhân viên Full Time ) và NVTV (Nhân viên thời vụ)

Hình 4: Mô hình lớp (Class)

Mô hình dữ liệu:

Cơ sở dữ liệu gồm 1 bảng duy nhất:

QUANLYTIENLUONG( MaNV, TenNV, NamSinh, SDT, SoNC, Luong)

Hình 5: Bảng QUANLYTIENLUONG

Trang 15

10

Super class NhanVien:

Hình 8: Class cha (Supper Class) NhanVien

Trang 16

11

Class NVFT:

Hình 9: Class con NVFT (Nhân viên Full Time)

Trang 18

13

Class Connect to Database:

Hình 11: Conect to Database

Giao diện GUI

Hình 12: Giao diện GUI (Form)

Trang 19

14

6 Kiểm thử và đánh giá kết quả

Sau khi cài đặt và chạy thì kết quả cho thấy chương trình chạy bình thường và không gặp phải lỗi gì Chương trình đạt yêu cầu.!

( Phần kết luận phía dưới )

Trang 20

15

II.Kết Luận

Chương trình cơ bản đã hoàn thành được nhiệm vụ đề ra là quản lý tiền lương cho nhân viên!

Chương trình đã hoàn thành yêu cầu đặt ra đó là:

Nhập/Xuất thông tin nhân viên Tính được lương của 2 loại nhân viên và Thống

kê dưới dạng bảng Có thể cập nhật ( thêm, sửa, xóa) được thông tin cho nhân viên Sử dụng giao diện GUI đơn giản Đã có thể kết nối, lưu trữ và truy vấn được

dữ liệu từ Database (SQL Server)

Có sử dụng kế thừa, đa hình, lớp trừu tượng, phương thức trừu tượng và modifier cho thuộc tính và phương thức

Tuy nhiên chương trình còn có nhiều thiếu xót như:

Có sử dụng nhưng chưa tận dụng được sự linh hoạt các đăc điểm của Modifier cho thuộc tính và phương thức Phần giao diện còn khá sơ sài, không đẹp mắt, còn thiếu một số chức năng phụ như Log In

Chưa hoàn thiện được phần tìm kiếm thông tin Phần tính lương cũng chưa được tối ưu hóa khi vẫn phải sử dụng 2 nút riêng biệt

Lời kết:

Do chưa có kinh nghiệm trong việc xây dựng một bài toán quản lý xong chúng em cũng đã làm hết khả năng của mình Tuy còn nhiều sai xót nhưng bọn em sẽ cố gắng hoàn thiện bản demo sớm nhất có thể để có một bài báo cáo trong phần thi thật hoàn hảo Em xin trân thành cám ơn Thầy/Cô đã dành thời gian để xem hết bài báo cáo của chúng em !!

Trang 21

16

III.Tài Liệu Tham Khảo

• Wikipedia: Lập trình hướng đối tượng

Link:

https://vi.wikipedia.org/wiki/L%E1%BA%ADp_tr%C3%ACnh_h%C6%B0%E1%BB%9Bng_%C4%91%E1%BB%91i_t%C6%B0%E1%BB%A3ng

Ngày đăng: 06/12/2023, 17:05

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN