【《基于Spring Boot的企业人事信息管理系统设计》10000字(论文)】_第1页
【《基于Spring Boot的企业人事信息管理系统设计》10000字(论文)】_第2页
【《基于Spring Boot的企业人事信息管理系统设计》10000字(论文)】_第3页
【《基于Spring Boot的企业人事信息管理系统设计》10000字(论文)】_第4页
【《基于Spring Boot的企业人事信息管理系统设计》10000字(论文)】_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

页共29页1引言1.1研究背景、目的和意义随着中国现在经济社会的迅速发展,以电脑科学技术、网络一站式通讯工程、软件技术为代表的现代化新型信息技术的高速发展,中国社会越来越重视资源数字化和信息化,这也就衍生出了一系列新兴的科研技术,尤其是通过社会各界人才的大力支持研发和全方位的推广应用,成就以科学文化为中坚力量的信息化时代。跟随着计算机技术的发展的快速步伐,呼之而出的软件和硬件设备也随着主流市场的用者需求不断地完成对产品的性能升级,配置一步步往上堆积,价格却是很亲民,同时各行各业的管理者越来越多的企业和公司注重业务发展的数码信息化。随着大数据时代社会的开创,各行各业越来越多的企业和公司得以创建、发展、稳定、壮大、成熟。企业、公司发展的越来越好,工作人员必然会增多,随之也会产生一些不必要的弊端。人员管理起来越来越费劲,每年的人力资源管理成本也会不断地增加,员工归档资料欠缺不全、信息不完善,纸质资料文件存储困难不能方便携带使用查阅,大量员工日常考勤管理,薪资结算等问题不断浮现,导致公司浪费大量人力和资源去解决问题。这一情况相对于小型企业公司来说,人员少,人员信息资料还比较容易对其进行管理工作,不用那么费劲。但对于中大型的企业来说,员工人数增多带来的经济效益也是递增的,说明公司发展的越来越好,但随着人员的增多,人员管理也是一大难题,所以此时企业利用计算机技术实现人事信息管理也是势在必行。人事信息管理信息化不仅解决了员工信息的统一管理,还把人力资源利用达到最大化,而且更安全、更规范、更省心省力,有条不紊的安排管理工作的进行。因此,通过Java语言平台开发的企业人事信息管理系统,对具有一定规模的公司企业而言是一个不错的选择。本系统重点就是针对上述出现的人员管理难、信息归档、考勤管理、薪酬管理、内部公文通知等问题进行设计与开发。通过高效的应用程序实现对企业人员信息管理及人力资源的合理利用,为公司的扩展提供良好的发展平台。1.2研究现状自20世纪80年代开始,各个国家都利用前沿的信息化科学力量技术手段来进行企业人员信息管理和工作安排调度等。随着科研技术越发娴熟,我们国家的企业逐渐重视人事管理系统,其开发出来的软件管理模式与实际工作中的管理方式基本是一样的,使用软件管理企业员工和内部处理事务,让企业管理业务更近一步完成信息化。如今,百分之九十的互联网科技公司都开发出界面优美,功能齐全,高效快速,操作简单的自动智能化人事管理系统平台,人事信息管理系统在国内基本上已经普及使用。所以,基于现状企业人事信息管理系统进一步开发的想法是值得的。1.3论文工作内容本论文的内容是根据企业人事信息管理系统的设计来编写的,工作内容根据现代化企业公司管理工作问题进行分析与设计。根据企业目前需求开发相对应的基本的功能与问题,使用SpringBoot框架与MyBatis进行Java后端开发,前端部分使用HTML、jQuery。前后端数据交互部分使用AJAX,同时MySQL和Redis作为数据库进行功能实现并展示出效果。总的来说,系统是围绕管理员和员工这个两角色进行功能设计和实现,目前系统开发出个人信息、部门详情、职员考勤信息、薪酬待遇信息、员工档案信息、岗位详情、公告信息和文件中心这些功能模块。各个模块的功能都有权限控制功能的使用,管理员有权限对系统内的所有信息进行维护,而员工角色只能对自己相关的数据信息进行维护和修改,其余的功能一律只能搜索查阅。

2系统可行性分析与关键技术介绍2.1技术可行性本管理系统是采用SpringBoot框架构建的SSM项目,结合了Mysql关系型数据库,以Redis非关系型数据库作为辅助进行管理系统而开发的,可以在macOS或者window操作系统适配环境。作为Web项目开发,后端开发结构分为中央控制层、业务逻辑层、数据持久层、视图分析层以及实体模型层,充分体现了Model、View、Controller的核心思想,使程序降低耦合,增高内聚,促进项目的整体进度,缩短开发周期。随着科技的进步,前沿的软件技术当然需要先进的硬件设备支持的,过去的硬件设备由于内存低、存储容量不高、兼容性不强、配置低,使科学技术发挥不出整体的实力效果。但现在这个问题早已被解决,目前绝大多的硬件条件足以满足需求开发达到人们的需求理想效果,所以在开发技术选型上来说,实现企业人事管理系统在硬件条件也足以支持,在软件技术条件上也是行得通的。2.2操作系统可行性在本系统开发的页面中整体漂亮简洁,设计的功能模块齐全且明确,各个功能提示明显,安全性高。项目系统目前可以适配市场上所有的计算机产品,对于本项目的安装、调测、运行都可以完全没有问题,用户体验的使用效果也是非常的棒,系统没有一点拖泥带水的。本系统设计的用户权限也是很明确,不同的用户有着不一样的权限级别,操作不一样的功能。其中管理员权限级别最高,系统的所有功能可以全部使用,对公司进行一切相关的管理,而员工的权限除了与自己有关联的功能和信息可以修改外,其他的功能都只有查阅的权限。对用使用群体都是企业公司的人员,所以不会操心信息泄露、信息安全、使用操作不当和业务流程不清楚等问题,所以在各种意义上足以满足操作系统的可行性。2.3技术介绍2.3.1SpringBoot技术SpringBoot框架是Spring产品中的一员,也是整个Spring项目中一个子工程。Spring相信大家都是知道的,而Boot翻译过来的意思就是启动。简单点理解SpringBoot是Java创建Spring项目的一个启动工具,它可以在WEB项目、微服务项目、单体项目中构建所使用。SpringBoot本身存在的设计目的就是为了精简化Spring项目搭建以及初始化工程的一个开发过程,该框架的核心意识是“系统约定的设计优先于自行配置”。在你创建加载项目的过程中,它可以自动填充项目的基础设施配置以至于让项目可以正常启动进行开发工作,开发人员不用花费大量的时间和精力去解决各种各样令人焦躁不安的xml启动配置文件,同时SpringBoot还内置Servlet容器。对于Web项目来说这无疑是一个好事,无需自己在手动添加和配置Tomcat,这可以让开发者把重心放在功能逻辑和业务代码的实现上。SpringBoot优点:1.简化创建项目过程,创建项目无累赘代码产生,在继承Spring特性的同时还拥有海量的注解提供开发人员使用,集成多种开发组件和统一控制管理jar包的版本信息以达到降低版本不兼容引发的开发风险问题,提高代码工作精准度和效率。2.SpringBoot项目中只有一种application配置文件的存在,格式是perties或application.yml。而且即使没有配置文件的存在,项目依然可以正常启动运行,这都是因为在SpringBoot框架本身自带的初始化配置文件。3.在搭建WEB项目过程中,使用内置了Tomcat、Jetty、undertow三种Servlet容器。相对于以往项目部署需要打包成war包再放置到Servlet容器启动项目才可以访问系统,现在不用那么麻烦,直接将项目打成一个jar包然后部署到java环境即可访问。2.3.2SSM框架Spring+SpringMVC+MyBatis简称SSM,是目前开发行业主流的一个WEB系统开发解决方案。Spring:我们平时开发接触最多的就是IOC容器,可以加载装配Bean类,这样就可以少用new关键字去实例Bean对象。SpringMVC:SpringMVC剥离了控制室、模型实体对象、视图处理,三层架构分层开发更好的对业务代码和功能需求进行特定处理。SpringMVC的基本原理是,后台接收到服务器中部署的用户端发送的请求到DispacherServlet后,将通过DispacherServlet找到HanderMapping分配器,再分配到对应的Controller控制器,之后再由Controller调用的Service方法完成业务服务逻辑处理过程,并且将所获取到的数据信息返回到ModelAndView视图解析器,ModelAndView找到指定的视图原路返回到客户端,完成最后的数据渲染展示。MyBatis:MyBatis是对持久层jdbc的封装,可以对数据库操作更为清晰。在使用过程中只需要用MyBatis的属性标签编写SQL语句,其余的建立连接、操作、Statement、ResultSet、相关异常等等都可以由MyBatis去处理,并且支持XML和注解来映射原生信息。在每次数据库交互都是通过sqlSessionFactory创建一个sqlSession会话对象再执行SQL语句,也不用担心sql注入引起的异常问题。同时MyBatis也支持动态SQL语句,像批量添加的insert语句只需要使用它提供的<foreach>标签进行循环操作就可以。2.3.3MySQL本次开发使用MySQL关系类型的数据库,基于安全、多线程、高效稳定的一款主流数据库。功能强大,提供了MyISAM存储引擎、自动管理事务、数据视图设计、函数分析和数据同步等,这些足以始终保证数据的原子性、保持一致、分离性、持续。在MySQL中,每一条SQL语句都是属于一项单独的事务事情,默认自动管理并进行提交。事务有三种状态。一是:脏读取,一个事件读取到另一个SQL操作还没提交的update数据。二是:不重复读取,一个事件读取到另一个已经提交的update数据。三是:虚读取,一个事件读取到另一个事件中已进行的insert或delete数据。为了防止这种状况的再出现,MySQL可设定为对应的未提交读、已提交读、可重复读写、序列化这四种隔离级别。对于后台管理系统都可以使用MySQL数据库对数据信息持久化处理。2.3.4RedisRedis是一种高性能的非关系型数据库,以键值形方法存储数据资料,所存储的全部数据信息都会缓存在内存中。它还支持多种数据类型,包括set、string、hash、list、zset,使用的场景也是非富多彩的,如分布式锁、session共享、统计排行榜、数据缓存等。在Redis中还存在8中数据淘汰机制,每隔一段时间长期不使用的数据都是会淘汰掉,根本不用担心数据量达到上千万级别过后导致Redis宕机。即使Redis服务真的死机了,也不用担心数据丢失的问题,Redis同样支持数据持久性,会将数据通过AOF或者RDB以日志文件写入到硬盘中进行持久保存。在对于redis的出现,很大程度补偿了关系型数据库在成千上万的数据读写操作缓慢的问题。由于读取数据处理速度快,对MySQL数据库有协助作用,缓解服务器的cpu和内存压力,减少IO的读写操作压力。

3系统需求分析3.1用户管理模块此功能模块可以显现出所有系统用户的账号信息,帮助用户修改密码和登录名,查看个人用户信息,提高用户的账号信息的安全性,管理员权限级别可以处理删除不用的用户账号。3.2考勤管理模块此功能模块员工可实现每日打卡考勤功能,并即时自动更新打卡状态信息,管理员可能够对员工出勤记录进行管理,视员工实际出勤考核状况进行补登和调整考勤信息等操作。3.3工资管理模块此功能模块员工能关注自己的一个工资详情,管理员在此功能模块对员工的工资进行结算清算。3.4部门管理模块此功能模块提供查看和按关键子搜索部门的具体信息功能,管理员通过实现的功能按钮对部门进行消除和增添以及编辑部门信息。3.5职位管理模块此功能模块可以展示公司职位信息,同时管理员可以根据公司职位信息的更新,在系统进行修改、删除和增添的功能操作。3.6员工管理模块此功能模块员工仅查看企业人员的在职信息内容,但管理员可以对企业员工在职信息实施管理功能操作,如员工添加、离职员工的信息移除、员工错误信息的更改还有员工信息的查找与展示。3.7公告管理模块此功能模块员工可以查看公司公告信息,管理员拥有权限发布公司最新公告信息、清除过期的公告还有修改错误公告内容。3.8下载中心模块此功能模块主要用于上传下载文档文件。

4系统设计与实现为了将用户的业务功能需求转化为开发编程,使开发达到标准化,根据编程的思想,把业务拆分按模块化进行开发编码实现。每个模块都逐个对功能进行详细设计和实现方法,并提出合理的数据库设计解决方案,将数据进行持久化处理。4.1数据库的设计为了将系统数据永久的保存,设计出开发本系统的数据信息表。参与该系统的数据库分析设计表有用户信息表、部门信息表、职位表、员工信息表、考勤记录信息表、工资表、公司公告信息表、文件文档信息表,每个数据表都是存在着关联关系,根据各表主键进行联系。4.1.1数据库模型图图4-1数据库模型图4.1.2数据库数据字典图4-2user_inf图图4-3dept_inf图图4-4employee_inf图图4-5job_info图图4-6clock图图4-7pwage图图4-8notice_inf图图4.9document_inf图4.3系统功能实现4.3.1用户登录系统的用户登录功能有两种身份权限可以通过登录成功进入系统,一个是管理员权限身份,另一个是普通的员工权限身份。使用系统的使用者,可通过浏览器输入网址访问系统login登录页面,输入用户名信息和密码,挑选身份权限按击登录。前端页面的脚本会收取到用户填写的信息,通过ajax传送http请求至后台。后台根据用户的账号、密码和身份信息判断并验证用户个人信息是否真实,信息验证正确无误后,给予用户进入系统并访问主页。如用户录入的信息与验证的信息有错误,会有明显的提示错误信息反馈给用户,用户根据提示内容进行修改,提交后再次进行验证。登录功能业务实现流程图如下图4-10所示:图4-10登录功能流程图login登录页面简洁大方,用了一个form表单用来设计用户名、密码、身份信息选择框和登录的提交按钮。登录页面效果图如下图4-11:图4-11登录页面用户登录成功,当前的账号密码会被后台自动记录为三天的有效登录信息,方便该账号的使用者下次访问系统自动登录,直接跳转到主页,主页效果图如下图4-12:图4-12系统主页图4.3.2个人信息系统用户若发现个人身份信息安全级别没有达到公司要求时,通过打开个人信息页面对账号的登录名或者用户名再或者密码逐一修正,此项功能是管理员和员工都具备操作的权限,为的就是提高用户信息和系统的安全性。个人信息功能图如图4-13:图4-13个人信息功能图4.3.3用户管理模块用户管理页面包含分页展示信息、关键字搜索、删除、查看、修改、添加、批量删除和刷新功能。其中员工权限只能进行搜索和查看的功能操作。每一个的操作功能实现都是进过权限验证,管理员权限验证通过,才能对数据Create、Retrieve、Update和Delete。员工若是点击这些功能,则是提示“没有权限操作”。添加功能:由于员工身份是没有此功能的操作使用权限,所以此处添加成功的用户信息均是管理员身份。管理员通过输入登录名、用户名和初始密码,提交即可添加新的用户信息。搜索功能:管理员或员工可以是页面中的搜索框里输入登录名进行查找,后台根据输入的信息对数据库进行精准搜索,查询出的数据结果就在渲染页面中显示搜索得到的用户信息,如果查询出没有相应的信息则不展示。修改功能:管理员点击数据信息里的编辑按钮,弹出一个数据表单,表单里会自动填充显示当前选中的未修改前的信息,需要修改那项信息就进行输入,点击提交后台进行对数据处理操作。如不想修改了,关闭弹出的表单即可。删除功能:管理员可以选择必须删除的一个用户信息,点击删除之后确认删除。后台接收到该删除的请求并进行数据库的删除操作,信息抹除成功的同时页面内数据表格中就没有该用户的信息。批量删除功能:管理员点击多选框选中需要删除的数据行,再点击批量删除,前端发送Boby数据到后端,controller会进行递归循环删除数据,直到最后一条数据被成功删除才完成批量性的删除操作,随后被删除的信息在页面中消失。刷新功能:点击刷新按钮,当前所在的页面信息和数据缓存将被清空,重新发送请求到后台查询新的数据加载到页面进行渲染效果。文中涉及的业务逻辑流程图如图4-14及各功能实现如图4-15~4-20所示:图4-14业务逻辑流程图图4-15用户信息页面图图4-16添加功能图图4-17搜索功能图图4-18修改功能图图4-19删除功能图图4-20批量功能图4.3.4考勤管理模块考勤管理模块主要是记录员工每日的出勤打卡和出勤记录这俩方面,主要涉及的是员工身份,员工可以在此功能模块中享受线上的上下班考勤打卡服务,正常考勤打卡成功后台根据打卡的信息生成每日打卡记录并展示记录信息。管理员可以通过员工的出勤记录对考勤信息进行各种维护操作。考勤打卡功能:员工每天上班和下班各打一次考勤卡,同时记录当日的考勤信息。用户每次进入打卡页面,系统自动查询使用本系统的员工账号当日有没有进行上班打卡操作,如没有打卡,页面会显示上班打卡的蓝色圆圈按钮。若已经打过上班卡,页面会显示下班打卡的按钮。同时系统也做了打卡限制,每个员工当日只能各打一次上班和下班的考勤卡。两次打卡操作都完成之后,当日不能在进行打卡,打卡按钮也会直接被禁用,避免了员工恶意打卡的刷上班时间的问题出现。出勤记录功能:管理员可以看到员工的每日考勤信息,若员工的考勤信息有问题可以联系管理员对出勤信息进行“CRUD”具体功能操作,为员工进行考勤信息的补单、修改上下班信息、查看员工考勤状态以及恶意考勤记录的删除。功能效果图如下4-21~4-25所示:图4-21考勤图图4-22每日出勤信息图图4-23编辑考勤记录图图4-24删除考勤效果图图4-25考勤信息查看图4.3.5工资管理模块此模块分为:我的薪资和薪资列表这两部分。员工可以通过<我的薪资>页面查看到具体的工资明细及五险一金等各类薪资福利,管理员通过<薪资列表>对员工工资进行添加结算,添加结算功能会通过给予的金额参数传值到后台,薪资算法会根据参数逐一计算员工的五险金额、公积金、实发金额、扣税金额和应发金额,最后将计算好的金额保存到数据库中。文中出现的效果图4-26~4-28所示:图4-26我的薪资图图4-27薪资列表页面图图4-28薪资结算图4.3.6部门管理模块部门信息管理模块:主要针对的就是企业员工查看和搜索部门相关信息,让员工了解部门的动态信息,管理者对部门进行信息添加、删除、编辑的维护。当需要进行搜索查询部门时,在搜索框中输入部门名称,便快速查询部门信息。当有部门需要建立的时候,管理员点击添加按钮,在出现的ifram页面中输入新组建的部门信息并提交。当部门信息有变动需要修改时,选中原来的部门信息行的编辑按钮,选中的部门信息,后台会进行一次数据处理再回显在新的页面输入框中,此时可以按照需要进行信息修改,若中途退出修改,关闭弹出的页面就行,原先的信息也不会进行修改了。当有部分部门早已不存在公司了,可以通过多选框选中要删除的部门进行一批删除或者一个一个的删除按钮也行,页面上随之消失已删除的部门信息,数据库内的部门信息也跟着消除。文中出现如图4-29~4-31所示:图4-29部门阅览图图4-30部门添加图图4-31部门修改图4.3.7职位管理模块职位管理模块:管理员可以通过此模块管理公司的职位信息,对岗位信息进行实时的更新,员工可以查看到所有的职位详情。若有新的职务需要添加到系统中,选择添加按钮,输入职务的基本信息提交添加即可完成。查看岗位信息功能,点击之后,会显示该岗位的所有详情信息。文中出现部分效果图如图4-32~4-33所示:图4-32职位管理页面图图4-33查看职位功能图4.3.8员工管理模块员工管理模块:员工和管理员可以在员工列表页面查看所有的员工信息,并且也能够使用所有雇员的名字进行搜索查询。管理者也可以对雇员的个人信息实施维护操作,例如修改、添加和撤销工作人员的个人信息。文中出现如图4-34~4-37所示:图4-34员工管理页面图图4-35搜索效果图图4-36添加新员工图图4-37修改员工资料图4.3.9公告管理模块公告管理模块:主要是管理员发布公司的公告信息,员工可以通过查看公告信息了解公司资讯信息。文中出现如图4-38~4-39所示:图4-38公告列表图图4-39添加公告图4.3.10下载中心模块下载中心模块:为所有使用本系统的用户提交文件上传下载的功能,实现文件资料的方便携带和共享。上传文件时,文件的标题、用户名和日期时间等基本信息会被记录保存到数据库中,而且文件内的数据内容在后台通过IO流转化成字节流保存在项目开发设定的目录文件夹空间内存储。在需要下载的时候,用户可以点击下载,后台获取到需要下载的文件名,再到存储空间找文件,进行数据转化让用户可以成功下载查阅。如图4-40所示:图4-40文档下载中心图

5系统测试5.1测试目的与目标在软件设计开发系统的功能测试极为重要,关系着系统开发的功能是否能正常部署上线服务客户,而系统测试就是用于检验系统的质量、安全、功能完整性、业务逻辑的正确性等是否符合和满足用户的需求,如果开发的系统在测试过程中没有顺利通过,那么证明这个系统是不符合客户需求的。系统在开发过程中边开发边调试,开发完成后再进行总体的测试。本系统测试用例主要涉及为单元测试。5.2测试用例因为是分模块部分开发,涉及的功能的数量众多,测试内容量大,不再一一介绍每个功能的测试内容,所以在此只说明连接系统用户登录测试用例。如测试表5.1所示:表5.1系统登录功能测试用例表测试内容测试功能用户登录测试方法单元测试测试数据用户名:root密码:Admin396身份信息:管理员测试目的测试并验证用户在本系统中能否顺利登录,成功进入系统主页进行系统的使用。测试项操作步骤数据信息期望结果实际结果与期望结果是否一致1输入正确的用户名、密码,选择管理员身份,点击登录用户名:root,密码:Admin396,身份:管理员账号数据验证正确,跳转访问系统主页成功登录进入系统主页一致2输入正确用户名、密码,选择员工身份,点击登录用户名:root,密码:Admin396,身份:员工数据不正确,登录失败,保留在登录界面登录失败保留在登录界面一致3输入错误的用户名,密码,选择管理员身份,点击登录用户名:r,密码:Admin396,身份:管理员登录失败,页面alert警告“信息不正确,请检查”登录失败,页面alert警告“信息不正确,请检查”一致4输入对的用户名,错的密码,选择管理员身份,点击登录用户名:root,密码:adminJH1,身份:管理员登录失败,页面alert警告“信息不正确,请检查”登录失败,页面alert警告“信息不正确,请检查”一致5输入用户名,不填写密码,选择管理员身份,点击登录用户名:root,密码为空,身份:管理员在密码框提示“此项内容不为空”在密码框提示“此项内容不为空一致6不填写用户名,输入密码,选择管理员身份,点击登录用户名为空,密码:Admin396,身份:管理员在用户名框提示“此项内容不为空”在用户名框提示“此项内容不为空”一致

6总结和展望6.1总结基于SpringBoot的企业人事信息管理系统的设计与实现工作也到来收尾阶段,该系统在经过日复一日的开发编程,不断的发现问题,不断的去修改问题,不断的完善系统功能,并成功通过所有功能测试,使系统整体运行的更稳定、功能程序运行速度更快。总的来说,该系统的产生必将对企业提供了方便快捷的日常管理工作。本系统的研发是根据企业管理员工信息及工作的实际需求进行的,合理分析开发本系统合理性和可行性,以及开发本系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论