资源目录
压缩包内文档预览:
编号:32770779
类型:共享资源
大小:14.97MB
格式:RAR
上传时间:2019-12-13
上传人:遗****
认证信息
个人认证
刘**(实名认证)
湖北
IP属地:湖北
30
积分
- 关 键 词:
-
人事管理系统
设计
- 资源描述:
-
人事管理系统设计,人事管理系统,设计
- 内容简介:
-
企业人事管理系统的设计与实现 所在院 系 华科学院经济与管理系专业 电子商务学生姓名 续晓敏指导教师 王丽霞 研究的意义 随着计算机在企业中的普及 如何利用计算机技术及时有效地管理人事信息 已成为企业越来越关注的一个问题 在这种背景下 利用计算机技术开发一个能满足企业需求的人事管理系统变得势在必行 本文使用面向对象的方法对企业人事管理系统进行系统分析 分析了系统的数据流图 流程图 用例图和功能模块图等 在此基础上 采用目前流行的SSH组合框架开发技术 实现了一个基于B S架构的企业人事管理系统 在系统开发过程中 不仅实现了员工档案信息 考勤信息 工资信息等的管理 也解决了传统的J2EE在开发系统时会遇到业务层分配 耦合以及对事务的管理等问题 使系统具有了良好的可维护性和可扩展性 此系统是为满足企业对人事信息管理的迫切需求而设计开发的 提高了人事管理工作效率 推动企业人事管理走向科学化 规范化 系统功能简介 1 档案管理模块 档案管理模块用来记录员工的基本信息和工作经历 管理员可以进行员工基本信息和工作经历进行查询 添加 删除和修改 普通员工可以根据自己的考勤编号或姓名查看自己的档案信息 2 员工考勤管理模块 考勤管理模块用来记录员工的考勤信息 例如迟到 请假 加班等 管理员可以进行考勤记录的添加 修改 删除 查询等 普通员工可以根据考勤日期和员工编号查看自己的考勤记录 3 员工工资管理模块 工资管理主要是对员工工资的综合的核算 建立合理 规范的企业工资核算制度 保障职工的合法权利 管理员可以对员工进行加薪或减薪的操作 普通员工可以根据自己的工资编号或员工编号查询自己的工资信息 4 员工奖惩管理模块 奖罚管理模块用来记录员工的奖罚信息 例如因为某事情奖励或惩罚员工 管理员可以进行奖惩信息的添加 删除 修改 查询等 普通员工可以根据员工编号查询自己的信息 5 系统管理模块 用户管理模块包含有权限管理和修改密码模块 其中 管理员可以使用权限管理模块来添加 删除 冻结用户账号以及使用密码修改模块 来更改自己的密码 普通员工只能使用修改密码模块用来修改登录密码 系统整体功能模块图 开发的技术 Web服务器 Tomcat开发环境 MyEclipse数据库 MySQL使用技术 SSH Struts2 Spring Hibernate 操作系统 Windows7或WindowsXP 用户登录界面 管理者界面 员工界面 添加员工信息界面 查询界面 删除界面 档案信息修改界面 权限管理界面 密码修改 考勤登记界面 考勤信息查看 奖惩信息登记 奖惩信息查看 基本工资录入 工资查看 总结 本系统的开发 比较适合规模不大的中小型企业 方便企业实现职工基本信息 请假信息 员工工资信息等简单的人事系统内容的管理与查询 此系统对于企业管理来说 实现了工作的规范化和一体化 对于管理者来说是不仅仅解决了他们繁琐的工作环节 也可以帮助他们更好的去维护管理的体系 在今后人事管理系统还会发挥出更重要的作用 作为人事管理系统 应该说本系统涉及的内容和范围还不够完善 越来越被企业所重视的员工测试与甄选 培训状况 员工安全与健康等内容 并未体现在本系统中 如果能够在这些方面加以完善 相信对于中小企业来说 本系统的功能的实现会更加全面 另外通过这次设计 使我不但学到了很多东西 收益非浅 而且也有一些心得体会 首先 在设计之前一定要对所设计的系统有较为深刻的了解 并对用户的要求加以认真的分析 对所有分类进行功能模块化设计 画出功能分析图 业务流程图 数据流图和E R图等 这样在进行详细设计时可做到有条不紊一步步地进行 其次 认真分析数据间的关系 它们之间的关系如何建立 设计一开始就应建立自己的设计思想 在信息管理的基础上 再新建各种文件 第三 从理论到实践是一个艰难的过程 必须勤动手 才能发现问题 使自己得到真正的提高 这次设计 使我学到了很多知识 让我进一步明确了系统开发的设计思想和方法加深了对系统开发的认识 巩固了所学的计算机知识 提高了软件开发的水平 为我今后在工作和学习上也提供了不少宝贵的经验 Thanks 谢谢各位评审老师 华科学院HUAKE INSTITUTE OF TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计(论文) 题目:企业人事管理系统学 生 姓 名 续晓敏 学 号 201022120229 班 级 电子商务102202H 所属院(系) 经济与管理系系 指 导 教 师 王丽霞 2014 年 6 月 1 日太原科技大学毕业设计(论文)任务书学院(直属系):经济与管理系 时间: 2014年 3 月 4 日学 生 姓 名续晓敏指 导 教 师王丽霞设计(论文)题目企业人事管理系统主要研究内容1. Java面向对象程序设计2. JavaEE企业开发方式以及相关技术3. 三大主流框架(SSH)的运用4. 企业人事管理的概念以及Java平台的实现研究方法按照软件开发B/S架构实施,具体包括,需求分析、体系结构设计、模块设计、数据库设计等相关设计。主要技术指标(或研究目标)JavaEE企业核心技术(servlet、jsp、jdbc、框架spring、hibernate、status2、MVC设计模式)主要参考文献1 陈旭管理信息系统M北京:兵器工业出版社, 20022 税良宇基于WEB技术的人事管理系统的设计与实现D重庆:重庆大学硕士论文,20053 覃庆炎,张伟Java开源项目:Spring+Hibernate+Struts项目开发详解M北京:清华大学出版社, 20084 夏昕,曹晓钢深入浅出HibernateM北京:电子工业出版社,20055 胡晓丹,魏长军.基于Struts+Spring+Hibernate架构的能源管理系统的研究J. 计算机与现代化,2006(12)6 BruceEckelJSP编程思想M北京:机械工业出版社,20037 张海藩软件工程导论M北京:清华大学出版社出版,20038 李刚Struts2权威指南基于WebWork核心的MVC开发M北京:电子工业出版社,20079 夏昕Spring开发指南M北京:电子工业出版社,200410 李振清枣庄学院人事管理信息系统的设计与实现D上海:华东师范大学硕士论文,200811 陈志泊,李冬梅,王春玲数据库原理及应用教程M北京:人民邮电出版社,200212 钱雪忠数据库原理及应用M北京:邮电大学出版社,200713 RonPatton软件测试M张小松,王钰,曹跃,译北京:机械工业出版社,200614 朱少民软件测试方法和技术M北京:清华大学出版社,200515 王水,张晓民软件工程素质导论M郑州:河南科学技术出版社,2011企业人事管理系统摘要随着计算机在企业中的普及,如何利用计算机技术及时有效地管理人事信息,已成为企业越来越关注的一个问题;在这种背景下,利用计算机技术开发一个能满足企业需求的人事管理系统变得势在必行。本文使用面向对象的方法对企业人事管理系统进行系统分析,分析了系统的数据流图、流程图、用例图和功能模块图等,在此基础上,采用目前流行的SSH组合框架开发技术,实现了一个基于B/S架构的企业人事管理系统。在系统开发过程中,不仅实现了员工档案信息、考勤信息、工资信息等的管理,也解决了传统的J2EE在开发系统时会遇到业务层分配、耦合以及对事务的管理等问题,使系统具有了良好的可维护性和可扩展性。此系统是为满足企业对人事信息管理的迫切需求而设计开发的,提高了人事管理工作效率,推动企业人事管理走向科学化、规范化。关键字:人事管理;SSH;B/S架构;J2EEEnterprise Personnel Management SystemAbstractAAs computers have acquired a widespread popularity among enterprises, how to make use of computer technology to advance the working efficiency of managing personnel information has become a critical issue, which attracts more and more attention from enterprises. Under such circumstances, it is inevitable to develop a personnel information system, which is created using the computer technology, so that it can satisfy the demands from enterprises. Using object-oriented methods, the essay goes into a deep analysis about the Enterprise Personnel Information Management System, which includes analysis about the data-flow diagram, process diagram, use case diagram and function modules diagram. Based on the preceding analysis, the system adopts the currently fashionable technique of SSH structure, resulting in the complete implementation of an Enterprise Personnel Information Management System of B/S structure. During the process of development, the functionality of managing employees profiles, checking on work attendance, pay check, comes into realization, but also solves the problem of various issues such as management on business layer assignment, weak coupling, transaction, etc. which usually is encountered while developing conventional J2EE systems, entailing the system to an excellent maintainability and extensibility. The system is designed and developed to meet the urgent request of enterprise personnel information management, improving the efficiency of personnel management, and promoted the enterprise personnel management to be more scientific and standardized.Keywords: Personnel Management ;SSH ;B/S structure; J2EE 目录企业人事管理系统4摘要4Enterprise Personnel Management System5Abstract5Keywords: Personnel Management ;SSH ;B/S structure; J2EE5第1章系统概述91.1 课题的研究背景91.2 国内外研究现状91.3 选题意义101.4 本文主要研究内容10第2章系统分析112.1相关技术介绍112.1.1B/S架构112.1.2SSH框架112.1.3JSP技术122.2可行性分析132.2.1技术可行性分析132.2.2经济可行性分析142.2.3管理可行性分析142.3系统需求142.3.1功能性需求分析142.3.2非功能性需求分析15第3章系统设计163.1 系统设计目标163.2 系统架构设计163.3系统功能设计183.3.1系统功能模块图183.3.2系统流程图203.3.3系统时序图223.4数据库设计243.4.1数据库分析243.4.2数据库概念设计253.4.3数据库逻辑结构设计273.4.4数据库安全策略30第4章编码与实现304.1 登录模块的实现304.2档案管理模块344.2.1添加员工信息344.2.2查询员工信息364.2.3员工信息删除394.2.4员工信息修改414.3系统用户管理424.3.1权限管理424.3.2密码修改444.4考勤管理模块474.4.1考勤登记474.4.2考勤信息查看484.5奖惩管理模块484.5.1奖惩信息登记484.5.2奖惩信息查看484.6工资管理模块494.6.1基本工资录入494.6.2工资信息查看49第5章系统测试与运行505.1 系统测试概述505.2 测试方法515.3测试用例设计515.4测试结论54结束语55参考文献56致谢57附录 英文资料翻译571.1 GENER ALIZE581.2 SOURCE OF JSP581.3 JSP CHARACTERISTICS591.4 JSP MECHANISM601.1 概述621.2 JSP的由来631.3 JSP的特点631.4 JSP的机制64第1章系统概述1.1 课题的研究背景人事管理系统的发展历史可以追溯到20世纪60年代末期。由于当时计算机技术已经进入实用阶段,同时大型企业用手工来计算和发放薪资既费时费力又非常容易出差错,为了解决这个矛盾,第一代的人事管理系统应运而生。当时由于技术条件和需求的限制,用户非常少,而且那种系统充其量也只不过是一种自动计算薪资的工具,既不包含非财务的信息,也不包含薪资的历史信息,几乎没有报表生成功能和薪资数据分析功能。但是,它的出现为人事管理的管理展示了美好的前景,即用计算机大规模集中处理大型企业的薪资成为可能。第二代的人事管理系统出现于20世纪70年代末。由于计算机技术的飞速发展,无论是计算机的普及性,还是计算机系统工具和数据库技术的发展,都为人事管理系统的阶段性发展提供了可能。第二代人事管理系统基本上解决了第一代系统的主要缺陷,对非财务的人事管理信息和薪资的历史信息都给予了考虑,其报表生成和薪资数据分析功能也都有了较大的改善。但这一代的人事系统主要是由计算机专业人员开发研制的,未能系统地考虑人事管理的需求和理念,而且其非财务的人事管理信息也不够系统和全面。人事管理系统的革命性变革出现在20世纪90年代末。由于个人电脑的普及,数据库技术、客户/服务器技术,特别是Internet/Intranet技术的发展,使得第三代人事管理系统的出现成为必然。第三代人事管理系统的特点是从人事管理的角度出发,用集中的数据库将几乎所有与人事管理相关的数据统一管理起来,形成了集成的信息源。友好的用户界面,简单快捷的操作方式,强有力的报表生成工具、分析工具和信息的共享使得人事管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人事管理规划和政策1。1.2 国内外研究现状目前,人事信息管理系统在国内基本上已进入了普及应用的阶段。国内近90%以上的应用计算机及开发管理信息系统的公司和单位均开发并运行了人事信息管理系统,其它没有和正准备开发计算机应用或开发管理系统的公司和单位,也把人事信息管理系统作为其应用与开发的首要目标。国内目前已有多种通用的人事信息管理系统软件供应用单位选择使用,而且还有多种人事信息管理系统开发通用工具供用户开发自己的人事信息管理系统。所以可以说,当前人事信息管理系统的开发与应用在国内已进入相对成熟期。1.3 选题意义人事管理是现代企业管理工作不可缺少的一部分,是推动企业走向科学化、规范化的必要条件。员工是企业生存的主要元素,员工的增减、变动将直接影响到企业的整体运作。企业员工越多、分工越细、联系越密,所要做的统计工作就越多,人事管理的难度就越大。随着企业的不断壮大,自动化的企业人事管理系统就显得非常必要。为解决这一问题,企业在更新硬件的同时,必须根据实际状况,设计出一款满足企业需求的人事管理系统。只有这样才能及时有效地管理人事信息,推动企业人事管理走向科学化、规范化的必要条件。1.4 本文主要研究内容对于企业来说人事管理的目的是提高日常工作效率,降低人事资源管理成本,提高员工整体素质。使人事信息更加准确及时。为解决这一问题,企业应该根据实际状况,设计出一款符合自己标准的人事管理系统。本文的主要研究内容如下:(1)基于SSH框架的人事管理系统的分析与设计。首先通过对企业人事管理流程的研究,确定了系统的功能需求和性能需求,然后根据模块化设计理念,确定了系统的模块组成,并分析了相互之间的联系。最后对系统进行了详细设计,确定了系统的功能架构以及工作流程。(2)系统实现。根据设计阶段确定的系统要求对系统进行了具体实现,并对系统实现的功能进行了具体介绍。这款企业人事管理系统主要有5个功能部分组成,分别是员工档案管理功能、员工工资管理功能、员工考勤管理功能、员工奖惩管理功能、系统管理功能。第2章系统分析2.1 相关技术介绍在选择符合企业人事管理特性的开发架构基础上,使用高效率的Web框架是企业达到开发人事管理系统预期目标的最重要因素。而当前应用最多的体系结构为C/S模式和B/S模式,两者有各自的优缺点和适用领域,但是考虑到企业未来的发展需求,本文选择B/S模式作为系统开发架构。同时为了提高代码重用性,缩短开发周期,本系统是在J2EE平台上,将Struts、Spring以及Hibernate三种当前应用较多的框架用于实现人事管理系统,并结合MySQL5.1作为其数据信息的存储平台。框架思想的引入优化了程序实现流程,便降低了开发复杂度。2.1.1B/S架构目前比较流行的软件设计架构有C/S架构和B/S架构。C/S架构是客户端/服务器端模式。一般建立在小范围里的网络环境,局域网之间,通过专门服务器提供连接和数据交换服务2。B/S架构,也就是浏览器/服务器模式。应用程序部署在服务器端,客户端通过浏览器访问应用程序。客户端发送HTTP请求消息传给服务器,服务器将请求传递给Web应用程序,Web应用程序处理请求,并把响应的结果传回给客户端。本系统采用B/S架构。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端不需要进行任何维护。系统的扩展非常容易,只要能上网,就可以使用。基于Java的B/S模式对操作平台没有任何限制,可以在任何平台上进行操作。另外,在企业人事管理系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于以上原因,该系统选用B/S架构。2.1.2SSH框架企业人事管理系统是在J2EE平台上进行设计和开发的,为了简化系统开发,缩短系统的开发周期,因此引入了SSH框架既Struts框架、Spring框架以及Hibernate框架。Struts框架的引入是为了将系统显示层和业务层进行分离,从而可改变系统页面中穿插功能代码的缺陷性,从而可以将页面设计者和程序开发者进行有效分离,从而可提高开发人员的工作效率。然而这种方式只针对于表示层,并不涉及业务层,某些应该属于企业系统信息层的代码实现依然放在业务层中,如安全性检查等,这种方式加大了系统后期维护的难度,尤其在开发人员离职的情况下,对系统的维护会更难,在这种背景下,Spring框架则为这个问题提供了解决方案3。Spring框架的基础核心是Ioc容器以及AOP组件,其中Ioc容器的使用可有效降低各模块间的依赖性,AOP组件的使用则加大了其在事务处理的优势,并且Spring框架的引入除了可以很好的为中间层服务以外,还能实现与上下层之间的兼容,达到各层相互独立的目的,从而可大大降低各层之间的耦合度。而Spring框架的缺陷在于其虽对JDBC进行了轻量封装,却并不完善,有很多用户的特殊要求无法达到,在这种背景下,本文选择引入Hibernate框架来完善Spring框架对JDBC的封装。Hibernate框架是目前使用率非常高的持久化工作,它不仅为关系型数据库和Java对象之间架起了连接的桥梁,而且还引入了高效率的数据查询以及恢复机制。在这种情况下,开发人员在开发与访问数据库相关的代码时,不再需要考虑范式设计和数据库关系模型不匹配的问题,使开发人员可以把更多的精力放在业务逻辑上边。由此可知,其可以更多的替代Spring框架对JDBC的封装4。由上可知,Struts框架在表现层、Spring框架在业务层以及Hibernate框架在数据层都具有自身的优势,将三者进行整合形成的SSH框架更能简化系统的开发,可以有效的降低各层之间的耦合度,提高系统的可维护性。SSH框架通过Struts负责在表示层中处理页面的请求和转发工作;通过spring容器管理机制负责在业务层处理业务逻辑工作;通过Hibernate完成在持久层与数据库的交互工作。这样形成一个结构良好、功能强大,层次清晰的框架体系5。2.1.3JSP技术JSP是一种动态网页技术标准,它是由SunMicrosystems公司倡导并由许多公司一起参与建立的。JSP技术是一种类似于ASP技术的技术,它是在传统的HTML网页文件中插入了Java程序段和JSP标记,从而形成了JSP文件。JSP页面主要是由HTML代码和嵌入其中的Java代码组成。当页面被客户端请求以后,服务器就对这些Java代码进行处理,然后再将生成的HTML页面返回给处于客户端的浏览器。JavaServlet是JSP的核心技术基础,而且那些大型的Web应用程序的开发都是需要JavaServlet和JSP共同配合才能完成。通过使用JSP技术,JSP页面表现了动态的信息,通过安装在Web服务器或者使用JSP的应用服务器上的JSP引擎来执行JSP页面。JSP引擎既可以接收客户端对JSP页面的请求,也可以生成JSP页面作为对客户端请求的响应6。一个标准的Java扩展就是将JSP页面编译成为JavaServlets。页面开发技术人员可以访问到所有的Java应用环境来利用Java技术的扩展性和可移植性。当JSP页面被第一次调用时,若它不存在,那么它就会被编译成一个JavaServlets类,然后存储在服务器中。那么,在接下来的对该页面的所有调用中,服务器的响应会非常迅速。另外,JSP页面既可以包含在多种不同的模型或者应用体系结构中,也可以应用于由不同协议、组件和格式所形成的组合体中。这是因为基于JSP的动态开发技术是一个开放可扩展的建立动态Web页面技术的标准,所以,不论开发人员采用什么开发工具,都可以使用JSP页面技术来创建可移植的Web应用,也可以在不同的Web应用服务器上运行使用。2.2 可行性分析在开发项目任务之前,必须根据客户可能提供的时间和资源条件进行可行性研究,以减少项目开发风险,避免人力、财力以及物力的浪费。可行性研究与风险分析在很多方面是相互关联的,项目风险越大,开发高质量的软件的可行性就越小。下面从经济可行性、技术可行性以及管理可行性三个方面研究项目可行性,从而为确定项目开发决策提供科学依据。2.2.1 技术可行性分析本系统是在J2EE平台上设计和开发的,同时针对利用J2EE平台开发系统存在的主要问题引入了框架技术,即SSH框架,其由Struts、Spring以及Hibernate三种框架组合而成,每种框架负责不同的任务处理,Struts框架工作在表现层,实现了表现层和业务层的分离,可有效提高页面开发效率。Spring框架工作在业务层,并且可以很好的兼容上下层。Hibernate工作在数据层,可以实现高效率的数据访问。这三种框架的引入加强了各层的独立性,可有效简化系统的开发难度,提高开发效率。由上述分析可知,这些成熟的开发技术可成功开发人力资源管理系统。2.2.2 经济可行性分析人事管理是企业管理的一个重要组成部分,涉及企业管理的方方面面。人事管理水平的提高,能够带动企业各方面水平的提高。利用计算机对企业的人事工作进行管理,使人事管理人员从日常琐碎的管理工作中解脱出来。根据上述分析可以知道,人事管理信息化会缩小管理成本,给企业带来不可估量的经济效益。开发人事管理系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其它应用软件、硬件系统也易于获得.因此,开发人事管理系统所需的基本费用较低,在企业可承受的范围内,因此在经济上是可行的。2.2.3 管理可行性分析企业具备良好的规章制度是实现人事管理系统的基础。首先人事管理系统是企业管理中的核心部分,决定了企业的兴衰成败。妥善利用人事管理系统,可以为企业带来巨大的经济效益。目前大部分企业都对本企业人事管理的信息化投入了巨大的资金,同时企业的各项规章制度也越来越健全、越来越完善,综上所述,其在管理上是可行的。2.3 系统需求系统的需求是通过对人事管理工作的分析,确定人事管理系统应具有的功能和目标。人事管理的信息化可将复杂业务简单化,并按照各部门需求有效分配资源,同时可存储各员工的考勤信息,据此来对员工进行奖惩。因此企业人事管理系统的开发应满足以上需求。另外,系统的需求主要是从功能性需求和非功能性需求两个方面来确定的。2.3.1 功能性需求分析本课题主要是为解决企业人事管理的问题,设计集人员档案、考勤、工资等于一体的人事管理系统,使企业的人事管理工作、数据化、规范化、快速化和网络化。为企业在人事管理方便。在通过详细的了解企业人事管理的流程,明确企业人事管理的需求后,本系统对使用系统的用户大致分为两类:管理者和员工。对用户的管理是为他们分配一定的权限,两类的用户具有不同的权限。管理者可以对员工的信息进行添加,删除,修改,查询等操作。员工可以查询自己的信息,以及一些可以修改的信息的修改,如密码的修改等。本系统应该具有以下五个功能:1)员工档案管理功能;2)员工工资管理功能;3)员工考勤管理功能;4)员工奖惩管理功能;5)系统管理功能;2.3.2 非功能性需求分析(1)性能需求性能需求分析是为了达到系统安全、高效及稳定运行所需满足的基本要求,它并不涉及系统功能,但是却能极大影响用户对系统的满意度,本系统应满足以下性能需求:可靠性:人事管理系统中存储着公司的核心信息,如员工信息以及工资信息等,每一类信息都不能被泄露或丢失,否则会影响公司的稳定性,由此为了保证系统具备高可靠性,本文采取了如下措施:首先对进入系统的用户进行严格身份验证,并采取措施防止不法分子进行注入式攻击,然后为电脑安装杀毒软件并进行定期维护,以确保系统具备高可靠性。可扩展性:系统应充分考虑到企业的发展需求,当遇到系统功能调整或人事管理流程改变等情况时,系统须作出及时的对应调整,因此系统须具备可扩展性,本文为系统预留了一定的扩展接口,以便满足企业需求。可用性:在人事管理系统的开发过程中,紧密联系人事管理的实际需求,从而保证系统可用于企业的实际管理中。同时为系统设计了操作提示友善的界面以加强用户对系统的可操作性。可维护性:本文选择SSH框架用于开发人人事管理系统的目的之一就在于提高系统的可维护性,SSH框架中三种技术的组合实现表现层、业务层以及数据层的分离,从而可使系统结构更加清晰和透明化,从而管理人员能更快发现系统问题所在;同时在编码期间对代码进行了良好注释,从而加强了代码的可阅读性,这对于系统维护都是非常有效的7。(2)系统开发环境需求在开发企业人事管理系统时,需要具备如下的软件环境:操作系统:WindowsXP。Web服务器:Tomcat6.0。Java开发包:JDK1.5及以上。开发工具:MyEclipse8.5,Dreamweaver等。数据库:MySQL5.1。浏览器:IE6.0及以上。第3章系统设计3.1 系统设计目标根据企业对人事管理的要求,本系统需要实现以下目标:1)操作简单方便、界面简洁大方。2)方便快捷的档案管理。3)简单适用的考勤和奖惩管理。4)简单适用的用户管理。5) 功能强大的报表功能。3.2 系统架构设计本系统是采用SSH框架技术设计和开发的,SSH架构中的三种技术起着不同作用,Struts技术实现了业务层和表现层的分离,从而降低了开发项目的复杂度。Spring是当前使用率非常高的框架,它为开发者提供一个用于管理应用组件的Ioc容器,其兼容表现层和数据层,从而降低了系统的耦合度。Hibernate属于持久层开发工具,它为数据库和JAVA应用程序之间搭建一个交互平台,负责管理两者之间的映射关系8。SSH(即Struts2+Spring+Hibernate)组合框架开发技术的使用不仅解决了传统的J2EE在开发系统时会遇到业务层分配、耦合以及对事务的管理等问题,而且使系统具有了良好的可维护性和可扩展性。本文对系统进行了分层设计,得到了系统架构图,具体如图3-1所示。图3-1 系统架构图由图3-1可知, SSH架构把系统分为不同层次,每层负责处理不同的任务,具体分析如下:(1)客户层:用户在该层通过浏览器与系统进行交互。(2)表示层:该层的任务在于将系统中的信息以特定方式展现给用户。由前面介绍可知,系统表示层已由Struts框架将其独立出来了,其一般由HTML和JSP页面组成。(3)业务层:该层可接受来自Web层的业务请求,并对请求进行相应处理。该层主要包括两个部分:业务接口和业务模型。其中业务接口负责与上下层之间进行数据交互,业务模型完成业务需求。同时Spring框架工作在这层,它通过配置文件XML可有效降低系统中业务层、数据访问层、持久化对象层之间的关联度,方便日后对系统的维护。(4)数据访问层:该层的主要任务在于处理来自业务层的数据请求,并通过业务接口返回处理结果。首先利用JavaBean方法构建访问接口和访问模型,并通过DAO模式将数据访问进行轻量封装,方便其它层对其进行调用。Hibernate框架工作在这层,它为数据访问层提供接口用于实现对持久对象的管理9。(5)持久层:该层由两部分组成,第一部分为实体类,第二部分为在实体类上设计的XML配置文件。这层的主要工作为利用Hibernate进行数据访问获取所需信息,然后将这些数据生成持久对象并将其传递给数据访问层。(6)数据层:该层主要存储系统中所需的基本信息,本文采用MySQL5.1作为数据库服务器。整个架构处理用户请求的流程:客户端发送一个HTTP请求。系统会以表单形式或URL形式将请求提交到业务层,在这个过程中,总控制会监听到该请求并对其进行实例化,然后将关键属性信息存储在Request或Session中,这样该信息就能被Action对象或JSP进行调用。总控制器监听到请求后会根据Struts-config.XML配置文件将其分配对应的分控制器Action,在Action的实例中,引用了Spring框架中的WebApplicationContext类型的上下文实例,该上下文实例通过服务器的容器,加载上下文监听获取了Spring框架Applicationcontext.xml配置文件中的信息,基于IOC技术动态生成了所需业务层的实例,此时,HTTP请求的控制权移交给了Spring框架来处理。业务层则依靠具体的数据访问层来实施对持久层对象的处理任务。Spring框架用Applicationcontext.xml配置文件使业务层、数据访问层和持久层关联起来,并通过IOC技术和面向接口编程实现了表示层、业务层和数据访问层的“松耦合”设计10。3.3 系统功能设计3.3.1 系统功能模块图在通过详细的了解企业人事管理的流程,明确企业人事管理的需求后,本系统对使用系统的用户大致分为两类:管理者和员工。对用户的管理是为他们分配一定的权限,两类的用户具有不同的权限。管理者可以对员工的信息进行添加,删除,修改,查询等操作。员工可以查询自己的信息,以及一些可以修改的信息的修改,如密码的修改等。因此本系统主要有五个功能模块,如图3-2所示。图3-2系统功能模块图(1)档案管理模块:档案管理模块用来记录员工的基本信息和工作经历,管理员可以进行员工基本信息和工作经历进行查询、添加、删除和修改。普通员工可以根据自己的考勤编号或姓名查看自己的档案信息。(2)员工考勤管理模块:考勤管理模块用来记录员工的考勤信息,例如迟到、请假、加班等。管理员可以进行考勤记录的添加、修改、删除、查询等,普通员工可以根据考勤日期和员工编号查看自己的考勤记录。(3)员工工资管理模块:工资管理主要是对员工工资的综合的核算,建立合理,规范的企业工资核算制度,保障职工的合法权利。管理员可以对员工进行加薪或减薪的操作。普通员工可以根据自己的工资编号或员工编号查询自己的工资信息。(4)员工奖惩管理模块:奖罚管理模块用来记录员工的奖罚信息,例如因为某事情奖励或惩罚员工。管理员可以进行奖惩信息的添加、删除、修改、查询等,普通员工可以根据员工编号查询自己的信息。(5)系统管理模块:用户管理模块包含有权限管理和修改密码模块。其中,管理员可以使用权限管理模块来添加、删除、冻结用户账号以及使用密码修改模块,来更改自己的密码。普通员工只能使用修改密码模块用来修改登录密码。3.3.2 系统流程图本系统部分模块流程图:(1)登录模块对员工输入的输入的员工号和密码进行检查,做出相应动作,提示其输入用户名和密码,查询数据库判断其是否合法,当员工号和密码合法时,对其具有的权限进行判断,做出相应动作使其进入下一模块,其对应的前台文件是userlogin.jsp。登录模块流程图如图3-3所示。图3-3登录模块流程图(2)档案管理模块档案管理模块的功能有档案添加、档案删除、档案查询、档案修改。只有管理员才有权限进行档案管理,所以只有以管理员身份登录系统才能进入档案管理模块。档案管理主要是对系统数据库的档案表进行增、删、改的操作。当涉及到对数据库表的操作时,系统会对当前登录的用户进行权限的再次验证,以及操作信息的再次确认。防止错误操作,确保数据的完整性。管理员进行员工档案操作时,都会有相应的提示,以及对操作信息的再次确认。档案的添加是档案管理的功能之一,只有管理员可以添加员工档案。因此需要以管理员身份登录系统,然后进入档案管理模块选择添加员工档案,填写员工信息,在填写信息时,数据需合法才能提交,防止错误操作,确保数据的完整性。在添加档案时会对管理员的权限进行验证。档案添加的流程图如图3-4所示。图3-4档案添加流程图档案的删除也是档案管理的功能之一,只能管理员权限才能使用,在删除档案时会对管理员的权限进行验证。在删除员工档案时需要先查出要删除的员工档案。然后才能选择删除功能。在查询员工档案时,如果员工信息不存在或者查找失败,则输出提示信息。在进行这些操作的时候会对当前登录用户的权限进行再次验证以及信息的确认,防止错误操作,确保数据的完整性。如果身份合法则可以删除员工档案并且输出提示信息。如果身份不合法或者是删除档案部成功,则输出提示信息。档案删除流程图如图3-5所示。图3-5档案删除流程图3.3.3 系统时序图本系统部分模块时序图:由系统用例分析可知,工资管理模块包含的主要功能有员工工资信息的添加、删除、修改以及查询员工薪资信息。该模块的主要业务处理流程是:首先系统管理员输入登录口令进入系统,点击系统主页左边功能栏中的工资管理,打开工资管理模块列表,点击列表中的功能菜单选项,系统会跳转到对应页面。在工资信息添加页面可以进行员工工资的加减;在工资信息查询页面可以根据员工编号或姓名可查询员工的工资信息;当然也可以列出所有员工的工资信息。在查询到员工工资信息时,可以对员工工资进行修改、删除等操作。在进行这些操作的时候会对当前登录用户的权限进行再次验证以及信息的确认,防止错误操作,确保数据的完整性。根据上述分析,可得到工资管理模块的时序图,具体如图3-6所示。图3-6工资管理模块时序图(1)员工工资录入输入:员工每月基本工资、加班费、考勤费、旷工费以及保险费等。处理:验证用户录入格式是否满足系统需求;创建新的员工薪资实体类用来存储相关的资料。数据存储:首先将新添加的员工工资信息存储进入临时化对象,当事务完成后其将转变为持久化对象。数据输出:工资信息录入成功系统会提示用户成功录入,否则会提示录入失败。(2)员工薪资查询输入:本模块提供多条件组合查询,如员工姓名和年月的组合形式。处理:在薪资实体类的持久化对像中找出满足薪资查询条件的数据信息,并以特定形式显示检索结果,在检索结果中可查看员工薪资的各项目组成。数据存储:不涉及数据存储。数据输出:输出符合查询要求的数据集,并包含数据集中每个员工的详细薪资信息。(3)员工薪资修改输入:员工薪资信息记录中可修改的属性由发放工资时间、每月基本工资、加班费、考勤费、旷工费以及保险费等。处理:协助用户查询需要修改的员工的薪资记录;显示需要修改的员工的薪资信息;验证用户输入的修改数据的合法性,并修改持久化对像中的数据信息。数据存储:修改实体类中的数据并提交到数据库中进行存储。数据输出:返回修改结果,以提示用户是否修改成功。(4)员工薪资删除输入:首先查询员工薪资信息,并选择需要删除的对象。处理:将选中员工的某月份薪资信息从实体类类中移除。数据存储:无。数据输出:返回删除结果,并以列表形式显示薪资数据集。3.4 数据库设计3.4.1 数据库分析基于B/S结构的应用系统一般都依赖于数据库,数据库设计的是否合理直接决定了一个系统性能的高低。而一个系统性能的高低,往往是衡量一个系统好坏的重要标准。由此可以知数据库对于一个系统起着非常关键的作用。一个应用系统的成功50%取决于数据库设计。本文对系统进行设计时,引入了模块化的理念,各模块的组合是实现企业人事管理系统基本保证。而每个模块无非就是操作数据,因此在对系统进行设计时,要将数据库设计放在重要位置,要充分考虑访问数据的高效性、减少数据冗余,提高系统运行速度。整个数据库的设计过程一般由三个阶段组成,即数据库概念设计、数据库逻辑结构设计以及数据库物理结构设计。各个阶段的最终目的都是设计一个高效性的数据库模式11。3.4.2 数据库概念设计根据对系统的需求分析,可以分析出企业人事管理系统包含的对象实体,如员工档案表、工资信息表、用户信息表、奖惩信息表、考勤信息表。这些对象实体并不是独立的,它们之间存在一定的联系。例如员工信息表与考勤信息表之间存在一对多的关系,即一个员工可能有多条考勤信息,而一条考勤信息只能属于一个员工。同时工资信息表与员工信息表之间存在一对一的关系,一个员工对应唯一的一个工资信息表,一个工资信息表也只能存储一个员工的工资信息。这些对象实体间的联系,往往决定着表的主外键。而一个表的主键是一个对象合法的唯一标识,外键则是对象的约束。根据上述分析可得到实体的属性图。员工档案信息属性图如图3-7所示:员工姓名员工编号邮箱电话职务部门学历出生日期性别身份证号民族图3-7员工属性图工资信息属性图如图3-8所示:图3-8工资实体属性图考勤信息属性图如图3-9所示:图3-9考勤实体属性图奖惩管理属性如图3-10所示:图3-10奖惩实体属性图登录用户实体属性图如图3-11所示:图3-11用户实体属性图3.4.3 数据库逻辑结构设计数据库的概念结构设计完成后,现在可以将上面的概念结构转化成为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。根据使用数据量的大小不同,系统可以使用不同的数据库。本系统使用的是MYSQL数据库。MYSQL数据库使用起来方便简单,数据存储量也比较大,具有很好的再造和重写特性,有利于我们管理和维护数据,因此普遍认为它是比较适合于中小型网站开发的数据库。数据库的逻辑设计就是把实体对象转化成数据库支持的实际模型后,本系统数据库总共有5个表。(1)用户信息表:用于储存用户信息,如表3-1所示。表3-1用户信息表字段字段名称数据类型长度Nulls1职工编号(主键)char6否2用户名varchar20否3密码varchar20否4权限int1否5状态int1否(2)员工信息数据表:用于储存职工的基本信息,如表3-2所示。表3-2员工档案信息表字段字段名类型宽度Nulls1员工编号char6否2姓名varchar20否3身份证号varchar18否4民族varchar20否5性别varchar4否6出生日期Varchar20否7学历varchar50否8部门varchar20否9职务varchar20否10电话varchar11否11邮箱varchar50否13入职日期date否14备注信息text500(3)工资信息数据表:用来存储职工的工资情况,如表3-3所示。表3-3工资信息表字段字段名类型宽度Nulls1工资编号(主键)Int否2员工编号(外键)Char6否3姓名Varchar204日期Date否5基本工资Double11否(4)考勤管理表:用来存储员工的考勤情况,如表3-4所示。表3-4考勤管理表字段字段名类型宽度Nulls1考勤编号(主键)Int否2考勤时间Dater否3员工号(外键)Varchar6否4考勤扣除Int否5缺勤类型Varchar10否6备注Text500(5)奖惩管理表:用来储存员工奖惩信息,如表3-5所示。表3-5奖惩管理表序号字段名类型宽度索引备注1奖惩编号Int主键自动编号2发生时间Varchar203奖惩类型Varchar50奖励惩罚4奖励金额Int5备注Text5006员工编号Int外键关联员工档案3.4.4 数据库安全策略建立一个良好的用户账号约束制度以及完善的口令系统是保障系统安全的关键。在简单的“用户名密码”的认证机制中,使用较长的、经常改变的密码是个不错的建议;为了防止明文的密码在传输中被窃听截取,加强认证机制运用多种加密手段来保护认证过程中相互交换的信息。另外,采用某种外接的硬件设备存储用户的登录密码和身份等信息,登录时机器与验证设备交互信息进行身份认证也是近年开始流行的认证技术12。实施访问控制能确保信息资源的合理利用。首先,系统应该从用户账号的使用、访问网络的时间和方式、以及用户退出与再登录的时间间隔等方面进行控制和限制。其次,访问授权是针对网络非法操作的有效的保护措施,系统控制用户和用户组可以访问哪些文件、目录、子目录和其它资源,以及指定用户对这些文件、目录、设备能够执行哪些操作。企业人事管理系统是基于Web的信息系统,并且关系到企业人事工作的正常开展。所以安全问题显得格外重要。为了保证系统的安全性,采取了如设置角色权限等措施。根据实际情况的需要,把该系统的使用者分为管理者、员工等类型,每种类型作为一种角色,每种角色赋予相应的权限。只有具有某子系统的访问或操作权限,才能对该子系统进行访问或操作。角色的名称、权限等属性可以进行修改维护,这样既提高了系统的安全性,又避免了为每一个系统使用者分别赋予权限,提高了效率和灵活性。第4章编码与实现4.1 登录模块的实现本系统是企业的内部系统,所有用户都应该是已在人事处登记的,登记时对不同用户,为他们分配不同的权限。在用户登录时本模块可以验证用户的账号和密码的正确性来确认用户身份的合法性,当用户身份合法时,会对用户的权限进行检测,以便登录其对应的功能模块。用户登录时将按照用户账号和密码进行验证,当输入错误或没有用户名和密码时会出现相应的提示(用户名或密码输入错误!请重新输入),当用户名和密码都正确时,根据权限进入系统不同模块。该模块的界面设计如图4-1所示。图4-1登录界面如果登录身份验证成功,系统管理者进入系统管理者界面如图4-2所示。图4-2管理者界面如果登录身份验证成功,员工进入系统员工界面如图4-3所示。图4-3员工界面如果用户名或密码错误则会提示用户名或者密码错误,需要重新输入。部分实现代码如下:Component(userLogin)Scope(prototype)public class UserLoginAction extends ActionSupport private String employmember;private String password;private UserService um;private String catpcha;private String login_message;省略部分getter和setter方法public UserService getUm() return um;Resource(name = userService)public void setUm(UserService um) this.um = um;Overridepublic String execute() throws Exception if (employmember = null | .equalsIgnoreCase(employmember) login_message = 员工号不能为空!;return error;if (password = null | .equalsIgnoreCase(password) login_message = 密码不能为空!;return error;String user_name = null;String catpcha1 = ActionContext.getContext().getSession().get(rand).toString();if (catpcha1.equals(catpcha) if (um.login(employmember, password)& 已激活.equalsIgnoreCase(um.searchByEmploymember(employmember).getState() user_name = um.searchByEmploymember(employmember).getUsername();ActionContext.getContext().getSession().put(employ_member,employmember);ActionContext.getContext().getSession().put(user_name,user_name);if (um.searchByEmploymember(employmember).getPower() 0) return success; else return success2; else login_message = 用户名或密码错误!;return error; else login_message = 验证码填写有误!;return error;4.2 档案管理模块4.2.1 添加员工信息添加员工信息,添加成功,可以继续添加,添加失败,则提示失败信息。界面如图4-4所示。图4-4添加员工信息界面部分实现代码如下:Component(addEmployee)Scope(prototype)public class AddEmployeeAction extends ActionSupport private EmployeeService empService;private EmploymemberFormBean empFormBean;public EmployeeService getEmpService() return empService;Resourcepublic void setEmpService(EmployeeService empService) this.empService = empService;public EmploymemberFormBean getEmpFormBean() return empFormBean;Resourcepublic void setEmpFormBean(EmploymemberFormBean empFormBean) this.empFormBean = empFormBean;Overridepublic String execute() throws Exception if (ActionContext.getContext().getSession().get(employ_member) = null) return error;String birthday=empFormBean.getBirthday().replace(-0, -);String jiuzhi=empFormBean.getJiuzhi().replace(-0, -);empFormBean.setBirthday(birthday);empFormBean.setJiuzhi(jiuzhi);empService.add(empFormBean);return success1;4.2.2 查询员工信息可以根据员工的编号、姓名、性别等查询员工档案信息。根据姓名查询时,使用的是模糊查询。查询界面如图4-5所示。图4-5查询界面部分实现代码如下:Component(searchEmployee)Scope(prototype)public class SearchEmployeeAction extends ActionSupport private EmployeeService empService;private String keyword;private String searchcondition;private List list;省略部分getter和setter方法Public String getKeyword()return keyword;Public void setKeyword(String keyword)this.keyword=keyword;public EmployeeService getEmpService() return empService;Resourcepublic void setEmpService(EmployeeService empService) this.empService = empService;Overridepublic String execute() throws Exception if (1.equalsIgnoreCase(searchcondition) list = empService.searchByEmploymember(keyword);if (2.equalsIgnoreCase(searchcondition) list = empService.searchByName(keyword);if (3.equalsIgnoreCase(searchcondition) list = empService.searchBySex(keyword);if (4.equalsIgnoreCase(searchcondition) list = empService.searchByEducation(keyword);if (5.equalsIgnoreCase(searchcondition) list = empService.searchByDept(keyword);if (6.equalsIgnoreCase(searchcondition) list = empService.searchByPost(keyword);return search;4.2.3 员工信息删除删除员工档案信息。当员工档案信息被删除时,登录信息也会被删除。也就是说该员工不能再登录本系统。删除界面如图4-6所示。图4-6删除界面部分实现代码如下:Component(deleteEmployee)Scope(prototype)public class DeleteEmployeeAction extends ActionSupport private String employmember;private EmployeeService es;public EmployeeService getEs() return es;Resourcepublic void setEs(EmployeeService es) this.es = es;public String getEmploymember() return employmember;public void setEmploymember(String employmember) this.employmember = employmember;Overridepublic String execute() throws Exception /System.out.println(employmember);boolean flog = false;if (!flog) es.delete(employmember);flog = true;if (flog) return success; else return error;4.2.4 员工信息修改修改员工信息。界面如图4-7所示。图4-7档案信息修改界面部分实现代码如下:Component(updateEmployee)Scope(prototype)public class UpdateEmployeeAction extends ActionSupport private EmployeeService empService;private EmploymemberFormBean nt;public EmployeeService getEmpService() return empService;Resourcepublic void setEmpService(EmployeeService empService) this.empService = empService;public EmploymemberFormBean getNt() return nt;public void setNt(EmploymemberFormBean nt) this.nt = nt;Overridepublic String execute() throws Exception /System.out.println(nt.getSex();if(nt!=null)empService.alter(nt);return success;elsereturn error;4.3 系统用户管理4.3.1 权限管理实现员工的权限管理,如修改员工权限,禁用或激活员工账号等。界面如图4-8所示。图4-8权限管理界面激活账号部分代码如下:Component(activeUser)Scope(prototype)public class ActiveUserAction extends ActionSupport private String employmember;private UserService ems;private String power_message;省略部分getter和setter方法public UserService getEms() return ems;Resourcepublic void setEms(UserService ems) this.ems = ems;Overridepublic String execute() throws Exception String ep = ActionContext.getContext().getSession().get(employ_member).toString();UserInfo uscheck = null;UserInfonewuser=null;if (ep != null) uscheck = ems.searchByEmploymember(ep);newuser = ems.searchByEmploymember(employmember); else return error;if (uscheck.getPower() newuser.getPower() & !ep.equalsIgnoreCase(employmember) newuser.setState(已激活);ems.alter(newuser);ActionContext.getContext().getSession().put(active_emp, employmember);return success; else power_message = 权限不够,操作失败!;return error;4.3.2 密码修改修改当前登录用户密码。界面如图4-9所示。图4-9密码修改部分实现代码如下:Component(modifyPassword)Scope(prototype)public class ModifyPassowrdAction extends ActionSupport private String password;private String password1;private String password2;private UserService us;private String message;省略部分getter和setter方法public UserService getUs() return us;Resourcepublic void setUs(UserService us) this.us = us;Overridepublic String execute() throws Exception if (ActionContext.getContext().getSession().get(employ_member) = null) return error;String employmember = ActionContext.getContext().getSession().get(employ_member).toString();UserInfo nu = us.searchByEmploymember(employmember);String pwd = nu.getPassword();if (!pwd.equals(password) message = 旧密码输入有误,密码修改失败!;return success; else if (.equalsIgnoreCase(password1)| .equalsIgnoreCase(password2) message = 新密码不能为空!;return success; else if (!password1.equals(password2) message = 两次密码输入不一致,修改失败!;return success; else nu.setPassword(password1);us.alterPassword(nu);message = 修改成功!;return success;4.4 考勤管理模块4.4.1 考勤登记如图4-10所示。图4-10 考勤登记界面4.4.2 考勤信息查看如图4-11所示。图4-11 考勤信息查看4.5 奖惩管理模块4.5.1 奖惩信息登记如图4-12所示。图4-12 奖惩信息登记4.5.2 奖惩信息查看如图4-13所示。图4-13 奖惩信息查看4.6 工资管理模块4.6.1 基本工资录入如图4-14所示。图4-14 基本工资录入4.6.2 工资信息查看如图4-15所示。图4-15 工资查看第5章系统测试与运行系统测试是通过对已经开发并初具规模的软件与计算机硬件、软件、网络等各种资源进行多项性能组装试验,从而检验并提高开发软件性能的一种手段。其主要目的是通过试验性检查,发现开发程序与用户需求实际不兼容、不符合甚至是相矛盾的地方,从而提出更加完善的解决方案,进一步完善软件的性能13。5.1 系统测试概述系统测试是将要测试的各个子系统通过封装成一个系统,然后通过测试这个系统来测试,它是检验系统功能的有效方法。系统测试是对设计好的软件系统进行全面测试,确保软件能满足设计需求。(1)测试内容系统测试主要包括以下内容:功能测试。即检测软件系统是否能正确地完成系统设计需求和处理事务的能力。其主要目的有两点:一是检验软件性能要求,二是通过测试得到某些性能数据供改进系统系能做进一步研究。操作界面测试。操作界面测试的重点是测试软件系统的视觉效果和操作易用性等。健壮性测试。即测试软件系统在特殊情况下正常运行的能力。健壮性有两层意义:一是恢复能力,二是容错能力。安全性能测试。主要检测软件系统对非法入侵的防护能力。(2)测试的意义确保系统的有效性和安全性。建立完善的系统测试数据,为系统下一步改进提供数据保证。 验证软件系统是否与系统需求相一致。5.2 测试方法测试是一个为了寻找错误程序的过程。测试可分为黑盒测试和白盒测试。两种测试方法反映了软件的不同侧面,从不同的角度出发,也适用于不同的开发环境。白盒测试又称逻辑驱动测试、结构测试或测试员测试,也可称为程序本身的测试,主要应用于结构化的软件开发环境。黑盒测试又称数据驱动测试、功能测试或用户测试,也可被称为基于规格说明的测试,主要用于开发(RAD)环境14。本系统主要使用的是黑盒测试,它主要通过测试来检测软件的每个功能是否健全。错误推测、边值分析、因果图、等价类划分是它测试的主要方法。黑盒测试主要应用于软件测试。相对于白盒测试来说,黑盒测试主要检查每个功能实现是否符合产品开发设计的要求。它不同于白盒测试,白盒测试主要测试系统或软件的每个内部操作是否正确,是否己经经过检查15。黑盒测试是白盒测试的辅助,它能更好的发现白盒测试所不能发现的错误。主要包括:(l)软件是否有不正确的功能。(2)软件是否能正确读入数据并正确输出数据。(3)软件是否有数据访问或数据结构设计错误。(4)在访问内部数据与外部数据过程中,软件是否会产生数据访问错误。(5)软件是否具有终止性和初始化错误。5.3 测试用例设计登录模块的测试用例设计如表5-1所示。表5-1登陆模块测试表用例编号测试项输入描述输入数据预期结果实际结果结果比较分析1登录输入正确的员工号和密码输入值员工号:000001密码:admin进入系统与预期结果相同2输入错误的员工号,密码错误,员工号:088080密码:123456出现提示:员工号或密码错误员工号或密码错误提示不够准确,没有对员工号错误进行判断3不输入员工号,只输入正确的密码员工号:空密码:admin出现提示:员工号不能为空与预期结果相同4输入正确的员工号,不输入密码员工号:000001密码:空出现提示:密码不能为空与预期结果相同5取消输入员工号,密码员工号:000001密码:admin将文本框清空与预期结果相同密码修改模块的测试用例设计如表5-2所示(当前登录员工号为:999999,密码为:000)。表5-2密码修改测试表用例编号测试项输入描述输入数据预期结果实际结果结果比较分析1修改输入正确的旧密码,新密码为空旧密码:000新密码:空确认密码:空提示:新密码不能为空与预期结果相同2输入正确的旧密码,新密码为不为空,确认密码和新密码相同旧密码:000新密码:123456确认密码:123456提示:修改成功与预期结果相同3输入正确的旧密码,新密码为不为空,确认密码和新密码不相同旧密码:123456新密码:123确认密码:123456提示:两次密码不一致,修改失败与预期结果相同4不输入旧密码,只输入新密码和确认密码旧密码:空新密码:123确认密码:123提示:旧密码错误,修改失败!与预期结果相同5取消输入旧密码,新密码,确认密码旧密码:123456新密码:123确认密码:123将文本框清空与预期结果相同5.4 测试结论通过上面的测试项目的测试结果可以看出,软件用户界面比较友好,有相应的操作提示,每个页面都有对应的提示信息。布局合理,功能清晰。总之,人事管理系统基本达到了设计要求,对功能需求、功能设计中提出的需求功能都能圆满的实现。结束语本系统的开发,比较适合规模不大的中小型企业,方便企业实现职工基本信息、请假信息、员工工资信息等简单的人事系统内容的管理与查询。此系统对于企业管理来说,实现了工作的规范化和一体化,对于管理者来说是不仅仅解决了他们繁琐的工作环节,也可以帮助他们更好的去维护管理的体系,在今后人事管理系统还会发挥出更重要的作用。作为人事管理系统,应该说本系统涉及的内容和范围还不够完善,越来越被企业所重视的员工测试与甄选、培训状况、员工安全与健康等内容,并未体现在本系统中。如果能够在这些方面加以完善,相信对于中小企业来说,本系统的功能的实现会更加全面。另外通过这次设计,使我不但学到了很多东西,收益非浅,而且也有一些心得体会: 首先,在设计之前一定要对所设计的系统有较为深刻的了解,并对用户的要求加以认真的分析,对所有分类进行功能模块化设计,画出功能分析图、业务流程图、数据流图和E-R图等,这样在进行详细设计时可做到有条不紊一步步地进行。其次,认真分析数据间的关系,它们之间的关系如何建立。设计一开始就应建立自己的设计思想,在信息管理的基础上,再新建各种文件。第三,从理论到实践是一个艰难的过程,必须勤动手,才能发现问题,使自己得到真正的提高。这次设计,使我学到了很多知识,让我进一步明确了系统开发的设计思想和方法加深了对系统开发的认识,巩固了所学的计算机知识,提高了软件开发的水平,为我今后在工作和学习上也提供了不少宝贵的经验。参考文献1 陈旭管理信息系统M北京:兵器工业出版社, 20022 税良宇基于WEB技术的人事管理系统的设计与实现D重庆:重庆大学硕士论文,20053 覃庆炎,张伟Java开源项目:Spring+Hibernate+Struts项目开发详解M北京:清华大学出版社, 20084 夏昕,曹晓钢深入浅出HibernateM北京:电子工业出版社,20055 胡晓丹,魏长军.基于Struts+Spring+Hibernate架构的能源管理系统的研究J. 计算机与现代化,2006(12)6 BruceEckelJSP编程思想M北京:机械工业出版社,20037 张海藩软件工程导论M北京:清华大学出版社出版,20038 李刚Struts2权威指南基于WebWork核心的MVC开发M北京:电子工业出版社,20079 夏昕Spring开发指南M北京:电子工业出版社,200410 李振清枣庄学院人事管理信息系统的设计与实现D上海:华东师范大学硕士论文,200811 陈志泊,李冬梅,王春玲数据库原理及应用教程M北京:人民邮电出版社,200212 钱雪忠数据库原理及应用M北京:邮电大学出版社,200713 RonPatton软件测试M张小松,王钰,曹跃,译北京:机械工业出版社,200614 朱少民软件测试方法和技术M北京:清华大学出版社,200515 王水,张晓民软件工程素质导论M郑州:河南科学技术出版社,2011致谢本系统及学位论文是在指导老师的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治学精神,深深地感染和激励着我。从课题的选择到本系统的最终完成,老师都始终给予我细心的指导和不懈的支持,使我受益匪浅。仅借此文向老师致以最真挚的谢意!在这里,我还要向所有关心和培养我们的各级领导、授予我知识的各位尊敬的任课老师们、关心我们生活的辅导员表示真挚的谢意!感谢他们在我就读期间专业上的指引,从这里我不但学到了知识,也学到了做人与做事,得到了人生奋斗的力量,他们的专业素养与专业精神将受益我一生。回顾几年的大学学习生活,我还要感谢在一起愉快的度过生活的各位同学,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,使我在人生的道路上走的更好,更远!最后,衷心感谢各位评审专家在百忙之中抽空审阅我的论文,谢谢各位评审老师的赐教和指正!附录 英文资料翻译英文原文:THE TECHNIQUE DEVELOPMENT HISTORY OF JSPBy:Kathy Sierra and Bert BatesSource: Servlet&JSPThe Java Server Pages( JSP) is a kind of according to web of the script plait distance technique, similar carries the script language of Java in the server of the Netscape company of server- side JavaScript( SSJS) and the Active Server Pages(ASP) of the Microsoft. JSP compares the SSJS and ASP to have better can expand sex, and it is no more exclusive than any factory or some one particular server of Web. Though the norm of JSP is to be draw up by the Sun company of, any factory can carry out the JSP on own system.The After Sun release the JS P( the Java Server Pages) formally, the this kind of new Web application development technique very quickly caused the peoples concern. JSP provided a special development environment for the Web application that establishes the high dynamic state. According to the Sun parlance, the JSP can adapt to include the Apache WebServer, IIS4.0 on the market at inside of 85% server product.This chapter will introduce the related knowledge of JSP and Databases, and JavaBean related contents, is all certainly rougher introduction among them basic contents, say perhaps to is a Guide only, if the reader needs the more detailed information, pleasing the book of consult the homologous JSP.1.1 GENER ALIZEThe JSP(Java Server Pages) is from the company of Sun Microsystems initiate, the many companies the participate to the build up the together of the a kind the of dynamic the state web the page technique standard, the it have the it in the construction the of the dynamic state the web page the strong but the do not the especially of the function. JSP and the technique of ASP of the Microsoft is very alike. Both all provide the ability that mixes with a certain procedure code and is explain by the language engine to carry out the procedure code in the code of HTML. Underneath we are simple of carry on the introduction to it.JSP pages are translated into servlets. So, fundamentally, any task JSP pages can perform could also be accomplished by servlets. However, this underlying equivalence does not mean that servlets and JSP pages are equally appropriate in all scenarios. The issue is not the power of the technology, it is the convenience, productivity, and maintainability of one or the other. After all, anything you can do on a particular computer platform in the Java programming language you could also do in assembly language. But it still matters which you choose.JSP provides the following benefits over servlets alone: It is easier to write and maintain the HTML. Your static code is ordinary HTML: no extra backslashes, no double quotes, and no lurking Java syntax. You can use standard Web-site development tools. Even HTML tools that know nothing about JSP can be used because they simply ignore the JSP tags. You can divide up your development team. The Java programmers can work on the dynamic code. The Web developers can concentrate on the presentation layer. On large projects, this division is very important. Depending on the size of your team and the complexity of your project, you can enforce a weaker or stronger separation between the static HTML and the dynamic content.Now, this discussion is not to say that you should stop using servlets and use only JSP instead. By no means. Almost all projects will use both. For some requests in your project, you will use servlets. For others, you will use JSP. For still others, you will combine them with the MVC architecture . You want the apGFDGpropriate tool for the job, and servlets, by themselves, do not complete your toolkit.1.2 SOURCE OF JSPThe technique of JSP of the company of Sun, making the page of Web develop the personnel can use the HTML perhaps marking of XML to design to turn the end page with format. Use the perhaps small script future life of marking of JSP becomes the dynamic state on the page contents.( the contents changes according to the claim of)The Java Servlet is a technical foundation of JSP, and the large Web applies the development of the procedure to need the Java Servlet to match with with the JSP and then can complete, this name of Servlet comes from the Applet, the local translation method of now is a lot of, this book in order not to misconstruction, decide the direct adoption Servlet but dont do any translation, if reader would like to, can call it as small service procedure. The Servlet is similar to traditional CGI, ISAPI, NSAPI etc. Web procedure development the function of the tool in fact, at use the Java Servlet hereafter, the customer need not use again the lowly method of CGI of efficiency, also need not use only the ability come to born page of Web of dynamic state in the method of API that a certain fixed Web server terrace circulate. Many servers of Web all support the Servlet, even not support the Servlet server of Web directly and can also pass the additional applied server and the mold pieces to support the Servlet. Receive benefit in the characteristic of the Java cross-platform, the Servlet is also a terrace irrelevant, actually, as long as match the norm of Java Servlet, the Servlet is complete to have nothing to do with terrace and is to have nothing to do with server of Web. Because the Java Servlet is internal to provide the service by the line distance, need not start a progress to the each claimses, and make use of the multi-threading mechanism can at the same time for several claim service, therefore the efficiency of Java Servlet is very high.But the Java Servlet also is not to has no weakness, similar to traditional CGI, ISAPI, the NSAPI method, the Java Servlet is to make use of to output the HTML language sentence to carry out the dynamic state web page of, if develop the whole website with the Java Servlet, the integration process of the dynamic state part and the static state page is an evil-foreboding dream simply. For solving this kind of weakness of the Java Servlet, the SUN released the JSP.A number of years ago, Marty was invited to attend a small 20-person industry roundtable discussion on software technology. Sitting in the seat next to Marty was James Gosling, inventor of the Java programming language. Sitting several seats away was a high-level manager from a very large software company in Redmond, Washington. During the discussion, the moderator brought up the subject of Jini, which at that time was a new Java technology. The moderator asked the manager what he thought of it, and the manager responded that it was too early to tell, but that it seemed to be an excellent idea. He went on to say that they would keep an eye on it, and if it seemed to be catching on, they would follow his companys usual embrace and extend strategy. At this point, Gosling lightheartedly interjected You mean disgrace and distend.Now, the grievance that Gosling was airing was that he felt that this company would take technology from other companies and suborn it for their own purposes. But guess what? The shoe is on the other foot here. The Java community did not invent the idea of designing pages as a mixture of static HTML and dynamic code marked with special tags. For example, Cold Fusion did it years earlier. Even ASP (a product from the very software company of the aforementioned manager) popularized this approach before JSP came along and decided to jump on the bandwagon. In fact, JSP not only adopted the general idea, it even used many of the same special tags as ASP did.The JSP is an establishment at the model of Java servlets on of the expression layer technique, it makes the plait write the HTML to become more simple.Be like the SSJS, it also allows you carry the static state HTML contents and servers the script mix to put together the born dynamic state exportation. JSP the script language that the Java is the tacit approval, however, be like the ASP and can use other languages( such as JavaScript and VBScript), the norm of JSP also allows to use other languages.1.3 JSP CHARACTERISTICSIs a service according to the script language in some one language of the statures system this kind of discuss, the JSP should be see make is a kind of script language. However, be a kind of script language, the JSP seemed to be too strong again, almost can use all Javas in the JSP.Be a kind of according to text originally of, take manifestation as the central development technique, the JSP provided all advantages of the Java Servlet, and, when combine with a JavaBeans together, providing a kind of make contents and manifestation that simple way that logic separate. Separate the contents and advantage of logical manifestations is, the personnel who renews the page external appearance need not know the code of Java, and renew the JavaBeans personnel also need not be design the web page of expert in hand, can use to take the page of JavaBeans JSP to define the template of Web, to build up a from have the alike external appearance of the website that page constitute. JavaBeans completes the data to provide, having no code of Java in the template thus, this means that these templates can be written the personnel by a HTML plait to support. Certainly, can also make use of the Java Servlet to control the logic of the website, adjust through the Java Servlet to use the way of the document of JSP to separate website of logic and contents.Generally speaking, in actual engine of JSP, the page of JSP is the edit and translate type while carry out, not explain the type of. Explain the dynamic state web page development tool of the type, such as ASP, PHP3 etc., because speed etc. reason, have already cant satisfy current the large electronic commerce needs appliedly, traditional development techniques are all at to edit and translate the executive way change, such as the ASP ASP+;PHP3 PHP4.In the JSP norm book, did not request the procedure in the JSP code part( be called the Scriptlet) and must write with the Java definitely. Actually, have some engines of JSP are adoptive other script languages such as the EMAC- Script, etc., but actually this a few script languages also are to set up on the Java, edit and translate for the Servlet to carry out of. Write according to the norm of JSP, have no Scriptlet of relation with Java also is can of, however, mainly lie in the ability and JavaBeans, the Enterprise JavaBeanses because of the JSP strong function to work together, so even is the Scriptlet part not to use the Java, edit and translate of performance code also should is related with Java.1.4 JSP MECHANISMTo comprehend the JSP how unite the technical advantage that above various speak of, come to carry out various result easily, the customer must understand the differentiation of the module develops for the web page of the center and the page develops for the web page of the center first.The SSJS and ASP are all in several year ago to release, the network of that time is still very young, no one knows to still have in addition to making all business, datas and the expression logic enter the original web page entirely heap what better solve the method. This kind of model that take page as the center studies and gets the very fast development easily. However, along with change of time, the people know that this kind of method is unwell in set up large, the Web that can upgrade applies the procedure. The expression logic write in the script environment was lock in the page, only passing to shear to slice and glue to stick then can drive heavy use. Express the logic to usually mix together with business and the data logics, when this makes be the procedure member to try to change an external appearance that applies the procedure but do not want to break with its llied business logic, apply the procedure of maintenance be like to walk the similar difficulty on the eggshell. In fact in the business enterprise, heavy use the application of the module already through very mature, no one would like to rewrite those logics for their applied procedure.HTML and sketch the designer handed over to the implement work of their design the Web plait the one who write, make they have to double work- Usually is the handicraft plait to write, because have no fit tool and can carry the script and the HTML contents knot to the server to put together. Chien but speech, apply the complexity of the procedure along with the Web to promote continuously, the development method that take page as the center limits sex to become to get up obviously.At the same time, the people always at look for the better method of build up the Web application procedure, the module spreads in customers machine/ server the realm. JavaBeans and ActiveX were published the company to expand to apply the procedure developer for Java and Windows to use to come to develop the complicated procedure quickly by the fast application procedure development( RAD) tool. These techniques make the expert in the some realm be able to write the module for the perpendicular application plait in the skill area, but the developer can go fetch the usage directly but need not control the expertise of this realm.Be a kind of take module as the central development terrace, the JSP appeared. It with the JavaBeans and Enterprise JavaBeans( EJB) module includes the model of the business and the data logic for foundation, provide a great deal of label and a script terraces to use to come to show in the HTML page from the contents of JavaBeans creation or send a present in return. Because of the property that regards the module as the center of the JSP, it can drive Java and not the developer of Java uses equally. Not the developer of Java can pass the JSP label( Tags) to use the JavaBeans that the deluxe developer of Java establish. The developer of Java not only can establish and use the JavaBeans, but also can use the language of Java to come to control more accurately in the JSP page according to the expression logic of the first floor JavaBeans.See now how JSP is handle claim of HTTP. In basic claim model, a claim directly was send to JSP page in. The code of JSP controls to carry on hour of the logic processing and module of JavaBeanses hand over with each other, and the manifestation result in dynamic state bornly, mixing with the HTML page of the static state HTML code. The Beans can be JavaBeans or module of EJBs. Moreover, the more complicated claim model can see make from is request other JSP pages of the page call sign or Java Servlets.The engine of JSP wants to chase the code of Java that the label of JSP, code of Java in the JSP page even all converts into the big piece together with the static state HTML contents actually. These codes piece was organized the Java Servlet that customer can not see to go to by the engine of JSP, then the Servlet edits and translate them automatically byte code of Java.Thus, the visitant that is the website requests a JSP page, under the condition of it is not knowing, an already born, the Servlet actual full general that prepared to edit and translate completes all works, very concealment but again and efficiently. The Servlet is to edit and translate of, so the code of JSP in the web page does not need when the every time requests that page is explain. The engine of JSP need to be edit and translate after Servlet the code end is modify only once, then this Servlet that editted and translate can be carry out. The in view of the fact JSP engine auto is born to edit and translate the Servlet also, need not procedure member begins to edit and translate the code, so the JSP can bring vivid sex that function and fast developments need that you are efficiently.Compared with the traditional CGI, the JSP has the equal advantage. First, on the speed, the traditional procedure of CGI needs to use the standard importation of the system to output the equipments to carry out the dynamic state web page born, but the JSP is direct is mutually the connection with server. And say for the CGI, each interview needs to add to add a progress to handle, the progress build up and destroy by burning constantly and will be a not small burden for calculator of be the server of Web. The next in order, the JSP is specialized to develop but design for the Web of, its purpose is for building up according to the Web applied procedure, included the norm and the tool of a the whole set. Use the technique of JSP can combine a lot of JSP pages to become a Web application procedure very expediently.JSP的技术发展历史作者: Kathy Sierra and Bert Bates来源: Servlet&JSPJava Server Pages(JSP)是一种基于web的脚本编程技术,类似于网景公司的服务器端Java脚本语言 server-side JavaScript(SSJS)和微软的Active Server Pages(ASP)。与SSJS和ASP相比,JSP具有更好的可扩展性,并且它不专属于任何一家厂商或某一特定的Web服务器。尽管JSP规范是由Sun公司制定的,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。