毕业设计(论文)-基于BS结构的人力资源管理系统的设计与实现.doc_第1页
毕业设计(论文)-基于BS结构的人力资源管理系统的设计与实现.doc_第2页
毕业设计(论文)-基于BS结构的人力资源管理系统的设计与实现.doc_第3页
毕业设计(论文)-基于BS结构的人力资源管理系统的设计与实现.doc_第4页
毕业设计(论文)-基于BS结构的人力资源管理系统的设计与实现.doc_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人力资源管理系统的设计与实现人力资源管理系统的设计与实现摘 要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理既浪费时间、又浪费人力和物力,并且数据的准确性低。人力资源管理系统能够使企业对人力资源的管理变得更加快捷、准确。系统主要包括登录模块、人员档案模块、培训管理模块、职称评定模块、奖惩管理模块、人员调动模块。满足了企业对人力资源管理的主要需求。系统开发采用JSP+JavaBean+DataBase的体系结构。后台数据库采用Microsoft Server 2005,并将系统逻辑代码封装在JavaBean中。利用JSP技术,可以方便地调用JavaBean中的逻辑代码,并结合HTML语言制作出友好且易于操作的系统界面。系统采用B/S结构,使用户可实现无地域限制的办公,采用J2EE的多层次结构,使系统具备高可用性、安全性、可扩展性和可靠性。关键词:人力资源管理;人员档案管理;培训管理;职称评定管理HUMAN RESOURCES MANAGEMENT SYSTEM ABSTRACTWith the popularity of computers and the rapid development of computer science and technology, more and more people began to use computers to solve practical problems. Enterprise information management staff is an important part of information management, in the face of a large number of personnel information, using manpower management is a waste of time as well as a waste of human and material resources, and the accuracy of the data is low. Human resources management system will enable enterprises to the management of human resources has become faster and more accurate. The system includes log modules, personnel files modules, training management module, Title performance evaluation modules, incentive management module, mobility modules. To meet the business-to-human resources management major demand. System development using JSP + JavaBean + DataBase architecture. Background database using Microsoft Server 2005, and system logic code in the package in the JavaBean. JSP use of technology, can easily call JavaBean in the logic of the code, combined with HTML language to create friendly and easy to operate the system interface. System using B / S structure, which allows the user to achieve a geographical constraints of office, the use of J2EE multi-level structure, allowing the system to have high availability,security and scalability and reliability.Key words: Human resources management; Personnel files module; Management training module; Title performance evaluation module目 录 1 绪论11.1 课题背景及目标11.2 课题开发框架的选择11.3 课题实现技术的简要说明52 系统需求分析82.1 可行性分析82.1.1 经济性82.1.2 技术性82.2 功能需求分析83 系统整体设计103.1 系统模块103.1.1 UML活动关系图103.1.2 系统模块划分103.2 功能设计103.2.1 登录模块103.2.2 人员档案模块103.2.3 培训管理模块113.2.4 职称评定模块113.2.5 奖惩管理模块113.2.6 人员调动模块123.3 数据库的设计123.3.1 数据库的需求分析123.3.2 数据库的逻辑设计134 系统模块功能的实现194.1 公共模块194.2 登录模块204.3 主页面模块214.4 人员档案模块224.4.1 人员档案管理主页面224.4.2 添加人员档案234.4.3 管理人员档案234.4.4 查询人员档案244.5 培训管理模块244.5.1 培训管理模块主页面244.5.2 添加培训记录254.5.3 管理培训记录254.6 其他模块265 系统调试与测试275.1 测试环境275.2 系统部分模块测试275.2.1 登录模块测试275.2.2 主页面模块测试285.2.3 人员档案模块测试295.2.4 培训管理模块测试325.2.5 其他模块测试356 结束语36参考文献37致谢38附录 部分主要代码39附件1:开题报告附件2:译文及原文影印件 1 绪论人力资源管理系统就是对人力资源的取得、开发、保持和利用等方面进行计划、组织、指挥和控制活动,研究人与人的关系,协调人与事的配合,充分开发人力资源,挖掘人的潜力,调动人的积极性,实现组织的既定目标,使其经济效益和社会效益最大化。1.1 课题背景及目标随着计算机技术的飞速发展和计算机技术的普及,计算机越来越多的应用在企业管理中。企业的人力资源管理是企业管理的一个重要内容,传统的人力资源管理很难及时的反映企业的人事组成,导致企业的人力资源不能得到合理,有效的配置,给企业造成了损失。本系统正是基于改变这种现状的一个尝试,提供一个人力资源管理的整体解决方案。本系统基于JSP进行开发,后台使用Microsoft Server 2005数据库来实现,界面友好,操作简单。用户通过普通Web浏览器即能完成相关操作,简单、便捷。系统可以大大的提高人力资源管理的效率,减少企业在人力资源管理上花费的人力和财力。在提高工作效率的同时,将人力资源管理同企业战略发展紧密结合,借此达到增强企业或单位整体竞争力的目的。本系统实现了人力资源管理的基本功能,包括人员档案管理、培训管理、职称评定、奖惩管理以及人员调动管理等。1.2 课题开发框架的选择在前期规划过程当中,发现基于C/S框架机构及B/S框架机构均可以实现系统既定功能要求。在经过对比研究以及从发展的角度考虑,决定使用B/S模型。B/S(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN、WAN、Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效1。(1)B/S结构的优点B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。(2)B/S架构软件的优势与劣势 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍大的企业应用来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。 成本降低,选择更多。大家都知道Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上都会上网看网页,只要安装了浏览器就可以了,并不需要了解网站的服务器用的是什么操作系统,而事实上大部分网站确实没有使用Windows操作系统,但用户的电脑本身安装的大部分是Windows操作系统。 应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端(Server)完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,要备有数据库存储服务器,以防万一。(3)B/S、C/S结构软件技术上的比较C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分ERP(财务)软件产品即属于此类结构。B/S(浏览器/服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。 数据安全性比较。由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于企业级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于企业级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。 数据一致性比较。在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。 数据实时性比较。在企业级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。 数据溯源性比较。由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构的原始单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构的原始单据。 服务响应及时性比较。企业的业务流程、业务模式不是一成不变的,随着企业不断发展,必然会不断调整。软件供应商提供的软件也不是完美无缺的,所以,对已经部署的软件产品进行维护、升级是正常的。C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务响应时间基本不可忍受。而 B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。 网络应用限制比较。C/S结构软件仅适用于局域网内部用户或宽带用户;而我们的B/S结构软件可以适用于任何网络结构,特别适于宽带不能到达的地方。(4)B/S、C/S结构软件商业运用上的比较管理软件是为企业服务的,企业选用管理软件不仅要从技术上考虑,还要从商业运用方面来考虑,下文将从商业运用的角度对两种结构的软件进行比较。 投入成本比较。B/S结构软件一般只有初期一次性投入成本。对于集团来讲,有利于软件项目控制和避免IT黑洞,而C/S结构的软件则不同,随着应用范围的扩大,投资会连绵不绝。 硬件投资保护比较。在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,C/S结构软件的一般解决方案是购买 更高级的中央服务器,原服务器放弃不用,这是由于C/S软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而B/S结构则不同,随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。 企业快速扩张支持上的比较。对于成长中的企业,快速扩张是它的显著特点。应用软件的快速部署,是企业快速扩张的必要保障。对于C/S结构的软件来讲,由于必须同时安装服务器和客户端、建设机房、招聘专业管理人员等,所以无法适应企业快速扩张的特点。而B/S结构软件,只需一次安装,以后只需设立账号、培训即可其次,随着软件应用的扩张,对系统维护人才的需求有可能成为企业快速扩张的制约瓶颈。如果企业开店上百家,对计算机专业人才的需求就将是企业面临的巨大挑战之一。 抛开人力成本不说,一个企业要聘用如此众多的专业人才并且留住他们也是难度极大的事。所以,采用C/S结构软件必然会制约企业未来的发展。另外,大多数 C/S结构的软件都是通过ODBC直接连到数据库的,安全性差不说,其用户数也是受限的。每个连到数据库的用户都会保持一个ODBC连接,都会一直占用中 央服务器的资源,对中央服务器的要求非常高,使得用户扩充受到极大的限制。而B/S结构软件则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的2。从以上的分析可以看出,B/S结构的管理软件有着C/S结构软件无法比拟的优势。而从国外的发展趋势来看,也验证了这一点。目前,国外大型企业管理软件要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。因此,本系统选择B/S开发框架进行开发。1.3 课题实现技术的简要说明 (1)JSP技术本课程设计所用的语言是JSP+JavaBean,它是一种Java类,通过封装属性和方法成为具有独立功能、可重复使用的并且可以与其他控件通信的组件对象。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用 Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。JavaBean是Java类,属于某些特定的译码知道方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过这些,JavaBean类可以用于下列方法: 在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。 在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。 为了JavaBean的属性值和状态可以保存到磁盘上。JavaBean设计注意事项:实际应用中,在表现对象或者处理前扩展JavaBean的设计非常有用。通常认为如果提供信息,Web开发者将在功能上满足拥护对JavaBean的需求。例如: HTML中显示敏感的数据时,用户可以屏蔽的条目,如密码、电话号码等。良好规划设计的JavaBean是值得信赖的。JavaBean 的范围。Scope 是一个具有生命时间的变量。JavaBean的范围在标志中右边进行表示。将产生一个JavaBean的快捷参考。说明:JSP服务器引擎将剥离JSP标记。并且在最终用户的浏览器上无法显示实际代码。存在下面四种范围:页面、请求、对话、应用。对话范围的JavaBean 主要应用与跨多个页面和时间段: 例如填充用户信息。添加信息并且接受回馈,保存用户最近执行页面的轨迹。对话范围JavaBean保留一些和用户对话 ID 相关的信息。这些信息来自临时的对话cookie,并在当用户关闭浏览器时,这个cookie将从客户端和服务器删除。页面和请求范围的JavaBean有时类似表单的bean,这是因为他们大豆用与处理表单。表单需要很长的时间来处理用户的输入,通常情况下用于页面接受HTTP/POST或者GET请求。另外页面和请求范围的bean可以用于减少大型站点服务器上的负载,如果使用对话bean,耽搁的处理就可能会消耗掉很多资源3。 应用范围通常应用于服务器的部件,例如JDBC连接池、应用监视、拥护计数和其他参与用户行为的类。理论上,JavaBean 将不会产生任何HTML,因为这是JSP层负责的工作;然而,为了动态消息提供一些预先准备的格式是非常有用的。产生的HTML将被标注的 JavaBean方法返回。(2)CSS简介CSS是一组样式描述,这些样式描述会影响浏览器如何显示(表现)特定的HTML元素。有些版本的CSS还可以用于格式化XML数据,将其作为HTML格式数据加以显示。各个HTML元素可以与CSS中的样式元素相关联。样式元素描述了相关HTML元素应该在页面上如何显示。需要注意,一个CSS样式元素可以与多个HTML元素关联。利用CSS,Web设计人员可以把HTML结构布局与格式及样式相分离。如果CSS元素有变,相应的HTML元素就会用修改后的样式显示,而不会影响HTML机构。(3)JavaScript简介JavaScript作为一种编程语言,可以用于访问浏览器提供的对象模型。这个对象模型包括所显示/表现的页面中的全部静态和动态元素,从而允许JavaScript访问由用户输入的数据,修改所显示的HTML输出,甚至可以把定制数据提交回服务器4。JavaScript代码通常用于验证用户输入数据的值,或者在所显示的Web页面上实现动态行为时,往往也会用到JavaScript代码。2 系统需求分析2.1 可行性分析2.1.1 经济性通过网络化的人力资源管理,提高了企业人才的利用率。人才利用率的提高,既增强了企业的核心竞争力,又提升了企业的管理能力,使企业适应了信息时代的网络化管理要求。2.1.2 技术性通过网络化管理,增强了员工之间的沟通,更好地协调员工之间的协作关系;对员工信息的管理和奖惩机制更加的科学;全程跟踪员工的培训,通过信息的记录,更好地作出员工培训方案。2.2 功能需求分析根据人力资源管理系统的基本需求,人力资源管理系统需要完成以下任务。(1)管理人员的基本档案资料,包括员工编号、姓名、性别、出生日期、婚姻状况、身份证号、部门、职务、公积金号码等。管理员可以修改人员档案中的内容。(2)如果公司对员工进行某项培训,能够对培训情况进行记录,包括员工编号、培训内容、培训时间、培训结果等,可以在人员档案资料中查看到该员工的培训经历。(3)给员工评定职称,系统可以记录职称评定情况,包括员工编号、职称名称、评定日期、评定方式、职称英语、职称计算机等信息。可以在人员档案资料中查看到该员工的职称评定记录。(4)员工表现出色或者犯了某种过失,公司需要对员工奖惩,系统需要提供该项功能,记录奖惩类别、内容、原因等信息。可以在人员档案资料中查看到该员工的奖惩记录。(5)人员调动管理,记录调动前的部门和职务,调动后的部门和职务等信息。可以在人员档案资料中查看到该员工的调动经历。系统用例图如下图2.1所示。添加人员档案管理人员档案查询人员档案添加培训记录管理培训记录添加职称评定管理职称评定添加奖惩记录管理奖惩记录添加人员调动管理人员调动图2.1 系统用例图3 系统整体设计3.1 系统模块3.1.1 UML活动关系图UML(统一建模语言)综合了很多种已经存在的面向对象的建模语言、方法和过程。通过UML可以看到系统总体的框架,这样一来,可以方便的均衡配置系统所消耗的计算机资源,使系统更有效率。同时,整体设计可以指导软件的开发过程,由于重要的决定均可以在开始写代码之前就做出,因此可以减少低质量的代码,降低开发成本5。用户进入人力资源管理系统前,需要通过系统的权限验证,如果登录用户不具备该系统的操作权限,提示越权信息,禁止进入该系统。当用户进入系统后,共有5个模块可以使用,分别为:人员档案、培训管理、职称评定、奖惩管理和调动管理。如果用户要退出人力资源管理系统,单击“退出系统”按钮即可。系统UML活动关系图如图3.1所示。由此活动图可以看出,人力资源管理系统中5个子模块在操作上是互相平行的,其内在关系通过数据库和程序来控制。3.1.2 系统模块划分根据上面的分析,可以得出系统应该包括登录模块、主页面模块、人员档案模块、培训管理模块、职称评定模块、奖惩管理模块、调动管理模块等。各个模块又包括许多子功能模块,系统模块结构图如图3.2所示。整个系统均采用B/S结构进行设计,采用JSP+JavaBean+DataBase模式,系统后台数据库采用Microsoft Server 2005。3.2 功能设计3.2.1 登录模块此模块实现用户进入系统管理钱的验证操作,只有输入正确的用户名和密码才能进入系统,进行各种操作。3.2.2 人员档案模块此模块实现对公司所有员工的档案进行管理,包括员工编号、姓名、性别、出生日系统登录人员管理培训管理职称评定奖惩管理人员调动图3.1 系统UML活动关系图期、婚姻状况、身份证号、部门、职务、公积金号码等。根据需要,可以对某个人员的档案进行修改、删除和查询。3.2.3 培训管理模块公司对所有员工或者部分员工进行某项培训,如计算机的基本操作培训,在本模块,可以记录这些培训信息,包括培训参与人员、培训内容、培训时间、培训结果等。根据需要,可以对某条培训记录进行修改和删除。3.2.4 职称评定模块如果给员工评定职称,本模块可以记录职称的评定情况,包括员工编号、职称名称、评定日期、评定方式、职称英语、职称计算机等信息。根据需要,可以对某条职称评定记录进行修改和删除。3.2.5 奖惩管理模块员工表现出色或者犯了某种过失,公司需要给员工奖惩,本模块提供了该项功能,记录奖惩类别、内容、原因等信息。根据需要,可以对某条奖惩记录进行修改和删除。人力资源管理系统登录模块主页面模块人员档案模块培训管理模块职称评定模块奖惩管理模块人员调动模块添加人员档案管理人员档案查询人员档案添加培训记录管理培训记录添加职称管理管理职称评定添加奖惩记录管理奖惩记录管理人员调动添加人员调动图3.2 系统模块结构图3.2.6 人员调动模块本模块提供了管理公司人员调动的功能,人员调动后,在系统中记录调动前的部门和职务以及调动后的部门和职务等信息。根据需要,可以对某条调动记录进行修改和删除。3.3 数据库的设计3.3.1 数据库的需求分析根据系统的需求,可以列出以下数据项和数据结构。(1)职员基本信息表:公司所有职员的信息都保存在这张表中,包括员工编号、姓名、性别、出生日期、婚姻状况、身份证号码、部门、职务、公积金号码等。(2)职员培训信息表:存放公司所有培训的基本信息,包括培训参与人员编号、培训内容、培训时间、培训结果等。(3)职称评定信息表:存放公司所有职称评定的信息,包括员工编号、职称名称、评定日期、评定方式、职称英语、职称计算机等。(4)奖惩管理信息表:存放公司所有奖惩的信息,包括员工编号、奖惩类别、内容、原因等。(5)人员调动信息表:存放公司所有人员调动的信息,包括员工编号、调动前部门、调动后部门、调动前职务、调动后职务、调动日期等。(6)系统用户表:存放系统用户的用户名和密码信息。3.3.2 数据库的逻辑设计数据库各表之间关系的建立要避免由于误操作导致数据库的崩溃,保证各表之间数据的统一性。各表间关系如图3.3所示。图3.3 数据库各表间关系图同时,为了加快数据库查询速度,给表加上了索引。索引是用来加快搜索数据表中数据的数据库对象。数据库中的索引与书的目录十分相似。在数据库中,索引使数据库不需要对整个表进行扫描就可以找到需要的数据,极大地提高了查询速度6。本系统中,将职员培训信息表train、职称评定信息表assess、奖惩管理信息表reward、人员调动信息表translate中的员工编号EmployeeID字段设置为非聚集索引。另外,为保证各表之间数据的同步,在更新和删除职员基本信息表employee中的记录时,要保证职员培训信息表train、职称评定信息表assess、奖惩管理信息表reward、人员调动信息表translate相关的信息也要被同步更新和删除,因此需要设置它们之间的关系为级联更新和级联删除。下面列出各个表的详细结构。(1) 职员基本信息表职员基本信息表(employee)用来存放公司所有职员的基本信息,共有27个字段,如表3-1所示。表3-1 职员基本信息表字段名描 述类 型长度(B)是否允许为空是否主键EmployeeID员工编号varchar6否是UserName姓名varchar10否否Sex性别varchar2否否Branch所属部门varchar20否否Birthday出生日期smalldatetime否否NativePlace籍贯varchar20否否Marriage婚姻状况varchar4否否IdentityID身份证号varchar18否否Politics政治面貌varchar4否否Folk民族varchar10否否Education学历varchar10是否Department专业varchar20是否GraduateDate毕业日期smalldatetime是否University毕业院校varchar30是否AccumulateID公积金帐号varchar15否否AdministrationLevel行政级别varchar10否否Duty职务varchar20否否Position职称varchar20否否续表3-1ForeignLanguage外语语种varchar10是否FLLevel外语水平varchar4是否ComputerLevel计算机水平varchar4是否Phone联系电话varchar13是否MobilePhone手机号码varchar11是否Address家庭住址varchar30是否Incumbency在职情况varchar4否否IncumbencyType用工形式varchar10否否Resume个人简历varchar200是否 (2)职员培训信息表职员培训信息表(train)用来记录职员培训的信息,共有9个字段,结构如表3-2所示。表3-2 职员培训信息表字段名描 述类 型长度(B)是否允许为空是否主键TrainNO序号bigint否是EmployeeID员工编号varchar6否否TrainName培训名称varchar20否否TrainWhat培训内容varchar40否否StartDate开始日期smalldatetime否否EndDate结束日期smalldatetime否否TrainOrgan培训单位varchar40否否TrainResult培训结果varchar6否否Remark备注varchar200是否 (3)职称评定信息表职称评定信息表(assess)用来记录公司员工的职称评定信息,共有12个字段,结构如表3-3所示。(4)奖惩管理信息表奖惩管理信息表(reward)用来保存公司的奖惩记录,共有12个字段,结构如表3-4所示。表3-3 职称评定信息表字段名描 述类 型长度(B)是否允许为空是否主键AssessNO序号bigint否是EmployeeID员工编号varchar6否否Position职称varchar20否否GetDate取得日期smalldatetime否否GetType取得方式varchar4否否Duty聘用专业技术职务varchar20否否StartDate聘用开始日期smalldatetime否否EndDate聘用结束日期smalldatetime否否Department聘用单位varchar30否否English职称英语varchar2否否Computer职称计算机varchar2否否Remark备注varchar200是否(5)人员调动信息表人员调动信息表(translate)用来记录公司职员部门之间的调动信息,共有9个字段,结构如表3-5所示。表3-4 奖惩管理信息表字段名描 述类 型长度(B)是否允许为空是否主键RewardID序号bigint否是EmployeeID员工编号varchar6否否Position职称varchar20否否RewardPunish奖/惩varchar2否否RewardContent奖惩内容varchar30否否Reason奖惩原因varchar40否否Branch批准部门varchar20否否HandleName批准人varchar10否否StartDate开始日期smalldatetime否否续表3-4CancelDate撤销日期smalldatetime是否CancelReason撤销原因varchar40是否Remark备注varchar200是否表3-5 人员调动信息表字段名描 述类 型长度(B)是否允许为空是否主键TranslateID序号bigint否是EmployeeID员工编号varchar6否否TranslateDate调动日期smalldatetime否否PriorBranch调动前部门varchar20否否NextBranch调动后部门varchar20否否PriorDuty调动前职务varchar20否否NextDuty调动后职务varchar20否否HandleName经办人varchar10否否Remark备注varchar200是否 (6)系统用户表 系统用户表(users)用来记录系统的登录用户信息,共有两个字段,结构如表3-6所示。表3-6 系统用户表字段名描 述类 型长度(B)是否允许为空是否主键UserName用户名varchar16否是Password密码varchar16否否在构建企业应用信息系统中,数据库的实现是关键所在。为了实现应用信息系统的数据库访问,需要有应用服务器与数据库管理系统之间的接口即数据库的连接访问技术。对于一个简单的数据应用,对数据库的访问不是很频繁,只是在需要时进行一次或者几次数据库操作,或许感觉不出系统有很大的开销。可以简单的使用JDBC直接连接数据库即可。但是对于一个复杂的数据库应用,同时又几百人甚至上千人在线是很正常的事情。在这种情况下,频繁进行数据库连接操作势必占用大量的系统资源,系统的响应速度必定下降,严重的甚至会导致服务器的崩溃7。其次,对于每一次数据库连接,使用完后都要断开。否则,如果程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将不得不重启数据库服务器。同时,这种开发模式不能控制被创建的链接对象数,系统资源会被毫无顾忌的分配出去,若连接数过多,也会导致内存泄漏,服务器崩溃。为了解决这个问题,系统采用了数据库连接池技术。数据库连接池概述:数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池也正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。当需要建立数据库连接时,只须从连接池中取出一个连接,使用完毕之后再放回去。通过连接池的管理机制,可以监视数据库连接的数量和使用情况,为系统开发、测试及性能调整提供重要依据8。链接池的工作原理如图3.4所示。 用户1用户2线程1线程2建立连接管理连接释放连接Servlet或JSP连接池请求请求申请连接释放连接申请连接释放连接数据库管理系统DBMS图3.4 链接池的工作原理4 系统模块功能的实现4.1 公共模块在本系统中将许多页面共同拥有的代码抽取出来作为公共模块,包含JavaScript文件、JSP文件和CSS样式表文件。公共模块的结构如图4.1所示。公共模块导入类包文件页面头和页面尾文件JavaScript文件防止恶意登录文件CSS样式表Calendar-win2k-1.cssstyle.cssCheck.jspcalendar-setup.jsFooter.jspcalendar-en.jscalendar.jsHeader.jspCommon.jsp图4.1 公共模块结构图其中,Common.jsp包含了所有的基础类导入语句,其他JSP文件需要使用这些基础类时,只须包含这个文件就可以了。Header.jsp和Footer.jsp文件是页面头和页面尾文件,在Header.jsp中加入了可以提供各个模块链接的脚本。用户必须经过登录验证才能进入系统,如果非法用户直接在浏览器的地址栏中输入某个页面地址时,就会逃过登录验证进入系统。为了防止这种恶意登录的情况,编写Check.jsp文件,判断用户是否经过登录验证。将系统中用到样式表的定义都放在style.css中。系统中用到了一个calendar控件,这是个日期选择控件。相关的文件包括JavaScript文件(calendar.js、calendar-en.js、calendar-setup.js)和CSS文件(calendar-win2k-1.css)。要正常使用该控件,必须在JSP文件中编写如下代码将其包含进来。使用该控件时,需要一个文本框以及一个按钮。然后编写JavaScript程序,代码如下。Calendar.setup( inputField : birthday, / ID of the input field ifFormat : %Y-%m-%d, / the date format button : bir / ID of the button );当单击该按钮时,就会弹出窗口,选择年、月、日后,相应的日期就会显示在该文本框中。4.2 登录模块登录模块用来验证用户的合法性,防止非法用户进入人力资源管理系统。登录模块的结构如图4.2所示。登录模块验证用户页面ChkLogin.jsp登录界面login.jsp图4.2 登录模块结构图本模块涉及到User.java类,此类用来封装与系统用户相关的业务逻辑,比如修改密码,判断是否登录等。同时还涉及到login.jsp和ChkLogin.jsp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论