计算机毕业设计Hadoop+Spark高考推荐系统 高考分数线预测 知识图谱 高考数据分析可视化 高考大数据 大数据毕业设计 Hadoop 深度学习
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片!
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片!
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片!
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业讲师以及同行交流合作
主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等
业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等。
收藏点赞不迷路 关注作者有好处
文末获取源码
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
介绍资料
摘 要
高考志愿填报,是人生中的一大抉择,直接关系考生的终身发展每年都会有这样一个现象,有的考生分数很高,本可以录取到 985、211 高校的,但是因为志愿填报的误差,被激烈的竞争挤出来,或者由于不合适的专业选择直接导致了不理想的录取结果,更有甚者导致不得不复读。为了让广大考生报考到一个相对适合自己的专业,我打算利用历年高考志愿填报数据,结合学生个人信息,采用大数据技术,设计一个基于大数据的高考志愿填报推荐系统,在学生填报高考志愿时给学生推荐适合自己的学校和专业,帮助广大考生报考理想学校,提高录取的机率。
高考志愿填写分析推荐系统主要是基于大数据技术开发,同时使用SpringBoot框架,前端开发前端采用html开发,爬虫采用python,数据库采用MySQL,数据分析处理采用大数据平台分析,用spark处理数据。最后利用Echarts进行数据的可视化分析。保证本系统实用性和易用性的同时为用户提供良好的交互体验。
关键词:高考志愿推荐系统;大数据开发;MySQL;spark
Abstract
College entrance examination to college, it is a big choice in life, the direct relationship between the examinee's lifelong development every year, there is such a phenomenon, some students a high score, this can be admitted to the 985, 211 colleges and universities, but because of the error of the college, is the fierce competition, extrude or due to improper professional choose led directly to not admitted to the ideal result, In some cases, they have to read it again. In order to let the examinee enter oneself for an examination to a relatively suitable for their own professional, I'm going to use calendar year the university entrance exam to college data, combining students' personal information, using big data technology, designed a college entrance examination to college recommendation system based on big data, when the students fill in the university entrance exam volunteer recommend students for their school and major, Help the general examinee register for the ideal school, improve the probability of admission.
The college entrance examination volunteer filling analysis and recommendation system is mainly developed based on big data technology, using SpringBoot framework, front-end development using html, crawler using python, database using MySQL, data analysis and processing using big data platform analysis, data processing using spark. Finally, Echarts was used for data visualization analysis. Ensure the practicability and ease of use of the system at the same time for users to provide a good interactive experience.
Key words: College entrance examination volunteer recommendation system; Big data development; MySQL; spark
目 录
摘 要
Abstract
目 录
1引 言
1 课题背景
1.2 课题研究意义
1.3 系统特点
1.4 论文组织结构
1.5 本章小结
2 系统开发技术简介
2.1 JAVA语言
2.2 mysql数据库
2.3 MVC简介
2.4 springmvc
2.5 Spring
2.6 MyBatis
2.7 SpringBoot
3 需求分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 社会可行性
3.2 功能需求分析
3.3 本章小结
4 系统总体设计
4.1 架构设计
4.2 功能模块设计
4.3 数据库的分析
4.4 系统架构类图
4.5 系统交互图
4.6 本章小结
5 系统详细设计与实现
5.1 详细设计概述
5.2 系统配置
5.2.1 应用层配置
5.2.2 数据库连接配置
5.3 前台功能实现
5.4 后台管理模块
5.5 数据可视化实现
5.6 推荐模块功能
5.7 本章小结
6 系统测试
6.1 系统测试目的与意义
6.2 测试计划
6.2.1 测试目标及任务概括
6.2.2 测试方案及环境
6.2.3 测试覆盖率和风险分析
6.3 测试过程
6.3.1 登录页面测试
6.3.2 用户管理模块测试
6.4 总体质量评估
6.5 本章小结
结论
参考文献
致 谢
1引 言
1 课题背景
1、传统填报方法效率低、效果差。
目前,全国大部分省(自治区、直辖市)都是高考成绩公布后开始填报志愿,大部分家长和考生仅仅利用招生考试机构公布志愿填报日程几天时间,从近2700所高校和500多个专业中做出选择,对很多毫无经验的家长和考生来说“难于上青天”。因为影响高考志愿因素太多,如考生职业生涯规划、个人和家庭情况、分数、院校、专业、城市、高考志愿政策规则、填报策略技巧、近3到5年录取数据、录取概率测算、就业情况等,如果仅在几天内通过传统手段,以手工查阅书籍材料,往往会因为资料难找、耗时长、易疲劳出错等原因,填报志愿和最终录取去向往往不尽如人意。
2、填报方案不科学,录取不满意案例多。
《中国青年报》社会调查中心发起的一项10万人参加的抽样调查,超过71.2%的人后悔当年的高考志愿。我们可以在新闻媒体或网络上看到很多志愿填报不科学的典型案例,其中很多是高材生。
2008年周某以青海省第三名的成绩被北京大学生命科学学院录取,两年后周某选择转学到了北京工业技师学院。2017年李某从中国科学技术大学退学补习,2018年高考以云南省理科第8名的好成绩拒绝清华大学和北京大学发出的邀请,选择了四川大学口腔专业。2017年广西理科高考第3名考生,填错高考志愿批次,最后通过征集获得录取。2017年浙江省646高分考生竟报考独立学院,全省被独立学院录取的600分以上考生多达9人。
现实中,还有很多高考过来人默默承受着高考志愿填报失误带来的痛,比如对专业不满意、对院校不满意、填错批次、错过填报时间、被退档、毕业后从事与自己所学专业毫无关联的工作等。
1.2 课题研究意义
目前高考志愿填报,涌现很多没有结合自身实际、盲目跟风的不良现象,最常见的跟风是过度依赖智能系统,很多家长、考生缺乏高考志愿相关专业知识,又没有太多时间去研究,面对浩如烟海的数据产生焦虑情绪,希望找到一种性价比高的方式,解决填报志愿时遇到的各种难题,最好能省心省事直接生成填报方案。在庞大用户需求量和高额利润诱惑下,高考志愿智能辅助系统软件的市场近年来变得非常火爆,有些商家抓住客户着急心理和对行情信息不了解的情况,做出虚假、过分夸大宣传。大部分家长不能从专业角度去甄别智能系统,盲目跟风缴费升级会员,过分迷信权威金牌专家、内部来源数据、人工智能一键生成方案等,很多考生三年备考、三分钟报考,录取去向满意度不高。
在当今时代,互联网的高度普及以及信息技术的飞速发展都使得数据呈现爆炸式增长,海量的数据然已成为一种“藏”。与此同时,社会出现了大量的“据金者”在数据的海洋里挖掘、采集、提炼、分析,想要发掘有价值的信息。据了解,大数据目前主要应用于互联网、电商、视频门户网站等企业领域,对于教育领域则运用的较少高考是教育领域中最引人注目的大事件,中国作为高考大国,在高考招生的信息化建设中,积累了非常丰富的高考信息数据资源,包括历年的报名库、志愿库、录取库、成绩库等等,且数据大多为原始数据未经过处理。面对这些数据,考生在填报志愿时往往无所适从,导致高考数据没能充分体现其价值,面对大数据时代所带来的数据过载等问题,推荐系统列和搜索引应运而生,相比于后者的信息被动选择模式,推荐系统是基于用户的相关行为数据自动的帮助用户过滤掉一些无用或不喜欢的内容,直接替用户完成了自我筛选的过程。其极大的缩短了用户在信息选择上的时间,同时也提高了用户相关行为数据的利用率。
1.3 系统特点
本系统主要具有几个显著的特点:
(1)系统界面友好,功能实用且操作比较快捷简单。
(2)开发系统所用的周期短,维护费用低,软件的更新速度也较快,具有可靠安全性、可维护性的特点。
(3)系统具有很好的可移植和扩展性,也主要表现在:首先,用户只需要使用IE浏览器(IE及以上)就可使用该系统;其次,该系统提供的管理员登陆功能,可以方便的进行权限的控制;最后,该系统可以根据高铁部门随着市场相关策略的改动,而增加或者修改一些功能,却不影响到系统本身。
(4)系统从开发到完成,考虑的都是要很好地实现人机交互,能够让操作人员,特别是对计算机知识、网络知识不是很熟悉的人员,也能够快速地使用和操作该系统。
(5)在操作人员因某种原因输入了错误的数据时,系统会自动提示数据输入有误,这样保证操作人员输入数据的准确无误。
(6)同时,系统采用B/S的架构体系,维护和升级方式简单,成本降低,选择也更多。
1.4 论文组织结构
论文共分为六章:
第一章主要对课题的背景、意义和主要目标展开阐述,明确该课题开发的一些前提条件。
第二章主要围绕开发工具及环境,对系统开发过程中需要用到的工具和技术做了一个大致的介绍。
第三章需求分析,详细说明了系统开发前所做的充足的需求方面的工作,经过一系列的分析和准备工作确定了系统开发的具体事项。
第四章是系统总体设计,在这一章分析了整个系统的一些开发要素,分析系统的整体性,重点阐述了数据库的分析与设计。
第五章是论文的重点部分,系统详细设计以及系统功能的实现。在这一章,对系统的功能进行了集中展现,对涉及到的关键代码和方法也进行了简练的描述。
第六章的系统测试,对系统测试的具体计划、阶段和方法详细展开描述和相关的介绍。
上述六章基本是按照系统开发流程进行编写的,从最初的需求分析,了解系统现状,是否应该进行项目开发,做了较为详细的调研和分析,进而确定了系统开发的大前提,为系统开发提供了理论支撑。其次对系统进行分析和设计,从整体到局部,不仅涉及到整体的走向和特性,而且针对功能性模块展开分析,力争做到系统功能分析的全面、详尽。再然后即功能模块的展示,通过对各功能模块的运行效果进行展示,一是判断是否满足基本需求,二是发现不足进一步改进。最后就是系统测试环节了,通过黑盒测试和动态测试相结合的方法对系统是否符合要求,在运行过程中有无缺陷进行了测试,完成了系统开发。
1.5 本章小结
在本章中,阐述了课题的背景、意义及其主要目标。系统网站的设计与开发,后台框架的搭建是核心,单凭一种框架达不到理想的效果,因此需要将几种主流框架进行整合,从多种角度对项目在稳定性、安全性、实用性方面的优化并确保项目可以高效运行,因此使用了Springboot集成框架。
在核心框架搭建完成后,需要提出来的是搭建前端框架,在这样的配合下,会让项目在后端的稳定性和前端的可视性上相得益彰,达到项目之前预想的效果。可以说,前端设计是除后端架构后比较重要的一个环节,影响着用户在使用该系统时的第一印象,而简约的UI风格无疑为系统增添不少加分项。
因此,文章的组织结构也将很明显的得到体现。鉴于本系统后端和前端主次分明,相辅相成的关系,本文将以这两方面为主线展开需求分析、系统分析与设计、系统功能实现、系统测试等方面的分析与阐述,完整展现项目开发过程和相关规范。
2 系统开发技术简介
一个完整项目的开发,尤其是高效的系统,不仅需要严谨的逻辑思维和代码风格,而且需要开发工具和环境的有力支持。而在工具的选择上,因为各自存在的优缺点,适用性,也是有相关考量的,需要提供支持的工具可以很好的适应和支撑项目进程、占用空间、框架搭建、数据库连接等等。与此同时,环境的搭建也是项目开发过程中必不可少的环节,需要进行一系列的特定配置。
2.1 spark 语言
在提交应用程序之后,Spark将经历一系列转换,这些转换最终将成为每个节点上要执行的任务。
RDD操作符触发作业提交,发送到作业生成RDD DAG。
从DAGScheduler转换到dag阶段,每个阶段都会生成相应的任务集合
TaskScheduler将事务处理任务分配给执行器执行,每个处理任务对应一个相应的数据块,由用户自己定义的函数处理。
Spark除了执行分发、追踪、执行操作等任务外,还实现了对分布式计算和事务任务处理。总结归纳最终结果,完成Spark应用程序的计算。
RDD对事务的管理是通过块进行操作管理的。BlockManager将数据抽象为存储在内存或磁盘中的数据块;如果数据不在本地节点上,计算也可以通过远程节点复制到本地机器上。
scala的特点:具有很好的兼容性、对编程有了很大的支持、对分布式系统的支持、简洁的语法和提供api的支持,scala与java兼容,工作效率非常高,可以集成到hadoop生态系统中。
Spark运行基本原理:
为项目创建基本的开发环境,通过dirver创建一个SparkContext,合理安排并监视数据资源的使用情况。
资源管理器为其分配资源并启动执行过程。
SparkContext根据RDD的之间独有的关系构建DAG图,DAG图提交给DAGScheduler进行有次序地分析,然后交付到最下面一层的taskscheculer进行处理。管理者将任务发送于SparkContext, taskscheduler将任务发送给管理者并向用户提供有关的代码。
任务执行执行器并将结果反馈给TaskScheduler,对反馈进行排序,最后释放资源。
2.2 mysql数据库
Mysql是使用较为方便,成本小的数据库。它与别的数据库相比较操作更为灵活,运算速度较快。所以mysql数据使用者较多。因为它是免费开源的所以更适合用作做毕业设计的数据库。要想使用MySQL数据库一般需要经过如下步骤:到官网下载——>安装到本机——>使用jdbc、hibernate等实现和数据库交互。该系统用hibernate框架和后台交互。所以需要用到mysql的驱动类的类名com.mysql.jdbc.Driver,还需要描述他的方言类型org.hibernate.dialect.MySQLDialect以及mysql的端口号3306,这些都是要在hibernate配置文件使用的。
2.3 MVC简介
MVC主要分为三大块:Model(模型)表示应用程序核心(比如数据库记录列表)。View(视图)显示数据(数据库记录)。Controller(控制器)处理输入(写入数据库记录)三个层次的每一层在处理程序上有各自明确的任务,在功能实现上有清晰的区分,各层与其余层分离,但各层之间存有通信接口。采用三层软件设计架构后,软件系统在可扩展性和可复用性方面得到极大提高,在资源分配策略设计合理运用的同时,软件的性能指标也得到提升,系统的安全性和易管东北 理性也得到改善。用JSP和Servlet就可以实现一个MVC模式,在使用JSP开发时,Servlet可以认为是一个控制器,负责页面画面发出的请求、决定使用哪一个JavaBean对象,以及将处理后的结果转发给哪一个JSP画面。JavaBean用于Model层,主要负责业务的处理和数据库的连接等操作,JSP主要负责画面的显示、视图中数据的采集和处理以及用户的请求。
首先Servlet控制器接受浏览器发出的request请求,并决定应该调用哪个JavaBean来进行处理。然后JavaBean负责与数据库的连接和数据的存取并根据不同的业务逻辑来处理用户的请求,再将处理后的数据返回。最后Servlet控制器将数据返回给浏览器,通过表示层呈现给用户。
2.4 MyBatis
MyBatis是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。它支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
2.5 SpringBoot
SpringBoot是一个新型框架,它主要专注于管理整合市面上目前主流的框架,比如SSM框架,我们知道原生的SSM框架配置文件很多,各种包扫描很容易出问题,但是SpringBoot完美的为我们解决了配置文件的问题,SpringBoot基本上属于零配置,我们只需要写几行配置就可以整合SSM框架,这可谓是程序员的福音。
SpringBoot的优点如下:
1、内嵌各种潮流Web容器,无需手动部署War包。
2、简化了Maven的配置,一切都是自动配置,程序员可以专注写业务代码。
3、不需要写各种XML配置文件,通过各种注解可以实现框架整合。
2.6 Python分析
首先,我们必须知道大数据数据从何而来?一般来说,除了一些公司有能力自己生成大量的数据外,大多数时候还需要从互联网上跟踪数据进行分析。
传统上,网络爬虫是Python、Scrapy最流行的爬虫结构、网络爬虫还占据了HTTP工具包、urlib2、HTML分析工具、beautifulsoup、XML解析器、LXML等的强大领域。
然而,web爬虫并不仅仅是打开一个web页面并分析HTML。高效的爬虫必须能够承受大量的同步行动并保持灵活,常常必须能够抓住成千上万的网页,甚至是在同一时间,线程池的传统做法是一个更大的资源浪费,在成千上万的线程的数量中,系统资源基本上都在浪费在线程的代码。
为了能够很好地进行cooutine操作,Python研发了很多的数据空间存储机制。Python认为比AMQP是非常有效的机制之一,ZeroMQ是首例向Python提供研发版本的。为了进行高效的实时处理,爬虫可以爬取大量的数据集。通过爬虫所得到的数据要进行分类处理,Python不弱于scrapy,有着很出名的语言处理包NLTK和专业的分区处理工具Jieba,都是创建分区所用的。还有另外的一种编程语言就是R语言。开发语言Python与开发语言R相比速度要快。Python可以直接应对G的数据;R不行,R语言做数据分析处理时需要将大量的数据利用特有的数据处理方法将其分成小部分,因此R不能直接得到大数据的分析结果,只能分析统计结果。
3 需求分析
需求分析的主要工作是整合各种信息,这是通过建模来得到实现的,便于客户和开发人员理解开发系统要解决的问题。同时,需求分析工作还会根据要解决的问题定义一个需求集合,这个集合能够为问题界定一个有效的解决方案。需求难免会出现需求错误。遗漏等问题,因此,需求分析也应该注意这些问题,及时加以修正。因此需求分析对整个项目的设计和开发都是起到决定性作用的,规定着具体项目的走向。
3.1 可行性分析
可行性分析是为了清楚了解软件系统是否值得开发,如果不值得,应停止进行下一个环节,避免造成时间、资源、人力和金钱的浪费。如果值得,应该推荐行动方针并草拟开发计划,推动软件开发下一个环节的进行。尤其在当下社会环境中,用户量十分庞大,可能引导项目投资方设立过高的开发要求,超过现有团队的开发水平甚至包含了一些暂时不够成熟的技术,如果可行性分析缺失或者不重视,将导致项目开发进程受阻。及时开发完成,也可能得不偿失。因此,可行性分析一直是系统开发中比较重要的环节,将决定着系统能否进行相关开发,能否建立起良好的盈利体系,这样才能形成投资方与项目开发方的双赢,也会在行业形成良好的口碑。该项目将从以下几个方面进行相关考量:
3.1.1 技术可行性
首先,该项目是基于java语言进行开发的,java课程安排在大二学期,有了之前C和C++的基础,java的学习还是比较顺利的。作为java的核心,面向对象的思想贯穿整个学习过程,继承和接口等常用的重点知识也已掌握,代码风格严谨。
其次,JSP在大三学习,在这之前,学院设置了课程《web程序设计基础A》学习html和java script,对web开发有了一定了解,为JSP的学习打下了一定基础,在紧接着的学习中JSP方面基础功也比较扎实。
最后就是实习,通过在企业的实习,我对Springboot后端框架以及Bootstrap前端框架有了一定的了解,并动手实践去尝试这些新的主流的技术,获益匪浅。对于开发工具,MyEclipse和MySql在之前的课程设计中都用到过,相关的技术也比较熟练。可以说,学院的学习和企业的实习共同为该系统的开发和实现在技术方面提供了有力保障。
3.1.2 经济可行性
系统开发使用的工具都是免费的,所用框架已经开源,在系统开发过程中不会在开发平台上有任何的花费。查阅资料方面,大学图书馆已整体付费,在校学生可凭学号和密码登录校园网,再进入图书馆网页。实习阶段通过VPN插件远程登录大学图书馆,无需付费即可查看相关文献,了解权限管理相关的开发思想、技术。因此,从经济角度考虑,系统开发可以继续进行。
3.1.3 社会可行性
该系统所有界面在web端实现,逻辑清晰,从登录到具体的权限分配都以常见的方式呈现,熟悉windows操作系统即可对该系统的功能进行操作,而当下电脑的普及让windows操作系统基本的使用不再是高技术含量的事情。因此,系统在开发出来之后,可满足相关操作,操作是可行的。
3.2 功能需求分析
一个系统的安全性和稳定性至关重要,但实现功能是最基本的。现在的系统开发中,后端趋于模块化,针对不同模块进行开发,可以专注于具体功能的实现,对单个模块完成之后,需要进行模块的整合,这就对命名和编写规则等提出了规范。在公司中,应该有属于自己的命名规范和编写规则,可以保证模块间的顺利整合,也可以应对人员离职等突发状况,以便工作的交接。
高考志愿填写分析推荐系统主要是基于Java语言的技术开发,同时使用SpringBoot框架,前端开发主要使用Html与Css的结合来进行页面的展示与布局;使用MySQL来进行数据的存储,通过整合MyBatis来进行对后台系统数据的管理,以及前端与数据库中数据的查取;利用Echarts进行数据的可视化分析。系统主要有以下功能模块:
本项目的基本功能包括:
(1)用户登录:用户注册登录系统
(2)用户查询:用户可以查询各个高校的历年分数线以及每个专业的最低录取分数的基本情况,以方便用户通过往年成绩对比自己成绩来选择学校专业。
(3)用户进行意向填报:用户可以输入自己想要报考的学校
(4)志愿报考预测:用户通过输入生源地,高考分数,然后选择你想报考的学校,然后通过大数据分析预测你是否可以被这个学校录取。
(5)志愿报考指导:系统能够根据各个学校每年分数线以及实际成绩推 荐学校并查看相应专业信息。通过大数据分析推荐出最适合的学校以及专业。并且考生则可以根据自身实际情况,如兴趣爱好、未来发展方向、专业偏好等选择喜欢的高校和专业进行相应报考。
3.3 本章小结
需求分析作为项目开发的第一步,必须对项目的需求有一个清晰的认知,尤其是在功能方面,要了解到项目为什么要做,需要实现什么样的功能,结合自己的技术水平和相关的开发工具进行全面的评估后,才可以正式决策是否进入下一个环节。本章通过需求分析,从技术、经济、操作三个方面对系统开发对系统进行可行性分析,认为项目值得开发。在功能模块的需求分析后,详细阐释了系统需要实现的功能,结合上述可行性分析,认为功能可以实现。确定需求之后,系统开发进入下一环节。
4 系统总体设计
4.1 架构设计
架构设计是一个软件系统从整体到部分的最高层次的划分,描述软件系统中构件如何形成整体架构,构件相互之间如何发生作用,这些都是关于这个软件系统本身结构的重要信息。通过软件架构的设计,目的是:1.使软件系统能够达到为用户提供最佳的功能和服务的状态;2.使软件和系统的结合达到最佳运行性能;3.合理和最佳地利用系统的各项资源;4.在软件的开发、部署、运行、维护、升级换代上提供最大的灵活性;5.为系统提供最大的安全性、稳定性和可靠性的各项质量素质。因此,软件架构的设计目标包括:可靠性、安全性、可扩展性、可定制性、可延伸性、客户体验特性、市场时机等几个因素。
本系统采用B/S模式架构。B/S架构的优点是:基于B/S体系结构的软件简化了客户端,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可以运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级;B/S体系结构,模式特别适用于网上信息的发布;B/S体系结构还提供了异种机。异种网,异种应用服务的联机、联网、统一服务的最现实的开放性基础。B/S体系结构的缺点是:缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;系统扩展能力差,安全性难以控制;应用系统在数据查询等响应速度上,要远远地低于C/S体系结构;数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事物处理应用。
4.2 功能模块设计
高考数据推荐与可视化系统主要是基于大数据技术开发,使用Python爬虫、Spark分析、人物画像、短支付宝沙箱支付、身份证自动识别、推荐算法-协同过滤算法(基于用户、基于物品全实现)组合技术完整整个项目的开发,同时使用SpringBoot框架,前端开发主要使用Html与Css的结合来进行页面的展示与布局;使用MySQL来进行数据的存储,通过整合MyBatis来进行对后台系统数据的管理,以及前端与数据库中数据的查取;利用Echarts进行数据的可视化分析。系统主要有以下功能模块:
1.用户模块:
1.1用户登录后可以进行个人信息的查看以及修改。
1.2可以进行一对一的关于志愿的收费咨询。
1.3对志愿的模拟填写,通过填写的分数进行推荐。
2.管理员模块:
2.1对用户的信息进行管理。
2.2对首页院校广告位的院校信息进行上架与下架。
2.3对用户的反馈建议进行处理。
2.4对数据库信息的管理。
3.推荐模块:
3.1通过用户输入的分数可以进行两个层次的推荐,即能够冲一冲的、较为稳妥的。
3.2推荐在此分数段的考生,都有过那些志愿的填报
3.3管理员可以根据用户的分数进行相关推荐的管理以及推荐数量的管理。
4.院校查询模块:
4.1用户能够对院校的基本信息进行查询,包括官网、院校代码、院校地址、院校所属、专业详情的信息显示。
4.2能够对各个省份的招生政策进行查询。
4.3管理员能够对院校的相关信息进行更新或删除。
5.院校信息的展示模块(广告位):
5.1管理员将部分院校的信息或图片展现在首页。
5.2用户能够通过首页,对热门院校进行直观的查看了解。
6.数据分析模块:
6.1通过各个省份的高考人数进行可视化的分析。
6.2对全国高校的数量进行可视化分析对比。
7.建议反馈模块:
7.1用户可以将本系统的不足或者错误进行提出问题建议。
7.2管理员对用户的建议与反馈进行处理并作出回应以及奖励。
数据大屏可视化
通过spark分析和echarts可视化展示各地高考人数、高考人数比例、热词展示、志愿填报情况、高校分布情况等具体数据。
4.3 数据库的分析
数据库是对数据进行组织、存储和管理的,它是按照数据结构来实现的,位于计算机存储设备上,类似仓库一样,将数据集合有组织可共享地存储在计算机内。数据库中的数据并不是随意组织的,是由一定的模型来作为存储依据的,因此冗余度也较小,因其依据模型因此独立性也相对很高,同时也易于扩展,在特定的范围内可以被多个用户所共享。
逻辑结构设计不仅将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。我们都知道,数据库的概念模型和任何一个的数据库系统是完全不一样的,它是独立的个体,所以需要针对实际情况使用的数据库系统展开分析,将设计好的关系模型进一步转化成计算机可以识别的关系模型,在转换的过程中应该遵守下面的3条原则:
1.实体和关系一一对应
2.所有的主键必须是非空(NOT NULL)
3.对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
运行截图
推荐项目
上万套Java、Python、大数据、机器学习、深度学习等高级选题(源码+lw+部署文档+讲解等)
项目案例
优势
1-项目均为博主学习开发自研,适合新手入门和学习使用
2-所有源码均一手开发,不是模版!不容易跟班里人重复!
🍅✌感兴趣的可以先收藏起来,点赞关注不迷路,想学习更多项目可以查看主页,大家在毕设选题,项目代码以及论文编写等相关问题都可以给我留言咨询,希望可以帮助同学们顺利毕业!🍅✌
源码获取方式
🍅由于篇幅限制,获取完整文章或源码、代做项目的,拉到文章底部即可看到个人联系方式。🍅
点赞、收藏、关注,不迷路,下方查看👇🏻获取联系方式👇🏻