1、 目 录摘要 .Abstract.1概述11.1 课题的目的和意义11.2 系统运行环境11.3 人力资源管理信息系统概况22 相关技术理论22.1 Java语言简介22.1.1 Java的特点22.1.2 Java与Internet32.2 J2EE体系结构介绍32.3 Hibernate与STRUTS简介42.3.1 关于Hibernate42.3.2 STRUTS技术简介52.3.3 Hibernate和STRUTS综合应用的系统架构62.4 Ajax技术简介73 系统需求分析73.1 业务需求分析83.2 功能需求分析83.2.1 总体功能分析83.2.2 系统用例图94 系统总体设计
2、114.1系统设计的原则和目标114.2系统体系结构的设计114.2.1 系统的业务模块124.2.2 系统的层次结构124.3 数据库设计134.3.1 数据字典134.3.2 数据库总体设计175 系统详细设计与实现175.1 系统运行环境175.2 系统部署架构185.3 系统时序图185.4 模块功能设计与实现195.4.1 登录模块195.4.2 系统主界面195.4.3 员工档案管理模块195.4.4 人员招聘模块205.4.5 人员培训管理模块215.4.6 奖惩管理模块235.4.7 薪资管理模块235.4.8 文件管理模块245.4.9 员工自助管理模块246 系统测试与分析
3、256.1 系统测试的硬件环境256.2 系统测试范围256.3 系统测试结果277 结 论28参考文献29谢 辞30摘 要本系统运用现代的人力资源管理理论,并结合企业具体情况,通过分析人力资源管理系统现状,设计了一个基于STRUTS+Hibernate的人力资源管理信息系统体系结构。本文研究的主要内容有:员工档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件管理、系统管理、员工自助管理模块。系统建立旨在将与人力资源管理有关的数据统一起来,形成一个统一的数据源,并能帮助企业的人力资源管理人员进行人力资源管理和规划。关键词:人力资源;STRUTS;HibernateABSTRACTIn th
4、e 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, a
5、pplication 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 manageme
6、nt ,to form a unified data resource and to help human resource system administrator manager and layout human resource.Key words:Human Resource; STRUTS; Hibernate1 概述随着社会的发展,邓小平的改革开放政策的实施,企业的增长有如雨后春笋,企业的增加也使得企业之间的竞争更加的激烈,而网络的诞生更是这种状态升华的催化剂。企业的不断扩大,人力、物力的不断增加,使得以前的人工管理模式逐渐显得捉襟见肘,而信息化的管理模式的优势变得更加的明显人力资
7、源管理信息系统也就应运而生了。人力资源管理信息化,不但可以更加的及时跟准确的收集信息,加强与用户之间的沟通,使得人力资源的规划和管理决策的做出可以更大程度的依赖于相关的信息,而不是仅仅靠管理人员的观点和直觉,而且可以通过表单减少员工的手上作业,即减轻员工的负担又使得工作的效率大大的提高。据统计,目前,美国在财务会计上占有90%的工作由计算机完成,人事管理中80-100%的信息处理由计算机完成,计划管理是8090%,在计算机应用发展较快的国家中,计算机应用于经济管理的占80%,由此可以看出,在国外经济管理是计算机应用的主要领域。我国的人事管理等信息系统的开发应用是从1973年开始的,83年以后才
8、开始了大量的实际的开发和研究工作。因此,信息资源的开发和利用已被确立为国民经济信息的核心内容,信息数字化,传输的网络化是缩小发展中国家与发达国家差距的捷径。网络的迅速发展,人类知识与技术的不断增长,竞争的不断扩大,任何方面都发生了日新月异的变更,而在企业中人力资源管理走向信息化更加明显。1.1 课题的目的和意义自1900年以来,人力资源管理内容发生了很大变化,最初只是一些简单的操作:工资发放,员工档案记录,安排社区访问等,但现在随着企业自身人力资源的日益庞大、复杂程度逐渐增强,增加了很多管理方式,如:招聘、培训、员工调动等人机作坊再也无法适应如今企业的人事管理了。HRIS使得人力资源规划和管理
9、决策的做出可以在很在程度上依赖于相关信息,而不是仅仅靠管理人员的观点与直觉,这对于企业的决策者和管理者来说都至关重要。作为计算机应用的一部分,使用计算机对人事资料信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业人事管理系统的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。1.2系统运行环境系统在Windows操作系统下执行,数据库采用Oracle 10g,应用服务器采用符合J2EE规范的Tomcat5.0应用服务器。1.3 人力资源管理信息系统概况人力资源管理信息系统(HRMIS)就是借助
10、于计算机信息技术把现代人力资源管理理念和实践有机的结合起来,创建一种机制和管理平台。在这个系统中,计算机信息技术是支撑性的基础平台,人力资源管理流程和功能实现是目标。人力资源管理信息系统在企业的有效实施,将会促进企业人力资源管理向规范化、标准化、决策科学化发展;促使企业人力资源管理人员从日常大量的行政事务性工作中解脱出来,逐步专注于对企业的人力资源管理活动进行计划,组织,监督和咨询职能;调动企业各级管理者和每一位普通员工都积极参与到人力资源管理活动中来。并且通过大力推进人力资源管理信息化建设,优化了企业人力资源管理流程,建立起开放式的人力资源管理模式,从而提升企业人力资源管理水平和管理效率,充
11、分调动一切有利因素,最终使人成为企业经营发展中真正的第一资源。人力资源管理信息系统是人力资源管理的电子信息化,是企业基于高速度、大容量的硬件和先进的IT软件的人力资源管理模式,即人力资源管理信息化或自动化。国内目前的人力资源管理软件大多处于传统的人事管理系统阶段,它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发等功能。国外系统虽然业务流程非常清晰,管理非常规范,但不够灵活,通用性不强。近年来,随着Internet的快速发展,基于web的应用系统的开发备受关注,但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和
12、使用者来说很不方便,并且由于开发工具本身的限制,对网络功能的支持强度不强,为以后软件的升级到互联网带来了麻烦。因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的传输。而且,人力资源管理系统不仅仅能提供给企事业单位的人事部门或人力资源部门使用,而且也能提供给单位所有的部门和员工使用,这样才能使人力资源系统发挥出更大的作用。2 相关技术理论2.1 Java语言简介2.1.1 java简介(1) 面向对象Java沿用了C+的面向对象的思想,通过封装、继承和多态,为软件的开发提供了极大的灵活性、模块性、透明性和可重用性。(2) 分布式分布式计算涉及到几台计算机在网络上一起工作。J
13、ava的设计使分布式计算变得容易起来,由于Java开始设计了网络工作能力,因而编写网络程序如同在文件中存取数据一样。注2(3) 安全Java的编程类似C+,当Java舍弃了C+的指针对存储器地址的直接操作。程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。注2(4) 可移植性Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解
14、释执行功能,提供了应用于不同平台的接口。(5) 健壮性Java非常重视及早检查错误,Java编译器可以查出许多其他语言运行时才能发现的错误。Java丢弃了其他语言中容易引起错误的某些程序概念类型,如:它不支持指针,从而避免了因重写内存而造成数据破坏的可能性。Java具有实时异常处理的功能,该特点有助于提高程序的健壮性。Java强制程序员编写处理异常的代码,所以它能够捕获并响应意外情况,从而发生实时错误时程序能够继续正常执行错误处理代码,稳妥地结束。2.1.2 Java与Internet科技的发展,网络为异地信息的交换提供了快速,便捷的方式。随着Internet的普及,Internet现今一个重
15、要的功能是用于当今的电子货币、电子商务,而传统的编程语言难以胜任电子商务系统,它要求程序代码既要安全可靠,还要能与运行于不同平台机器的全世界客户开展业务。Java凭借它在语言上无法比拟的优势成为网络编程语言,并以其强安全性、平台无关性、硬件结构无关性、语言简洁同时集面向对象等特性,应用于电子商务。Web华丽的页面,不可思议的超链接、人机交互功能,生动的动画效果都深深吸引着访问者。Web页由浏览器装载,由Java编写的程序代码可以嵌入在Web页在浏览器上运行,可以轻松地实现动画、人机对话和事务处理等功能。Java与Web联系十分紧密,Java在Web上充分显示出它的强大功能。网络服务离不开网络服
16、务器。2.2 J2EE体系结构介绍J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。 J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBC API以及能够在Internet应用中保护数据的安全模式等等,同时还提供了
17、对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供了对现有应用程序集成强有力的支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在J2EE开发模型中,整个系统可
18、分为以下三个主要部分:()视图(view)视图是用户界面部分,在web应用程序中也就是HTML、XML、JSP页面。这个部分主要处理用户看到的东西即用于显示,动态JSP部分处理了用户可看见的动态网页,而静态的网页由HTML和XML输出。()控制器(Control)控制器负责网站的整个逻辑。它用于管理用户与视图发生的交互。可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,即网页制作人员将可以独立自由地改变Web页面而不用担心影响这个基于Web的应用程序功能。在J2EE模型中,控制器的功能一般是由Servlet、Jav
19、aBeans、EJB中的SessionBean来充当的。()模型(Module)模型就是应用业务逻辑部分,这个部分主要角色EJB(EnterpriseJavaBeans),借助于EJB强大的组件技术和企业级的管理控制,开发人员可以轻松的创建出可重用的业务逻辑模块。注32.3 Hibernate与STRUTS简介2.3.1 关于HibernateHibernate是一种新的ORM(对象关系映射)工具,它同时提供了从Java类到数据表的映射和数据查询、恢复等机制,实现数据层对象的持久化。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate可以大大减少操作数据库的工作量。并且Hiber
20、nate可以和Web服务器以及应用服务器良好的集成。Hibernate为应用程序提供持久化服务,其体系结构如图2-1Hibernate体系结构所示:图2-1 Hibernate体系结构Hibernate是开放源代码的对象关系映射框架,是JDBC的轻量级对象封装。Hibernate是按照LGPL许可证发布的开放式源代码应用程序,它是“用于Java的超高性能的对象/关系持久化和查询服务”。注4应用Hibernate,可以使Java程序员方便的用对象编程的思想,使持久性对象映射到关系数据库,而不必花费大量的开发时间去更新和维护复杂的数据持久层,降低J2EE架构应用软件开发的难度和复杂度,提高Java
21、应用软件的开发效率,进而使Java的企业级应用开发更加容易、灵活和强大。2.3.2 STRUTS技术简介STRUTS是Apache组织的一个开放源码的项目,它是一个可重用的MVC设计。STRUTS应用有3个主要部件:Servlet及负责具体业务处理的Action类(Controller),JSP页面(view)和STRUTS应用的业务逻辑封装(Model)。STRUTS实质上就是在JSP基础上实现的一个MVC框架,如图2-2 STRUTS体系结构图所示:Strurs.xmlActionAction模型JavaBean/EJB控制器FilterDispatcherActionWeb服务器Acti
22、on浏览器视图JSP图2-2 STRUTS体系结构图其中FilterDispatcher处理客户请求,利用配置的struts文件,使用ActionProxy调用Action中的set、get方法获得提交的数据,它还调用execute方法调用业务逻辑返回字符串对象,根据ActionForward对象返回处理和响应客户请求。在STRUTS中FilterDispactcher担任了重要的角色,由它控制所有的程序流转,使MVC三个相对独立的部分协调工作,因此增强了开发人员对系统的整体把握,提高了系统的可维护性和可扩充性。注62.3.3 Hibernate和STRUTS综合应用的系统架构STRUTS和H
23、ibernate都有自己的不足,但将两者结合起来,通过使用STRUTS技术来降低M-V-C层之间的耦合性,而利用Hibernate架构来降低业务模型部分的开发难度。结合之后的好处是采用STRUTS和Hibernate结合的应用框架开发出来的信息系统无论在整体的结构上还是在局部的复杂业务模型中都得到了更低的耦合性,它们的灵活性与可维护性也得到了提高,从而消除了单独使用这些架构开发系统的不足。在结合MVC的系统架构设计模式和基于Hibernate的数据层持久化框架应用中,系统的应用架构如图2-3 STRUTS+Hibernate体系结构图所示:图2-3 STRUTS+Hibernate体系结构图其
24、中Action是view模块的数据表示,其数据来源于view模块中JSP页面的数据提交。持久层数据来源于数据库,其数据表示和数据库里的表相对应。且持久化数据可以由Hibernate动态生成。Hibernate持久化对象生成的数据满足了业务逻辑层的应用。2.4 Ajax技术简介Ajax全称“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机的包含了以下几种技术:基于web标准XHTML+CSS的表示;使用DOM进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpReq
25、uest进行异步数据查询、检索;使用JavaScript将所有的东西绑定在一起。Ajax,使用它可以构建更为动态和响应更灵敏的Web应用程序,使浏览器可以为用户提供更为自然的浏览体验。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面,使用户看起来是即时响应的。Ajax的核心是JavaScript对象XmlHttpRequest。该对象是一种支持异步
26、请求的技术。简而言之,XmlHttpRequest使用户可以使用JavaScript向服务器提出请求并处理响应,而不是阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。注53 系统需求分析本章就该系统业务和功能需求做了分析,然后根据所做的功能分析给出了该系统的包图、系统所涉及的角色及用例图。3.1 业务需求分析业务需求(Business Requirement)反映了组织结构或用户对系统高层次的目标要求。对人力资源管理业务,包含的内容较为广泛,作为人力资源管理信息系统,为了保证其通用性和实用性,在需求分析阶段首先全面剖析人力资源管理业务过程,从业务操作的角度分析每个过
27、程的输入、输出和处理细节。其次,面向业务处理过程,提取规范的业务流程建议:面向业务处理方法,结合实际情况,提取业务处理过程的每个参数等。最后,将所有问题整理出来,再进行调研,并向有关部门进行咨询,然后再经过加工整理,形成人力资源管理业务需求报告。人力资源管理信息系统根据不同用户类型设置不同的权限,主要完成员工档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件服务、系统管理、员工自管理等功能。因此需要先根据大的方面的业务将人力资源系统分为几个子系统,然后再对每个子系统的业务进行分析。3.2 功能需求分析3.2.1 总体功能分析功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务
28、,从而满足业务需求。参照业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。根据一般公司的人力资源管理业务需求,系统应该具有以下功能:()登录功能:为了防止非法用户的访问及信息保密性要求,登录模块应根据用户类型对其操作权限进行了限制。()员工档案管理:应实现员工档案的增加、删除、修改等操作。()招聘管理:管理员可以发布、删除招聘信息。()培训管理:根据具体的情况设置人员培训,可修改、删除、添加培训信息,为员工的升迁提供科学的依据。()奖惩管理:实现对奖惩信息的增加、删除等操作,为薪资、升迁等提供依据。()薪资管理:实现对员工工资的录入、查询等。()员工自管理:该模块强调员工自助服务,
29、如对个人档案、薪资等信息的查询。()系统管理模块:对该系统用户进行管理(增加、删除等)。3.2.2 系统用例图系统的功能性需求描述工具主要是用例(Use Case),即将系统的功能性需求分解到每一个系统用例。通过提供用例建模,描述开发设计的系统提供的活动和服务。按照角色(Action)识别用例(Use Case)的方法,该方法可以较为直观地建立起系统用例的层次结构,可以采用将系统用例分为不同的包,每一个包表示一组相关的系统用例。本系统引入了包图来将不同的功能用例进行分类,每个包图作为一个系统功能模块。根据总体功能分析,设计系统包图如图3-1人力资源管理信息系统包图所示:图3-1 人力资源管理信
30、息系统包图人力资源管理信息系统包含系统管理员和公司职员两个人力资源管理信息系统角色。系统总用例如图3-3人力资源管理信息系统总用例图所示: 图3-3 人力资源管理信息系统总用例图系统管理员负责系统系统用户的定义和权限划分、档案管理、招聘管理、培训管理、奖惩管理、薪资管理、文件管理等工作;普通员工只能查看自己相关信息。由于人力资源管理信息系统各个模块较为相似,在此仅列出员工档案管理的用例图如图3-4员工档案管理用例图所示:添加员工档案修改员工档案员工档案管理注销员工档案系统管理员查看员工档案 公司职员图3-4 员工档案管理用例图用例名称:员工档案管理简要描述:系统管理员可以对员工档案信息进行添加
31、、注销、修改、查看操作,公司职员可以查看个人档案信息。参与者: 系统管理员、公司职员。前置条件:系统管理员为公司职员授权。后置条件:通过校验,系统中存在员工档案信息。4 系统总体设计本章先给出该系统设计的原则和目标,然后设计出符合需求分析各项要求的系统体系架构、系统功能模块和数据库设计。4.1系统设计的原则和目标设计出灵活、便捷的用户操作界面,支持多用户并发访问,合理设计数据库对象,使用Hibernate技术对数据库信息访问,使用基于STRUTS的开发模式。系统应达到以下目标:()业实际需求,切合实际,提高企业人力资源管理,提高工作效率,降低成本。()B/S架构,满足信息共享的需要,安装及部署
32、方便。()系统具有良好的维护性,并且可以根据用户需求做出修改,满足企业个性化需求,各个功能模块能够较容易添加和修改,可升级。()能够及时更新相关数据,便于企业决策。4.2系统体系结构的设计()该系统是以关系数据库为存储,基于Web的应用系统。由一系列组件和功能模块组成。总体结构:浏览器/服务器(B/S)编程模式:Jsp+Hibernate+STRUTS逻辑结构:用户界面开发、业务逻辑处理和数据存储()该系统联合使用业务代理和DAO模式如图4-1系统架构图所示:Struts Action类Web应用层业务代理接口业务代理实现类业务代理实现类模型业务对象(BO)层DAODAO信息层图4-1 系统架
33、构图4.2.1系统的业务模块人力资源系统建立在基础构件和定制平台上,包括人员档案管理、招聘管理、培训管理、奖惩管理、薪资管理等业务模块,在业务模块之上,可建立查询分析等功能,用于日常工作及决策分析。由于人力资源管理信息系统对信息的敏感,不同类型的用户对信息访问特性不同,所能进行的操作也不同,因此必须对权限进行划分。人力资源管理信息系统功能模块如图4-2系统总体功能图所示:增、删、改、查等基本操作档案管理招聘管理培训管理奖惩管理文件管理用户管理用户自管理权限管理登陆管理图4-2 系统总体功能图4.2.2 系统的层次结构系统从逻辑上分为显示层、业务逻辑层、数据持久层。从程序分布位置角度,系统依次分
34、布在浏览器、应用服务器、数据库系统三层。 4.3数据库设计数据库技术是信息资源管理最有效的手段。数据库设计是指针对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏直接对应用系统的效率及实现效果产生影响。合理的数据库设计可以提高数据库的存储效率、保证数据的完整性和一致性。注74.3.1数据字典在业务模块划分及实体之间关系的基础上,形成各个表格之间的关系。人力资源管理信息系统数据库中各个表的设计结果如下所示,其中每一个表格表示数据库中的一个表。()用户信息表:用来存储用户信息,表结构见表4-1表4-1 用户信息表字段号
35、字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2accountnovarchar220外键用户帐号(员工编号)3passwordvarchar250非空用户密码4typenumberDefault=0非空用户类型(0普通员工,1高级管理员,2普通管理员)5statusnumberDefault=0是否注销(0未注销,1己注销)()员工信息表:用来存储职工档案信息,表结构见表4-2表4-2 员工信息表字段号字段名称字段类型字段大小索引字段说明1idnumberSequence主键编号2nicknamevarchar220非空员工姓名3englishnamevar
36、char220英文名4gendervarchar21非空员工性别5agenumber6nativevarchar250员工籍贯7birthdayvarchar230出生日期8deptidnumber外键对应部门id9titleidnumber外键对应职务id10wphonevarchar220办公电话11fphonevarchar220家庭电话12emailvarchar220电子邮箱13politicalfacevarchar24政治面貌14healthvarchar225健康状况15professionvarchar220专业16educationvarchar215学历17marryva
37、rchar21婚姻状况18identityidvarchar218非空身份证号19addressvarchar250现居地址20iconvarchar2200照片路径21enterdatedate录入日期22modifydatedate更改日期()部门信息表:用来存储部门信息,表结构见表4-3表4-3 部门信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2depnamevarchar220非空、唯一部门名()职务信息表:用来存储各职务信息,表结构见表4-4表4-4 职务信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequenc
38、e主键编号2titnamevarchar220非空职位名称3dept_idnumber外键部门id()招聘信息表:用来存储发布的招聘信息,表结构见表4-5表4-5 招聘信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2contentvarchar2500非空招聘内容3issuedatedate发布日期(6)奖惩信息表:用来存储员工奖惩信息,表结构见表4-6表4-6 奖惩信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2rpnamevarchar230非空奖惩名称3reasonvarchar250奖惩原因4m
39、embervarchar250奖惩人员5descrvarchar2200奖惩描述6issuedatedate发布日期7issueMemvarchar215发布人员(7)培训信息表:用来存储员工培训信息,表结构见表4-7表4-7 培训信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2tnamevarchar220非空培训名称3tgoalvarchar220非空培训目标4tmaterialvarchar220培训教材5tmembervarchar2200非空参加人员6startdatevarchar220开始日期7enddatevarchar220结束日
40、期8tnumbernumber参加人数9teachervarchar220培训讲师10gradevarchar210培训级别11affectvarchar210影响程度12issuedatedate发布日期(8)薪资信息表:用来存储员工薪资信息,表结构见表4-8表4-8 薪资信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2membernonumber外键员工编号3smonthvarchar28非空所属月份4basicsalarynumber非空基本工资5housesalarynumber住房补助6extrasalarynumber额外补助7taxs
41、alarynumber税收金额8totalbonusnumber3全额奖金9forfeitnumber3罚款金额10issuedatedate发布日期(9)文件信息表:用来存储所上传文件路径,表结构见表4-9表4-9 文件信息表字段号字段名称 字段类型字段大小索引字段说明1idnumberSequence主键编号2loadfilevarchar250非空上传文件名3updatedate上传日期4.3.2 数据库总体设计该系统采用oracle数据库,涉及的表有:用户信息表,员工信息表,部门信息表,职位信息表,招聘信息表,培训信息表,奖惩信息表,薪资信息表,文件信息表。人力资源管理信息系统E-R结
42、构图如图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:业务逻辑操作对象(Bussi