springboot人事管理系统论文--lw源码调试讲解

2 相关技术

2.1 VUE介绍

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

2.2 Mysql数据库介绍

有了程序功能的操作,也需要对程序操作的各个功能所产生的数据信息存放在一个固定的仓库里面,这个所谓的仓库就是大家最熟悉的程序开发需要使用的数据库了,数据库能够发展到至今的模样,其实也是经历了很多的变化历程的,在最开始由于数据信息处理的需要开始推出最低级的数据管理,这个阶段也是数据库早期的人工管理的阶段,后来也经历了文件管理的阶段,这个阶段的数据管理因为信息不能够进行共享,加上管理的数据对配套的程序产生了较强的依赖性,在数据信息管理上也存在很多数据的重复记载造成数据冗余等问题。所以为了解决上述一系列文件管理阶段所产生的数据管理的问题,对数据管理方式进行了全方位的升级改造,也就让数据管理进入了一个全新的阶段——数据库系统的阶段。这个阶段也是数据库管理数据的一个全新的相当高级的阶段。

说到数据库,也不得不说数据库的模型,数据库拥有的数据模型有网状,还有层次,以及关系型这三样数据库模型。网状的结构就是把记录的每条信息都比喻成一个点,点跟点之间也有联系,最终就形成了一个像网一样的结构,就是所谓的网状数据模型。也有对数据记录使用树状结构的方式进行数据保存,这个就是层次数据模型,关系数据库模型运用在现在市面上常见的数据库当中了,像本系统开发使用的MySQL数据库,还有安装过程比较复杂的Sqlserver数据库,也有一些比较小巧的关系型数据库,像Access数据库,FoxPro数据库等数据库。这样的关系型数据库将数据表里面的行还有列进行相互关联形成一个二维矩阵的方式来保存程序所产生的数据信息。

本次之所以选择MySQL数据库来当程序数据存放的仓库,则是因为此数据库安装不用费时,也不需要各种百度信息去解决安装过程中出现的任何问题,而且由于自己的电脑内存比较小,才4个G,为了更好的开发项目程序,针对低配置的电脑选择MySQL数据库也是情理之中。图2.3展示了数据列设计中需要使用的列类型。

图2.3数据列类型图

2.3 JAVA语言介绍

在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。

1.在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。

2.企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。

3.现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。图2.4就是 Java技术原理图。

图2.4 Java技术原理图


3 系统分析

3.1系统可行性分析

需要使用大部分精力开发的人事管理系统为了充分降低开发风险,特意在开发之前进行可行性分析这个验证系统开发是否可行的步骤。本文就会从技术角度,经济角度,还有用户使用的程序的运行角度进行综合阐述。

3.1.1 技术可行性分析

开发程序选择的是面向对象的,功能强大的,简单易用的Java程序设计语言,数据库的开发工具使用到了Mysql数据库,由于自己之前接触过一些简单的程序开发方面的设计作品,所以对Myeclipse工具的使用比较熟练,对于数据库的操作技巧也有一定的积累。另外,程序开发需要在自己电脑上安装的软件并不多,在win7操作系统的大环境下,能够完全搭建好程序开发的操作环境,比如Myeclipse工具,Mysql数据库工具,游览器,以及处理程序图片的Photoshop工具等都能安装在自己的电脑上。总的说来,开发这个程序在技术上是可以实现的。

3.1.2 经济可行性分析

开发出来的程序并不是朝着商业程序的方向进行设计开发的,它只是作为一个毕业设计项目进行开发,主要用于检验学生在学校所学知识的一个检验,也锻炼学生运用网络,图书等工具进行自学的能力。所以开发这个程序软件并不会涉及到经济上面的开销,在开发软件的选择上也不会额外付费安装软件,在开发软件的官网上面就可以下载需要的软件,并根据提示的安装步骤安装软件到自己的电脑上面。总的说来,开发这个程序在经济上也不存在经费支出。

3.1.3 运行可行性分析

因为这个程序软件从开始开发到开发截止都是根据用户的需求进行定制,考虑到此程序软件是面向广大普通操作用户,鉴于他们的知识文化水平,特意开发出一个可操作性强的,能够很容易让使用用户上手的,具有可视化操作界面的一个程序软件。总的说来,这个程序站在用户运行程序的角度上分析,是不存在操作难的问题的。用户只要打开程序就可以免去专人培训进行程序功能操作。

经过上面从技术的角度,从经济的角度,从程序运行的角度这三个角度分析现打算开发的程序,可以得出该程序软件是可以进行开发操作的。

3.2系统性能分析

3.2.1 系统安全性

程序在使用中是不允许其他访问者随意窃取程序里面的隐秘信息,也不允许其他操作者越权操作其他管理用户操作的功能,要真正杜绝这些现象就必须在程序开发之前把程序的安全性给考虑进去。

比如现在很多程序都会把用户注册的功能给考虑进去,让用户在注册页面功能区填写自己的个人信息,这些数据信息涵盖了用户本人的姓名,用户对程序登录设置的密码,用户经常使用的邮箱,用户的常用联系方式还有用户的所住地址等信息,这些信息都是设计到用户本人的隐私,那么这些信息在传输给程序后台时,是需要进行管理并保存至对应的数据库文件里面。要是有人恶意窃取程序的数据信息,也就会让那些注册了此程序软件的用户的个人隐秘信息都会遭到泄露。这些信息落入其他不法分子手里,他们极有可能根据用户的隐私信息去骚扰用户,并把这些信息用于各种商业用途谋取其他非法的利益。所以数据安全性是一个系统能不能使用的首要标准。

3.2.2 数据完整性

数据完整性是确保数据信息是否具有可靠性,是否具有参考价值的一个重要因素,数据信息只描述一部分,或者必有的数据信息反而为空等现象都是代表着这个数据信息不完整,有数据缺陷,这是个很严肃的问题,因为这样的数据信息跟垃圾信息没什么两样。

说到数据完整性,不得不提最常用的程序表单功能。这些表单主要就是提取广大用户的数据信息的,需要广大用户根据表单上的要求,填写自己的姓名信息,以及自己的联系方式信息,有些也会有额外的信息填写要求,有必须要填的选项,也有不需要必填的选项。假如广大用户为了保护自己的隐私,或者不想受到其他人的骚扰,不填写必填项等信息,广大用户在最后提交此表单的时候,往往都是提交不了的。

数据完整性不仅仅限于登记的数据要完整,它也需要程序里面的所有数据信息之间存在关联,而且这种联系也是要求不能出差错的。

由于数据表之间也会存在一定的联系,所以同一个数据也会出现在另一个表格里面,那么这两个表格记录的同一个数据应该是一样的。不能够是同样的数据信息在不同表中不一样。

3.2.3系统可扩展性

一切事物都是一直在发展,程序员开发软件也需要带着发展的思维去进行软件开发操作,这样的话,开发出来的程序在应对管理所需时,也会相对应的进行程序升级与更新。不论是功能完善还是数据库升级都能在原来的基础上对原有程序进行迭代升级。让开发出来的程序能够走得越来越远。这也是广大用户对程序软件的使用要求。

3.3系统流程分析

管理员假如要操作系统提供的功能,那么管理员就要在系统的登录界面,填写管理员登录的账号信息,填写相应的密码信息,管理员需要保证这两者能够验证身份的账号以及密码信息的正确性,这样管理员就可以通过登录界面进入系统后台操作界面。图3.1就是开发的程序软件人事管理系统它的操作流程图。

图3.1 系统操作流程图

3.3.1系统登录流程

人事管理系统的登录流程,针对的角色就是操作员的操作角色。在登录界面需要的必填信息就是账号信息,配上登录的密码信息就能登录人事管理系统,需要注意的就是必填的账号信息和登录密码信息,都需要进行验证,系统会判断账号还有填写的密码信息的正确性,只有这两者信息都正确了,就能成功登录人事管理系统了。系统登录流程图如下图。

图3.2 系统登录流程图

3.3.2信息添加流程

用户在添加信息的界面填写的任何数据信息也是需要验证的,系统会判断用户填写信息的格式还有数据信息是不是合法信息,如果用户填写的信息是合法内容,系统就会在数据库对应的数据表里面添加信息。添加信息流程如下图。

图3.3 添加信息流程图

3.3.3信息删除流程

对于那些已经失效的信息,需要用户及时进行删除,这样有利于腾出空间存放其他信息。删除信息也是先从数据库对应数据表里面删除数据,接着就是更新数据表的信息。这样删除的数据,在用户操作界面就查看不到了。信息删除流程如下图所示。

图3.4 信息删除流程图

3.4系统功能分析

人事管理系统具有管理员角色,用户角色,这几个操作权限。

人事管理系统针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理员工信息,管理公告信息等内容。

人事管理系统针对用户设置的功能有:查看并修改个人信息,查看员工信息,查看公告信息等内容。


4 系统设计

4.1系统概要设计

人事管理系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的小程序结构,图4.1就是开发出来的程序工作原理图。

图4.1 程序工作的原理图

4.2系统功能结构设计

人事管理系统针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理员工信息,管理公告信息等内容。

人事管理系统针对用户设置的功能有:查看并修改个人信息,查看员工信息,查看公告信息等内容。

4.3数据库设计

4.3.1数据库E-R图设计

程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。

(1)下图是绩效实体和其具备的属性。

绩效实体属性图

(2)下图是员工考勤详情实体和其具备的属性。

员工考勤详情实体属性图

(3)下图是招聘实体和其具备的属性。

招聘实体属性图

(4)下图是公告实体和其具备的属性。

公告实体属性图

(5)下图是员工请假实体和其具备的属性。

员工请假实体属性图

(6)下图是人事调动实体和其具备的属性。

人事调动实体属性图

(7)下图是员工实体和其具备的属性。

员工实体属性图

(8)下图是员工考勤实体和其具备的属性。

员工考勤实体属性图

(9)下图是薪资实体和其具备的属性。

薪资实体属性图

(10)下图是培训实体和其具备的属性。

培训实体属性图

4.3.2 数据库表结构设计

本次程序开发选用的数据库管理工具是Mysql数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序人事管理系统的数据表结构信息。

表4.1字典表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段id

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.2公告表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

gonggao_name

String

公告名称

3

gonggao_types

Integer

公告类型

4

insert_time

Date

公告发布时间

5

gonggao_content

String

公告详情

6

create_time

Date

创建时间

表4.3绩效表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

jixiao_uuid_number

String

绩效编号

4

jixiao_name

String

绩效标题

5

jixiao_file

String

附件

6

jixiao_types

Integer

绩效类型

7

jixiao_dafen

BigDecimal

绩效打分

8

pinggu_time

Date

评估时间

9

jixiao_content

String

打分缘由

10

insert_time

Date

记录时间

11

create_time

Date

创建时间

表4.4培训表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

peixun_uuid_number

String

培训编号

4

peixun_name

String

培训标题

5

peixun_types

Integer

培训类型

6

kaishi_time

Date

培训开始时间

7

jieshu_time

Date

培训结束时间

8

peixun_content

String

培训内容

9

insert_time

Date

录入时间

10

create_time

Date

创建时间

表4.5人事调动表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

renshidiaodong_uuid_number

String

人事调动编号

4

renshidiaodong_types

Integer

人事调动类型

5

diaodong_time

Date

调动时间

6

yuan_bumen

String

原部门

7

yuan_zhiwei

String

原职位

8

bumen_types

Integer

部门

9

zhiwei_types

Integer

职位

10

renshidiaodong_content

String

调动缘由

11

insert_time

Date

录入时间

12

create_time

Date

创建时间

表4.6薪资表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

xinzi_uuid_number

String

薪资编号

4

xinzi_name

String

标题

5

xinzi_month

String

月份

6

jiben_jine

BigDecimal

基本工资

7

jiangjin_jine

BigDecimal

奖金

8

jixiao_jine

BigDecimal

绩效

9

butie_jine

BigDecimal

补贴

10

shifa_jine

BigDecimal

实发

11

xinzi_content

String

备注

12

insert_time

Date

添加时间

13

create_time

Date

创建时间

表4.7员工表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_name

String

员工姓名

3

yuangong_phone

String

员工手机号

4

yuangong_id_number

String

员工身份证号

5

yuangong_photo

String

员工头像

6

bumen_types

Integer

部门

7

zhiwei_types

Integer

职位

8

yuangong_email

String

员工邮箱

9

xueli_types

Integer

学历状态

10

yuangong_jiaoyu_content

String

教育经历

11

yuangong_gongzuo_content

String

工作经历

12

shangpin_shixi_content

String

实习经历

13

shangpin_rongu_content

String

所获荣誉

14

jinyong_types

Integer

账户状态

15

create_time

Date

创建时间

表4.8员工考勤表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_kaoqin_uuid_number

String

考勤唯一编号

3

yuangong_kaoqin_name

String

考勤标题

4

yuangong_kaoqin_types

Integer

员工考勤类型

5

bumen_types

Integer

部门

6

yuangong_kaoqin_content

String

考勤详情

7

insert_time

Date

考勤发起时间

8

jiezhi_time

Date

考勤截止时间

9

create_time

Date

创建时间

表4.9员工考勤详情表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

yuangong_kaoqin_id

Integer

考勤

4

yuangong_kaoqin_list_types

Integer

打卡状态

5

insert_time

Date

添加时间

6

update_time

Date

打卡时间

7

create_time

Date

创建时间

表4.10员工请假表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

yuangongqingjia_name

String

请假标题

4

yuangongqingjia_text

String

请假缘由

5

yuangongqingjia_types

Integer

请假类型

6

insert_time

Date

申请时间

7

yuangongqingjia_time

Date

请假时间

8

yuangongqingjia_number

Integer

请假天数

9

yuangongqingjia_yesno_types

Integer

申请状态

10

yuangongqingjia_yesno_text

String

处理意见

11

yuangongqingjia_shenhe_time

Date

审核时间

12

create_time

Date

创建时间

表4.11招聘表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhaopin_uuid_number

String

招聘编号

3

zhaopin_name

String

招聘标题

4

zhaopin_address

String

招聘地点

5

zhaopin_file

String

招聘附件

6

zhaopin_types

Integer

招聘类型

7

zhaopin_number

Integer

招聘人数

8

zhaopin_time

Date

招聘时间

9

zhaopin_content

String

招聘详情

10

insert_time

Date

录入时间

11

create_time

Date

创建时间

表4.12管理员表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

员工名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间


5 系统实现

5.1管理员功能介绍

5.1.1管理员登录

系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。下图就是管理员登录页面。

图5.1 管理员登录页面

5.1.2 员工管理

项目管理页面提供的功能操作有:查看员工,删除员工操作,新增员工操作,修改员工操作。下图就是员工管理页面。

图5.2 员工管理页面

5.1.3 公告信息管理

公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。下图就是公告信息管理页面。

图5.3 公告信息管理页面

5.1.4公告类型管理

公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。下图就是公告类型管理页面。

图5.4 公告类型列表页面

5.1.5 培训管理

如图5.5显示的就是培训管理页面,此页面提供给管理员的功能有:新增培训,修改培训,删除培训。

图5.5培训管理页面

5.1.6 培训类型管理

如图5.6显示的就是培训类型管理页面,此页面提供给管理员的功能有:新增培训类型,修改培训类型,删除培训类型。

图5.6 培训类型管理页面


6系统测试

为了保证所开发出来的系统质量过关,让所开发出来的系统具备可靠性并能够投入运行使用,这就需要进行系统开发的最后一个关键步骤,那就是系统测试。可以说系统测试就是对系统开发前面的步骤,比如系统分析与设计等进行复查。尽管在程序开发期间,人们一直很注意避免系统出错,但这样还是会让很多的潜在的系统缺陷不容易被人们肉眼察觉,只有经过反复不断地测试才能及时暴露系统的运行问题,这个时候进行系统问题的纠正就能真正避免财产损失,截止到目前,市面上还没有从根本上解决开发出的程序的正确性证明。所以发现系统的错误以及缺陷的重要手段还是要依赖于系统测试。

6.1 本系统测试 

本系统的测试结合了计算机的软件以及硬件系统,对程序的全部功能,还有程序的运行稳定性等性能上进行了测试,测试过程中也再次对程序配套数据库的连接问题进行了系统化地测试操作。接下来就选取系统的一些功能进行测试演示。

6.1.1 登录功能测试

系统的登录功能主要起到一个验证身份的作用,目的就是防止外人恶意攻击系统,窃取系统的相关数据信息,系统的登录功能验证的信息有两项,一个是用户名,另一个就是密码信息。任何一个数据出现问题,系统就会提示。当然用户也不能进入系统。测试数据信息见下表。

表6.1 登录功能测试数据

测试项目

测试数据

期望结果

测试结果

填写数据库里面的用户名,密码

用户名:a1密码:123456

登录通过

登录通过

填写的用户名,密码在数据库中并不存在

用户名:a1密码:aaaaa

登录不通过

登录不通过

填写数据库的用户名,但填写密码有误

用户名:a1 密码:aaaaa

登录不通过

登录不通过

填写的用户名在数据库里面没有,但填写的密码无误

用户名:a111密码:123456

登录不通过

登录不通过

6.1.2 注册功能测试

游客需要注册来获取账号密码信息,游客要是曾经进行过注册,再次填写同样的账号信息时,系统也会提示数据库已有相同账号信息,游客就不能注册成功了。测试结果详细见下表。

表6.2 注册功能测试数据

测试项目

测试数据

期望结果

测试结果

填写的用户名,密码在数据库里面已经存在

用户名:a1密码:123456

不能注册

不能注册

填写的用户名,密码在数据库里面没有

用户名:a99密码:123456

注册通过

注册通过

6.2测试结果分析

经过了程序开发的最后一个测试环节,对开发的程序软件人事管理系统也下了定论,在测试期间程序的功能能够跟最开始的用户需求文档保持一致性,程序的界面设计以及数据库设计也都是参照用户的需求完成设计的。另外,程序开发也充分解决了系统的升级以及长时间保持稳定运行的问题,说明该程序软件还是挺可靠的,进行验收上交也是达标的。总的说来,截止到目前,该人事管理系统功能可靠,有着简单的操作流程,能够从一定程度上解决数据信息操作方面出现的各种问题。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 03:22:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 03:22:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 03:22:03       45 阅读
  4. Python语言-面向对象

    2024-07-22 03:22:03       55 阅读

热门阅读

  1. Symfony表单系统详解:构建强大且灵活的表单

    2024-07-22 03:22:03       15 阅读
  2. HarmonyOS NEXT零基础入门到实战-第三部分

    2024-07-22 03:22:03       13 阅读
  3. 计算机网络之TCP/IP协议栈

    2024-07-22 03:22:03       18 阅读
  4. GitHub每日最火火火项目(7.21)

    2024-07-22 03:22:03       17 阅读
  5. 【HTML】基础用法

    2024-07-22 03:22:03       17 阅读
  6. 今日总结:雪花算法,拉取在线用户

    2024-07-22 03:22:03       19 阅读
  7. qt QScrollArea 可滚动区域控件简单举例

    2024-07-22 03:22:03       19 阅读
  8. JDK 内置的基本注解类型

    2024-07-22 03:22:03       16 阅读