李方元,裴世保,畢好昌
(1.中國科學(xué)技術(shù)大學(xué),安徽 合肥 230026;
(2.安徽電子信息職業(yè)技術(shù)學(xué)院,安徽 蚌埠 233030)
基于.NET的高校薪酬管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
李方元1,裴世保1,畢好昌2
(1.中國科學(xué)技術(shù)大學(xué),安徽 合肥 230026;
(2.安徽電子信息職業(yè)技術(shù)學(xué)院,安徽 蚌埠 233030)
本文針對(duì)高校薪酬管理的實(shí)際需求,探討并設(shè)計(jì)實(shí)現(xiàn)了一個(gè)具體的基于.NET框架的網(wǎng)絡(luò)薪酬管理系統(tǒng),重點(diǎn)介紹了系統(tǒng)的需求分析、結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和主要功能的實(shí)現(xiàn)。
薪酬管理系統(tǒng);B/S+C/S;.NET技術(shù)
高校薪酬管理是一項(xiàng)重要而繁雜的日常性工作,政策性強(qiáng)、數(shù)據(jù)量大、變動(dòng)頻繁,各薪酬項(xiàng)目的錄入、維護(hù)、統(tǒng)計(jì)、發(fā)放等各環(huán)節(jié)都需要大量的手工勞動(dòng),而且極易出錯(cuò)。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)據(jù)庫成為數(shù)據(jù)處理的公用支撐技術(shù),以數(shù)據(jù)庫技術(shù)為核心的薪酬管理系統(tǒng)的應(yīng)用,大大減輕了相關(guān)業(yè)務(wù)人員的工作量,提高了薪酬管理效率,顯示出日益重要的支撐作用。
在技術(shù)路線上,隨著Internet技術(shù)和Web技術(shù)的進(jìn)步,基于B/S架構(gòu)的MIS系統(tǒng)的開發(fā)變得越來越流行,相對(duì)于傳統(tǒng)的C/S架構(gòu),顯示了巨大的先進(jìn)性。但在系統(tǒng)的人機(jī)交互、界面表現(xiàn)、功能定制、響應(yīng)速度和安全控制等方面,C/S架構(gòu)仍然具有B/S架構(gòu)無法替代的優(yōu)勢(shì)。從實(shí)際應(yīng)用情況來看,只有將主要以數(shù)據(jù)庫為處理對(duì)象的統(tǒng)計(jì)、分析、控制作為主體的業(yè)務(wù)處理技術(shù)(C/S技術(shù))與采用Web技術(shù)的信息查詢、發(fā)布系統(tǒng)(B/S技術(shù))的有機(jī)結(jié)合,才是管理信息系統(tǒng)網(wǎng)絡(luò)化的最佳解決方案。
.NET是微軟推出的支持生成和運(yùn)行下一代應(yīng)用程序和XMLWeb Services的內(nèi)部Windows組件,是一種面向網(wǎng)絡(luò)、支持各種用戶終端的開發(fā)平臺(tái)環(huán)境。概括起來,.NET Framework具有跨語言、跨系統(tǒng)平臺(tái)、安全、對(duì)開放性互聯(lián)網(wǎng)標(biāo)準(zhǔn)和協(xié)議的支持等優(yōu)點(diǎn)。.NET框架提供的ADO.NET、ASP.NET等組件,使得開發(fā)基于C/S或B/S架構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)變得更加高效、快捷。
本文通過對(duì)高校薪酬管理信息化現(xiàn)狀、未來辦公模式和技術(shù)發(fā)展趨勢(shì)的分析,提出建立并實(shí)現(xiàn)一套基于.NET架構(gòu)的高校薪酬管理系統(tǒng)。從業(yè)務(wù)層面上看,系統(tǒng)的設(shè)計(jì)方式使得薪酬數(shù)據(jù)可以在相關(guān)部門間同步流轉(zhuǎn),并存儲(chǔ)在同一數(shù)據(jù)庫平臺(tái),實(shí)現(xiàn)了數(shù)據(jù)的高度共享,對(duì)改進(jìn)薪酬管理模式、提高薪酬管理效率都有很大的促進(jìn)作用。
開發(fā)高校薪酬管理系統(tǒng)應(yīng)以實(shí)際需要為出發(fā)點(diǎn),以應(yīng)用需求為核心,堅(jiān)持技術(shù)為應(yīng)用服務(wù)、為管理服務(wù)的思想,薪酬管理系統(tǒng)的開發(fā)應(yīng)能協(xié)助用戶到達(dá)以下基本目標(biāo):以統(tǒng)一的電子流程來保障薪酬管理工作的順暢進(jìn)行,實(shí)現(xiàn)數(shù)據(jù)資源的整合與集中管理;建立嚴(yán)格的權(quán)限管理機(jī)制,給不同用戶賦予不同的薪酬數(shù)據(jù)維護(hù)、相關(guān)信息查閱、獲取綜合分析報(bào)表的權(quán)限;建立良好的安全與備份、恢復(fù)機(jī)制,保障系統(tǒng)及數(shù)據(jù)資料的可靠運(yùn)行。
1.功能需求
主要包括:教職工個(gè)人的基本信息管理和維護(hù),以便于業(yè)務(wù)人員對(duì)薪酬級(jí)別、標(biāo)準(zhǔn)等進(jìn)行調(diào)整變動(dòng);提供帳套設(shè)置、標(biāo)準(zhǔn)維護(hù)、月度發(fā)放等常規(guī)功能;對(duì)很多高校設(shè)立的崗位津貼進(jìn)行單獨(dú)的管理和發(fā)放;各種臨時(shí)性、一次性收入的管理(如課時(shí)津貼、項(xiàng)目獎(jiǎng)勵(lì)等);支出維護(hù)、工資校核、計(jì)稅、銀行帳號(hào)維護(hù)等財(cái)務(wù)管理功能;各類薪酬報(bào)表的進(jìn)行統(tǒng)計(jì)、打??;對(duì)薪酬業(yè)務(wù)人員和教職工個(gè)人提供不同的查詢功能和查詢方式;根據(jù)用戶的分類,實(shí)現(xiàn)不同的權(quán)限和角色管理;數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)、數(shù)據(jù)優(yōu)化、數(shù)據(jù)清空等各種系統(tǒng)維護(hù)功能。
規(guī)劃中的高校薪酬管理系統(tǒng)要實(shí)現(xiàn)的主要功能如圖1所示。
2.性能需求
主要包括:操作界面友好,能夠快速、方便地進(jìn)行各種數(shù)據(jù)維護(hù)操作,最大限度地方便用戶的使用;具備高度的數(shù)據(jù)存儲(chǔ)安全性和訪問控制安全性;具備良好的開放性和可伸縮性,必須考慮到將來的應(yīng)用,能夠根據(jù)用戶需求進(jìn)行結(jié)構(gòu)和功能上的調(diào)整;隨著網(wǎng)絡(luò)應(yīng)用的不斷普及,系統(tǒng)用戶數(shù)量將會(huì)逐漸增長,應(yīng)該保證在不影響用戶使用的情況下動(dòng)態(tài)擴(kuò)充系統(tǒng)容量,包括硬件的可擴(kuò)展性和軟件的可擴(kuò)展性。
根據(jù)用戶對(duì)象及其功能需求,將系統(tǒng)從邏輯上分為兩部分,分別進(jìn)行設(shè)計(jì)。一部分面向人事部門和財(cái)務(wù)部門的業(yè)務(wù)人員,此部分功能對(duì)應(yīng)的用戶數(shù)量較少,但需要維護(hù)的數(shù)據(jù)量卻很大,對(duì)系統(tǒng)的響應(yīng)速度、交互性和靈活性都有較高的要求,該部分采用三層C/S結(jié)構(gòu)實(shí)現(xiàn);另一部分面向校內(nèi)教職工的網(wǎng)上查詢需求,此部分功能對(duì)應(yīng)的用戶數(shù)量眾多,但涉及的數(shù)據(jù)量較少,主要是對(duì)信息的查詢、收集等,在校內(nèi)任意一臺(tái)安裝Browser瀏覽器的計(jì)算機(jī)上都可登錄本系統(tǒng),故采用B/S結(jié)構(gòu)來實(shí)現(xiàn)。
總體上,將系統(tǒng)分為三層結(jié)構(gòu),前端是用戶層,為客戶專用程序(C/S)或?yàn)g覽器(B/S);中間是業(yè)務(wù)層,由應(yīng)用程序服務(wù)器和Web應(yīng)用服務(wù)器實(shí)現(xiàn);后端是數(shù)據(jù)層,由數(shù)據(jù)庫服務(wù)器進(jìn)行數(shù)據(jù)管理。
系統(tǒng)的總體結(jié)構(gòu)模型如圖2所示。
1.數(shù)據(jù)表的建立
在高校薪酬管理系統(tǒng)中,各類數(shù)據(jù)表共有20余個(gè),按照業(yè)務(wù)范圍和性質(zhì)分為人事數(shù)據(jù)表、財(cái)務(wù)數(shù)據(jù)表和其他必要的數(shù)據(jù)表,包括教職工基本信息表、年度考核信息表、基本工資帳套項(xiàng)目信息表、收入稅率表、臨時(shí)收入信息表、銀行帳號(hào)信息表、用戶信息表、單位代碼信息表等。限于篇幅所限,下面僅例舉基本工資帳套項(xiàng)目數(shù)據(jù)表的結(jié)構(gòu)和用途。
2.數(shù)據(jù)庫的優(yōu)化
為了使數(shù)據(jù)庫易于使用、維護(hù),方便進(jìn)行結(jié)構(gòu)擴(kuò)展,提高數(shù)據(jù)檢索和更新的效率,在初步設(shè)計(jì)的基礎(chǔ)上,對(duì)數(shù)據(jù)庫進(jìn)行進(jìn)一步的優(yōu)化處理。在設(shè)計(jì)時(shí)主要采用了以下幾種方法:
(1)創(chuàng)建索引。索引是對(duì)數(shù)據(jù)庫表中一個(gè)或多個(gè)列的值進(jìn)行排序的結(jié)構(gòu),利用索引可以快速地訪問數(shù)據(jù)庫中的信息。
表 基本工資帳套項(xiàng)目信息表
(2)使用事務(wù)。事務(wù)包含了一組完成同一項(xiàng)任務(wù)的數(shù)據(jù)庫操作命令,所有的命令作為一個(gè)整體一起向系統(tǒng)提交或撤消操作請(qǐng)求,即要么都執(zhí)行,要么都不執(zhí)行。在系統(tǒng)較為復(fù)雜的業(yè)務(wù)處理過程中引入事務(wù)機(jī)制,實(shí)現(xiàn)對(duì)整個(gè)過程的共同提交或回滾,極大地保證了數(shù)據(jù)的完整性和一致性。
(3)建立關(guān)聯(lián)。數(shù)據(jù)庫系統(tǒng)依賴于在兩個(gè)數(shù)據(jù)表中找到的匹配值來建立關(guān)聯(lián),進(jìn)行匹配的值基本上都是主鍵和外鍵。通過建立關(guān)聯(lián),可以提高系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的靈活性,同時(shí)還能保證數(shù)據(jù)庫的一致性和完整性。
(4)適度冗余。在數(shù)據(jù)庫設(shè)計(jì)中,規(guī)范化的設(shè)計(jì)思想一般是盡量減少數(shù)據(jù)冗余來節(jié)省系統(tǒng)資源,提高系統(tǒng)效率。但如果數(shù)據(jù)庫的規(guī)范化程度過高,在一個(gè)查詢的應(yīng)用中要經(jīng)常涉及兩個(gè)或多個(gè)數(shù)據(jù)表的屬性,就必須頻繁地進(jìn)行聯(lián)接運(yùn)算,以致影響系統(tǒng)的運(yùn)行速度。另外,適度的冗余也便于系統(tǒng)的開發(fā)和維護(hù)。因此,在保證數(shù)據(jù)完整性和一致性的前提下,我們?cè)跀?shù)據(jù)庫的設(shè)計(jì)中,對(duì)表、記錄、屬性、值等都采取了適度的冗余。
1.系統(tǒng)的開發(fā)環(huán)境
系統(tǒng)開發(fā)環(huán)境為:采用Microsoft Visual Studio.NET 2008作為系統(tǒng)的集成開發(fā)工具;采用C#、JavaScript、HTML作為系統(tǒng)開發(fā)語言;采用Internet Explorer 6.0作為B/S客戶端瀏覽器;采用IIS5.0+ASP.NET作為B/S部分的Web服務(wù)器;采用Windows 2003 Server作為服務(wù)器運(yùn)行平臺(tái);采用Microsoft SQL Server 2005作為數(shù)據(jù)庫服務(wù)器。
2.系統(tǒng)實(shí)現(xiàn)的技術(shù)路線
(1)Microsoft SQL Server 2005存儲(chǔ)管理系統(tǒng)數(shù)據(jù)
SQL Server提供了豐富的編程接口,并且和Windows操作緊密結(jié)合。.NET的數(shù)據(jù)訪問技術(shù)專門針對(duì)SQL Server作了擴(kuò)展,可以實(shí)現(xiàn)更高的數(shù)據(jù)存取效率。本系統(tǒng)的數(shù)據(jù)主要指薪酬信息數(shù)據(jù)、用戶信息數(shù)據(jù)和系統(tǒng)維護(hù)數(shù)據(jù)。其中用戶信息數(shù)據(jù)、系統(tǒng)維護(hù)數(shù)據(jù)可以在SQL Server 2005中直接編輯或從外部數(shù)據(jù)庫導(dǎo)入。薪酬信息數(shù)據(jù)則需要通過用戶登錄系統(tǒng)后,按照相關(guān)的業(yè)務(wù)需求和規(guī)則進(jìn)行定義、維護(hù)。
(2)C#和JavaScript實(shí)現(xiàn)客戶端邏輯
本系統(tǒng)采用C/S和B/S混合模式的體系結(jié)構(gòu),其中,C/S部分使用C#語言開發(fā)專門的客戶端程序,供人事部門和財(cái)務(wù)部門的業(yè)務(wù)人員維護(hù)薪酬數(shù)據(jù),B/S部分使用Internet瀏覽器作為客戶界面,以便于教職工登錄網(wǎng)頁,查詢個(gè)人薪酬信息。同時(shí)利用JavaScript與HTML編寫客戶端網(wǎng)頁代碼,實(shí)現(xiàn)部分客戶端的應(yīng)用邏輯,客戶端腳本就在用戶的本地執(zhí)行,不用提交到服務(wù)器,也不需要刷新頁面,一方面可以提高執(zhí)行速度,提高系統(tǒng)使用的便利性,另一方面可以節(jié)省網(wǎng)絡(luò)帶寬,減輕服務(wù)器的壓力。
(3)ADO.NET組件技術(shù)實(shí)現(xiàn)與數(shù)據(jù)庫的交互
系統(tǒng)采用ADO.NET組件技術(shù)實(shí)現(xiàn)與SQLServer數(shù)據(jù)庫的交互:首先使用ADO.NET的Connection對(duì)象建立與數(shù)據(jù)庫的連接,然后使用Command對(duì)象創(chuàng)建操作命令,使用DataAdapter對(duì)象從數(shù)據(jù)庫獲取數(shù)據(jù),并保存在DataSet對(duì)象中。其中每個(gè)DataSet對(duì)象可以包含多個(gè)DataTable對(duì)象的實(shí)例,表示對(duì)數(shù)據(jù)庫中相應(yīng)表集合的存儲(chǔ)。用戶可以通過斷開連接的方式對(duì)表數(shù)據(jù)進(jìn)行編輯,待所有操作完成后再一起寫回?cái)?shù)據(jù)庫實(shí)現(xiàn)更新。在某些簡單查詢界面,使用DataReader對(duì)象與數(shù)據(jù)庫建立快速連接的數(shù)據(jù)訪問方式。
(4)ASP.NET技術(shù)創(chuàng)建動(dòng)態(tài)網(wǎng)頁
本系統(tǒng)B/S部分的主要開發(fā)技術(shù)為ASP.NET,它在系統(tǒng)開發(fā)中起著粘合劑的作用,將客戶端組件、客戶端腳本語言、服務(wù)器端組件、服務(wù)器腳本語言完美結(jié)合在一起。利用ASP.NET提供的豐富的控件可以很方便的創(chuàng)建各種動(dòng)態(tài)網(wǎng)頁。ASP.NET采用事件驅(qū)動(dòng)、前臺(tái)HTML代碼和后臺(tái)代碼分離的機(jī)制,使得系統(tǒng)邏輯變得十分清晰,開發(fā)的效率也大大提高,系統(tǒng)地維護(hù)也更加容易。
3.系統(tǒng)主要應(yīng)用功能實(shí)現(xiàn)
系統(tǒng)有兩種類型的客戶界面,一種是面向業(yè)務(wù)人員的C/S專用程序界面,一種是面向校內(nèi)普通教職工的B/S瀏覽器查詢頁面。前者使用.NET平臺(tái)的Windows Form技術(shù)和C#語言開發(fā)實(shí)現(xiàn),后者則在ASP.NET平臺(tái)上使用C#語言實(shí)現(xiàn)后臺(tái)代碼,結(jié)合JavaScript、HTML代碼生成動(dòng)態(tài)網(wǎng)頁。由于用戶需求和數(shù)據(jù)訪問量的差異,這兩種界面的側(cè)重點(diǎn)和實(shí)現(xiàn)技術(shù)有很大不同。C/S用戶的數(shù)據(jù)訪問量和維護(hù)量較大,界面上使用了大量的DataGrid-View和ComboBox等各種控件,以實(shí)現(xiàn)數(shù)據(jù)的表格式修改和各種條件組合的定制功能,滿足系統(tǒng)的交互性、響應(yīng)速度及易用性需求;而B/S用戶的數(shù)據(jù)訪問量及維護(hù)量均較小,界面強(qiáng)調(diào)信息的表現(xiàn)形式,由ASP.NET服務(wù)程序調(diào)用后臺(tái)的C#代碼,并結(jié)合JavaScript和HTML語言,動(dòng)態(tài)生成查詢頁面返回給瀏覽器客戶端,只提供少量的編輯與自定義功能。下面為人事檔案信息維護(hù)和教職工查詢模塊的部分代碼示例。
(1)人事檔案信息維護(hù)
在客戶端與數(shù)據(jù)庫服務(wù)器的交互上,利用ADO.NET對(duì)象來實(shí)現(xiàn)。本模塊中主要的數(shù)據(jù)訪問流程如下:
(2)教職工薪酬信息查詢
薪酬查詢頁面實(shí)現(xiàn)的主要思路是:使用Web控件和HTML標(biāo)記語言進(jìn)行頁面的布局,在與后臺(tái)數(shù)據(jù)庫的交互中,使用ADO.NET對(duì)象創(chuàng)建連接,實(shí)現(xiàn)查詢請(qǐng)求,實(shí)現(xiàn)頁面查詢的數(shù)據(jù)訪問技術(shù)與C/S模式部分類似。
網(wǎng)絡(luò)辦公、移動(dòng)辦公是未來的辦公模式,成熟的網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)為這種辦公模式提供了關(guān)鍵支持,通過網(wǎng)絡(luò)進(jìn)行業(yè)務(wù)功能和數(shù)據(jù)資源的整合已經(jīng)成為管理信息系統(tǒng)的發(fā)展趨勢(shì)。通過建立基于網(wǎng)絡(luò)的高校薪酬管理系統(tǒng),使得薪酬數(shù)據(jù)可以在相關(guān)部門間同步流轉(zhuǎn),并存儲(chǔ)在同一數(shù)據(jù)庫平臺(tái),實(shí)現(xiàn)了數(shù)據(jù)的高度共享,對(duì)改進(jìn)薪酬管理模式、提高薪酬管理效率都有極大的促進(jìn)作用。
[1]冀慶斌.事業(yè)單位薪酬發(fā)放管理系統(tǒng)探討[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2006(16):215-216.
[2]葛海燕.科發(fā)(網(wǎng)絡(luò))新工資系統(tǒng)在高校中的應(yīng)用[J].會(huì)計(jì)電算化,2005(16):56-57.
[3]李建忠譯.Microsoft.NET框架程序設(shè)計(jì)(修訂版)[M].北京:清華大學(xué)出版社,2003.
[4]郭玉峰,師成林.ASP.NET經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2007.
[5]胡江奕.基于SQL SERVER的數(shù)據(jù)庫應(yīng)用系統(tǒng)性能的優(yōu)化[J].計(jì)算機(jī)工程與應(yīng)用,2001(2):95-97.
[6]蔣天超,徐嗣鑫.基于三層C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用與實(shí)現(xiàn)[J].微機(jī)發(fā)展,2002(12):25-27.
[7]http://developer.51cto.com/(開發(fā)頻道--51cto.com)
TP315
B
1673-8454(2012)05-0033-04
(編輯:楊馥紅)