【精品毕设推荐】网上招聘系统的设计与实现

56 篇文章 1 订阅

点击免费下载原文及代码PPT

摘  要

随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术,整个社会正在朝着智能化、信息化的方向前进。有了互联网,用户便可以足不出户地利用互联网技术使得自己的生活更加便捷。因此,为了满足用户的庞大需求,网上招聘系统应运而生。

本系统整体基于B/S架构,采用MyBatis框架,运用Java中的Servlet、Jsp等关键技术,并结合Oracle数据库的使用,为招聘者和求职者搭建了一个高效、便利的网络平台。本系统分别为求职者和招聘者提供了信息注册功能,登录功能和信息维护功能。除此之外,求职者可以选择发布、撤销或打印自己的简历,也可以浏览到企业实时的招聘信息,从而选择合适的企业应聘。招聘者可以选择发布或撤销自己的招聘信息,也可以浏览到求职人员的信息,选择是否同意他的应聘请求,并向其发送通知。


关键词:Java;Servlet;Oracle;招聘系统

Abstract

With the development of the times, China's 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

1  绪 论

1.1 开发背景

伴随着中国经济的飞速发展,城市化进程的加快,求职者队伍的不断壮大,传统人才招聘的弊端初露端倪。首先,传统人才应聘的形式是求职者和企业的负责人面对面地交流。这就需要企业和求职者提前规划自己的时间,准备大量的纸质材料,并选好举办招聘会的地点,这一系列流程都需要双方把大量的精力投入到准备活动中去,使得应聘还未开始,成本就已大幅增加。其次,企业在筛选数以百计,甚至数以万计简历的时候,往往会由于阅读疲劳,漏掉一些真正有价值的简历,使得企业丧失掉一批有用的人才。对于求职者而言,也会错失掉良好的机会,令人惋惜。

随着国内互联网飞速的发展,用户已经越来越习惯于使用互联网传递信息,接收信息,利用互联网技术使得自己的生活更加便利,快捷。在这样一种大趋势下,网上人才招聘系统出现在了用户的眼前。网上人才招聘系统相对于传统的人才招聘,有以下几点优势:

     1.方便快捷。对于求职者来说,只要在互联网上向有意向的企业投递了个人简历,便可等候企业的通知信息;对于企业来说,只要点一下鼠标便可同意求职者的申请。

     2. 选择多。由于招聘信息量丰富、使用网络招聘的人数基数大,在大量的职位数据库中,求职者对于适合职位的选择也就越多。

     3. 费用少。对于求职者来说,节省了不少成本,如:交通费、简历制作费、通讯费等不少费用。除此之外,还有效地避免了招聘会现场异常拥挤、交流效果不尽如人意、选择职位盲目性大的问题。对于企业来说,节省了办理招聘会的各种费用。

 正是由于以上种种优势,越来越多的求职者选择网络求职成为自己的应聘方式。

1.2 开发意义

本系统开发的意义在于突破传统人才招聘的模式,给招聘者和求职者提供一个便利、高效、准确的网络招聘平台,使得双方可以在把成本降到最低的前提下,在更快的时间获得更加准确的信息,从而满足企业的用人需求,实现求职者的自身价值。

1.3 国内外研究现状

在国外,运用互联网进行人才招聘的企业和求职者不在少数,许多优秀的第三方人才招聘网站也脱颖而出。在美国,优秀的人才招聘网站主要有:

  1. Beyond.com:每月发布的职位达数十万个。
  2. Job.com:全美访问量最多的人才招聘网站。
  3. Monster.com:全球知名的第三方网络招聘服务公司。现在已经在全球

二十多个国家设立分部或办事处,并且建立了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.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.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 Visio

Microsoft Visio是微软旗下的一款具备图形绘制、图表绘制、模型构建等多种功能的大型软件。Visio最大的特点是它自身提供了许多模板供用户选择,而这些模板又涵盖了网络、工程、软件等众多应用领域,这就成为了很多开发人员的不二选择。在应用当中,开发人员只需选好自己需要的模板,将Visio中提供的部件拖拽到自己的项目中即可。

所谓“一图胜千言”,利用Visio就可以轻而易举的构建出许多一目了然的模型,这样就大大提高了开发效率,减小了项目失败的风险,用户也更加放心。

Microsoft Visio于2000年被微软收购,在这十几年当中,发布过将近17个版本。在该项目中,使用的是Visio 2013专业版。

2.4.2 编码工具Eclipse

Eclipse主要是为开发Java项目而搭建的开放平台。除此之外,它还支持C、C++、PHP等语言。Eclipse是一组集成开发环境(IDE),集众多插件于一身,使用起来十分灵活。开发人员可以对Eclipse中的一些插件进行取舍,使得软件高效运行;也可以在Eclipse中切换开发视图,配置一些参数,不必像以前再进行一些繁琐的操作。

Eclipse于1994年被IBM和OTI两家公司所创建。后来IBM提出Eclipse开源项目的概念,被后来大约150家公司共同开发,以宇宙中星球的名字作为它每一代的版本代号。在该项目中,使用的是Elipse Mars版本。

2.4.3 数据库连接工具Navicat

Navicat是一套数据库管理工具,它可以连接到SQL Server、MySql、Oracle等主流数据库管理系统,简化了数据库的管理,方便了开发人员的操作,降低了数据库管理的成本。

由于Navicat是基于图形用户界面的,开发人员直接可以通过Navicat提供的功能,不必在命令行中输入SQL语句,便可以直观的操作数据库,管理数据,实现增删改查等操作。Navicat在提供便利的同时,也对安全性加以保障,开发人员并不需要担心数据泄露的风险。

Navicat也有众多版本,比如Navicat for MySQL、Navicat for Oracle等等。在该项目中,使用的是Navicat Premium版本。

2.5 开发环境

电脑型号:惠普242 G1 64位笔记本电脑

操作系统:Windows10专业版

数据库版本:Oracle10g XE

JDK版本:JDK1.8

服务器版本:apache-tomcat-8.0.24-windows-x64

3  系统可行性研究

3.1系统可行性研究概述

开发者在开发一个项目前,往往要考虑以下几个问题:这个项目有没有做的价值;在现有的条件下以及规定时间内是否可以把它完成;以及在做成之后,这个项目带给整个团队的利益究竟有哪些等等。这一系列要考虑的问题就可以看做对这个项目的可行性研究。

3.2系统可行性研究的目的和流程

可行性研究的目的就是在确保符合团队利益的基础上,利用手上最精简的资源,探讨这个项目是否可以按规定去完成。除此之外,可行性研究的关键不是提出具体的开发方案,而是探讨解决问题的可能性。

在系统开发生命周期中,往往会因为系统开发人员对市场的了解不彻底,对技术的掌握不熟练,对项目的风险因素预估不足等原因,导致许多问题都不能在合理的情况下得到解决。如果开发人员能够提前预测到可能出现的问题,并且在经过探讨后,不能得出合理的应对办法,那么就应该取消项目的开发。这样就能够在人力、物力等方面避免不必要的损失。

系统可行性研究其主要流程为:分析人员对用户提出的项目方案进行简要的需求分析,在此基础上,利用一些作图工具或原型工具得到该系统的逻辑模型,接着利用逻辑模型探索出许多不同的解决办法,最后从这些解决方案中找出代价最小的去进行之后更深入的探讨。

可行性研究往往可以从经济、技术、操作、法律这四个角度去讨论项目的可行程度,也可以让用户一目了然地了解到项目的整体规范。下面将仔细从这四个方面解析:

1.经济可行性:主要从“成本-效益分析”的观点出发,通过对货币的时间价值、投资回收期、纯收入等方面的研究,考量项目成本与收益之间的关系。

2.技术可行性:从开发人员角度来说,考查的是其是否具备开发这个项目的技术和综合素质;从项目构成来说,考察的是该项目的架构是否合理,将来在开发以及运行的过程中不会出错;从项目运行的条件说,考查是否具备相应的软硬件环境。

3.操作可行性:项目的操作在其领域内是否行得通。

4.法律可行性:确保该项目的开发不会触犯政治上或社会上的侵权,不会违反任何一项法律条例。主要是从版权、专利等方面入手。

3.3项目评估

项目名称:网上招聘系统的设计与实现

主要用户:个人和企业

关键技术:java、servlet、oracle

运行环境:windows操作系统

前台功能:为用户呈现出操作界面,且界面美观、布局合理,具备一定的前台验证功能,要对用户的操作具有引导性和提示性。

后台功能:在用户管理方面,包括注册、登录、信息修改等基本功能。除此之外,其他功能围绕“招聘”这一活动行为展开,主要包括各种信息的浏览、简历的投递、简历的接收以及后续对简历的回应等等。

该项目在现有的人力、技术条件下,在符合法律规定的前提下,可以在规定时间内按照上述要求将其实现,并且有充足的时间对其进行测试、调试,保证项目的正确性。总体来看,该项目具备开发的可行性。

4  系统需求分析

需求分析就是在确定系统可以开发的基础上,将客户对系统的口头概述,经由开发人员的分析总结,抽象为具体的需求用例,再形成需求规格说明书的软件开发过程。可行性研究旨在探索目标系统是否值得利用现有的资源去开发,问题是否能够在现有的技术上去解决。而需求分析旨在回答"系统应该具备什么功能"的问题,以确保将来开发出来的系统能够让客户满意。

4.1系统功能分析

4.1.1 用例图

网上人才招聘系统的用户共分为两类:个人用户和企业用户。

个人用户的用例图如图4-1所示。

个人用户可以管理自己的信息,管理自己的简历,也可以实时浏览企业发布的招聘信息,按自己的要求筛选出合适的企业从而决定报名,并可以在企业应答之后收到相应的回复。

企业用户的用例图如图4-2所示。

企业用户可以管理本公司的登记信息,管理招聘公告,也可以实时浏览求职者的个人信息,决定是否录用,并向其发送回复。

4.1.2 数据流图

个人用户业务的流程如图4-3所示。

个人用户在使用本系统时,会先进入到系统的登录界面进行登录,如果没有账户可用,则可以点击登录界面上的注册按钮注册信息。在成功登录后,则可以顺利地进入到主界面。个人用户可以在主界面的目录结构中选择相应的提示按钮进行操作。比如:修改人个信息、浏览各企业发布的信息、应聘心仪的企业、打印自己的简历等等。在完成操作后,用户可以点击退出按钮,安全地退出系统。

企业用户业务的流程如图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

应聘信息

应聘表

根据求职者编号和企业编号录入信息

  • 21
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值