1、#基于java人事档案管理系统毕 业 论 文题 目:基于java人事档案管理系统专 业: 计算机科学和技术班 级: 科学技术1班姓 名: 石可旺学 号: 2指导教师: 郭笃刚日 期: 摘 要 人事档案的管理是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,开发一个人事档案管理系统就显得非常必要。本系统结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Myeclipse作为开发工具而开发出来的人事档案管理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事档案管理系统具有
2、如下功能:主要实现对员工的人事档案资料进行有效的录入、修改和删除,根据职工编号或姓名对符合条件的员工人事档案资料进行修改以及根据职工编号或姓名对符合条件的员工人事档案资料进行删除,根据职工编号或姓名查询符合条件的员工人事档案资料,并打印查询结果等功能。全文主要分五个部分:第一部分,是本课题的来源和课题研究的目的和意义;第二部分,是开发工具的选择,本系统主要运用的是Myeclipse作为系统前台使用程序开发工具,MySQL作为后台数据库;第三部分,是系统的需求分析,主要是人事档案管理系统的需求分析、系统功能设计和数据库的设计;第四部分,主要介绍了各个功能模块的功能和主要的代码;第五部分,是软件的
3、测试。关键词:信息管理;人事档案管理;人事管理档案系统;Myeclipse;MySQL引 论 11 课题的来源和意义 21.1 本课题的来源 21.2 本课题研究的目的及意义 31.3 本课题的研究现状 32 开发工具的选择 42.1 开发软件MySQL的介绍 42.2 开发软件Myeclipse的介绍 53 系统分析和设计 63.1 系统分析 63.1.1 系统需求分析 63.1.2 可行性分析 73.2 系统功能设计 83.2.1 系统的功能分析 83.2.2 系统功能结构 93.3 数据库设计 114主要功能模块设计 144.1 系统登录设计 144.1.1 系统登陆模块的功能 144.
4、1.2 系统登陆的代码设计 174.2 系统用户管理模块 194.2.1 系统用户管理的功能 194.2.2 部分代码(更新) 224.3 员工信息管理模块 234.3.1 员工信息管理模块的功能 234.3.2 部分代码(查询代码) 274.4 工资管理模块 294.4.1 工资管理模块的功能 294.4.2 部分代码(修改代码) 304.5 考勤管理模块 314.5.1 考勤管理模块的功能 314.5.2 部分代码(查询代码) 325 系统测试 335.1 软件测试的目标 335.2 软件测试的过程 34主要参考文献 3536引 论人事档案管理是结合公司实际的人事、制度,经过实际的需求分析
5、,采用Myeclipse作为开发工具而开发出来的人事档案系统。整个系统从符合操作简便、界面友好、灵活、实用的要求出发,本企业人事管理系统具有如下功能:系统用户管理,本系统的用户分为两类:管理员和普通用户。管理员可以对系统的各个模块进行添加,删除,修改,查询;而一般用户只能对各模块进行简单的查询,从而了解相关的信息;员工信息管理,员工信息管理包括对员工基本信息和情况的记录进行查询、添加、删除和修改。主要由管理员进行;员工工资管理:员工工资管理主要是对员工工资的综合管理,建立合理,规范的企业工资核算制度,保障员工的合法权利;员工考勤数据的查询,主要实现对员工的日常考勤情况进行查询,能够有效的监控员
6、工的上班情况。 为企业人事档案管理提供信息咨询,信息检索等服务,基本上能够满足现代企业对人事档案管理的需要。1课题的来源和意义1.1 本课题的来源随着计算机技术的飞速发展,计算机在企业管理中使用的普及,利用计算机实现企业人事档案管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成人事档案管理的日常事务,是适应现代企业制度要求、推动企业劳动人事档案管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,和世界接轨的重要条件。不同的企业具有不同的人事
7、档案管理制度,这就决定了不同的企业需要不同的人事档案管理系统。 人事档案管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 合理的利用有助于企业发展的管理系统是企业改革的一种优越的体现,不仅保证了核算准确度,还成倍的提高了工作效率,而且便于查询。作为计算机使用的一部分,使用计算机对人事档案信息进行管理,具有手工管理所无法
8、比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事档案管理的效率,也是企业的科学化、正规化管理,和世界接轨的重要条件。因此,开发这样一套适用的人事管理软件成为很有必要的事1.2 本课题研究的目的及意义现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事档案管理的形式和内涵都在发生着根本性的变化。在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。如今,人事档案管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作,不
9、仅能够大大降低企业在人事档案管理方面的成本,而且能大大缩短档案管理的时间。而今天,人事档案管理的内容己经转变为对更为广泛的系统价值的追求。信息管理,如今已是一个热门话题,它已为许多企业所采用。我认为,在现代化的进程中,引入现代管理的思想,建立一套可面向企事业单位人事档案管理系统,也是十分必要的。2.1 开发软件MySQL的介绍 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地使用在Internet上的中小型网站中。由于
10、其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。它的主要特性如下:1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、OS/2 Wrap、Windows等多种操作系统。3.为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、PHP等。 4.支持多线程,充分利用CPU资源。 5.优化的SQL查询算法,有效地提高查询速度。6.既能够作为一个单独的使用程序使用在客户端服务器网络环境中,也能够作为一个库而嵌
11、入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。 7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 3 系统分析和设计3.1 系统分析3.1.1系统需求分析 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机使用的一部分,使用计算机对人事档案进行管理,具有着手工管理所无法比拟的优点。这些优点能够极大地提高人事档案管理的效率,也是企业的科学化、正规化管理,和世界接轨的重要条件。根据以上情况,决定实施建立人事档案管理
12、系统, 因为人事档案管理是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。可以解决一直以来人们使用传统人工的方式管理文件档案存在着的许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着计算机技术的飞速发展,计算机在企业管理中使用的普及,利用计算实现企业人事档案的管理势在必行。当前企业信息管理系统正在从US结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。人事档案管理系统是现代企业管理
13、工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事档案管理走向科学化、规范化的必要条件。 人事档案管理系统是针对企业人事处的大量业务处理工作用计算机进行全面现代化管理,他必须具备以下基本功能:(1)人事档案管理数据库及表的操作。实现对人事档案管理数据库及表的创建,表中数据的维护。(2)人事档案信息的管理。实现人事信息的添加,保存,修改和删除等。(3)人事档案信息的使用。实现人事信息的查询,例如考勤的查询、工资的管理等。(4)对系统用户的管理,可以对用户进行添加,修改,删除等。3.1.2 可行性分析人事管理系统后台数据库采用目前使用十分广泛的关系数据库MySQL,由于其具有快速、方便
14、、灵活和可移植性等特点被很多软件开发者所使用;前台采用myeclipse作为主要的开发工具,其可和MySQL数据库结合的很好,并且MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。主要的技术用到了jsp、javabean、jdbc等,要实现其简单的增删改查还是比较容易的,特别是jsp,现在jsp技术已经很成熟了,对于一些功能不是很复杂的系统选择它是最合适不过了。3.2 系统功能设计3.1.3 系统的功能分析 人事档案管理系统是一个典型的数据库开发使用程序,它由员工信息管
15、理、工资管理、考勤查询、系统用户管理组成,具体规划如下:(1)系统用户管理:本系统的用户分为两类:管理员和普通用户。管理员可以对系统的各个模块进行添加,删除,修改,查询;而一般用户只能对各模块进行简单的查询,从而了解相关的信息。(2)员工信息管理:员工信息管理包括对员工基本信息和情况的记录进行查询、添加、删除和修改。主要由管理员进行。(3)员工工资管理:员工工资管理主要是对员工工资的综合管理,建立合理,规范的企业工资核算制度,保障员工的合法权利。3.员工考勤数据的查询:主要实现对员工的日常考勤情况进行查询,能够有效的监控员工的上班情况。3.1.4 系统功能结构 系统功能结构图主要从功能的角度描
16、述了系统的结构。人事管理的系统功能结构如图一所示:增删改查考勤表E-R图3.2 数据库设计人事管理系统的数据库采用MySQL ,系统数据库的名称为“filesms”。数据库filesms中包含了5张数据表。下面分别给出数据表概要说明和主要数据表的结构。表一 用户表(users)属性名数据类型长度允许空是否主键中文备注idVarchar50否是记录编号usernameVarchar50否否用户名passwordsVarchar50否否用户密码roleVarchar50否否角色EmployeeIDVarchar50否否员工编码表二 人事档案表(PersonalFiles)属性名数据类型长度允许空是
17、否主键中文备注idVarchar50否是记录编号EmployeeIDVarchar50否否员工编号EmployeeNameVarchar50否否员工姓名sexVarchar50否否性别BirthDateDate50否否出生日期positionsVarchar50否否职务nationalsVarchar50否否职族educationVarchar50否否学历DepartmentIDVarchar50否否部门编号DepartmentNameVarchar50否否部门名称workVarchar50否否工作性质表三 部门表(department)属性名数据类型长度允许空是否主键中文备注idVarcha
18、r50否是记录编号DepartmentIDVarchar50否否部门编号DepartmentNameVarchar50否否部门名称LeaderNameVarchar50否否领导名字4 主要功能模块设计4.1 系统登录设计4.1.1 系统登陆模块的功能登录窗体是用户进入系统的钥匙,只有合法的登录才是有效的登录,这里主要是利用输入的用户表信息跟users(用户表)里面的信息进行比对。如果是非法用户登录的话,就会跳转到错误页面。在本系统中预设了两种用户:管理员用户和普通用户,管理员对普通用户有管理的功能,管理员可以添加登录也可以删除用户。管理员对系统的员工信息,考勤信息,工资信息,都有编辑,删除,查
19、询,添加的功能。4.1.2 系统登陆的代码设计publicclass Login private Connection conn=null。private PreparedStatement stmt=null。private ResultSet rs=null。private Boolean b。publicint login(String username,String password,String role)throws SQLException try String url=jdbc:mysql:/localhost:3306/filems?auotReconnect=true&us
20、eUnicode=true&characterEncoding=GB2312。 String user=root。 String pwd=123。 Class.forName(com.mysql.jdbc.Driver)。 conn= DriverManager.getConnection(url,user,pwd)。stmt= conn.prepareStatement(select * from users where username=? and passwords=? and role=?)。stmt.setString(1, username)。stmt.setString(2, p
21、assword)。stmt.setString(3, role)。rs=stmt.executeQuery()。 b=rs.next()。if(rs != null) rs.close()。if(stmt!= null)stmt.close()。 if(conn!= null)conn.close()。 catch (ClassNotFoundException e) e.printStackTrace()。 catch (SQLException e) e.printStackTrace()。 if(b) return 1。 elsereturn 0。4.2.1部分代码(查询代码)publi
22、c class CheckPersonalFiles private Connection conn=null。 private PreparedStatement stmt=null。 private ResultSet rs=null。 String EmployeeID。 String EmployeeName。 String DepartmentName。 String work。 public ArrayList query(String EmployeeID,String EmployeeName,String DepartmentName, String work) throws
23、 SQLException ArrayList list=new ArrayList()。 this.EmployeeID=EmployeeID。 this.EmployeeName=EmployeeName。 this.DepartmentName=DepartmentName。 this.work=work。 System.out.println(EmployeeID)。 StringBuffer sql=new StringBuffer(select * from personalfiles where 1=1 )。 if (EmployeeID!=null&! .equals(Empl
24、oyeeID) sql.append( and id= +EmployeeID+ )。 if (EmployeeName!=null&! .equals(EmployeeName) sql.append( and EmployeeName= +EmployeeName+ )。 if (DepartmentName!=null&! .equals(DepartmentName) sql.append( and DepartmentName= +DepartmentName+ )。 if (work!=null&! .equals(work) sql.append( and work= +work
25、+ )。 String finalSQL=sql.toString()。 System.out.println(finalSQL)。 try Stringurl=jdbc:mysql:/localhost:3306/filems?auotReconnect=true&useUnicode=true&characterEncoding=GB2312。 String user=root。 String pwd=123。 Class.forName(com.mysql.jdbc.Driver)。 conn= DriverManager.getConnection(url,user,pwd)。 stm
26、t= (PreparedStatement) conn.prepareStatement(finalSQL)。 rs=stmt.executeQuery()。 catch(Exception e) while(rs.next() PersonalFilesJavaBean jb=new PersonalFilesJavaBean()。 jb.setId(rs.getString(id)。 jb.setEmployeeID(rs.getString(EmployeeID)。 jb.setEmployeeName(rs.getString(EmployeeName)。 jb.setSex(rs.g
27、etString(sex)。 jb.setBirthDate(rs.getDate(BirthDate)。 jb.setNationals(rs.getString(nationals)。 jb.setEducation(rs.getString(education)。 jb.setPositions(rs.getString(positions)。 jb.setDepartmentID(rs.getString(DepartmentID)。 jb.setDepartmentName(rs.getString(DepartmentName)。 jb.setWork(rs.getString(w
28、ork)。 list.add(jb)。 return list。 5.软件测试的目标为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。(1)测试是为了发现程序中的错误而执行的过程;(2)好的测试方案实际可能发现迄今为止尚为发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误测试5.1 软件测试的过程(1)测试用户登陆是否成功 打开人事管理系统,在“用户名”里填入“唐明辉”,“密码”框里我们填入“123”作为用户登录密码,并且选择管理员。填写完成点击“确定”按钮,将会出现操作程序页面,即该用户已经登陆成功了。如果输入的信息在数据库中比对后没有该用户,那么会显示一个错误页面提
29、示你输入的信息有误,请从新输入再登陆。(2)测试注册新用户 在登录首页上面点击注册连接后,我们跳转到注册页面,填写玩相应的信息后,点击提交,然后跳转到登陆首页,发现自己能够登陆进去了,说明测试成功。(3)测试查询功能是否成功 查询功能:在登录成功之后,点击“查询”,在弹出的文本框,在里面输入想要查找的资料,点击“查询”按钮,成功即可出现结果页面,页面内显示查询出来的员工资料内容,表示测试成功。(4)测试编辑功能是否成功 编辑功能:在登录成功并查询出之后,即可进入相应的管理页面,点击那些“删除”,即出现编辑页面,即可以修改和删除员工的个人信息资料。最后保存。(5)用户登出系统的测试在管理操作已全部完成,需要退出程序的时候,在系统页面“系统设置”下拉菜单的有一个“退出”的选项,点击之后便可退出。(6)测试密码更改 管理员可以查询出用户后更改任意用户的密码,普通用户只能在登陆后更改自己的密码。点击修改后到了更改页面,要求输入两次密码,如果输入的两次密码不一样,则提示“您两次输入的密码不一致,请从新输入密码!”,输入正确的密码后,点击确定,然后提示密码修改成功,最后返回登陆首页,用新密码登陆,登陆成功,说明测试成功!主要参
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1