APP下载

高考志愿填报辅助决策系统的设计与实现

2022-11-03刘明奇程江珂陈晓兰

现代信息科技 2022年17期
关键词:省份页面分数

刘明奇,程江珂,陈晓兰

(攀枝花学院,四川 攀枝花 617000)

0 引 言

我国教育水平不断提高,走进大学校园的学生逐渐增多。但在这之前,许多学生将面临一个决定人生命运的选择,院校与专业的选择。大学数量的增多,专业数量也随之增加,文理科的同学不知自己可以填报哪些专业,不知如何从众多的专业中挑选出符合自己的专业。相比与传统的填报方式,在当前互联网大数据的时代下,信息化高速发展,本文高考志愿填报辅助决策系统应运而生,对学生和家长在面对分数出来时,可以从众多的信息中筛选出有用的信息,对志愿的填报可以起到科学地决策辅助作用。

1 需求分析

1.1 业务需求

用户选择自己想去的省份,可以查看该省份有哪些院校及其对应的层次和类型。其次,用户可以输入分数,系统会根据分数推荐出最适合用户就读的学校。在推荐出来的院校中,用户点击院校名称即可查看推荐出来最适合用户当前分数就读的专业。

1.2 技术需求

1.2.1 MySQL 数据库

一个系统的设计与实现肯定是离不开数据的。MySQ 数据库功能十分强大,简单易操作,能够有效管理与保证数据的安全。目前大多数开发都是采用该数据库,其可以将数以万计的记录保存在一起,所以本系统的开发主要通过MySQL 来对数据进行管理。

1.2.2 Java Web-Mvc 框架

常见的是Java Web经典三层框架,所谓的三层是Web层、业务逻辑层和数据访问层。Web 层需要我们完成对Jsp页面和Servlet 层等的撰写。业务层中是完成对每个方法的撰写,但它不能包含request 请求和response 响应,它是依赖数据层的。数据层需要对pojo 层完成定义和对数据库的连接以及增删改查的操作等。

1.2.3 Ajax

Ajax 最大的好处是可以发送异步请求,即当用户填写部分内容,发出请求后,只会刷新页面中相对应的部分,不会导致整个页面发生变换,极大地提高了用户的体验。

1.2.4 Scrapy

院校的推荐需要大量的数据,手动去收集每个学校的数据显然是不行的,会花费大量的时间,Scrapy 框架的应用可以让我们快速地获取公开的数据,Scrapy 的使用需要我们编写item,需要确认我们需要获取哪些数据,然后制作爬虫,最后保存在pipelines 里面。

2 数据库设计

2.1 数据库技术概述

数据库的设计往往是整个系统中最核心、最基础的一部分。本系统采用MySQL数据库,MySQL是一款安全、跨平台、高效的,并与PHP、Java 等主流编程语言紧密结合的数据库系统,其特点有运行速度快、支持面向对象、成本低等。

2.2 数据库的概念设计

根据高考智能推荐系统的用户实际需求,本系统对所需的实体进行抽象化,共分为五个实体,分别为用户实体、大学实体、招生院校实体、专业实体、省控线实体。系统的E-R图如图1所示。

图1 系统E-R 图

2.3 数据库的逻辑设计

根据E-R 图,本系统的数据库基本表结构设计为:

(1)用户信息表,内容为系统用户登录信息,主要储存用户的基本资料,包括用户ID,用户名,密码。

(2)大学信息表,主要是查看不同省份的大学,包括大学ID、大学名字、图片、所在地、院校层次、院校类型。

(3)招生信息表,主要是储存不同大学不同省份不同科别的招生分数,包括ID、大学名字、科别、生源地、2019年院校招生分差、2020年院校招生分差、2021年院校招生分差。

(4)专业信息表,主要是储存每个大学在不同省份不同科别的招生专业分数线,包括ID、大学名字、科别、生源地、专业、2019年专业分差、2020年专业分差、2021年专业分差。

(5)省控线信息表,主要是储存不同省份不同科别的省控线,主要包括ID、省份、科别、省控线。

3 系统详细设计

3.1 总体设计

根据对用户的需求分析,以及用户在实际填报中所需流程来完成本系统的设计。本系统主要实现用户对院校信息的查询、按省份查询院校和对用户进行院校和专业的推荐功能。系统总体功能设计如图2所示。

图2 系统总体功能设计

3.2 登录模块设计

一个完整的系统登录是必不可少的,要想使用该系统,应该首先登录,按照页面提示输入账号密码,成功登录后然后才能进入首页,进行对应的操作。登录页面如图3所示。

图3 登录页面

3.3 查询模块设计

用户成功登录后,立即进入系统首页。作为信息化时代下的青年,如果不知道有哪些院校,不知道院校的分数及专业优势,那么在志愿填报的时候可能会造成较大的损失,可能导致自己高分去了一个分数较低的院校或者低分进入自己不想进的专业。为了避免这种情况的发生,为了让自己的分数得到充分的应用,应该认真地去了解学校信息,点击本系统找院校功能,系统会立即显示出院校所在的位置、类型和层次,再次点击则可查看本院校有哪些专业。同时,如果有自己想报的地方,可以点击自己想去的省份,立即会显示出该省份每个院校所对应的信息,从而做到真正的运筹帷幄,精准控分。查询院校页面如图4所示。

图4 院校查询页面

查询的前端页面:

3.4 志愿推荐模块设计

仅仅查询不同省份有哪些学校,明显是不满足用户的需求。该模块是对用户智能推荐院校与专业,对用户的选择起到决策辅助的作用。

在查找完院校后对学校的情况有了大体的把握,但依然不知道该如何选择自己心仪的院校或者不知如何填报学校,想找一些适合自己分数性价比较好的学校,则可点击智能填报。然后按照提示输入省份、科别与分数。当正确输入自己所在的省份与科别的信息时,通过Ajax 来完成异步请求,系统会自动查询当年所对应的省控线,减少用户的输入,界面友好,可操作性强。当然,如果信息有误也可以自行修改。填写信息界面如图5所示。

图5 智能填报填写信息界面

Ajax 完成异步请求的主要代码为:

当用户成功填写时,系统会根据用户填入的信息,获取省份、科别、省控线、高考分数,传入后台,把高考分数与省控线进行相减得到分差,再把分差、省份、科别传入Dao层,与数据库里面的数据进行对比,找出与近三年分差最接近的大学,通过控制循环,从上到下依次排序推荐出最为适合的5 所学校。智能推荐大学界面如图6所示。

图6 智能推荐大学页面

查询的关键代码为:

成功查询后,展示出智能推荐学校的信息,但仅有学校,虽然可以手动上网查询学院历年专业的分数线,但因为现在一般院校都有较多的专业,用户需要一一对应自己的分数与历年专业的分数,并进行记录,相对来说还是较为麻烦。为了帮助用户快速了解如何该本所学校自己能就读的专业,用户只需点击推荐出来的院校,当用户点击院校后,后台会获得前端页面传回的学校名字、生源地及最开始输入的科别和之前计算的分差来进入到对应的数据库查询出与近三年专业分差相接近的8 个专业,会自动按分差推荐出适合用户的专业,同时显示该专业近三年的专业分差和在页面右上角显示出自己的分差。既提供了足够的信息,又为用户在志愿填报时进行了相应的决策,让用户可以在推荐出的专业中选出自己想去的专业并进行填报,极大地提高了用户填报的效率,在一定程度上避免了浪费分数的情况的发生。推荐专业的页面如图7所示。

图7 智能推荐专业界面

4 结 论

本文设计的高考志愿智能推荐系统实现了找院校和智能推荐的功能,让考生填报时了解自己想去的省份有哪些院校,当考生不知如何填报时,只需输入分数,所在省份及所学科别,本系统的智能推荐功能,能够自动给考生推荐出符合考生的学校及学校对应的专业,给考生的填报起到了辅助决策的作用,成功完成了考生的需求。通过对系统各功能和性能的测试,本系统运行基本稳定、性能可靠,基本指标达到了用户要求,具有较好的易用性和实用性。

同时,为了更加准确地推荐出适合用户的院校,数据的获取依然说一大问题,如何获取更加准确的数据需要进一步完善。

总结看来,因为自身算法能力和编程水平的不足,作为一个高考志愿智能推荐系统,与现在市场上与其相似大型软件系统比较起来,还有偏差,在以后的日子里,会经过后续学习将继续完善。

猜你喜欢

省份页面分数
答案
让Word同时拥有横向页和纵向页
一种快速比较分数大小的方法
16省份上半年GDP超万亿元
把握物理难点,分数更上一步
22个省
……的近似分数的若干美妙性质
奇妙分数与特殊数列自动生成
驱动器页面文件大小的总数为何总是07