摘 要: 根据学院实际需求, 设计并实现了人事管理信息系统。前台使用面向对象语言JAVA进行开发, 后台使用安全可靠的SQL Server 2008进行数据库设计, 采用了B/S架构和FTP技术, 实现人事数据的实时处理和不同数据源数据转换, 及事务提醒等功能。人事管理系统的使用, 可以提高数据共享度, 减少冗余和出错率, 保证数据的一致性和适时性, 提高工作效率。
关键词: 人事管理系统; JAVA; SQL Server 2008; B/S架构; FTP;
Abstract: According to the actual needs of the college, the personnel management information system is designed and implemented. The front end uses the object-oriented language JAVA to develop, the background uses the safe and reliable SQL Server 2008 database, B/S architecture and FTP technology are adopted to realize the real-time processing of the personnel data and the data conversion of different data sources, and the functions of transaction reminding etc. The application of personnel management information system can improve data sharing, reduce redundancy and error rate, ensure data consistency and timeliness, and improve work efficiency.
Keyword: personnel management information system; JAVA; SQL Server 2008; B/S architecture; FTP;
0、 引言
在数字化信息时代, 对高校人事管理的效率与质量有了更高要求[1]。而目前学院的大部分管理工作仍是以人工为主, 如数据录入、更新等各项事务还是人工操作, 部分处理用一些软件来辅助。这样容易造成数据不一致、工作效率低下、数据安全性与共享性差、冗余严重、数据管理困难等问题[2]。
在管理信息系统设计中, 目前比较主流的体系架构有B/S、C/S和P/P等;而基于大数据、云计算、数据挖掘等数据处理技术已趋于流行[3];JAVA、C语言、.NET、PHP、python等语言, 在人事管理系统开发中已得到广泛应用。目前比较主流的人事管理系统有OA、I人事管理、SAP、HR、Oracle ERP等, 这些软件各有优势, 但是在具体应用上, 由于各单位在人事管理上各有差异, 很难找到一个完全适合本单位的系统来管理各项事务。本项目以本人所在高校人事管理实际为研究背景, 使用JAVA+SQL Server的模式进行开发, 以事务方式进行设计, 系统数据保存在同一数据库中, 按权限分级访问, 实现多用户的操作。
1、 高职人事管理工作主要流程及数据需求
本系统前台采用具有安全性、可移植性等特点的JAVA 8进行开发, 使用具有高效的数据库交互技术OLEDB访问数据库[4], 利用工作流技术定义人事管理工作流程, 实现各个处 (室) 人事管理工作按流程顺利进行。采用B/S三层体系结构, 构建SQL Server数据库系统和FTP文件管理系统, 将人事管理工作各环节所产生的数据保存在系统同一个数据库, 学院各处室 (部门) 通过访问数据库, 实现各处室人事数据的统一管理, 解决数据不一至问题。高职人事管理流程图, 如图1所示。
图1 高职人事管理流程图
2、 系统设计
2.1、 功能需求
根据学院人事管理实际, 本系统设计主要功能模块有:系统管理、教职工信息管理、人才招聘管理、离退休教职员工信息管理等。
⑴系统管理模块包括管理员信息的插入、修改、删除和查询, 系统信息安全管理包括用户权限授予及管理、数据安全设计;
⑵职工信息管理主要实现教职工基本信息录入、筛选、查询、统计、排序、汇总以及在岗人员信息维护管理等, 以及对不同时间点人员进出汇总, 转正定级等事务的自动提示, 根据要求, 将查询结果导入到Excel工作表中, 实现SQL Server与Office软件的良好对接, 解决用户软件学习问题, 提高数据处理的效率;
⑶人才招聘模块包含人才招聘计划的编制、审核、审批、发布及新进人才岗位安排等, 人才招聘计划通过因特网发布, 以方便外网用户端查询;
⑷离退休教职员工信息管理包括离职、退休手续的办理、薪酬与福利发放与管理, 方便离退休教职工各项服务工作的开展。
人事系统功能模块图, 如图2所示。
图2 高职人事管理功能模块图
2.2、 系统结构设计
本系统采用B/S结构 (浏览器/服务器模式) , 该三层模式结构是由二层C/S模式结构发展而来的, 客户端只需安装Web浏览器, 执行极少业务逻辑。服务器中安装Web数据库软件SQL Server 2008, 系统核心功能以及主要业务逻辑均在服务器上运行。结合浏览器的多种脚本语言和Active X技术[5], 客户端可通过Web Server服务器与数据库服务器中的数据进行交互。由于事务处理集中在服务器中, 提高系统维护及服务效率, 降低了系统开发与运行的成本。
在服务器设计上, 人事管理各项事务部署在web服务器上, 客户端对数据的上传、下载、查询等活动在FTP服务器上进行, 人事管理各项数据存储在数据库服务器中。所有数据统一存放在一个数据库, 方便了数据的统一管理, 实现数据的同步更新和实时处理, 保证数据的一致性。系统体系结构图, 如图3所示。
图3 B/S体系结构图
2.3、 数据库设计
在充分了解本学院人事管理流程基础上, 根据需求分析, 并将概念模型转化为关系模型, 得出本系统逻辑结构有:管理员信息表、在职员工基本信息表、部门表、进修培训情况表、双肩挑人员基本信息表、行政人员信息表、进修培训情况表、获奖情况表、教职员工年龄分布情况表、学历学位情况表、职称 (务) 聘任表、离退休教职工信息表、福利分配表、招聘信息表、岗位信息表、岗位分配表、消息表等17张表。
本系统数据库采用目前主流的、具有网络功能的SQL Server2008创建。为每张表创建了一个惟一聚簇类索引, 减少冗余;为各字段创建约束, 减少出错率, 提高工作效率;以工号为主要关键字段, 创建关系图, 实现各数据表的关联, 保证各表数据的一致性;创建角色, 并授予相应的权限, 实现不同用户的分级管理;对数据文件和日志文件作实时备份, 及异地备份, 以防止非法用户或非授权用户对系统数据的破坏。同时, 当合法用户操作不当或系统运行崩溃时, 可以为数据恢复提供依据, 从而保证数据的安全。
3、 系统实现主要技术
3.1、 人事管理系统中OLEDB关键技术的应用
OLEDB是微软提供的连接不同数据源的低级应用程序接口[6], 是一个基于COM的数据存储对象, 其支持不同类型数据源, 包括结构化查询数据 (如SQL Server等) 和非结构化查询数据 (如Office环境下的数据) , 同时还提供离线状态下的数据存取[7]。由于学院人事管理信息化程度不高, 长期积累了大量纸质材料和电子文件。其中电子文件主要包括Access数据、Excel表格、Word文档、PDF文件、文本文件等。为了使人事管理各项工作平稳推进, 必须将原始数据导入到系统的同一数据库中, 以方便数据的集中管理, 提高数据查询速度。
3.1.1、 使用OLEDB技术加载Word文件
实现这一过程, 要用到提供API给JAVA, 实现Office E文档读写的Apache POI和执行sql语句JAVAAPI的JDBC, 主要实现代码如下:
3.1.2、 使用OLEDB技术读取excel文件数据
3.2、 FTP技术应用
采用在FTP服务器共享方式实现人事管理数据共享[8]。由于在人事管理过程中, 产生许多文件, 如PDF文件、word文档、图片及音视频文件等, 这些文件都需共享。在系统中建立一个FTP服务器存放这些共享文件, 同时为不同的用户分配账号密码并授予不同的访问权限, 并为交换数据的系统约定好数据格式、文件命名方式和存放路径规则等。数据交互时, FTP系统按约定的时间将数据写入ftp目录中, 用户按权限在FTP客户端执行文件的上传下载、浏览及数据处理等操作[9]。
FTP服务器即为支持FTP协议的服务器, 通过FTP软件实现服务器建立连接, 进行文件上传下载、数据的更新与浏览等操作, 目前主流的FTP软件有cute FTP、Home FTP、FLASHFXP、LEAPFTP等。FTP客户端实现本地计算机与服务器计算机之间的文件传输。在JAVA中实现客户端数据的上传下载主要代码如下:
3.3、 系统数据安全性设计
由于人事管理事务的特点是对数据的保密性要求较高, 对不同用户角色授以不同权限, 有人事管理员、部门管理员、教师等三个级别用户。
在存储过程中创建事务, 将多个SQL语句放到同一个JDBC事务中, 并封装在一起, 设定特定用户对指定存储过程的使用权, 通过使用同一个Connection对象, 完成数据的查询与更新, 解决不同数据源的数据不一致性问题。主要代码如下:
3.4、 事务提醒功能的设计
事务提醒功能主要是人事管理日常事务的提醒。包含新进人员的转正定级、职称职级评聘、离退休手续办理、有及日常事务管理等的提醒, 以保证数据能得到及时的处理。在系统中设计触发器, 结合JAVA的多线程技术, 将多个提醒业务作并行处理, 应用Reminder Thread类开启定时提醒线程, 设计一个消息表, 监视在职人员、新进人员转正定级、离退休到期时间, 以及其他事务办理时间, 并启用一个timer, 不断的从消息表里取数据, 一旦到达设置时限, 即触发事务提醒功能。主要代码如下:
4、 结束语
高职人事管理系统的成功运行, 证明了JAVA+SQL Server模式进行系统的设计的可行性。根据学院人事管理实际, 进行系统设计并给出主要实现技术。通过系统的使用, 实现了学院人事管理信息化, 解决“信息孤岛”、数据滞后、数据冗余与共享等问题, 减少错误率, 促进人事管理各项工作有序推进, 提高工作效率。
随着信息化校园的推进, 数据将变得越来越庞大且杂乱无序。所以大数据、云计算、并发控制及数据挖掘技术将应用到系统数据处理中。接下来, 在数据共享的安全性, 身份验证中私有库的设计, 以及系统运行的安全机制等方面都有亟待解决的问题。
参考文献:
[1]宋美英.关于高校人事管理信息化建设的思考[J].人才资源开发, 2017.24:34-35
[2]丁聪.基于Java的企业人事信息管理系统[D].南昌大学, 2017.
[3]熊丽婷, 陈政等.基于云计算的人事管理系统设计与实现[J].软件程.2017.20 (12) :29-31
[4]王依祎.基于JBPM开源工作流引擎技术的街居业务协同系统的设计与实现[D].北京工业大学, 2016.
[5]陈家权.区域教育装备采购管理系统的设计与实现[D].吉林大学, 2015.
[6]黄兴禄.基于B/S与C/S混合模式的高校实验室报修系统设计与实现[J].信息与电脑 (理论版) , 2017.16:118-120
[7]叶辉明.基于ASP.NET的个人博客系统的设计与实现[J].新课程 (下) , 2016.3:144-145
[8]聂松, 刘英.基于C#的企业人事管理系统设计与实现[J].软件导刊, 2018.17 (1) :126-128
[9] frinder.你一定要知道的几种项目间数据交互方式[EB/OL].https://blog.csdn.net/frinder/article/details/12773919.