基于SSM的企业人力资源管理的设计与研究
作者:刘本源 杨保华
来源:《电脑知识与技术》2018年第11
        摘要:通过现有的信息技术,将人力资源相关信息整合进行管理,帮助管理者清晰、简洁的完成企业人力资源管理,开发了一个界面简单清晰明了、基于操作,人力资源管理系统。该文设计的企业人力资源管理系统,使用ssm+Maven进行整合开发,使用MySQL作为数据库,前端开发中使用了bootstrap框架美化界面,提高了开发效率。
        关键词:人力资源管理系统;SSMBootstrapMySQL;数据
        中图分类号:TP311 文献标识码:A 文章编号:1009-3044201811-0074-03
        1 背景
        在商业领域中,随着计算机技术、数据库技术运用的越来越广泛。其可靠性高、搜索快捷、保密性好、可持续性强等优点,在现代化的人力管理中起到重要的作用。一个科学、高效的人力管理系统,能够帮助完成企业的人事变动,招聘,请假、培训等企业日常任务。
        目前国外在企业人力管理方面处于领先地位,不仅体现在管理的方法上,而且在软件的使用率上都占据了很大的比重。对我国人力资源管理方面所出现的问题,设想解决方案有以下几种:
        1)聘用员工机制,企业应该严格遵循能者上,庸者下这一原则,实现现有员工进行优化整合,以更科学的方法完成企业任务,减少资源浪费。
        2)奖惩制度,建立更有效、更客观的奖惩制度,建立与之相关的培训计划,升迁计划。
        此次研究目标在于开发面向企业的人力管理系统,设计是实用,操作简单,界面友好,能有效地减少的企业人事管理的工作量,起到一个管理人员与基层员工交流的一个沟通平台。SpringSpring MVCMybateisBootStrap等框架的运用,掌握其内部的运行原理。
        2 设计框架与技术
        此次研究针对企业人力资源管理中遇到的问题,以及对ssmMySQL技术以及bootstrap框架等技术进行整合运用,从而开发了基于SSM框架的企业人力资源管理系统。
        整个系统采用B/S三层结构进行设计,使用idea作为开发平台,编程语言为Java,使用的框架为Spring MVC Spring,使用mybaties进行持久层操作,使用ApacheTomcat作为服务器,My SQL作为数据库平台。研究内容包括以下几方面:
        1)实现系统的关键技术:Spring MVC的设计模式、Mybaties的逆向工程、SpringAOPIOC的运行机制和实现原理及会话状态管理技术;
        2SSM框架在开发中的实际应用;
        3)系统进行需求分析,使用J2EEJSP技术、Mybatis数据访问技术和Java编程语言等,实现培训管理、请假管理、用户管理、人员调动、奖惩管理和招聘等功能模块。
        2.1 SSM
        SSMSpringSpringMvcMyBatis)框架集是由三个开源框架整合而成,分别为Spring MVC+Spring+My Batis Spring MVC对应View层,用来完成用户的接收和请求功能。Service层对应SpringMVC中的Controller 用于完成用户请求的转发及对用户的响应。在Dao层中,通过MyBatis完成对数据库的增、删、改、查功能进行持久化层操作,而这些都
Spring以第三方所整合。
        2.2 BootStrap框架
        BootstrapTwitter开发的一个用于前端开发的开源的工具包,是一个CSS/HTML框架。它由Twitter的设计师合作开发。Bootstrap提供了美观的HTMLCSS规范,通过动态CSS语言Less写成。Bootstrap一经推出后一直是GitHub上的热门开源项目,受到热烈的欢迎。使用Bootstrap可以减少代码在界面上的样式。
        2.3 MySQL
        MySQL是一种关联数据库,它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样不仅提高速度而且更加灵活。对于个人使用者和中小型企业,MySQL提供的功能足够使用,并且 MySQL是开源的, 所以降低了开发成本。
        3 企业人力资源管理系统设计
        企业人力管理系统是以中小型企业为依据,通过分析、调查在实际生活中企业常遇到的问题进行实施设计与开发。
        通过信息汇总,系统的开发针对对员工的数据管理和企业的事务管理进行开发。数据管理包括员工的工资、个人资料、奖惩、请假等工作,而事务管理中,对员工在奖惩管理、签到、培训管理、请假管理和招聘等方面进行管理,包括查询、添加、统计等。同时划分用户权限,在系统中,设置普通员工、部门主管、系统管理员三种权限。
        3.1 系统设计
        3.1.1 功能设计
        针对普通的员工,设计为只拥有查看个人数据以及请假、报名的功能。对于部门主管则拥有奖惩管理、请假审核、退休员工信息查询、制定培训计划。系统管理员则能获取所有员工的信息,审核培训计划,以及对部门主管的操作,如奖惩、请假管理等,如图1所示。
        3.2系统包与组件设计
        3.2.1系统包图设计
        通常使用数据包来描述子系统的划分,子系统指的是一组紧密相关的类。通过将系统分成多个包,系统可以看作是一个单独的高级包。将系统设计模块化,可以简化复杂的设计,
        根据分析,把企业人力资源管理系统定义为一个大包,它包含了基础数据包、事务管理。接着,我们对上述模块继续划分,使之成为更小的模块,基础数据分为个人信息,工资查询,部门信息查询,退休员工查询,事务管理分为请假、请假审核、奖惩管理、培训计划申请、培训计划审核、招聘计划申请、招聘计划审核,根据不同权限的角,显示所能操作的功能。
        3.2.2系统组件设计
        随着系统结构分区的结束,进行的是系统的设计和实现,包括源文件、数据库和软件组件。该系统基于SSM框架组件技术,系统中包含的所有类文件都分配给组件。
        组件技术的应用不仅降低了编译软件单元的粒度,而且提高了部署的灵活性,为软件的分布式部署带来了方便,系统构件结构采用分层结构的设计,前台是表示层组件,中间是业务逻辑和后台数据服务组件。
        3.3 数据库设计
        为了有效管理企业人力资源系统中的各类信息,数据库的设计从以下几个方面考虑:数
据库命名、数据完整性、服务器命名、数据库一致性、数据库对象命名和安全性设计。
        3.3.1数据库概念模型设计
        系统主要有用户,请假、角、招聘、部门,签到、培训、工资等实体。
        3.3.2 数据库的表结构设计
        将实体转换为关系模型,企业人力资源管理系统需设计的表有用户信息表、权限表、奖惩表、部门信息表、招聘表、签到表、请假表、工资表、培训表以下是部分关键表的结构设计。
        以招聘表(recruit)和用户权限表(User)为例,招聘表用于记录招聘表,Id为主键,其余主要属性为招聘部门、招聘时间、招聘人数、招聘岗位、是否通过,如图23所示;用户权限表主要用了分配用户权限,Id为主键,其余为员工编号、员工密码、权限。
        3.4 基础数据模块设计
        主要进行了系统目标设计、系统业务处理流程设计、系统功能设计、系统包和组件设计
、数据库设计、基础数据模块设计、事务管理模块设计。
        3.4.1 基础数据模块描述
        基础数据模块负责对系统中用户数据的修改、查询,在基础数据中,分为个人信息查询、奖惩查询、退休员工查询、请假查询,以个性人信息查询为例。
        1)实体类:包括UserDepartment
        2)业务逻辑Service类:包括UserServicedepartmentService,实现类为userserviceImpldepartmentImpl
        3)控制controller:包括UserControllerdepartmentController
        4mappperUserMapperdepartmentMapper
        3.5 事务管理设计
        企业事务管理具有包括,招聘、培训、请假、签到和奖惩等模块,以招聘模块设计为例:
        针对在实际生活中,企业可能遇到的招聘需求,设计为各部门主管拥有招聘计划的权利,通过管理员审核通过完成。
        1entityrecruit
        2)业务逻辑service类:resruitService,以及实现类resruitServiceImpl
        3controllerrecuitControllerbootstrap 软件
        4mapperrecruitMapper
        4 企业人力资源管理系统实现
        企业人力资源管理系统以B/S模式进行开发,实现采用Idea作为开发平台,使用Java编程语言和MySQL数据库。可运行于局域网和互联网(Internet)的网络环境,包括基础数据、事务管理、用户管理。
        4.1平台的搭建
        由于该系统使用的是Spring+SpringMvc+Mybatis的三层框架来编写的,所以在进行项目开发之前需要搭建好相应的环境。在之前已经提到,Spring MVC从用来管理所有的业务逻辑,Mybatis用来管理数据库信息,Spring则用来初始化所有类的对象,在项目中使用Maven进行搭建。
        4.1.1 创建Maven项目