版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
届别:2009届学号:200514070241毕业设计(论文)基于Struts+Hibernate的人力资源管理信息系统目录摘要ⅠAbstractⅡ引言 1TOC\o"1-9"\t"标题3;3;标题2;2;标题1;1"\hHYPERLINK课题的目的和意义|outline"1.1课题的目的和意义 5HYPERLINKJ2EE体系结构介绍|outline"2.2J2EE体系结构介绍 7HYPERLINKAjax技术简介|outline"2.4Ajax技术简介 10HYPERLINK业务需求分析|outline"3.1业务需求分析 11HYPERLINK系统设计的原则和目标|outline"4.1系统设计的原则和目标 13HYPERLINK系统时序图|outline"5.3系统时序图 19HYPERLINK\l"_toc1895"5.4模块功能设计与实现 20HYPERLINK\l".4.1登录模块|outline"5.4.1登录模块 20HYPERLINK\l".4.2系统主界面|outline"5.4.2系统主界面 21HYPERLINK\l".4.3员工档案管理模块|outline"5.4.3员工档案管理模块 22HYPERLINK\l".4.4人员招聘模块|outline"5.4.4人员招聘模块 25HYPERLINK\l".4.5人员培训管理模块|outline"5.4.5人员培训管理模块 26HYPERLINK\l".4.6奖惩管理模块|outline"5.4.6奖惩管理模块 28HYPERLINK\l".4.7薪资管理模块|outline"5.4.7薪资管理模块 28HYPERLINK\l".4.8文件管理模块|outline"5.4.8文件管理模块 29HYPERLINK\l".4.9员工自助管理模块|outline"5.4.9员工自助管理模块 30HYPERLINK\l"_toc2022"参考文献 34HYPERLINK\l"_toc2053"谢辞 35引言随着社会的发展,邓小平的改革开放政策的实施,企业的增长有如雨后春笋,企业的增加也使得企业之间的竞争更加的激烈,而网络的诞生更是这种状态升华的催化剂。企业的不断扩大,人力、物力的不断增加,使得以前的人工管理模式逐渐显得捉襟见肘,而信息化的管理模式的优势变得更加的明显--人力资源管理信息系统也就应运而生了。人力资源管理信息化,不但可以更加的及时跟准确的收集信息,加强与用户之间的沟通,使得人力资源的规划和管理决策的做出可以更大程度的依赖于相关的信息,而不是仅仅靠管理人员的观点和直觉,而且可以通过表单减少员工的手上作业,即减轻员工的负担又使得工作的效率大大的提高。据统计,目前,美国在财务会计上占有90%的工作由计算机完成,人事管理中80-100%的信息处理由计算机完成,计划管理是80—90%,在计算机应用发展较快的国家中,计算机应用于经济管理的占80%,由此可以看出,在国外经济管理是计算机应用的主要领域。我国的人事管理等信息系统的开发应用是从1973年开始的,83年以后才开始了大量的实际的开发和研究工作。因此,信息资源的开发和利用已被确立为国民经济信息的核心内容,信息数字化,传输的网络化是缩小发展中国家与发达国家差距的捷径。网络的迅速发展,人类知识与技术的不断增长,竞争的不断扩大,任何方面都发生了日新月异的变更,而在企业中人力资源管理走向信息化更加明显。1概述1.1课题的目的和意义 自1900年以来,人力资源管理内容发生了很大变化,最初只是一些简单的操作:工资发放,员工档案记录,安排社区访问等,但现在随着企业自身人力资源的日益庞大、复杂程度逐渐增强,增加了很多管理方式,如:招聘、培训、员工调动等人机作坊再也无法适应如今企业的人事管理了。[注1] HRIS使得人力资源规划和管理决策的做出可以在很在程度上依赖于相关信息,而不是仅仅靠管理人员的观点与直觉,这对于企业的决策者和管理者来说都至关重要。作为计算机应用的一部分,使用计算机对人事资料信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业人事管理系统的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。1.2人力资源管理信息系统概况 人力资源管理信息系统(HRMIS)就是借助于计算机信息技术把现代人力资源管理理念和实践有机的结合起来,创建一种机制和管理平台。在这个系统中,计算机信息技术是支撑性的基础平台,人力资源管理流程和功能实现是目标。人力资源管理信息系统在企业的有效实施,将会促进企业人力资源管理向规范化、标准化、决策科学化发展;促使企业人力资源管理人员从日常大量的行政事务性工作中解脱出来,逐步专注于对企业的人力资源管理活动进行计划,组织,监督和咨询职能;调动企业各级管理者和每一位普通员工都积极参与到人力资源管理活动中来。并且通过大力推进人力资源管理信息化建设,优化了企业人力资源管理流程,建立起开放式的人力资源管理模式,从而提升企业人力资源管理水平和管理效率,充分调动一切有利因素,最终使人成为企业经营发展中真正的第一资源。人力资源管理信息系统是人力资源管理的电子信息化,是企业基于高速度、大容量的硬件和先进的IT软件的人力资源管理模式,即人力资源管理信息化或自动化。国内目前的人力资源管理软件大多处于传统的人事管理系统阶段,它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发等功能。国外系统虽然业务流程非常清晰,管理非常规范,但不够灵活,通用性不强。近年来,随着Internet的快速发展,基于web的应用系统的开发备受关注,但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说很不方便,并且由于开发工具本身的限制,对网络功能的支持强度不强,为以后软件的升级到互联网带来了麻烦。因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的传输。而且,人力资源管理系统不仅仅能提供给企事业单位的人事部门或人力资源部门使用,而且也能提供给单位所有的部门和员工使用,这样才能使人力资源系统发挥出更大的作用。2相关技术理论2.1Java语言简介 Java语言是一种网络计算的面向对象程序设计语言,在C++的基础上进行了极在的简化和改进,如支持多线程,网络通信和多媒体数据控制,采用自动内存分配和回收,而C++要求程序员去分配和回收等。2.1.1Java的特点 (1)面向对象Java沿用了C++的面向对象的思想,通过封装、继承和多态,为软件的开发提供了极大的灵活性、模块性、透明性和可重用性。[注2] (2)分布式分布式计算涉及到几台计算机在网络上一起工作。Java的设计使分布式计算变得容易起来,由于Java开始设计了网络工作能力,因而编写网络程序如同在文件中存取数据一样。[注2] (3)安全Java的编程类似C++,当Java舍弃了C++的指针对存储器地址的直接操作。程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。[注2] (4)可移植性Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供了应用于不同平台的接口。 (5)健壮性Java非常重视及早检查错误,Java编译器可以查出许多其他语言运行时才能发现的错误。Java丢弃了其他语言中容易引起错误的某些程序概念类型,如:它不支持指针,从而避免了因重写内存而造成数据破坏的可能性。Java具有实时异常处理的功能,该特点有助于提高程序的健壮性。Java强制程序员编写处理异常的代码,所以它能够捕获并响应意外情况,从而发生实时错误时程序能够继续正常执行错误处理代码,稳妥地结束。2.1.2Java与Internet 科技的发展,网络为异地信息的交换提供了快速,便捷的方式。随着Internet的普及,Internet现今一个重要的功能是用于当今的电子货币、电子商务,而传统的编程语言难以胜任电子商务系统,它要求程序代码既要安全可靠,还要能与运行于不同平台机器的全世界客户开展业务。Java凭借它在语言上无法比拟的优势成为网络编程语言,并以其强安全性、平台无关性、硬件结构无关性、语言简洁同时集面向对象等特性,应用于电子商务。Web华丽的页面,不可思议的超链接、人机交互功能,生动的动画效果都深深吸引着访问者。Web页由浏览器装载,由Java编写的程序代码可以嵌入在Web页在浏览器上运行,可以轻松地实现动画、人机对话和事务处理等功能。Java与Web联系十分紧密,Java在Web上充分显示出它的强大功能。网络服务离不开网络服务器。2.2J2EE体系结构介绍 J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBCAPI以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供了对现有应用程序集成强有力的支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在J2EE开发模型中,整个系统可分为以下三个主要部分:(1)视图(view)视图是用户界面部分,在web应用程序中也就是HTML、XML、JSP页面。这个部分主要处理用户看到的东西即用于显示,动态JSP部分处理了用户可看见的动态网页,而静态的网页由HTML和XML输出。(2)控制器(Control)控制器负责网站的整个逻辑。它用于管理用户与视图发生的交互。可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,即网页制作人员将可以独立自由地改变Web页面而不用担心影响这个基于Web的应用程序功能。在J2EE模型中,控制器的功能一般是由Servlet、JavaBeans、EJB中的SessionBean来充当的。(3)模型(Module)模型就是应用业务逻辑部分,这个部分主要角色EJB(EnterpriseJavaBeans),借助于EJB强大的组件技术和企业级的管理控制,开发人员可以轻松的创建出可重用的业务逻辑模块。2.3Hibernate与STRUTS简介2.3.1关于HibernateHibernate是一种新的ORM(对象关系映射)工具,它同时提供了从Java类到数据表的映射和数据查询、恢复等机制,实现数据层对象的持久化。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate可以大大减少操作数据库的工作量。并且Hibernate可以和Web服务器以及应用服务器良好的集成。Hibernate为应用程序提供持久化服务,其体系结构如图2-1所示:图2-1Hibernate体系结构Hibernate是开放源代码的对象关系映射框架,是JDBC的轻量级对象封装。Hibernate是按照LGPL许可证发布的开放式源代码应用程序,它是“用于Java的超高性能的对象/关系持久化和查询服务”[1]。应用Hibernate,可以使Java程序员方便的用对象编程的思想,使持久性对象映射到关系数据库,而不必花费大量的开发时间去更新和维护复杂的数据持久层,降低J2EE架构应用软件开发的难度和复杂度,提高Java应用软件的开发效率,进而使Java的企业级应用开发更加容易、灵活和强大。2.3.2STRUTS技术简介STRUTS是Apache组织的一个开放源码的项目,它是一个可重用的MVC设计。STRUTS应用有3个主要部件:Servlet及负责具体业务处理的Action类(Controller),JSP页面(view)和STRUTS应用的业务逻辑封装(Model)。STRUTS实质上就是在JSP基础上实现的一个MVC框架,如图2-2所示:图2-2STRUTS体系结构图其中FilterDispatcher处理客户请求,利用配置的struts文件,使用ActionProxy调用Action中的set、get方法获得提交的数据,它还调用execute方法调用业务逻辑返回字符串对象,根据ActionForward对象返回处理和响应客户请求。在STRUTS中FilterDispactcher担任了重要的角色,由它控制所有的程序流转,使MVC三个相对独立的部分协调工作,因此增强了开发人员对系统的整体把握,提高了系统的可维护性和可扩充性[3]。2.3.3Hibernate和STRUTS综合应用的系统架构STRUTS和Hibernate都有自己的不足,但将两者结合起来,通过使用STRUTS技术来降低M-V-C层之间的耦合性,而利用Hibernate架构来降低业务模型部分的开发难度。结合之后的好处是采用STRUTS和Hibernate结合的应用框架开发出来的信息系统无论在整体的结构上还是在局部的复杂业务模型中都得到了更低的耦合性,它们的灵活性与可维护性也得到了提高,从而消除了单独使用这些架构开发系统的不足。在结合MVC的系统架构设计模式和基于Hibernate的数据层持久化框架应用中,系统的应用架构如图2-3所示:图2-3STRUTS+Hibernate体系结构图其中Action是view模块的数据表示,其数据来源于view模块中JSP页面的数据提交。持久层数据来源于数据库,其数据表示和数据库里的表相对应。且持久化数据可以由Hibernate动态生成。Hibernate持久化对象生成的数据满足了业务逻辑层的应用。2.4Ajax技术简介Ajax全称“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机的包含了以下几种技术:基于web标准XHTML+CSS的表示;使用DOM进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest进行异步数据查询、检索;使用JavaScript将所有的东西绑定在一起。Ajax,使用它可以构建更为动态和响应更灵敏的Web应用程序,使浏览器可以为用户提供更为自然的浏览体验。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面,使用户看起来是即时响应的。Ajax的核心是JavaScript对象XmlHttpRequest。该对象是一种支持异步请求的技术。简而言之,XmlHttpRequest使用户可以使用JavaScript向服务器提出请求并处理响应,而不是阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。3系统需求分析本章就该系统业务和功能需求做了分析,然后根据所做的功能分析给出了该系统的包图、系统所涉及的角色及用例图。3.1业务需求分析业务需求(BusinessRequirement)反映了组织结构或用户对系统高层次的目标要求。对人力资源管理业务,包含的内容较为广泛,作为人力资源管理信息系统,为了保证其通用性和实用性,在需求分析阶段首先全面剖析人力资源管理业务过程,从业务操作的角度分析每个过程的输入、输出和处理细节。其次,面向业务处理过程,提取规范的业务流程建议:面向业务处理方法,结合实际情况,提取业务处理过程的每个参数等。最后,将所有问题整理出来,再进行调研,并向有关部门进行咨询,然后再经过加工整理,形成人力资源管理业务需求报告。人力资源管理信息系统根据不同用户类型设置不同的权限,主要完成员工档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件服务、系统管理、员工自管理等功能。因此需要先根据大的方面的业务将人力资源系统分为几个子系统,然后再对每个子系统的业务进行分析。3.2功能需求分析3.2.1总体功能分析功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。参照业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。根据一般公司的人力资源管理业务需求,系统应该具有以下功能:(1)登录功能:为了防止非法用户的访问及信息保密性要求,登录模块应根据用户类型对其操作权限进行了限制。(2)员工档案管理:应实现员工档案的增加、删除、修改等操作。(3)招聘管理:管理员可以发布、删除招聘信息。(4)培训管理:根据具体的情况设置人员培训,可修改、删除、添加培训信息,为员工的升迁提供科学的依据。(5)奖惩管理:实现对奖惩信息的增加、删除等操作,为薪资、升迁等提供依据。(6)薪资管理:实现对员工工资的录入、查询等。(7)员工自管理:该模块强调员工自助服务,如对个人档案、薪资等信息的查询。(8)系统管理模块:对该系统用户进行管理(增加、删除等)。3.2.2系统用例图系统的功能性需求描述工具主要是用例(UseCase),即将系统的功能性需求分解到每一个系统用例。通过提供用例建模,描述开发设计的系统提供的活动和服务。按照角色(Action)识别用例(UseCase)的方法,该方法可以较为直观地建立起系统用例的层次结构,可以采用将系统用例分为不同的包,每一个包表示一组相关的系统用例。本系统引入了包图来将不同的功能用例进行分类,每个包图作为一个系统功能模块。根据总体功能分析,设计系统包图如图3-1所示:图3-1人力资源管理信息系统包图人力资源管理信息系统包含的Actor如图3-2所示:图3-2人力资源管理信息系统角色图系统总用例如图3-3所示:图3-3人力资源管理信息系统总用例图系统管理员负责系统系统用户的定义和权限划分、档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件管理等工作;普通员工只能查看自己相关信息。由于人力资源管理信息系统各个模块较为相似,在此仅列出员工档案管理的用例图如图3-4所示:图3-4员工档案管理用例图用例名称:员工档案管理简要描述:系统管理员可以对员工档案信息进行添加、注销、修改、查看操作,公司职员可以查看个人档案信息。参与者:系统管理员、公司职员。前置条件:系统管理员为公司职员授权。后置条件:通过校验,系统中存在员工档案信息。4系统总体设计本章先给出该系统设计的原则和目标,然后设计出符合需求分析各项要求的系统体系架构、系统功能模块和数据库设计。4.1系统设计的原则和目标设计出灵活、便捷的用户操作界面,支持多用户并发访问,合理设计数据库对象,使用Hibernate技术对数据库信息访问,使用基于STRUTS的开发模式。系统应达到以下目标:(1)业实际需求,切合实际,提高企业人力资源管理,提高工作效率,降低成本。(2)B/S架构,满足信息共享的需要,安装及部署方便。(3)系统具有良好的维护性,并且可以根据用户需求做出修改,满足企业个性化需求,各个功能模块能够较容易添加和修改,可升级。(4)能够及时更新相关数据,便于企业决策。4.2 系统体系结构的设计(1)该系统是以关系数据库为存储,基于Web的应用系统。由一系列组件和功能模块组成。●总体结构:浏览器/服务器(B/S)●编程模式:Jsp+Hibernate+STRUTS●逻辑结构:用户界面开发、业务逻辑处理和数据存储(2)该系统联合使用业务代理和DAO模式如图4-1所示:图4-1系统架构图4.2.1系统的业务模块人力资源系统建立在基础构件和定制平台上,包括人员档案管理、招聘管理、培训管理、奖惩管理、薪资管理等业务模块,在业务模块之上,可建立查询分析等功能,用于日常工作及决策分析。由于人力资源管理信息系统对信息的敏感,不同类型的用户对信息访问特性不同,所能进行的操作也不同,因此必须对权限进行划分。人力资源管理信息系统功能模块如图4-2所示:图4-2系统总体功能图4.2.2系统的层次结构系统从逻辑上分为显示层、业务逻辑层、数据持久层。从程序分布位置角度,系统依次分布在浏览器、应用服务器、数据库系统三层,如图4-3所示:图4-3系统层次结构图4.3数据库设计数据库技术是信息资源管理最有效的手段。数据库设计是指针对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏直接对应用系统的效率及实现效果产生影响。合理的数据库设计可以提高数据库的存储效率、保证数据的完整性和一致性。4.3.1数据字典在业务模块划分及实体之间关系的基础上,形成各个表格之间的关系。人力资源管理信息系统数据库中各个表的设计结果如下所示,其中每一个表格表示数据库中的一个表。(1)用户信息表:用来存储用户信息,表结构见表4-1表4-1用户信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2accountnovarchar220外键用户帐号(员工编号)3passwordvarchar250非空用户密码4typenumberDefault=0非空用户类型(0普通员工,1高级管理员,2普通管理员)5statusnumberDefault=0是否注销(0未注销,1己注销)(2)员工信息表:用来存储职工档案信息,表结构见表4-2表4-2员工信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2nicknamevarchar220非空员工姓名3englishnamevarchar220英文名4gendervarchar21非空员工性别5agenumber6nativevarchar250员工籍贯7birthdayvarchar230出生日期8deptidnumber外键对应部门id9titleidnumber外键对应职务id10wphonevarchar220办公电话11fphonevarchar220家庭电话12emailvarchar220电子邮箱13politicalfacevarchar24政治面貌14healthvarchar225健康状况15professionvarchar220专业16educationvarchar215学历17marryvarchar21婚姻状况18identityidvarchar218非空身份证号19addressvarchar250现居地址20iconvarchar2200照片路径21enterdatedate录入日期22modifydatedate更改日期(3)部门信息表:用来存储部门信息,表结构见表4-3表4-3部门信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2depnamevarchar220非空、唯一部门名(4)职务信息表:用来存储各职务信息,表结构见表4-4表4-4职务信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2titnamevarchar220非空职位名称3dept_idnumber外键部门id(5)招聘信息表:用来存储发布的招聘信息,表结构见表4-5表4-5招聘信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2contentvarchar2500非空招聘内容3issuedatedate发布日期(6)奖惩信息表:用来存储员工奖惩信息,表结构见表4-6表4-6奖惩信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2rpnamevarchar230非空奖惩名称3reasonvarchar250奖惩原因4membervarchar250奖惩人员5descrvarchar2200奖惩描述6issuedatedate发布日期7issueMemvarchar215发布人员(7)培训信息表:用来存储员工培训信息,表结构见表4-7表4-7培训信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2tnamevarchar220非空培训名称3tgoalvarchar220非空培训目标4tmaterialvarchar220培训教材5tmembervarchar2200非空参加人员6startdatevarchar220开始日期7enddatevarchar220结束日期8tnumbernumber参加人数9teachervarchar220培训讲师10gradevarchar210培训级别11affectvarchar210影响程度12issuedatedate发布日期(8)薪资信息表:用来存储员工薪资信息,表结构见表4-8表4-8薪资信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2membernonumber外键员工编号3smonthvarchar28非空所属月份4basicsalarynumber非空基本工资5housesalarynumber住房补助6extrasalarynumber额外补助7taxsalarynumber税收金额8totalbonusnumber3全额奖金9forfeitnumber3罚款金额10issuedatedate发布日期(9)文件信息表:用来存储所上传文件路径,表结构见表4-9表4-9文件信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2loadfilevarchar250非空上传文件名3updatedate上传日期4.3.2数据库总体设计该系统采用oracle数据库,涉及的表有:用户信息表,员工信息表,部门信息表,职位信息表,招聘信息表,培训信息表,奖惩信息表,薪资信息表,文件信息表。人力资源管理信息系统E-R结构图如图4-4所示:图4-4系统E-R图5系统详细设计与实现详细设计是对系统架构设计的精化,主要是在系统需求规格和架构设计的基础上,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。5.1系统运行环境系统运行的操作系统为Linux,也可以移植到Windows、Unix等操作系统下执行,数据库采用Oracle10g,应用服务器采用符合J2EE规范的Tomcat5.0应用服务器。5.2系统部署架构整个应用部署在一台应用服务器、一台数据库服务器上。系统可以可以使用企业内部局域网,也可以通过广域网访问系统。5.3系统时序图在人力资源系统设计过程中,时序图如图5-1所示:图5-1系统时序图(1)界面:在本项目中指JSP页面,在具体的时序图中被实际的页面文件所替代。(2)ActionServlet:指Struts中的ActionServlet,是特指,在具体的时序图中也不会改变。(3)Action:指Struts中的Action的具体实现类,在具体的时序图中被实际的类所替代。其作为控制器的一部份存在,通过拦截器,set方法进行与界面的数据传输。(4)BO:业务逻辑操作对象(BussinessObject),执行功能的业务逻辑职责,在具体的时序图中被实际的类所替代。如果某个功能没有业务逻辑处理,此类可以不在时序图中存在。(5)DAO:为数据操作类处理相应的数据库操作。(6)HibernateDataSource:数据操作实现类,用来执行实际的数据库访问。5.4模块功能设计与实现5.4.1登录模块用户先访问index.jsp主页面,转到login.jsp进行登录,用户输入账号、密码提交,先进入JavaScript中进行简单的非空验证,后进入LoginAction,调用service层的login方法进行用户类型的判断登录。登录界面如图5-2所示:图5-2登录界面在登录过程中,将对用户帐号、密码、类型等进行进一步验证,正确才能登录;否则,将会给用户弹出错误提示信息。5.4.2系统主界面根据用户类型的不同,用户界面分为管理员界面和公司职员界面。该设计主要是为了区分用户权限,更好的实现系统的安全性和信息的保密性。管理员权限:员工档案管理、人员招聘管理、培训管理、奖惩管理、薪资管理、文件管理、用户管理。公司职员权限:员工自管理,即对个人信息的管理,如个人档案、薪资的查询,密码修改等。图5-3管理员界面图5-4员工自管理界面5.4.3员工档案管理模块该模块主要是管理员对员工档案进行录入、修改、注销等操作。管理员应根据员工真实信息去填写员工档案,其中员工编号必须唯一,部门、职位等信息不能为空,若出现不合规范的输入,会弹出警告信息。图5-5添加员工档案管理员能够查看所有员工档案信息,并能够根据员工编号、性别、所在部门等信息对其进行检索。若员工离职,可以注销其档案。如图5-6所示:图5-6员工档案图5-6显示所有员工档案管理员能够查看员工档案详细信息,并能对其档案中部分信息进修改,如:员工称、手机号码等。图5-7查询员工档案信息在该模块中,其中职位是根据用户所选择的部门动态生成的。主要应用的是Ajax的技术,当用户去选择某个部门时,页面不产生任何跳转,查询仅在后台进行。其中使用的关键代码如下://根据部门查找对应的职位functionselectTitle(){ vardepname=document.getElementById("depname"); varoptions=depname.options; varvalue=""; for(vari=0;i<options.length;i++){ if(options[i].selected){ value=options[i].value; } } varurl="/HRIS_yilin/selectTitle"; varparameter="depname="+value; sendAsynchronRequest(url,parameter,selectTitleCallback);}//解析生成的xml文件,得到该部门下所有职位信息functionclearSelect(){vartitle= document.getElementById("title");while(title.hasChildNodes()){ title.removeChild(title.childNodes[0]);}}functionselectTitleCallback(){ if(xmlHttp.readyState==4){ if(xmlHttp.status==200){ vartitlesDoc=xmlHttp.responseXML; clearSelect(); vartitles=titlesDoc.getElementsByTagName("title"); vartitleSelect=document.getElementById("title"); for(vari=0;i<titles.length;i++){ vartitle=titles[i]; varid=title.getAttribute("id"); varoption=newOption(id,id); titleSelect.options.add(option); } } }}5.4.4人员招聘模块人力资源部根据公司目前人力资源状况及各部门实际需求状况,指定人员招聘计划,后录入信息库进行备案。当该信息发布同时,应该同时在公司网页的招聘栏上发出该信息。图5-8查询招聘信息5.4.5人员培训管理模块人力资源部门应针对员工、部门及具体项目要求,及时制定培训计划,并将该培训记录入库,以备员工升职、企业规划使用。图5-9添加培训信息图5-10查看培训信息5.4.6奖惩管理模块对员工的奖惩信息进行增加、删除等操作,录入该信息主要为员工的薪资及职称评定提供参考。图5-11添加奖惩信息5.4.7薪资管理模块该模块用于录入各种薪资的详细信息。在模块中对员工添加的所属月份有较为严格的要求,一是为了便于查询,二为了员工自助管理服务。图5-12添加员工某月薪资信息用户可以通过员工编号查找该员工历史薪资信息,也可以查看所有员工某月薪资信息。图5-13查询所有员工薪资信息5.4.8文件管理模块该模块用于管理员上传一些文件,如:职称申请表、管理制度表等。减少了人力资源部的工作,也为员工提供了方便。文件上传主要使用的是Struts框架中的<s:file>标签,文件的下载则主要使用jspSmartUpload组件。jspSmartUpload是由网站开发的一个可免费使用的全功能的文件上传下载组件,该组件具有操作简单、控制方便、上传下载灵活等特点。关键代码如下: SmartUploadmyupload=newSmartUpload(); //初始化,此项是必须的 myupload.initialize(pageContext); //取得请求参数 Stringfilename=request.getParameter("filename"); try{ //设定contentDisposition为null以禁止浏览器自动打开文件, myupload.setContentDisposition(null); //下载文件 myupload.downloadFile(request.getSession().getServletContext().getRealPath("/")+"files/"+filename); }catch(Exceptionex){ System.out.println("下载文件失败!<br>"); out.println("下载文件失败!<br>"); out.println("错误原因:<br>"+ex.toString()); }5.4.9员工自助管理模块该模块主要强调员工自助管理,员工根据自己账号登录本系统后,可对个人基本信息、密码、薪资等进行查询,对公司招聘、培训、奖惩等进行查看。员工可以修改部分个人信息,如个人联系方式等,见图5-14:图5-14员工个人档案查询员工还可以修改密码,见图5-15:图5-15员工密码修改注释[注1]罗伯特·L.马西斯(RoberL.Mathis),约翰·H.杰克逊(JohnH.Jackson)著.孟丁主译:人力资源管理49-52页.[注2]Y.Daniel,Liang著.Java语言程序设计.12-13页.结论本系统为人力资源管理信息系统,经过较为深入和全面的分析、测试,该系统能够成功完成员工档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件管理、EHR管理等功能。本系统是基于J2EE架构的设计模式,具有良好的扩展性和可维护性,能适应人力资源管理的需要。本系统还具有较好的跨平台性,用户能够使用各种不同的操作系统,适应今后可能的变化。同时,本系统对当前比较流行的框架STRUTS+Hibernate、Ajax技术等都进行大量的研究,并在本系统中得到了应用。当然,由于各种主客观因素的影响,本系统的开发仍存在不足,如:对现在公司比较注重的绩效评估没有涉及等,有待进一步研究与开发。本系统的开发角度着眼于系统的实用性和灵活性,以满足用户快速发展对人力资源管理工作的各种需求。在信息技术与人力资源管理日新月异的今天,如何将实用性与灵活性、先进性更好的结合,将是本系统进一步研究的方向。本系统中,对Ajax仅作了初步研究与应用,如何将该技术更好的运用到本系统中,也是本系统的一个研究方向。参考文献[1]罗伯特·L.马西斯(RoberL.Mathis),约翰·H.杰克逊(JohnH.Jackson)著.孟丁主译:人力资源管理49-52页.[2]孙卫琴.精通Hibernate.北京.电子工业出版社.2005:23-32页.[3]卢菊平,郭江杰:精通JSP+XML+CSS网络开发混合编程.电子工业出版社.[4]吴海波.Oracle数据库应用与开发实例教程.电子工业出版社.[5]栗菊民.JavaWeb应用程序设计.北京.机械工业出版社.2007:13-16页.[6]张一弛.人力资源管理教程.北京.北京出版社.2004:45-49页.[7]闫术卓,杨强.Struts2技术详解基于WebWork核心的MVC开发与实践.电子工业出版社11章:文件的上传与下载.[8]李建刚,秦兴桥,郑雨贝.JSP网络编程技术与实践.清华大学出版社.[9]struts官方网站.[10]hibernate官方网站.[11]BruceTate.Persistencestrategies.IBM中国./developerworks/.2005-10-25.[12]GiulianoMega.DebuggingDistributedObjectApplicationsWiththeEclipsePlatform.2006.谢辞 经过三个月的努力,毕业设计终于完成了,四年大学生活也即将结束了。首先感谢我的导师刘晓玲老师,感谢刘老师在毕业设计期间给予的指导。刘老师给我的不仅仅是知识上的帮助,她对待事情认真的态度和巨大的耐心都是非常值得我学习的。在她工作非常繁忙、身体欠佳的情况下,仍很认真的帮我批改论文,我为刘老师的负责而感动,也衷心的感谢她,愿老师工作顺利。还要感谢高老师跟董老师,老师在技术上给了我很多帮助,让我懂得了更多新的知识。感谢四年来指导和帮助我的老师,是你们让我了解软件技术,掌握了计算机体系的基础知识。感谢四年来一起走过的同学,从你们身上我学到了很多自己不具备的东西,谢谢你们在四年中对我的帮助。感谢湘南学院给我提供这次学习和锻炼的机会,通过这次实践,我对自己所学的知识又有了更加深入的了解。在本次设计中,自己也学到了不少新的东西,自己的动手实践能力得到了很大的提升。感谢我的母校,在这里,我不仅学到了很多知识,还结交了很多朋友,留下了很多美好的回忆。祝母校的明天更加美好。感谢四年来一起走过的同学,从你们身上我学到了很多自己不具备的东西,谢谢你们在四年中对我的宽容和帮助。和你们一起的日子,将是我人生中最珍贵的回忆。感谢我的父母,在我求学的路上,是你们一直在默默的支持着我。你们无私的爱让我永远不会感到无助。再次衷心的感谢和我一起走过的人,感谢曾经帮助过我的人。我一定会努力的工作和生活来回报你们,愿你们一切都好!基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究HYPER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度技术开发费用结算合同3篇
- 二零二四年度旅游景点开发合同involving景区建设与经营权分配
- 新版垫资书合同标准版
- 2024年度服务合同:企业信息化建设与维护2篇
- 民办幼儿园教师合同范本
- 土地承包流转合同范本2篇
- 临时聘用协议书样板
- 酒店员工的劳动合同
- 2024版建筑施工用机械租赁合同3篇
- 《对数的创始人》课件
- 【基于杜邦分析体系的企业盈利能力分析文献综述及理论基础2700字】
- 基金经理绩效考核
- 医患沟通的法律基础
- 建筑工程项目管理体系
- 软件使用授权书
- 肥料、农药采购服务方案(技术方案)
- FAB-常用词汇介绍
- 放射防护管理机构(组织构成、管理部门、人员、职责)
- 2023-2024年司考刑法真题(含答案及解析)
- 上肢血管超声检查
- pep人教版英语四年级上册 Unit 6《Meet my family!》单元作业设计
评论
0/150
提交评论