李方元,裴世保,畢好昌
(1.中國科學技術大學,安徽 合肥 230026;
(2.安徽電子信息職業技術學院,安徽 蚌埠 233030)
基于.NET的高校薪酬管理系統的設計與實現
李方元1,裴世保1,畢好昌2
(1.中國科學技術大學,安徽 合肥 230026;
(2.安徽電子信息職業技術學院,安徽 蚌埠 233030)
本文針對高校薪酬管理的實際需求,探討并設計實現了一個具體的基于.NET框架的網絡薪酬管理系統,重點介紹了系統的需求分析、結構設計、數據庫設計和主要功能的實現。
薪酬管理系統;B/S+C/S;.NET技術
高校薪酬管理是一項重要而繁雜的日常性工作,政策性強、數據量大、變動頻繁,各薪酬項目的錄入、維護、統計、發放等各環節都需要大量的手工勞動,而且極易出錯。隨著計算機技術的飛速發展,數據庫成為數據處理的公用支撐技術,以數據庫技術為核心的薪酬管理系統的應用,大大減輕了相關業務人員的工作量,提高了薪酬管理效率,顯示出日益重要的支撐作用。
在技術路線上,隨著Internet技術和Web技術的進步,基于B/S架構的MIS系統的開發變得越來越流行,相對于傳統的C/S架構,顯示了巨大的先進性。但在系統的人機交互、界面表現、功能定制、響應速度和安全控制等方面,C/S架構仍然具有B/S架構無法替代的優勢。從實際應用情況來看,只有將主要以數據庫為處理對象的統計、分析、控制作為主體的業務處理技術(C/S技術)與采用Web技術的信息查詢、發布系統(B/S技術)的有機結合,才是管理信息系統網絡化的最佳解決方案。
.NET是微軟推出的支持生成和運行下一代應用程序和XMLWeb Services的內部Windows組件,是一種面向網絡、支持各種用戶終端的開發平臺環境。概括起來,.NET Framework具有跨語言、跨系統平臺、安全、對開放性互聯網標準和協議的支持等優點。.NET框架提供的ADO.NET、ASP.NET等組件,使得開發基于C/S或B/S架構的數據庫應用系統變得更加高效、快捷。
本文通過對高校薪酬管理信息化現狀、未來辦公模式和技術發展趨勢的分析,提出建立并實現一套基于.NET架構的高校薪酬管理系統。從業務層面上看,系統的設計方式使得薪酬數據可以在相關部門間同步流轉,并存儲在同一數據庫平臺,實現了數據的高度共享,對改進薪酬管理模式、提高薪酬管理效率都有很大的促進作用。
開發高校薪酬管理系統應以實際需要為出發點,以應用需求為核心,堅持技術為應用服務、為管理服務的思想,薪酬管理系統的開發應能協助用戶到達以下基本目標:以統一的電子流程來保障薪酬管理工作的順暢進行,實現數據資源的整合與集中管理;建立嚴格的權限管理機制,給不同用戶賦予不同的薪酬數據維護、相關信息查閱、獲取綜合分析報表的權限;建立良好的安全與備份、恢復機制,保障系統及數據資料的可靠運行。
1.功能需求
主要包括:教職工個人的基本信息管理和維護,以便于業務人員對薪酬級別、標準等進行調整變動;提供帳套設置、標準維護、月度發放等常規功能;對很多高校設立的崗位津貼進行單獨的管理和發放;各種臨時性、一次性收入的管理(如課時津貼、項目獎勵等);支出維護、工資校核、計稅、銀行帳號維護等財務管理功能;各類薪酬報表的進行統計、打印;對薪酬業務人員和教職工個人提供不同的查詢功能和查詢方式;根據用戶的分類,實現不同的權限和角色管理;數據備份、數據恢復、數據優化、數據清空等各種系統維護功能。
規劃中的高校薪酬管理系統要實現的主要功能如圖1所示。

2.性能需求
主要包括:操作界面友好,能夠快速、方便地進行各種數據維護操作,最大限度地方便用戶的使用;具備高度的數據存儲安全性和訪問控制安全性;具備良好的開放性和可伸縮性,必須考慮到將來的應用,能夠根據用戶需求進行結構和功能上的調整;隨著網絡應用的不斷普及,系統用戶數量將會逐漸增長,應該保證在不影響用戶使用的情況下動態擴充系統容量,包括硬件的可擴展性和軟件的可擴展性。
根據用戶對象及其功能需求,將系統從邏輯上分為兩部分,分別進行設計。一部分面向人事部門和財務部門的業務人員,此部分功能對應的用戶數量較少,但需要維護的數據量卻很大,對系統的響應速度、交互性和靈活性都有較高的要求,該部分采用三層C/S結構實現;另一部分面向校內教職工的網上查詢需求,此部分功能對應的用戶數量眾多,但涉及的數據量較少,主要是對信息的查詢、收集等,在校內任意一臺安裝Browser瀏覽器的計算機上都可登錄本系統,故采用B/S結構來實現。
總體上,將系統分為三層結構,前端是用戶層,為客戶專用程序(C/S)或瀏覽器(B/S);中間是業務層,由應用程序服務器和Web應用服務器實現;后端是數據層,由數據庫服務器進行數據管理。
系統的總體結構模型如圖2所示。

1.數據表的建立
在高校薪酬管理系統中,各類數據表共有20余個,按照業務范圍和性質分為人事數據表、財務數據表和其他必要的數據表,包括教職工基本信息表、年度考核信息表、基本工資帳套項目信息表、收入稅率表、臨時收入信息表、銀行帳號信息表、用戶信息表、單位代碼信息表等。限于篇幅所限,下面僅例舉基本工資帳套項目數據表的結構和用途。
2.數據庫的優化
為了使數據庫易于使用、維護,方便進行結構擴展,提高數據檢索和更新的效率,在初步設計的基礎上,對數據庫進行進一步的優化處理。在設計時主要采用了以下幾種方法:
(1)創建索引。索引是對數據庫表中一個或多個列的值進行排序的結構,利用索引可以快速地訪問數據庫中的信息。

表 基本工資帳套項目信息表
(2)使用事務。事務包含了一組完成同一項任務的數據庫操作命令,所有的命令作為一個整體一起向系統提交或撤消操作請求,即要么都執行,要么都不執行。在系統較為復雜的業務處理過程中引入事務機制,實現對整個過程的共同提交或回滾,極大地保證了數據的完整性和一致性。
(3)建立關聯。數據庫系統依賴于在兩個數據表中找到的匹配值來建立關聯,進行匹配的值基本上都是主鍵和外鍵。通過建立關聯,可以提高系統設計和實現的靈活性,同時還能保證數據庫的一致性和完整性。
(4)適度冗余。在數據庫設計中,規范化的設計思想一般是盡量減少數據冗余來節省系統資源,提高系統效率。但如果數據庫的規范化程度過高,在一個查詢的應用中要經常涉及兩個或多個數據表的屬性,就必須頻繁地進行聯接運算,以致影響系統的運行速度。另外,適度的冗余也便于系統的開發和維護。因此,在保證數據完整性和一致性的前提下,我們在數據庫的設計中,對表、記錄、屬性、值等都采取了適度的冗余。
1.系統的開發環境
系統開發環境為:采用Microsoft Visual Studio.NET 2008作為系統的集成開發工具;采用C#、JavaScript、HTML作為系統開發語言;采用Internet Explorer 6.0作為B/S客戶端瀏覽器;采用IIS5.0+ASP.NET作為B/S部分的Web服務器;采用Windows 2003 Server作為服務器運行平臺;采用Microsoft SQL Server 2005作為數據庫服務器。
2.系統實現的技術路線
(1)Microsoft SQL Server 2005存儲管理系統數據
SQL Server提供了豐富的編程接口,并且和Windows操作緊密結合。.NET的數據訪問技術專門針對SQL Server作了擴展,可以實現更高的數據存取效率。本系統的數據主要指薪酬信息數據、用戶信息數據和系統維護數據。其中用戶信息數據、系統維護數據可以在SQL Server 2005中直接編輯或從外部數據庫導入。薪酬信息數據則需要通過用戶登錄系統后,按照相關的業務需求和規則進行定義、維護。
(2)C#和JavaScript實現客戶端邏輯
本系統采用C/S和B/S混合模式的體系結構,其中,C/S部分使用C#語言開發專門的客戶端程序,供人事部門和財務部門的業務人員維護薪酬數據,B/S部分使用Internet瀏覽器作為客戶界面,以便于教職工登錄網頁,查詢個人薪酬信息。同時利用JavaScript與HTML編寫客戶端網頁代碼,實現部分客戶端的應用邏輯,客戶端腳本就在用戶的本地執行,不用提交到服務器,也不需要刷新頁面,一方面可以提高執行速度,提高系統使用的便利性,另一方面可以節省網絡帶寬,減輕服務器的壓力。
(3)ADO.NET組件技術實現與數據庫的交互
系統采用ADO.NET組件技術實現與SQLServer數據庫的交互:首先使用ADO.NET的Connection對象建立與數據庫的連接,然后使用Command對象創建操作命令,使用DataAdapter對象從數據庫獲取數據,并保存在DataSet對象中。其中每個DataSet對象可以包含多個DataTable對象的實例,表示對數據庫中相應表集合的存儲。用戶可以通過斷開連接的方式對表數據進行編輯,待所有操作完成后再一起寫回數據庫實現更新。在某些簡單查詢界面,使用DataReader對象與數據庫建立快速連接的數據訪問方式。
(4)ASP.NET技術創建動態網頁
本系統B/S部分的主要開發技術為ASP.NET,它在系統開發中起著粘合劑的作用,將客戶端組件、客戶端腳本語言、服務器端組件、服務器腳本語言完美結合在一起。利用ASP.NET提供的豐富的控件可以很方便的創建各種動態網頁。ASP.NET采用事件驅動、前臺HTML代碼和后臺代碼分離的機制,使得系統邏輯變得十分清晰,開發的效率也大大提高,系統地維護也更加容易。
3.系統主要應用功能實現
系統有兩種類型的客戶界面,一種是面向業務人員的C/S專用程序界面,一種是面向校內普通教職工的B/S瀏覽器查詢頁面。前者使用.NET平臺的Windows Form技術和C#語言開發實現,后者則在ASP.NET平臺上使用C#語言實現后臺代碼,結合JavaScript、HTML代碼生成動態網頁。由于用戶需求和數據訪問量的差異,這兩種界面的側重點和實現技術有很大不同。C/S用戶的數據訪問量和維護量較大,界面上使用了大量的DataGrid-View和ComboBox等各種控件,以實現數據的表格式修改和各種條件組合的定制功能,滿足系統的交互性、響應速度及易用性需求;而B/S用戶的數據訪問量及維護量均較小,界面強調信息的表現形式,由ASP.NET服務程序調用后臺的C#代碼,并結合JavaScript和HTML語言,動態生成查詢頁面返回給瀏覽器客戶端,只提供少量的編輯與自定義功能。下面為人事檔案信息維護和教職工查詢模塊的部分代碼示例。
(1)人事檔案信息維護
在客戶端與數據庫服務器的交互上,利用ADO.NET對象來實現。本模塊中主要的數據訪問流程如下:

(2)教職工薪酬信息查詢
薪酬查詢頁面實現的主要思路是:使用Web控件和HTML標記語言進行頁面的布局,在與后臺數據庫的交互中,使用ADO.NET對象創建連接,實現查詢請求,實現頁面查詢的數據訪問技術與C/S模式部分類似。

網絡辦公、移動辦公是未來的辦公模式,成熟的網絡技術和數據庫技術為這種辦公模式提供了關鍵支持,通過網絡進行業務功能和數據資源的整合已經成為管理信息系統的發展趨勢。通過建立基于網絡的高校薪酬管理系統,使得薪酬數據可以在相關部門間同步流轉,并存儲在同一數據庫平臺,實現了數據的高度共享,對改進薪酬管理模式、提高薪酬管理效率都有極大的促進作用。
[1]冀慶斌.事業單位薪酬發放管理系統探討[J].科技情報開發與經濟,2006(16):215-216.
[2]葛海燕.科發(網絡)新工資系統在高校中的應用[J].會計電算化,2005(16):56-57.
[3]李建忠譯.Microsoft.NET框架程序設計(修訂版)[M].北京:清華大學出版社,2003.
[4]郭玉峰,師成林.ASP.NET經典案例設計與實現[M].北京:電子工業出版社,2007.
[5]胡江奕.基于SQL SERVER的數據庫應用系統性能的優化[J].計算機工程與應用,2001(2):95-97.
[6]蔣天超,徐嗣鑫.基于三層C/S體系結構的數據庫應用與實現[J].微機發展,2002(12):25-27.
[7]http://developer.51cto.com/(開發頻道--51cto.com)
TP315
B
1673-8454(2012)05-0033-04
(編輯:楊馥紅)