【《基于JavaEE平台的在线人才评测系统设计与实现》18000字】_第1页
【《基于JavaEE平台的在线人才评测系统设计与实现》18000字】_第2页
【《基于JavaEE平台的在线人才评测系统设计与实现》18000字】_第3页
【《基于JavaEE平台的在线人才评测系统设计与实现》18000字】_第4页
【《基于JavaEE平台的在线人才评测系统设计与实现》18000字】_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于JavaEE平台的在线人才评测系统设计与实现绪论1.1研究背景当今时代,互联网已经成为21世纪影响和加速人类历史发展的重要因素,并且是促进全球创新与变化,发展与共享以及和平与安全的重要主题。在第四次科技革命的浪潮中,看清互联网的发展趋势,加深互联网在社会各领域的应用,同时提升对网络环境的治理,使其可以更好地服务于人类社会。随着科学技术的不断进步,计算机科学日趋成熟,其强大的功能已深深地影响着人们。互联网的身影已经遍布人类社会的各个领域,其强大的功能正发挥着越来越重要的作用。作为计算机应用程序的一部分,通过计算机管理人员信息,通过使用在线人才测评系统达到企业有效的人才选拔和培训目标,具有传统人才管理系统无与伦比的优势。因此,开发一套有效的企业化电子信息管理系统,对企业人才选拔,降低人才选拔的复杂性,提高工作效率具有重要意义。现代社会生产生活中,自动化、无人化办公正在以势不可挡的脚步进入社会的每个角落,智能人才管理系统只是自动化办公的一个小的缩影和体现。它为大型和复杂的员工数据工作的人事管理提供了便利,并改善了人事管理工作的流程。大大提升了企业选人用人的效率。而效率是自动化、无人化办公的基础。要成为现代企业和政府不可或缺的一部分,其内容对于企业和机构的管理者来说非常重要。人员选拔管理系统应能够为管理人员提供足够的信息和快速的查询方法。但是,许多单位还没有进行人事工作的电子化管理,管理人员多,管理效率低,决策依据少的情况仍然令人尴尬。智能人才管理系统是计算机信息管理系统中典型的应用之一。这套系统体现出了互联网管理的高效性。它的开发主要包括后端数据库的建立和维护以及前端应用程序的开发。对于前者,需要建立一组具有很强的数据一致性和完整性以及良好的数据安全性的数据库。对于后者,应用程序必须具有完整的功能,易于使用且美观的界面。人事管理系统可以提供丰富的功能,减轻人事管理的强度,提高公司人事管理的效率,并依靠系统强大的功能为人事管理的使用创造良好的条件,从而适应公司的人事管理,在最短的时间内为公司推进最合适的人才,促进公司人事管理信息化的要求。1.2研究意义人才评估系统利用现代心理学,管理学和相关学科的研究成果,通过心理测试,情境模拟和其他客观方法来衡量人的能力,水平,性格特征和其他因素,并基于工作要求和企业组织特征,它可以科学地评估其质量状况,发展潜力,人格特征和其他心理特征,并为企业人员的就业,选拔和教育等决策提供实用的参考依据。如今,在信息互联网时代,使用信息技术管理和培训人才已成为每个业务部门必不可少的一项技术。本论文主题的目的是开发在线人才评估系统,一方面可以使学生掌握与互联网相关的技术知识和系统开发过程,另一方面也能对如何实现人才评估和人才管理有一个简单的印象。通过该系统,了解人才在企业中选拔和雇用人员的过程。1.3国内外现状国外的人才评测技术发展较早,人才测评的发展状况以人才测评的三大技术为标志:心理测验,面试和测评中心技术。心理测试是人才评估的基础。经过心理测试,面试技术得到了进一步的发展。随着科学技术的进步和时代的发展,评价中心技术近年来在西方得到了广泛而深刻的发展。对于外国公司而言,员工培训也是一项有利可图的项目投资。根据可靠的统计,公司选择花一美元来培训员工,公司将获得三美元的回报。西方发达国家对越来越多的员工进行培训,这不仅是因为它可以解决公司当前面临的实际和潜在问题,而且还是公司增强竞争力和扩大市场份额的核心手段之一。因为无论谁么时候,人才才是企业发展和向前的第一推动力。在国外,他们一直更加重视企业人才评估的管理,因此国外在这一领域具有更先进的思想和技术,并且在1980年左右就提出构建一套基于信息化的企业人才评测系统,并在之后得到实现。如今,好的国外企业管理评估系统基本上可以分为两类,一类是用于Microsoft系统,此类是将.NET框架与SQLServer数据库或Access数据库结合使用的;后者是针对Linux的。该系统使用JAVAEE与Oracle数据库相结合来构建企业管理评估系统。我国人才评价的思想贯穿于过去和现在。直到20世纪初,现代人才评估技术才开始出现并被广泛使用。与西方社会相比,我国的人才评估体系遵循国外既定的管理思想,已经较为完善,并且随着时代的变迁,已经从摸索阶段主逐渐发展到成熟阶段。国内人才评价的发展过程可以分为三个阶段:起步阶段,起步摸索阶段和成熟繁荣阶段。早在20世纪初,我国就引入了心理测量方法,并制定了自己的各种教育和智力测验。随后进入初步应用阶段。在初步应用阶段我国体现出了对人才评估管理上的独特的见解,并根据国内现状,充分融入了具有中国特色的人才评估选拔管理体系。到现阶段,我国人才评估技术的发展主要体现在国家公务员考试的建立上。中共十一届三中全会提出了“改革开放”政策。在这种背景下,我国借鉴了西方的公务员考试录用制度,建立了具有中国特色的公务员考试制度。随后,我国的人才评估技术开始大规模传播,许多公司和单位开始应用该技术。但是,由于起步较晚,因此在构建系统时使用的语言和后端数据库相对简单。作为我国最早进行人才评估的组织之一,海尔公司的人才评测管理系统采用C/S系统,并结合了VB和Access数据库。在我国现阶段,已经有许多成熟的人才评估管理公司和评估机构。北森和Normstar等本地咨询公司也在人才评估领域做出了努力,并在产品开发和服务提供方面取得了一定的成就。许多不同背景的专业机构的竞争,极大地促进了我国地方人才评估技术的飞速发展,我国人才评估技术进入了繁荣阶段。二、基于知识库的智能人才评测引擎2.1背景研究在当前经济衰退的时代,每个组织的人力资源部门都面临着一项真正具有挑战性的任务,即招聘合适的人才,使他们能够在不同的问题领域完成项目,并在规定的时间内完成。任何人力资源管理人员的主要职责是向面试官推荐合适的人才,以节省他们为组织挑选合适人才的时间。在人才库建立阶段,HR面临着是否将应聘者纳入人才库的决策问题。许多人力资源工具可用于支持人力资源部门的决策人员。然而,决策的准确性仍然不能满足人力资源管理人员的需求。在这里,我们提出了一个由人才评估引擎组成的两层智能体系结构——基于知识库的智能人才测评引擎。该引擎作用于由领域专家组成的知识库,并通过推断做出更一致和更准确决策所需的模式。此外,我们还实现了智能简历处理方法,这对完善决策有很大的帮助。系统的实际应用表明,通过对人才的有效测评,其评测的准确性有了非常大的提升。人才评测引擎系统增加了工作绩效,减少了留任失败和明确辞职的员工案例。随着信息门户网站数量的不断增加,人力资源的人员必须使用更准确的人才评估应用程序为公司找到更合适的员工。对于任何企业来说,拥有具有竞争力的多才多艺的人力资源储备,以应对未来任何的经济挑战是非常重要的一件事情。大多数人才测评应用都是基于数据挖掘算法、模糊聚类算法、神经与粗糙集理论。基于这些算法开发的人才评测应用程序已经为全世界很多企业的人才选拔创造了数以千计的价值。然而,人力资源人员在选拔的早期阶段很难使用这些方法。人力资源部的任何错误决策,都可能导致选拔出错,并可能浪费公司的培训费用。近年来,许多研究人员提出了对应聘者的能力进行评估,并在此基础上招聘合适的人才的想法。基于这点,我们已经对人才评估体系和架构进行了调查,这些体系和架构可以与我们提出的理论相匹配。结合关联规则、决策树等数据挖掘方法,构建了人力资源人才评价体系。大多数关联规则都是从数据库可用的事实中推断出来的。但是有时一个有效的关联规则可能会由于对该规则的支持和信心不足而丢失。混合数据挖掘技术已被广泛应用于半导体制造行业中,用于解决工程和成品率问题。但是在人才评价领域应用的研究很少。除神经网络等数据挖掘外,支持向量机和统计方法对决策者来说是个黑盒子,这种类型的系统对于人力资源管理应用程序不是特别有用。2.2设计原理由于涉及的专业领域广泛,并且数据量巨大(每个主题都有近1,000个测试数据),因此在对多层次和不同学科的个人和人才群体进行全面质量测试的过程中,尽管这些测试数据的人才使用主因子分析和聚类分析,但是每个人都有70多个测试结果。对于用户(个人和综合测试组)来说,解释是非常复杂且极为不便的。在实际应用中,由于解释子系统受到从事该领域研究人员的知识,经验,社会经验和专业知识的限制,因此受试者(测试受试者)通常无法理解自己的测试结果。如果能够将相关领域专家的知识和经验有机地结合起来,建立科学的推理机制或推理系统,那么就可以形成一个综合的解释系统来解决对人才测验结果的解释和分析问题。基于以上分析,专家系统为解决此问题的最佳方案。本论文设计的专家系统包括:知识库系统,知识表示,知识获取和推理技术。知识库系统:本文的知识库结构是分层的。第一层是数据,它等同于一般知识库中的事实知识;第二层是数据、模型知识和规则,是在对获得的数据进行统计分析后得到的。通过一系列定量标准,用于评价多层次人才的人格,智力,各种能力和基本素质。这里的规则是通过模型计算,归纳和推理获得的结果。知识表示和知识获取:专家系统通常强调其知识本身的内容,而不仅仅是公式推理方法。第一个原因是:首先,最困难但有趣的问题,没有易于处理的算法解决方案。这是因为许多重要的工作都来自复杂的社会或自然科学环境,并且复杂的环境常常使精确的描述和严格的分析变得困难。多层次人才综合素质评估专家系统具有以下特点:一是人才被视为动态的多维系统,与一般的物理评估系统不同,对人的评估具有很大的不确定性、随机性和歧义等;其次,就确定领域专家而言,它与现有的一般医学诊断专家系统还有着很大的不同。原因是其在人才领域里,领域专家尚未组成一组权威专家,他们涉及多个学科,给评估带来非常大的不确定性。目前尚无公认的诊断和评估人才的标准。另外,专家系统中现有的数学符号和数学推理方法不能提供一种知识表达,这种知识表达可以在几个不同的抽象级别的对象上进行描述。提出问题,确定问题解决的根源,加强合作过程控制,并在对问题的推理中积累对各种源知识的表达方法。本文采用过程表示和生产表示作为专家系统中知识的表示方法。在本文的综合人才动态多维评估及其团队优化专家系统中,其表达方式为:IF(如果单个人才测验是准确的),THEN(搜索维度因子);IF(如果科目符合维度因子排名),则THEN(确定人才类型)。因为生产规则的优点更接近人们的思维方式,并且规则相对独立,所以其他人很容易理解。它的缺点是僵化和水平表达薄弱。预测的连续关系不能在推理过程中被忽略,而必须逐步地进行匹配,这降低了推理的效率。在该系统中,由于对人才的综合测验更加全面,所获得的结果之间存在一定的匹配关系,各种人才与多维因素之间的连续关系也很清楚,因此系统本身的功能和其他表达方法的组合应用可以克服生产规则的不足。知识获取在此专家系统中的作用为修改或添加知识库中的知识。知识获取手段使用的三种方法:自动获取,半自动获取和反馈。自动是系统的功能,自动使用知识获取,根据系统的实际应用结果,自动修改或添加知识,即系统可以根据实际情况自动总结和得出经验,并可以将此经验添加到知识库中;半自动是根据实践的结果,系统可以发现某些原始知识有错误或需要添加新知识;反馈类型是领域专家根据实际需要发现和修改原始知识或添加新知识。推理技术。推理技术在多层次人才多维评估专家系统中的目的是利用知识库的知识,根据一定的策略,对人才测评结果给出最终的解释。主要解决人才评测中的综合测评问题。其中的一组功能是推理引擎,它包括了对人才事物的正向和反向推理机制。2.3两层智能代理体系结构2.3.1后端架构模块根据功能的不同,我们提出的架构可以分为两个主要阶段后端(图1)和前端(图2)。架构的后端阶段:后端阶段的两个主要模块分别是数据预处理和模式挖掘。在这一阶段中,我们可以对公司员工档案进行数据预处理和挖掘,用于获取已知的模式,然后对模式进行丰富并添加有效的数据,在领域专家的帮助下增加规则。对于招聘人员发布的任何职位,人力资源领域专家都会根据自己的专业知识和推断出的模式来准备有效的规则。这些有效的规则需要与申请人相匹配。图数据预处理大部分人力资源数据是敏感的,它们需要被存储在不同的地方。在进行挖掘之前,要对数据进行预处理,以保证数据的丰富性。1.数据选择:从员工档案中选择数据进行辅助挖掘。挖掘目标有三个重要属性:员工绩效、留任失败和明确辞职。辅助数据有人格测评、学历、经验各种技能能力等。选择数据并将其加载到表1所示的模式中。2.数据清理:排除了年龄、性别和军衔等属性,以避免在个人资料模式中对员工的歧视。3.数据丰富:通过将所研究的高校分为A、B、C三类,丰富了档案简介的高校属性。4.数据转换:采用关系数据库表格式,仅限于表1中用于加载数据的模式。我们已经在系统中开发了绩效评估组件。它基于绩效属性分析每个员工的绩效,如技术专长、个人能力、基础素质、团队合作行为和对知识改进的兴趣。此组件为每个员工生成等级值,并将其存储在绩效模式中。保留率是一个关键问题因为大多数公司在新员工身上投入了大量资金。根据人力资源部的经验,如果一名员工在试用期的6个月内辞职,那么招聘过程就失败了,投资培训也就白费了。我们准备了一年内离开公司的员工简介。在保留模式中记录了保留失败的原因。当公司员工因自身原因明确辞职时,人力资源部及该员工的直属经理会对其进行面谈并记录原因,例如显式模式中的内部退出或外部拉入。表领域专家模式挖掘在后端阶段的挖掘步骤中,通过加入关联规则对加载的数据进行关联规则挖掘,不同规则会有不同的模式。关联规则是一组项目与另一组项目之间的相关性。在关联规则挖掘过程中,发现的候选规则应满足85%的最小支持度和65%的置信度。当候选规则接近支持度时,则将其交给域专家进行验证。我们开发了一个基于java的数据挖掘采集系统来实现数据挖掘算法。Apriori算法被我们采用对所有的数据集进行分析。下面显示了我们使用Apriori方法从加载的数据源中推断出的有趣模式的摘录。通过加入performanceandprofile模式,我们可以获得一个员工档案,档案按照候选规则显示,并具有极好的支持度和置信度。在知识获取组件的帮助下,将挖掘出的数据和领域专家贡献的规则转换成“序言”表示形式,添加到知识库中。从中观察到的证据可以存储为序言事实。2.3.2前端架构模块在我们系统的前端阶段,如图2所示,求职者将简历提交给tagger。它将简历转换为XML标记的简历,并将从标记的简历中提取的所有事实加载到知识库中。当一个HR收到查询后,人才评估推理机(TEIE)根据后端在知识库中建立的规则库运行,查找匹配和申请人申请人相符合的事实事件。TEIE根据有效的匹配计数和向HR人员提供一个列表给出建议。1.Tagger:它是一个智能简历处理组件,作用是将应聘者简历拆分并生成XML标记的简历。2.XQUERY是在XML标记的简历上执行的,用于进行知识获取。3.人才评估推理引擎:TEIE的主要作用是根据已经建立的知识库对每个应聘者的简历进行评估,选择达到最大匹配数的申请人。我们通过制定数据挖掘和领域专家相结合这样的方式评估每个申请人简历检查的结果。TEIE是按照自顶向下的推理机制来推理事实的。此外,应聘者还可以向TEIE发布查询,以找到与其简历相匹配的空缺职位。InterProlog使Java能够通过prolog对象调用任何prolog目标,并使prolog能够通过Java消息调用任何Java方法。图2相关开发工具和技术原理3.1Java概述3.1.1Java简介Java是一种面向对象的第三代编程语言,可以编写许多跨平台的应用程序。1995年5月,它由AmericanSun公司推出。Java不再是像C这样的面向过程的语言,也没有像C++中指针这样的许多复杂的机制,很难理解。确切地说,Java是一种纯粹的OOP语言。一切都可以看待成对象,在Java的世界当中。正是由于这种存粹的思想,才开创了创建程序员的思想,催生了更高级的编程技术。同时,Java具有面向对象,平台可移植性,分布式开发,多线程和高安全性的特征。1.面向对象Java为一种面向对象开发的语言。此处的对象是指封装数据及其操作方法的程序实体。2.平台可移植性Java程序的架构和开发顺序与Java的体系结构无关,因此Java程序员可以轻松地将已经写好的代码框架移植到网络中的其他计算机上。Java类库还实现了不同的接口,因此也可以移植这些类库。3.分布性Java的分布性包括操纵分布性和数据分布性。操作分布是指相关操作被部署在多个不同主机上。数据分布则是指将不同的数据存储在不同的主机上,这些主机是互联网网络的不同成员。Java可以通过剪接url对象来访问网络对象,并且访问方法与本地系统相同。4.多线程Java具有多线程机制,该机制允许应用程序并行执行,其同步机制还确保共享数据的共享操作,并且线程优先级机制有助于使用不同的线程来完成特定的行为。它还提高了交互的实时性和响应能力。5.安全性Java程序代码在运行之前必须经过许多测试步骤,例如代码验证和指针验证等。因此,未经许可的Java程序是不被允许运行在系统上的,更不可能损坏系统平台。除此之外,Java可以用于编写防病毒和防未授权的篡改等系统。3.1.2开发工具IDEAIntelliJIDEA是IDEA的全称,作为Java开发的集成环境,IntelliJIDEA被公认为业界最佳的Java开发工具之一。IntelliJIDEA的每个方面都是经过专门设计的,其目的是可以最大程度地降低开发人员的代码开发难度,提升代码开发效率。静态代码分析和人体工程学设计不仅使开发效率高,而且使用户获得了愉悦的体验。IntelliJIDEA通过对程序员的源代码进行索引,自动判断,并在每种情况下提供相关建议来提供快速和智能的体验:迅速和精巧的代码块完成,动态代码分析和可靠的代码重构工具。相比MyEclipse,IDEA拥有更好的项目管理方式和更高的代码开发效率。综上原因,本论文使用IDEA平台作为开发工具。3.2MySQL数据库简介3.2.1MySQLMySQL是由瑞典MySQLAB公司开发的关系数据库管理系统,目前属于Oracle产品。MySQL当前是最流行的关系数据库管理系统(RDBMS)之一。MySQL是真正意义上的多用户,多线程的SQL数据库服务器。SQL(数据库结构化查询语言)作为世界上最流行和最受欢迎的标准数据库语言,通过它,存储数据,更新数据和访问数据信息都将变得比以前更加容易。同时,MySQL是客户端与服务器架构的实现,它由服务器守护程序mysqld和多种多样不同的客户端程序和库组成。快速,健壮和易于使用是MySQL被设计出来的初衷,也可以说是MySQL的主要目标。MySQL自身是不支持Windows图形界面的,因此,所有的数据库操作只能在windows平台下的MS-DOS模式下完成。首先第一步必须登录到MySQL服务器,即在提示符\MySQL\BIN>下输入MYSQL-uroot-ppassword,并且当提示符更改为mysql>时,登录成功。然后第二步选择要操作的数据库,通过usedatabases命令完成对数据库的操作。之后就可以使用SQL语句进行查询,完成对数据库的增、删、改、查等操作。如果需要退出数据库服务器,则可以执行quit命令,它将成功退出服务器。具体操作如下图3所示。图33.2.2数据库连接工具NavicatNavicat是一组数据库管理工具,可以连接到主流数据库管理系统,例如SQLServer,MySql,Oracle等。它简化了数据库管理,,创新了数据库操作方式,简化了开发人员的操作,并降低了数据库管理的成本。由于Navicat基于图形用户界面,因此开发人员可以直接使用Navicat提供的功能,而无需在命令行中输入SQL语句,因此他们可以直观地操作数据库,管理数据以及实现诸如添加,删除,修改和检查等操作。Navicat提供便利的同时,也保证了安全性。开发人员无需担心数据泄漏的风险。Navicat也有非常多不同的版本供开发和初学者使用,比如NavicatforOracle、NavicatforMySQL等等。在该项目中,使用的是NavicatPremium15版本。如图4所示。图43.3Tomcat简介Tomcat作为前端Web服务器开发工具,是ApacheSoftwareFoundation公司的Jakarta项目的核心项目,由Apache,Sun和其他一些公司和个人共同开发该项目。Tomcat服务器是一个免费的开源Web应用程序服务器,它是一个轻量级的应用程序服务器。通常中小型系统以及并发用户不多的地方会使用Tomcat。它是进行程序开发和调试JSP程序的首选。对于初学者而言,可以认为在计算机上配置Apache服务器时,可以将其用于响应HTML(标准通用标记语言下的应用程序)页面访问请求。实际上,Tomcat是Apache服务器的扩展,但是它在运行时是独立运行,因此,当您运行tomcat时,它实际上是与Apache运行分开的两个进程。3.4SSM三大框架3.4.1Struts2框架框架是什么?我们都知道,同一种事物有很多相似之处,比方说人都有身躯、四肢和头脑,而且人和人之间,从某种程度上讲,都是相同的地方多于不同的地方。软件也是一样,他们都是同一类事物,而且他们相同的地方要多余他们不同的地方,而我们的框架是通过提取软件之间的相同部分而形成的。因此,该框架实际上是具有通用软件功能的半成品软件。我们把软件的“共性”功能称为应用程序,把软件的“个性”功能称为业务组件。一个良好的框架应该具备如下特征:经过测试它们在其他程序上运行稳定。可以在不同项目中重复使用。对外提供扩展的功能。Struts2框架其实是一种改进的MVC框架。以WebWork的优秀设计思想为核心设计出来的struts2,吸收了Struts框架的一些优点,并提供了Web应用程序框架的更简洁的MVC设计模式实现。Java三层模型和MVC使我们的Java软件分为:页面,控制层,业务层和传输层,而Struts2框架是页面和控制层中的框架。MVC模式可以更方便地被Struts2框架实现。MVC模型的传统实现的缺点是:(1)当JSP将参数传递给Servlet时,我们需要自己将数据封装到JavaBean中。(2)验证表单参数非常不方便。(3)请求参数都是String类型,因此您需要自己将String转换为其他类型。(4)如果您希望Servlet不再转发到a.jsp,而是转发到b.jsp,则需要修改Servlet源代码。(5)实现国际化时,过于繁琐和麻烦。Struts2框架可以很好地改善传统MVC模型的缺点!WebWork被作为Struts2框架的核心,而WebWork的核心是Xwork。因此,从功能上说WebWork的核心就是Struts2的核心。Struts2的核心功能:(1)类型转换;(2)输入校验;(3)上传下载;(4)拦截器;(5)国际化。Struts2框架的执行过程非常简短并且清晰。首先,Struts2使用“前端控制器”来接收所有请求的页面,它将完成所有请求的“公共”部分。然后,“前端控制器”通过发送框架配置文件,可以将请求“分发”到“业务控制器”上,具体执行流程如图5所示。图5上图中的前端控制器负责接收所有页面请求和预处理(即处理请求的公共部分),然后根据请求将它们与Struts2配置文件struts.xml配对,然后查找根据匹配结果进行寻找相应的业务控制器。由业务控制器(这里的业务控制器称为Action,等效于JavaWeb中的Servlet)进行处理。业务控制器动作是处理请求中个性的部分。在Struts2中,Filter被称作前端控制器,Filter其实就是一个过滤器。我们都知道Filter需要在web.xml文件中进行配置。又因为所有的页面请求都是由前端控制器负责接收的,所以这个Filter的拦截路径<url-pattern>的写法就应该是“/*”如下图6所示。图6Struts2框架的配置文件有:(优先级由低到高)1.perties。该文件位于Struts-core.jar\org.apache.struts2\perties中,并且包含常量的默认值。2.struts2-default.xml。该文件位于struts2-core.jar\struts2-default.xml文件夹中。它定义了拦截器,结果类型和bean。3.struts-plugin.xml。安装插件时,此文件需要包含在插件的jar包中。4.struts.xml。该文件需要我们自己在src目录中创建。这是我们编写的最重要的配置文件。5.perties。还需要在src目录中创建此文件。该文件的功能是配置常量,但是我们通常不在此文件中而是在struts.xml文件中配置配置常量。因此该文件很少使用。6.web.xml文件是Web项目的配置文件。它也与struts2有关。如前所述,该文件中配置了struts2的前端拦截器。在此文件中,我们还可以配置Stuts2的常量。3.4.2Spring框架Spring框架是由RodJohnson创建的一个开源框架。Spring框架设计的初衷是为了降低企业应用程序开发中的复杂性。Spring框架使用基本的JavaBeans技术完成以前只能由EJB完成的工作。可是和EJB不同,Spring的使用不仅仅限于服务器端的开发。从程序可测试性、简单性和松散耦合几个角度来看,几乎所有的应用程序都能从Spring框架中受益。简而言之,Spring是反转控件(IoC)和面向切面(AOP)容器框架的轻量级反转。轻量。就大小和开销而言,Spring是轻量级的。在大小仅为1MB的JAR文件就可以发布完整的Spring框架。并且因为Spring所需的处理开销非常小,因此也可以忽略不计。此外,Spring框架是非侵入性的:通常来说,Spring应用程序中的对象是不依赖于Spring的特定类的。控制反转。Spring通过一种称为控制反转(IoC)的技术来促进耦合。应用IoC时,对象依赖的其他对象将以被动方式传递,而不是创建对象本身或直接查找依赖对象。可以认为IoC与JNDI相反-并不是对象从容器中找到依赖项,而是在初始化对象时容器主动将依赖项传递给他,而无需等待对象的请求。面像切面。Spring框架为所需技术方面编程提供了丰富的支持,通过将应用程序业务逻辑和系统级服务分开来进行紧密的开发。应用程序对象仅仅被用来实现它们应该完成的业务逻辑,仅此而已。它们不负责(甚至不知道)其他系统级问题,例如日志记录或事务支持。容器。Spring框架中包含并管理应用程序对象的生命周期和应用程序对象的配置。从这个意义上讲,它是一个容器,可以根据可配置的原型(原型)配置每个Bean的创建方式,一个Bean可以创建一个单独的实例,也可以每个实例创建一个新实例。彼此相关。但是,不应将Spring与传统的重量级EJB容器混淆,后者通常体积庞大且难以使用。框架。Spring可以配置简单的组件,并将它们组合到复杂的应用程序中。在Spring中,应用程序对象通常以XML文件的形式进行声明式组合。Spring还提供了许多基本功能(事务管理,持久性框架集成等),将应用程序逻辑的开发留给了开发人员。Spring框架提供的所有这些功能可以帮助开发人员能够快速地编写更简洁,更方便管理且更易于测试的代码。同时,这些开发人员还在Spring中为各种模块提供基本的技术支持。Spring的任务是使J2EE易于使用。OOP设计比其他任何实现技术(例如J2EE)都更重要;面向接口的编程,而不是类编程。Spring将使用接口的复杂性降低为零;该代码应易于测试;Spring框架将帮助开发人员简化代码测试;JavaBean提供了最佳的应用程序配置方法。在Java中,检查的异常被过度使用。该框架不应强迫您捕获不可恢复的异常。Spring框架模块组成。如图7所示.图7(1)SpringCore是Spring框架的最基本部分。它提供了依赖注入(DependencyInjection)功能来实现Bean的容器管理。任何Spring应用程序的核心是SpringCore。(2)SpringContext是一个应用程序上下文模块。SpringContext核心模块的BeanFactory组件使Spring框架成为一个容器,而上下文模块则使它成为了一个框架。SpringContext模块不仅扩展了BeanFactory组件的概念,还增加了对国际化消息,事件传播和验证的支持。(3)SpringAOP为面向切面的编程提供了丰富的支持。该模块是Spring框架应用程序可以实现切面编程的基础。为了确保Spring和其他AOP框架之间的互操作性,Spring的AOP支持AOPAlliance定义的API。(4)SpringDAO。使用JDBC面临的一个问题就是通常会导致很多重复性高的代码。处理这些重复性代码通常需要获得连接,创建语句,处理结果集,然后关闭连接。但是Spring框架的JDBC和DAO模块提供了全新的解决方案。JDBC和DOA模块会提取这些重复代码,这样可以保证数据库访问代码简洁明了,并可以防止因关闭数据库资源失败而导致的问题。(5)ORM对象/关系映射集成模块。对象/关系映射工具。SpringORM不会尝试实现自己的ORM解决方案,但是会为几种流行的ORM框架提供集成解决方案。(6)SpringWeb。提供面向服务的支持。应用程序上下文模块被建立在Web上下文模块之上,并提供适用于Web应用程序的上下文模块。(7)SpringMVC。Spring提供了用于构建Web应用程序的全面MVC框架。尽管Spring可以轻松地与其他MVC框架集成,但是SpringMVC框架使用IoC来提供控制逻辑和业务对象的完全分离功能。3.4.3Hibernate框架Hibernate是一个基于JDBC和出色的ORM实现的开源持久性框架。Hibernate框架大大简化了DAO层的编码工作。Hibernate通过封装JDBC来访问数据库的代码,从而极大地简化了数据访问层的繁琐和重复的代码。Hibernate作为一个开源的对象关系映射框架,封装了非常轻量级的JDBC对象,并在POJO和数据库表之间建立了映射关系。作为一个全自动的ORM框架,Hibernate可以自动生成SQL语句并执行。这样就允许Java程序员使用对象编程思想来按照实际需要来操纵数据库。Hibernate可以在使用JDBC的任何情况下使用。它可以在Java客户端程序和Servlet/JSPWeb应用程序中使用。最具革命性的事情是,Hibernate可以使用EJB取代JaveEE体系结构中的CMP。完成数据持久化的重要任务。Hibernate语言特征(1)利用Java对象上的操作完成对数据库的操作,从而达到简化开发的目的。通过修改“持久”对象的属性来修改数据库表中的相应记录数据。(2)提供线程和进程缓存以提高应用程序性能。(3)通过各式各样的映射方法将Java对象之间的关系转换为数据库表之间的关系。(4)不同数据库实现之间的差异可以被屏蔽。在Hibernate中,开发人员可以以“方言”的形式指定当前使用的数据库,并且可以根据基础数据库的实际使用情况,生成专门合适的SQL语句。(5)非侵入式:Hibernate的特性支持它不需要持久化类来实现任何接口或继承任何类,只需POJO即可。有6个HibernateAPI,分别是:会话,SessionFactory,事务,查询,条件和配置。通过这些接口,可以执行持久对象的访问和事务控制。(1)Configuration类对Hibernate的配置信息负责。(2)SessionFactory对象根据当前配置信息生成一个SessionFactory对象。构造SessionFactory对象后,将为它提供特定的配置信息和预定义的SQL语句。(3)Session。它是Hibernate操作的中心。Session是数据库之间交互操作和应用程序之间的单向对象。所有持久性对象必须先由Session管理,然后才能持久化。(4)Transaction。表示原子操作,即特定数据库事务的概念。所有持久层都应在事务管理下执行,甚至是只读操作。常见方法:commit():提交关联的Session实例;rollback():取消事务操作;wasCommitted():检查事务是否已提交。(5)Query和Criteria。两者都是查询接口。Query实例封装了HOL查询语句,而Criteria接口则是完全基于字符串形式查询语句的封装。Criteria字符串比Query接口更面向对象,并且更擅长执行动态查询。Hibernate框架的运行过程解析。首先,应用程序开始调用Configuration类,接着Configuration类会读取Hibernate配置文件和映射文件中的信息。然后程序会从SessionFactory对象中生成一个Session对象,并通过Session对象生成一个Transaction对象。完成Hibernate框架的运行。可以加载,保存,更新,删除PO,并且可以通过以下方法执行其他操作:get(),load(),save(),update(),delete()和save()会话对象。对于查询,可以通过Session类生成Query类对象,然后通过该Query对象来执行查询操作;如果程序运行一切正常,Transaction对象就会把这些操作提交给数据库。具体运行流程如图8所示.图83.5B/S框架和MVC架构3.5.1B/S框架简介B/S体系结构(浏览器/服务器,浏览器/服务器体系结构)是当前最受欢迎的网络体系结构模型。此模式的客户端由浏览器执行,其优点之一是客户端简单易维护。因为浏览器的开发是每个浏览器制造商的责任,所以系统开发人员不需要参与其中,而只需要负责服务器端系统的实现。另外,不需要在服务器端运行大量程序。通过这样的设计,可以优化并释放服务器上的大量资源,同时还极大地降低了服务器端程序开发和后续维护的成本。用户也很容易使用。用户只需要在计算机上安装浏览器(例如Firefox,IE,Google等),而无需下载特殊的客户端软件(例如QQ)即可轻松访问所需的系统或网站。3.5.2B/S框架工作原理B/S框架的工作原理非常的简单。首先用户打开浏览器,在浏览器的地址栏中输入自己想要到达的网址信息,即用户通过前端浏览器向服务器发送请求。成功发送请求后,服务器将处理收到的请求。在处理过程中,主要是解析请求信息。如果此过程需要访问数据库,则服务器将继续访问数据库以获得所需的数据,并与服务器内部的逻辑处理程序结合在一起,以最终找到用户所需的资源。响应返回给用户。最后,用户可以在显示器上看到显示的页面。具体原理如图9所示。图9一个典型的基于B/S的三层体系结构(如图10所示)。三层体系结构(三层应用程序)通常,三层体系结构将整个业务应用程序划分为:表示层(UI),业务逻辑层(BLL)和数据访问层(DAL)。划分层级的目的是为了实现“高内聚,低耦合”的设计理念。表示层(UI):用外行的术语来说,它是呈现给用户的界面,即用户在使用系统时看到和获得的东西。业务逻辑层(BLL):专门针对特定问题的操作,主要是对数据层中业务数据的操作和对数据业务逻辑的处理。数据访问层(DAL):该层中的事务是对数据库的直接操作,主要用于诸如添加,删除,修改,更新和搜索数据的操作。图103.5.3MVC架构MVC的全名是ModelViewController,是Model-view-controller的缩写。它是软件设计的模型,并使用分离业务逻辑,数据和界面显示的方法来组织代码。将业务逻辑整合到一个组件中,同时改进和自定义界面和用户交互,而无需重写业务逻辑。MVC是专门开发的,可以在逻辑图形用户界面结构中映射传统的输入,处理和输出功能。MVC本身并没有引入新功能,而只是帮助更合理地组织开发结构,将显示与模型分开以及将流控制逻辑,业务逻辑调用和显示逻辑分开。具体架构如图11所示。。图11MVC三元组的概念。Model(模型):该数据模型提供了用户要显示的数据,它包含了数据和行为。可以将该模型视为域模型或JavaBean组件(包括行为和数据)。但是现在它们通常是分开的。ValueObject(数据)和服务层(行为)。也就是说,模型提供了诸如模型数据查询和模型数据状态更新(包括数据和业务)之类的功能。View(视图):负责模型的显示,通常是我们看到的图形用户界面,即客户想要看到的内容。Controller(控制器):控制器用来接收用户发出的请求,并将请求委托给模型进行处理(状态更改),然后会把处理后的模型数据返回给视图,由视图负责显示。换句话说,控制器完成调度程序的工作。同时,从视图中可以发现模型可以主动推送数据以在标准MVC中更新视图(观察者设计模式,在模型上注册视图,并在模型更新时自动更新视图),但是在Web开发中更新模型时,由于Web开发是请求-响应模型,实际上,Web服务器无法主动通知Web客户端进行更新,因此无法主动推送至视图(无法主动更新用户界面)。内容。系统可行性分析4.1系统可行性分析概述在进行开发项目之前,开发人员通常必须考虑以下问题:项目是否具有这样做的价值;是否可以在现有条件和规定时间内完成;完成后,该项目将带来整个团队的利益等等。这一系列要考虑的问题可以视为对该项目的可行性研究。可行性研究的目的是在确保符合团队利益的基础上,使用最精简的资源来探讨是否可以按要求完成该项目。此外,可行性研究的目的不是需要针对特定的问题提出具体的开发计划,其主要目的是先行探索并解决开发中可能出现的问题。在系统开发生命周期中,由于系统开发人员对市场的不完全理解,对技术的熟练掌握,对项目风险因素的估计不足等原因,在合理的情况下无法解决许多问题。如果开发人员可以提前预测可能出现的问题,并在讨论之后无法做出合理的回应,则应取消该项目的开发。这样,可以避免在人力和物力上不必要的损失。系统可行性研究的主要过程是:项目分析师对客户提出的项目计划进行简短的需求分析,并在此基础上使用一些绘图工具或原型工具来获得系统的逻辑模型,然后使用逻辑模型探索许多不同的解决方案,最后从这些解决方案中找到成本最低的解决方案,然后继续进行更深入的讨论。可行性研究通常可以从经济,技术,运营和法律四个角度讨论项目的可行性,也可以使用户一目了然地了解项目的总体规格。通过阅读以下大量参考文献得出的结论将从以下四个方面进行仔细分析:(1)经济可行性:从“成本效益分析”的角度,通过对货币时间价值,投资回收期和净利润的研究,来考虑项目成本与收益之间的关系。(2)技术可行性:从开发者的角度,检查他们是否具有开发该项目的技术和综合素质;从项目组成的角度,检查项目的结构是否合理,以及未来的开发和运营过程中是否存在错误;从项目运行的条件出发,检查相应的软硬件环境是否可用。(3)可操作性:项目的可操作性在其领域是否可行。(4)法律上的可行性:确保他人在政治或社会上的权益不会被项目开发所侵犯,也不会违反任何法律或法规。主要从版权和专利方面。4.2项目评估项目名称:基于JavaEE的在线人才评测系统。主要用户:个人和企业、事业单位。关键技术:Java、MySQL、Tomcat、SSM框架、MVC模型。运行环境:windows操作系统。前台功能:呈现出用户想要的操作界面,界面布局应满足视图美观、布局合理,具备一定的用户验证功能等特性,并可以对用户进行具有引导性和提示性的操作。后台功能:在包括注册,登录和信息修改在内的用户管理方面,可以实现数据库的添加,删除,修改和查询等基本功能。另外,其他功能围绕“人才评估”的行为活动,主要包括浏览各种信息,智能筛选和处理履历信息以及智能显示最终评估结果。通过分析,在现有的人力和技术条件下,可以在指定的时间内按照上述要求实施该项目,并且有足够的时间对其进行测试和调试,以确保该项目的成功和正确性。所以总的来说,该项目具有发展的可行性。4.3系统需求分析需求分析是基于确定系统是否可以开发,客户对系统的口头概述,通过开发人员的分析和总结之后,抽象为特定的需求和用例,然后形成需求规格说明的标准软件开发过程。可行性研究旨在探讨目标系统是否值得使用现有资源进行开发,以及是否可以使用现有技术解决问题。需求分析旨在回答“系统应具有的功能”问题,以确保将来开发的系统可以满足客户的需求。本文设计的在线人才评测系统主要的目标群体为个人用户和企业用户(包括企业、事业单位和专业的人才测评机构)。对于个人用户:注册验证个人信息,身份验证成功后可以登陆系统。上传个人的简历、学历等信息并查看人才评测结果。企事业、机构用户和个人用户之间可以进行联系。可以对自己的信息进行增加、删除、改修、查询等基本操作。系统管理员拥有权限进行用户管理。对于企业用户:1)企业、人才机构HR注册时需要进行验证,确定身份后可以登陆系统。2)企业、人才机构HR可以查看人才信息,或检索自己想看的人才信息。3)企业、人才机构可以管理本地人才信息。4)企事业、机构用户和个人用户之间可以进行联系。5)系统管理员拥有权限进行用户管理。个人用户和企业用户登陆后可以进入智能人才评测引擎系统,个人用户可以查看自己的人才评测结果,企业用户可以根据系统给出的评测结果来检索、查看和管理人才,找出符合自身岗位需求的最匹配人才。模型图如图12所示。图124.4数据库需求分析数据库系统设计的目标是:对于给定的应用程序环境,可以建立一个性能良好,满足不同用户需求并可以被所选DBMS接受的数据库系统模型。通常来说,数据库系统模型的建立应该能够完全反映现实世界中信息与信息之间的交互关系;并且可以有效地存储数据;它可以轻松地执行各种数据检索和处理操作;并且有利于数据处理维护和数据控制管理工作。数据库系统设计需求分析的主要内容包括:数据库结构特征需求分析,数据库行为特征需求分析,数据库物理模式设计分析。在数据库系统设计需求分析过程中,数据库结构特征需求分析起关键作用,行为需求分析起辅助作用。只有将数据库的结构特征需求和行为特征需求结合起来,相互参照,同时进行,才能更好地达到数据库的设计目标。数据库需求分析在数据库开发的前期是非常重要的。数据库需求分析作为整个数据库设计的基础和出发点,囊括了本项目所包含的所有数据信息流,数据类型、数据类别和所需要的数据量级。也是涉及数据库内容的软件程序开发的重要基础。一般新系统中数据的逻辑模型会用实体连接图(ER图)来描述。系统的ER图如图13所示。图13该E-R图包括:企业用户实体、个人用户实体、和权限管理员这三个组成部分。其中,个人用户实体主要用来存储人才个人的人才信息,包括个人基本数据情况和自我测评、简介等基本信息。其目的是在人才测评过程中提供源信息供系统进行数据分析。企业用户实体则用来存储公司的信息,主要是为了让系统可以更加逼真的模拟实际应用中企业的需求。从而得出最接近事实的人才评测结果。权限管理员则是作为管理数据库的维护人员,负责整个数据库数据的开发和维护。系统设计5.1系统功能设计通过系统需求分析可以看出,该系统通过对用户类型的区分,分为企业用户和个人用户。同时设立一个系统管理员来管理该系统的所有用户。个人用户登陆后,可以注册填写个人信息,完成在线人才评测报告,完成后可以在线查看自己的评测报告。企业用户注册登陆后,可以在该系统的数据库中查看人才评测报告,并根据自己企业岗位的需求,联系和岗位匹配度最高的人才。系统功能如图14所示图145.2系统总体设计5.2.1系统设计思想和设计流程系统整体以Windows环境和B/S架构为基础进行开发。后台运用Java语言,结合Jsp技术,进行主要功能的开发。前台运用HTML+CSS技术,结合Jquery插件与Ajax技术,编写出用户体验良好的界面。数据库采用MySQL语言进行建库、建表等操作;服务器端则利用MyBatis框架与数据库进行交互。系统总体的设计思想秉承着“方便、快捷、高效、准确”的理念。采用SSH框架、MVC体系搭建。这样可以使得后端数据的处理和前端显示分离,大大提高系统对数据的处理速度,让用户获得更好的系统使用体验。同时按照现在社会对系统开发安全性的标准,个人用户和企业用户在使用该系统前都需要注册个人和企业信息,然后进行登陆。在注册完成后,登陆模块会判断用户输入的登陆信息与之前的注册信息是否一致,从而决定是否让用户登进系统进行后续的操作。除了专门的注册功能外,该系统中,所有其他功能系统均是建立在成功登陆系统的前提下,以此来保证系统内用户数据的安全。系统设计流程图如图15所示。图155.2.2系统体系架构本系统整体采用三层架构对其功能进行划分,三层设计的优势在于:可以使整个系统结构清晰,各部分的功能明确,各个模块各司其职,从而可以使开发人员对特定功能模块的针对性得到提高,开发效率大大增加。同时,系统分层可以增强系统后期的可维护性和可扩展性。降低系统后期的使用和维护成本。系统体系架构如图16所示。图16表现层:表现层负责将数据信息以视图的形式展现。个人和企业用户通过表现层将不同的请求数据信息发送到servlet,servlet通过接收到的不同的用户请求信息调用不同的业务逻辑功能,将获取到的数据交给jsp,由jsp最终呈现到用户的面前。业务逻辑层:本系统中业务逻辑层的功能就是使用数据层得到的数据,对功能模块图中所有的业务逻辑进行处理。数据层:数据层通过MyBatis技术实现数据库交互,实现对个人用户信息、企业用户信息-人才评测报告信息的增、删、改、查等操作。这三层之间是从上到下、层层依赖的关系。表现层要依赖于业务逻辑层进行页面的跳转,业务逻辑层又要依赖于数据层得到的数据对业务逻辑进行判断。层层嵌套,共同完成系统的设计功能。5.3数据库设计5.3.1数据模型本系统采用MySQL关系型数据库。其中的数据模型主要有:个人信息:ID、账号、密码、姓名、生日、性别、个人简介、学校、专业、联系方式。企业信息:ID、账号、密码、公司名称、职位。评测报告:个人信息ID、企业信息ID5.3.2数据表设计个人表图17个人表用来存储个人用户的信息。其中,PersonID字段为该表的主键,是每个人身份的唯一标示。PersonalFile存储的是个人简介信息。企业表图18企业表用来存储企业用户的信息,本企业表包含的企业信息较少,主要是用作企业查看评测报告使用。其中CompanyID是字段为该表的主键,是每个企业用户唯一的身份标识。评测报告图19评测报告表用来存储评测报告结果。其中,PersonID和CompanyID均为主键,通过主键索引个人用户和企业用户都可以查看人才评测报告。总结时代的车轮滚滚向前,中国在互联网技术的创新和革新上也越来越走在世界的前列。越来越多的互联网创业公司诞生,越来越多的社会和用户群体被互联网的浪潮所洗礼。随着互联网的普及,整个社会都在朝着信息化、智能化、无人化的方向发展。在这个信息时代,用户对互联网产品的需求达到了前所未有的高度。互联网为社会带来的便捷,快速和具有成本效益的体验对于提高用户的生活质量是不

温馨提示

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

评论

0/150

提交评论