




免费预览已结束,剩余32页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于java的人力资源管理信息系统的毕业设计与实现 基于JAVA+Struts+Hibernate的人力资源管理信息系统的设计与实现姓 名 系 别、 专 业 导 师 姓 名、职 称 完 成 时 间 目 录摘要 .Abstract.1概述11.1 课题的目的和意义11.2 系统运行环境11.3 人力资源管理信息系统概况22 相关技术理论22.1 Java语言简介2 Java的特点2 Java与Internet32.2 J2EE体系结构介绍32.3 Hibernate与STRUTS简介4 关于Hibernate4 STRUTS技术简介5 Hibernate和STRUTS综合应用的系统架构62.4 Ajax技术简介73 系统需求分析73.1 业务需求分析83.2 功能需求分析8 总体功能分析8 系统用例图94 系统总体设计114.1系统设计的原则和目标114.2系统体系结构的设计11 系统的业务模块12 系统的层次结构124.3 数据库设计13 数据字典13 数据库总体设计175 系统详细设计与实现175.1 系统运行环境175.2 系统部署架构185.3 系统时序图185.4 模块功能设计与实现19 登录模块19 系统主界面19 员工档案管理模块19 人员招聘模块20 人员培训管理模块21 奖惩管理模块23 薪资管理模块23 文件管理模块24 员工自助管理模块246 系统测试与分析256.1 系统测试的硬件环境256.2 系统测试范围256.3 系统测试结果277 结 论28参考文献29谢 辞30摘 要本系统运用现代的人力资源管理理论,并结合企业具体情况,通过分析人力资源管理系统现状,设计了一个基于STRUTS+Hibernate的人力资源管理信息系统体系结构。本文研究的主要内容有:员工档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件管理、系统管理、员工自助管理模块。系统建立旨在将与人力资源管理有关的数据统一起来,形成一个统一的数据源,并能帮助企业的人力资源管理人员进行人力资源管理和规划。关键词:人力资源;STRUTS;HibernateABSTRACTIn the design, the Human Resource Management System based on Struts Hibernate is proposed by combining the modern theory of human resource management and enterprises facts. The current status of Human Resource Management is analyzed. The research of HRMS in this paper focus on:people management module, application management module, training management module, bonus-penalty management module, salary management module, upload-File management module, system management module, HRIS management module. The purpose of HRMS establish is to consolidate all the information related to human resource management ,to form a unified data resource and to help human resource system administrator manager and layout human resource.Key words:Human Resource; STRUTS; Hibernate1 概述随着社会的发展,邓小平的改革开放政策的实施,企业的增长有如雨后春笋,企业的增加也使得企业之间的竞争更加的激烈,而网络的诞生更是这种状态升华的催化剂。企业的不断扩大,人力、物力的不断增加,使得以前的人工管理模式逐渐显得捉襟见肘,而信息化的管理模式的优势变得更加的明显人力资源管理信息系统也就应运而生了。人力资源管理信息化,不但可以更加的及时跟准确的收集信息,加强与用户之间的沟通,使得人力资源的规划和管理决策的做出可以更大程度的依赖于相关的信息,而不是仅仅靠管理人员的观点和直觉,而且可以通过表单减少员工的手上作业,即减轻员工的负担又使得工作的效率大大的提高。据统计,目前,美国在财务会计上占有90%的工作由计算机完成,人事管理中80-100%的信息处理由计算机完成,计划管理是8090%,在计算机应用发展较快的国家中,计算机应用于经济管理的占80%,由此可以看出,在国外经济管理是计算机应用的主要领域。我国的人事管理等信息系统的开发应用是从1973年开始的,83年以后才开始了大量的实际的开发和研究工作。因此,信息资源的开发和利用已被确立为国民经济信息的核心内容,信息数字化,传输的网络化是缩小发展中国家与发达国家差距的捷径。网络的迅速发展,人类知识与技术的不断增长,竞争的不断扩大,任何方面都发生了日新月异的变更,而在企业中人力资源管理走向信息化更加明显。1.1 课题的目的和意义自1900年以来,人力资源管理内容发生了很大变化,最初只是一些简单的操作:工资发放,员工档案记录,安排社区访问等,但现在随着企业自身人力资源的日益庞大、复杂程度逐渐增强,增加了很多管理方式,如:招聘、培训、员工调动等人机作坊再也无法适应如今企业的人事管理了。HRIS使得人力资源规划和管理决策的做出可以在很在程度上依赖于相关信息,而不是仅仅靠管理人员的观点与直觉,这对于企业的决策者和管理者来说都至关重要。作为计算机应用的一部分,使用计算机对人事资料信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业人事管理系统的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。1.2系统运行环境系统在Windows操作系统下执行,数据库采用Oracle 10g,应用服务器采用符合J2EE规范的Tomcat5.0应用服务器。1.3 人力资源管理信息系统概况人力资源管理信息系统 HRMIS 就是借助于计算机信息技术把现代人力资源管理理念和实践有机的结合起来,创建一种机制和管理平台。在这个系统中,计算机信息技术是支撑性的基础平台,人力资源管理流程和功能实现是目标。人力资源管理信息系统在企业的有效实施,将会促进企业人力资源管理向规范化、标准化、决策科学化发展;促使企业人力资源管理人员从日常大量的行政事务性工作中解脱出来,逐步专注于对企业的人力资源管理活动进行计划,组织,监督和咨询职能;调动企业各级管理者和每一位普通员工都积极参与到人力资源管理活动中来。并且通过大力推进人力资源管理信息化建设,优化了企业人力资源管理流程,建立起开放式的人力资源管理模式,从而提升企业人力资源管理水平和管理效率,充分调动一切有利因素,最终使人成为企业经营发展中真正的第一资源。人力资源管理信息系统是人力资源管理的电子信息化,是企业基于高速度、大容量的硬件和先进的IT软件的人力资源管理模式,即人力资源管理信息化或自动化。国内目前的人力资源管理软件大多处于传统的人事管理系统阶段,它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发等功能。国外系统虽然业务流程非常清晰,管理非常规范,但不够灵活,通用性不强。近年来,随着Internet的快速发展,基于web的应用系统的开发备受关注,但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说很不方便,并且由于开发工具本身的限制,对网络功能的支持强度不强,为以后软件的升级到互联网带来了麻烦。因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的传输。而且,人力资源管理系统不仅仅能提供给企事业单位的人事部门或人力资源部门使用,而且也能提供给单位所有的部门和员工使用,这样才能使人力资源系统发挥出更大的作用。2 相关技术理论2.1 Java语言简介 java简介 1 面向对象Java沿用了C+的面向对象的思想,通过封装、继承和多态,为软件的开发提供了极大的灵活性、模块性、透明性和可重用性。 2 分布式分布式计算涉及到几台计算机在网络上一起工作。Java的设计使分布式计算变得容易起来,由于Java开始设计了网络工作能力,因而编写网络程序如同在文件中存取数据一样。注2 3 安全Java的编程类似C+,当Java舍弃了C+的指针对存储器地址的直接操作。程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。注2 4 可移植性Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供了应用于不同平台的接口。 5 健壮性 Java与Internet科技的发展,网络为异地信息的交换提供了快速,便捷的方式。随着Internet的普及,Internet现今一个重要的功能是用于当今的电子货币、电子商务,而传统的编程语言难以胜任电子商务系统,它要求程序代码既要安全可靠,还要能与运行于不同平台机器的全世界客户开展业务。Java凭借它在语言上无法比拟的优势成为网络编程语言,并以其强安全性、平台无关性、硬件结构无关性、语言简洁同时集面向对象等特性,应用于电子商务。Web华丽的页面,不可思议的超链接、人机交互功能,生动的动画效果都深深吸引着访问者。Web页由浏览器装载,由Java编写的程序代码可以嵌入在Web页在浏览器上运行,可以轻松地实现动画、人机对话和事务处理等功能。Java与Web联系十分紧密,Java在Web上充分显示出它的强大功能。网络服务离不开网络服务器。2.2 J2EE体系结构介绍J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。 J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBC API以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP Java Server Pages 以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供了对现有应用程序集成强有力的支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在J2EE开发模型中,整个系统可分为以下三个主要部分:()视图(view)视图是用户界面部分,在web应用程序中也就是6HTML、XML、JSP页面。这个部分主要处理用户看到的东西即用于显示,动态JSP部分处理了用户可看见的动态网页,而静态的网页由HTML和XML输出。()控制器 Control 控制器负责网站的整个逻辑。它用于管理用户与视图发生的交互。可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,即网页制作人员将可以独立自由地改变Web页面而不用担心影响这个基于Web的应用程序功能。在J2EE模型中,控制器的功能一般是由Servlet、JavaBeans、EJB中的SessionBean来充当的。()模型(Module)模型就是应用业务逻辑部分,这个部分主要角色EJB(EnterpriseJavaBeans),借助于EJB强大的组件技术和企业级的管理控制,开发人员可以轻松的创建出可重用的业务逻辑模块。32.3 Hibernate与STRUTS简介 关于HibernateHibernate是一种新的ORM(对象关系映射)工具,它同时提供了从Java类到数据表的映射和数据查询、恢复等机制,实现数据层对象的持久化。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate可以大大减少操作数据库的工作量。并且Hibernate可以和Web服务器以及应用服务器良好的集成。Hibernate为应用程序提供持久化服务,其体系结构如图2-1Hibernate体系结构所示:图2-1 Hibernate体系结构Hibernate是开放源代码的对象关系映射框架,是JDBC的轻量级对象封装。Hibernate是按照LGPL许可证发布的开放式源代码应用程序,它是“用于Java的超高性能的对象/关系持久化和查询服务”。注4应用Hibernate,可以使Java程序员方便的用对象编程的思想,使持久性对象映射到关系数据库,而不必花费大量的开发时间去更新和维护复杂的数据持久层,降低J2EE架构应用软件开发的难度和复杂度,提高Java应用软件的开发效率,进而使Java的企业级应用开发更加容易、灵活和强大。 STRUTS技术简介STRUTS是Apache组织的一个开放源码的项目,它是一个可重用的MVC设计。STRUTS应用有3个主要部件:Servlet及负责具体业务处理的Action类(Controller),JSP页面(view)和STRUTS应用的业务逻辑封装(Model)。图2-2 STRUTS体系结构图其中FilterDispatcher处理客户请求,利用配置的struts文件,使用ActionProxy调用Action中的set、get方法获得提交的数据,它还调用execute方法调用业务逻辑返回字符串对象,根据ActionForward对象返回处理和响应客户请求。在STRUTS中FilterDispactcher担任了重要的角色,由它控制所有的程序流转,使MVC三个相对独立的部分协调工作,因此增强了开发人员对系统的整体把握,提高了系统的可维护性和可扩充性。注6 Hibernate和STRUTS综合应用的系统架构STRUTS和Hibernate都有自己的不足,但将两者结合起来,通过使用STRUTS技术来降低M-V-C层之间的耦合性,而利用Hibernate架构来降低业务模型部分的开发难度。结合之后的好处是采用STRUTS和Hibernate结合的应用框架开发出来的信息系统无论在整体的结构上还是在局部的复杂业务模型中都得到了更低的耦合性,它们的灵活性与可维护性也得到了提高,从而消除了单独使用这些架构开发系统的不足。在结合MVC的系统架构设计模式和基于Hibernate的数据层持久化框架应用中,系统的应用架构如图2-3 STRUTS+Hibernate体系结构图所示:图2-3 STRUTS+Hibernate体系结构图其中Action是view模块的数据表示,其数据来源于view模块中JSP页面的数据提交。持久层数据来源于数据库,其数据表示和数据库里的表相对应。且持久化数据可以由Hibernate动态生成。Hibernate持久化对象生成的数据满足了业务逻辑层的应用。2.4 Ajax技术简介Ajax全称“Asynchronous JavaScript and XML” 异步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站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。注53 系统需求分析本章就该系统业务和功能需求做了分析,然后根据所做的功能分析给出了该系统的包图、系统所涉及的角色及用例图。3.1 业务需求分析业务需求 Business Requirement 反映了组织结构或用户对系统高层次的目标要求。对人力资源管理业务,包含的内容较为广泛,作为人力资源管理信息系统,为了保证其通用性和实用性,在需求分析阶段首先全面剖析人力资源管理业务过程,从业务操作的角度分析每个过程的输入、输出和处理细节。其次,面向业务处理过程,提取规范的业务流程建议:面向业务处理方法,结合实际情况,提取业务处理过程的每个参数等。最后,将所有问题整理出来,再进行调研,并向有关部门进行咨询,然后再经过加工整理,形成人力资源管理业务需求报告。人力资源管理信息系统根据不同用户类型设置不同的权限,主要完成员工档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件服务、系统管理、员工自管理等功能。因此需要先根据大的方面的业务将人力资源系统分为几个子系统,然后再对每个子系统的业务进行分析。3.2 功能需求分析 总体功能分析功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。参照业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。根据一般公司的人力资源管理业务需求,系统应该具有以下功能:()登录功能:为了防止非法用户的访问及信息保密性要求,登录模块应根据用户类型对其操作权限进行了限制。()员工档案管理:应实现员工档案的增加、删除、修改等操作。()招聘管理:管理员可以发布、删除招聘信息。()培训管理:根据具体的情况设置人员培训,可修改、删除、添加培训信息,为员工的升迁提供科学的依据。()奖惩管理:实现对奖惩信息的增加、删除等操作,为薪资、升迁等提供依据。()薪资管理:实现对员工工资的录入、查询等。()员工自管理:该模块强调员工自助服务,如对个人档案、薪资等信息的查询。()系统管理模块:对该系统用户进行管理(增加、删除等)。 系统用例图系统的功能性需求描述工具主要是用例(Use Case),即将系统的功能性需求分解到每一个系统用例。通过提供用例建模,描述开发设计的系统提供的活动和服务。按照角色(Action)识别用例(Use Case)的方法,该方法可以较为直观地建立起系统用例的层次结构,可以采用将系统用例分为不同的包,每一个包表示一组相关的系统用例。本系统引入了包图来将不同的功能用例进行分类,每个包图作为一个系统功能模块。根据总体功能分析,设计系统包图如图3-1人力资源管理信息系统包图所示:图3-1 人力资源管理信息系统包图人力资源管理信息系统包含系统管理员和公司职员两个人力资源管理信息系统角色。系统总用例如图3-3人力资源管理信息系统总用例图所示: 图3-3 人力资源管理信息系统总用例图系统管理员负责系统系统用户的定义和权限划分、档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件管理等工作;普通员工只能查看自己相关信息。由于人力资源管理信息系统各个模块较为相似,在此仅列出员工档案管理的用例图如图3-4员工档案管理用例图所示:系统管理员 公司职员图3-4 员工档案管理用例图用例名称:员工档案管理简要描述:系统管理员可以对员工档案信息进行添加、注销、修改、查看操作,公司职员可以查看个人档案信息。参与者: 系统管理员、公司职员。前置条件:系统管理员为公司职员授权。后置条件:通过校验,系统中存在员工档案信息。4 系统总体设计本章先给出该系统设计的原则和目标,然后设计出符合需求分析各项要求的系统体系架构、系统功能模块和数据库设计。4.1系统设计的原则和目标设计出灵活、便捷的用户操作界面,支持多用户并发访问,合理设计数据库对象,使用Hibernate技术对数据库信息访问,使用基于STRUTS的开发模式。系统应达到以下目标:()业实际需求,切合实际,提高企业人力资源管理,提高工作效率,降低成本。()B/S架构,满足信息共享的需要,安装及部署方便。()系统具有良好的维护性,并且可以根据用户需求做出修改,满足企业个性化需求,各个功能模块能够较容易添加和修改,可升级。()能够及时更新相关数据,便于企业决策。4.2系统体系结构的设计()该系统是以关系数据库为存储,基于Web的应用系统。由一系列组件和功能模块组成。总体结构:浏览器/服务器(B/S)编程模式:Jsp+Hibernate+STRUTS逻辑结构:用户界面开发、业务逻辑处理和数据存储()该系统联合使用业务代理和DAO模式如图4-1系统架构图所示:Web应用层模型层信息层图4-1 系统架构图业务模块人力资源系统建立在基础构件和定制平台上,包括人员档案管理、招聘管理、培训管理、奖惩管理、薪资管理等业务模块,在业务模块之上,可建立查询分析等功能,用于日常工作及决策分析。由于人力资源管理信息系统对信息的敏感,不同类型的用户对信息访问特性不同,所能进行的操作也不同,因此必须对权限进行划分。人力资源管理信息系统功能模块如图4-2系统总体功能图所示:增、删、改、查等基本操作档案管理招聘管理培训管理奖惩管理文件管理用户管理用户自管理权限管理登陆管理图4-2 系统总体功能图 系统的层次结构系统从逻辑上分为显示层、业务逻辑层、数据持久层。从程序分布位置角度,系统依次分布在浏览器、应用服务器、数据库系统三层。 4.3数据库设计数据库技术是信息资源管理最有效的手段。数据库设计是指针对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏直接对应用系统的效率及实现效果产生影响。合理的数据库设计可以提高数据库的存储效率、保证数据的完整性和一致性。注7典在业务模块划分及实体之间关系的基础上,形成各个表格之间的关系。人力资源管理信息系统数据库中各个表的设计结果如下所示,其中每一个表格表示数据库中的一个表。()用户信息表:用来存储用户信息,表结构见表4-1表4-1 用户信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2accountnovarchar220外键用户帐号(员工编号)3passwordvarchar250非空用户密码4typenumberDefault 0非空用户类型(0普通员工,1高级管理员,2普通管理员)5statusnumberDefault 0是否注销 0未注销,1己注销 ()员工信息表:用来存储职工档案信息,表结构见表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更改日期()部门信息表:用来存储部门信息,表结构见表4-3表4-3 部门信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2depnamevarchar220非空、唯一部门名()职务信息表:用来存储各职务信息,表结构见表4-4表4-4 职务信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2titnamevarchar220非空职位名称3dept_idnumber外键部门id()招聘信息表:用来存储发布的招聘信息,表结构见表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上传日期 数据库总体设计该系统采用oracle数据库,涉及的表有:用户信息表,员工信息表,部门信息表,职位信息表,招聘信息表,培训信息表,奖惩信息表,薪资信息表,文件信息表。人力资源管理信息系统E-R结构图如图4-4系统E-R图所示:图4-4 系统E-R图5 系统详细设计与实现详细设计是对系统架构设计的精化,主要是在系统需求规格和架构设计的基础上,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。5.1系统工作环境与条件系统运行的操作系统为Windows,数据库采用Oracle 10g,应用服务器采用符合J2EE规范的Tomcat5.0应用服务器。注85.2系统部署架构整个应用部署在一台应用服务器、一台数据库服务器上。系统可以可以使用企业内部局域网,也可以通过广域网访问系统。5.3 系统时序图在人力资源系统设计过程中,时序图如图5-1系统时序图所示:图5-1 系统时序图()界面:在本项目中指JSP页面,在具体的时序图中被实际的页面文件所替代。()ActionServlet:指Struts中的ActionServlet,是特指,在具体的时序图中也不会改变。()Action:指Struts中的Action的具体实现类,在具体的时序图中被实际的类所替代。其作为控制器的一部份存在,通过拦截器,set方法进行与界面的数据传输。(4)BO:业务逻辑操作对象(Bussiness Object),执行功能的业务逻辑职责,在具体的时序图中被实际的类所替代。如果某个功能没有业务逻辑处理,此类可以不在时序图中存在。(5)DAO:为数据操作类处理相应的数据库操作。(6)HibernateDataSource:数据操作实现类,用来执行实际的数据库访问。5.4 模块功能设计与实现 登录模块用户先访问index.jsp主页面,转到login.jsp进行登录,用户输入账号、密码提交,先进入JavaScript中进行简单的非空验证,后进入LoginAction,调用service层的login方法进行用户类型的判断登录。在登录过程中,将对用户帐号、密码、类型等进行进一步验证,正确才能登录;否则,将会给用户弹出错误提示信息。界面根据用户类型的不同,用户界面分为管理员界面和公司职员界面。该设计主要是为了区分用户权限,更好的实现系统的安全性和信息的保密性。管理员权限:员工档案管理、人员招聘管理、培训管理、奖惩管理、薪资管理、文件管理、用户管理。公司职员权限:员工自管理,即对个人信息的管理,如个人档案、薪资的查询,密码修改等。案管理模块该模块主要是管理员对员工档案进行录入、修改、注销等操作。管理员应根据员工真实信息去填写员工档案,其中员工编号必须唯一,部门、职位等信息不能为空,若出现不合规范的输入,会弹出警告信息。管理员能够查看所有员工档案信息,并能够根据员工编号、性别、所在部门等信息对其进行检索。若员工离职,可以注销其档案。注9在该模块中,其中职位是根据用户所选择的部门动态生成的。主要应用的是Ajax的技术,当用户去选择某个部门时,页面不产生任何跳转,查询仅在后台进行。其中使用的关键代码如下:/根据部门查找对应的职位function selectTitle var depname document.getElementById depname ;var options depname.options;var value ;for var i 0;i options.length;i+ if optionsi.selected value optionsi.value; var url /HRIS_yilin/selectTitle;var parameter depname +value;sendAsynchronRequest url,parameter,selectTitleCallback ; /解析生成的xml文件,得到该部门下所有职位信息function clearSelect var title document.getElementById title ;while title.hasChildNodes title.removeChild title.childNodes0 ; function selectTitleCallback if xmlHttp.readyState 4 if xmlHttp.status 200 var titlesDoc xmlHttp.responseXML;clearSelect ;var titles titlesDoc.getElementsByTagName title ;var titleSelect document.getElementById title ;for var i 0;i titles.length;i+ var title titlesi;var id title.getAttribute id ;var option new Option id,id ;titleSe option ; 聘模块人力资源部根据公司目前人力资源状况及各部门实际需求状况,指定人员招聘计划,后录入信息库进行备案。当该信息发布同时,应该同时在公司网页的招聘栏上发出该信息。代码如下:public void autoPay Sytln 自动插入信息库 ;List emps employeeDao.findAll ;Calendar c Calendar.getInstance ;c.add Calendar.DAY_OF_MONTH, -15 ;SimpleDateFormat sdf new SimpleDateFormat yyyy-MM ;String payMonth sdf.format c.getTime ;for Employee e : emps Payment pay new Payment ;double amount e.getSalary ;List attends attendDao.findByEmp e ;for Attend a : attends amount + a.getType .getAmerce ; pay.setPayMonth payMonth ;pay.setEmployee e ;pay.setAmount amount ;paymentDao.save pay ; 人员培训管理模块人力资源部门应针对员工、部门及具体项目要求,及时制定培训计划,并将该培训记录入库,以备员工升职、企业规划使用。关键代码public boolean addApplication int attId, int typeId, String reason Application app new Application ;Attend attend attendDao.get attId ;AttendType type typeDao.get typeId ;app.setAttend attend ;app.setType type ;if reason ! null app.setReason reason ; appDao.sava app ;return true; public void autoPunch Sytln 自动插入旷工记录 ;List emps employeeDao.findAll ;/ 获取当前时间String dutyDay new System.currentTimeMillis .toString ;for Employee e : emps / 获取旷工对应的出勤类型AttendType atype typeDao.get 6 ;Attend a new Attend ;a.setDutyDay dutyDay ;a.setType atype ;/ 如果当前时间是是早上,对应于上班打卡if Calendar.getInstance .get Calendar.HOUR_OF_DAY AM_LIMIT / 上班打卡a.setisCome true ; else / 下班打卡a.setisCome false ; a.setEmployee e ;attendDao.save a ; public List empSalary String empName Employee emp employeeDao.findByName empName ;List pays paymentDao.findByEmp emp ;List result new ArrayList ;for Payment p : pays result.add new PaymentBean p.getPayMonth , p.getAmount ; return result; public boolean changePass String name,String pass1,String pass2 List employees employeeDao.findByNameAndPass name, pass1 ;if employees! null Employee emp employees.get 0 ;emp.setPass pass2 ;employeeDao.update emp ;return true; return false; 奖惩管理模块对员工的奖惩信息进行增加、删除等操作,录入该信息主要为员工的薪资及职称评定提供参考。关键代码public List unAttend String empName AttendType type typeDao.get 1 ;Employee e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灞桥垃圾分类知识培训课件
- 2025年加工安全知识面试题解
- 数字孪生在金属材料失效分析中的应用-洞察及研究
- 知识图谱在教育培训课件
- 铁路事故规则课件
- 知识付费培训赛道课件
- 知识付费培训线上学习课件
- 铁建建筑基础知识培训课件
- 钦州保安业务知识培训课件
- 2025年房地产市场区域分化特点与投资策略分析报告
- 路灯CJJ检验批范表
- 肛肠科年度汇报总结
- 鸡蛋合作合同范本
- 外研版英语九年级上册-Module1-12作文范文
- 民用无人机操控员执照(CAAC)考试复习重点题库500题(含答案)
- 人教版六年级数学上册教案全册
- 学校生活指导老师面试问题
- 安防项目视频周界报警系统招投标书范本
- 烹饪概论高职全套教学课件
- 骨科患者的疼痛管理
- 2023年秋季国家开放大学-03593-机械制造装备及设计期末考试题带答案
评论
0/150
提交评论