


摘? 要:科學技術的迅猛發(fā)展使計算機在企業(yè)管理中迅速普及。隨著企業(yè)規(guī)模的擴大,員工工資考核形式變得更加多樣化,單靠人工不可避免地會出現錯誤。而工資管理系統可以彌補人工的不足,在企業(yè)管理中發(fā)揮著重要作用。采用自頂而下的結構化分析方法,使用Java語言,SQL Server 2005數據庫。管理員實現了員工信息、績效考核、薪酬福利的錄入、查詢、刪除和修改功能。而員工模塊實現了個人信息和工資的查詢功能,以及工資單的打印功能,極大地提高了企業(yè)人員工作效率。
關鍵詞:工資管理系統;Java;SQL Server
中圖分類號:TP311 文獻標識碼:A? 文章編號:2096-4706(2023)01-0040-04
Design and Implementation of Salary Management System Based on Java
ZHANG Yingying
(Jiyuan Transportation Comprehensive Administrative Law Enforcement Detachment, Jiyuan? 459000, China)
Abstract: The rapid development of science and technology has made computers rapidly popular in enterprise management. With the expansion of the scale of enterprises, the form of employee salary appraisal has become more diversified, and mistakes will inevitably occur by relying on labor alone. The salary management system can make up for the lack of labor and play an important role in enterprise management. It adopts a top-down structured analysis method, uses the Java language, SQL Server 2005 database. The administrator implements the functions of entering, querying, deleting, and modifying employee information, performance appraisal, compensation and benefits. And the employee module realizes the query function of personal information and salary, as well as the printing function of payroll, which greatly improves the work efficiency of enterprise personnel.
Keywords: salary management system; Java; SQL Server
0? 引? 言
近年來,隨著計算機科學技術的不斷成長,信息技術的應用領域更加廣泛。其中,信息管理系統的應用對企業(yè)的發(fā)展越來越重要,而工資管理系統是管理系統中最常用的一個系統。隨著企業(yè)的不斷擴大、業(yè)務的增加,工資的考核方式也變得多樣化,傳統的單靠人工和一個簡單的計算器的核算方式已經不能滿足企業(yè)的管理需求。經濟全球化的快速發(fā)展推動著企業(yè)不斷向規(guī)模化、產業(yè)化發(fā)展,跟員工工資相關聯的績效、提成等信息也在增加,管理也越來越復雜[1]。那么,如果僅靠人力定會力不從心,因此,應當開發(fā)一個工資管理系統來解放他們的員工,滿足他們的需求。
1? 開發(fā)環(huán)境與相關技術介紹
1.1? MVC框架介紹
Smalltalk設計的MVC(Model-View-Controller)模式是一個體系結構,該結構分為三個部分,它們將數據和表示分離開來,其中Model是MVC體系的核心,是業(yè)務邏輯;View是視圖,是一種外在的表現形式,即JSP頁面,一個Model可以對應一個或多個View;Controller通過接受用戶請求,把數據傳送到模型層并調用相應的業(yè)務邏輯處理信息,最后把更新的數據傳送并調用視圖層,將信息反饋給瀏覽器。
1.2? Struts技術簡介
Struts是MVC模式下的一個框架,它主要包含了Server和JSP兩大技術。如果想在MVC模式下同時使用Server和JSP,那么選擇Struts是毫無疑問的。Struts除了有MVC三個部分外,還包括了一個XML文件[2]。
1.3? B/S技術簡介
B/S技術是一種瀏覽器/服務器模式,它的優(yōu)勢在于其業(yè)務的功能主要集中在服務器,在設計與維護上都較為方便。其主要介紹如下:
(1)數據庫層。它的功能是通過服務器發(fā)送的命令直接管理數據庫;
(2)Web服務器層。它是B/S結構的核心,其功能是把用戶發(fā)出的命令與對應的業(yè)務功能關聯并進行數據轉換,并且把數據結果發(fā)送給服務器,然后發(fā)送到客戶端;
(3)表現層。即上文提到的瀏覽器。它的功能是將服務器所收到的請求進行驗證,當驗證通過后,把客戶需要的信息在瀏覽器上呈現[3]。
2? 系統分析
2.1? 系統可行性分析
2.1.1? 技術可行性分析
從當前各大企業(yè)對于工資管理系統的要求來看,當前工資管理所需要的技術已經成熟,在現有的條件下完全可以開發(fā)出所需要的功能[4]。
2.1.2? 經濟可行性分析
工資管理系統是在調查分析、翻閱資料后開發(fā)的,完全滿足當下企業(yè)的要求,企業(yè)無須再投入資金,對技術功能進行修改等。此外,工資管理系統的研發(fā)成本本就不高,完全在企業(yè)的可接受范圍內。
2.1.3? 社會可行性
社會可行性主要從以下兩個方面來分析:
(1)是否侵權。本系統是經過幾個月的努力通過大量調查研究獨立完成的,并沒有涉及抄襲、盜用等問題。
(2)用戶使用是否友好。一款好的軟件是不需要其他人指導就可以很快熟悉操作功能的,這就是友好性,如果軟件使用過程中不符合用戶常識、習慣,那么這個系統就是失敗的。
本研究的工資管理系統簡單明了,用戶可以根據界面提示迅速熟悉,就有友好性。
2.1.4? 安全可行性分析
由于員工的基本信息,工資結算、發(fā)放等都通過工資管理系統來完成,因此系統的安全性是非常重要的。使用SQL Server 2005有身份驗證的功能,可以確保數據的安全性[5]。
2.2? 功能需求分析
需求分析是系統開發(fā)者對當前用戶需求進行充分調研后,在市面上已有的系統基礎上,根據用戶的不同需求,確定即將開發(fā)的新系統的功能。
功能需求分析就是工資管理系統要解決的問題。功能需求分析是系統最基礎最重要的分析過程[6]。本系統擬對每位員工進行權限設置,普通員工權限為1,即僅可以進行查詢等操作,管理員權限為0,可以對普通員工進行管理等。
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。
工資管理系統應當實現以下基本功能:對新入職員工信息的錄入添加及修改,對員工工資、請假、遲到事宜的錄入;對離職員工信息的刪除;通過員工編號和姓名對員工信息進行查詢等諸多功能。普通員工在獲得管理員分配的賬號和初始密碼登錄后,可以進行薪酬查詢以及工資單的打印。
普通員工登錄系統后主要可以進行薪酬查詢和工資單打印,員工用例分析如圖1所示。
2.3? 非功能性需求分析
非功能性需求分析也是需求分析不可缺少的一部分[7]。主要分析如下:
(1)可靠性。為了遵循系統的可靠性原則,系統分為管理員和普通員工兩個身份。管理員的賬號是已經設置好的,不可更改。普通員工的賬號密碼是系統管理員分配的,普通員工只有查詢權限。
(2)易操作性。工資管理系統是企業(yè)內的每一位員工都要使用的平臺,因此,必須具備很強的可操作性。系統的界面應該簡單大方,極易上手。如果系統做的復雜難懂,即使功能再齊全,也是不適用的。
(3)可擴充性。任何事物都不是一成不變的,企業(yè)也是如此,它會隨著時間的推進而不斷發(fā)展擴大,而系統的功能、性能等也需要順應企業(yè)的變化,來滿足企業(yè)的使用需求。
3? 系統設計
3.1? 系統架構設計
Hibernate是一個位于Java應用層與數據庫之間,通過簡化數據的持久層編程來節(jié)約開發(fā)者編寫SQL和JDBC代碼的時間的一個框架。它通過操作持久化的對象來達到操作與持久化對象相映射的數據庫記錄。
3.2? 功能模塊設計
本文研究的工資管理系統主要包括五個模塊。其中系統登錄設置了權限,分為管理員和普通員工登錄。員工信息模塊包括員工信息的添加、員工信息的查詢,員工信息主要包括姓名、年齡、入職時間、工行卡號等信息。員工信息的管理主要是給普通員工分配賬號和密碼。員工信息查詢可以從姓名或者編號兩個主線來查詢。績效考核模塊分為錄入和查詢,主要錄入員工請假、遲到等信息。薪酬福利模塊主要是對福利的添加、查看、刪除等,薪酬福利的添加主要是對車補、餐補、全勤、績效獎金等信息的添加。其中,系統暫時擬設定一位管理員,他的用戶名和密碼是在后臺數據庫中直接設置的,管理員的用戶名在前臺界面是不可更改或刪除的,以保證系統的安全性。當企業(yè)員工增加時,可適當添加管理員的數量。
3.3? 類圖設計
UML中的類圖可以定義類的屬性和方法,以及它們的關系,其中類的關系有多種,例如關聯、依賴、泛化、聚合等。類是面向對象技術中的重要一員,類主要包括屬性和方法兩個成員,類有protected、private和public三種不同的性質。
3.4? 數據庫總體設計
數據庫設計對于是系統的開發(fā)來說是非常重要的,它是工資管理系統的后臺,必須結合系統的需求分析等設計出合理有效的數據庫,從而提高工作效率。
3.4.1? 管理員登錄信息
管理員登錄信息表主要是管理員在登錄時所需要的用戶名和密碼,如表1所示。
3.4.2? 員工薪酬信息
員工薪酬信息表主要是用來查詢、錄入員工與薪酬相關的信息,主要包括員工編號、入職月份、遲到天數、獎金數額、車補、餐補、業(yè)績獎金、績效獎金、個人所得稅,并通過以上信息計算得出的當月所有薪酬。
3.4.3? 績效考核信息
績效考核信息表主要記錄員工平時需要考核的基本信息,其中包括考核的月份、遲到的天數、請假的天數,獎金的數額等信息,根據相應的公式,通過計算扣除遲到、請假等事宜的工資,計算出績效考核的工資,錄入之后,系統會連接后臺數據庫,將信息保存在數據庫中,并隨時可以更新。
3.4.4? 員工基本信息
員工基本信息表,顧名思義,是用來記錄每位員工的基本信息,主要包括員工的ID、編號、姓名、年齡、性別、入職年份、聯系電話、家庭地址、當前職位、工行卡號、個人權限、個人登錄賬戶及登錄密碼等信息。
4? 系統實現
第四部分是詳細的設計與功能,是系統最核心最重要的部分,其中主要完成了數據庫的連接、代碼的編寫以及各個模塊功能的實現。通過一些流程圖來輔助完成這設計的實現,以下是對系統的詳細分析。
4.1? 數據庫連接
本系統使用SQL Server 2005來作為后臺的數據庫。在設計代碼的過程中,將有關數據庫的連接、執(zhí)行等操作放在dao包中,其中,與數據庫連接相關的代碼如下:
private String user = "sa"; //數據庫名
private String password = "sa1234sa"; //數據庫密碼
private String className = "net.sourceforge.jtds.jdbc.Driver";//加載SQL Server驅動
Private String url="jdbc:jtds:sqlserver://localhost:1433;//提供jdbc連接的url
instance=SQLEXPRESS;databaseName=db_ygjx";
其中,數據庫的用戶名為sa,密碼為sa1234sa,數據庫名為db_ygjx。
4.2? 登錄功能的實現
用戶輸入工資管理系統的網址后,顯示出登錄界面,登錄界面主要包括用戶名和密碼,以及身份的選擇,另外有登錄和重置按鈕。當輸入賬號密碼并選擇身份后,系統會進行判定,無論判定成功或者失敗都會進行信息的反饋。登錄成功后就會進入系統主界面。登錄界面如圖2所示。
4.3? 管理員管理模塊
當管理員成功登錄到系統的主界面后,就可以對用戶進行員工信息管理、績效考核管理以及薪酬福利管理等操作。首先管理員可以對自己的密碼進行修改,管理員的用戶名是不可更改的。
4.3.1? 員工信息的添加
當有新員工加入公司時,管理員對員工的基本信息進行添加,并通過信息添加模塊給新入職員工分配賬號和密碼,并對基本信息進行錄入。員工基本信息添加界面如圖3所示。
點擊員工信息添加并進入到yuangongAdd.jsp頁面。根據界面提示輸入員工的基本信息。信息填入完畢后點擊提交按鈕,此時jsp頁面發(fā)出請求并調用yuangong.java。然后調用DB.java中的connection getCon()函數進行數據庫的連接。以下是添加用戶連接數據庫的代碼:
String sql="insert into t_yuangong? values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
//需要執(zhí)行的sql語句
Object[]params={bianhao,name,sex,age,tel,address,zhiwei,card,ruzhinianfei,0,"","","no"};
DB mydb=new DB();//創(chuàng)建DB Java對象
mydb.doPstm(sql, params);
//調用預編譯對象的方法,將sql,object[]的值傳過去,執(zhí)行預編譯對象
mydb.closed();//關閉連接
管理員點擊員工信息管理中的分配賬號操作后,會跳轉至員工權限界面,根據界面提示輸入給員工分配的賬號和密碼并點擊提交,系統會將輸入的賬號密碼插入到dbo.t_yuangong數據庫中。
4.3.2? 員工信息的查詢與刪除
管理員可以通過該模塊進行刪除操作。管理員通過員工基本信息查詢模塊可以查詢員工的基本信息,其中可以通過員工姓名或者員工編號查詢。
管理員點擊員工基本信息查詢,進入到yuangongSearch.jsp界面。輸入員工姓名或者編號后點擊查詢按鈕,JSP頁面會發(fā)出請求,然后調用yuangong_servlet,再從yuangong_servlet中分別調用yuangongSearch和yuangongSearch_bianhao方法來查詢員工基本信息。當查詢成功時會跳轉到success.jsp界面。查詢成功后會有刪除按鈕,可以對需要刪除的員工信息進行刪除。
4.3.3? 績效考核管理
該模塊實現了員工遲到、請假等信息添加的功能,并將添加的信息轉化成工資。其中績效獎金是500元,遲到一次扣50,扣完為止。
管理員進入績效考核錄入模塊后,點擊添加按鈕,界面跳轉至jixiaoAdd.jsp界面,根據界面提示填入相應信息,點擊提交按鈕,系統會調用jixiao_servlet.java里面的jixiaoAdd()方法,并與數據庫相連接。以下是績效獎金計算代碼:
Intjixiao_jiangjin=500-Integer.parseInt(jixiao_yaungong_chidao)*50;
當績效考核的信息已經錄入時,系統會彈出“不要重復操作”的對話框。
當績效考核之前并未錄入時,系統會跳轉至common/success.jsp界面并提示錄入成功,在代碼的實現過程中主要使用if-else語句。
4.3.4? 薪酬福利管理
薪酬福利添加:管理員點擊薪酬福利添加后,界面跳轉至xinchouAdd.jsp界面,根據界面的提示錄入相應的信息后,點擊提交,調用xinchou_servlet.java中的xinchouAdd()方法,并連接數據庫,實現對薪酬福利的添加。其中個人稅計算的代碼如下:
if(xinchouall>3500){
gerenshui=(int)(xinchouall*0.1);
}
薪酬福利添加界面,其中,薪酬福利有一條績效獎金,績效獎金是通過查詢員工的績效考核獎金之后錄入的,點擊績效獎金右側的“查詢員工的績效考核獎金”之后,會跳轉界面并讓選擇添加的員工,如果查詢時發(fā)現該員工的績效獎金在績效考核模塊并未錄入,那么系統會跳轉至以下界面,如圖4所示。
刪除薪酬福利可能會錄入錯誤,應該設置撤銷功能,對薪酬福利刪除利用xinchouDel()方法,其主要代碼如下:
String sql="delete from t_xinchou where
id="+Integer.parseInt(req.getParameter("id"));//需要執(zhí)行SQL語句
Object[] params={};
DB mydb=new DB();//創(chuàng)建DB Java對象
mydb.doPstm(sql, params);
mydb.closed();//關閉連接
4.4? 普通員工模塊
4.4.1? 工資查詢功能
普通員工通過管理員分配的賬號密碼登錄到系統中,可以查詢當月或以前月份所發(fā)放的工資進行查詢、可以修改個人密碼、查詢個人信息以及對工資單的打印。
員工通過個人的賬號和密碼可以成功登錄到員工查詢界面。首先是工資單的形成,員工不僅可以看到當月工資明細,還可以查看到以前月份的工資明細。普通員工確認工資無誤之后還可以對工資單進行打印。
4.4.2? 工資單打印功能
員工查詢工資單之后可以生成Excel表,實現工資的打印。該功能的實現首先需要設置輸入流,利用Sql Server語句調取數據庫中的相關信息,再根據輸入流中的表頭信息,通過輸出流導出Excel表。
5? 結? 論
工資管理系統是辦公系統的一種,是當下每一家企業(yè)都應當使用的系統。通過幾個月的努力完成了一個簡單的工資管理系統,從中收獲了很多。
本系統是一個大眾化的系統,功能較為簡單,可以供許多中小企業(yè)使用,當然,如果大中企業(yè)使用還需要完善許多功能。在系統設計與開發(fā)的過程中遇到很多難題,例如數據庫的連接、用例圖流程圖畫的不恰當、模塊分配不合理等,通過請教其他同學都得以解決,也從中學到很多知識。系統經過努力終于完成,但是還有很多需要完善的地方,例如工資考核有些簡單,員工信息錄入不是很全面等,這些都需要改進。
參考文獻:
[1]段新宇.論學院工資檔案管理的信息化[J].赤峰學院學報:自然科學版,2015,31(11):176-177.
[2]洪奎.基于Struts框架的Java Web應用開發(fā)研究[J].通訊世界,2016(13):14.
[3] 孫衛(wèi)琴.精通Struts:基于MVC的Java Web設計與開發(fā)[M].北京:電子工業(yè)出版社,2004.
[4]董文彬.淺論軟件需求分析[J].科技視界,2012(26):236-237.
[5]余曉娜.淺談SQL Server 2005數據庫備份與還原[J].電腦知識與技術,2014,10(20):4654-4656.
[6]王靜.淺談檔案管理系統的需求與功能開發(fā)利用[J].內蒙古石油化工,2014,40(1):82-85.
[7]張婷.網絡式軟件非功能需求分析方法及其應用[J].信息與電腦:理論版,2014(12):160-161.
作者簡介:張瑩瑩(1994.10—),女,漢族,河南濟源人,中級經濟師,本科,研究方向:工資管理系統。
收稿日期:2022-06-22