1、成都学院学士学位论文(设计)基于 SSH 的人事档案管理系统的设计与实现摘要:随着计算机技术的飞速发展,计算机在企业管理中应用的普及以及现代企业、单位规模越来越大,对于那些管理者来说,信息的计算、统计与使用变得越来越困难。与传统的人事档案管理相比,它可以完全不用考虑时间、空间环境的因素的限制,储存任意时间、任意多信息量(硬盘容量足够的情况下) 。它具有异步性、实时性、生动性、集成性和大容量等优势。它也可以配合传统的手工人事档案管理的方式,进行双向备份。既能保证人事档案的持久性,又能保证人事档案的安全。因此,开发这样一套现代化的信息智能化管理系统是非常有必要的。该系统以人事档案管理系统的开发过程
2、为主线,分析了系统设计的流程及其各阶段完成的任务,探讨了该系统中所涉及的关键技术,总结出系统主要特性和存在的不足,并提出了今后工作的发展方向和最终目标。人事档案管理系统是以提高人事档案管理效率,适应现代企业制度要求,推动企业科学化、规范化管理为目的而设计开发的软件系统。设计方面采用 B/S 模式,同时使用 JSP 技术进行基本页面的设计与功能实现,后台数据库选用 MySQL 数据库。关键词:人事档案管理;信息化;B/S;SSH成都学院学士学位论文(设计)Design and Implementation of Personnel Records Management System on SSH
3、 FrameworkAbstract:As the rapid development of computer technology, computer are more popular in the company. And the mode of enterprises and companies are becoming bigger. To those managers, its more difficult for them to sort data. Comparing with traditional Personnel Records Management System, it
4、 can ignore the limits of time and space to save information regardless of their amount (considering the hard disk). It has the advantages of asynchronous, real-time, vivid, integration, large capacity. On the other hand, it can work with traditional Personnel Records Management System to make doubl
5、e backup. In this way, not only can it make sure the persistence of personnel files, but keep personnel files safe. Therefore, it is necessary to develop a suit of modern information automated management system like this.This system is based on the develop process of Personnel Records Management Sys
6、tem, analyzing process of system design and the completion of tasks in various stages, investigating the key skills involved in this system, concluding the main characteristics and shortages, and then proposing the direction of future. Personnel Records Management System is to improve the efficiency
7、 of personnel records management, adapt to the modern enterprise system and promote enterprise scientific and standardized management for the purpose of design and development of software systems. In terms of design, the system uses B / S mode, with JSP technology basic page design and function to a
8、chieve back-end database selected MySQL database. Key words:Personnel Records Management System;Informatization;B/S;SSH成都学院学士学位论文(设计)I目 录绪 论 .11 开发工具及技术 .31.1 Eclipse 简介 .31.2 Tomcat 简介 .31.3 JSP 简介 .41.4 SSH 简介 .51.4.1 表示层框架 Struts2 介绍 .61.4.2 数据持久层框架 Hibernate 介绍 .71.4.3 业务逻辑层框架 Spring 介绍 .91.5 系统
9、开发环境 .102 人事档案管理系统的设计 .112.1 可行性分析 .112.2 总体设计原则 .122.3 系统分析 .132.3.1 业务流程分析 .132.3.2 数据流图 .142.4 系统设计 .152.4.1 系统功能设计 .152.4.2 数据库设计 .163 人事档案管理系统的实现 .213.1 管理员功能模块 .213.1.1 员工信息管理 .223.1.2 档案信息管理 .243.2 员工功能模块 .243.2.1 员工信息管理 .254 人事档案管理系统的测试 .264.1 软件测试 .264.1.1 软件测试 .264.1.2 测试环境与测试条件 .274.2 人事档
10、案管理系统的测试 .27成都学院学士学位论文(设计)II4.3 测试结果分析 .29结 论 .30参考文献 .31致 谢 .32成都学院学士学位论文(设计)1绪 论课题背景在 21 世纪这个信息高度发达,并且高速流通的时代,计算机的普及以及计算机网络技术的应用,使人事档案管理的信息化得以发展。人事档案管理是每个企业、单位管理方面的重要内容。随着时代的进步,如何管理好员工的档案信息,成为企业管理中的一个大问题。在这种情况下,一个可以规范化、自动化的人事档案管理系统就显得非常必要。最初的人事档案管理,都是靠人力来完成的。随着企业、单位的规模扩大,如果依然维持着人力进行人事档案管理,必然会造成工作效
11、率低、工作错误率增高的问题。人事档案管理系统是把分散的企业、单位的员工信息进行统一、集中、规范的收集管理,建立分类编号管理,电脑存储查询以及安全管理。人事档案管理系统能满足人事档案查询、查阅、修改、交流和重复使用。人事档案管理系统是实现对档案的信息化管理,使人事档案管理更加条理化、规范化、科学化,能有效提高人事档案查询利用率。课题意义随着信息技术的飞跃发展, “信息化”已成为一个国家经济和社会发展的关键环节,信息化水平的高低已经成为衡量一个国家现代化水平和综合国力的重要指标。现代企业、单位规模越来越大,对于那些管理者来说,信息的计算、统计与使用变得越来越困难。与传统的人事档案管理相比,它可以完
12、全不用考虑时间、空间环境的因素的限制,储存任意时间、任意多信息量(硬盘容量足够的情况下) 。它具有异步性、实时性、生动性、集成性和大容量等优势。它也可以配合传统的手工人事档案管理的方式,进行双向备份。既能保证人事档案的持久性,又能保证人事档案的安全。因此,开发这样一套现代化的信息智能化管理系统是非常有必要的。这样可以:(1) 大幅提高工作效率;(2) 减少数据统计过程中的错漏;(3) 是各部门的信息管理规范化、高效化;(4) 提高查询利用率。国内外现状成都学院学士学位论文(设计)2(1) 国内研究现状随着中国步入信息化社会,中国正在向国际化标准靠拢,无论是国内企业、单位,还是跨国企业,在人事档
13、案管理方面,都有较大转型,一个健全的人事档案管理系统无疑是最佳方案之一。在国内,大型企业都实现了信息化管理,通过一套符合自身需要的系统对其所属员工等资源进行自动化、动态化管理。但是一下中小型企业单位,仍然实行着传统的手工管理,手工管理出现的问题诸如效率低、错误率高等,都直接影响企业的收益。 (2) 国外研究现状在西方发达国家,自动化的人事档案管理系统自从上世纪 90 年代就已经实现了信息化(一些私营企业除外) 。在其自动化、信息化程度上,我国的整体水平仍有差距,主要表现在普及程度不高和系统不够完善的问题上。论文的组织结构本文采用自顶向下的结构化的系统分析方法,阐述了一个功能全面的人事档案管理系
14、统的开发过程、操作流程及其一些核心的技术。第一章,进行了相关技术的介绍,介绍了开发平台以及发布和数据库工具和 SSH的核心体系和体系架构;第二章,是系统规划阶段,通过实际的业务流程调研,分析了系统的组织结构,具体完成了人事档案管理系统的需求分析、可行性分析、现行业务流程分析,并通过对现行业务流程的优化,得出了系统的业务流程;之后是系统分析,具体完成了数据流分析和数据字典;第三章,人事档案管理系统的实现。详细叙述了功能模块的划分和各个功能模块的实现。对每一个模块的功能进行了详细的分析并且给出了主要功能实现的截图。第四章,软件测试。浅谈了软件测试的重要性和测试方案,对软件测试的结果进行了浅析。成都
15、学院学士学位论文(设计)31 开发工具及技术大型企业级 Web 应用系统的开发通常要求有一个良好的软件架构、便于协作开发和扩展升级,而传统的开发模式不能很好地满足这些要求。本文针对当前 Web 应用程序开发面临的问题,结合目前比较流行的开源框架 SSH(Struts、Spring、Hibernate),提出一种开发 J2EE 企业级 Web 应用的轻量级解决方案,并通过案例具体说明如何将这一方案应用到实际项目中。框架一般具有即插即用的可重用性、成熟的稳定性以及良好的团队协作性。J2EE复杂的多层结构决定了大型的 J2EE 项目需要运用框架和设计模式来控制软件质量。目前,市场上出现了一些商业的、
16、开源的基于 J2EE 的应用框架,其中主流的框架技术有:基于 MVC 模式的 Struts 框架和基于 IoC 模式的 Spring 框架以及对象/关系映射框架Hibernate 等。1.1 Eclipse 简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。它不仅是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 还附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK ) 。Eclipse 最新发行版本以 Kepler 为代号,更智能、更快捷、更简单的 J2EE 工具的新版本的诞生。免费,对于个人和企业开发人
17、员来说都是非常有吸引力的。这是 J2EE IDE 市场一个重量级的选手。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,具有支持诸如 C/C+、COBOL、PHP 等编程语言的插件。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。1.2 Tomcat 简介Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。可以这样认为,当在一台机器上配置好 Apahce 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部
18、分是 Apache 服务器的扩展,但它是独立运行的,所以当运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。成都学院学士学位论文(设计)4Tomcat 很 受 广 大 程 序 员 的 喜 欢 , 因 为 它 运 行 时 占 用 的 系 统 资 源 小 , 扩 展 性 好 ,支 持 负 载 平 衡 与 邮 件 服 务 等 开 发 应 用 系 统 常 用 的 功 能 ; 而 且 它 还 在 不 断 的 改 进和 完 善
19、 中 , 任 何 一 个 感 兴 趣 的 程 序 员 都 可 以 更 改 它 或 在 其 中 加 入 新 的 功 能 。1.3 JSP 简介JavaServer PagesTM (JSP)技术为创建显示动态生成内容的 Web 页面提供了一个简捷而快速的方法。 4JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。JSP 技术很容
20、易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。 5Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP 与 Action 一样,是在服务器端执行的,通常返回给客户端就是一个 HTML 文本,因此客户端只要有浏览器能浏览。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返
21、回给客户端的浏览器。Action 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Action 和JSP 配合才能完成。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP 技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比 ASP/.net 的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 Action/JSP,到由多台服务器进行集群
22、和负载均衡,到多台 Application 进行事务处理,消息处理,一台服务器到无数台服务器,Java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。Java 已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)支持服务器端组件。web 应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供 web 页面调用,以增强系统性能。JSP 可以使用成熟的 JAVA BEANS 组件来实现复杂商务功能。成都学院学士学位论文(设计)5内部对象说明:request 客户端请求,此请求会包含来自 GET/PO
23、ST 请求的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application action 正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;page JSP 网页本身; exception 针对错误网页,未捕捉的例外。1.4 SSH 简介SSH 在 项 目 中 表 示 了 3 种 框 架 ,即 Struts + Spring + Hibernate。Struts2 的 体 系 与 Struts1 体 系 的 差 别 非 常 大 , 因 为 Struts2 使 用 了 We
24、bWork 的 设计 核 心 , 而 不 是 Struts1 的 设 计 核 心 。 Struts2 中 大 量 使 用 拦 截 器 来 处 理 用 户 的 请 求 ,从 而 允 许 用 户 的 业 务 逻 辑 控 制 器 与 Servlet API 分 离 。Struts2 框 架 的 大 概 处 理 过 程 如 下 :(1) 加 载 类 ( FilterDispatcher) 。(2) 读 取 配 置 ( Struts 配 置 文 件 中 的 Action) 。(3) 派 发 请 求 ( 客 户 端 发 送 请 求 ) 。(4) 调 用 Action( FilterDispatcher 从
25、 struts 配 置 文 件 中 读 取 与 之 相 对 应 的 Action ) 。(5) 启 用 拦 截 器 ( WebWork 拦 截 器 链 自 动 对 请 求 应 用 通 用 功 能 , 如 验 证 ) 。(6) 处 理 业 务 ( 回 调 Action 的 execute()方 法 ) 。(7) 返 回 响 应 ( 通 过 execute 方 法 将 信 息 返 回 到 FilterDispatcher) 。(8) 查 找 响 应 ( FilterDispatcher 根 据 配 置 查 找 响 应 的 是 什 么 信 息 如 :SUCCESS、 ERROR, 将 跳 转 到 哪
26、 个 JSP 页 面 ) 。(9) 响 应 用 户 ( JSP-客 户 浏 览 器 端 显 示 ) 。(10) Struts2 标 签 库 ( 相 比 struts1 的 标 签 库 , struts2 是 大 大 加 强 了 , 对 数 据 的 操作 功 能 很 强 大 ) 。Spring 的 简 介 :(1) 方 便 解 耦 , 简 化 开 发 : 通 过 Spring 提 供 的 IoC 容 器 , 我 们 可 以 将 对 象 之 间的 依 赖 关 系 交 由 Spring 进 行 控 制 , 避 免 硬 编 码 所 造 成 的 过 度 程 序 耦 合 。 有 了Spring, 用 户
27、不 必 再 为 单 实 例 模 式 类 、 属 性 文 件 解 析 等 这 些 很 底 层 的 需 求 编 写 代 码 ,可 以 更 专 注 于 上 层 的 应 用 。(2) AOP 编 程 的 支 持 : 通 过 Spring 提 供 的 AOP 功 能 , 方 便 进 行 面 向 切 面 的 编 程 ,成都学院学士学位论文(设计)6许 多 不 容 易 用 传 统 OOP 实 现 的 功 能 可 以 通 过 AOP 轻 松 应 付 。(3) 声 明 式 事 务 的 支 持 : 在 Spring 中 , 我 们 可 以 从 单 调 烦 闷 的 事 务 管 理 代 码 中解 脱 出 来 , 通
28、过 声 明 式 方 式 灵 活 地 进 行 事 务 的 管 理 , 提 高 开 发 效 率 和 质 量 。(4) 方 便 程 序 的 测 试 : 可 以 用 非 容 器 依 赖 的 编 程 方 式 进 行 几 乎 所 有 的 测 试 工 作 ,在 Spring 里 , 测 试 不 再 是 昂 贵 的 操 作 , 而 是 随 手 可 做 的 事 情 。(5) 方 便 集 成 各 种 优 秀 框 架 : Spring 不 排 斥 各 种 优 秀 的 开 源 框 架 , 相 反 , Spring可 以 降 低 各 种 框 架 的 使 用 难 度 , Spring 提 供 了 对 各 种 优 秀 框
29、架 ( 如Struts、 Hibernate、 Hessian、 Quartz) 等 的 直 接 支 持 。(6) 降 低 Java EE API 的 使 用 难 度 : Spring 对 很 多 难 用 的 Java EE API( 如JDBC, JavaMail, 远 程 调 用 等 ) 提 供 了 一 个 薄 薄 的 封 装 层 , 通 过 Spring 的 简 易 封 装 ,这 些 Java EE API 的 使 用 难 度 大 为 降 低 。Hibernate 是 一 个 开 放 源 代 码 的 对 象 关 系 映 射 框 架 , 它 对 JDBC 进 行 了 非 常 轻 量级 的
30、对 象 封 装 , 使 得 Java 程 序 员 可 以 随 心 所 欲 的 使 用 对 象 编 程 思 维 来 操 纵 数 据 库 。 Hibernate 可 以 应 用 在 任 何 使 用 JDBC 的 场 合 , 既 可 以 在 Java 的 客 户 端 程 序 使 用 , 也可 以 在 Servlet/JSP 的 Web 应 用 中 使 用 , 最 具 革 命 意 义 的 是 , Hibernate 可 以 在 应 用EJB 的 J2EE 架 构 中 取 代 CMP, 完 成 数 据 持 久 化 的 重 任 。1.4.1 表示层框架 Struts2 介绍Struts2 的 体 系 与
31、Struts1 体 系 的 差 别 非 常 大 , 因 为 Struts2 使 用 了 WebWork 的 设计 核 心 , 而 不 是 Struts1 的 设 计 核 心 。 Struts2 中 大 量 使 用 拦 截 器 来 处 理 用 户 的 请 求 ,从 而 允 许 用 户 的 业 务 逻 辑 控 制 器 与 Servlet API 分 离 。Struts2 框 架 的 详 细 处 理 内 容 如 下 :(1) 浏 览 器 发 送 一 个 请 求 。(2) 核 心 控 制 器 FilterDispatcher 根 据 请 求 决 定 调 用 合 适 的 Action。(3) WebWo
32、rk 的 拦 截 器 链 自 动 对 请 求 应 用 通 用 功 能 , 如 验 证 等 。(4) 回 调 Action 的 execute 方 法 , 该 execute 方 法 根 据 请 求 的 参 数 来 执 行 一 定 的操 作 。(5) Action 的 execute 方 法 处 理 结 果 信 息 将 被 输 出 到 浏 览 器 中 , 支 持 多 种 形 式 的视 图 。(6) Struts2 Action 类 可 以 实 现 一 个 Action 接 口 , 也 可 实 现 其 他 接 口 , 使 可 选 和 定制 的 服 务 成 为 可 能 。 Struts2 提 供 一 个 ActionSupport 基 类 去 实 现 常 用 的 接 口 。