基于JAVA的高职院校人事管理系统设计与实现
2019-06-07吴荣珍
吴荣珍
摘 要:为了改善学院传统通过手工进行人事数据处理,导致数据高度冗余与不一致,以及工作效率低的现状,前台使用具有独立性与可移植性的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.
(责任编辑:黄 健)