ssm098人力资源管理系统+vue
项目清单 包安装运行 官网地址 http://chenqi1990.site
ssm098人力资源管理系统+vue
github 项目仓库 开源仅有后端代码
点击播放视频 ▼
课题背景
随着中国的科技的不断进步,计算机发展也慢慢的越来越成熟,人们对计算机也是越来越更加的依赖,人事、教育慢慢用于计算机进行管理。从第一台计算机的产生,到现在计算机已经发展到我们无法想象[11]。给我们的生活改变很多很多,给我们提供了把很多的方便,计算机已经融入到我们的生活中,和我们的生活息息相关。
对于企业来说,企业是给我们提供工作的场所,信息的管理来说更加的重要,例如企业人力资源的管理,涉及的信息广泛,整体管理数据上的工作量很大,过去基于文本、表格等形式的管理体系,效率低,严重制约了企业的发展,因此需要对企业人力资源管理方式进行变革,需要依靠先进的计算机平台和数据库来实现建立人力资源管理系统,满足企业人力资源管理需求[2]。
据调查,传统的企业人力资源管理模式面对大量信息,信息的时效性不足等弊端突出,传统的企业人力资源管理过度的依靠手工,面对繁杂的信息只依靠手工,使快速处理好大量数据成了一件困难的事,给企业人力资源管理带来了诸多不便,因此,传统的企业人力资源管理模式已经远远无法满足当今企业的发展需求,我们急需对企业人力资源管理体系进行变革。
-
研究现状
在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新。软件行业早已遍布各个地方。
在国内,我国信息技术发展起步比较晚,后期慢慢的不断地进行优化和改革,才让我们的信息技术上升到新的阶段。在现在软件开发的技术经过大量研究和生活实践基本能够达到独立开发系统应用的水平,生活中的各个行业也把软件操作替换成传统的记录模式。软件行业正是现在比较热门的行业[12]。
中国是世界上人口最多的国家,目前有近14亿人口,劳动力人口有近8亿,约占界劳动人口的25%(《中国统计年鉴》2008数据)。而对于如此庞大的劳动力人口,企业管理数字化已经成为趋势[11]。对于人力资源管理方面来讲,传统的管理的方式,已经无法满足企业人力资源管理的需求,因此我们利用软件技术开发人力资源管理信息化系统来进行快速实现人力资源管理的功能,提高人力资源管理的效率。
-
论文结构安排
对本文所涉及的相关技术进行学习,系统的分析是一个很重要的环节,更好的进行程序的设计,必须进行前期的深入调查,对系统进行全面的功能设计,和详细的解析。课题最主要的工作是通过JSP+MYSQL建立一个完善的人力资源管理系统,系统最主要的模块是企业人力资源相关信息的管理。本文主要分为六大部分:
第一部分绪论介绍了本文的研究背景,概述了的研究现状和论文的结构安排。
第二部分主要是是介绍了人力资源管理系统所采用的技术,开发环境。
第三部分对人力资源管理系统进行分析,包括可行性分析,系统功能需求,系统流程分析等。
第四部分进行系统的设计,这一部分是系统主要的数据库部分,介绍功能结构和数据库的设计等。
第五部分总结了系统的界面和实现过程进行分析。
第六部分主要是对系统测试进行阐述,对测试遇到的问题进行说明。
-
系统关键技术
-
JSP技术
-
JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html) [2]。
JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jsp这种编程语言不仅容易学习,而且还具备许多高级的特性[4]。在程序的开发过程中,使用jsp也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,jsp都能很轻松地解决,帮助程序开发者省下许多时间,JSP 新版本的发布,标志着一个全新的JSP时代的到来,它最大的特点就是引入了面向对象的全部机制,并保留了向下的兼容性。综上所述,使用JSP,可以自由的选择操作系统、Web服务器以及合适的数据库管理系统。同时,设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者也可以两种都使用,可以称为混和方式设计[8]。
JSP的优点:编写一次,始终运行。还有jsp可以延展可以缩短的强大优势,还有就是支持多种开发语言并且兼容性好,适用于很多平台顺利运行[5]。
-
JAVA技术
Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。
在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java[16]。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。
(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。
(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。
(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。
-
B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用[4]。
在早期的程序开发中,使用得最多的莫过于C/S架构了,现在的生活中软件在生活的各个方面落地,使用了C/S架构开发出来的软件也是不在少数的,比如企业日常办公使用到的微软的OFFICE软件,我国自己研发的文档处理软件WPS,还有娱乐软件腾讯的QQ,腾讯的微信,以及电脑上安装的杀毒软件金山杀毒软件,瑞金杀毒软件等都是C/S架构。但是在Internet网络盛行之后,鉴于大家对数据信息共享的需求,在原来的C/S架构上进行了升级改进之后,有了现在的主流架构B/S架构,B/S架构就是在C/S架构上多了一个浏览器[3],让原来的直接访问服务器的方式,变成了通过浏览器去访问服务器。充分运用到了当下不断成熟的浏览器技术。也让软件的开发成本以及维护成本降低了。可以说B/S这种新型的架构模式让软件的开发变得便利化。
B/S架构不需要在任何客户端来进行程序的部署,使用这样的程序结构来使用开发好的系统是利用浏览器来使用的,就是把开发好的程序配置到一台远程服务器上,在任何可以访问这台服务器的客户端电脑上都可以对程序进行操作和使用,这样的方式给使用者带来了极大的便捷。这样的结构提高了程序的运行效率,打破了地域的限制,降低了程序的使用成本。
-
MYSQL数据库
所谓数据库,实际上就是一个容器,按照数据结构来组织、存储和管理。数据库的作用就是为大量的信息进行管理并提供高效的解决方案。
MySQL是典型的关系数据库系统,拥有开源免费、稳定、高效等特点,一直是中小型web项目的最佳数据库选择。MySQL作为当今IT领域使用人数最多的开源关系型数据库软件之一,在2018年的数据库使用率排名中位居第二,仅次于目前为止最成功的商业版数据库Orcle[7]。MySQL最大的优势之一就是无偿使用,这也是它成功的关键。
MySQL支持标准化数据库查询语言SQL。MySQL是一款非常适合个人开发者或小型组织开发团体的数据库管理系统,因为它是开源并且免费的,体积小、速度快、成本低以及其最重要的一点开放源码[8],深受程序设计人员的喜爱,这也让它成为了许许多多中小型开发网站数据库的首选,同时提供了多种开发的连接API。MySQL将数据的存放按照记录之间的关系存放到了不同的表中,减少了数据的冗余并且提高了开发的工作效率。MySQL支持开发中需要用的大型数据库,并能处理数以万计的记录。因为MySQL是开源的软件,所以在项目的预算中的时候不用花费额外的资金,大大降低了开发的总体成本[10],这也是MySQL数据库在中小型企业和独立的开发者中广泛流行的原因。
-
系统分析
-
可行性分析
-
在进行可行性分析时,我们通常根据软件工程里方法,通过四个方面来进行分析,分别是技术、经济、运行和法律可行性。因此,在基于对目标系统的基本调查和研究后,对提出的基本方案进行可行性分析
-
技术可行性
技术可行性一是考虑客观的技术可行性,二是考虑实际的技术可行性。从客观上、简单地说,现已经出现了类似的系统,因此客观上的可行性是满足的。从现有的实际情况上来看,该系统使用的是JAVA开发语言、MYSQL都是容易获得的,同时计算机的硬件性能也满足开发软件的需求;且在本科课程中都有进行相关软件的学习和开发。综上所述,该系统具有技术可行性。
-
经济可行性
开发该系统时,优先考虑了使用网页来完成该系统。从已有的Web网页开发的案例、资料中,可知Web所需要的软硬件简单,切开发成本低。且从引进该系统后的预想表现将会比传统方式优异,其具有高效、低成本的特点。可以大量节省管理的人力、物力,具有一定经济效益和社会效益。综上所述,该系统具有高经济可行性
-
运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。以目前信息技术的普及程度之广、相关工作的操作人员的水平之高,是足以胜任的。综上所述,该系统具有高运行可行性。
-
法律可行性
(1)所使用的技术或者资料(书籍、文献、软件)合乎中国法律。
(2)所开发过程不涉合同、侵权、责任和各种法律相抵的问题。
(3)所完成系统不存在侵犯版权问题。
(4)完全符合中国的《中华人民共和国著作权法》和《计算机软件保护条例》。
综上所述,该系统具有高法律可行性。
通过分析论证,该系统总体上是具有高可行性的。
-
系统性能分析
达到如以下的性能需求指标,可以保证系统的安全性、可靠性、稳定性,需要:
(1)系统响应的精确性和实时性
这是本系统必要的性能。考虑到未来系统可能承受的工作量,需要能够承担得起企业级的信息处理需求。实时性是该系统的生命线,因此需采用软实时系统来进行保证。
(2)系统的开放性和系统的可扩充性
本系统是一个较为初期的一个雏形,以后势必会根据的企业人力资源管理需求的扩大或转变。这就要求本系统需要提供足够的开放型和可扩充性,只要符合本系统的设计准则都可以将新的模块加入。通过这样的升级、维护来完成本系统后期的生命周期。
(3)系统的易用性和易维护性
本系统是面对企业管理人员使用的,这就要求不论是熟悉或不熟悉计算机的人员都可以对系统进行有效的人机交互。因此提供给用户一个友好、漂亮的图形接口是非常重要的。这可以通过发一些纸质和实际的界面模型问卷调查来获得最佳的效果。此外,也考虑到维护本系统的操作人员,有效的手段的数据备份、管理和错误检测、恢复需要被提供给相关的人员。
(4)系统的响应速度
要求系统在任何情况下的平均响应速度达到秒级,具有软实时性。一是为了保证了系统的工作效率,二为了防止系统因同一时间段大量的员工登录系统而造成错误、瘫痪。
-
系统功能分析
本人力资源管理系统主要包括临时员工功能模块、正式员工功能模块、总管理员功能模块和管理员功能模块4大部分,下面将对这四大功能模块分别进行功能分析。
(1)管理员:管理员登录后主要功能模块包括个人中心、临时员工管理、正式员工管理、职位调度申请管理、报销申请管理、部门信息管理、职位信息管理、工作进度管理、管理员管理以及系统管理。管理员用户用例图如图3-1所示。
图3-1 管理员用例图
(2)总管理员:总管理员注册登录后主要功能模块包括个人中心、临时员工管理、正式员工管理、职位调度申请管理、报销申请管理、部门信息管理、职位信息管理、工作进度管理、总管理员管理、数据库管理、管理员管理以及系统管理,总管理员用例图如图3-2所示。
图3-2 总管理员用例图
(3)临时员工:临时员工注册登录后主要功能模块包括个人中心、工作进度管理,临时员工用例图如图3-3所示。
图3-3 临时员工用例图
(4)正式员工:正式员工注册登录后主要功能模块包括个人中心、职位调动申请管理、报修申请管理以及工作进度管理,正式员工员用例图如图3-4所示。
图3-4 正式员工用例图
-
系统流程分析
-
操作流程
-
用户要想进入本系统,必须进行登录操作,登录成功则进入对应用户功能界面,可进行功能操作处理,反之登录失败。系统操作流程如图3-5所示。
图3-5 系统操作流程图
-
添加信息流程
用户在添加信息时,系统编号自动生成,用户需要输入信息,系统会对其进行验证,验证通过则添加成功,反之添加失败,添加信息流程如图3-6所示。
图3-6 添加信息流程图
-
修改信息流程图
用户在进行修改信息操作时,首先进入修改信息界面,用户输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图3-7所示。
图3-7 修改信息流程图
-
删除信息流程
用户可选择需要删除的数据进行删除信息操作,删除信息流程如图3-8所示。
图3-8 删除信息流程图
-
系统结构分析
-
逻辑结构
-
本人力资源管理系统的特点就是利用Browser/Server(B/S)结构,为企业人力资源管理提供了一个网络管理的平台,让管理人员只要可以上网就可实现企业人力资源管理相关信息的管理操作。
本系统的网络应用原理示意图如图3-9所示:
图3-9系统的网络应用原理示意图
-
物理结构
系统实现的物理结构如图3-10所示:
图3-10 系统实现的物理结构图
-
系统设计
-
系统概要设计
-
人力资源管理系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4-1就是开发出来的程序工作原理图。
图4-1 系统工作原理图
-
系统结构设计
系统的设计和划分是系统的核心研究问题,以确定整体结构和功能模块。该系统的结构化设计的思想,是自顶向下的方式将系统分成若干个子系统,以及反过来的子系统分成模块,其被划分成子模块,层划分各计算机可执行模块可迄今用作一个单独的程序。
本人力资源管理系统的结构图如图4-2所示。
图4-2 系统结构图
-
系统顺序图设计
(1)登录模块顺序图
登录模块主要满足了管理员、临时员工、正式员工以及总管理员的权限登录,登录模块的顺序图如图4-3所示。
图4-3 登录模块顺序图
(2)添加信息模块顺序图
管理员、临时员工、正式员工以及总管理员登录后均可进行信息的添加,添加信息顺序图如图4-4所示
图4-4 添加信息模块顺序图
-
数据库设计
本人力资源管理系统采用的是MYSQL数据库,数据存储快,因为人力资源管理系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确。
-
数据库E-R图设计
E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系。E-R图即由这三点组成。
实体:E-R图中数据的实体,用矩形表示上面为实体名,下面为实体属性,实体包含主外键等关系。
属性:E-R图中的属性,是指实体的属性,实体由多条属性所构成,属性拥有自己的数据类型,数据大小。属性的优劣决定了E-R图中实体的健全性、完整性。
关系:E-R图中的关系是指实体之间的关系,用菱形来表示实体间的关系,这些菱形关系的联系上有着一对多或多对多的数据联系,这些构成了E-R图的关系,E-R图的关系紧密连接了实体,使实体间的关联性更加的显著、易懂。本人力资源管理系统的E-R图如下所示:
(1)报销申请信息实体E-R图如图4-5所示:
图4-4 报销申请信息实体E-R图
(2)部门信息实体E-R图如图4-5所示:
图4-5 部门实体E-R图
(3)工作进度信息实体E-R图如图4-6所示:
图4-6 工作进度信息实体E-R图
(4)用户信息实体E-R图如图4-7所示:
图4-7 用户实体E-R图
(5)职位调度申请信息实体E-R图如图4-8所示:
图4-8 职位申请调度实体E-R图
-
数据库表设计
人力资源管理系统采用MYSQL数据库系统进行系统数据的储存,下面介绍数据库中的各个表的详细信息。
表4-1 baoxiaoshenqing报销申请信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
---|---|---|---|---|---|
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
xingming | 姓名 | varchar | 200 | 否 | 是 |
bumen | 部门 | varchar | 200 | 否 | 是 |
zhiwei | 职位 | varchar | 200 | 否 | 是 |
riqi | 日期 | datetime | 否 | 是 | |
baoxiaoneirong` | 报销内容 | longtext | 否 | 是 | |
baoxiaojine | 报销金额 | int | 11 | 否 | 是 |
fapiaoxiangqing | 发票详情 | varchar | 200 | 否 | 是 |
`sfsh | 是否审核 | varchar | 200 | 否 | 是 |
shhf` | 审核回复 | longtext | 否 | 是 | |
userid` | 用户编号 | bigint | 20 | 否 | 是 |
表4-2 bumenxinxi部门信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
---|---|---|---|---|---|
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
bumenming | 部门名 | varchar | 200 | 否 | 是 |
表4-3 gongzuojindu工作进度信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
---|---|---|---|---|---|
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
bumen | 部门 | varchar | 200 | 否 | 是 |
zhiwei | 职位 | varchar | 200 | 否 | 是 |
gongzuo | 工作 | varchar | 200 | 否 | 是 |
qishishijian | 起始时间 | datetime | 否 | 是 | |
jieshushijian | 结束时间 | datetime | 否 | 是 | |
dangqianjindu | 当前进度 | varchar | 200 | 否 | 是 |
表4-4 users用户信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
---|---|---|---|---|---|
id | 编号 | bigint | 20 | 是 | 否 |
username | 用户名 | varchar | 100 | 否 | 是 |
`password | 密码 | varchar | 100 | 否 | 是 |
role | 角色 | varchar | 100 | 否 | 是 |
addtime | 新增时间 | timestamp | 否 | 是 |
表4-5 zhiweidiaodushenqing职位调度申请信息表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 是否主键 | 能否为空 |
---|---|---|---|---|---|
id | 编号 | bigint | 20 | 是 | 否 |
addtime | 创建时间 | timestamp | 否 | 是 | |
gonghao` | 工号 | varchar | 200 | 否 | 是 |
xingming | 姓名 | varchar | 200 | 否 | 是 |
shouji | 手机 | varchar | 200 | 否 | 是 |
bumen | 部门 | varchar | 200 | 否 | 是 |
zhiwei | 职位 | varchar | 200 | 否 | 是 |
`zhiweidiaodu | 职位调度 | varchar | 200 | 否 | 是 |
xinbumen | 新部门 | varchar | 200 | 否 | 是 |
xinzhiwei | 新职位 | varchar | 200 | 否 | 是 |
shenqingyuanyin` | 申请原因 | longtext | 否 | 是 | |
sfsh | 是否审核 | varchar | 200 | 否 | 是 |
shhf` | 审核回复 | longtext | 否 | 是 | |
userid | 用户编号 | bigint | 20 | 否 | 是 |
-
系统的实现
-
注册模块的实现
-
没有账号的临时员工、正式员工以及总管理员均可进入对于注册界面进行注册操作,注册界面展示如图5-1所示。
图5-1注册界面图
-
登录模块的实现
用户要想进入本系统必须进行登录操作,系统登录界面如图5-2所示。
图5-2 系统登录
-
工作进度管理模块的实现
管理员、总管理员均可增删改查工作进度信息,临时员工以及正式员工可查看工作进度信息,添加工作进度管理界面如图5-3所示,工作进度管理界面展示如图5-4所示,查看工作进度界面展示如图5-5所示。
图5-3 添加工作进度界面
图5-4 工作进度管理界面
图5-5工作进度查询界面
-
临时员工管理模块的实现
管理员和总管理员均可增删改查临时员工信息,临时员工管理界面如图5-6所示。
图5-6 临时员工管理界面
-
正式员工管理模块的实现
管理员和总管理员均可添加、修改和删除正式员工信息,正式员工管理界面如图5-7所示。
图5-7 正式员工管理界面
-
职位调动申请管理模块的实现
正式员工登录后可进行职位调动申请操作,管理员和总管理员可查看,并可对其进行审核管理,职位调动申请界面展示如图5-8所示,职位调动申请管理界面如图5-7所示。
图5-8 职位调动申请界面
图5-9职位调动申请管理界面