毕业论文(向小芳)51330102

更新时间:2024-05-08 00:51:07 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

常州机电职业技术学院

毕业设计(论文)

作 者: 向小芳 学 号: 51330102 系 部: 信息工程系 专 业: 软件技术 题 目: 基于JSP的企业人事信息管理系统的 设计与实现

校内指导教师: 企业指导教师:

王莹 鲍治

评阅者:

2016 年 4 月

毕业设计(论文)中文摘要

在信息科学技术飞速发展的今天,互联网逐渐融入人们的生活,成为人们快速获取、发布和传递信息的重要渠道。快节奏的生活方式也使很多传统的管理方式已经渐渐的不能满足大数据的需求,效率低、出错率高、不易保存的人工纸质管理系统不断促进着机制管理系统。由此,各种各样的信息管理系统如雨后春笋般,不断地涌现出来。 人事管理系统这个平台主要是使公司的相关从事人员可以从简而多的数据记录和管理中解放出来,减少不必要的劳动力浪费,实现人事信息管理的简单化、系统化、网络化、规范化。人事管理系统的主要实现的功能包括:员工信息增加、员工信息删改管理、员工信息统计查询、员工工资管理、工资统计等。 本系统后台使用Java代码进行编程,以SSH(Spring+Struts+Hibernate)为框架,前台使用JSP作为开发语言,佐以JavaScript为页面效果渲染,数据库管理系统使用MySQL数据库,开发环境是MyEclipse,服务器采用tomcat,软件是B/S结构的Web应用。 关键词:人事管理 Java Web应用 B/S结构

目 录

1 绪论............................................................. 1 1.1系统的开发背景 .................................................. 1 1.2课题研究内容及意义 .............................................. 1 2 系统的相关技术的介绍............................................. 2 2.1 JSP语言 ........................................................ 2 2.2 JAVASCRIPT的介绍 ................................................. 3 2.3 MYSQL数据库语言 ................................................ 3 2.4 本章小结 ........................................................ 4 3 系统的需求分析................................................... 5 3.1 编写目的 ........................................................ 5 3.2 系统目标 ........................................................ 5 3.3 开发运行环境搭建 ................................................ 5 3.4 功能模块需求 .................................................... 6 3.5 性能需求 ....................................................... 12 3.6 本章小结 ....................................................... 12 4 系统的概要设计.................................................. 13 4.1 系统总体结构设计 ............................................... 13 4.1.1员工登录系统前台设计 ......................................... 13 4.1.2管理员登录系统前台设计 ....................................... 14 4.2 数据库设计 ..................................................... 15 4.2.1 数据库设计需求分析........................................... 15 4.2.2 数据库表结构................................................. 15 4.3 本章小结 ....................................................... 17 5 系统的实现...................................................... 18 5.1 连接数据库的代码 ............................................... 18 5.2 主要业务逻辑的代码 ............................................. 19 5.2.1 用户登录模块关键代码......................................... 19 5.2.2 人事档案模块关键代码......................................... 20 5.2.3 部门模块代码................................................. 24 5.2.4 合同管理模块关键代码......................................... 25 5.2.5 管理员登录界面............................................... 26 5.2.6 员工登录界面................................................. 27 5.3 JS的相关方法实现 .............................................. 27 5.4 乱码问题处理 ................................................... 29 5.5 本章小结 ....................................................... 31 结 论............................................................. 32 致 谢............................................................. 33

参考文献........................................................... 34

1 绪论

1.1系统的开发背景

在信息科学技术飞速发展的今天,互联网已经完全融入人们的生活,影响着人们的一切生活习惯,也是我们快速获取、发布和传递信息的必要渠道。快节奏的生活方式也使很多传统的管理方式已经渐渐的不能满足大数据的需求,效率低、出错率高、不易保存的人工纸质管理系统不断促进着机制管理系统。由此,大量的信息管理系统就不断的诞生。

在大数据的环境下对于现代化企业来说,信息管理工作发挥着越来越重要的作用。企业信息管理工作对于企业的运作显得必不可少,详细记录员工信息,对于工资发放也有明确记录,并且集为一个整体,让人事管理变的一体化,规范化,为企业的创新、发展以及经济效益,做出了显著地贡献。由此,无论是中小型企业还是大型企业都必须加强自身管理的信息化建设,形成信息化、网络化、系统化、规范化的管理模式,进一步解放和发展劳动力,促进企业的可持续发展。

1.2课题研究内容及意义

从电脑进入家家户户到现在样样物件都联网我们就可以知道计算机应用越来越普及,利用计算机技术来实现企业人事管理信息化、网络化、系统化、规范化势在必行。尤其是对于中型规模以上的企业来说,合理的利用信息科学技术提高企业人事管理的效率,是适应现代企业制度要求、推动企业人事管理走向科学化、规范化的必要条件;而且员工的基本信息管理是一项琐碎、复杂而又十分细致的工作,公司人员数量多而且流动频繁,到外面招聘来的人员增多,公司内部职工的部门,职务经常调整,职工档案的更新等。如果没有适当的工具来管理这些日常工作,就会耗费工作人员大量的时间和精力。利用B/S结构制作的人事管理系统对职工各种信息进行记录、统计,准确快速提高。另外还具有存储安全迅速,检索快速方便,修改简单等优点。企业人事管理系统可以极大地提高企业管理的效率。

1

员工修改个人资料添加人事档案删除人事档案管理员超级管理员修改人事档案查询人事档案

图3-2人事档案管理用例图

员工可以通过修改自己的信息来修改人事档案,管理员和超级管理员可以对人事档案进行增删改查等操作。

3)部门组织管理

部门组织管理用例图如下图3-3所示:

增加部门删除部门超级管理员管理员查询部门修改部门

图3-3部门组织管理用例图

7

超级管理员和管理员可以进行对部门组织信息的增删改查操作。 4)合同管理

合同管理模块用例图如下图3-4所示:

增加合同超级管理员修改合同管理员删除合同查询合同员工下载合同

图3-4合同管理模块用例图

员工可以查询自己的合同和下载自己的合同,管理员和超级管理员可以对合同信息进行增删改查及下载的操作。

5)薪资管理

薪资管理模块用例图如下图3-5所示:

增加薪资记录超级管理员修改薪资记录管理员员工查询薪资记录

图3-5薪资管理模块用例图

员工可以查看自己的薪资记录详情,超级管理员和管理员可以对薪资记录信

8

息进行增加,修改,查询的操作。

6)社保管理

社保管理模块用例图如下图3-6所示:

增加社保记录超级管理员删除社保记录管理员修改社保记录员工查询社保记录

图3-6社保管理模块用例图

员工可以查看自己的社保记录详情,超级管理员和管理员可以对社保记录信息进行增加,修改,查询的操作。

7)奖惩管理

奖惩管理模块用例图如下图3-7所示:

增加奖惩记录超级管理员删除奖惩记录管理员修改奖惩记录员工查询奖惩记录

图3-7奖惩管理模块用例图

员工可以查看自己的奖惩记录详情,超级管理员和管理员可以对奖惩记录信

9

息进行增加,修改,查询的操作。

8)培训记录管理

培训管理模块用例图如下图3-8所示:

增加培训记录超级管理员删除培训记录管理员修改培训记录员工查询培训记录

图3-8培训管理模块用例图

员工可以查看自己的培训记录详情,超级管理员和管理员可以对培训记录信息进行增加,修改,查询的操作。

9)考勤记录管理

考勤管理模块用例图如下图3-9所示:

增加考勤记录超级管理员删除考勤记录管理员修改考勤记录员工查询考勤记录

图3-9考勤管理模块用例图

10

员工可以查看自己的考勤记录详情,超级管理员和管理员可以对考勤记录信息进行增加,修改,查询的操作。

10)预警功能

系统预警管理模块用例图如下图3-10所示:

管理员删除预警超级管理员

图3-10系统预警管理模块用例图

管理员超级管理员可以删除合同到期预警和未签合同预警。 11)用户管理

用户管理模块用例图如下图3-11所示:

管理员修改个人资料增加管理员员工超级管理员删除管理员修改管理员查询管理员

图3-11用户管理模块用例图

员工、管理员、超级管理员都可以对自己的个人信息进行修改操作,超级管理员可以对管理员进行增删改查的操作。

11

3.5 性能需求

1)精度

查询时应保证数据的查全率,对于相应的字段进行模糊查询,以保证,所有相应域包含查询关键字的记录都能查到。

2)时间特性要求 响应时间: 1~2秒内 更新处理时间:1~2秒内 数据的转换和传送时间:2~3秒内 3)系统安全性要求

人事管理系统在在分配权限方面需要格外重视,具体要求如下:

登陆人事管理系统进行其他员工信息操作,必须有相应的操作权限,没有权限的用户不能通过任何方式进入系统查看或修改系统的任何信息和数据,以确保系统的安全性和严密性。

3.6 本章小结

本章主要介绍了对此系统做的需求分析。从运行环境、功能需求、性能需求等方面,进行了详细的分析。画出每个功能模块的用例图。系统的目标是使系统在实际的人事管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量。

12

4 系统的概要设计

4.1 系统总体结构设计

主要描述系统的前台设计结构、后台设计结构以及各个模块实现的功能。 4.1.1员工登录系统前台设计

员工登录系统前台设计如图4-1所示:

浏览器 个人资料管理 合同信息查看 薪资记录查看 社保记录查看 奖惩记录查看 培训记录查看 考勤记录查看 服务器 数据库

图4-1员工登录前台总体结构设计图

员工登录系统前台模块功能介绍:

1)个人资料管理:员工可以对自己的资料进行修改。 2)合同信息查看:员工对自己的合同进行查看、下载。 3)薪资查看:员工对自己的历来薪资记录进行查看、下载。 4)社保记录查看:员工对自己的社保记录进行查看。 5)奖惩记录查看:员工对自己的奖惩记录进行查看。 6)培训记录查看:员工对自己的培训记录进行查看。

13

7)考勤记录查看:员工对自己的考勤记录进行查看。 4.1.2管理员登录系统前台设计

管理员登录系统前台如图4-2所示:

浏览器 系统管理员管理 部门组织管理 人事档案管理 合同管理 薪资管理 社保管理 奖惩管理 培训记录管理 考勤记录管理 系统预警 服务器 数据库

图4-2管理员登录系统前台总体结构设计图

管理员登录系统前台模块功能介绍:

1)系统管理员管理:超级管理员可以对管理员信息进行增删改查操作。 2)部门组织管理:所有管理员都可以对部门信息进行增删改查操作。 3)人事档案管理:所有管理员对员工人事档案信息可以进行增删改查操作。 4)合同管理:所有管理员对员工合同信息可以进行增删改查操作。 5)薪资管理:所有管理员对员工薪资记录进行增删改查。输入工资数、奖金等信息,工资根据公式计算。

6)社保管理:所有管理员对社保的基本信息进行管理,可以新增员工的社保信息以及查询员工社保信息。

7)奖惩管理:所有管理员对员工奖惩记录可以进行增删改查操作。

14

8)培训记录管理:所有管理员对员工培训记录信息进行管理,可以对培训信息新增,修改以及删除,并能查询培训记录。

9)考勤记录管理:所有管理员对员工考勤记录可以进行增删改查操作。 10)系统预警:劳动合同期满提醒,未签劳动合同人员提醒,合同续签提醒,员工转正提醒 。

4.2 数据库设计

4.2.1 数据库设计需求分析

数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。 4.2.2 数据库表结构

1)员工信息E-R图如图4-3所示

年龄 性别 姓名 出生日期 专业 照片 员工信息 图4-3 人事检查实体E-R图

工号 2)工资信息E-R如图4-4所示

工资月份 工资数 奖金 教师ID 工资信息

图4-4 工资信息实体E-R图

3)管理员信息E-R如图4-5所示

15

登陆账号 用户ID 登陆密码 管理员

图4-5 管理员信息实体E-R图

根据E-R模型,人事管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。

1) 人事信息表主要是记录了人事的基本信息。表结构如表4-1所示。

表4-1人事信息表(t_jaoshi)

列名 id code name sex age birthday workTime major photo remark 数据类型 int varchar varchar Number varchar varchar varchar varchar varchar varchar 长度 4 50 40 2 20 20 50 50 50 50 允许空 否 否 否 否 否 否 否 否 否 否 是否主键 是 否 否 否 否 否 否 否 否 否 说明 ID 人事号 姓名 性别 年龄 出生日期 工作时间 专业 照片 备注信息

2) 工资信息表主要是记录了人事工资的基本信息。表结构如表4-2所示。

表4-2工资信息表(t_gongzi)

列名 id jsid month salary bonus 数据类型 int varchar varchar Number(10,2) Number(10,2) 长度 4 50 50 10 10 允许空 否 否 否 否 否 是否主键 是 否 否 否 否 说明 ID 人事ID 工资月份 工资数 奖金

3)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结

16

(\}

以下代码是针对人事信息的角色区分的查询,分为:员工查询自己人事信息、超级管理员和管理员对所有员工的人事信息的查询。在打开网页时首先进行角色字段分区。如果是员工那么只显示员工自身的信息,如果是管理员显示所有员工人事信息,在对文本框输入内容进行模糊查询操作实现。

if(request.getParameter(\request.getParameter(\}else{

sql.append(\

String(request.getParameter(\

}

if(request.getParameter(\request.getParameter(\}else{

Sql.append(\

String(request.getParameter(\}

if(request.getParameter(\

request.getParameter(\所有\}else{

sql.append(\

String(request.getParameter(\} if(request.getParameter(\所有\request.getParameter(\}else{

Sql.append(\

String(request.getParameter(\if(request.getParameter(\request.getParameter(\}else{

Sql.append(\

String(request.getParameter(\%'\

}

if(request.getParameter(\request.getParameter(\}else{

sql.append(\

String(request.getParameter(\}

22

Sql.append(\ rs = connDbBean.executeQuery(sql); String id=\ String code=\String name=\String pwd=\String sex=\String dep=\String jobs=\

String phoneNum=\String IDCard=\String address=\String photo=\String salary=\String remark=\String addtime=\int i=0;

double salaryz=0; while(rs.next()){ i=i+1;

id=rs.getString(\

code=rs.getString(\name=rs.getString(\pwd=rs.getString(\sex=rs.getString(\dep=rs.getString(\jobs=rs.getString(\

phoneNum=rs.getString(\IDCard=rs.getString(\address=rs.getString(\photo=rs.getString(\salary=rs.getString(\remark=rs.getString(\ addtime=rs.getString(\

salaryz=salaryz+Float.valueOf(salary).floatValue();

人事档案模块运行图如下图5-2所示:

23

图5-2人事档案模块运行图

5.2.3 部门模块代码

这段代码是对部门信息增删改查中的增加操作的实现,获取部门信息是利用

session的request.getParameter()方法,然后就是调用公共类方法对数据库数据进行增加操作。

String dep = request.getParameter(\

String director = request.getParameter(\String phoneNum = request.getParameter(\String remark = request.getParameter(\

String sql = \into depzuzhi(dep,director ,phoneNum,remark)

values('\\

connDbBean.executeUpdate(sql); out.print(\alert('添加成功');

location.href='depzuzhi_add.jsp'; \

部门模块运行图如下图5-3所示:

24

图5-3部门模块运行图

5.2.4 合同管理模块关键代码

这是对合同信息的更新操作,获取对象是用的session里request.getParameter()方法,然后调用公共类方法传递sql语句参数对数据库中合同数据进行更新操作。

String code = request.getParameter(\String name = request.getParameter(\String dep = request.getParameter(\String jobs = request.getParameter(\

String contractCode = request.getParameter(\String contractName = request.getParameter(\String startTime = request.getParameter(\String endTime = request.getParameter(\String contractContent =

request.getParameter(\

String adjunct = request.getParameter(\String id = request.getParameter(\

String sql = \+ name + \contractCode + \contractName+ \+ startTime + \+contractContent+ \

25

connDbBean.executeUpdate(sql); out.print(\alert('修改成功');

location.href='hetongxinxi_list.jsp'; \

合同管理模块运行图如下图5-4所示:

图5-4合同管理模块运行图

5.2.5 管理员登录界面

管理员登录界面部分图如5-5所示:

图5-5管理员登录界面部分

26

结 论

这一次的毕业设计是在学校以来第一次自己独立的完整的做项目,从一开始的资料收集一直到最后的项目成功完成发布都由一个人完成,以往的小组合作总是觉得别人不如自己的手脚方便调动到了全部自己做的时候发现也是手忙脚乱,过程磕磕绊绊但在其中也得到了不少经验教训:

一、前期的资料收集是必须的,只有明确市场氛围现状做出来的项目才会贴合实际,才会有价值,做项目的目的就是为了方便人们的生活而不仅仅是做出了。

二、可行性分析报告可以清楚项目所需要的技术和环境与自己相比较就可了解到后期代码部分的难易程度,减少后期遇到难点学习的时间。

三、需求分析报告十分的重要,它可以帮助程序员在项目实施阶段搭建项目框架找到项目入手点明确功能模块,需求分析报告书就是一个项目前进的方向,有很多项目因为需求分析不明确返工。

四、学会沉心静气,在项目过程中会有很多难点需要攻克,可能前期的考虑不周后期的开展就会很困难,这时候就需要沉心静气的去思考下一步的行动,而且项目到了瓶颈期这个时候最忌讳心浮气躁,如果不可以沉下心来可能项目就会崩掉。

在最后这一个月的毕业设计给了很多锻炼,独立开发的能力,阅读需求的能力,学到了很多课堂上学不到的内容,也和上课跟着老师写代码是一种不同的体验,一些框架的搭建,一些目录的结构设计不能再假手于人,一些程序的Bug也不能够放到下节课在解决。我也从中找到了以后自己职业发展的一个道路,把学到的知识融汇到实践中,也为自己后面投入到工作中提供了一个良好的基础,同时,也让我重视到自己的不足,可以更加全面的认识到自己。

32

致 谢

大学的三年时光终于在此画下了句点,这三年我在学校学到了很多东西,不管是学业技术性的还是为人处世心态上的相较于三年前的我都有了很高一阶段的提升,再次由衷感谢各位老师对我的教导和同学朋友对我的支持。

在最后的毕业设计中真的又学到了很多东西,第一是自觉性,老师不会说再一步一步的指导只是告诉流程自己去体会那个过程,这就不再是作业了,而是自己的事情,在过程中我都感觉的到这是我将来要面对的工作;第二是逻辑性,在代码的编写过程中,逻辑性是必不可少的,首先你需要有一个框架,然后去把每个功能模块划分填充,在一开始的框架搭建的过程中遇到了很多问题,也正是应了万事开头难这一句话,处处碰壁,都没有了坚持下去的毅力了,十分感谢老师在这个过程中的指导,感觉有老师的提醒自己的心就静下来了。

在此由衷的感谢帮助过我的同学老师以及朋友,我想没有他们的支持和协助我是不可能完成这么巨大的工程的。这也是对我以后的职业路线奠定了基础,清楚的知道了以后自己的工作路程是一个什么样子的。

33

参考文献

1 刘斌.精通Java Web整合开发[M].北京:电子工业出版社,2007 2 卜炟.21天学通javaweb[M].北京:电子工业出版社,2009

3 刘伟,张利国.Java Web开发与实战含整合应用[M].北京:科学出版社,2008

4 苗春义.Java项目开发全程实录[M].北京:清华大学出版社,2008.6 5 王国辉,王毅,王殊宇.Java Web 开发典型模块大全[M].北京:人民邮电出版社,2009.4

6 张峰,李慧丽.Java Web 2.0架构开发与项目实战[M].北京:清华大学出版社,2008

7 石志国.完全手册 JSP网络开发详解[M].北京:电子工业出版社,2007 8 张新曼.精通JSP-WEB开发技术与典型应用[M].北京:人民邮电出版本社,2007.2

9 张昆.Java Web开发技术详解[M].北京:化学工业出版社,2010.7 10 孙华林.构建Web应用系统——基于JSP+Servlet+JavaBean[M].北京:机械工业出版社,2014.5

11 张超. 基于 JSP 的数据库连接技术浅析[J]. 福建电脑,2013, 28(12): 80-81.

12 强光平,刘才铭,赵静,等. 基于 JSP 的用户分组权限的设计和实现[J]. 计算机光盘软件与应用,2013, 16(18): 53-54.

34

本文来源:https://www.bwwdw.com/article/7iog.html

Top