




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 j2ee 框架人力资源调度系统的设计与实现软件工程学生:聂泳东 指导老师:罗霄峰【摘要】 人力资源的有效部署是提高企业综合评价,实现战略目标的关键因素。它需要高级的员工安排,既要考虑到员工的工作效率,又要考虑到员工的薪酬,由此便产生了资源受限项目调度问题。本系统从企业的实际情况出发,对项目各个阶段的任务进行合理的划分,正确的排序。加上每个员工都拥有不同的技能,且每项技能都有不同的熟练度这两个约束条件,然后通过遗传算法对该模型归纳出最优适应解,系统后台将最终的结果反馈给管理者,整个项目通过 j2ee 的技术来实现各功能模块。【关键字】 人力资源调度 受限项目 遗传算法Based on the j2ee frame of human resources assignment design and achieve【Abstract】 Human resource arrange effectually is a major factor to improve enterprise comprehensive evaluation and achieve strategic target.It needs the arrangment of senior staff,the plan takes not only the stuffs work efficiency,but also the employee salary into account ,therefor leading to the problem of human resources limited assignment. this system draw into development staff who have varies of technical abilites and i divide reasonably and order accurately to each stage of the roducing developers who have multiterm skills and retrained by degree of proficiency for different skills.It builds human resource assignment model,and uses management genetic algorithem to induce adaptive optimalsolution for this model.then it feedback s interpretation of result to administrators. And finally it uses j2ee technocalskill to achieve each function module of the system. 【Key Words】 human resources assingnment project management genetic algorithem目录1 绪论 .11.1 项目的背景和意义 .11.2 研究开发现状分析 .11.3 项目的目标 .12 相关技术介绍 .22.1 J2EE 框架简介 .22.2 SSH 框架简介 .22.2.1 Struts .22.2.2 Spring .32.2.3 Hibernate .32.3 项目所使用的工具 .32.3.1 MyEclipse .32.3.2 MySql5.0.96 .32.3.3 JDK1.6 .32.3.4 TomCat7.0.53 .32.4 遗传算法概述 .42.4.1 遗传算法简介 .42.4.2 遗传算法的基本步骤 .43 人力资源调度系统的需求分析 .53.1 人力资源调度系统处理业务分析 .53.2 人力资源调度问题 .53.3 人力资源调度模型 .63.4 调度系统用户分析 .64 人力资源调度系统总体设计 .64.1 概要设计 .64.1.1 程序流程图 .64.1.2 模块框架图 .74.2 数据库设计 .84.2.1 概念结构设计 .84.2.2 数据表设计 .95 系统详细设计 .125.1 关键模块算法及主要编码 .125.1.1 初始化染色体 .135.1.2 交叉操作 .135.1.3 变异操作 .145.1.4 适应度评价 .145.1.5 选择操作 .156 系统应用平台及界面设计 .156.1 员工管理页面 .156.1.1 员工注册页面 .156.1.2 邮箱验证页面 .156.1.3 员工登录页面 .166.1.4 登录信息存储页面 .166.1.5 员工信息查看页面 .176.1.6 员工信息编辑页面 .186.2 项目管理页面 .196.2.1 项目查看页面 .196.2.2 任务配置页面 .196.2.3 最佳方案生成页面 .206.2.4 最佳方案成功生成页面 .207 系统测试 .217.1 项目所存在的漏洞 .217.1.1 漏洞展示 .217.1.2 漏洞存在的原因 .217.1.3 漏洞原理 .217.2 针对漏洞的修复策略 .218 总结以及展望 .22参考文献 .23致谢 .241 绪论1.1 项目的背景和意义在一个项目的开发过程中,管理者需要考虑如何通过最短的时间,最低的资金将领导布置下来的项目进行合理的分配任务与人力资源调度。但是如果这个过程仅仅依靠管理者手动分配任务,那无疑将是一个非常痛苦的过程。不仅如此,由于心情等主观原因,管理者也很难保证能够得到一个客观公正的最优调度方法。基于这种情况,使用计算机对项目进行自动化的任务分配、有效的人员调度是非常有必要的。不仅节省了管理者的时间,同时也加大了调度方法的可取性。1.2 研究开发现状分析在我国,自动化的人力资源调度还没有兴起,很多公司的人员管理依旧是依靠管理者来对项目进行任务的分配以及人员的调度,这种通过估算和经验得到的时间表,很难摆脱许多主观、客观的外界原因,而且通过人力进行大量的计算也是资源的一种浪费。目前国内外对此研究大都停留在理论方面,真正付诸于实际的却很少。而且,现在对于此方向的系统,主要停留在对于任务分解与安排上,而没有考虑每一个任务由不同的人员来做以及影响成本条件,做出的计划只是表现在任务的开始时间与完成时间的确定,没有对于人员进行合理安排,所以笔者目前设计的这个系统主要是在前人的基础上,对任务进行安排且对每个任务进行人员的合理分配。1.3 项目的目标人力资源调度系统主要考虑到了人员的工作内容,工效、工绩、人员调度、管理层的关注度等方面。举个例子,公司里面已经划好了各个项目组,每个项目组都需要从公司员工中抽调一部分人出来参与任务,员工除了需要完成其他项目之外,还要同时跟进自己本身的项目。这些问题涉及项目规划、人员调动、项目管理,考评等各个方面。由于技术的欠缺,本次设计仅通过遗传算法来对单一项目进行最优解的归纳。本系统可以对公司的员工进行有效的管理,管理者对新员工录入基本信息之后可以与员工可以同时对信息进行管理,由于系统权限控制,管理者与员工可以修改的信息是不一样的。人力资源调度系统的主要功能需要比较高的权限,员工的权限仅限于修改自己的信息。管理员则可以对项目信息进行添加、修改、删除,系统自动将信息按顺序分解为几个任务,存储于数据库中。管理者输入交叉、变异次数、本次项目资金比重、本次项目技能熟练度比重之后,系统自动生成调度计划甘特图,并将结果反馈给管理者。2 相关技术介绍本章主要详细介绍了项目中所使用的各种框架,工具以及所涉及的算法。2.1 J2EE 框架简介J2EE 是一种企业级开发的工业标准,它是 JAVA 技术不断更新以适应企业级开发过程中所产生的产物。与之类似的标准还有标准版 J2SE,微缩版 J2ME,由于谷歌公司的崛起,Android 在未来有可能将取代 J2ME。2.2 SSH 框架简介SSH 框架主要是为了实现 MVC 的开发框架,本系统选择用 Struts 来作为 View 层,用户在输入 URL 之后,信息将发送给 Struts 的拦截器,经过 Struts 拦截器中的方法之后,通过配置不同的 struts.xml 文件,跳转到不同的页面展示给用户,View 也就是用户可见层。Control 层主要是处理逻辑层的东西,用户输入的东西经过逻辑层之后把处理后的数据发送给 View 层展示给用户看,本次系统通过 Spring 层来作为逻辑层,通过使用控制反转和依赖注入的技术对整个系统的业务逻辑进行管理,本次系统还用到了面向切面编程的技术,访问数据库时通过面向切面编程把所有的 Sql 访问代码封装带一个事务中,在提交 Sql 查询语句时就不用多次写事事务代码了。当然用户也可以不经过 Control层直接访问 WEB 服务器中的 JSP 界面,这种方法也可以调用 View 层。Modle 层主要是用于数据的存储处理,本次系统使用了 Hibernate 作为模型层,逻辑层的控制代码交给模型层处理时,Hibernate 将获取到的数据保存到数据库,Hibernate 的级联作用也是本次系统选用它作为模型层的一个很大的决定因素。整个流程就是用户提交的数据将通过Struts 分配给不同的逻辑层进行处理,逻辑层处理之后,有可能是用户请求存储数据,那么 Hibernate 层就将数据存储到数据库,如果用户想查询数据库信息,那么 Hibernate层将用户信息提取出来发送给逻辑层,逻辑层再将信息封装成 JavaBean 发送给显示层,通过浏览器的解析之后用户就可以观察到所想看到的信息,还有一种可能就是用户其实并不想看到数据库的信息,而是直接向执行某种操作,然后查看结果,那么控制层不经过模型层而直接将运算后的结果发送给显示层展示出来。2.2.1 StrutsStruts:一个免费开源的项目,由 Apache 软件基金会赞助开发而成,它底层对JSP、Servlet 进行封装,开放出接口便于开发,大大节省了前台开发的时间。在异常处理方面通过修改配置文件就可以进行异常映射,非常简单。但是其 Tag 执行的效率比较低下。在 2013 年 6 月更是被曝出存在严重的安全漏洞。中国联通、百度、苹果、京东、腾讯、淘宝、搜狐、中国移动、民生银行等大型企业网站都同时出现了问题,本文后面将对本项目中出现的致命漏洞进行详细的阐述。2.2.2 SpringSpring:一个免费的开源框架,控制反转让开发人员不再必须创建相应实例,由spring 框架代为创建,开发者通过依赖注入的方式直接将容器创建的对象赋值到所需要的地方,面向切面编程实现对事务和日志的管理,大大的降低了组件之间的耦合性。2.2.3 HibernateHibernate:Cirrus Technologies 公司开发的一个开源框架,对象/关系数据映射表是其突出的优点,方便快捷的开发方式,大大降低了后台数据库的开发周期。它提供了两级缓存,一级缓存即 Session 缓存,在一个项目中,session 的生命周期是很短的,所以如果使用 session 来对整个系统做优化是很难实现的,默认就会存在于 hibernate 中,不能够通过开发者主观去关闭或者卸载掉这一级缓存。为了解决这个问题,hibernate 提供了二级缓存,通过二级缓存来对系统进行优化,效果将会极其明显,立竿见影,因为Session 级别缓存只能对同一个 session 起作用,而二级缓存则会对 sessionfactory 产生出来的 session 起作用。2.3 项目所使用的工具2.3.1 MyEclipse基于 Eclipse 二次开发出来的一款软件,较 Eclipse 添加了更多的插件,大大的增强了易用性,支持 C/C+,Python 等许多种语言。本次系统选择这个 IDE 主要是因为其集成的 WEB 开发插件丰富且成熟。2.3.2 MySql5.0.96一款免费的数据库软件,与 MSSQLSERVER、ORACLE 相比,MySQL 安装更为简便,ASP.NET 与 MSSQLSERVER 为一组经典的配置,ASP 与 Access 为一组经典组合,MySql 则被中小型企业所青睐,LAMP 更是成为一时佳话。本系统选择这个数据库正是利用了它免费和操作简便这两个点。2.3.3 JDK1.6JAVA 运行的核心,打破系统界限,在 windows,linux 中都有很好的表现。现在 JDK的版本已经发展到了 JDK8,新的东西都需要时间来证明其稳定的程度,由于本系统要求不是很高,所以本次系统选择了比较老的 1.6 版本。2.3.4 TomCat7.0.53Tomcat 是一款免费的 web 服务器软件与 J2EE 的 WEB 系统结合得比较好,所以本次系统选用了 TomeCat 来作为整个项目的运行平台。2.4 遗传算法概述2.4.1 遗传算法简介遗传算法是借鉴了生物界适者生存,不适者淘汰的进化规律演变而来的一种搜索方法。J.Holland 教授通过模拟达尔文提出的生物进化过程而创建了一种进化模型。它通过大面积的产生不同的个体,然后进行不断地交叉变异,最终通过适应度评价归纳出最优解。整个过程不需要人工干扰,自动获取了进化过程中最优良的个体。2.4.2 遗传算法的基本步骤传统的 GA 的主要步骤如下:1、编码:对现有的个体进行编码,产生出计算机能够识别出来的基因型个体。2、初始群体的生成:随机或者由管理员输入指定的初始化个体数目,然后对上述的数目进行初始化。 3、适应度评估:对个体的质量进行一个评估,便于获取最优解。4、选择:从整个群体中挑选出比较优秀的染色体,将其作为后期进行交叉变异等操作的蓝本。常用的选择算法有:(1)轮盘赌选择:通过对所有的个体进行适应度评估,适应度越强被选到的几率就会更大。(2)精英选择:对所有的个体进行适应度评估,将适应度最高的个体选择出来。5、交叉:将两个选出来的基因进行交叉变换,通过把两个基因指定的一个或几个点进行交叉变换的方式可以得到新一代个体,使新的个体具有上一代个体的特征。交叉的算法有如下几种类型:(1)单点交叉:在选取的染色体上随机选择一个点,将两个基因在该点的值进行对换 。(2)多点交叉:在染色体中随机选择两个或多个不同的点,将所选的点的基因的值进行对换。(3)均匀交叉:指两个配对个体的每一个基因座上的基因都以相同的交叉概率进行交换,通过设置一个概率,使染色体上的基因自动交叉变换 8。 6、变异:变异首先在群体中随机选择一条染色体,对所选定的染色体随机选定一个位置进行变异,与生物界不同的是,GA 中变异发生的概率可以有管理员来决定。变异为新个体的产生提供了机会。依据个体编码表示方法的不同,可以有以下的算法:(1)实值变异;(2)二进制变异;GA 的计算过程为:begint0;初始化种群;评价种群;while(终止条件不满足)dobegin重组种群以产生后代;评价后代;从种群和后代中选择新的种群;tt+1endend3 人力资源调度系统的需求分析3.1 人力资源调度系统处理业务分析在一个项目计划的过程中,由项目的经理对人力资源进行评估,然后做出最合理的调度,这个调度的计划主要含有以下两个方面:1、按照项目的整个开发流程把整个项目分解成可以独立执行的一个个工作任务。2、将这些任务分配给合适的工作人员。 3.2 人力资源调度问题在一个项目中,人力资源调度的问题可以用一下模型来描述:在如图的项目中共有n+1 项任务,排在后面的任务需要前面的任务完成之后才可以进行下一项,如图 3-1 中完成 1,2,3 之后才可以进行第 4 项任务,在任何一个时段内,有任务的员工不可以超过总的员工数。项目结构的有向网络图如图 3-1 所示。图 3-1 项目结构图3.3 人力资源调度模型项目人力资源调度模型可以描述为:一个项目中会有拥有不同技能的员工,即每个员工都具备多种技能并且可以可完成多项任务。管理者将项目划分为 n 个子任务,并且调度 m(m sampleList0 = (List) sample2Map.get(sample0);/ sampleList0存放了用户姓名List sampleList1 = (List) sample2Map.get(sample1);/ sampleList1存放了用户姓名for (int i = index; i 8 总结以及展望时光荏苒 岁月如梭,大学最美的时光随着毕业季到来走向了尾声。最后的时光里,在老师和朋友的指导、帮助下人力资源调度系统终于完成了,虽然表面上看着只是一个简单的 web 应用程序,但是其中所付出的的艰辛只有自己知道,j2ee 的自学,遗传算法的研究,一个痛苦并快乐着的过程。论文分析了资源受限项目调度问题,并且对项目人力资源调度问题进行了研究,建立了更加接近公司实际实用的人力资源调度模型,该模型引入了每个员工都同时具有多种技能和不同的技能熟练度,使其更加接近项目中人力资源调度的实际情况,提高了模型的真实性和人力资源的利用率。使用随机单点交叉,随机定点变异,精英选择结果作为适应度最强的个体的方法来解决人力资源调度问题,实现了前台提交初始群体数量,交叉次数,变异次数,资金比重,时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邢台市人民医院技术更新能力考核
- 大学课件李商隐
- 2025儿童医院腹腔镜膀胱全切尿流改道术技术考核
- 沧州市中医院胸腔闭式引流护理考核
- 北京市人民医院妇产科急诊超声考核
- 2025湖南邵阳学院招聘22人模拟试卷及答案详解(各地真题)
- 2025江苏南京市玄武区人民政府玄武门街道办事处招聘编外人员5人模拟试卷完整答案详解
- 2025第二季度贵州安顺市平坝区美农科技有限公司招聘9人模拟试卷及答案详解(名校卷)
- 张家口市中医院医保政策执行考核
- 重庆市人民医院经络检测技术操作考核
- 短视频拍摄与后期制作(中职)PPT完整全套教学课件
- GB/T 42695-2023纺织品定量化学分析木棉与某些其他纤维的混合物
- 某培训基地可行性研究报告
- YY/T 1617-2018血袋用聚氯乙烯压延薄膜
- GB/T 39965-2021节能量前评估计算方法
- 尿动力学检查操作指南2023版
- 五星领导人课件
- GB/T 22560-2008钢铁件的气体氮碳共渗
- 《大体积混凝土》课件
- 日本产业发展及文化讲义课件
- 中北大学火炮概论终极版
评论
0/150
提交评论