【计算机毕设文章】基于Java的人力资源管理系统的设计与实现_v4279

摘 要
随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的人力资源管理系统。当前的信息管理存在工作效率低,工作繁杂等问题,基于信息化的人力资源管理目前还没有完善的系统机制。
在此基础上,结合现有人力资源体系的特点,运用新技术,构建了以 springboot为基础的人力资源信息化管理体系。首先,以需求为依据,根据需求分析结果进行了系统的设计,并将其划分为管理员和员工二种角色和多个主要模块:员工、考勤打卡、部门、补卡申请、请假、销假、员工工资、留言板等。使用目前市场主流的技术springboot框架进行项目构建,基于B/S架构模式,使用Java开发语言和MySQL数据库对系统进行高内聚低耦合的设计,最终完成了人力资源管理系统的实现。
基于springboot框架的人力资源管理系统为当前传统管理模式提供了一个高效、便捷、信息化的解决方案,这为后期人力资源管理系统的优化提供了新的方向。
关键词:人力资源管理系统;springboot框架;JAVA语言

Abstract
With the advent of information technology and globalization in the world economy and the rapid development of the Internet, reforms in various industries have been promoted. To achieve the goal of safety and efficiency, it is necessary to have an informationized organization and management model, and establish a reasonable, dynamic, interactive, and efficient human resource management system. Currently, there are problems in information management such as low efficiency and complexity, and there is currently no perfect system mechanism for human resource management based on information technology.
On this basis, combined with the characteristics of the existing human resources system, using new technologies, a human resources information management system based on spring boot was constructed. First of all, based on the needs and based on the results of the needs analysis, the system is designed and divided into two roles: administrator and employee, and multiple main modules: employee, attendance clock in, department, card supplement application, leave request, leave cancellation, employee salary, message board, and so on. Using the spring boot framework, a mainstream technology in the current market, to build the project, based on the B/S architecture pattern, using the Java development language and MySQL database to design the system with high cohesion and low coupling, and finally completing the implementation of the human resource management system.
The human resource management system based on the Spring Boot framework provides an efficient, convenient, and informative solution for the current traditional management model, which provides a new direction for the optimization of the human resource management system in the later stage.
Key words: human resource management system; Spring boot framework; JAVA Language

目 录
摘 要 I
Abstract II
1绪 论 1
1.1课题背景 1
1.2课题研究的意义 1
1.3研究现状 2
1.4研究方法 3
1.5论文组织结构 4
2开发关键技术 5
2.1 Spring boot框架 5
2.2 JAVA语言介绍 7
2.3 Vue简介 7
2.4 B/S架构 7
2.5 MySQL数据库 7
3系统分析 8
3.1 可行性分析 8
3.1.1 技术可行性 8
3.1.2 操作可行性 8
3.1.3 经济可行性 8
3.1.4 法律可行性 8
3.2系统流程设计 9
3.2.1 系统开发流程 9
3.2.2 用户登录流程 9
3.2.3 系统操作流程 10
3.2.4 添加信息流程 11
3.2.5 修改信息流程 11
3.2.6 删除信息流程 12
3.3系统用例分析 12
3.3.1 员工用例图 12
3.3.2 管理员用例图 12
4 系统设计 14
4.1 系统概述 14
4.2 系统结构设计 14
4.3 数据库设计 15
4.3.1 数据库设计原则 15
4.3.2 数据库实体 16
4.3.3 数据库表设计 18
5界面设计与功能实现 22
5.1 前台系统功能模块的实现 22
5.2 后台管理员功能模块的实现 27
5.3 后台员工功能模块的实现 27
6系统测试 28
6.1系统测试的方法 28
6.2测试用例 28
6.3测试分析 30
结 论 31
参考文献 32
致 谢 33

1绪 论
1.1课题背景
随着计算机技术和网络技术的不断发展,互联网成为一种新兴的行业。带动了各行相关产业链的发展[1]。
信息的传递在管理系统中是一个十分关键的环节。及时、准确的信息传输可以帮助各行业及时发现、处理和解决问题。使信息管理系统达到一个良性的循环。同时人力资源管理系统要想实现长久的发展,就必须要利用现代的信息技术和网络通讯技术,来构建一个信息化、协同化管理的人力资源管理体系[2]。
传统的管理方式必须进行信息化改造,这是一个不可避免的过程。这样既可以使各行业内部资源得到合理的配置,又可以通过信息化管理平台,通过这个平台,管理员和员工可以共享每个环节和相关资源。因此,研究和开发一个基于springboot框架的信息化、一体化的人力资源管理系统具有重要的意义。
1.2课题研究的意义
现代人力资源管理系统综合了共享信息、电子化、智能化等多种技术,对人力资源管理系统的多个流程了实现整合。信息化的人力资源管理系统是由多个分布式子系统组成的,各分布式子系统既可以完全独立运作,又有一定的联系。只有提高人力资源管理系统的各环节、各子系统的信息化水平,才能提高整个人力资源管理系统的运行效率[3]。
使用网络化智能分析技术后,可以实时的获取公告栏或用户需求等数据,对海量的数据进行过滤和分析,就能得到有价值的信息。这样,管理员和员工之间可以有更好的交互,同时,在一定条件下,可以实现部分数据的共享,从而提升服务质量和用户体验[4]。
1.3研究现状
在线上管理领域里,我国相比国外一些发达国家而言起步较晚。像美国、欧洲等国目前在该领域已经取得一定的成就,基本上建立起了不同层次的信息管理系统体系。
传统使用纸质文件的缺点有:
1、保存困难,易于丢失。纸质的材料经过长时间的存储或频繁的转移、翻阅,非常容易造成字迹变得模糊、材料发生意外破损或者丢失。
2、查询分析不方便。每个行业每季度或者年度都需要进行资料数据的整理、分析和总结,纸质的材料查询和分析都非常的耗时费力,而利用网络信息技术,可以很好的解决这些问题[5]。
3、对环境不友好,使用纸质文件不环保,产生的废弃纸张很多时候得不到及时的回收再利用,大大的浪费了自然资源。
这些年我国经济和科技蓬勃发展,诞生了很多新兴的产业,很多行业的经营模式向信息化和网络化方向发展,这给传统行业带来了巨大的冲击,也推动了我国现代许多行业进入快速发展的新阶段[6]。
由于现代科学技术的快速发展,信息技术、网络技术在线上管理领域得到了广泛的应用。在西方很多国家,很早之前就已经有了非常成熟的线上管理理论并逐渐形成完整的人力资源管理系统体系,美国与日本的线上管理已处于全球领先地位。欧洲线上管理虽然起步较晚,但是由于各国政府和相关企业的大力支持和关注,同时吸收先进的实践经验,最终本行业得到快速发展。
1.4研究方法
本文所采用的研究方法有:
1.调查法。通过市场调研和线下问卷调查等方式进行准确和全面的材料信息搜集工作,并对材料进行分析。
2.类比法。了解国外和国内线上管理的现状,吸取和借鉴先进线上管理理论经验,并在系统设计中进行适当的应用。
3.理论和实践结合法。在开发技术、开发环境和数据库技术等方面,通过对系统用户的需求进行分析,最终确定出最优的解决方案[7]。
4.UML建模法。对系统进行分析、建模和实际运行调试,使系统功能得以实现。
1.5论文组织结构
1.绪论,介绍了课题的研究背景、本论文的研究意义和目标等。
2.开发环境,介绍了与本系统实现相关的技术和工具,包括常用的后台Spring boot框架、前台Vue框架、JAVA语言、MySQL数据库等。
3.系统分析,主要是系统流程设计和系统用例设计及法律、经济等可行性分析。
4.系统设计,依照系统设计规范,绘制各个模块的流程图和用例图等。
5.界面设计与功能实现,主要是展示系统具体功能和系统界面开发结果[8]。
6.系统测试,对完成的系统功能进行白盒和黑盒测试,编写并列举了相关测试用例表。

2开发关键技术

2.1 Spring boot框架
Spring Boot的开发团队来自美国的Pivotal公司,是2013年研发的免费、轻量级、开源的系统框架。它集合、默认了许多框架的使用方法,是基于原有的框架的功能的又一次进化,所以从这个角度看,它就又是一个旧的框架。
Spring boot有以下几个特点:低嵌入式设计,代码污染性低;不是只局限于Spring,开发者可以随意的选择Spring框架的任意几个部分;使程序的测试变得更加简单与方便;没有独立的Web服务器需要,所以不再需要启动Tomcat,Glass Fish。

2.2 JAVA语言介绍
Java语言作为现在主流编程语言之一,就是因为它有很多自己的特点和优势。
Java语言具有以下几个特点:
(1)跨平台性
平时所说的一次编译,到处执行,指的就是这个跨平台性。Java的源代码编译后会生成字节码文件,这些文件可以被Java虚拟机执行,得到想要的结果。在设备上安装对应的虚拟机,Java的字节码文件就可以运行。
(2)面向对象
Java是一个面向对象的编程语言。面向对象是指把属性和方法进行封装,通过创建的对象调用里面的方法,实现一些功能。
(3)多线程
Java是支持多线程的,它允许在一个程序中同时开启多个线程,同时处理多个任务,这样可以提高它的效率。
Java语言对于开发工具要求不高,有专业的编程工具Eclipse会更顺利编程,但

是,没有专业的编程软件,用记事本也能进行编辑。

2.3 Vue简介
VUE是一套用于构建用户界面的渐进式框架。为了实现前后端分离的开发理念,开发前端 SPA(single page web application) 项目,实现数据绑定,路由配置,项目编译打包等一系列工作的技术框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动.

2.4 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。

2.5 MySQL数据库
MySQL是一种关系型数据库,它以表文件的形式在磁盘中进行存储,主要作用就是以表结构的方式存储数据信息,并且MySQL数据库提供对数据的管理功能,如数据备份,表关联等。
MySQL的存储引擎有:
1.MyISAM:节约空间,速度较快,但没有事务处理的机制。
2.InnoDB:安全性高,支持事务的处理,多表多用户操作,支持行级锁,是MySQL 5.5及以后版本的默认数据库引擎。

3系统分析
所谓系统分析,就是将自己对某一系统的构思以书面形式体现出来,并以此为基础,进行后续的软件设计和开发。在软件开发初期,人们对系统分析还不够重视,导致最终系统验收时,需要进行较大修改,这会耗费大量的人力和物力。造成这种现象的原因,是由于对用户或市场实际需求没有进行充分调研和详细的分析。这也是为什么近年来,关于系统分析的研究受到了越来越多的关注[9]。
3.1 可行性分析
人力资源管理系统主要目标是实现员工查询公告栏等功能的整个信息化管理。在进行系统的设计和实现前,需要先对该系统进行相关的可行性分析,如从技术、操作、经济、法律等方面判断系统在现有条件下是不是能够真正实现的[10]。
3.1.1 技术可行性
本系统在技术层面使用Eclipse作为Java开发环境,后台管理系统使用了Spring boot等技术,前端页面使用HTML5、cSS3、javascript,本系统选择MySQL数据库系统来开发完成本人力资源管理系统。作为软件工程专业的学生,在大学开设的相关专业课程中都包含了这些技术,所以在系统开发技术及应用上都没有太大困难,因此系统开发在技术层面是完全可行的[11]。
3.1.2 操作可行性
人力资源管理系统旨在为用户提供一个简单方便快捷的人力资源管理系统。人力资源管理系统的界面简洁,操作方便,即使是不具备很强的网络技术知识的用户也可以轻松使用。在管理员管理模块中,各项内容的管理操作界面也都简洁易懂的,实际操作也十分的简单,能满足基本的信息管理系统需要。因此该系统具有可操作性。
3.1.3 经济可行性
本项目所有功能的开发都是由本人独立完成,而且开发中使用的所有技术及工具也都开源的,易于学习和掌握的,所有省去了请专家开发指导的大笔费用,本系统的开发对计算机的软硬件的要求较低,因此这个系统在经济方面是完全可行的[12]。
3.1.4 法律可行性
人力资源管理系统属于自己设计的管理系统,因为这个系统在数据管理方面以及软件方面都是应用自己开发的开源代码,不存在模仿或盗用其他人的软件问题,是非常合法的。
从上面给大家讲解的过程不难看出,人力资源管理系统是一个全面优质的系统,我们开发的这个程序也是存在合法和必然性的,而且在技术方面也是过硬的,还节约了成本,难度不大,很适合用户进行操作[13]。
3.2系统流程设计
3.2.1 系统开发流程
人力资源管理系统的设计和开发,首先要对用户的实际使用需求和具体情况进行细致的分析,分析出系统要完成的全部功能,然后再针对整个系统的工作流程和功能进行设计,力求每个模块都能够达到用户的要求,最后通过测试来解决问题,保证系统的稳定和正常的运转,本系统的开发流程如图3-1所示。

图3-1系统开发流程图
3.2.2 用户登录流程
登录流程实现了管理员和其他用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功,否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-2所示。

图3-2登录流程图
3.2.3 系统操作流程
系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。
同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-3所示。

图3-3系统操作流程图
3.2.4 添加信息流程
系统的正常运行离不开数据的支撑,因此,在本系统中添加了数据插入功能,数据库中数据的缺失,会直接影响到数据的查询结果,查询结果错误又会导致逻辑处理出现偏差,最终导致系统性错误或故障,所以在对系统进行数据添加操作时,必须要对数据进行合法性校验,确定此条数据是否有惟一的主关键字和字段是否允许为空等等,若数据库表中不允许某字段为空,而程序没有进行该字段非空逻辑校验,那么就会出现数据存储失败,可能因此造成严重系统后果。添加信息流程如图3-4所示。

图3-4添加信息流程图
3.2.5 修改信息流程
因为使系统的使用者是人,所以难免会有疏忽,从而造成系统输入的信息有误。或者由于其他原因导致数据发生改变,使得必须对系统内的数据进行相应的调整,所以在程序运行中,数据的修改操作是不可缺少的重要环节。
在进行数据更新时,必须要有一个惟一的主关键字,以便数据库能够查询到相应的数据;另外,还必须遵守数据插入过程的操作规范,以确保数据的正确性。修改信息流程图如图3-5所示。

图3-5修改信息流程图
3.2.6 删除信息流程
删除操作在系统中并非是必须的,可根据用户及系统的需要来决定是否添加删除功能,删除操作就是使用delete语句将数据库中的某一匹配数据删除,因为此操作会导致用户数据丢失,所以为了避免使用者误按删除键,应在用户点击删除按钮时添加一个提示确认弹窗,当用户确定要删除时,再进行数据库的操作,并且在删除操作完成后要对用户进行反馈。删除信息流程图如图3-6所示。

图3-6 删除信息流程图
3.3系统用例分析
3.3.1 员工用例图
员工通过注册登录人力资源管理系统就可以修改个人信息、考勤打卡、补卡申请、请假、销假、员工工资进行查看详情等。员工用例如图3-7所示。

图3-7员工用例图

3.3.2 管理员用例图
人力资源管理系统的最大权限用户是管理员,通过管理员菜单中的系统首页、个人中心、员工管理、考勤打卡管理、部门管理、补卡申请管理、请假管理、销假管理、员工工资管理、留言板、系统管理进行管理。管理员用例如图3-8所示。

图3-8管理员用例图

4 系统设计
4.1 系统概述
人力资源管理系统的设计与开发是指对该系统的各个功能模块进行详细设计,力求每个模块都能够满足用户的要求,系统开发完成后还需对系统进行单元测试和系统测试,发现系统中存在的问题并解决,确保系统正常稳定的运行。人力资源管理系统工作原理图如图4-1所示:

图4-1 系统工作原理图
4.2 系统结构设计
系统结构设计必须要满足用户的业务需求,系统结构设计完成后要形成系统结构设计文档,开发人员就可根据模块接口说明进行接口开发,接口开发完需进行功能测试,目的是发现并解决系统漏洞,同时还得保证系统的可扩展性和稳定性,满足用户对系统的要求。系统设计需满足以下要求:
1.安全性
2.易用性
3.柔软性
4.柔软性
5.扩展性
人力资源管理系统的整体结构设计主要分为二大部分:管理员和员工。他们的权限不同,于是操作功能也有所不同。整体结构设计如图4-2所示。

图4-2 系统结构图
4.3 数据库设计
本系统依赖于MySQL数据库来储存信息,系统完成后,所有需要的数据都要从数据库中读取,这也意味着无论是插入、更新还是删除操作,只要对数据有改动的操作都需要与数据库交互,因此,系统的全部数据都要储存在数据库,必须保证数据库在未经授权情况下不得进行删除表结构等危险操作,而且要保证表中字段的准确性。
4.3.1 数据库设计原则
1.从上而下
2.从下至上
3.逐渐扩大
4.结合方法
4.3.2 数据库实体
E-R图,即实体-联系图,它是一种通过对实例进行抽象,以可视化的方式来描述现实世界的概念模型。根据需求分析绘制出数据库的E-R图,能够直观地映射出各个表之间的关系。
考勤打卡包括;考勤编号、打卡时间、考勤类型、员工工号、员工姓名、性别、部门、头像等信息,实体图如图4-3所示。

图4-3考勤打卡实体图

补卡申请包括;补卡类型、补卡时间、员工工号、员工姓名、性别、部门、头像、审核回复、审核状态、审核等属性,实体图如图4-4所示。

图4-4补卡申请实体图

员工工资包括;月份、员工工号、员工姓名、部门、工资条、基本工资、加班工资、绩效奖金、其他补助、扣款金额、实发工资、登记日期等信息,实体图如图4-5所示。

图4-5员工工资实体图

请假包括;请假原因、请假类型、开始时间、结束时间、请假天数、员工工号、员工姓名、性别、部门、头像、审核回复、审核状态、审核等属性,实体图如图4-6所示。
 
 图4-6请假实体图

4.3.3 数据库表设计
数据库的主要作用是储存和管理整个系统的数据。数据库中的数据在保证一定的独立性和安全性的前提下,也要有某种程度的共享,在一定条件范围内可以共享某些数据。必须保证数据库中每张表里存储的数据是安全的,如果没有经过身份认证,就无法查阅及使用。在进行数据库设计时,应根据具体情况,进行有针对性的数据库开发和设计。下面列举主要数据库表结构。
表4-1:请假
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
qingjiayuanyin varchar 200 请假原因
qingjialeixing varchar 200 请假类型
kaishishijian datetime 开始时间
jieshushijian datetime 结束时间
qingjiatianshu float 请假天数
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
bumen varchar 200 部门
touxiang longtext 4294967295 头像
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复

表4-2:公告栏
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容

表4-3:留言板
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 留言人id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
content longtext 4294967295 留言内容
cpicture longtext 4294967295 留言图片
reply longtext 4294967295 回复内容
rpicture longtext 4294967295 回复图片

表4-4:考勤打卡
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
kaoqinbianhao varchar 200 考勤编号
dakashijian datetime 打卡时间
kaoqinleixing varchar 200 考勤类型
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
bumen varchar 200 部门
touxiang longtext 4294967295 头像

表4-5:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-6:部门
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
bumen varchar 200 部门

表4-7:员工工资
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuefen varchar 200 月份
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
bumen varchar 200 部门
gongzitiao longtext 4294967295 工资条
jibengongzi float 基本工资
jiabangongzi float 加班工资
jixiaojiangjin float 绩效奖金
qitabuzhu float 其他补助
koukuanjine float 扣款金额
shifagongzi float 实发工资
koukuanyuanyin longtext 4294967295 扣款原因
dengjiriqi date 登记日期

表4-8:补卡申请
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shenqingyuanyin longtext 4294967295 申请原因
bukaleixing varchar 200 补卡类型
bukashijian datetime 补卡时间
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
bumen varchar 200 部门
touxiang longtext 4294967295 头像
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复

表4-9:员工
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
mima varchar 200 密码
xingbie varchar 200 性别
bumen varchar 200 部门
lianxidianhua varchar 200 联系电话
jiatingzhuzhi varchar 200 家庭住址
touxiang longtext 4294967295 头像

表4-10:销假
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
qingjiayuanyin varchar 200 请假原因
qingjialeixing varchar 200 请假类型
kaishishijian varchar 200 开始时间
jieshushijian varchar 200 结束时间
qingjiatianshu varchar 200 请假天数
beizhu varchar 200 备注
xiaojiashijian datetime 销假时间
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
bumen varchar 200 部门
touxiang longtext 4294967295 头像
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复

表4-11:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-12:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP

5界面设计与功能实现
5.1 前台系统功能模块的实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到人力资源管理系统的导航条显示首页、公告栏、留言板、后台管理。系统首页界面如图5-1所示:

图5-1 系统首页界面

在系统首页点击中间的注册/登录按钮,然后页面跳转到注册登录界面,后来输入信息完成后,单击注册或者登录操作,如图5-2所示:

图5-2员工注册、员工登录界面

用户点击公告栏:在公告栏页面的搜索栏输入标题,进行查询,还可以查看标题、简介、发布时间、公告栏等内容,如图5-3所示:

图5-3公告栏页面

留言板的实现:主要是通过留言板可以让员工去进一步的与管理员进行沟通,可以去提出自己的意见或者自己所面临的问题等,如图5-4所示:

图5-4留言板页面

在个人中心页面可以输入个人详细信息,进行信息更新操作,如图5-5所示:

图5-5个人中心界面

5.2 后台管理员功能模块的实现
管理员打开人力资源管理系统后,首先要填写本人的登录信息,后端会查询数据库信息,若用户名、密码,全部正确会自动跳转到系统功能主页面,否则需要重新输入登录信息,界面如图5-6所示。

图5-6管理员登录界面

管理员登录人力资源管理系统可以新增、修改或者删除系统首页、个人中心、员工管理、考勤打卡管理、部门管理、补卡申请管理、请假管理、销假管理、员工工资管理、留言板、系统管理等。其界面如图5-7所示。

图5-7 管理员功能界面

管理员点击员工管理;在员工管理页面通过对员工工号、员工姓名、性别、部门、联系电话、家庭住址、头像等信息,进行查询、新增或删除员工信息等操作;如图5-8所示。

图5-8员工管理界面图

管理员点击考勤打卡管理;在考勤打卡管理页面通过对考勤编号、打卡时间、考勤类型、员工工号、员工姓名、性别、部门、头像等信息,进行查询或新增、删除考勤打卡等操作;如图5-9所示。

图5-9考勤打卡管理界面图

管理员点击补卡申请管理;在补卡申请管理页面通过对补卡类型、补卡时间、员工工号、员工姓名、性别、部门、头像、审核回复、审核状态、审核等信息,进行查询或新增、删除补卡申请等操作;如图5-10所示。

图5-10补卡申请管理界面图

管理员点击请假管理;在请假管理页面通过对请假原因、请假类型、开始时间、结束时间、请假天数、员工工号、员工姓名、性别、部门、头像、审核回复、审核状态、审核等信息,进行查询或删除请假等操作;如图5-11所示。

图5-11请假管理界面图

管理员点击员工工资管理;在员工工资管理页面通过对月份、员工工号、员工姓名、部门、工资条、基本工资、加班工资、绩效奖金、其他补助、扣款金额、实发工资、登记日期等信息,进行查询或删除员工工资等操作;如图5-12所示。

图5-12员工工资管理界面图

管理员点击留言板;在留言板页面通过对用户名、留言内容、留言图片、回复内容、回复图片等信息,进行查询或删除留言板等操作;如图5-13所示。

图5-13留言板界面图

5.3 后台员工功能模块的实现
员工点击后台管理,然后页面跳转到系统后,员工可以对系统首页、个人中心、考勤打卡管理、补卡申请管理、请假管理、销假管理、员工工资管理进行相应操作,如图5-14所示:

 图5-14员工功能界面

6系统测试
由于互联网和现代科学技术的发展,目前很多行业都尝试使用网络技术进行信息管理。一个系统软件的安全品质是要严格管控的,一定要做到最好,最大限度的减少系统运行问题,让更多的用户能够接受并使用它,从而获得更多的宣传和推广。因此,在完成系统开发后,必须对系统进行大量的单元测试和系统测试,以保证其稳定性和可用性,以及是否能够满足用户的要求[14]。
软件测试是软件开发过程中必不可少的一部分,它不仅包括代码结构检查,而且还必须按照规定的标准原则,系统地、严谨地验证和确认软件的各个方面和各种情况。系统测试的目的是通过实际生产运行环境,检验在完整的系统配置下各个功能模块是否达到设计说明书中的要求,及时发现问题,并交由开发人员进行修正,保证系统安全稳定的运行。
6.1系统测试的方法
软件测试的方法有很多,如白盒测试、黑盒测试等,下面将简单介绍一下这两种测试方法的区别。
黑盒测试主要测试整个功能模块,检验该功能是否正确、前后端接口调用有没有错误、输入输出的格式正确与否、连接MySQL进行增删改查操作数据是否错误等[15]。
白盒测试主要是通过语句覆盖、条件覆盖等测试方法对代码语句和逻辑进行检验。通过该方法可以找到黑盒测试无法覆盖的错误,使生成的测试用例能够很好的覆盖测试需求,达到及时发现问题并解决的测试目的。
对于人力资源管理系统来说,首先需要采用白盒测试检查代码的所有逻辑的准确性,同时也需要使用黑盒测试对系统整体功能的实现进行用户体验测试。
6.2测试用例
用户登录功能测试主要是验证用户登录时输入正确的信息后是否能够跳转至正确的页面,以及输入错误信息时是否能够识别并给出错误提示信息的功能。
用户注册功能测试主要是对添加的每一条注册信息进行合法性校验,校验通过后是否能够正确地插入数据库表中,并且该注册用户是否能正常使用。例如如用户注册填入的用户名已被注册,需要提示用户该用户名已存在;第一次和第二次输入的密码不一致,提示用户密码填写不一致,然后强制用户重新输入密码;还有一些用户会忽略或忘记输入一些带星号必须要填写的数据,这时如果点击提交按钮,系统要能够识别出来,并且给出提示,并且此提交操作不能成功等等。具体测试用例如表6-1所示。
表6-1 用户登录及注册测试用例表
序号 测试内容 测试方法 预期结果 测试结果
1 登录 1.用户输入个人账号及密码点击‘登录’。
2.账号输入错误。
3.密码输入错误。
4.账号及密码对应且输入正确。 1.登录成功,页面显示个人中心。
2.系统提示登录失败。
3.系统提示登录失败。
4.登陆成功,页面显示个人中心。 符合
2 注册 1.用户点击‘注册’。
2.填写的用户名已经存在。
3.密码和确认密码不一致。
4.任意一项必填为空。
5.联系电话格式错误。
6.填写的各项表单字段均正确。
1.页面显示注册表单信息。
2.系统提示用户名已存在。
3.系统提示密码输入错误。
4.系统提示必填项没有填写。
5.系统提示联系电话填写错误。
6.系统提示注册成功。 符合
6.3测试分析
经过对人力资源管理系统的测试后,证明该系统在技术实现层面是可行的,系统设计是合理的。而且经过对市场上人力资源管理系统现状的分析和用户需求调研后,设计的系统能够满足用户的需求。系统的测试结果显示各个功能都是符合设计要求的,可以安全稳定的运行,所以这是一个值得被推广和广泛使用的一款人力资源管理系统。

结 论
本文设计实现了一个基于springboot框架的人力资源管理系统,该系统以Eclipse作为Java项目开发工具,系统开发基于B/S架构设计模式,使用springboot后端框架,MySQL为数据库。本系统主要分为多个功能模块:员工管理、考勤打卡管理、部门管理、补卡申请管理、请假管理、销假管理、员工工资管理、留言板等功能。因开发时间和本人知识储备及能力等因素的限制,使得系统可能存在一定的缺陷,我们需要对系统进行反复地测试,改进不足之处,不断的进行更新迭代,使其能够拥有更大的市场。

参考文献
[1]金家旭,孙丹.企业管理系统优化研究[J].商场现代化,2021(08):61-63.
[2]张洪涛.浅谈物流信息系统与现代物流管理[J].佳木斯大学社会科学学报,2019(02):59-61.
[3]陆叶杉.基于B/S架构的企业员工管理系统设计实现[D].广西大学,2020.
[4]邱国斌,王颖丽.基于PCA方法的江西省“互联网+物流”可持续发展实证研究[J].南昌航空大学学报(社会科学版),2019,20(04):16-26.
[5]席芸.中小型人力资源管理系统的设计与实现[D].北京工业大学,2019.
[6]王志文.Vue+Elementui+Echarts在项目管理平台中的应用[J].山西科技,2020,35(06):45-47.
[7]杨朔,张民,宋源清,刘丰羽,李海滨,周晓燕.基于springboot框架的人力资源管理系统的设计实现[J].电脑知识与技术,2019,15(29):83-85.
[8]贺雪梅.web应用开发中的springboot框架设计[J].电子世界,2019 (1):206.
[9]唐权.springboot框架在JavaEE教学中的应用与实践[J].福建电脑,2020,33(12):93-94,61.
[10]陈钊.springboot框架在Web应用开发中的设计与实现研究[J].电脑知识与技术,2021,17(10):226-227.
[11]M A Akbar,I Handriani. Study and Implementation Information System of Zakat using MVC Architecture[J]. IOP Conference Series: Materials Science and Engineering,2019,453(1):13-18.
[12]Yassine Rhazali,Youssef Hadi,Abdelaziz Mouloudi. Model Transformation with ATL into MDA from CIM to PIM Structured through MVC[J]. Procedia Computer Science,2020,83.
[13]Yu Feng Jiang,Xiao Meng Lv,Yu Feng Zhang. Online Course Platform Database Analysis Based on the MVC Structure[J]. Advanced Materials Research,2019,3181.
[14]刘克.MVC架构及其在Web应用开发中的应用[J].计算机应用与软件,2019,23(7):51-59.
[15]慕静、任立肖、檀柏红. 管理信息系统开发方法、工具与应用(第2版)[M].北京:清华大学出版社,2020.

致 谢
在本科的学习过程虽然是艰苦的,但我在学习的同时也交往了许多朋友,收获了同学真挚的友谊,大家相互鼓励、相互帮助,一起度过了难忘的大学生活。
在这里我要感谢我的导师,在学习的各个方面给予了我许多的指导和帮助。特别是在论文的设计和修改方面,导师一丝不苟的工作态度深深的影响了我,对我所提的问题耐心的讲解,帮我多次修改论文,找出论文中的问题,大量查阅资料,结合国内外现状分析完善设计,在辅导我完成论文上付出了很多,在此,表示深深的感谢。
在导师的指导下,自己掌握了许多相关的技术知识,并且在论文和毕业设计中运用,完成了本课题的设计与实现。在开发和实践中,我也有很多自己的心得体会。
最后,我要感谢学校的老师、实习单位的老师以及同学们,在我学习期间的关心帮助和支持,使我顺利地完成系统的开发和毕业论文的撰写,衷心地向你们说声谢谢。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一些基于Java的软件工程毕业项目建议: 1. 基于Java的图书管理系统 2. 基于Java的在线购物商城 3. 基于Java的学生信息管理系统 4. 基于Java的银行管理系统 5. 基于Java人力资源管理系统 6. 基于Java的医院管理系统 7. 基于Java的订单管理系统 8. 基于Java的景点门票预订系统 这些项目可以帮助您练习Java语言开发能力,并且具有一定的实际意义。 ### 回答2: 软件工程是一个涉及软件开发的学科,Java是一种广泛使用的编程语言。在选择毕设题目时,可以考虑以下几个方面: 1. 项目管理系统设计一个基于Java的项目管理系统,其中包括任务分配、进度追踪、团队协作等功能。 2. 学生管理系统设计一个基于Java的学生管理系统,包括学生信息管理、课程管理、成绩管理等功能。 3. 在线商城:实现一个基于Java的在线商城,包括用户注册登录、商品浏览、购物车、下单支付等模块。 4. 资源分享平台:设计一个基于Java的资源分享平台,通过用户上传、下载的方式共享各种学习资料、教学资源。 5. 社交网络应用:实现一个基于Java的社交网络应用,包括用户注册登录、好友关注、个人资料展示、消息推送等功能。 6. 在线考试系统:设计一个基于Java的在线考试系统,包括试题管理、成绩统计、考试安排等模块。 以上仅为一些建议,具体的毕设题目应根据个人的兴趣和实际情况进行选择。同时,还需要考虑项目的可行性和实现的难度,确保能够在规定的时间内完成并取得良好的成果。最重要的是要根据自己的专业知识和技能,选择一个能够提升自己能力和实践技术的题目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值