人力资源管理系统毕业论文(同名6658).doc_第1页
人力资源管理系统毕业论文(同名6658).doc_第2页
人力资源管理系统毕业论文(同名6658).doc_第3页
人力资源管理系统毕业论文(同名6658).doc_第4页
人力资源管理系统毕业论文(同名6658).doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

河北师范大学本科毕业生毕业论文(设计)文献综述本科生毕业论文(设计)册 学院 信息技术学院 专业 计算机科学与技术 班级 2008届专接本1班 学生 王利江 指导教师 刘小红 28河北师范大学本科毕业论文(设计)任务书编 号: 信息技术学院2008届 论文(设计)题目: 基于J2EE的人力资源管理系统 学 院: 信息技术 专 业:计算机科学与技术班 级:2008届专接本1班学生姓名: 王利江 学 号:0661832050 指导教师:刘小红 职 称:实验师1、 论文(设计)研究目标及主要任务设计一个小型的人力资源管理系统,系统主要包括:人员档案、人事调配、教育培训、系统管理等四个模块。2、 论文(设计)的主要内容在设计该系统是,首先应该区别用户的权限。一般情况用户可以拥有人员档案、人事调配、教育培训、系统管理等四个模块中的一个或多个模块的权限,只有这样用户登陆系统后,才可以根据自己的权限进行不同的操作。每个模块可以执行的操作各不相同,各模块可执行的操作描述如下:人员档案:可以添加、删除、修改和查询员工信息;可以添加、删除、修改员工档案信息;可以添加、删除、修改和查询员工信息;可以添加、删除、修改和查询员工履历;可以添加、删除、修改和查询员工合同信息及合同到期天数预测;可以添加、删除、修改和查询员工奖惩信息等。人事调配:对员工的调动信息进行添加、删除、修改和查询操作;新近员工、离退员工及退休员工预测和查询等。教育培训:维护培训类别信息,对类别进行增、删、改操作;对培训记录、培训成绩和培训证书进行维护操作等。系统管理:包括部门级别信息维护,可以对级别信息进行增、删、改、锁定和激活操作;部门信息维护,可以对部门信息进行增、删、改、合并部门和查看部门关系图操作;用户角色维护,可以对用户角色进行增、删、改和设置角色权限操作;用户信息维护,可以对用户信息进行增、删、改、设定用户权限、锁定和激活用户帐号等操作;系统参数设定,可以设定合同到期提醒天数、员工退休年龄和每页显示记录条数等。本系统主要开发环境说明如下:开发语言: java语言应用技术: struts + hibernate开发环境: jdk6.0、Tomcat 6.0、Oracle 9i 数据库3、 论文(设计)的基础条件及研究路线深入了解有关java语言、Tomcat 6.0运行服务器、Oracle 9i数据库以及人力资源管理系统的相关知识。做需求分析,对模块功能进行详细设计。4、 主要参考文献1CayS Horstmann,GaryCornell.CoreJava 2.北京:机械工业出版社。2BruceEckel. Thinking in Java.北京:机械工业出版社。3夏昕,曹晓钢,唐勇.深入浅出Hibernate.北京:电子工业出版社。4孙卫琴精通Hibernate:Java对象持久化技术详解北京:电子工业出版社。5Bryan Basham.Hibernate技术手册.北京:电子工业出版社。6孙卫琴.精通struts-基于MVC的java web设计与开发.北京:电子工业出版社。7Kathy Sierra.SQL 21天自学通北京:电子工业出版社。5、 计划进度阶段起止日期1搜集资料3.183.232开题论证3.244.53系统设计及调试4.64.304论文写作及修改5.15.13指 导 教师: 年 月 日教研室主任: 年 月 日河北师范大学本科生毕业论文(设计)开题报告书 信息技术 学院 计算机科学与技术 专业 2008 届学生姓名王利江论文(设计)题目基于J2EE的人力资源管理系统指导教师刘小红专业职称实验师所属教研室计算机技术与应用研究方向数据库管理课题论证:21世纪组织将面临锐不可当的经济全球化趋势。飞速发展的技术变革和创新,以及迅速变化的差异化的顾客需求等新竞争环境,组织掌握新的技术或是进入新的市场领域获得的竞争优势成为一种短期效应,越来越多的组织通过构筑自身的人力资源竞争力,维持生存并促进持续发展。人力资源作为知识的承载体,成为组织依靠的对象,在以人为本的观念的熏陶下,人力资源管理在组织中的作用日益突出。但人的复杂性和组织的特有性决定了人力资源管理不是简单的技术性的拷贝,真正的理解人力资源管理的内涵和实施与组织相匹配的结构形式和管理模式是创造竞争优势的关键。人力资源管理系统的作用之一是为人力资源规划建立了人事档案。信息化的人事档案使得查询、调用的速度加快,使得精确分析大量员工的知识、经验、技术、能力和职业抱负成为可能。想要做出有效的人力资源规划,必须以准确、完整的内部人事分析为基础。在诸多的企业资源中,人力资源(Human ResourceHR)的重要性勿庸置疑,甚至有学者将人力资源称为“人力资本”,并将其置于技术、资本之上。尤其以知识工人为代表的人力资源将成为经济发展的主力。基于这个时代背景,人力资源管理将成为企业管理的重要内容,人力资源管理系统(Human Resource Management System ,HRMS)成为许多企业管理中非常重要的部分。人力资源管理系统作为人力资源管理的一个计算机工具,可以将企业从员工招聘、岗位和组织机构设置、培训、技能、薪资和福利、绩效到离职管理等几乎所有与企业里最重要的资产-人相关的信息用数据库统一管理起来,有效地避免了原先由于人力资源相关数据的离散存储而造成的信息不相容、更新和共享困难等问题,使得企业内人力资源的管理得以走向标准化、科学化、数字化和网络化。基于以上需求本系统是主要应用JSP + struts + hibernate 技术设计一个小型的人力资源管理系统功,系统主要包括:人员档案、人事调配、教育培训、系统管理等四个模块。方案设计:在实习过程中进行调研和搜集、查找资料工作,分析业务需求,在此基础上用面向对象的方法进行系统需求分析,从人力资源管理的角度出发,用集中的数据库将与人力资源相关的数据(如员工基本信、员工档案、员工履历、员工调动管理、培训管理、系统管理)统一管理起来,形成集成的信息源。并有友好的用户界面及分析工具。如今的人力资源管理系统如果仅仅基于局域网的C/S模式已经难以满足开放式信息管理、共享、查询的需求。因此,可以通过交互式网络数据库访问技术和通用方便的Web浏览器界面来完成这些功能。在本系统的开发过程中我采用了B/S模式体系结构,基于UML统一建模方法,应用JSP + struts + hibernate技术,后台的网络数据库为Oracle 9i。B/S模式是以WWW为技术基础的信息计算模型。它们的核心是利用企业现有的软硬件设备,根据业界开放标准,借鉴和利用Internet技术,形成一个虚拟的企业计算环境。B/S模型是一种从传统C/S发展起来,其逻辑上采用3层结构,它在前台浏览器和后台数据库服务器之间增加了一个Web服务器层,所有的应用程序模块都安装在Web服务器上。第一层完成用户的接口共,第二层由各种应用服务器完成用户所需要的功能,第三层数据库服务器完成数据存储和管理功能。B/S模式综合了浏览器、信息服务和Web技术,通过一个浏览器访问多个应用服务器,形成点到多点,多点到多点的结构模式,这种结构使开发人员在前端的浏览器方面减少了很多的工作,可以将注意力转移到怎样合理组织信息,提供对客户的服务上来。进度计划:1、通过查阅资料深入了解有关Struts和Hibernate技术、Oracle数据库及相关知识。2、做需求分析,对各个模块功能进行详细的设计。3、根据设计方案具体实现各个模块的功能,最后把各个模块整合成完整的系统,以实现的此系统的管理功能,达到用户的要求。4、对整个系统进行各种完善工作,进行搜集资料、总结,书写毕业论文。指导教师意见:指导教师签名: 年 月 日教研室意见:教研室主任签名: 年 月 日河北师范大学本科生毕业论文(设计)文献综述对于已经习惯了使用传统的JSP设计方式实现动态网站的程序员,在刚开始接触Struts时经常会出现一种困惑,专业书籍和文章中总是使用Struts Framework这种说法,Struts通常也被称为是一种Web应用开发的架构(Framework),那么到底什么是架构,软件开发架构的意义又是什么呢?如果将早期的软件开发方式比喻为传统手工业生产方式的话,那么基于软件开发架构的开发方式则是大型现代化工厂生产方式的体现。虽然二者都能够制作出产品,但是在生产效率及产品质量的保证上显然会有巨大的差异。汽车生产厂家在制造一辆汽车时,总是先在各条生产线上制作出不同类型的零件,最终再由专业的技师在专业的组装生产线上将成百上千的零件组装成一台完整的汽车。显然,设计者的主要精力并不是用于重复地制造相同的车轮,相同的方向盘,而是利用现成的车轮组装出一辆辆不同的汽车。同样,开发人员也可以利用软件架构中提供的组建库(如同已经生产好的规范化的汽车核心零部件库),按照既定的组装方式将不同的组建应用在软件产品的各个环节,最终开发出一个完整的,高质量的软件产品。实际上,如果需要汽车设计者也可以将原有的车轮进行改造,例如涂上不同的颜色,贴上不同的装饰物等。同理,软件开发人员可以在现有组件的基础上进行扩展和改进,这实际上充分地实现了软件开发的可扩展性。组件复用是面向对象编程思想的结晶,而在软件架构的基础上进行开发可以最大限度地实现组件的复用。在大型多层结构的软件开发项目中,开发和使用具有可重用性,可扩展性,经过良好测试的软件组织,可以使开发者从大量繁琐的代码工作中解脱出来,专注于软件设计和业务逻辑的实现。通常将被验证为有效的,相同类型问题的解决方案进行抽象,即可提取形成一个应用程序框架,即Framework。每一种Framework都有自己的一套明确的实现机制,通常在Framework结构中都会包含一个“命令和控制”组件(“command and control”component),类似于工业生产中的“控制中心”,开发人员通过它可以很容易地控制,扩充和实现该Framework上的开发结构。随着Web开发技术的日益成熟,在Web开发领域中出现了许多设计好的软件开发框架,Struts就是一种基于MVC经典设计模式的框架。MVC(Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分。如下图所示:MVC设计模式的结构图l 模型(Model):业务逻辑层。实现具体的业务逻辑,状态管理的功能。MVC系统中的Model模型部分从概念上可以分为两类:系统的内部状态和改变系统状态的动作。Struts中的Model部分一般由JavaBean以及EJB组成。在Struts架构中使用JavaBean来提供具体的业务逻辑,即“怎么做”,对于复杂的系统也可以使用EJB等组件来实现系统状态维护。这种业务逻辑的细分可以增强可以代码的可重用性。l 视图(View):表示层。即与用户实现交互的界面,通常实现数据输入和输出功能。Struts中的View视图部分依然可以采用JSP来实现。此外,Struts还提供了丰富的自定义标记库,View部分使用这些自定义标签同样可以实现与Model部分的有效交互并能够增强显示功能。l 控制器(Controller):控制层。起到控制整个业务流程(Flow Control)的作用,实现View和Model部分的协同工作。Struts中的Controller控制器部分是通过专门的Servlet来实现的,该Servlet是一个Struts API中提供的ActionServlet类型的实例,ActionServlet类继承了javax.servlet.http.HttpServlet类,因此该类的实例可以和普通的Servlet一样工作,其作用是接收客户端浏览器的请求,然后选择执行相应的业务逻辑,再把响应结果送回到客户端。Action对象是开发者定义的类(该类必须是Struts API中提供的Action类的子类)的实例。在继承该类的过程中开发者可以加入具体业务逻辑或调用业务逻辑模块,Action对象在进行了业务逻辑或调用业务逻辑模块。Action对象在进行了业务逻辑的处理以后会将应用程序流程转到合适的View组件,最终将响应送回浏览器客户端。Struts中提倡Action对象只用来决定“做什么”,相当于一个低层面的控制器,因此也可以将Action归纳为Controller的组成部分。Hibernate在英文中的意思是“冬眠”,从这个角度也可以体会到Hibernate架构下提供的相关技术可以实现度十角状态的持久性保存。在传统的数据库编程中,开发人员要面对大量重复行代码的编写,以实现对不同数据表中的数据的获取,并将获取到的记录数据封装成对象,在处理完成之后如果需要进行对象状态的存取,需要将对象中的数据拆卸成数据库记录中的对应字段的值,然后向数据库中进行存取。这种工作方式显然没有实现真正意义上的数据存取阶段的面向对象。虽然数据存取过程中的工作步骤是基本固定的,但是由于操作的数据表中字段列表数据的不同,使得开发人员必须要不厌其烦地书写与相应的实体类对应的封装处理过程。而在Hibernate中,类似这种重复性高,工作量大,但是又必须保证高质量完成的体力活,全部由Hibernate接管过去。这对广大的Java开发人员无疑是个非常好的消息。Hibernate本质上是一个面向Java开发环境的对象/关系数据库映射工具。在Hibernate之前,开发人员要将面向对象的软件和关系数据库结合在一起,往往会费长麻烦。而借助Hibernate对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去。如下图所示:Hibernate工作示意图河北师范大学本科毕业生毕业论文(设计)翻译文章河北师范大学本科生毕业论文(设计)翻译文章与对象共事Hibernate 是完整的对象/关系映射解决方案,它提供了对象状态管理(state management)的功能,是开发者不再需要理会地层数据库系统的细节。也就是说,相对于常见的JDBC/SQL持久层 方案中需要管理SQL语句,Hibernate采用了更自然的面向对象的视角来持久化Java应用中的数据。换句话说,使用Hibernate的开发者应该总是关注对象的状态,不必考虑SQL的执行。这部分细节已经由Hibernate掌管妥当,只有开发者在进行系统性能调优的时候才需要进行了解。1、Hibernate对象状态Hibernate定义并支持下列对象状态:l 瞬时由New操作符创建,且尚未与Hibernate Session 关联的对象被认定为瞬时的。顺势对象不会被持久化到数据库中,也不会被赋予持久化标识。如果瞬时对象在程序中被有被引用,它会被垃圾回收器销毁。使用Hibernate Session可以将其变为持久状态。(Hibernate会自动执行必要的SQL语句)l 持久持久的实例在数据库中有对应的记录,并拥有一个持久化标识,持久的实例可能是刚被保存的,或刚被加载的,无论哪一种,按定义,它存在于与其相关联的Session作用范围内,Hibernate会检测到处于对象数据与数据库同步。开发者不需要手动执行Update。将对象持久状态转变成瞬时状态同样也不需要手动执行Delete语句。l 托管与持久对象关联的Session被关闭后,对象就变为托管的。对托管对象的引用依然有效,对象可继续被修改。托管对象如果重新关联到某个Session上,会在次转变为持久的(在Detached期间的改动将被持久化到数据库)。这个功能使得一种编程模型,即中间会给用户思考时间的长时间余兴的操作单元的编程模型成为可能。我们称之为应用程序事务,即从用户观点看是一个操作单元接下来我们来细致的讨论下状态及状态间的转换(以及触发状态转换的Hibernate方法)。2、使对象持久化Hibernate认为持久化类新实例化的对象是瞬时的。我们可通过将瞬时对象与Session关联而把它变为持久的。DomesticCat fristz = new DomesticCat();Fristz.setColor(Color,GINGER);Fristz.setSex(M);Fristz.setName(“Fritz”);Long generatesId = (Long)sess.save(fritz);如果Cat的持久化标识是generates类型的,那么该标识会自动在save()被调用时产生并分配给Cat。如果Cat的持久化标识应当在调用save()之前动手赋予给Cat。你也可以按照EJB3 early draft中定义的语义,使用persist()替代save()。此外,你可以用一个重载版本的save()方法。DomesticCat pk = new DomesticCat();pk.setColor(Color.TABBY);pk.setSex(F);pk.setName(“PK”);pk.setKittens(new HashSet();pk.addKittens(fritz);sess.save(pk,new Long(1234);如果你持久化的对象有关联的对象(例如上例中的Kittens集合)那么对这些对象进行持久化的顺序是任意的(也就是说可以先对Kittens进行持久化也可以对pk进行持久化),除非你在外键列上有NOT NULL约束。Hibernate不会违反外键约束,但是如果你用错误的顺序持久化对象(译注:载pk持久化之前持久化kitten),那么可能会违反NOT NULL约束。通常你不会为这些细节烦心,因为你很可能会使用Hibernate的传播性持久化(transitive persistence)功能自动保存相关联那些对象。这样违反NOT NULL约束的情况都不会出现,Hibernate会管好所有的事情。3、装载对象如果你知道某个实例的持久化标识(identifier),你就可以使用Session的load()方法来获取它。Load()的另一个参数是指定类的.class对象。本方法会创建指定的持久化实例,并从数据库加载其数据(state)。Cat fritz = (Cat) sess.load(Cat.class, new Long(id);/ you need to wrap primitive identifiersLong id = 1234;DomesticCat pk = (DomesticCat) sess.load(DomesticCat.calss, new Long(id);此外,你可以把数据(state)加载到指定的对象实例上(覆盖掉该实例原来的数据)。Cat cat = new DomesticCat();/load pks state into catSess.load(cat, new Long(pkId);Set kittens = cat.getKittens();请注意如果没有匹配的数据记录,load()方法可能爆出无法恢复的异常(unrecoverable exception)。如果累得映射使用了代理(proxy),load()方法会返回一个未初始化的代理,有不想载数据库中装载该对象时同时装载相关联的那个对象,那么这种操作方式就用的上了。如果为相应类映射关系设置了batch-size,那么使用这种方式允许多个对象被一批装载(应为返回的是代理,无需从数据库中抓去所有对象的数据)。如果你不确定是否有匹配的行存在,应该使用get方法,他会立刻访问数据库,如果没有对应的记录,会返回null。Cat cat = (Cat) sess.load(Cat.class, id);if(cat=null)cat = new Cat();sess.save(cat, id);return cat;你甚至可以选用某个LocakMode,用SQL的SELECTFOR UPDATE装载对象。Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);注意,任何关联的对象或者包括的集合都不会被以FOR UPDATE方式返回,除非你指定了lock或者all作为关联(association)的级联风格(cascade style).任何时候都可以使用refresh()方法强迫装载对象和它的集合。如果你使用了数据库触发器功能来处理对象的某些属性,这个方法就很有用。sess.save(cat);sess.flush(); /force the SQL INSERTsess.refresh(cat); /re-read the state (after the trigger executes)此处通常会出项一个重要问题:Hibernate会从数据库中装载多少东西?会执行多少条 相应的SQL SELECT语句?这取决于抓取策略(fetching strategy)。参考文献:1 hibernate_reference 3.0Working with objectsHibernate is a full object/relational mapping solution that not only shields the developer from the details of the underlying database management system, but also offers state management of objects. This is, contrary to the management of SQL statements in common JDBC/SQL persistence layers, a very natural object-oriented view of persistence in Java applications.In other words, Hibernate application developers should always think about the state of their objects, and not necessarily about the execution of SQL statements. This part is taken care of by Hibernate and is only relevant for the application developer when tuning the performance of the system.1. Hibernate object statesHibernate defines and supports the following object states: Transient - an object is transient if it has just been instantiated using the new operator, and it is not associated with a Hibernate Session. It has no persistent representation in the database and no identifier value has been assigned. Transient instances will be destroyed by the garbage collector if the application doesnt hold a reference anymore. Use the Hibernate Session to make an object persistent (and let Hibernate take care of the SQL statements that need to be executed for this transition). Persistent - a persistent instance has a representation in the database and an identifier value. It might just have been saved or loaded, however, it is by definition in the scope of a Session. Hibernate will detect any changes made to an object in persistent state and synchronize the state with the database when the unit of work completes. Developers dont execute manual UPDATE statements, or DELETE statements when an object should be made transient. Detached - a detached instance is an object that has been persistent, but its Session has been closed. The reference to the object is still valid, of course, and the detached instance might even be modified in this state. A detached instance can be reattached to a new Session at a later point in time, making it (and all the modifications) persistent again. This feature enables a programming model for long running units of work that require user think-time. We call them application transactions, i.e. a unit of work from the point of view of the user.Well now discuss the states and state transitions (and the Hibernate methods that trigger a transition) in more detail.2. Making objects persistentNewly instantiated instances of a persistent class are considered transient by Hibernate. We can make a transient instance persistent by associating it with a session:DomesticCat fritz = new DomesticCat();fritz.setColor(Color.GINGER);fritz.setSex(M);fritz.setName(Fritz);Long generatedId = (Long) sess.save(fritz);If Cat has a generated identifier, the identifier is generated and assigned to the cat when save() is called. If Cat has an assigned identifier, or a composite key, the identifier should be assigned to the cat instance before calling save(). You may also use persist() instead of save(), with the semantics defined in the EJB3 early draft.Alternatively, you may assign the identifier using an overloaded version of save().DomesticCat pk = new DomesticCat();pk.setColor(Color.TABBY);pk.setSex(F);pk.setName(PK);pk.setKittens( new HashSet() );pk.addKitten(fritz);sess.save( pk, new Long(1234) );If the object you make persistent has associated objects (e.g. the kittens collection in the previous example), these objects may be made persistent in any order you like unless you have a NOT NULL constraint upon a foreign key column. There is never a risk of violating foreign key constraints. However, you might violate a NOT NULL constraint if you save() the objects in the wrong order.Usually you dont bother with this detail, as youll very likely use Hibernates transitive persistence feature to save the associated objects automatically. Then, even NOT NULL constraint violations dont occur Hibernate will take care of everything. Transitive persistence is discussed later in this chapter.3. Loading an objectThe load() methods of Session gives you a way to retrieve a persistent instance if you already know its identifier.load() takes a class object and will load the state into a newly instantiated instance of that class, in persistent state.Cat fritz = (Cat) sess.load(Cat.class, generatedId);/ you need to wrap primitive identifierslong id = 1234;DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long(id) );Alternatively, you can load state into a given instance:Cat cat = new DomesticCat();/ load pks state into catsess.load( cat, new Long(pkId) );Set kittens = cat.getKittens();Note that load() will throw an unrecoverable exception if there is no matching database row. If the class is mapped with a proxy, load() just returns an uninitialized proxy and does not actually hit the database until you invoke a method of the proxy. This behaviour is very useful if you wish to create an association to an object without actually loading it from the database. It also allows multiple instances to be loaded as a batch if batchsize is defined for the class mapping.If you are not certain that a matching row exists, you should use the get() method, which hits the database immediately and returns null if there is no matching row.Cat cat = (Cat) sess.get(Cat.class, id);if (cat=null) cat = new Cat();sess.save(cat, id);return cat; You may even load an object using an SQL SELECT . FOR UPDATE, using a LockMode. Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);Note that any associated instances or contained collections are not selected FOR UPDATE, unless you decide to specify lock or all as a cascade style for the association.It is possible to re-load an object and all its collections at any time, using the refresh() method. This is useful when database triggers are used to initialize some of the properties of the object.sess.save(cat);sess.flush(); /force the SQL INSERTsess.refresh(cat); /re-read the state (after the trigger executes)An important question usually appears at this point: How much does Hibernate load from the database and how many SQL SELECTS will it use? This depends on the fetching strategy.本科生毕业论文设计题目 基于J2EE的人力资源管理系统 作者姓名 王利江 指导教师 刘小红 所在学院 信息技术学院 专业(系) 计算机科学与技术 班级(届) 2008届 1 班 完成日期 2008 年 05 月 15 日 河北师范大学本科毕业生毕业论文(设计)目 录摘要(III)1、绪论(1)1.1人力资源管理系统的开发背景(1)1.2人力资源管理系统的开发意义(1)2、系统分析(2)2.1 需求分析(2)2.2 技术可行性(2)2.3 环境可行性分析(3)3、系统设计(4)3.1 总体设计(4)3.2 数据库详细设计(5)3.3 模块的图例设计(8)3.4 开发框架(9)4、系统实现(10)4.1 系统主要界面的设计与实现(10)4.2 系统功能模块的设计与实现(13)4.3 关键技术与算法(20)4.4 数据的安全性(23)5、系统测试(24)5.1 测试的定义及目的(24)5.2 测试的原则(24)5.3 人力资源管理系统的测试(24)结束语(25)致谢(26)参考文献(26)Abstract(26)摘要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低。然而通过应用人力资源管理系统能够集中对企业人事工作进行管理,不单单使得人力资源管理人员摆脱繁重的日常工作,更为重要的是能够根据员工个人能力对其岗位进行调动,充分发挥员工自身的能力,为企业的带来更大的经济利益。快捷、准确、方便、高效的人力资源管理系统是企事业单位的基本需求之一,因此,开发一个界面友好,易于操作的人力资源管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。本文所阐述的人力资源管理系统,以浏览器/服务器(B/S)模式高效地实现了人力资源管理系统的各项功能,可进行多条件查询、更新、密码设置、员工信息、档案、合同、履历的管理、人员调动管理、培训管理、系统管理等功能。提升了企业的效率和竞争力,满足了现代企业人力资源管理的需要。由于Java语言是一种纯面相对象的语言,而且发展前景十分的广阔,因此本项目才用java语言作为根本,前台页面使用jsp语言,并选用经典的MVC模型框架Struts作为开发架构,在数据持久层方面则使用了Hibernate框架。关键字:(B/S)模式、Java、MVC模型、Struts、Hibernate1、绪论1.1人力资源管理系统的开发背景现在网络的发展已呈现商业化、全民化、全球化的趋势。目前,几乎世界上所有的公司都在利用网络传递商业信息,进行商业活动,从宣传企业、发布广告、招聘雇员、传递商业文件乃至拓展市场、网上销售等,无所不能。如今网络已成为企业进行竞争的战略手段。企业经营的多元化拓展,企业规模的进一步扩大,对于企业的管理、业务扩展、企业品牌形象等提供了更高的要求。在以信息技术为支撑的新经济条件下,越来越多的企业利用起网络这个有效的工具。全球范围内的企业内部组织正在发生巨变,未来企业成功的关键的依靠企业人力资源,人才之争已经成为市场竞争中的核心内容之一,以人为本成为企业立足和发展的根本。有效力管理企业的人力资源,为企业提供强有力的储备力量,使之成为企业发展的主动力。通过人力资源的有效管理,掌握最新的、准确的企业人力资源信息,并对其进行复杂的统计与分析,从而充分发挥每个员工的潜能,为企业创造更大的价值。1.2人力资源管理系统的开发意义全球范围内的企业内部组织正在发生巨变,未来企业成功的关键的依靠企业人力资源,人才之争已经成为市场竞争中的核心内容之一,以人为本成为企业立足和发展的根本。有效力管理企业的人力资源,为企业提供强有力的储备力量,使之成为企业发展的主动力。通过人力资源的有效管理,掌握最新的、准确的企业人力资源信息,并对其进行复杂的统计与分析,从而充分发挥每个员工的潜能,为企业创造更大的价值。网络化的今天,网络人力资源管理系统,使新的人力资源协作管理模式成为可能。通过网络管理系统,专门的人力资源管理人员可以提高自身的工作效率,作好人力资源管理的协调工作,提高人力资源利用率;通过网络管理系统,员工可以直接管理自己的技能,有效地发现和挖掘自身的潜能,及时与自己的上级、下属、同事进行的沟通与交流,同心协作,积极为企业的发展与决策贡献力量。通过网络人力资源管理系统对企业人力资源进行管理,使企业人力资源管理适应时代的发展要求,大大提高了企业的核心竞争力。当人类正在向知识经济新时代迈进的时候,信息网络化的发展步伐也越加迅猛,随着中国加入WTO,中国经济不可避免地要面对经济全球化的挑战,巨大的竞争压力使得中国的企业将无法去慢慢解决员工的意识与素质问题

温馨提示

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

评论

0/150

提交评论