软件开发与项目管理-1期-KC02-课程案例-网上招聘系统的设计与实现_第1页
软件开发与项目管理-1期-KC02-课程案例-网上招聘系统的设计与实现_第2页
软件开发与项目管理-1期-KC02-课程案例-网上招聘系统的设计与实现_第3页
软件开发与项目管理-1期-KC02-课程案例-网上招聘系统的设计与实现_第4页
软件开发与项目管理-1期-KC02-课程案例-网上招聘系统的设计与实现_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

《软件开发与项目管理》课程案例——网上招聘系统的设计与实现一、项目简介1.1课题研究背景随着计算机网络的迅速发展,网络的大规模普及,人事招聘已经从面对面投简历大范围向网络发展。用户可以足不出户,投出简历,不必担心时间是否闲暇,不必担心天气的好坏,不必担心距离的远近,从而使招聘变得更简单,更方便。为了实现以上特点,从而设计开发了这个在线招聘系统。可以更好的实现招聘人员和被招聘人之间的交流。此系统是招聘类系统,其开发的功能主要包括:用户通过互联网发出招聘信息和投出简历,网上招聘不但方便而且更加有效,人们由于不再需要东奔西走的去投简历,这样便省去了大量时间等一系列费用,所以省时省力成为其最大的优点。另外不同的地方就是网上招聘可以跨越多个省市甚至是国家,各地职位你可以自由选择,方便又快捷。本文首先描述了在线招聘系统开发背景和开发目的,然后根据系统的需求分析对系统展开了详细的设计(其中包括系统的更能模块、数据库表的设计以及技术的选择等),最后进行了在线招聘系统的功能实现。

1.2研究的意义在线招聘系统是以Browser/Client模式,B/C模式是一种网上招聘方式,网上招聘减少了许多时间问题,招聘信息直接来自企业,不需要第三方中介,从而减少了时间和金钱。,网上招聘不但方便而且更加有效,人们由于不再需要东奔西走的去投简历,这样便省去了大量时间等一系列费用,所以省时省力成为其最大的优点。另外不同的地方就是网上招聘可以跨越多个省市甚至是国家,各地职位你可以自由选择,方便又快捷。在线招聘和传统的招聘,本身就具有许多自身的优势。

(1)跟传统招聘方式相比在线招聘变得更快捷,而且更方便。

(2)跟传统招聘方式相比,在线招聘大幅度地降低了用户时间,并且使企业在现代商业活动中的竞争力有了明显的提高了。

(3)跟传统招聘方式相比在线招聘大部的活动全部都在网上实施,可以实现更环保无纸办公化系统,而且节省了纸张的开支符合低碳环保。

(4)跟传统招聘方式相比在线招聘的流程更数字化、更电子化,大大提高了运作的效率,而且大幅度的降低了成本。1.3课题研究的内容本在线招聘系统设计这要是以电子商务为运营模式即B2C模式主要实现在线招聘功能(前后台)。前台主要内容包括:在线招聘系统前台普通用户的登录、注册;在线招聘系统的招聘信息的展示;在线招聘系统普通用户的个人信息维护;在线招聘系统的普通用户个人招聘信息管理;在线招聘系统企业用户的登录、注册;在线招聘系统企业用户的招聘信息发布;在线招聘系统企业用户招聘信息管理;在线招聘系统企业用户查看应聘人员信息;在线招聘系统企业用户信息维护。后台主要内容包括:在线招聘系统管理员登录;在线招聘系统普通用户管理;在线招聘系统企业用户管理;在线招聘系统招聘信息管理;在线招聘系统个人信息管理。二、开发技术本章主要介绍了在线招聘系统在开发过程中运用到的相关开发技术,主要有Spring技术、SpringMVC技术以及MyBatisORM框架技术。2.1Spring技术1.Spring的简介Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE环境(Web或EJB)、独立应用程序、测试环境之间重用。2.Spring的原理最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xmlSpring的配置文件来动态的创建对象,和调用对象里的方法的。Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象进行监督和控制(也就是在调用这类对象的具体方法的前后去调用你指定的模块)从而达到对一个模块扩充的功能。3.Spring的优点低侵入式设计,代码污染极低;独立于各种应用服务器,可以真正实现WriteOnce,RunAnywhere的承诺;Spring的DI机制降低了业务对象替换的复杂性;Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。2.2SpringMVC技术1.SpringMVC的简介SpringMVC,即SpringModel-View-Controller,是一个实现了通用开发模式(模型-视图-控制器)的Web框架,它通过一个DispatcherServlet处理HTTP请求、完成资源映射、递交请求给控制器完成业务逻辑,相应数据则通过Model传递给视图解析器,解析为相应的页面或数据流返回给客户端。2.SpringMVC过程示意图图2-1SpringMVC过程示意图3.SpringMVC的工作原理客户端请求提交到DispatcherServlet;由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller;DispatcherServlet将请求提交到Controller;Controller调用业务逻辑处理后,返回ModelAndView;DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图;视图负责将结果显示到客户端。4.SpringMVC的使用步骤添加spring的jar包的支持;修改web.xml文件:配置SpringMVC的核心控制器;编写xml文档:applicationContext-servlet.xml;添加定义试图;编辑实体类;编写controller。2.3MyBatis技术1.MyBatis的简介MyBatis是支持自主定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs映射成数据库中的记录。MyBatis的功能:与其他的对象关系映射框架不同,MyBatis并没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。MyBatis允许用户充分利用数据库的各种功能,例如存储过程、视图、各种复杂的查询以及某数据库的专有特性。如果要对遗留数据库、不规范的数据库进行操作,或者要完全控制SQL的执行,MyBatis是一个不错的选择。与JDBC相比,MyBatis简化了相关代码:SQL语句在一行代码中就能执行。MyBatis提供了一个映射引擎,声明式的把SQL语句执行结果与对象树映射起来。通过使用一种内建的类XML表达式语言,或者使用ApacheVelocity集成的插件,SQL语句可以被动态的生成。MyBatis可与SpringFramework和GoogleGuice集成,这使开发者免于依赖性问题。MyBatis支持声明式数据缓存。当一条SQL语句被标记为“可缓存”后,首次执行它时从数据库获取的所有数据会被存储在一段高速缓存中,今后执行这条语句时就会从高速缓存中读取结果,而不是再次命中数据库。MyBatis提供了默认下基于JavaHashMap的缓存实现,以及用于与OSCache、Ehcache、Hazelcast和Memcached连接的默认连接器。MyBatis还提供API供其他缓存实现使用。3.MyBatis的用法无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:从配置文件(通常是XML配置文件中)得到sessionfactory.由sessionfactory产生session在session中完成对数据的增,删,改,查和事务提交等.在用完之后关闭session。在java对象和数据库之间有做mapping的配置文件,也通常是xml文件。4.MyBatis的优点MyBatis被广泛认为是最简单的一种持久化框架。sql可以写在xml中,结构清晰,灵活配置。文件归类,select后的字须定义到标签中,可以实现部分代码复用。执行sql后,返回的结果集自动封装。类似以下代码,均可省略。MyBatis真正的力量是在映射语句中。这里是奇迹发生的地方。对于所有的力量,SQL映射的XML文件是相当的简单。当然如果你将它们和对等功能的JDBC代码来比较,你会发现映射文件节省了大约95%的代码量。MyBatis的构建就是聚焦于SQL的,使其远离于普通的方式。动态sql,没觉得有多好。MYBATIS改进了应用的设计方式以确保未来的可维护性,后期可维护性增加。基于xml的,所以适合多平台。三、需求分析本章主要对在线招聘系统的需求说明进行了详细的描述,对业务流程,系统的结构框架以及各个模块功能和之间的联系进行了详细的分析,对非功能需求的一个说明。3.1需求说明在线招聘系统前台主要内容包括:在线招聘系统普通用户登录、注册;在线招聘系统的招聘信息展示;在线招聘系统用户信息修改;在线招聘系统用户投出简历;在线招聘系统的企业用户登录、注册;在线招聘系统企业用户对应聘人员信息产;在线招聘系统企业用户信息维护;在线招聘系统企业用户对招聘信息的管理;在线招聘系统企业用户对关键字查询搜索;在线招聘系统的企业用户发出招聘;在线招聘系统企业用户查看后台主要内容包括:在线招聘系统普通用户管理;在线招聘系统企业用户管理;在线招聘系统招聘信息管理;在线招聘系统管理员个人信息修改。3.2业务流程该系统前台的主要流程是普通用户或企业用户进入网站,用户可以选择登录或者是注册,然后可以浏览招聘信息,个人信息完善,可以申请职位,查看是否有面试机会;企业用户进入网站,用户可以选择登录或者是去注册,然后可以进入系统,可以发布招聘信息,查看应聘人员信息,管理招聘信息,查看成功应聘人员;该系统后台的主要经过是系统管理员通过登录模块进入在线招聘系统后台的主页,然后就可以对普通用户、管理员个人信息、企业用户和招聘信息等进行管理操作。本系统后台只提供一个管理员账号,系统管理员登录需要将输入管理员账号和管理员密码,系统将在数据库中经行数据匹配,如果账号和密码都正确将登陆成功,否则登陆失败,返回登录页面。下图为整个在线招聘系统的运行示意图:图3-1在线招聘系统整体流程示意图3.2.1前台功能1.用户访问网站:用户进入网站显示的是简介和注册、登陆界面,用户可以选择注册或登录,没有账号是不可以浏览内容的。2.普通用户注册与登陆:用户可以通过注册后,可以登陆到系统当中,从而可进行网上的应聘活动。3.企业用户登陆注册:用户可以登陆注册后,登录到系统中,然后可以进行网上招聘活动,查看应聘人员信息等活动。3.2.2后台功能1.管理员登录:通过管理员的登录,可以对系统当中的系统数据进行维护。2.管理用户信息:对普通用户,企业用户和招聘信息等数据进行有效的管理。3.管理员:对系统数据的维护等。3.3系统用户的功能3.3.1普通用户普通用户登陆本系统,普通用户在本系统可以完善个人数据,查看招聘信息,投出简历,查看应聘消息等;图3-2普通用户的功能示意图3.3.2企业用户企业用户为本系统的应聘方,就是发出招聘信息的用户,在本系统企业用户可以根据需求查询用户求职信息,并且可以把满足条件的应聘人员,来面试,可以查应聘人员的详细信息。企业用户可以具体的招聘要求,根据符合要求的面试、企业用户也可以修改信息,承包工程,发出在招聘。图3-3企业用户的功能示意图3.3.3管理员用户管理员作为后台管理人员,是不参与企业用户和普通用户之间的操作,管理员可以管理普通用户信息,企业用户信息,招聘信息的管理,管理员个人信息维护,系统自身数据维护;图3-4管理员功能示意图3.4系统功能用例图3.4.1普通用户注册用例名:普通用户注册简述:求职用户可以注册。参与者:求职人员前置条件:进入网站注册界面详细描述:浏览者登录本公司网站,进入注册界面;在注册界面填入相关信息,包括用户名、密码、邮箱等个人信息;3.4.2企业用户登录用例名:企业用户登录简述:企业HR登陆参与者:企业用户前置条件:进入网站注册界面详细描述:进入本网站首页填写用户名,公司名,邮箱,密码等信息;输入电子邮箱和密码进行登陆;3.4.3企业用户发布招聘消息用例名:企业用户发布信息简述:在登录后才可以发布招聘信息参与者:企业用户前置条件:已登录详细描述:企业用户登录成功进行发布消息、查看信息、修改信息3.4.4管理员管理用例名:管理员管理简述:管理员进行登录才可进行管理参与者:管理员前置条件:已登录后台管理员账户详细描述:进入本网站后台并使用管理员帐号登陆b)进行相关的操作3.5模块描述3.5.1主操作界面(首页)图3-5普通用户主操作界面功能示意图(1)普通用户注册:用户输入密码、邮箱和验证码。(2)普通用户登录:用户输入自己的邮箱和密码,经过验证即可登录。(3)浏览招聘信息:用户可以登录到系统主页浏览招聘信息(可以查看到招聘的类型和需求)。(4)修改个人信息:用户可以完善和修改个人信息。(5)投出简历:用户可以根据自己需求投出个人简历。3.5.2企业用户界面图3-6企业用户功能示意图企业用户进入系统后,可以进行多种操作,企业用户可以发出招聘信息,查看收到的信息,管理招聘信息,修改企业信息。还可以承包工程等;1.发布招聘信息:发布企业招聘信息;2.查看信息:你可以查看收到的应聘信息;3.管理发布的招聘信息:你可以把你不需要的招聘信息删除;4.修改个人信息:修改企业用户的资料;5.承包工程:承包适合企业的工程;3.5.3管理员管理图3-7后台管理界面功能示意图1.用户管理模块(1)管理普通用户:对长时间不登陆或没发出消息的用户进行注销(2)管理企业用户:对长时间不登陆或没发出任何招聘信息的用户,进行删除用户信息,以便节约内存减少数据库压力。2.信息管理模块(1)招聘信息的管理:管理员进行数据维护,当某一用户被注销或被删除,管理员要删除其发出的招聘信息。(2)个人信息管理:修改管理员个人信息。(3)工程管理:管理员维护工程信息,删除、修改和添加。四、系统设计本章主要详述网上在线招聘系统的架构设计,对应的数据库表的设计,多表之间的联系,以及相对的模块详细设计分析。4.1系统架构设计本手机销售系统应用稳定的Spring+SpringMVC+MyBatis框架技术。通过第二章开发技术的详细介绍,简单性、可维护性、松耦合的角度而言,可以构建一个健壮、高效、易于扩展和可维护的业务应用系统。典型的JavaWEB的MVC结构,分为Model(模型)、View(视图)和Controller(逻辑控制层)。在这三层结构中可以将业务规则、数据访问等工作放在控制层进行处理。客户端不直接与数据库交互,而是通过组件与视图建立连接,再由视图与控制层(SpringMVC作为控制器)进行交互,控制层通过使用MyBatis访问数据库,进行数据交换。4.2数据库设计数据库主要是用MySQL数据库进行设计的,以下的表均为项目所需的数据库表。根据以上在线招聘系统的需求分析,所设计的数据库各表之间的关系如下图所示:图4-1基于SpringMVC框架的系统架构图图4-2表之间关系图如上图,E-R图介绍了数据库内各表之间的关系,数据库内共有7张表,每张表内保存了各种重要信息;其中管理员表独立的,这可以在一定程度上,保证安全。前台普通用户表主要用于存储普通用户信息。表4-1前台普通用户表列名数据类型长度允许空主键外键描述IdintNY主键自增usernamevarchar50N唯一约束emailvarchar50Y登录邮箱passwordvarchar255N密码phonevarchar50Y手机号sexvarchar5Y性别personInfotextY简介前台企业用户表用户保存企业用户的用户信息。表4-2前台企业用户信息表列名数据类型长度允许空主键外键描述IdIntNY地址主键自增usernamevarchar50Y用户名Emailvarchar50Y用于登录Passwordvarcahr225N密码PhoneVarchar50N用户电话号码DatedateTimeY注册日期companyNameVarchar50Y公司名称企业用户发出的招聘信息表表4-3工作表列名数据类型长度允许空主键外键描述idIntNY编号CompanyNamevarchar50N公司名称jobSummaryvarchar50工作简介RequireText工作要求jobTypevarchar50工作种类jobExperiencevarchar50工作经验EducationVarchar50学历要求companyIdint企业用户id管理员信息表。表4-4管理员信息表列名数据类型长度允许空主键外键描述idIntNY唯一约束namevarchar50管理员姓名PasswordVarchar225密码PhoneVarchar50电话号码EmailVarchar100邮箱AddressVarchar200地址求职人员的信息表。表4-5建立信息表列名数据类型长度允许空主键外键描述idIntNY主键userIdInt用户idJobIdint工作idCompanyIdInt公司id工程表详细信息。表4-6工程表列名数据类型长度允许空主键外键描述idIntYY主键自增projectNamevarchar50工程名projectCompanyVarchat50工程发起公司ProjectInfotext该工程信息ProjectFundsVachar50工程预算4.3业务详细流程图描述首先用户进入网站界面,在此界面用户可以选择进入普通用户或企业用户,然后要选择是登录还是注册,注册之后就可以登录;登录普通用户,你可以浏览招聘信息,投出简历、修改完善个人信息;企业用户注册之后,登录你可以发出招聘信息、维护招聘信息,修改个人信息,承包工程;后台管理员登录,然后可以管理普通用户,管理企业用户,管理招聘信息,管理个人信息,管理工程信息;系统流程图如下所示:图4-3前台业务系统流程图图4-4后台业务系统流程图

五、系统实现与测试5.1程序结构MYSSMTest是项目名称,也是项目的根目录。WebRoot为Web目录,包括图片目录image和前后台JS文件、CSS样式文件。WEB-INF目录、lib目录view目录存放JSP页面web.xml依然为固定的目录和文件。src目录和WEB包含如下;bean包是所有实体类,controller是控制层,dao是持久层,mapper是MyBatisSQL映射文件,service是服务层;dao包实现了所有库功能的所有方法,controller控制器,用来响应请求;图5-1文件目录配置文件包括:图5-2配置文件系统实现5.2.1前台界面设计与实现首先用户打开网上招聘系统,下图5-3和5-4为网上招聘系统首页:首先在页面页首你可以选择是普通用户登录,还是企业用户登录,进入网站默认是普通用户登录页,在页面中你可以选择登录或是注册。图5-3网上招聘系统普通用户首页—登陆注册图5-4网上招聘系统企业用户首页—登录注册在普通用户用户选择登录之后,登录之后的页面如下图所示,用户可以在标题栏上面选择需要的功能。图5-5普通用户登录系统—主页面图5-6企业用户系统登录系统—主界面登录普通用户登录系统,和企业用户登录系统,之后显示页面,用户可以根据需求选择功能;普通用户可以完善信息,企业用户可以发布信息等等;如果已有账号可以通过登录界面登录,没有可以进行注册,而后进行其他操作;图5-7网上招聘系统—前台登录页面根据用户的邮箱获取和密码获取对象,将用户电子邮箱对应的密码与数据库中的用户对应的密码进行匹配,匹配成功即登录成功否则失败。如果没有账号可以进行注册,注册成功后即可登录,登录后则可以进行相关操作;图5-8网上招聘系统—普通用户注册页面根据上图,注册页面的要求,进行填写相关信息进行注册,这个系统中所有注册的账号有效电子邮箱,密码均为6-16位由数字、字母、下划线组成,如果注册的账号数据库中已存在或者不满足注册规则,则注册失败返回主页面,否则注册成功自动跳转到登录页面。用户自己必须填写验证码,以免批量注册。在用户登录成功后即可以在主界面进行完善个人信息,个人信息页面,会显示已填写的个人信息,否则就显示空;用户可以对个人信息进行修改或者是完善,在如下图5-9所示中,核心代码实现如下所示:图5-9网上招聘系统—个人信息修改页面根据用户登陆的用户的信息,到数据库内查找,找到然后将用户放入session中;根据Session中用户的信息,在页面中显示用户的详细信息,显示在页面中,用户修改后,根据用户id在数据库中修改或更新数据。下图是普通用户和企业用户的操作页面,用户可以根据需要进行操作;可以更有效管理(增加、删除,修改),如下图所示。图5-10网上招聘系统—普通用户操作页面图5-11网上招聘系统—企业用户操作页面普通用户在登陆之后可以进行管理已经投出的简历,企业用户可以在登陆之后进行发出招聘信息,效果如下图如下所示。图5-12网上招聘系统企业用户在发出招聘信息后,普通用户登陆后就可以看到,企业发出的招聘信息。求职用户就可以进行选择,自己喜欢的工作;招聘信息会在页面中分页显示。企业用户可以选择“查看”功能,可以查看所用应聘人员信息(图5-13),如果没有人员应聘会显示(图5-14)。图5-13网上招聘系统—普通用户图5-14网上招聘系统—企业用户根据企业用户的id从数据库内获取所有应聘信息,用户就可以对数据进行管理。后台管理员可以在后台能直接登录,如下图5-15所示。图5-15网上招聘系统—后台登陆管理员登录后就可以在后台对各种数据进行数据管理如图5-16所示。图5-16网上招聘系统—后台管理5.2.2模型层设计与实现实体类文件包含普通用户(User),企业用户(CompanyUser),招聘信息(Job),工程信息(Project),企业所选工程(CompanyProject),管理员(Admin),应聘人员(ProjectInfo),结构如下图:图5-17实体类部分实体类内容如下图所示:5.2.3后台控制层设计与实现由于使用了SpringMVC作为控制器,每一个类都是一个控制器,控制不同的操作,代码结构如下图所示。图5-18控制层结构SpringMVC作为控制器,必须以@Controller注解标记。当控制器类接收到一个请求时,它会在自己内部寻找一个合适的处理方法来处理请求,使用@RequestMapping注解将方法映射到一些请求上,以便让该方法处理那些请求。这种方法就像一般的类中的方法,控制器在选择好适合处理请求的方法时,传入收到的请求(根据方法参数类型,可能以不同的类型传入),并且调用该方法中的逻辑来进行处理,如下图所示。5.2.4数据访问层设计与实现数据库使用MyBatisORM框架,使用Spring进行事务管理,避免了代码冗余和复杂度,编码人员可直接使用SQL语句操作数据库,方便维护,而SQL语句则放在XML文件中,如下图,是MyBatisSQL语句。图5-19MyBatisXML文件而MyBatis实现了接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用

温馨提示

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

评论

0/150

提交评论