Phân tích và thiết kế hệ thống thông tin quản lý tiền lương.
Một số vấn đề về phơng pháp luận trong hệ thống thông tin quản lý tiền lơng
Cơ sở lý luận về tiền l ơng và các hình thức trả l ơng
1 Cơ sở lý luận và bản chất của tiền lơng
Tiền lương là động lực làm việc nhưng cũng có thể gây trì trệ, bất mãn và khiến nhân viên nghỉ việc, tùy thuộc vào quản lý Trong nền kinh tế thị trường, tiền lương là giá của sức lao động, một hàng hóa Theo C.Mác, tiền công không phải là giá trị của lao động mà là hình thái cải trang của giá trị sức lao động.
Tiền lương là khoản trả cho người lao động, phản ánh quan hệ kinh tế Tuy nhiên, do tính chất đặc biệt của hàng hóa sức lao động, tiền lương còn là vấn đề xã hội quan trọng, ảnh hưởng đời sống và trật tự xã hội Đối với người lao động, tiền lương là thu nhập chính, chi phối mức sống và thúc đẩy nâng cao năng lực Trong kinh doanh, tiền lương là chi phí sản xuất, cần được quản lý chặt chẽ.
2 Hình thức trả lơng theo thời gian
Phương pháp trả lương theo thời gian được nhiều công ty ở các nước phát triển áp dụng Tuy nhiên, hình thức này chủ yếu dành cho quản lý, còn công nhân sản xuất chỉ áp dụng khi khó định mức sản phẩm chính xác hoặc chất lượng sản phẩm bị ảnh hưởng nếu trả lương theo sản phẩm.
Hình thức tiền lơng trả theo thời gian có hai chế độ: theo thời gian đơn giản và theo thời gian có thởng.
2.1 Chế độ trả lơng theo thời gian đơn giản
Chế độ trả lương theo thời gian dựa trên mức lương cơ bản và thời gian làm việc thực tế của người lao động Lương cao hơn nếu cấp bậc cao hơn và/hoặc thời gian làm việc nhiều hơn.
Chế độ trả lơng này chỉ áp dụng ở những nơi khó xác định mức lao động chính xác, khó đánh giá công việc chính xác.
LTT: Tiền lơng thực tế ngời lao động nhận đợc.
LCB: Tiền lơng cấp bậc giờ tính theo thời gian.
T: Thời gian thực tế đã làm việc của ngời lao động.
Có 2 loại lơng theo thời gian đơn giản:
Lơng ngày: Tính theo mức lơng cấp bậc ngày và số ngày làm việc thực tế trong tháng.
Lơng tháng: Tính theo mức lơng cấp bậc tháng
2.2 Chế độ trả lơng theo thời gian có thởng
Chế độ lương kết hợp trả lương theo thời gian và thưởng theo năng suất, chất lượng sản phẩm đạt được.
Chế độ lương này áp dụng cho công nhân phụ hỗ trợ (sửa chữa, bảo dưỡng thiết bị) và công nhân chính ở các khâu sản xuất tự động hoá, đòi hỏi chất lượng cao Lương được tính toán từ lương cơ bản theo thời gian làm việc thực tế, cộng thêm tiền thưởng.
3 Chế độ bảo hiểm xã hội
Bảo hiểm xã hội đảm bảo an sinh vật chất cho người lao động (trong và ngoài khu vực quốc doanh) khi ốm đau, thai sản, tai nạn, hưu trí hoặc tử vong Chế độ này được thực hiện dựa trên sự đóng góp của người sử dụng lao động, người lao động và sự bảo hộ của Nhà nước, góp phần ổn định đời sống người lao động và gia đình.
3.2 Quỹ bảo hiểm xã hội
Quỹ bảo hiểm xã hội được hình thành từ đóng góp của người sử dụng lao động, người lao động và ngân sách nhà nước, chi trả các chế độ bảo hiểm xã hội theo nguyên tắc "có đóng góp, có hưởng", mức hưởng phụ thuộc vào mức đóng góp và thời gian tham gia, đồng thời thực hiện chức năng điều hòa xã hội.
3.1.1.1.1.a.1.1 Chế độ trợ ốm đau.
Tóm lại: Chế độ bảo hiểm xã hội quy định quỹ bảo hiểm xã hội đợc hình thành từ 2 nguồn sau đây:
− Trích vào chi phí sản xuất kinh doanh hàng tháng của các đơn vị bằng 15% tiền lơng thực tế phải trả.
− Trích lơng ngời lao động 5%
Người lao động đóng bảo hiểm y tế 1% tiền lương, được doanh nghiệp trừ trực tiếp từ lương để hưởng dịch vụ khám chữa bệnh miễn phí.
4 Chế độ tính lơng của Công ty
− Tính lơng cho CBCNV văn phòng dựa vào các yếu tố sau:
+ Bảng theo dõi làm thêm ngày.
+ Các chế độ phụ cấp
− Tính lơng cho công nhân trực tiếp sản xuất
− Những khoản phụ ảnh hởng đến lơng:
+ Tính hệ số phụ cấp lơng theo thời gian công tác
Quyết định của Công ty bao nhiêu thời gian đợc xét nâng l- ơng
Tiền lơng đợc trả theo trình độ
Tiền lơng đợc trả theo khối lợng công việc hoặc choc vụ đang giữ(Trởng phòng, phó phòng, nhân viên )…
+ Các chế độ thởng phạt:
Tuỳ theo mức độ hoàn thành xuất sắc công việc hoặc có phát huy sáng kiến cải tiến kỹ thuật có thể thởng một lần hoặc tăng lơng sớm.
Khi vi phạm kỷ luật lao động hoặc nội quy của Công ty xử phạt theo mức độ vi phạm và trừ vào lơng cuối tháng.
Phân tích bài toán
Giới thiệu bài toán
Quản lý tiền lương là quản lý thông tin nhân viên liên quan đến lương, bao gồm: thời gian làm việc, chấm công, mức lương, hệ số lương, thưởng, kỷ luật, bảo hiểm xã hội, bảo hiểm y tế và cách tính lương.
Hệ thống quản lý lương sử dụng dữ liệu nhân viên, thời gian làm việc, khen thưởng, kỷ luật, quy định lương, bảo hiểm để tính lương và tạo báo cáo tổng hợp cho ban lãnh đạo và các phòng ban liên quan.
Mục đích xây dựng đề tài
Công nghệ thông tin đang được ứng dụng rộng rãi toàn cầu, thúc đẩy tin học hoá mọi hoạt động Quản lý tiền lương thủ công gây chậm trễ và tốn nhiều thời gian Vì vậy, việc tin học hoá quản lý tiền lương là cần thiết, nhằm nâng cao hiệu quả công việc và khai thác thông tin nhanh chóng.
− Giảm bớt thời gian ghi chép, không gây nhầm lẫn, thiếu chính xác.
− Thực hiện sửa dữ liệu rất thuận tiện.
− Tận dụng tối đa khả năng tính đã có.
− Mọi công việc cập nhật, điều chỉnh, tìm kiếm, tra cứu đều đợc thực hiện nhanh chóng, chính xác và tiết kiệm thời gian.
− Công việc của cán bộ quản lý không còn vất vả, hiệu suất lao động cao.
Phân tích và thiết kế hệ thống thông tin quản lý tiền lơng
Sơ đồ chức năng của hệ thống thông tin
Hệ thống thông tin quản lý lương
Hệ thống thông tin quản lý lương
T×m kiÕm theo mã nh©n viên
T×m kiÕm theo mã nh©n viên
T×m kiÕm theo số thứ tù
T×m kiÕm theo số thứ tù
Sửa danh sách nh©n viên
Sửa danh sách nh©n viên
Sơ đồ luồng dữ liệu
2.1 Sơ đồ ngữ cảnh của hệ thống tính lơng
Yêu cầu Biểu nộp BHXH
2.2 Biểu đồ luồng dữ liệu mức đỉnh
2.3 Sơ đồ phân rã chức năng mô tả hoạt động chấm công(CC)
Bảng CC chính Bảng CC thêm giờ
Bảng CC ca đêm Bảng CC khác
Thiết kế Cơ sở dữ liệu
1 Thiết kế cơ sở dữ liệu đi từ các thông tin đầu ra
Từ dữ liệu về danh sách nhân viên, phòng ban, chấm công, bảng lương (công trình và hành chính) và bảo hiểm xã hội, chúng tôi tổng hợp và phân tích thông tin.
Thông tin đầu ra Thuộc tính
Hệ số lơng cơ bản
Ngày có quyết định khen thởng,kỷ luật
Lý do khen thởng, kỷ luật R
Ngày công làm ca đêm
Ngày công nghỉ phép, đi học Địa điểm phòng ban Điện thoại phòng ban
Ngày kết thúc hệ số lơng
Sau khi xác định thuộc tính lặp (R) và loại bỏ thuộc tính thứ sinh (S), chuẩn hoá dữ liệu đạt mức 1NF, 2NF, và 3NF, tạo ra các tệp dữ liệu mới.
− Số hiệu khen th ởng
− Họ và tên nhân viên
Từ các danh sách trên ta có sơ đồ cấu trúc dữ liệu:
Sè hi ệu khe n thưởng
Sè hi ệu kỷ l uËt
Mã bảo hiểm Bảo hiểm xã hội Bảo hiểm y tế Ngày áp dụng Ngày huỷ bỏ
Lý do kû luËt Hình thức kỷ luËt Ngày quyết định
Tháng Mã nhân viên Ngày công chính thức Ngày công thêm giờ Ngày công ca đêm
Mã lương cơ bản Mức lương cơ bản
Ngày thực hiện Ngày huỷ bỏ
Số hiệu khen thư ởng
Hệ số khen thư ởng
Lý do khen th ởng
Tên phòng ban Địa điểm
TT Thuộc tính Diễn giải Kiểu Độ rộng
1 TT Số thứ tự Intger 2
2 MaNV Mã nhân viên string 10
3 HoTen Tên nhân viên String 30
4 HSL Hệ số lơng Real 8
7 BHXH Bảo hiểm xã hội Real 5
TT Thuộc tính Diễn giải Kiểu Độ rộng
1 TT Số thứ tự Integer 2
2 MaPB Mã phòng ban String 5
3 MaNV Mã nhân viên String 3
4 TenPB Tên phòng ban String 17
5 TenNV Tên nhân viên String 10
7 Tong Luong Thực lĩnh Real 14
Thiết kế ch ơng trình quản lý l ơng
1 Ngôn ngữ thiết kế chơng trình
Pascal là ngôn ngữ lập trình cấp cao, dễ hiểu và có cấu trúc rõ ràng Ngôn ngữ này được sử dụng rộng rãi tại Việt Nam trong giáo dục, lập trình tính toán, đồ họa và xử lý văn bản Kiến thức Pascal của tôi được tích lũy từ chương trình đào tạo của trường và sự hướng dẫn của thầy trưởng khoa Hàn Viết Thuận.
Phần mềm quản lý lương được thiết kế dựa trên ngôn ngữ lập trình hiện đại, nhằm nâng cao hiệu quả quản lý tiền lương cho doanh nghiệp Việt Nam.
2 Thiết kế menu của chơng trình a) Thực đơn trong chơng trình chính gồm các mục sau:
Thoát. b) Thực đơn cập nhật danh sách:
Cập nhật danh sách nhân viên.
Bổ sung vào cuối danh sách.
Bổ sung vào vị trí bất kỳ.
Ghi danh sách ra tệp.
Đọc danh sách từ tệp.
KÕt thóc cËp nhËt. c) Thực đơn tìm kiếm
Tìm kiếm theo mã nhân viên.
KÕt thóc. d) Thực đơn báo cáo
Báo cáo bảng lơng chi tiết.
Báo cáo bảng lơng tổng hợp.
3 Màn hình giao diện của thực đơn. a Thực đơn chính
PHAN MEM QUAN LY LUONG
*********************************************** THUC DON CHUONG TRINH QUAN LY LUONG 1.Thuc Don Cap Nhat
PHAN MEM QUAN LY LUONG
+++++++++++++++++++++++++++++++++++++++++++++ THUC DON CHUONG TRINH CAP NHAT
1 Cap nhat danh sach nhan vien
3 Bo sung vao cuoi danh sach
4 Bo sung vao vi tri bat ky
6 Sua du lieu nhan vien
PHAN MEM QUAN LY LUONG
+++++++++++++++++++++++++++++++++++++++++++++ THUC DON CHUONG TRINH TIM KIEM
1.Tim kiem theo so thu tu
2.Tim kiem theo ma nhan vien
PHAN MEM QUAN LY LUONG
+++++++++++++++++++++++++++++++++++++++++++++ THUC DON CHUONG TRINH BAO CAO
1 Bao cao chi tiet luong
2.Bao cao tong hop luong
4 Một số kết quả đầu ra. a) Bảng lơng nhân viên.
-BANG LUONG CHI TIET - Donvitinh:1000d
|TT| Mas | HOTEN | HSL | NC | TONGL | BHXH | LTHEM | PC | TH | PH | TAN | TLINH | -
| 5 | 04 | Hong Giang | 4.98 | 26 | 1444.20 | 86.65 | 0.00 | 28.88 | 0.00 | 0.00 | 110 | 1276.43 | - b) Bảng lơng phòng ban.
-BANG LUONG TONG HOP - Donvitinh:1000d
|TT|MaPB | MaNV | TenPB | TenNV | ChucVu | TongLuong | -
|1 | HC | 05 | Hanh chinh | Hong Tham | Nhan vien | 577.76 |
| 2 | HC | 02 | Hanh Chinh | Han Dat | Pho Phong | 1122.09 |
|3 | TCCB | 01 | To chuc can bo | Le Tam | Truong Phong | 1148.37 |
| 4 | HC | 03 | Hanh Chinh | Minh Thu | Truong Phong | 1197.32 |
| 5 | GD | 04 | Ban lanh dao | Hong Giang | Giam doc | 1276.43 | -
5 Chơng trình lập trình program Quanlyluong; uses crt; type
MaPB:string[10]; lcb,hsluong,hsPC,PC,lamthem,HSth,hsph,Th,Ph,ton gl,bhxh,tl:real; nc,ncthem,ta:integer; tiep,truoc:pbang_luong; donvitinh:integer; end; lg=record
MaPB:string[10]; lcb,hsluong,hsPC,PC,lamthem,HSth,hsph:real;
Th,tl,Ph,tongl,bhxh:real; nc,ncthem,ta:integer; end; var p,pdau,pcuoi: Pbang_luong;
This Pascal function `Matkhau` implements a simple password check It prompts the user to enter a three-character password, masking input with asterisks The function returns `true` only if the password matches "thu".
(*////////////////////////////////////////////////*) (*Thu tuc tao danh sach*) procedure taods(var Pdau:Pbang_luong); var stt:integer; manv:string[23];
This Pascal code implements a linked list to store employee data Each employee's ID, name, position, department, salary details (base salary, overtime, bonuses, penalties), and allowances are input and added to the list until a blank employee ID is entered The program uses dynamic memory allocation (`new`) to create new nodes for each employee.
This code calculates employee salary (**tinh luong**) Gross salary is computed, followed by social insurance (bhxh), personal income tax (PC), overtime pay (lamthem), and other allowances (th, ph) Net salary (tl) is the gross salary less social insurance, plus other allowances, and minus applicable deductions.
This procedure, `SapXepTL`, sorts a linked list based on a `tl` field in ascending order It iterates through the list, comparing adjacent nodes If a node's `tl` value is greater than the next node's, it swaps them, setting a boolean flag `sx` to `false` indicating a swap occurred The process repeats until no swaps are needed, signifying a sorted list.
S:=nil; if p^.truoc=nil then begin pdau:=pt;q:=nil end else begin q:=p^.truoc; q^.tiep:=pt end; p^.tiep:=S;
P^.truoc:=pt; pt^.tiep:=p; pt^.truoc:=q; p:=pdau; end else p:=p^.tiep; end; until sx; pcuoi:=p; end;
(*//////////////////////////////////////////////////*) (**Thu tuc duyet danh sach **) procedure Duyet; var stt:integer; begin p:=pdau; stt:=0; while pnil do begin inc(stt);
This program clears the screen, sets the text background to light blue and text color to light cyan, then displays a salary payroll report title, unit of currency (1000d), and a header row including "No.", "ID", and "Salary Rate".
GOTOXY(25,8); WRITE('NC'); gotoxy(27,8 );write('|'); gotoxy(28,8); Write('TONGL'); gotoxy(36,8 );write('|');
GOTOXY(37,8);write('BHXH'); gotoxy(42,8 );write('|');
This code snippet uses GOTOXY to position and write text strings "THEM," "PC," "TH," "PH," "TAN," "TLINH," and delimiters "|" on the console at specific coordinates (x, y = 8) A horizontal line is drawn using " -", and vertical lines "|" are added The background and text colors are set using textbackground(5) and textcolor(11).
This Pascal code displays employee data (ID, name, salary, social insurance, overtime, personal deductions, tax, allowances, net salary) in a formatted table using `gotoxy` for precise screen positioning The data is iterated through a linked list (`p:=p^.tiep`), line by line (`inc(dong)`), until the end is reached Finally, it waits for user input before exiting.
(*///////////////////////////////////////////////*) (**Thu tuc in**) procedure Inchitiet(p:pbang_luong); var pcuoi:pBang_luong; stt:integer; begin sapxepTL;
This program displays a detailed payroll report The report's header includes "DETAILED PAYROLL" and indicates the unit of currency as "1000d" A table is then generated with columns for item number, employee ID, employee name, and hours worked.
GOTOXY(25,8); WRITE('NC'); gotoxy(27,8 );write('|'); gotoxy(28,8); Write('TONGL'); gotoxy(36,8 );write('|');
GOTOXY(37,8);write('BHXH'); gotoxy(42,8 );write('|');
This program uses GOTOXY commands to position and print text elements: "LTHEM," "|," "PC," "|," "TH," "|," "TAN," "|," "TLINH," "|," and a horizontal line A loop, initiated by `dong:`, iterates through a linked list (`p:=pdau; while pnil do`) starting at `pdau`, processing each element (`stt:=1;`).
This Pascal code displays employee data in a formatted table using `gotoxy` to position output Each row shows employee ID, name, salary, deductions (social security, overtime, etc.), and net pay The code iterates through a linked list (`p:=p^.tiep`), incrementing row number (`dong`) and record number (`stt`) for each employee A final line separates the table.
(*//////////////////////////////////////////////////*) var pcuoi:pBang_luong; stt:integer; begin p:=pdau; sapxepTL;
This program displays a payroll summary report The report includes employee ID, department ID, department name, and unit of currency (1000d) The output is formatted using specific coordinates for labels and data.
GOTOXY(36,8); WRITE('TenNV'); gotoxy(46,8 );write('|'); gotoxy(47,8); Write('ChucVu'); gotoxy(65,8 );write('|');
GOTOXY(66,8);write('TongLuong'); gotoxy(80,8 );write('|'); gotoxy(1,9); Write(' -'); dong:; stt:=1; while pnil do begin gotoxy(1,dong);write('|');
This Pascal code displays formatted records, including ID (MaPB), employee ID (MaNV), position (PB), name (hoten), job title (CV), and total (tongl), using `gotoxy` for precise screen positioning Each field is separated by vertical bars ('|') within a structured output.
The Pascal function `dc` searches a linked list (`pbang_luong`) for a record at a specified index (`stt`) It iterates through the list until it finds the record, returning a pointer to it; otherwise, it returns `nil`.
(*//////////////////////////////////////////////////*) (**Thu tuc tim kiem theo ma nhan vien**) procedure timkiemMaNV; var mas:string[6];