吳玉鳳
一、背景
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,利用計(jì)算機(jī)實(shí)現(xiàn)人事工資的管理勢(shì)在必行。工資管理是一項(xiàng)瑣碎、復(fù)雜而又十分細(xì)致的工作,工資計(jì)算、發(fā)放、核算的工作量很大,不允許出錯(cuò),如果實(shí)行手工操作,每月發(fā)放工資須手工填制大量的表格,這就會(huì)耗費(fèi)工作人員大量的時(shí)間和精力。用計(jì)算機(jī)進(jìn)行工資發(fā)放工作,不僅能夠保證工資核算準(zhǔn)確無誤、快速輸出,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)工資的各種信息進(jìn)行統(tǒng)計(jì),服務(wù)于財(cái)務(wù)部門其他方面的核算和財(cái)務(wù)處理,同時(shí)計(jì)算機(jī)具有手工管理所無法比擬的優(yōu)點(diǎn),例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事工資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理與世界接軌的重要條件。
二、用戶功能的需求分析
1.學(xué)院的工資發(fā)放標(biāo)準(zhǔn)
a.應(yīng)發(fā)工資包括以下幾部分:基本工資、職務(wù)工資、教學(xué)津貼、科研津貼等。
b.代扣代繳包括以下幾個(gè)部分:保險(xiǎn)金、住房公積金、代扣所得稅。
c.其他:職工實(shí)發(fā)工資 = 應(yīng)發(fā)工資 - 代扣代繳 + 其他各項(xiàng)補(bǔ)發(fā)。
2.具體需求
a.提供各項(xiàng)數(shù)據(jù)的錄入、修改、查詢功能。包括部門信息、職工信息、工資的發(fā)放標(biāo)準(zhǔn)以及教師每月課時(shí)登記;自動(dòng)生成每月的應(yīng)發(fā)工資,由操作人員填入各項(xiàng)代扣代繳費(fèi)用后,自動(dòng)生成實(shí)發(fā)工資。
b.要求提供的報(bào)表
基本報(bào)表: 每月工資發(fā)放表、教職工花名冊(cè)、部門各職稱職工人數(shù)統(tǒng)計(jì)表。
綜合報(bào)表:分部門各職稱工資構(gòu)成統(tǒng)計(jì)表。
3.系統(tǒng)維護(hù)
提供簡(jiǎn)單的用戶管理的功能,如增加、刪除用戶,設(shè)置、修改用戶口令。為了兼顧安全性和方便性,在用戶管理上針對(duì)不同的角色,實(shí)現(xiàn)不同的操作權(quán)限。
三、功能劃分
根據(jù)需求分析,將系統(tǒng)劃分為7個(gè)功能模塊,分別為用戶登錄、系統(tǒng)管理、數(shù)據(jù)錄入、數(shù)據(jù)查詢、基本報(bào)表生成、綜合報(bào)表生成、用戶管理。
四、數(shù)據(jù)描述
1.靜態(tài)數(shù)據(jù)
數(shù)據(jù)庫(kù)中表單的個(gè)數(shù)和表單中數(shù)據(jù)屬性的個(gè)數(shù)是靜態(tài)數(shù)據(jù)。
2.動(dòng)態(tài)數(shù)據(jù)
建立數(shù)據(jù)庫(kù)時(shí)輸入的數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢時(shí)輸出的數(shù)據(jù)都屬于動(dòng)態(tài)數(shù)據(jù)。
3.數(shù)據(jù)庫(kù)描述
本系統(tǒng)的數(shù)據(jù)庫(kù)由8個(gè)表組成,分別為部門信息表、職工信息表、職稱信息表、職務(wù)信息表、教學(xué)津貼發(fā)放標(biāo)準(zhǔn)、科研津貼發(fā)放標(biāo)準(zhǔn)、人工資信息表、用戶表。
4.數(shù)據(jù)采集
數(shù)據(jù)來源:數(shù)據(jù)主要來源于職工,即職工是數(shù)據(jù)源,職工的基本信息,職務(wù)信息,職稱信息等作為數(shù)據(jù)源輸入。其他的教學(xué)津貼發(fā)放標(biāo)準(zhǔn)、科研津貼發(fā)放標(biāo)準(zhǔn)、職稱工資標(biāo)準(zhǔn)由學(xué)校統(tǒng)一錄入。
數(shù)據(jù)出路:主要是反饋給各個(gè)院系和學(xué)校領(lǐng)導(dǎo)以及職工個(gè)人等。
五、總體設(shè)計(jì)
本軟件是基于Web的工資管理系統(tǒng),開發(fā)結(jié)構(gòu)為數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器/客戶端的三層結(jié)構(gòu),即數(shù)據(jù)層/邏輯層/表示層,系統(tǒng)在J2EE[1]平臺(tái)上得以實(shí)現(xiàn);考慮到實(shí)際情況,本系統(tǒng)的用戶可能是財(cái)務(wù)管理者,也可能是普通職員,為了兼顧安全性和方便性,在用戶管理上針對(duì)不同的角色,實(shí)現(xiàn)不同的操作權(quán)限。
六、實(shí)現(xiàn)功能
通過努力,本軟件能基本上完成需求中的功能。實(shí)現(xiàn)工資和人事管理的初級(jí)應(yīng)用。
程序中遇到的問題和解決辦法[2]:
1.由于操作員口令直接存放在數(shù)據(jù)庫(kù)中,在系統(tǒng)運(yùn)行時(shí)數(shù)據(jù)庫(kù)文件必須存在,這樣,人們可以通過直接獲取操作員口令,給系統(tǒng)的安全性帶來了比較大的隱患。
解決辦法:對(duì)口令進(jìn)行加密,加密的思路是,規(guī)定口令最長(zhǎng)為10位,逐位取出來后,讓每位字符的ASCII碼值作二進(jìn)制的異或運(yùn)算,然后重新組合來新的口令。用二進(jìn)制異或運(yùn)算作加密算法的好處是,由于同一個(gè)異或運(yùn)算兩次就成了原來的,只需將密文再加一個(gè)密,這樣在編程上就比較容易實(shí)現(xiàn)。在程序編制完成后,可將有關(guān)源程序刪除,編譯成可執(zhí)行文件,這樣,口令就不容易被泄密。
2.由于系統(tǒng)對(duì)數(shù)據(jù)庫(kù)操作比較頻繁,而連接數(shù)據(jù)庫(kù)不僅要開銷一定的通訊和內(nèi)存資源,還必須完成用戶驗(yàn)證、安全上下文配置這類任務(wù),因而往往成為最為耗時(shí)的操作。
解決辦法:使用tomcat的自帶連接池。多個(gè)請(qǐng)求共享一個(gè)連接,減少了連接數(shù)據(jù)庫(kù)的開銷。
3.代碼優(yōu)化方面,jsp[3]代碼中大量的使用scriptlet,使代碼晦澀難懂,增加了代碼的維護(hù)困難。
解決辦法:使用jstl標(biāo)準(zhǔn)的標(biāo)簽。
4.報(bào)表輸出時(shí),原來采用的是直接在網(wǎng)頁(yè)中畫表格。這樣做無法實(shí)現(xiàn)用戶的手動(dòng)定制。比如設(shè)置表格大小、字體等。
解決辦法:使用微軟自帶的web控件。這個(gè)控件在網(wǎng)頁(yè)中顯示的樣式跟excel類似??梢钥刂骑@示大小,排序等功能,最主要的是它能將數(shù)據(jù)導(dǎo)入到excel,使用excel進(jìn)行編輯和打印。
參考文獻(xiàn)
[1] 飛思科技產(chǎn)品研發(fā)中心.J2EE應(yīng)用開發(fā)(WebLogic+Jbuilder)[M].北京:電子工業(yè)出版社.2003.
[2] James W.Cooper.Java Design Patterns[M].北京:中國(guó)電力出版社.2003.
[3] David Flanagan.Javascript權(quán)威指南[M].北京:機(jī)械工業(yè)出版社.2003.