1、兰州交通大学毕业设计论文0摘要人力资源管理系统是现代企业的核心业务系统之一,人力资源管理的状况和水平对企业的运作和效率至关重要。现代企业人力资源管理的内容非常丰富,可能包含档案管理、合同管理、薪酬管理、招聘管理、绩效管理、系统管理等很多部分。在本次毕业设计中,我们模拟实现了一家现代企业的人力资源管理系统中的部分子系统。由于现代企业都拥有功能完善的企业内部网,所以该系统的体系结构采用了以 SSH 框架为基础的 Java 企业级开发模式。SSH 框架作为目前最流行和最成熟的 Java 企业级开发技术,在软件系统的效率、可用性、可维护性等方面提供了优秀的支持,并集成了当前 Java Web 开发方面
2、的最好技术。本人在该系统中主要承担系统管理子系统的开发。该子系统包括用户注册、登录、用户管理、权限管理、用户组管理等模块。本文首先简要介绍人力资源管理系统的一些应用背景和应用状况;其次介绍了该项目开发所采用的平台、开发工具以及开发环境;本文重点描述了该系统开发的流程,从项目策划、需求分析、系统设计、编码与实现等阶段详细介绍了系统的开发过程、实现方案和策略等。关键词:人力资源管理;系统管理;SSH 框架;Java Web 开发;面向对象建模兰州交通大学毕业设计论文0AbstractHuman resource management system is one of the core busine
3、ss system of modern enterprises, the status and level of human resources management is very important for the running efficiency of a enterprise. The content of a modern enterprise human resources management is very rich, it may contain archives management, contract management, compensation manageme
4、nt, recruitment management, performance management, system management and so on many parts. In this graduation design, we simulate the implementation of a modern enterprise human resources management system of some subsystems. Due to the function of the modern enterprise has perfect enterprise Intra
5、net, so the architecture of the system adopted based on the SSH framework of Java enterprise development mode. SSH framework as the most popular and the most sophisticated Java enterprise development technology, the software system of efficiency, availability, maintainability, etc, provides a good s
6、upport, and the best technology integrated with the current Java Web development.I mainly undertake system management subsystem in the system development. The subsystem includes user register, login, user management, rights management, user group management module, etc. This paper first briefly intr
7、oduces some application background of the human resources management system and application conditions; Secondly introduces the adopted by the project development platform, development tools and development environments; This paper mainly describes the system development process, from project planni
8、ng, requirements analysis, system design, coding and implementation phase system was introduced in detail the development process, implementation plan and strategy, etc.Key words:Human resource management;System management;SSH framework;Java Web development;Object-oriented modeling兰州交通大学毕业设计论文1目录1.
9、绪论 .11.1 研究背景 .11.2 设计目标 .11.3 关于本系统的基本介绍 .21.4 论文结构 .22. 系统开发环境与技术 .32.1 系统开发环境 .32.1.1 MyEclipse 介绍 .32.1.2 Tomcat 服务器介绍 .42.2 系统开发技术 .42.2.1 JSP 与 Servlet 技术 .42.2.2 JavaScript 简介 .72.2.3 MVC 框架 .82.2.4 SSH 框架 .93. 系统需求分析 .143.1 需求描述 .143.1.1 系统界面设计及操作风格的需求 .143.1.2 系统功能描述 .143.1. 3 系统运行环境 .163.2
10、 系统的一般性规定 .173.2.1 对性能的规定 .173.2.2 对时间特性的规定 .173.2.3 输入输出要求 .173.2.4 数据管理能力要求 .173.2.5 网络安全要求 .184. 系统的设计与实现 .194.1 系统层次划分 .194.2 数据库的设计与实现 .194.2.1 数据库的数据模型 .254.3 系统的设计与实现 .284.3.1 系统项目的文件夹结构 .284.3.2 登录模块 .314.3.3 注册模块 .324.3.4 系统管理子系统 .344.3.5 档案管理子系统 .404.3.6 合同管理子系统 .42总 结 .45致 谢 .46参考文献 .47兰州
11、交通大学毕业设计论文01. 绪论1.1 研究背景随着信息技术飞速发展,人们现在已处在数字化的生存空间之中。互联网构造了无限的信息资源,它的普及已经从根本上改变了人们现实中的生活方式和工作方式,也改变了企业的经营方式、管理方式和服务方式。传统的依赖手工方式的记录的管理方式已经远无法满足企业的需求,传统的方式效率普遍较低,无法对数据进行有效的、规范的管理,查询比较困难,数据准确性、安全性相对较差,那么企业对于新的管理平台的需求是必然的。通过新的管理系统平台,企业能够 大大提高各方面效率,而且方便了企业与员工之间的相互交流,能够方便满足将来的业务需求。当今,网络技术的迅猛发展,使得基于 Web 开发
12、的各类信息系统已经成为一种主流趋势。基于 Web 的系统具有的特点:(1)信息的及时更新和发布;(2) 良好的用户界面和接口;(3) 方便操作和管理;(4) 系统功能的通用性;(5) 灵活性和可扩展性;正是在这样的社会大背景下,我们开始进行“安博人力资源系统”的课题研究,其目的在于通过建设一个网站来实现基于 Web 的信息系统的上述特点,以展现该类管理系统的快速、便捷、准确地发布、管理信息,提供信息管理的强大功能和作用。人力资源管理平台可以帮助企业实现对人力资源信息数据更好的管理,大大提高工作人员的效率,帮助企业高层及时了解企业员工现状。1.2 设计目标开发设计本系统的任务是对人力资源信息数据
13、的管理。通过该系统能够让用户对档案信息、合同信息进行添加、删除、修改、查询;并能够让管理员对用户进行管理。开发系统的目标是帮助人力资源公司进行员工的档案、合同信息管理,需要满足的要求具体包括如下:(1) 网页风格符合人力资源企业的特点,简单实用;兰州交通大学毕业设计(论文)1(2) 能够实现对于人力资源信息数据的管理;(3) 网站运行安全、稳定;1.3 关于本系统的基本介绍(1)系统名称:安博人力资源管理平台(2) 用户:甘肃安博人力资源服务有限公司(3) 运行环境:Windows XP(4)开发平台:SSH 框架、SQL Server 2005、Tomcat6.0(5) 开发语言:Java1
14、.4 论文结构本文的章节安排如下:第一章:绪论,说明本文的研究背景、设计目标和系统的基本信息介绍,为接下来系统后台的分析与设计做准备。第二章:系统开发环境与技术,简单介绍系统实现所依赖环境和开发所用的技术。如 MyEclipse、Tomcat 服务器、SSH 框架、JSP 与 Servle 原理、JavaScript。第三章:系统需求分析,从系统功能需求和一般性规定对系统需求进行了详细阐述。第四章:系统的设计与实现,给出系统后台的具体设计与实现,包括系统各个模块功能以及数据库的设计与实现。第五章:总结,对整个论文总结,并针对目前工作中的不足对未来工作的展望。兰州交通大学毕业设计(论文)22.
15、系统开发环境与技术2.1 系统开发环境安博人力资源管理平台以 MyEclipse8.5 为开发平台,且由 Tomcat6.0 充当 Web 服务器来开发实现。2.1.1 MyEclipse 介绍MyEclipse(My Eclipse Enterprise Workbench)是一款商业软件,是一个非常优秀的用于开发 Java、J2EE 的 Eclipse 插件集合,是对 EclipseIDE 的扩展,是基于Java 和 Eclipse 的可扩展开发平台,它的功能非常强大、支持也十分广泛、特别是对各种开源产品的支持很不错。就其工具本身而言,它是功能丰富的 J2EE 集成开发环境,包括了完备的编
16、码、调试、测试和发布功能,利用它可以在数据库和 J2EE 的开发、发布以及应用程序服务器的整合方面,极大地提高工作效率。可以说,MyEclipse 几乎囊括了目前所有主流开源产品的专属 eclipse 开发工具。随着 MyEclipse 2013 支持 JQuery,你可以通过插件提升性能,并可添加动画效果到设计中。简单而言,MyEclipse 是 eclipse 的插件,也是一款功能非常强大的 J2EE集成开发环境,支持代码编写、配置、测试及除错。程序的功能包括:HTML 智能编辑器、Java Servlet、Struts、JSF、CSS、JavaScript、SQL、Hibernate、S
17、pring、EJB3 等,带有自动完成和语法高亮显示功能的 J2EE 编辑器。尽管 eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言。例如:支持诸如 C/C+、COBOL 和 Eiffel 及 Perl 等编程语言的插件。在结构上,MyEclipse 的特征包括:(1) J2EE 模型(2) WEB 开发工具(3)数据库服务(4) J2EE 项目部署服务(5) 应用程序服务器的连接(6)EJB 开发工具(7) MyEclipse 整合帮助由于 MyEclipse 结构上的这种模块化,使我们在不影响其他模块的情况下,对任一模块可以进行单独的扩展和升级。兰州交通大学
18、毕业设计(论文)32.1.2 Tomcat 服务器介绍Tomcat 最初是由 Sun 公司的软件架构师詹姆斯邓肯戴维森开发的,后来在他的帮助下变为开源代码,并由 Sun 贡献给 Apache 基金会。Tomcat 服务器是免费开源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户相对较少时被普遍使用,是开发和调试 JSP 程序的首选。实际上,Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,因此,当你运行 Tomcat 时,它实际上是作为一个与Apache 独立的进程单独运行的。Tomcat 是一个 Servlet 和 JSP 容器,具有处理 HTM
19、L页面的功能,当配置正确时,Apache 为 HTML 页面服务,而 Tomcat 实际上运行 JSP 页面和 Servlet。由于 Tomcat 运行时占用的系统资源少,扩展性好,支持负载平衡与邮件服务等开发应用程序的基本功能,它很受广大程序员的喜欢;而且,它还在不断地改进和完善中,任何喜欢它的程序员都可更改它或加入新功能。由于 Java 的跨平台特性,基于Java 的 Tomcat 也具有跨平台性。与传统的桌面应用程序相比,Tomcat 中的应用程序是一个 WAR 文件。WAR 是 Sun 提出的一种 Web 应用程序格式,与 JAR 类似,是文件的一个压缩包。这个包中的文件按一定的目录结
20、构来组织:其根目录下包含有 html 和 Jsp文件或目录,另外,还有一个 WEB-INF 目录,这个目录很重要。通常,在 WEB-INF 目录下有一个 web.xml 文件和一个 classes 目录,web.xml 是应用的配置文件,而classes 目录下则包含编译好的 Servlet 类和 Jsp 或 Servlet 所依赖的其他类(如JavaBean) 。通常,这些所依赖的类可以打包成 JAR 文件,然后放到 WEB-INF 下的 lib目录下。因为 Tomcat 的技术先进、性能稳定,且免费,所以深受广大程序开发者的喜爱,并得到了部分软件开发商的认可,已经成为目前比较流行的 Web
21、 应用程序服务器。2.2 系统开发技术安博人力资源管理平台的开发技术是基于 J2EE 架构的 SSH 框架技术。开发平台是MyEclipse,Tomcat6.0作为服务器,JDK1.7.0_03作为工具包。2.2.1 JSP 与 Servlet 技术JSP 全称 Java Server Pages,是由 SunMicrosystems 公司倡导,许多公司一起建立的一种动态技术标准。其根本是一个简化的 Servlet 设计,它实现了 HTML 语法中的Java 扩张(以形式) 。在传统的网页 HTML 文件中加入 Java 程序片段和 JSP 标签,就能够使 JSP 网页中的 Java 程序片段
22、操纵数据库、重新定向网页,以及发送 E-mail兰州交通大学毕业设计(论文)4等,实现建立动态网站所需的功能。所有程序操作都在服务器端运行,通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。Web 服务器在遇到访问 JSP 页面的请求时,首先执行其中的程序段,然后将执行的结果连同 JSP 文件中的HTML 代码一并返回给客户端。网络上传送给客户端的仅仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持 Java,也可访问 JSP 页面。通常,JSP 页面很少进行数据处理,只是用来实现网页的静态化,只是用来提取数据,不会进行业务处理。JSP 是一种动
23、态页面技术,它的主要目标是将表示逻辑从 Servlet 中分离出来。JSP 将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序开发变得容易、迅速。JSP 页面是由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后,对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端。JSP 具备了 Java 技术的简单易用,完全面向对象,具有平台无关性且安全可靠。Servlet 是服务器上运行的小程序,是一种独立于平台和协议的 Java 应用程序,可以生成动态的 Web 页面。Servlet 位于 Web 服务器的内部,通过
24、 Web 服务器进行加载,该 Web 服务器必须包含支持 Servlet 的 java 虚拟机。Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序开发,需要 Servlet 和 JSP 的配合才能完成。(1)JSP 工作原理JSP 页面通常以扩展名为.jsp 的纯文本文件的形式存在服务器上,以当一个 JSP文件第一次被请求时,JSP 引擎把该 JSP 文件转换成一个 Servlet,而这个引擎也是一个 Servlet。JSP 引擎先把该 Jsp 文件转换成一个 Java 源文件,在转换时若发现语法错误,转换过程将中断,并向服务器和客户端输出出错信息;若转换成功,JSP 引擎将
25、用 javac 把该 Java 源文件编译成相应的 class 文件。然后创建一个该 Servlet 实例,该 Servlet 的 Init()方法被执行,此方法在 Servlet 的生命周期中只被执行一次。然后,Service()方法被调用来处理客户端的请求。对于每一个请求,JSP 引擎创建一个新的线程来处理该请求。若有多个客户端同时请求该 JSP 文件,则该引擎会创建多个线程,每个线程对应一个客户端请求。JSP 页面被编译成 Servlet 之后,其执行代码以独立线程的形式一直存在服务器的内存中,以后该 JSP 页面再提出请求时,就不需要重新编译,至到该页面被修改或 Web 应用程序重新启
26、动。当需要销毁某个文件时,就调用 Destroy()方法来释放相应的资源。图 2.1 所示为 JSP 的工作原理图兰州交通大学毕业设计(论文)5Windows为为为为为为为为为HTTP为为 JSP为为为为为为为为为为JDBC为为HTML为为Web 为 为 为图 2.1 JSP 的工作原理(2)JSP 语法 1)常用 JSP 命令:a. page-页面指令,主要用来指定当前 JSP 页面的属性。b. -允许包含其他动态和静态文件。c. -将一个 JSP 文件传给另一个 JSP 文件。d. -可以通过 Java 插件在浏览器中运行 Java Applet 。e. -是用来访问 JavaBean 的
27、动作标记。当 JSP 页面使用标记时,表示将引用一个 JavaBean 的实例。JavaBean 标记的语法格式如下:。2)JSP 内置对象:为了方便 WEB 页面开发,JSP 提供了一组内置对象,这些内置对象可以不经显式的声明而在程序中直接使用,JSP 的主要内置对象有 Request、Response、Out、Session等。通过这组内置对象,可以实现页面的一些请求输入、输出功能,还可实现数据在页面之间的交互。a. Request 对象:主要功能是接受客户端以 HTTP 方式传送的数据,实现与客户交互的功能。一般最常用的是它的 getParameter(String name)方法来获取
28、传递的参数。b. Response 对象:主要功能是用来对客户的请求做出响应,与 Request 对象对应。兰州交通大学毕业设计(论文)6Response 对象用于将服务器的数据发送到客户端,输出的数据可以是各种数据类型,甚至是文件。一般经常用到的是它的 sendRedirect(URL url)方法来重定向当前用户访问的 url。c. Out 对象:主要功能是用于动态地向客户端输出数据信息,主要作用是在 Web浏览器内输出信息。在数据的输出方面会经常用到它的 rintln(parameter)方法,该方法也是进行纠错处理时一个比较有效的输出方法。d. Session 对象:主要功能用来保存每
29、个用户在会话期间的数据信息,这样就方便了会话处理工作。当用户登陆网站时,系统将为其生成一个 session 对象,用以记录该用户的个人信息,当用户退出网站时,该 session 对象将会自动注销。Session 对象可以绑定若干个人的信息或 java 对象。2.2.2 JavaScript 简介JavaScript 是一种基于对象和事件驱动且具有相对安全性的客户端脚本语言,也是一种广泛应用于客户端 WEB 开发的脚本语言,常用来给 HTML 网页添加动态功能,比如响应用户的各种操作。它最初是由 Netscape 公司的 Brendan Eich 设计,是一种动态、弱类型、基于原型的语言,内置支
30、持类。JavaScript 是 Sun 公司的注册商标。完整的 JavaScript 实现包含三个部分:ECMAScript,字节顺序记号,文档对象模型。JavaScript 是为了适应动态网页制作的需要而诞生的一种编程语言,现今广泛地应用于 Internet 网页制作。JavaScript 是由 Netscape 公司开发的一种脚本语言(scripting language),或者称为描述语言。JavaScript 的出现使得用户和网页之间实现了一种动态的、实时性的、交互性的关系,使得网页包含了更多活跃的元素和更加精彩的内容。在 HTML 基础上,使用 JavaScript 可以开发交互式 Web 网页。JavaScript 由于短小精悍,且是在客户机上执行的,因此大大提高了网页的交互能力和浏览速度。JavaScript 加入网页的两种方法:(1)直接加入 HTML 文档这是最常用的方法,大部分含有 JavaScript 的网页都采用这种方法,如: