本科生毕业论文(设计)册学院信息技术学院专业计算机科学与技术班级2008届专接本1班学生王利江指导教师刘小红河北师范大学本科毕业论文(设计)任务书编号:信息技术学院2008届论文(设计)题目:基于J2EE的人力资源管理系统学院:信息技术专业:计算机科学与技术班级:2008届专接本1班学生姓名:王利江学号:0661832050指导教师:刘小红职称:实验师1、论文(设计)研究目标及主要任务设计一个小型的人力资源管理系统,系统主要包括:人员档案、人事调配、教育培训、系统管理等四个模块。2、论文(设计)的主要内容在设计该系统是,首先应该区别用户的权限。一般情况用户可以拥有人员档案、人事调配、教育培训、系统管理等四个模块中的一个或多个模块的权限,只有这样用户登陆系统后,才可以根据自己的权限进行不同的操作。每个模块可以执行的操作各不相同,各模块可执行的操作描述如下:人员档案:可以添加、删除、修改和查询员工信息;可以添加、删除、修改员工档案信息;可以添加、删除、修改和查询员工信息;可以添加、删除、修改和查询员工履历;可以添加、删除、修改和查询员工合同信息及合同到期天数预测;可以添加、删除、修改和查询员工奖惩信息等。人事调配:对员工的调动信息进行添加、删除、修改和查询操作;新近员工、离退员工及退休员工预测和查询等。教育培训:维护培训类别信息,对类别进行增、删、改操作;对培训记录、培训成绩和培训证书进行维护操作等。系统管理:包括部门级别信息维护,可以对级别信息进行增、删、改、锁定和激活操作;部门信息维护,可以对部门信息进行增、删、改、合并部门和查看部门关系图操作;用户角色维护,可以对用户角色进行增、删、改和设置角色权限操作;用户信息维护,可以对用户信息进行增、删、改、设定用户权限、锁定和激活用户帐号等操作;系统参数设定,可以设定合同到期提醒天数、员工退休年龄和每页显示记录条数等。本系统主要开发环境说明如下:开发语言:java语言应用技术:struts+hibernate开发环境:jdk6.0、Tomcat6.0、Oracle9i数据库3、论文(设计)的基础条件及研究路线深入了解有关java语言、Tomcat6.0运行服务器、Oracle9i数据库以及人力资源管理系统的相关知识。做需求分析,对模块功能进行详细设计。4、主要参考文献[1]CaySHorstmann,GaryCornell.CoreJava2.北京:机械工业出版社。[2]BruceEckel.ThinkinginJava.北京:机械工业出版社。[3]夏昕,曹晓钢,唐勇.深入浅出Hibernate.北京:电子工业出版社。[4]孙卫琴.精通Hibernate:Java对象持久化技术详解.北京:电子工业出版社。[5]BryanBasham.Hibernate技术手册.北京:电子工业出版社。[6]孙卫琴.精通struts--基于MVC的javaweb设计与开发.北京:电子工业出版社。[7]KathySierra.SQL21天自学通.北京:电子工业出版社。5、计划进度阶段起止日期1搜集资料3.18—3.232开题论证3.24—4.53系统设计及调试4.6—4.304论文写作及修改5.1—5.13指导教师:年月日教研室主任:年月日河北师范大学本科生毕业论文(设计)开题报告书信息技术学院计算机科学与技术专业2008届学生姓名王利江论文(设计)题目基于J2EE的人力资源管理系统指导教师刘小红专业职称实验师所属教研室计算机技术与应用研究方向数据库管理课题论证:21世纪组织将面临锐不可当的经济全球化趋势。飞速发展的技术变革和创新,以及迅速变化的差异化的顾客需求等新竞争环境,组织掌握新的技术或是进入新的市场领域获得的竞争优势成为一种短期效应,越来越多的组织通过构筑自身的人力资源竞争力,维持生存并促进持续发展。人力资源作为知识的承载体,成为组织依靠的对象,在以人为本的观念的熏陶下,人力资源管理在组织中的作用日益突出。但人的复杂性和组织的特有性决定了人力资源管理不是简单的技术性的拷贝,真正的理解人力资源管理的内涵和实施与组织相匹配的结构形式和管理模式是创造竞争优势的关键。人力资源管理系统的作用之一是为人力资源规划建立了人事档案。信息化的人事档案使得查询、调用的速度加快,使得精确分析大量员工的知识、经验、技术、能力和职业抱负成为可能。想要做出有效的人力资源规划,必须以准确、完整的内部人事分析为基础。在诸多的企业资源中,人力资源({HumanResource}HR)的重要性勿庸置疑,甚至有学者将人力资源称为“人力资本”,并将其置于技术、资本之上。尤其以知识工人为代表的人力资源将成为经济发展的主力。基于这个时代背景,人力资源管理将成为企业管理的重要内容,人力资源管理系统(HumanResourceManagementSystem,HRMS)成为许多企业管理中非常重要的部分。人力资源管理系统作为人力资源管理的一个计算机工具,可以将企业从员工招聘、岗位和组织机构设置、培训、技能、薪资和福利、绩效到离职管理等几乎所有与企业里最重要的资产---人相关的信息用数据库统一管理起来,有效地避免了原先由于人力资源相关数据的离散存储而造成的信息不相容、更新和共享困难等问题,使得企业内人力资源的管理得以走向标准化、科学化、数字化和网络化。基于以上需求本系统是主要应用JSP+struts+hibernate技术设计一个小型的人力资源管理系统功,系统主要包括:人员档案、人事调配、教育培训、系统管理等四个模块。方案设计:在实习过程中进行调研和搜集、查找资料工作,分析业务需求,在此基础上用面向对象的方法进行系统需求分析,从人力资源管理的角度出发,用集中的数据库将与人力资源相关的数据(如员工基本信、员工档案、员工履历、员工调动管理、培训管理、系统管理)统一管理起来,形成集成的信息源。并有友好的用户界面及分析工具。如今的人力资源管理系统如果仅仅基于局域网的C/S模式已经难以满足开放式信息管理、共享、查询的需求。因此,可以通过交互式网络数据库访问技术和通用方便的Web浏览器界面来完成这些功能。在本系统的开发过程中我采用了B/S模式体系结构,基于UML统一建模方法,应用JSP+struts+hibernate技术,后台的网络数据库为Oracle9i。B/S模式是以为技术基础的信息计算模型。它们的核心是利用企业现有的软硬件设备,根据业界开放标准,借鉴和利用Internet技术,形成一个虚拟的企业计算环境。B/S模型是一种从传统C/S发展起来,其逻辑上采用3层结构,它在前台浏览器和后台数据库服务器之间增加了一个Web服务器层,所有的应用程序模块都安装在Web服务器上。第一层完成用户的接口共,第二层由各种应用服务器完成用户所需要的功能,第三层数据库服务器完成数据存储和管理功能。B/S模式综合了浏览器、信息服务和Web技术,通过一个浏览器访问多个应用服务器,形成点到多点,多点到多点的结构模式,这种结构使开发人员在前端的浏览器方面减少了很多的工作,可以将注意力转移到怎样合理组织信息,提供对客户的服务上来。进度计划:1、通过查阅资料深入了解有关Struts和Hibernate技术、Oracle数据库及相关知识。2、做需求分析,对各个模块功能进行详细的设计。3、根据设计方案具体实现各个模块的功能,最后把各个模块整合成完整的系统,以实现的此系统的管理功能,达到用户的要求。4、对整个系统进行各种完善工作,进行搜集资料、总结,书写毕业论文。指导教师意见:指导教师签名:年月日教研室意见:教研室主任签名:年月日河北师范大学本科毕业生毕业论文(设计)文献综述I河北师范大学本科生毕业论文(设计)文献综述对于已经习惯了使用传统的JSP设计方式实现动态网站的程序员,在刚开始接触Struts时经常会出现一种困惑,专业书籍和文章中总是使用StrutsFramework这种说法,Struts通常也被称为是一种Web应用开发的架构(Framework),那么到底什么是架构,软件开发架构的意义又是什么呢?如果将早期的软件开发方式比喻为传统手工业生产方式的话,那么基于软件开发架构的开发方式则是大型现代化工厂生产方式的体现。虽然二者都能够制作出产品,但是在生产效率及产品质量的保证上显然会有巨大的差异。汽车生产厂家在制造一辆汽车时,总是先在各条生产线上制作出不同类型的零件,最终再由专业的技师在专业的组装生产线上将成百上千的零件组装成一台完整的汽车。显然,设计者的主要精力并不是用于重复地制造相同的车轮,相同的方向盘,而是利用现成的车轮组装出一辆辆不同的汽车。同样,开发人员也可以利用软件架构中提供的组建库(如同已经生产好的规范化的汽车核心零部件库),按照既定的组装方式将不同的组建应用在软件产品的各个环节,最终开发出一个完整的,高质量的软件产品。实际上,如果需要汽车设计者也可以将原有的车轮进行改造,例如涂上不同的颜色,贴上不同的装饰物等。同理,软件开发人员可以在现有组件的基础上进行扩展和改进,这实际上充分地实现了软件开发的可扩展性。组件复用是面向对象编程思想的结晶,而在软件架构的基础上进行开发可以最大限度地实现组件的复用。在大型多层结构的软件开发项目中,开发和使用具有可重用性,可扩展性,经过良好测试的软件组织,可以使开发者从大量繁琐的代码工作中解脱出来,专注于软件设计和业务逻辑的实现。通常将被验证为有效的,相同类型问题的解决方案进行抽象,即可提取形成一个应用程序框架,即Framework。每一种Framework都有自己的一套明确的实现机制,通常在Framework结构中都会包含一个“命令和控制”组件(“commandandcontrol”component),类似于工业生产中的“控制中心”,开发人员通过它可以很容易地控制,扩充和实现该Framework上的开发结构。随着Web开发技术的日益成熟,在Web开发领域中出现了许多设计好的软件开发框架,Struts就是一种基于MVC经典设计模式的框架。MVC(Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分。如下图所示:河北师范大学本科毕业生毕业论文(设计)文献综述IIMVC设计模式的结构图模型(Model):业务逻辑层。实现具体的业务逻辑,状态管理的功能。MVC系统中的Model模型部分从概念上可以分为两类:系统的内部状态和改变系统状态的动作。Struts中的Model部分一般由JavaBean以及EJB组成。在Struts架构中使用JavaBean来提供具体的业务逻辑,即“怎么做”,对于复杂的系统也可以使用EJB等组件来实现系统状态维护。这种业务逻辑的细分可以增强可以代码的可重用性。视图(View):表示层。即与用户实现交互的界面,通常实现数据输入和输出功能。Struts中的View视图部分依然可以采用JSP来实现。此外,Struts还提供了丰富的自定义标记库,View部分使用这些自定义标签同样可以实现与Model部分的有效交互并能够增强显示功能。控制器(Controller):控制层。起到控制整个业务流程(FlowControl)的作用,实现View和Model部分的协同工作。Struts中的Controller控制器部分是通过专门的Servlet来实现的,该Servlet是一个StrutsAPI中提供的ActionServlet类型的实例,ActionServlet类继承了javax.servlet.http.HttpServlet类,因此该类的实例可以和普通的Servlet一样工作,其作用是接收客户端浏览器的请求,然后选择执行相应的业务逻辑,再把响应结果送回到客户端。Action对象是开发者定义的类(该类必须是StrutsAPI中提供的Action类的子类)的实例。在继承该类的过程中开发者可以加入具体业务逻辑或调用业务逻辑模块,Action对象在进行了业务逻辑或调用业务逻辑模块。Action对象在进行了业务逻辑的处理以后会将应用