吳榮珍



摘 要:為了改善學院傳統通過手工進行人事數據處理,導致數據高度冗余與不一致,以及工作效率低的現狀,前臺使用具有獨立性與可移植性的JAVA語言進行開發,后臺使用安全可靠的SQL Server 2008進行數據庫設計,構建基于C/S架構的人事管理系統,以實現人事數據實時處理、不同數據源數據轉換,以及事務提醒等功能。測試結果表明,使用人事管理系統進行數據管理,可提高數據共享度,減少冗余與出錯率,保證數據的一致性和實時性,提高工作效率。
關鍵詞:人事管理系統;JAVA;SQL Server 2008;C/S架構
DOI:10. 11907/rjdk. 181661
中圖分類號:TP319文獻標識碼:A文章編號:1672-7800(2019)001-0116-03
Abstract: In order to improve the actuality that deal with the data by manual operation which causes data redundancy, disaccord and low work efficiency, JAVA with independence and portability is employed to develop the system, and the secure and reliable SQL Server 2008 is used to design database, build a personnel management system based on C/S architecture and realize the function so that the personnel data is processed in real time and the data can be converted from different data sources and so on. It is proved by the test that by using the personnel management system to manage the data can increase data sharing and reduce redundancy and error rates, ensure consistency and real-timeliness of data and improve work efficiency.
0 引言
隨著學院規模的擴大,相關的人事數據變得龐大而復雜[1]。如何加強部門間的聯系,使各項數據得到及時更新與有效共享,同時提髙工作效率是人事管理工作的重點[2]。
項目以筆者所在髙校人事管理的實際需求為研究背景,目前學院的部分人事信息管理工作還處于手工管理階段,數據管理、事務處理等業務模塊仍采用人工為主、輔以部分辦公軟件方式進行,存在效率低、安全性差、數據冗余嚴重,數據檢索、更新與維護困難等問題[3]。因此,本文嘗試搭建一個適合學院實際情況的人事管理系統,以實現人事管理工作的信息化[4],同時簡化各種繁雜的數據處理工作,改善工作質量,提高工作效率。
目前在MIS設計中,主流體系結構有單用戶、B/S、C/S、P/P等[5]。如今基于大數據、云計算的數據處理技術已趨于流行[6],JAVA、.NET、C#、PHP、python等語言在人事管理系統開發中已得到廣泛應用[7]。目前主流的人事管理系統有SAP、HR、北森[8]等,這些軟件各有優勢,但在具體應用時,由于各單位在工作中的差異,很難找到一個完全適合本單位的系統進行各項事務管理。因此,本文在研究各技術特性的基礎上,結合本單位實際,使用JAVA+SQL模式進行高職人事管理系統開發。
系統實現的主要功能有:①數據保存在同一數據庫中,通過完整性設計,減少數據冗余與誤操作[9],保證數據一致性;②人事管理處、教務處、科研處、學生處及各二級學院等部門及教師本人均可根據權限查詢所需數據,實現多用戶環境下的數據并發訪問,保證數據的一致性和安全性[10]。
1 系統設計
1.1 系統功能結構設計
根據需求分析,高職人事管理系統的主要功能模塊有:系統管理、教職員工信息管理、人才招聘管理、離退休職工信息管理等模塊。
系統管理模塊包括:①管理員信息插入、修改、刪除及查詢;②系統信息安全管理,包括用戶權限管理、數據安全保障。
教職員工信息管理模塊包括:①教職工基本信息錄入、篩選、查詢、統計、排序以及在崗人員信息維護;②對不同時間段進出人員進行統計;③轉正定級到期提示;④根據要求將查詢結果導入Excel工作表中,實現SQL Server與Office軟件的良好對接,解決用戶軟件使用困難的問題,提高數據處理效率。
人才招聘模塊包括:①人才招聘計劃編制、審核、審批與發布;②新進人才崗位安排等。其中,人才招聘計劃通過因特網進行發布,以方便外網用戶查詢。
離退休職工信息管理模塊包括:①離職、退休手續辦理;②薪酬與福利發放;③信息管理等。
高職人事管理系統主要功能模塊如圖1所示。
1.2 系統體系結構設計
本系統建立在學院局域網基礎上,主要用戶群體為各二級學院(部門)的辦公室主任與人事處相關人員,對于數據信息的保密性要求較高[11]。因此,本系統選用響應速度快且安全性較高的C/S(客戶機/服務器)架構。其中,DBMS部署在服務器端,存放人事管理所有數據,可實現數據共享、并發控制及系統維護等功能[12];客戶端部署各事務,所有文件的上傳、瀏覽、下載等操作均在客戶端進行,事務在客戶機上處理完成后提交到服務器,從而有效減輕了服務器運行負荷,提高了數據管理透明度[13],解決了“信息不對稱”問題[14]。同時各部門用戶根據權限登入系統,所錄入的數據存儲在服務器端,以實現信息共享,保證數據的一致性與安全性。系統體系結構如圖2所示。
1.3 數據庫設計
本系統表結構包括:管理員信息表、在職員工基本信息表、部門表、進修培訓情況表、雙肩挑人員基本信息表、行政人員信息表、進修培訓情況表、獲獎情況表、教職員工年齡分布情況表、學歷學位情況表、職稱(務)聘任表、離退休教職工信息表、福利分配表、招聘信息表、崗位信息表、崗位分配表等16張表。各表結構之間關系如圖3所示。
1.4 系統開發環境
本項目前臺采用靜態、分布式的面向對象編程語言Java 8進行開發,該語言具有多線程、可移植性、動態性及安全性等特點,其選擇性地繼承了C++語言的各種功能,可實現復雜程序的個性化編寫[15]。后臺數據庫使用SQL Server2008進行設計,其能支持結構化與非結構化數據,可保證關鍵事務處理的可靠性及擴展性,從而減少了系統開發時間,節約了成本,并提高了數據安全性[16]。
2 主要實現技術
2.1 OLEDB技術應用
OLEDB是微軟提供的連接不同數據源的低級應用程序接口,是一個基于COM的數據存儲對象,可支持不同類型數據源,包括結構化查詢數據(如SQL Server等)與非結構化查詢數據(如Office環境下的數據),同時還提供離線狀態下的數據存取[17]。目前學院人事管理由于長期由人工進行數據處理,積累了大量紙質材料與電子文件,其中電子文件主要有Excel表格、Word文檔、PDF文件、文本文件等。為了使人事管理各項工作平穩推進,必須將原始數據導入到系統同一數據庫中,以方便數據的集中管理,保證數據一致性,并減少冗余,提高數據查詢速度。
采用OLEDB技術讀取Word表格數據時,需要用到提供API給JAVA、實現Office文檔讀寫的ApachePI,以及執行sql語句JAVAAPI的JDBC,主要實現代碼如下:
2.2 Activity工作流技術應用
工作流即工作流程,一般包括事務和事務間的關系以及事務的開始與結束條件等,是能夠相互銜接地自動執行的業務活動[18]。在軟件開發中,使用工作流進行流程處理,不僅提高了業務流程的柔性與靈活性,能夠更好地實現業務過程控制,同時管理員可以集中精力處理核心事務并跟蹤事務處理過程,為事務處理業績考核提供量化依據,從而提高軟件開發質量與效率。
目前,市場上可供開發人員使用的成熟的工作流軟件較為缺乏。在Java領域,JBPM與Activity是兩個主流的工作流軟件[19],其中Activity是一個開源的工作流引擎,提供了BPMN 2.0規范,以及流程定義與流程調度,使開發人員能夠快速設計出流程模型,構建出功能豐富且應用高效的平臺[20]。
使用Activity工作流引擎技術進行系統設計,同時結合學院人事管理特點,可以快速配置適合學院實際情況的人事管理工作流,各個科(系)工作人員按照工作流分工協作,使人事管理各項工作有序推進。同時,各部門領導可以很方便地查詢各事務處理情況,從而為其決策提供依據。
2.3 人事管理系統安全性設計
由于人事管理工作的特殊性,對數據的保密性要求較高。因此,在設計中利用存儲過程對不同用戶角色授予不同權限,以保證數據安全。系統用戶對象分為人事管理員、部門管理員與教師共3個級別用戶,在存儲過程中創建事務,將多個SQL語句放到同一個JDBC事務中并封裝在一起,設定特定用戶在存儲過程中的使用權,通過使用同一個Connection對象,完成數據的查詢與更新工作,以解決不同數據源的數據不一致性問題,提高數據安全性。主要代碼如下:
3 總結與展望
本文設計并實現了基于JAVA技術的高職院校人事管理系統,希望通過信息化辦公手段解決“信息孤島”、數據滯后,以及數據共享程度低等問題,減少錯誤率,促進人事管理各項工作的有序推進。本系統是基于校園局域網開發的,采用C/S結構,因而具有一定局限性,隨著信息化校園建設的推進,將來可升級為B/S結構或P-P結構,同時系統的部分功能還有待進一步完善。
參考文獻:
[1] 宋美英. 關于高校人事管理信息化建設的思考[J]. 人才資源開發,2017(24):34-35.
[2] 丁聰.? 基于Java的企業人事信息管理系統[D].? 南昌:南昌大學,2017.
[3] 陳雅玲. 高職院校人事工作信息化建設[J]. 福建電腦,2018,34(3):164-165.
[4] 劉然. 地方高校人事管理信息化問題與對策[J]. 現代經濟信息,2017(7):142.
[5] 黃興祿. 基于B/S與C/S混合模式的高校實驗室報修系統設計與實現[J]. 信息與電腦:理論版,2017(16):118-120.
[6] 武永成. 基于云計算的大數據處理與分析綜述[J]. 軟件導刊,2016,15(12):161-163.
[7] 51CTO社區. 系統級編程語言[EB/OL]. http://developer.51cto.com/art/201307/405621.htm.
[8] 上海利唐信息科技有限公司. 2018最新人力資源管理軟件[EB/OL]. https://www.zhihu.com/question/20270750.
[9] 葉輝明. 基于ASP.NET的個人博客系統的設計與實現[J]. 新課程(下),2016(3):144-145.
[10] 熊麗婷, 陳政,何城波. 基于云計算的人事管理系統設計與實現[J].? 軟件工程,2017(12):29-31.
[11] 呂博文,楊懷洲. 工作流技術綜述[J]. 智能計算機與應用,2018,8(1):159-161.
[12] 聶松,劉英. 基于C#的企業人事管理系統設計與實現[J]. 軟件導刊,2018,17(1):126-128.
[13] 鄒琳.? 宜春職業技術學院人事管理系統的研究與分析[D]. 昆明:云南大學,2016.
[14] 辛琳. 信息不對稱理論研究[J]. 嘉興學院學報,2001(3):38-42.
[15] 高進,孫彬,沈洋. 基于Java技術的分布式異構數據庫Web訪問技術[J]. 信息系統工程,2017(11):26.
[16] 宋國偉,薛益鴿. 基于SQL Server與Java的PC端的學生選課評分系統的開發與應用[J]. 智能計算機與應用,2018(2):165-169,173.
[17] 舒后. 網絡數據庫技術與應用[M]. 北京:清華大學出版社,2016:10-11.
[18] 呂博文,楊懷洲. 工作流技術綜述[J]. 智能計算機與應用,2018,8(1):159-161.
[19] 楊宗偉.? JAVA工作流詳解[EB/OL].? https://wenku.baidu.com/view/b6ae4529915f804d2b16c168.html.
[20] 王依祎. 基于JBPM開源工作流引擎技術的街居業務協同系統的設計與實現[D]. 北京:北京工業大學,2016.
(責任編輯:黃 健)