招聘求职信息网站的设计与实现_第1页
招聘求职信息网站的设计与实现_第2页
招聘求职信息网站的设计与实现_第3页
招聘求职信息网站的设计与实现_第4页
招聘求职信息网站的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

招聘求职信息网站的设计与实现论文题目招聘求职信息网站的设计与实现姓名方圆学院东北大学东软信息学院专业计算机科学与技术指导教师刘振宇讲师备注年6月3日招聘求职信息网站的设计与实现作者姓名:XX指导教师:XXX讲师单位名称:计算机科学与技术系专业名称:计算机科学与技术东北大学东软信息学院6月DesignandImplementationofJob-ApplicationInformationWebsitebyXXXXSupervisor:LecturerXXXXNortheasternUniversityNeusoftInstituteofInformationJune毕业设计(论文)任务书毕业设计(论文)题目:招聘求职信息网站的设计与实现设计(论文)的基本内容:招聘求职信息网站的设计与实现是采用在NEO框架上基于webwork和JDBC技术的开发。招聘信息网站解决了个人用户因为一些原因不能参加招聘会从而失去了好的就业机会这个问题,方便了个人用户,在网络上寻找工作机会,同时方便企业用户找到合适的人才,节省了时间和成本。论文中包含系统的整体设计,功能模块设计,代码片段分析,系统设计,界面设计讲解,还根据所应用的技术进行了相关技术的介绍,还包括数据库设计,针对系统运行的时进行测试结果的介绍,同时根据系统整体做了结论是的阐述,而且还分析当前国内外针对本系统开发之间的区别,同时也对整个系统做了最后的总结介绍。毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第1周指导教师签字:12月1日招聘求职信息网站的设计与实现摘要进入了21世纪,我们每天的工作和生活都和网络息息相关,面对面的交流已经逐渐被网络交流所取代,大家上网聊天,远程工作,网上购物等等,网络上的活动越来越频繁,再加上招聘会时间的固定性,越来越多的人选择在招聘信息网站上申请账号,更新自己的个人简历,寻找合适自己的工作岗位,而企业也经常在一些主流招聘网站上投挂自己公司需要的职位信息列表,不需要经常开展大型的招聘会就能够找到适合的人才,这样既找到了合适的人才,又降低了成本缩短了时间,因此广泛受到企业的喜爱。因此由此可见,招聘信息网站的建立是十分必要的,能够使求职与招聘变得非常方便,轻松。我的这个招聘信息网站就是在自身的求职过程中,体会到招聘信息网站的重要性,因此选择在大学的最后阶段以此为题目,来展示自己大学的学习成果,而且希望能够帮助到正在找工作的同学找到合适的职位。我所作的招聘信息网站主要是以Webwork为主要开发技术经过Web方式,以网络的形式来进行个人用户的注册,企业注册,用户管理,查询职位信息,申请职位等功能。本网站系统可实现企业用户与个人用户皆可登录,并实现不同功能。个人用户经过注册自己的个人信息,登录本网站就能够进行职位搜索,修改自己的个人简历等等。企业用户经过注册公司的基本信息,登录本网站就能够进行增加删除修改自己发布的职位信息,并能够查看到申请职位的人员基本信息等。有了本网站从而使这个看来非常繁琐的工作变得非常轻松。本招聘求职信息网站是属于B/S架构模式设计,经过网页浏览器方式,让个人用户和企业用户访问本招聘求职信息网站。本人以当今流行的Web开发语言JSP技术为基础,并结合Java数据库操作技术JDBC,前段控制技术Webwork作为配合的理念开发了这套系统。Java语言是当前计算机领域非常流行的语言,其开发人数也是相当多,前景非常可观。本系统运行稳定,使得本系统开发的可能性大大提高。关键词:B/S架构,JSP技术,Webwork,数据库DesignandImplementationofJob-ApplicationInformationWebsiteAbstractWhenenteringinto21stcentury,ourdailyworkandlifeiscloselyrelatedtoInternet.facetofacecommunicationhasbeensubstitutedbycommunicationthroughtheInternetsuchaschattingontheInternettogether,remoteworkingandshoppingonline,etc.AsmorefrequenttheactivityoftheInternet,andthestabilityofthetimeofthejobfair,moreandmorepeoplechoosetoapplyforanaccountonjob-huntingwebsite,updatetheirownresumesinordertosearchforajobthatisfittothem.However,someenterprisesarealsoputtinguptheirlistsofpositionsinformationtheyneed.Withoutholdinglarge-scalejobfairssooften,theycanhuntforappropriatetalents.Inthiscase,theircostandtimehasbeenreduced,thusithasbeenwidelyfavoredbylargenumbersofenterprises.Fromhereweseethatitiscrucialtosetuparecruitmentinformationwebsitewhichjobhuntingaswellasrecruitmenthasbecomeconvenientandeasy.Myintentionofthejob-applicationwebsiteistohaveeverybodyfeeltheimportanceofitwhenhuntingforajob.SoIchooseitasthesubjectinmyfinalstagebeforegraduateinordertoshowmyachievementswhilestudyingincollege,andIhopeIcanhelpmyclassmatestofindasuitablepositionwhiletheyarehuntingjobs.Mymainlytechnologyofmyjob-applicationwebsiteistouseWebworkthroughthewayofWeb,andtheformofnetwork,toperformthefunctionsofindividualregister,enterpriseregister,usermanagement,jobinformationsearching,jobapplicationandsoon.TheWebsitehasimplementedthefunctionofbothindividualusersandenterpriseuserscanlogonwithdifferentfunctions.Individualuserscanperformthejobpositionssearchingfunctionandmodifytheirresumesafterregisteringtheirowninformationandloggingon.Enterpriseuserscanadd,modify,andremovetheirjobinformationtheyhavebeenissuedafterregisteringtheirenterprises'basicinformation,aswellasviewingthebasicinformationofthepersonwhohasbeenappliedfortheirpositions,etc.Owningthiswebsitewillchangethebotheringworktoaneasyone.RecruitmentinformationinthiswebsitebelongstoB/Sarchitecturemodeldesign,bywebbrowser,whichallowsindividualusersandbusinessusersaccessinformationonthejobrecruitmentsite.Iastoday'spopularWebdevelopmentlanguagebasedonJSPtechnology,combinedwithJavatechnologydatabaseoperationsJDBC,aswiththeprecedingcontrolWebworkdevelopedtheconceptofthesystem.Javalanguageiscurrentlyverypopularfieldofcomputerlanguage,isalsoaconsiderablenumberofitsdevelopment,theprospectsareveryimpressive.Thesystemisstable,makingthepossibilityofthedevelopmentofthissystemgreatlyincreased.Keywords:B/Sarchitecture,JSPtechnology,Webwork,database目录TOC毕业设计(论文)任务书 I摘要 IIAbstract III第1章绪论 11.1论文研究主要内容 11.2系统开发的意义 11.3国内外现状 2第2章关键技术介绍 32.1WebWork 32.2Spring 42.3FreeMarker 42.4DIV+CSS 52.5MySQL数据库 6第3章系统分析与设计 73.1构架概述 73.1.1功能构架 73.1.2模块需求描述 73.2系统开发环境 83.2.1数据库MySQL 83.2.2硬件开发环境 83.2.3软件开发环境 83.3系统任务的可行性分析 83.4系统构架 93.5数据库设计 93.6系统控制流程 103.7系统页面设计 113.7.1个人信息详情页面的设计 113.7.2个人信息修改页面的设计 123.7.3查询招聘信息列表页面的设计 133.7.4查询招聘信息详情页面并应聘的设计 133.8系统的用例图分析 14第4章系统实现 174.1登录功能的实现 174.2用户注册功能的实现 184.3更新用户详情功能的实现 204.4上传简历功能的实现 214.5应聘功能的实现 224.6企业查看应聘人员功能的实现 23第5章系统测试 245.1测试目的 245.2测试方案 245.3测试结果 24第6章结论 26参考文献 27致谢 28第1章绪论在这个信息化的时代,随着时代的发展,网络已经悄无声息的走入了人们的生活,网络给人们带来了许多方便,能够足不出户就了解到很多资讯,也能够经过网络来管理很多东西。我们每天的工作与生活都和网络息息相关,面对面的交流已经逐渐被网络交流所取代,大家上网聊天,远程工作,网上购物等等,网络上的活动越来越频繁,再加上招聘会时间的固定性,越来越多的人选择在招聘信息网站上申请账号,更新自己的个人简历,寻找合适自己的工作岗位,而企业也经常在一些主流招聘网站上发布自己公司需要的职位信息列表,不需要经常开展大型的招聘会就能够找到适合的人才,这样既找到了合适的人才,又降低了成本缩短了时间,因此广泛受到企业的喜爱。因此由此可见,招聘求职信息网站的建立是十分必要的,能够使求职与招聘变得非常方便,轻松,因此我作了这个招聘求职信息网站。1.1论文研究主要内容本招聘求职信息网站是基于B/S架构的设计模式,经过网页浏览器方便个人用户和企业级用户进行日常的招聘求职活动,整个系统的开发主要是针对当前主流的Web开发技术进行了应用和研究。本招聘求职信息网站分为前台和后台两个方向去研发设计。针对本求职信息网站的需求分析设计,又对本招聘求职信息网站的前台页面进行了设计研发,使用了FreeMarker技术进行了前台页面的处理,同时在前台的基础功能上又做了后台的代码处理和分析,对于注册,登陆个人用户,登陆企业用户,修改个人信息,修改企业信息,更新个人用户的简历,企业用户发布招聘信息,个人用户查询招聘信息,企业用户查询应聘者信息等功能,进行了系统的设计与分析。1.2系统开发的意义时代在发展,社会在不断进步,网络已经悄无声息的走入了人们的生活,网络生活给人们带来了许多方便,人们能够不用出门就了解到很多有用的信息,也能够经过网络来进行各种各样的日常工作和活动。如今大家每天都要登陆网络,浏览各种网站,获取许多有用的信息。而招聘会的展开,需要准备很多东西,费时费力。因此开展一次招聘会是很不容易的,而且时间间隔也会很长一般只有在春季和秋季开展招聘会,而且耗时耗力,很不方便,而且有些求职者可能会因为各种因素导致她赶不上招聘会而导致招聘失败,这样对应聘者很不公平,没有机会施展自己的才能,在这样的因素下,导致了招聘求职信息网站如雨后春笋般出现在网络上,而且应用率极高,求职者能够放下时间地点等不可抗拒因素的限制,轻松自由的浏览各种自己感兴趣的职位,申请该职位的面试机会,而招聘求职信息网站也方便了企业进行招聘活动,补充了新鲜血液,更有利与企业用户更快的找到适合自己公司职位的人才,节省了许多人力物力,招聘求职信息网站的建立,使公司的招聘变得简单,为公司发展带来了有利的意义。1.3国内外现状月有阴晴圆缺,人有旦夕祸福。北京时间3月11日13时46分,在距离日本本州岛仙台港以东130公里处发生了罕见的里氏9.0级特大地震。伴随着愤青们的幸灾乐祸以及日本全民族上下所表现出的令国人惊讶的高素质与高效率以外,也为就业形势本就十分严峻的我们带来了前所未有的危机。在世界经济高度一体化的今天,经济产销链上的任何一个国家或地区遭受战乱或自然灾害,都会为我们的生活带来不可忽视的严重影响。特别是日本这样的经济强国,若灾害面积继续扩大,亚洲经济则至少会为此倒退五年以上。在大连这个三面环海,软件行业高度发达而且高度依赖对日软件外包的地区,身为计算机专业日语强化方向的一名学生,我们已由衷的感受到了此次灾害带来的影响——各大公司的不少对日项目均遭到冻结甚至单方面终止,原本每年都有招收新员工计划的项目均无限期推迟了招收计划。作为以计算机专业为基础,同时掌握一定程度的日语,看起来十分抢手的我们,如今处在一个非常尴尬的境地。不少身怀绝技,曾经对软件行业怀揣理想,对自己的职业生涯有着周密规划,决心凭借自己的实力闯出一番天地的应届毕业生,如今也不得不纷纷选择转行至销售、SAP甚至BPO。但不得不承认的是,除灾害影响外,更主要的还在于对自身错误的定位与信息的闭塞。在人治社会的中国,信息的共享与获知与世界主流国家相比,显示出了与众不同的困难,这更显示了在信息时代,建立这样一个信息交流平台是多么的必要。第2章关键技术介绍该招聘求职信息网站的开发一共分成了后台的系统管理模块和前台的设计模块两个部分,后台是在WebWork框架的基础上,实现了Java的Spring技术,前台页面使用FreeMarker技术,更好的展现该招聘求职信息网站的作用和效果。页面的实现又分为网页的结构层实现页面和表现层实现页面。2.1WebWorkWebWork是建立在XWork的基础上的比较典型的框架。它也是属于一种基于Web的MVC框架。WebWork简洁、灵活功能强大,它是一个标准的Command模式框架实现,而且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表示式语言(OGNL–theObjectGraphNotationLanguage),IoC(InversionofControl依赖倒转控制)容器等。WebWork建立在Xwork之上,处理HTTP的请求和响应。所有的请求都会被它的前端控制器(ServletDispatcher,最新版本是FilterDispatcher)截获。前端控制器对请求的数据进行包装,初始化上下文数据,根据配置文件查找请求URL对应的Action类,执行Action,将执行结果转发到相应的展现页面。WebWork2支持多视图表示,视图部分能够使用JSP,Velocity,FreeMarker,JasperReports,XML等。WebWork的特性有以下几种。灵活的Validation框架:WebWork允许用户在XML文件中定义需要验证的内容,而在用户运行时则经过Interceptor的自动作用,从而完全的脱离了Action类。新版支持客户端验证。Typeconversion:允许用户在类和类之间轻易的转换着对象,突出了它的灵活性。OGNL(ObjectGraphicalNavigationLanguage)表示式语言:允许动态对象使用图表遍历和方法执行,而且使用ValueStack公开访问Beans的属性。WW2同时也具有使用JSTL的能力。IoC(InversionofControl)容器:管理组件的生命周期,使客户获得组件实例不需要创立注册类(与容器环境无关)。FreeMarkerTemplates:使UI组件可重用,从而允许开发者容易定制Web页面的look&feel。Interceptors:在Actions处理的前后动态拦截,以简单化Action代码,增加减少代码的机会。WebWork很容易和第三方软件集成,包括Hibernate,Spring,Pico,Sitemesh等。而且它支持多种视图技术,如JSP,Velocity,FreeMarker,JasperReports,XML等。还支持Packages和Namespaces,来管理Actions。2.2SpringSpring是一种开源框架,它由RodJohnson创立。它是为了解决企业应用开发的复杂性而创立的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不但限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都能够从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。(1)控制反转——Spring经过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会经过被动的方式传递进来,而不是这个对象自己创立或者查找依赖对象。你能够认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。(2)面向切面——Spring提供了面向切面编程的丰富支持,允许经过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。2.3FreeMarkerFreeMarker允许Javaservlet保持图形设计同应用程序逻辑的分离,这是经过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。FreeMarker是一个模版引擎,一个基于模版生成文本输出的通用工具,使用纯Java编写。FreeMarker被设计用来生成HTMLWeb页面,特别是基于MVC模式的应用程序。FreeMarker有一些编成能力,但一般情况下用java程序准备要显示的数据,由FreeMarker生成页面,经过模版显示准备的数据。FreeMarker不是一个Web应用框架,而更适合作为一个Web应用框架的一个组件。FreeMarker与容器无关,它并不知道HTTP或者Servlet,FreeMarker同样能够用于非Web应用环境。FreeMarker更适合Model2的视图组件,同样能够在模版中使用JSP标记库。FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件。FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样能够应用于非Web应用程序环境,同时FreeMarker是免费的。通用的数据模型:FreeMarker不是直接反映到Java对象,Java对象经过插件式封装,以变量的方式在模版中展示。使用抽象的方式表示对象,使其不受技术细节的打扰。2.4DIV+CSS采用Web标准,也就是使用DIV+CSS技术来制作网页,最大的优点是将网页代码和格式彻底分离,格式代码存放于一个独立的文件中,保证了网页代码的干净、整洁。用DIV+CSS技术来制作网页,减少了网页中格式代码,网页变得简洁,网页中有效文字的比率大大增加。当用户浏览这种网页时,由于下载内容减少,网页能够更快的显示于浏览器中。对于搜索引擎来说,有利于爬虫的抓取,有利于搜索引擎对该网页进行分析。因此使用DIV+CSS技术制作的网站,无论对于用户的浏览感受,还是对于搜索引擎的优化,都具有很大的优点。用DIV+CSS技术来制作网站,对于搜索引擎优化还有一个巨大的优点。用表格定位,各个部分在网页文件中出现的位置,都是和显示顺序时一致的。一般都是先顶部、其次左边、然后右边、最后顶部。这种自然循序,会导致网页中的重要内容并非出现在网页的开始部分。而用DIV+CSS技术,能够改变这一顺序,在同样的显示格式下,能够使重要的内容首先出现,提高了重要内容在网页中的权重。由于各种浏览器对Web标准的支持不同,特别是大家普遍使用的IE浏览器,对于Web标准支持得并不好,因此用这种方式制作网页,可能在各个浏览器的显示略有差别。在制作的时候,建议最少使用两种不同的浏览器进行测试,IE、Firefox、Opera等,以避免网页在某些浏览器里严重变形,影响用户的浏览感受。2.5MySQL数据库MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在1月16号被Sun公司收购。而,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.当前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,特别是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL最初的开发者的意图是用mSQL和她们自己的快速低级例程(ISAM)去连接表格。不论怎样,在经过一些测试后,开发者得出结论:mSQL并没有她们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于她们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。与其它的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,可是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此能够大大降低总体拥有成本。第3章系统分析与设计3.1构架概述3.1.1功能构架根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。图3.1系统体系结构图3.1.2模块需求描述经过图3.1所示,本招聘求职信息网站分为个人用户、企业用两个角色,个人用户和企业用户之间的关系相当密切,互相进行信息查询,层层递进的关系,下面就分别阐述一下每个用户的功能:(1)个人用户注册:注册分为个人用户注册和企业用户注册,在用户类型中选择用户类型,注册的信息分别存入两个数据表中,而且在注册界面有相关联的系统验证,其中包括用户名、邮箱地址、密码、重复密码。更新详情模块:本模块用于显示已经登陆的用户的详细信息,用户经过这个模块能够了解到自己已经上传的个人基本信息,而且能够经过再次编辑进行更新个人基本信息,这样能够实时的修改自己的基本资料,方便快捷,灵活度很高。更新简历模块:本模块是用来更新自己的个人简历信息,能够上传自己的个人简历,而且没有格式限制,任何格式皆可。查看招聘信息模块:本模块是对招聘信息进行查询。在本模块你能够查看到最新的招聘信息,方便了用户了解企业动态,支持在线应聘。(2)企业用户企业用户是本系统中另一个比较重要的用户,该用户能够进行一系列的招聘活动,主要的功能有注册、新建招聘信息、使招聘信息过期、查看应聘人员、下载应聘人员简历等功能。新建招聘信息模块:本模块用于新建招聘求职信息,经过此模块能够将新的招聘信息添加到数据库中。使招聘信息过期模块:本模块用于把已经超出招聘时间的信息删除,使之过期,从而满足企业对特定时间需要招聘的人员的需求。查看应聘人员模块:本模块用于把已经申请了本职位的人员进行整理,存入数据库中。下载应聘者简历模块:本模块用于把申请本职位的人员简历自动导入到系统中去,并实时进行下载更新。3.2系统开发环境3.2.1数据库MySQLMySQL是由瑞典MySQLAB公司所开发的一款著名的开源小型关系型数据库管理系统。相比于常见的Oracle、DB2、SQLServer来说,其超小的体积、极低的系统资源占用和与对Java的强大支持,是小型网站和个人用户的绝佳选择,使它成为了众多中小型网站为了降低网站设计以及运营拥有成本的首要选择。3.2.2硬件开发环境主机:惠普6520S笔记本电脑硬件环境:IntelCore2DuoT7500/2048MB/120G/ATIMobilityRadeonX13503.2.3软件开发环境开发环境:Windows7UltimateSP1X86/Tomcat6.0/Eclipse/MySQL/Dreamwearver辅助工具:PhotoshopCS3,InternetExplorer,Opera3.3系统任务的可行性分析该招聘求职信息网站的开发在全新的Windows7SP1版本平台下,使用在Java学习过程中最常见的开源环境Eclipse进行代码编辑,由在实训项目中使用过的便利的FreeMarker框架进行静态页面中动态数值的显示。在虽不稳定,应用却十分广泛的Windows平台琳琅满目的插件支持以及对于本专业学生来说无比熟悉的Eclipse开发工具,足以应付小型规模Java项目的开发。静态页面部分同样使用在超过六十学时的网页制作课中所使用的Dreamweaver来完成。整个过程充分而有效地利用了大学期间所学习的知识和技术。3.4系统构架本招聘求职信息网站采用B/S架构模式设计开发,用户不需要为获取必要功能而下载特定的客户端,只需要基于常见的Web浏览器作为客户端应用软件即可,将复杂功能实现的核心部分放在web服务器中,不但简化了客户端计算机的运算负担,也简化了开发过程,降低了整个系统的维护和使用成本。3.5数据库设计根据以上的功能分析和预估的实际情况,大致需要在数据库中建立四张表来支持以上的功能,分别为:个人用户信息表,如表3.1所示:用于存储所有个人用户的全部信息。企业用户信息表,如表3.2所示:用于存储所用企业用户的信息。招聘信息表,如表3.3所示:用于存储所有招聘信息。应聘信息表,如表3.4所示:用于存储所有应聘信息。本招聘网站系统使用MySQL开源数据库进行开发,经过对实际功能需求的详细研究,对表字段、主键的设置、数据字段的类型做了严格细致的分析,决定将每个类别的信息均独自建立一个表,这样设计减少了数据库中表由于字段过多而导致过于复杂,因而得出了这套数据库建立方案。

表3.1个人用户信息表字段名称数据类型字符描述PERSONALIDInt(20)用户编号:主键USERNAMEVachar(20)个人用户名称PASSWORDVachar(20)密码REALNAMEVachar(20)真实邮箱DETAILSVachar(400)用户基本信息RESUMEURLVachar(200)简历链接表3.2企业用户信息表字段名称数据类型字符描述ENTERPRISESIDInt(20)用户编号:主键USERNAMEVachar(20)企业用户名称PASSWORDVachar(20)密码ENTERPRISESNAMEVachar(20)真实邮箱DETAILSVachar(300)用户基本信息表3.3招聘信息表字段名称数据类型字符描述JOBMESSAGEIDInt(20)职位编号:主键ENTERPRISESIDInt(20)企业编号:外键TITLEVachar(20)题目DETAILSVachar(20)职位信息JOBTIMEVachar(500)职位招聘时间USETYPEInt(1)是否有效表3.4应聘信息表字段名称数据类型字符描述APPLYIDInt(20)应聘编号:主键JOBMESSAGEIDInt(20)职位编号:外键PERSONALIDInt(20)个人编号:外键APPLYTIMEDatetime应聘时间3.6系统控制流程根据需求调研结果确定本系统主要控制流程,如图3.2所示。图3.2系统控制流图3.7系统页面设计3.7.1个人信息详情页面的设计如图3.3所示,个人用户登录招聘求职信息网站后首先会进入的页面,这个页面是用来描述个人用户的基本信息等这些数据。在此页面上能够点击”返回上一级”或者”更新个人信息”进行其它操作,同时还能够在此页面上点击”上传简历”按钮,上传属于自己的简历。图3.3用户详情图3.7.2个人信息修改页面的设计图3.4个人信息修改图如图3.4所示,本页面为个人用户信息修改页面,当个人用户登录到系统而且编辑好了自己的个人信息以后,如果需要重新编辑自己的个人信息或者添加自己的个人情况,能够点击用户详情下的更新个人信息,就能够跳转到个人信息更新页面,在这个页面里就能够修改自己的个人信息,在修改个人信息完成的时候,点击”更新个人信息”按钮,就能够完成更新个人信息操作了。3.7.3查询招聘信息列表页面的设计图3.5查询招聘信息列表图如图3.5所示,本页面显示的是查询招聘信息列表页面,当个人用户想要去查询有哪些招聘信息时,只要点击查询招聘信息列表,就能够跳转到招聘信息列表页面,在这里个人用户能够很直观的看到招聘信息的标题、公司名、发布日期、操作这四项基本信息。如果用户对这条招聘信息感兴趣,能够点击最后一项的查看详情,这样能够了解本条招聘信息的详细内容了。3.7.4查询招聘信息详情页面并应聘的设计图3.6查询招聘信息详情图如图3.6所示,本页面为管理员编辑用户权限信息页面,页面采用分页显示数据的形式进行数据在表格中的显示,管理员能够点击编辑,删除,操作,分配用户权限。3.8系统的用例图分析图3.7用户用例图根据个人用户和企业用户的用例图来描述用例,详见用例描述(表3.7.1至3.7.14)。表3.5个人用户更新详情用例描述表用例名称更新详情参与者个人用户用例概述个人用户在系统中登陆个人用户账号和密码,登陆成功后,进行更新个人基本信息操作。前置条件参与者身份为个人用户基本事件流1.点击”个人用户更新”链接,进入”个人用户更新”界面2.输入需要更新的内容,输入完毕后,点击更新按钮表3.6个人用户更新简历用例描述表用例名称更新简历参与者个人用户用例概述个人用户在系统中更新个人简历前置条件参与者身份为个人用户基本事件流1.点击”个人用户更新”链接,进入”个人用户更新”界面2.点击”更新简历”链接,把需要更新的简历上传到系统中,然后点击更新按钮表3.7个人用户查看招聘信息用例描述表用例名称查看招聘信息参与者个人用户用例概述个人用户在系统中查看招聘信息前置条件参与者身份为个人用户,而且登陆成功基本事件流1.点击”个人用户”链接,进入”个人用户”界面2.点击”查看招聘信息”链接,跳转到查看招聘信息界面表3.8个人用户应聘职位用例描述表用例名称应聘职位参与者个人用户用例概述个人用户在系统中应聘某一职位前置条件参与者身份为个人用户,已经成功登陆而且所要应聘的职位未过期。基本事件流1.点击”查看招聘信息”链接,进入”查看招聘信息”界面2.点击”查看详情”链接,进入”招聘信息详情”界面3.点击”应聘”按钮,弹出应聘成功提示信息表3.9企业用户新建招聘信息用例描述表用例名称新建招聘信息参与者企业用户用例概述企业用户在系统中新建招聘信息前置条件参与者身份为企业用户,已登陆成功基本事件流1.企业用户在系统中登陆企业用户账号和密码,并登陆成功2.点击”新建招聘信息”链接,进入”新建招聘信息”界面3.增加内容后,点击”更新”按钮表3.10企业用户更改招聘信息状态用例描述表用例名称更改招聘信息状态参与者企业用户用例概述企业用户在系统中更改招聘信息状态前置条件参与者身份为企业用户且登陆成功基本事件流1.点击”招聘信息管理”链接,进入”招聘信息管理”界面2.点击”查看招聘信息”链接,进入”招聘信息修改”界面3.点击”是它过期”按钮表3.11企业用户查看招聘人员信息用例描述表用例名称查看招聘人员信息参与者企业用户用例概述企业用户在系统中查看招聘人员信息前置条件参与者身份为企业用户基本事件流1.点击”招聘信息管理”链接,进入”招聘信息管理”界面2.点击”查看应聘信息”链接,进入查看界面表3.12企业用户下载应聘人员简历信息用例描述表用例名称下载应聘人员简历信息参与者企业用户用例概述企业用户在系统中下载应聘人员的简历信息前置条件参与者身份为企业用户而且已有个人用户申请该职位基本事件流1.点击”应聘信息”链接,进入”应聘信息管理”界面2.点击”下载简历”链接,下载感兴趣的应聘者简历第4章系统实现4.1登录功能的实现登录功能实现的代码如下。 publicStringlogin()throwsException{ if(type.equals("enterprises")){//如果用户类型为企业MapdbUser=getServMgr().getEnterprisesService().getEnterpriseByUserName(userName); if(dbUser!=null&&password.equals((String)dbUser.get("PASSWORD"))){ indexUrl=(String)getSession().remove(Constants.ORIGINAL_URL); getSession().clear();//清空原始Session信息 getSession().put(Constants.LOGIN_USER,dbUser); getSession().put("LoginUserID",dbUser.get("enterprisesId")); if(indexUrl==null){ return"enterpriseshomepage"; } returnSUCCESS; } if(dbUser==null){ errorInfo=NOT_EXISTS; returnERROR; } if(!password.equals((String)dbUser.get("PASSWORD"))){ errorInfo=WRONG_PASS; returnERROR; } returnERROR; }elseif(type.equals("personals")){ MapdbUser=getServMgr().getPersonalsService().getPersonalsByUserName(userName); if(dbUser!=null&&password.equals((String)dbUser.get("PASSWORD"))){ indexUrl=(String)getSession().remove(Constants.ORIGINAL_URL); getSession().clear();//清空原始Session信息 getSession().put(Constants.LOGIN_USER,dbUser); getSession().put("LoginUserID",dbUser.get("personalId")); ObjectpersonalId=getSession().get("LoginUserID"); System.out.println("11"); if(indexUrl==null){ return"personalshomepage"; } returnSUCCESS; } if(dbUser==null){ errorInfo=NOT_EXISTS; returnERROR; } if(!password.equals((String)dbUser.get("PASSWORD"))){ errorInfo=WRONG_PASS; returnERROR; } returnERROR; }else{ returnERROR; } }4.2用户注册功能的实现用户注册功能如图4.1所示。图4.1用户注册功能图用户注册功能代码如下。publicStringaddUser(){ if(userType.equals("personal")){ if(getServMgr().getPersonalsService().getPersonalsByUserName(userName)==null){ getServMgr().getPersonalsService().addPersonals(userName,password,realName); setResult(SUCCESS); addMessage("註冊成功"); addRedirURL("返回","index.action"); }else{ setResult(ERROR); addMessage("註冊失敗"); addRedirURL("返回","index.action"); } }else{ if(getServMgr().getEnterprisesService().getEnterpriseByUserName(userName)==null){getServMgr().getEnterprisesService().addEnterprise(userName,password,realName); setResult(SUCCESS); addMessage("註冊成功"); addRedirURL("返回","index.action"); }else{ setResult(ERROR); addMessage("註冊失敗"); addRedirURL("返回","index.action"); } } returnEXECUTE_RESULT; }4.3更新用户详情功能的实现更新用户详情如图4.2所示。图4.2更新用户详情图更新用户详情代码如下。publicStringupdateDetail(){ try{ ObjectpersonalId=getSession().get("LoginUserID"); getServMgr().getPersonalsService().updatePersonals(realName,details,personalId); setResult(SUCCESS); addMessage("更新成功"); addRedirURL("返回","user!getPersonalDetailPage.action"); }catch(Exceptione){ setResult(ERROR); addMessage("更新失败"); addRedirURL("返回","user!getPersonalDetailPage.action"); } returnEXECUTE_RESULT; }4.4上传简历功能的实现上传简历功能如图4.3所示。图4.3上传简历功能图上传简历功能代码如下。publicStringupdateResume(){ Datedate=newDate(); DateFormatdf1=newSimpleDateFormat("yyyyMMddhhmmss"); ObjectpersonalId=getSession().get("LoginUserID"); try{ StringresumeName=df1.format(date)+date.getTime(); StringURL="resumes/"; StringTokenizerst=newStringTokenizer(resumeFileName,"."); st.nextElement(); //保存上传文件的类型 StringfileStyle=((String)st.nextElement()).toLowerCase().trim(); StringfileURL=URL+resumeName+"."+fileStyle; resume.renameTo(newFile(getServletContext().getRealPath(fileURL))); getServMgr().getUserService().updateUserResume(fileURL,personalId); setResult(SUCCESS); addMessage("簡歷更新成功"); addRedirURL("返回","../index.ftl"); }catch(Exceptione){ setResult(ERROR); addMessage("簡歷更新失败"); addRedirURL("返回","../index.ftl"); } returnEXECUTE_RESULT; }4.5应聘功能的实现应聘功能如图4.4所示。图4.4应聘功能图应聘功能实现代码如下。publicStringaddApply(){ try{ ObjectpersonalId=getSession().get("LoginUserID"); if(getServMgr().getApplyService().getApplyByPersonalIdAndJobMessageId(jobMessageId,personalId).getRowCount()>0){ setResult(ERROR); addMessage("您已经应聘过该职位,请勿重复应聘!"); addRedirURL("返回","jobmessages!AllJobMessageList.action"); }else{ getServMgr().getApplyService().addApply(jobMessageId,personalId); setResult(SUCCESS); addMessage("应聘该职位成功"); addRedirURL("返回","jobmessages!AllJobMessageList.action"); } }catch(Exceptione){ setResult(ERROR); addMessage("应聘该职位失败"); addRedirURL("返回","jobmessages!AllJobMessageList.action"); } returnEXECUTE_RESULT; }4.6企业查看应聘人员功能的实现企业用户查看功能如图4.5所示。图4.5企业用户查看功能图企业用户查看功能代码如下。publicStringgetApplyPersonDetail(){ personal=getServMgr().getPersonalsService().getPersonalsByUserId(personalId); return"getApplyPersonDetail"; }第5章系统测试本招聘求职信息网站系统的开发主要针对简单的招聘求职信息发布与收集功能,采用基于互联网、基于B/S架构的模式进行开发,经过独立对计算机中开发系统环境的搭建、服务器配置、数据库连接测试,针对数据的增删改查测试。为了测试的有效性,使用大量的、涵盖各种常见范围的数据进行重复输入测试,而且尽量找其它人来参与软件的测试,以达到预期要求。如果一个软件产品在其开发工作完成之后才发现它具备很多无法改变的先天性缺陷,这说明此软件开发过程很可能是有缺陷的。因此,软件的测试不只是应该在软件开发完成后,而是应该贯穿于软件开发的始终,以确保整个软件的开发过程是高质量的。5.1测试目的确认软件的功能是否达到预期要求,确认软件的质量是否过关,是否具备一定的健壮性、容错性。5.2测试方案按照使用流程进行测试:以个人用户为单位,以个人用户身份进行对系统一系列功能进行测试,从最开始的用户注册个人用户,添加个人信息详情、添加个人简历、查看招聘信息、应聘职位等一系列功能进行尝试性数据添加。同时,为了保证应聘职位和招聘信息功能能够在不缺乏数据的情况下进行,在添加完个人信息之后,应该重新以企业身份注册,添加相关信息,以达到和个人应用相互呼应的作用。功能性暴力测试:进行单一功能的多次实现,如使用注册功能注册多位个人用户、企业用户,多次进行登入登出,重复更新企业和个人信息,重复进行个人用户或企业用户查看,重复新建招聘信息,重复更新个人简历和应聘职位等。数据性暴力测试:根据各个模块所能实现的功能,按要求添加大量非重复数据,进行带有正态分布性质的大量数据的添加,修改,删除。经过此种方法,测试系统的

温馨提示

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

评论

0/150

提交评论