毕业设计(论文)-网上招聘系统的设计与实现.docx_第1页
毕业设计(论文)-网上招聘系统的设计与实现.docx_第2页
毕业设计(论文)-网上招聘系统的设计与实现.docx_第3页
毕业设计(论文)-网上招聘系统的设计与实现.docx_第4页
毕业设计(论文)-网上招聘系统的设计与实现.docx_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)论文题目网上招聘系统的设计与实现Thesis TopicDesign and implementation of online recruitment system全套设计加扣3012250582网上招聘系统的设计与实现摘 要随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术,整个社会正在朝着智能化、信息化的方向前进。有了互联网,用户便可以足不出户地利用互联网技术使得自己的生活更加便捷。因此,为了满足用户的庞大需求,网上招聘系统应运而生。本系统整体基于B/S架构,采用MyBatis框架,运用Java中的Servlet、Jsp等关键技术,并结合Oracle数据库的使用,为招聘者和求职者搭建了一个高效、便利的网络平台。本系统分别为求职者和招聘者提供了信息注册功能,登录功能和信息维护功能。除此之外,求职者可以选择发布、撤销或打印自己的简历,也可以浏览到企业实时的招聘信息,从而选择合适的企业应聘。招聘者可以选择发布或撤销自己的招聘信息,也可以浏览到求职人员的信息,选择是否同意他的应聘请求,并向其发送通知。关键词:Java;Servlet;Oracle;招聘系统Design and implementation of online recruitment system AbstractWith the development of the times, Chinas Internet technology is becoming more and more mature, more and more people began to learn to use the Internet, the whole society is moving in the direction of information technology, intelligent. With the Internet, people can make use of the Internet technology to make their lives more convenient. Therefore, in order to meet the needs of people, online recruitment system came into being.The whole system is based on B/S architecture, using MyBatis framework, the key technologies in java servlet and JSP, combined with the use of Oracle database, build an efficient and convenient platform for job seekers and recruiters. This system provides information registration function, login function and information maintenance function for job seekers and employers. In addition, job seekers can publish, revoke, print your resume, you can also browse to the enterprise real-time recruitment information, in order to select the right candidates. Recruiters can publish, revoke their recruitment information, you can browse to the job seekers information, choose whether or not to agree to his request, and sent a notice to him. Key words: Java; Servlet; Oracle; recruitment system目 录摘 要IABSTRACTII1 绪 论11.1 开发背景11.2 开发意义11.3 国内外研究现状21.4 论文结构22 相关技术原理和开发工具42.1 程序语言的选择42.1.1 Java概述42.1.2 Java特点42.1.3 Servlet简介52.2 Oracle数据库62.3 B/S模式62.3.1 B/S架构概述62.3.2 B/S架构的工作原理72.3.3 B/S架构与C/S架构的比较72.4 开发工具82.4.1 建模工具Microsoft Visio82.4.2 编码工具Eclipse82.4.3 数据库连接工具Navicat82.5 开发环境93 系统可行性研究103.1系统可行性研究概述103.2系统可行性研究的目的和流程103.3项目评估114 系统需求分析124.1系统功能分析124.1.1 用例图124.1.2 数据流图134.1.3 数据字典144.2 系统数据库需求分析165 系统设计185.1系统类图185.2系统功能模块划分205.2.1 模块图205.2.2 个人信息管理模块215.2.3 简历管理模块215.2.4 求职申请模块225.2.5 企业信息管理模块225.2.6 招聘管理模块225.3系统总体设计235.3.1 系统设计思想235.3.2 系统体系架构235.4 数据库逻辑结构设计245.4.1 关系型数据模型255.4.2 数据表设计256 系统实现276.1 登录模块276.2 注册模块296.3 信息修改模块326.4 查询模块346.5 简历管理模块356.6 应聘者管理模块366.7 安全退出377 系统测试387.1 测试方法387.2测试环境387.3测试结果387.4系统评价408 结束语418.1结论418.2展望41参考文献42致 谢43附 录:外文原文44 中文翻译52iv1 绪 论1.1 开发背景伴随着中国经济的飞速发展,城市化进程的加快,求职者队伍的不断壮大,传统人才招聘的弊端初露端倪。首先,传统人才应聘的形式是求职者和企业的负责人面对面地交流。这就需要企业和求职者提前规划自己的时间,准备大量的纸质材料,并选好举办招聘会的地点,这一系列流程都需要双方把大量的精力投入到准备活动中去,使得应聘还未开始,成本就已大幅增加。其次,企业在筛选数以百计,甚至数以万计简历的时候,往往会由于阅读疲劳,漏掉一些真正有价值的简历,使得企业丧失掉一批有用的人才。对于求职者而言,也会错失掉良好的机会,令人惋惜。随着国内互联网飞速的发展,用户已经越来越习惯于使用互联网传递信息,接收信息,利用互联网技术使得自己的生活更加便利,快捷。在这样一种大趋势下,网上人才招聘系统出现在了用户的眼前。网上人才招聘系统相对于传统的人才招聘,有以下几点优势: 1.方便快捷。对于求职者来说,只要在互联网上向有意向的企业投递了个人简历,便可等候企业的通知信息;对于企业来说,只要点一下鼠标便可同意求职者的申请。 2. 选择多。由于招聘信息量丰富、使用网络招聘的人数基数大,在大量的职位数据库中,求职者对于适合职位的选择也就越多。 3. 费用少。对于求职者来说,节省了不少成本,如:交通费、简历制作费、通讯费等不少费用。除此之外,还有效地避免了招聘会现场异常拥挤、交流效果不尽如人意、选择职位盲目性大的问题。对于企业来说,节省了办理招聘会的各种费用。 正是由于以上种种优势,越来越多的求职者选择网络求职成为自己的应聘方式。1.2 开发意义本系统开发的意义在于突破传统人才招聘的模式,给招聘者和求职者提供一个便利、高效、准确的网络招聘平台,使得双方可以在把成本降到最低的前提下,在更快的时间获得更加准确的信息,从而满足企业的用人需求,实现求职者的自身价值。1.3 国内外研究现状在国外,运用互联网进行人才招聘的企业和求职者不在少数,许多优秀的第三方人才招聘网站也脱颖而出。在美国,优秀的人才招聘网站主要有:1. B:每月发布的职位达数十万个。2. J:全美访问量最多的人才招聘网站。3. M:全球知名的第三方网络招聘服务公司。现在已经在全球二十多个国家设立分部或办事处,并且建立了22种不同语言的招聘网站。其已具备国际领先的网路服务经验,以及庞大的个人简历数据库。在国内,也有越来越多的网络平台兴起开来,著名的有前程无忧、智联招聘、58同城等。据数据统计,2016年中国互联网招聘市场份额正在逐步增加。其中前程无忧占比29.7%,智联招聘占比26.5%,58赶集合并后共同占比26.3%,其他厂商占比17.5%。与此同时,传统招聘网站的市场份额正在逐渐缩小,2016年,中国互联网招聘公司手机应用软件的使用用户规模达720万人之多,单日人均使用次数为5.5次,单日人均使用时长达15分钟,用户活跃度较去年同期有所增长,手机等移动端的发展趋势较好。许多国家的用户已经对网络招聘的方式深谙其道。网络招聘已经成为当代大学毕业生和职员求职应聘的首选方式。在未来的几年里,网络招聘会进一步的发展和完善,受到更多人的青睐。1.4 论文结构本论文按照软件工程标准开发流程进行叙述。其主要由以下几个章节构成:1. 绪论:对课题的开发背景以及研究价值进行详细的介绍。2. 相关技术原理和开发工具:对本系统所用到的关键技术及工具进行概述,比如java、Oracle等。3. 系统可行性研究:主要从技术实现、功能要求方面探讨该系统成功实施的可能性。4. 系统需求分析:对用户对于本系统的需求进行描述、分析,主要包含用例图的设计、数据流图的设计、数据字典表的描述及数据表实体-关系图的设计。5. 系统设计:在需求分析的基础上,对系统进行概要设计,主要包系统含类图的设计、系统模块的划分、每个模块的功能概述及数据表的逻辑设计。6. 系统实现:将系统各个功能模块业务逻辑进行详细描述,再用代码将其具体地实现。7. 系统测试:通过等价类划分法,设计测试用例,考察系统的缺陷。8. 结束语:对本系统进行最后的描述以及对未来的展望。9. 附录:包含有关于网络招聘的外文资料及其翻译。2 相关技术原理和开发工具2.1 程序语言的选择2.1.1 Java概述Java是一种面向对象的、可以编写许多跨平台应用软件的第三代程序设计语言。在1995年5月,由美国的Sun公司推出。 Java不再像C语言那样是面向过程的语言,也不像C+拥有众多复杂的机制,难以理解。准确地说,Java是一种纯的面向对象的语言。在Java的世界里,万物皆对象。正是由于这一种思想,开拓了创程序员的思维,从而诞生出了更先进的编程技术。2.1.2 Java特点 Java的应用范围很广,开发人员可以用Java开发C/S应用程序、B/S应用程序、手机应用软件以及部分小游戏等。它主要具有以下特点:1.面向对象特性:在Java的概念里,任何事物都可看成对象,哪怕是类本身还是类里面的成员变量和成员方法都可以看成对象。Java编写的程序之所以能够轻而易举地扩展,正是由于它是基于对象模型的。在现实生活中,类就是物体共有属性和行为的抽象。而对象则是类的具体实例。比如:一个具体的苹果就是水果类的一个实例。2.平台无关性:与许多其它编程语言不同的是,Java代码在被编译完成的时候,它会生成一种二进制的文件(.class文件),这种文件独立于平台,运行在虚拟机(JVM)中。程序不论是在Windows或Linux环境下,都可以被执行,只不过不同平台的虚拟机是不同的。3.简单:Java设计的初衷便是简单易学。只要你能够准确、快速地掌握Java面向对象的特性,其他的概念便可以无师自通,遇到的大多数便可迎刃而解。从语言的难易程度看,Java要比 C+简单,C+中许多不容易掌握的概念如多继承、指针等概念都被Java所抛弃。这样的改进,不仅不会降低Java的实用性,反而大大增强了Java的体系架构,使得Java更加精简,可以应用于更广的领域。4.安全:正是由于Java中不支持指针的概念,程序员没有机会去直接操作内存空间,这样就有效地防止了程序运行时堆栈溢出等问题,程序不会轻易地崩溃。5.持久耐用:Java检测机制比较完善。有编译时错误检查和运行时检查两种方式,这样就能够检测出更多地错误,从而使得开发人员纠正错误,使程序长久稳定地运行。 6.多线程:所谓多线程,就是在同一段时间内,程序可以完成多个任务。Java的多线程功能,由JVM本身提供,开发人员只要利用JDK中提供的类和接口便可以轻松地实现多线程功能。多线程可以使程序高效地运行,在大型系统或网站中运用十分广泛。多线程的思想是优秀发人员必不可少的品质。7.动态:类是Java 程序的基本构成单位。有些类是JDK提供的,有一些是从第三方框架中引入的,再者就是自己编写。又因为类是运行时被动态装载在JVM中的,这就使得 Java 可以在网络环境中动态地维护程序,实时地显示更新后的数据。总地来说,Java是为了满足新时代开发人员的需要而诞生的。它在C+的基础上,取其精华,去其糟粕,并且高度抽象了现实生活中的物体,从而达到一种简单实用、面向对象、安全可靠、高性能和多线程的状态。 2.1.3 Servlet简介在这个信息化时代,计算机对数据的处理显得尤为重要。传统的静态网页技术(HTML、CSS等)已经无法解决大数据发展所带来的问题,无法实时地处理上万条乃至上亿条信息。因此,动态网页技术应运而生。Servlet便是其中的佼佼者。Servlet不是一个纯粹的新技术,它是在Java的基础上发展而来的。准确的说,Servlet就是使用Java里一些相关的类库开发出来的程序。开发者通过Servlet技术,便可搭建出一个基于B/S架构的系统,它可以动态地处理数据,并将数据返回到浏览器中,用户只需刷新一下网页便可浏览到实时地信息。由于Servlet本质上就是Java程序,它具备Java语言的一切特点。除此之外,它还具备额外的一些优点:1. 可重用性高:Servlet中可以建立组件,这些组件都可以复用。2. 模块化:Servlet中把程序划分为许多模块,模块化的好处就在于简洁明了,各司其职,不论是在程序的理解上还是维护上,都显得快捷高效。Serlvet的运行原理如图2-1所示。图2-1 servlet原理图2.2 Oracle数据库Oracle全称是Oracle关系型数据库管理系统,是甲骨文公司旗下的一款产品。Oracle数据库已经成为世界上最为流行,被众多厂商广泛使用的关系型数据库产品。不论是在小型、中型还是大型计算机中,不论系统是基于客户机/服务器架构,还是基于浏览器/服务器架构,它都可以高效地运行。除此之外,Oracle还在已有的结构性查询语言(SQL)基础上,结合自身产品的特性,创造出了一套符合自身特点的数据库语言。 2.3 B/S模式2.3.1 B/S架构概述B/S架构(Browser/Server,浏览器/服务器架构),是当下最流行的一种网络架构模式。这种模式的客户端由浏览器充当,这样做的好处之一便是客户端简单易维护。因为浏览器的开发是由各个浏览器厂商负责的,系统开发人员并不需要参与其中,只需要负责服务器端系统的实现便可。除此之外,在服务器端并不需要运行大量的程序,这样做的好处在于可以释放服务器上的大量资源,也减轻了服务器端程序开发以及后期维护的成本。对于用户来说使用起来也非常轻松,用户在电脑上只需要安装一个浏览器,如火狐、IE、谷歌等,不需要像QQ一样下载专门的客户端软件,便可轻松地访问需要的系统或网站。2.3.2 B/S架构的工作原理 用户打开浏览器,在浏览器中的地址栏中输入要访问的地址,即向服务器发送请求。请求发送成功后,服务器对收到的请求进行处理。在处理过程中,主要是对其中的请求信息进行解析,如果这一过程需要访问数据库,服务器便会继续访问数据库从中得到需要的数据,结合服务器内部的逻辑处理程序最终定位到用户需要的资源,返回给用户一个响应。最后用户即可在显示器上看到呈现出来的页面。具体原理如图2-2所示。图2-2 B/S架构原理图2.3.3 B/S架构与C/S架构的比较C/S架构软件(即客户机/服务器架构)分为客户端和服务器端软件两种。客户端不仅要像B/S架构中的浏览器具备数据接收以及效果呈现的功能,还需要具备一定的业务逻辑处理能力。这就容易导致客户端负载严重,功能复杂。开发的成本也要有所增加。客户端软件的安装更是对用户的电脑配置提出了要求,越先进的软件对软硬件的配置要求越高,很有可能因为用户电脑配置的问题,导致项目的取消。在后期的维护中,除了对服务器维护外,开发人员还要单独对客户端软件进行维护,对不同配置的电脑还要开发出不同的维护版本,复杂度可想而知。B/S(浏览器/服务器模式)架构则是为了弥补C/S架构缺陷而产生的。它是对C/S架构的一种改进。在这种架构下,软件的业务逻辑功能完全放在WEB服务器端实现,开发人员不必开发出客户端软件,客户端也仅仅需要接收数据、展示页面即可。这是一种先进的开发理念和开发技术。这种架构已经成为当今软件开发的首选体系架构。企业的管理软件大多采用这种架构。社交功具或一些网络游戏大多采用C/S架构。2.4 开发工具2.4.1 建模工具Microsoft VisioMicrosoft Visio是微软旗下的一款具备图形绘制、图表绘制、模型构建等多种功能的大型软件。Visio最大的特点是它自身提供了许多模板供用户选择,而这些模板又涵盖了网络、工程、软件等众多应用领域,这就成为了很多开发人员的不二选择。在应用当中,开发人员只需选好自己需要的模板,将Visio中提供的部件拖拽到自己的项目中即可。所谓“一图胜千言”,利用Visio就可以轻而易举的构建出许多一目了然的模型,这样就大大提高了开发效率,减小了项目失败的风险,用户也更加放心。Microsoft Visio于2000年被微软收购,在这十几年当中,发布过将近17个版本。在该项目中,使用的是Visio 2013专业版。2.4.2 编码工具EclipseEclipse主要是为开发Java项目而搭建的开放平台。除此之外,它还支持C、C+、PHP等语言。Eclipse是一组集成开发环境(IDE),集众多插件于一身,使用起来十分灵活。开发人员可以对Eclipse中的一些插件进行取舍,使得软件高效运行;也可以在Eclipse中切换开发视图,配置一些参数,不必像以前再进行一些繁琐的操作。Eclipse于1994年被IBM和OTI两家公司所创建。后来IBM提出Eclipse开源项目的概念,被后来大约150家公司共同开发,以宇宙中星球的名字作为它每一代的版本代号。在该项目中,使用的是Elipse Mars版本。2.4.3 数据库连接工具NavicatNavicat是一套数据库管理工具,它可以连接到SQL Server、MySql、Oracle等主流数据库管理系统,简化了数据库的管理,方便了开发人员的操作,降低了数据库管理的成本。由于Navicat是基于图形用户界面的,开发人员直接可以通过Navicat提供的功能,不必在命令行中输入SQL语句,便可以直观的操作数据库,管理数据,实现增删改查等操作。Navicat在提供便利的同时,也对安全性加以保障,开发人员并不需要担心数据泄露的风险。Navicat也有众多版本,比如Navicat for MySQL、Navicat for Oracle等等。在该项目中,使用的是Navicat Premium版本。2.5 开发环境电脑型号:惠普242 G1 64位笔记本电脑操作系统:Windows10专业版数据库版本:Oracle10g XEJDK版本:JDK1.8服务器版本:apache-tomcat-8.0.24-windows-x643 系统可行性研究3.1系统可行性研究概述开发者在开发一个项目前,往往要考虑以下几个问题:这个项目有没有做的价值;在现有的条件下以及规定时间内是否可以把它完成;以及在做成之后,这个项目带给整个团队的利益究竟有哪些等等。这一系列要考虑的问题就可以看做对这个项目的可行性研究。3.2系统可行性研究的目的和流程可行性研究的目的就是在确保符合团队利益的基础上,利用手上最精简的资源,探讨这个项目是否可以按规定去完成。除此之外,可行性研究的关键不是提出具体的开发方案,而是探讨解决问题的可能性。在系统开发生命周期中,往往会因为系统开发人员对市场的了解不彻底,对技术的掌握不熟练,对项目的风险因素预估不足等原因,导致许多问题都不能在合理的情况下得到解决。如果开发人员能够提前预测到可能出现的问题,并且在经过探讨后,不能得出合理的应对办法,那么就应该取消项目的开发。这样就能够在人力、物力等方面避免不必要的损失。系统可行性研究其主要流程为:分析人员对用户提出的项目方案进行简要的需求分析,在此基础上,利用一些作图工具或原型工具得到该系统的逻辑模型,接着利用逻辑模型探索出许多不同的解决办法,最后从这些解决方案中找出代价最小的去进行之后更深入的探讨。可行性研究往往可以从经济、技术、操作、法律这四个角度去讨论项目的可行程度,也可以让用户一目了然地了解到项目的整体规范。下面将仔细从这四个方面解析:1.经济可行性:主要从“成本-效益分析”的观点出发,通过对货币的时间价值、投资回收期、纯收入等方面的研究,考量项目成本与收益之间的关系。2.技术可行性:从开发人员角度来说,考查的是其是否具备开发这个项目的技术和综合素质;从项目构成来说,考察的是该项目的架构是否合理,将来在开发以及运行的过程中不会出错;从项目运行的条件说,考查是否具备相应的软硬件环境。3.操作可行性:项目的操作在其领域内是否行得通。4.法律可行性:确保该项目的开发不会触犯政治上或社会上的侵权,不会违反任何一项法律条例。主要是从版权、专利等方面入手。3.3项目评估项目名称:网上招聘系统的设计与实现主要用户:个人和企业关键技术:java、servlet、oracle运行环境:windows操作系统前台功能:为用户呈现出操作界面,且界面美观、布局合理,具备一定的前台验证功能,要对用户的操作具有引导性和提示性。后台功能:在用户管理方面,包括注册、登录、信息修改等基本功能。除此之外,其他功能围绕“招聘”这一活动行为展开,主要包括各种信息的浏览、简历的投递、简历的接收以及后续对简历的回应等等。该项目在现有的人力、技术条件下,在符合法律规定的前提下,可以在规定时间内按照上述要求将其实现,并且有充足的时间对其进行测试、调试,保证项目的正确性。总体来看,该项目具备开发的可行性。4 系统需求分析需求分析就是在确定系统可以开发的基础上,将客户对系统的口头概述,经由开发人员的分析总结,抽象为具体的需求用例,再形成需求规格说明书的软件开发过程。可行性研究旨在探索目标系统是否值得利用现有的资源去开发,问题是否能够在现有的技术上去解决。而需求分析旨在回答系统应该具备什么功能的问题,以确保将来开发出来的系统能够让客户满意。4.1系统功能分析4.1.1 用例图网上人才招聘系统的用户共分为两类:个人用户和企业用户。个人用户的用例图如图4-1所示。图4-1 个人用户用例图个人用户可以管理自己的信息,管理自己的简历,也可以实时浏览企业发布的招聘信息,按自己的要求筛选出合适的企业从而决定报名,并可以在企业应答之后收到相应的回复。企业用户的用例图如图4-2所示。图4-2 企业用户用例图企业用户可以管理本公司的登记信息,管理招聘公告,也可以实时浏览求职者的个人信息,决定是否录用,并向其发送回复。4.1.2 数据流图个人用户业务的流程如图4-3所示。图4-3 个人用户业务流程的数据流图个人用户在使用本系统时,会先进入到系统的登录界面进行登录,如果没有账户可用,则可以点击登录界面上的注册按钮注册信息。在成功登录后,则可以顺利地进入到主界面。个人用户可以在主界面的目录结构中选择相应的提示按钮进行操作。比如:修改人个信息、浏览各企业发布的信息、应聘心仪的企业、打印自己的简历等等。在完成操作后,用户可以点击退出按钮,安全地退出系统。企业用户业务的流程如图4-4所示。图4-4 企业用户业务流程的数据流图企业用户在使用本系统时,同样也会先经过注册、登录等标准步骤。在成功登录后,企业用户会进入到与个人用户不同的主界面。企业用户可以在其主界面上浏览人才库信息、检索出自己想要的人才信息、管理自己的招聘信息。也可在求职者应聘之后,选择是否同意他的请求。在企业用户进行完一系列操作后,同样可以安全退出系统。4.1.3 数据字典数据字典是对数据流图中出现信息的详细描述。它的主要作用是供开发者查阅,并为之后系统的分析、设计以及维护阶段提供详细准确的文档说明。主要由数据流、数据存储、数据基本项和加工条目4部分组成。下面是有关个人业务数据流图的数据字典: 数据流条目如表4-1所示。表4-1 数据流条目表名称组成个人信息账号+密码+姓名+性别+学校+生日+专业+电子邮件+薪资要求+联系方式+个人评价新的个人信息姓名+性别+学校+生日+专业+电子邮件+薪资要求+联系方式+个人评价登录信息账号+密码检索信息职位类别+薪资范围+截止时间企业职位信息公司名称+公司地址+职位需求+电子邮箱+联系方式+薪资待遇|+公司简介应聘信息个人信息+企业职位信息数据项如表4-2所示。表4-2 数据项表名称类型长度账号字符型字母410密码数字型不为零数据存储条目如表4-3所示。表4-3数据存储条目表文件名组成组成方式个人信息表id+账号+密码+姓名+性别+学校+生日+专业+电子邮件+薪资要求+联系方式 +个人评价索引文件,以id为主键雇佣表id+个人表的id+企业表的id索引文件,以id为主键加工条目如表4-4所示。表4-4 部分加工条目表加工名编号输入输出加工逻辑注册1个人信息个人信息表IF信息合法THEN录入数据库ELSE 重新输入新的合法信息ENDIF登录2登录信息IF账号、密码与数据库中的信息匹配THEN准予登录,并跳转到主页面ELSE重新输入合法信息ENDIF修改个人信息3新的个人信息个人信息表IF信息合法THEN录入数据库ELSE 重新输入新的合法信息ENDIF职位查询4检索信息企业职位信息IF检索信息不为空THEN按照相应的检索条件检索企业职位并返回给用户ELSE按照默认方式排列企业职位信息并返回给用户ENDIF下载简历7个人信息返回当前用户的简历并下载向企业应聘9应聘信息应聘表根据求职者编号和企业编号录入信息4.2 系统数据库需求分析数据库需求分析是整个数据库设计的基础和起点,也是涉及数据库内容的软件进行系统开发工作的重要基础。在需求分析基础上,对新系统中数据的逻辑模型通常采用实体-联系图(ER图)来描述。系统的ER图如图4-5所示。图4-5 系统ER图该E-R图包括:个人实体、企业实体和雇佣联系这三个组成部分。其中,个人实体主要用来存储个人求职者的信息,包括个人基本资料和自我评价。其目的是在招聘过程中供企业浏览。企业实体则用来存储公司的信息,主要是为了让求职者对公司有详细的了解,从而决定是否应聘该公司。雇佣联系则阐明了二者之间多对多的关系,记录着求职者和企业之间发生过的的招聘行为。5 系统设计经过上一步需求分析阶段的工作,通过建立由数据流图,数据字典和一系列算法所描述并且定义的系统逻辑模型,系统必须拥有哪些功能的问题已经被解决了。现在将进入系统设计阶段,目的在于着手实现系统需求,就是要把逻辑模型转变为物理模型。5.1系统类图由于本系统后台使用java作为开发语言,所有的功能都是出现在类中的。在本系统中,类主要分为两种:实体类和业务类。实体类如图5-1所示。图5-1实体类图实体类包括个人类、企业类和雇佣类。其中,个人类(企业类)的作用是:将前台获取到的个人信息(公司信息)封装到该类中,再按相应的需求决定是否把这些信息录入数据库。此外,也可以将查询到的个人信息(公司信息)封装到该类中,发送给前端页面进行展示。雇佣类则是将每一个招聘行为记录在雇佣表内,p_id和c_id表明这一招聘是发生在哪个求职者和哪个企业之间的,并且也会随着企业用户的操作进行更新。业务类如图5-2所示。图5-2业务类图业务类包括个人业务类、公司业务类和雇佣业务类。个人业务类中包含的方法及其各自的作用如下所示:1. register():个人用户通过该方法注册个人信息2. login():个人用户通过该方法登录到系统的主界面,3. update():对个人信息进行更新操作4. publish():发布个人简历5. deleteResume():撤销个人简历6. listAllPersons():企业用户通过这一方法,可以浏览到所有已经发布的个人简历7. listAllPersonsByParams():通过对该方法中传入参数的识别,可以按需求对个人简历进行筛选,如:专业类别、薪资范围、发布时间。8. query():企业用户通过该方法,可以了解某个求职者的具体个人信息 公司业务类中包含的方法及其各自的作用如下所示:1. register():企业用户通过该方法注册企业信息2. login():企业用户通过该方法登录到系统的主界面,这个界面与个人用户的主界面是不同的3. update():对企业信息进行更新操作4. publish():发布招聘信息5. deleteInfo():撤销招聘信息6. listAllComapnies():个人用户通过这一方法,可以浏览到所有已经发布的招聘信息7. listAllComapniesByParams():通过对该方法中传入参数的识别,可以按需求对企业发布的招聘信息进行筛选,如:职位类别、薪资范围、发布时间。8. query():个人用户通过该方法,可以了解某个企业的具体企业信息雇佣业务类中包含的方法及其各自的作用如下所示:1. insert():个人用户通过该方法向企业投递简历,并将这一操作记录到雇佣表中2. update():企业用户在对向其投递的简历进行筛选时,会通过此方法将这一操作进行记录。如:同意、拒绝。3. candidateQuery():企业用户可以通过此方法,查看到有哪些求职者向其发出了申请4. companyQuery():个人用户可以通过此方法,查看到向不同企业投递的简历的状态。如:通过、未通过、等待中。5. query():罗列出所有的招聘记录及其状态。5.2系统功能模块划分5.2.1 模块图结合需求分析阶段的数据流图及数据字典,得出了系统的功能模块图。该系统通过对用户类型的区分,分为个人用户管理和企业用户管理两大模块。系统功能的模块图如图5-3所示。图5-3功能模块图5.2.2 个人信息管理模块信息管理模块是整个系统中最为基础,但也是最为重要的的一环。因为在之后的模块中,所有的操作都围绕着数据、信息进行。个人信息管理模块的功能就是确保个人用户在使用系统时,个人的信息是完整的、准确的。该模块又划分为以下几个子模块:1. 注册模块:个人用户在第一次使用该系统时,需要按照相应的约束填写自己的信息,从而进行注册。2. 登录模块:判断用户输入的登录信息正确与否,从而决定是否让用户进行后面的操作。除了注册功能外,该系统其他的功能都是建立在成功登录系统的前提下的。所以用户想要进行后续的操作,必须先按照之前注册的信息进行登录。3. 信息修改模块:该模块可以让用户对自己的个人信息进行更新、维护。5.2.3 简历管理模块简历管理模块包括个人用户对自己简历管理的所有操作。具体体现在以下几个方面:1. 简历发布:用户在成功发布简历后,自己的信息才能被相关企业所看到。每个用户只能发布一份简历。2. 简历撤销:用户如果由于某些原因,暂时不想参加招聘,则可以选择撤销掉自己的简历,个人信息就不会出现在人才库中,不会被别人所看到。用户如果还没有发布过简历,则不可以进行该操作。3. 简历下载:该功能可以让个人用户的将自己的简历信息从网页上下载到电脑上,以word格式进行永久保存或打印操作。5.2.4 求职申请模块求职申请模块是该系统的核心模块。个人用户只有通过使用该模块的一些功能,才能向企业发布求职申请,与企业之间建立联系;企业也才能收到求职者的信息进行后续的操作。个人用户在成功登录系统后,一般会按照下面的步骤进行操作:1. 浏览企业信息:在个人用户的主界面上,会显示出所有已被企业发布过的招聘信息的主要内容,如果需要深入了解企业,则可以点击后面附带的按钮查看详细信息。2. 检索企业信息:该功能可以让个人用户根据不同的检索条件,对企业进行筛选。比如:职位类别、薪资范围、发布时间。用户可以选择其中的一种进行筛选,也可以选择多种进行联合检索。3. 发出求职申请:个人用户在浏览完各种招聘信息后,可以向一个或多个心仪的企业发出求职申请。但对同一家企业,只能申请一次。4. 等候通知:用户在每次申请过后,便会生成一条相应的求职记录,它会显示求职者当前申请的状态,让求职者了解到简历是否通过。5.2.5 企业信息管理模块企业信息管理模块与个人信息管理模块功能类似,它管理的信息与企业相关,与个人无关。例如:公司名称、公司地点、职位需求等等。在该模块中,企业用户也可通过注册、登录、修改的功能,完善企业信息,进行后续操作。5.2.6 招聘管理模块企业用户通过该模块可以实现以下几个功能:1. 发布招聘信息:招聘信息只有发布,才能被求职者所看到,他们才能向相应的企业发送申请。一个企业只能发布一则招聘信息。2. 撤销招聘信息:企业如果不再需要招聘,则可以撤销掉招聘信息。其他人都不会浏览到该招聘信息。招聘信息已发布状态,才能被撤销。3. 筛选人才信息:企业用户成功登陆系统后,会看到所有被发布的求职信息。企业也可根据需要,对求职者的专业、薪资要求、简历发布时间、毕业学校条件进行检索,显示出满足条件的求职者。4. 发送通知:当有求职者向企业发送申请后,这条求职记录会被企业看到,企业可根据求职者的简历决定是否同意他的请求,从而向他发出通知。5.3系统总体设计5.3.1 系统设计思想网上招聘系统的整体设计思想主要表现在以下几个方面:1 整体以Windows环境、B/S架构为基础进行开发。2 后台运用Java语言,结合Servlet、Jsp技术,进行主要功能的开发。3 前台运用HTML+CSS技术,结合Jquery插件与Ajax技术,编写出用户体验良好的界面。4 数据库采用Oracle语言进行建库、建表等操作;应用服务器端则利用MyBatis框架与数据库进行交互。5.3.2 系统体系架构本系统采用三层架构对其整体进行划分,这样做的好处是:一方面,可以使整个系统结构清晰,功能明确,从而使开发人员对特定功能模块的针对性得到提高,开发效率大大增加。另一方面,也可以大大增强系统后期的可维护性,可扩展性。该系统三层架构的划分如图5-4所示。图5-4三层架构表现层:本系统的表现层是通过serlvet、jsp技术实现的,个人用户和企业用户通过使用表现层,将请求发送到不同的serlvet,servlet接受到不同的请求调用不同的业务逻辑功能,将获取到的数据交给jsp呈现到用户的面前。业务逻辑层:在本系统中,业务逻辑层为service层,其功能就是使用数据层得到的数据,实现功能模块图中所有的业务逻辑。数据持久层:在本系统中,数据持久层为dao层。dao层通过MyBatis技术与数据库进行交互,实现对个人信息、企业信息-招聘信息的增、删、改、查操作。这三层之间是从上到下、层层依赖的关系。表现层要依赖于业务逻辑层进行页面的跳转,业务逻辑层又要依赖于数据持久层得到的数据对业务逻辑进行判断。5.4 数据库逻辑结构设计数据库逻辑结构设计是在需求分析阶段得到的E-R图为基础进行的。这一阶段的主要任务就是把数据库概念结构设计阶段设计好的基本E-R图恰当的转换为与选用数据库管理系统(DBMS)所支持的数据模型相符合的逻辑结构。5.4.1 关系型数据模型通过E-R图转换后的关系数据模型如下所示。个人表(ID,账号,密码,姓名,生日,性别,学校,专业,个人评价,薪资要求,联系方式,电子邮箱,发布时间)企业表(ID,账号,密码,公司名称,公司地址,职位需求,联系方式,公司简介,薪资待遇,电子邮箱,发布时间)雇佣表(ID,个人ID,企业ID,是否同意录用)其中,雇佣表中个人ID对应的是个人表的ID字段;企业ID对应的是企业表中的ID字段。5.4.2 数据表设计个人数据表设计如表5-1所示。表5-1 个人表字段名数据类型长度约束描述IDNUMBER主键个人IDUSERNAMEVARCHAR220不可为空账号PASSWORDVARCHAR220不可为空密码NAMEVARCHAR220不可为空真实姓名SEXVARCHAR24不可为空性别BIRTHDAYVARCHAR220不可为空生日SCHOOLVARCHAR220不可为空学校PHONEVARCHAR220不可为空联系方式EMAILVARCHAR220电子邮箱TRADEVARCHAR220不可为空专业SALARYVARCHAR220不可为空薪资要求TIPVARCHAR2200个人评价PUBTIMEDATE发布时间个人表用来存储个人用户的信息。其中,ID字段为该表的主键,是每个人身份的唯一标示。pubtime字段存储着个人用户简历发布的时间。其余字段则存储着个人用户的基本信息。企业数据表设计如表5-2所示。表5-2 企业表字段名数据类型长度约束描述IDNUMBER主键企业IDUSERNAMEVARCHAR220不可为空账号PASSWORDVARCHAR220不可为空密码NAMEVARCHAR2200不可为空公司名称LOCATIONVARCHAR2200不可为空公司地址PHONEVARCHAR220不可为空联系方式EMAILVARCHAR220电子邮箱TRADEVARCHAR220不可为空职位需求TIPVARCHAR2500公司简介SALARYVARCHAR220不可为空薪资待遇PUBTIMEDATE发布时间企业表用来存储企业用户的信息。其中,ID字段为该表的主键,是每个企业身份的唯一标示。pubtime字段存储着企业用户招聘信息发布的时间。其余字段则存储着企业的基本信息。雇佣表设计如表5-3所示。表5-3 雇佣表字段名数据类型约束描述IDNUMBER主键雇佣关系IDP_IDNUMBER外键个人IDC_IDNUMBER外键企业IDISAGREEDNUMBER不可为空是否同意录用雇佣表用来记录个人用户与企业用户的发生过的招聘行为。其中,ID字段为该表的主键,标识着任何记录都是独立的、唯一的。p_id和c_id字段记录着这一行为发生的对象是哪位求职者和哪家公司。isagreed字段记录着招聘是否成功。该字段有三个选项:0、1和-1。0表明这一求职申请正在等待企业的审核,1表明该申请已经通过,-1表明该申请已被拒绝。6 系统实现6.1 登录模块登录模块的作用是根据用户输入的登录信息,判断正确与否,并根据传给后台的值,判断是企业还是个人登录,

温馨提示

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

评论

0/150

提交评论