高校毕业生离校就业数据分析管理平台的设计与实现(Java毕业设计)教务管理、就业统计
一、系统环境
运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以
tomcat环境: Tomcat 7.x,8.x,9.x版本均可
操作系统环境: Windows XP/7/8//8.1/10/11或者Linux或者MacOS,2G内存以上,推荐4G,4G以上更好
用了技术框架: HTML+CSS+JavaScript+jsp+mysql+Spring+SpringMVC+mybatis+Spring boot
数据库: Mysql数据库,任意版本均可,也可使用各种数据库工具,例如Navicat等。
二、摘 要
高校毕业生数据统计问题一直以来是每个高校管理者比较头疼的问题,传统高校做法是通过任务分发进行收集,以院系为单位,各个班级为小组,有班主任收集本班毕业生信息,然后汇报给院系,最后再上报到学校,这样的方式消耗大量的人力以及时间,并且数据传递之间可能会出现损失,不利于管理人员进行管理。但是采用互联网技术来开发一款高校毕业生数据统计分析平台系统就可以很好的解决这些问题。
本文设计并开发了一款毕业生数据统计平台系统,系统采用框架进行B/S架构,系统通过SSH(Spring+SpringMVC+Hibernate)框架搭建。系统分为三个角色进行使用,分别为学生、辅导员和管理员角色,系统将个人数据登记权限分发给学生填写,辅导员来对数据进行审核,最后由管理员来进行统计,系统将毕业生档案信息以及就业信息进行收集,然后通过E-Charts框架进行数据可视化,同时还提供学院、班级、专业以及招聘和资讯信息的管理功能将系统功能丰富化。系统通过结合互联网技术,极大的提高了管理人员的管理效率,让高校对毕业生数据统计更加全面。
**【关键词】:**毕业生数据;SSH框架;E-Charts框架;
三、目 录
1 绪论 1
1.1 课题研究背景 1
1.2 研究意义 1
1.3 研究现状 1
1.4 论文主要研究内容 2
1.5本章小结 2
2 开发工具及核心技术 3
2.1 开发工具 3
2.1.1 Navicat 3
2.1.2 Eclipse 3
2.1.3 Tomcat 3
2.2 开发技术 3
2.2.1 Spring框架 3
2.2.1 SpringMVC框架 4
2.2.3 Hibernate框架 4
2.3 本章小结 4
3 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2 经济可行性 5
3.1.3 操作可行性 5
3.2 用例分析 5
3.2.1 管理员用例 6
3.2.2 学生用例 6
3.2.3 辅导员用例 7
3.3 本章小结 8
4 系统总体设计 9
4.1 功能模块设计 9
4.1.1 普通用户模块 9
4.1.2 管理员模块 10
4.2 系统架构设计 10
4.3 数据库结构设计 12
4.3.1 数据库逻辑结构设计 12
4.3.2 数据库表结构设计 12
4.4 本章小结 15
5 系统实现 16
5.1 学生功能模块 16
5.1.1 毕业生个人信息上报 16
5.1.2 档案转送 17
5.1.3 就业信息登记 18
5.2 辅导员功能模块 19
5.2.1 毕业生信息管理 19
5.2.2 招聘会管理 20
5.2.3 宣讲会管理 21
5.3 管理员功能模块 22
5.3.1 学校基础信息管理 22
5.3.2 数据可视化展示 24
5.4 本章小结 27
6 系统测试 28
6.1 系统测试规划 28
6.2 测试用例 28
6.3 测试结果 29
1.登录失败测试结果 29
2.毕业生信息修改测试结果 30
6.4 本章小结 30
总 结 31
参考文献 32
致 谢 33
四、系统内容
1.绪论
1.1 课题研究背景
现如今,网络已经覆盖到人们生活的方方面面,电子商务得到了巨大的发展,“互联网+”思维结合电子商务有了非常巨大的空间。网络购物就是在这样的大环境下快速兴起的,并且取得了巨大的成就,据不完全统计国内网络覆盖率高达92%的程度,网民人数已经突破10亿大关,可以说国内已经进入到全民互联网时代了。互联网给人们生活带来了极大的便利,方便了人们的生活,减少了管理人员耗费的时间,提高了管理效率,许多业务在线上进行可以很大程度上省去掉非常多不必要的时间,足不出户就能完成,传统行业结合互联网技术进行创新已经成为时代发展趋势。
教育业一直以来都是国内非常重视的行业之一,几乎每个家庭都会在教育上面投入巨大的精力和金钱,学校教育更是人们关注的重点。随着大学普及度的不断提高,大学人数逐年上涨,庞大的人数就给大学管理人员带来了巨大的压力,特别是对于毕业生档案交接和就业信息统计来说更是如此,学校毕业率更是关系到一个大学的排名,学生档案又是关系到学生就业的重要材料。所以对于这两项信息的管理至关重要。
1.2 研究意义
开发出一款高校毕业生就业数据分析平台系统可以将信息管理同互联网技术很好的结合起来,利用计算机强大的存储和计算能力,可以将庞大的数据量存储到硬盘里进行持久保存,并且快速的计算能力可以将大量的数据进行统计计算,这样不管学生数量有多少都可以进行清晰化统计。从学生角度来看,系统可以给学生提供一个档案转移以及毕业信息登记的地方,并且可以快速获取学校发布的资讯信息,以及可以查看校招信息。对于辅导员来说,该平台可以给辅导员提供一个信息发布的地方,并且可以对自己负责的班级信息进行管理,对学生信息进行审核。对于管理员来说,该平台提供一个学校基本信息管理系统,并且可以将全部数据进行汇总和统计,从而进行分析,发现学校的现状和问题所在,及时调整学校教育规划,让高校在竞争中脱颖而出。
1.3 研究现状
对于国内来说,许多高校都已经将管理系统应用到学校日常教务管理当中,其中以教务管理系统为主,通过教务系统来对学生日常课程以及教师信息分配管理可以很大程度上减少人力投入,不需要需要管理人员投入到日程安排上去,高校采用计算机管理系统来进行数据管理已经是当下国内发展现状。但是对于毕业生信息管理模块来说,目前国内高校还是比较少有集成该类系统,市面上已有的系统包括,由维普开发的毕业生管理系统,该系统侧重于毕业生论文答辩的管理,对毕业生档案和就业信息模块就比较缺少,并且存在着严重的信息泄露问题,根据调查,有非常多的使用者在没有投递简历的情况下收到劣质公司打来的招聘电话,并且公司掌握较为详细的学生资料,并且还有培训机构专门来收购这些信息,对使用者造成了严重不良的影响。
1.4 论文主要研究内容
本文主要介绍了高校毕业生数据分析平台分析、设计到开发的主要过程,系统严格按照软件工程的开发流程进行开发,设计并实现了高校毕业生数据分析平台系统。系统主要功能包括学校基础数据管理、毕业生基础数据管理、资讯信息管理、招聘信息管理、数据可视化展示、历年数据对比以及日志和用户管理等功能模块,通过对本系统的实现来研究高校毕业生数据对高校未来发展的影响,以及对同类型系统的对比与研究,找出已有系统的不足之处,并且研究出方法来解决这些不足。
2.开发工具及核心技术
2.1 开发工具
2.1.1 Navicat
Navicat是数据库可视化工具,本系统采用Navicat主要是进行连接数据库并且操作数据库的。本系统通过数据库和实体类设计完成以后就是通过Navicat来进行表结构创建,通过Navicat强大的可视化能力非常便捷就能完成表的创建和修改,并且支持在工具上手动插入数据,不需要再写Sql语句,这样可以为我们开发和调试节省大量的时间。本系统创建的数据库表就是通过Navicat来创建的,并且外键之间的关联也是通过该工具直接手动创建,为我们省下一大难题,解决了不会用Sql语句关联外键的麻烦。基于以上原因,本系统的开发选择Navicat工具。
2.1.2 Eclipse
本系统开发选取的IDEA环境为Eclipse,本系统属于JavaWeb系统,选用Eclipse来进行开发是非常方便的,之所以不选取IntelliJ IDEA工具是因为对于非Maven进行管理的JavaWeb项目来说采用Eclipse是更加便利的,不需要手动引入过多的配置,并且本系统模块各个层级之间通过Eclipse的竖型显示变得更为清晰,控制层、业务层之间可以很明显分隔开,便于开发人员分别进行开发,同时Eclipse最大的好处在于开源,不需要额外收费,这样极大的降低了开发投入的成本。基于以上原因,本系统的开发选取Eclipse工具。
2.1.3 Tomcat
本系统之所以采用Tomcat作为开发容器,是因为Tomcat作为一款开源的Web应用服务器兼具性能稳定、技术先进、轻巧便捷、易部署的优点得到了广大开发者的喜爱。开发者只需在服务器上配置好Tomcat并把项目打包部署上去就可以使用[7]。所以,Tomcat十分适合研究人员和中小型企业使用。而本文采用的版本为Tomcat第7版,此版本的稳定性已经得到广大开发者的验证。
2.2 开发技术
2.2.1 Spring框架
本系统采用Spring框架来进行开发,主要是为了代替Servlet框架的弊端,Spring框架拥有的两大特性正是本系统开发所需要的,本系统渴望开发出一款轻量级的系统,所以首先需要用到Spring框架的解耦性,将模块之间的关联进行降解,大大减少之间的耦合力度,让一个模块出现问题后最小程度的减少其他模块受到的影响,这样就会让系统变得更为轻盈。
其次,为了进一步的节省系统内存消耗,Spring框架的控制反转即IOC原理可以极大的减少内存消耗,本系统中用户模块、毕业生信息管理模块、学校信息管理模块中就很好的应用到这一特性,系统在控制层中注入和业务层的Bean后,就可以随去随用,不需要再每次NEW一个对象出来,这样可以最大程度上节省内存消耗,在生命周期结束后会自动被Java垃圾回收机制回收掉,释放内存空间。
本系统日志管理采用SpringAOP来进行实现,面向切面编程的思想让日志管理变得十分简单,怎么快速找到系统操作日志的位置并且不影响系统正常使用,就需要应用到这种思维模式,定义切点和切面,划分为不同维度,AOP基于动态代理,本质是反射机制,在运行的时候进行实现,可以在不影响系统运行的时候打印操作日志,这样做就可以完成日志管理,并且耦合性也非常低,不需要在每个模块中都添加,只需要配置好config即可。
2.2.1 SpringMVC框架
SpringMVC框架本质属于Spring框架的一个分类,所以可以和Spring框架进行无缝衔接,经常和Spring框架一起来使用,本系统采用该框架主要是为了将WEB层进行解耦,将WEB层分开来,采用MVC的设计思想,也分为三层结构,SpringMVC框架很好的集成了这一属性。
本系统采用SpringMVC框架主要是通过该框架携带的前端拦截器以及后端控制器的特性,系统前端传入的请求都会被前端控制器拦截下来,然后再分配给对应的控制层中,控制层通过数据解析,然后将数据进行业务处理,最后再返回给前端由SpringMVC框架进行渲染后返回到页面上去,这样层次分明并且极大的减少了传统Servlet框架的耦合性,并且方便集成数据库交互框架,方便同数据库进行交互。
2.2.3 Hibernate框架
Hibernate作为一种持久层框架,是基于ORM框架结构演变而来的。相比于Mybatis框架,Hibernate框架支持自动生成sql语句,本系统中数据库交互就是通过Hibernate框架来实现的。Spring框架可以很好的兼容Hibernate框架,该框架运用ORM思维将数据库表字段和系统实体类进行一一映射,通过操作实体类达到读写数据库的操作,这样比起传统JDBC的方式方便了太多,不需要再重新封装读写数据库的方法,直接调用即可。采用该框架大大的减少了开发人员进行重复的代码操作,减轻工作量,让开发人员更专注于业务本身。基于以上考虑,本系统采用Hibernate框架来进行数据库交互。
3.系统分析
3.1 可行性分析
3.1.1 技术可行性
技术可行性是指开发本系统技术范畴是否超出开发人员掌握的技术栈,如果超出开发人员所掌握的技术要求,则开发该系统就存在技术风险。本系统技术框架选择Spring+SpingMVC+Hibernate框架来进行搭建,这些框架是开发本系统技术人员所掌握的技术点,并且开发人员在开发本系统前针对这些框架进行了系统性的学习,确保在开发过程中不会碰到技术壁垒,确保项目开发不会因为技术难点而拖延开发进度,并且本系统开发工具的选取也符合常规,选取了合适的开发工具在一定程度上减少了开发的难度,故而是符合技术可行性要求的,开发人员的技术掌握是满足开发本系统的,因此本系统的技术可行性是满足的。
3.1.2 经济可行性
经济可行性是指开发本系统以及对本系统后面的运维成本是否会超出系统带来的收益值。如果开发系统的成本远远超过系统所能带来的收益,那么该系统的开发一定是没有意义的。系统在选用的开发工具以及其他的服务支持基本上都是完全免费的,在开发系统过程中的所有工作都是由自身做的,在碰到自己无法解决的问题,几乎都是向老师和同学请教和在网上查阅资料等,也因系统采用了Spring框架,也为系统的开发解决了不少繁琐的问题,因此本系统的研发成本是较低的,以及对于未来收益来看,本系统具有良好的的前景,在目前大多高校毕业生管理系统的功能上填补了一些管理系统的短处,因此本系统应该能取得不错的经济效应。综上所述,对于经济可行性来说是可行的。
3.1.3 操作可行性
操作可行性是指系统操作是否符合人们使用习惯,对管理者和用户两方面来说,本系统基于B/S架构,只需要对系统简单的部署调试就能够正常使用,系统界面美观大气,不需要经过单独的学习就能够进行功能模块上的操作,所以在使用层面上是没有难度的。对于运维人员来说,系统需要打好war包部署到Tomcat容器上即可,并且后期运维只需要进行War包替换,操作上节省了很多步骤。
综上所述,对于操作可行性来说是可行的。
3.2 用例分析
用例分析作为需求和设计的桥梁,在需求分析阶段起着重要的影响,本系统用例主要分为三个,分别是学生、辅导员和管理员三个角色。
3.2.1 管理员用例
管理员用例图如下图所示。
图3-1 管理员用例图
对于管理员用例来说主要需求应该与系统信息,学校信息和学生信息管理和维护有关,管理员作为本系统最高权限的管理者,需要对本系统各个模块信息进行管理和维护,同时使用管理员角色的用户一般是学校管理层的人物,需要对学校往年数据进行分析和比对,确保学校向着正确有利的方向在发展,数据可视化显示和历年数据对比功能就显得十分重要,根据数据对比分析从而得出学校毕业生基本情况,从而制定对应的方针政策,通过系统提供的便利,最后反馈到学校受益。故而管理员需求用例需要这些功能。
3.2.2 学生用例
学生用例主要是毕业生来进行使用,学生用例如下图3-2所示。
图3-2 学生用例图
学生用户需求主要是对个人档案信息进行管理以及对就业信息来进行登记,这两项直接关系到学生毕业情况,是毕业生结业前最关心的两件事情,同时本系统还提供就业对比数据来供学生进行参考,以及资讯信息来让毕业生快速获取学校任务安排。
3.2.3 辅导员用例
辅导员用例图如下图3-3所示。
图3-3 辅导员用例图
4.系统总体设计
4.1 功能模块设计
高校毕业生数据分析系统根据需求分析将系统功能分为两个模块,分别是管理人员模块和普通用户模块,管理员模块功能主要是对高校毕业生数据分析系统数据进行分析和维护,用户模块主要是使用本系统进行数据登记。
4.1.1 普通用户模块
普通用户模块主要功能是对毕业前完成信息录入以及档案转移等功能,并且根据系统提供的数据分析和数据对比来对自己未来就业进行参考,了解本专业的就业薪资和职业走向,给还未出校门的学生提供很好的参考作用。主要功能结构如下图所示。
图4-1 用户模块功能结构图
(1)个人中心:主要包括个人信息修改和密码修改功能,密码修改后还是产生日志记录,方便用户进行查询。
(2)毕业生中心:主要包括毕业前学生生需要进行的操作,包括毕业信息管理,档案转送以及就业信息登记等功能。
(3)数据对比:支持数据信息查询和数据对比功能,将数据可视化展示,可以查询学校、学院以及专业的历年数据对比和占比情况。
(4)资讯管理:对学校发布的资讯信息进行查看,支持条件查询和联合查询。
(5)数据分析:将学校、学院、专业到班级的信息进行展示,给用户提供数据分析的功能,分析就业局势以及薪资占比。
4.1.2 管理员模块
管理员模块主要是对系统信息来进行管理,并且通过信息统计与分析来预测未来发展趋势以及制定对应的方针政策。主要功能如下图4-2所示。
图4-2 管理员模块功能结构图
(1)学校信息管理:学校信息管理包括对学院、专业和班级等信息进行管理和维护,主要由管理员用户进行使用,对学校基本信息进行维护。
(2)招聘管理:对招聘信息以及宣讲会进行管理,发布校招信息以及宣讲会信息,来为毕业生提供面试和培训的机会,帮助学生毕业和找到心仪的工作岗位。
(3)毕业生管理:对毕业生信息进行管理,包括对已登记和未登记的学生信息进行查询和维护,以及支持数据导入功能,方便通过Excel表来直接导入数据。
(4)历年数据对比:通过对学校数据信息进行采集与统计,并且结合历年数据进行分析和对比,将数据根据模块进行划分,分别对学校总数据、学院数据以及不同专业数据进行对比。
(5)日志管理:对系统操作日志进行记录,包括用户登录登出记录以及密码修改记录。
(6)数据统计:对学校数据进行统计,并且进行可视化展示。
(7)资讯管理:发布资讯信息,管理资讯类型,根据资讯类型进行分类。方便管理员进行公告发布。
(8)用户管理:用户管理包括对系统所有用户信息进行管理,包括学生信息管理,辅导员信息管理以及管理员信息管理等。
4.2 系统架构设计
高校毕业生就业数据分析平台开发采用MVC的设计思想,将系统后端架构进行分层,然后同前端和数据库进行对接,实现了分布解耦,各个层级掌管各个层级应该做的事情,内部之间互不干预,这样可以让系统耦合性降低,避免问题连带以及维护性差的问题,架构通过这样设计,可以让层次更为鲜明,代码之间逻辑清晰,易于维护和新增和修改需求。系统架构图如下图4-3所示。
图4-3 系统架构图
1.前端的UI和展示层组成的系统前端结构,前端主要由JSP页面结合CSS样式和Ajax框架组成,来进行页面展示和信息传递。
2.业务层和数据层组成的后端结构,后端主要由Spring框架结合Hibernate框架来构成后端结构。
3.数据库采用MySql数据库来存储信息,通过Hibernate框架来完成映射和系统完成数据交互。
4.并且系统集成日志记录和权限控制能功能,采用Spring框架AOP控制切面编程的组件,来对日志信息进行管理,通过切面切点来集成到系统后端中,完成日志的管理,可以详细记录每一步系统的操作和类的对象,既方便运维人员跟踪又方便开发人员进行调试。权限控制则是采用Security安全控制框架集成Spring框架来进行实现,通过获取Token来进行权限管理,增加系统的安全性,避免恶意攻击。
4.3 数据库结构设计
4.3.1 数据库逻辑结构设计
E-R图是用来表示实体的类型、属性和联系的一种图形表示方法。经过数据库设计分析后根据各个实体之间的关系以及实体所必须的属性作出本系统的E-R图,见下图。
图4-4 系统E-R图
5.系统实现
五、代码片段
if(comment == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的评论信息");
return ret;
}
if(StringUtils.isEmpty(comment.getContent())){
ret.put("type", "error");
ret.put("msg", "请填写评论内容");
return ret;
}
if(commentService.edit(comment) <= 0){
ret.put("type", "error");
ret.put("msg", "编辑失败,请联系管理员!");
return ret;
}
if(!StringUtils.isEmpty(username)){
Account account = accountService.findByName(username);
if(account != null){
queryMap.put("userId", account.getId());
}
}
if(moneyMin != null){
queryMap.put("moneyMin", moneyMin);
}
if(moneyMax != null){
queryMap.put("moneyMax", moneyMax);
}
if(status != null){
queryMap.put("status", status);
}
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("rows", orderService.findList(queryMap));
ret.put("total", orderService.getTotal(queryMap));
/**
* 查询订单列表
* @param sn
* @param page
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("order/list");
model.addObject("accountList",
JSONArray.fromObject(accountService.findList(new HashMap<String, Object>())));
return model;
}
六、源码获取方式
一键三连+关注+评论留下你的邮箱 获取源码,主动获取 看主页置顶
一键三连+关注+评论留下你的邮箱 获取源码,主动获取 看主页置顶
一键三连+关注+评论留下你的邮箱 获取源码,主动获取 看主页置顶
原文地址:https://blog.csdn.net/weixin_42100694/article/details/144330675
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!