毕业论文精选:基于Qt的高考志愿系统填报查询的设计与实现

基于Qt的高考志愿系统填报查询的设计与实现

 

摘     要

 

在当今社会教育的迅速发展下,高考人数的规模和增长速度也是空前的。高考已经变成了家长和社会高度关注的事情,但是高考只是一个开始,高考结束后的志愿填报是每一个家长和学生非常难抉择的事情,学生第一次面临之自己的职业选择,家长也努力着规划者孩子的未来。

本文首先对基于Qt的高考志愿系统的技术选型进行介绍,然后分型系统技术、经济和社会的可行性,然后根据需求分析的实际要求实现基于Qt的高考志愿系统。基于Qt的高考志愿系统主要有用户和管理员两个角色,管理员的功能主要有管理员登陆、录入相关学校成绩、录入相关学校的信息、用户管理等,用户的主要功能有用户登录、查询学校近几年分数线并展示曲线图、根绝成绩筛选学校、查看一些学校的简介。

  

 

关键字:Qt,高考,志愿填报,Java,Spring Boot

 


 

Design and Implementation of Qt-based College Entrance Examination Application Inquiry System

 

Abstract

 

With the rapid development of social education, the scale and growth rate of college entrance examination are unprecedented. College entrance examination has become a matter of great concern to parents and society, but the college entrance examination is only the beginning. After the college entrance examination, voluntary filling is a very difficult matter for every parent and student. For the first time, students are faced with their own career choices, and parents also strive to make efforts to the future of planners and children.

This paper first introduces the technology selection of the volunteer system of college entrance examination based on QT, then divides the system into technology, economy and social feasibility, and then realizes the volunteer system based on QT according to the actual requirements of demand analysis. The volunteer system of college entrance examination based on QT mainly has two roles: user and administrator. The functions of administrators are login, entry of relevant school scores, information of relevant schools, user management, etc. the main functions of users include user login, query the school's recent years' dividing lines and display curve, filter schools through root results, and view some schools' brief introduction.

 

 

Key WordsQt, College entrance examination , Voluntary filling , Java , Spring boot

 


 

 

目     录

摘     要.......................................................... I

Abstract........................................................... II

引    言........................................................... 1

1.绪论............................................................. 1

1.1 研究的目的及其意义.......................................... 1

1.2 本文的系统结构.............................................. 1

2.系统需求分析..................................................... 2

2.1 可行性分析.................................................. 2

2.1.1经济可行性............................................. 2

2.1.2技术可行性............................................. 2

2.1.3 法律可行性............................................ 2

2.2需求分析.................................................... 3

2.2.1 系统用户角色分析...................................... 3

2.2.2 系统的功能性需求分析.................................. 3

3.总体设计......................................................... 3

3.1 系统的功能架构设计.......................................... 3

3.2 系统主要功能设计及介绍...................................... 4

3.3 系统数据库设计.............................................. 5

3.3.1 数据库的设计原则...................................... 5

3.3.2 数据库概要设计........................................ 5

4.详细设计及实现................................................... 6

4.1 开发工具与平台.............................................. 6

4.2 数据库的实现................................................ 6

4.3 主要功能的实现............................................. 10

4.3.1 用户注册............................................. 10

4.3.2 用户登录............................................. 11

4.3.3 管理员进行用户管理................................... 12

4.3.4 学校标签管理......................................... 12

4.3.5 学校信息管理......................................... 13

4.3.6 学生查询分数线信息................................... 15

5 .系统的测试..................................................... 16

5.1 系统测试的目的............................................. 16

5.2 测试的方法................................................. 16

5.3 系统的功能性测试........................................... 16

结     论......................................................... 19

参考文献.......................................................... 20

致     谢......................................................... 21

 

 

 

引    言

 

为了更好地可以选择一个令人满意的院校和技术专业,考生和其父母都是会向教师或者相关教育云平台咨询高考志愿填报有关的一些难题,可是,这总是会耗费很多的精力,大多数情况下也抓不住问题的重点,因而,设计一个有关高考志愿填报分析的教育网站系统显得尤为关键和重要,它不仅可以协助考生对自身合适的学校和技术专业展开评定分析,还能为考生提出具有参考性的建议,为家长和考生的选择提供便捷,解决选择难,报考难的问题。

 

1绪论

1.1 研究的目的及其意义

在当今社会教育的迅速发展下,高考人数的规模和增长速度也是空前的。高考已经变成了家长和社会高度关注的事情,但是高考只是一个开始,高考结束后的志愿填报是每一个家长和学生非常难抉择的事情,学生第一次面临之自己的职业选择,家长也努力着规划者孩子的未来。可是高考的填报是一个繁杂的过程,他需要通过考生的考试成绩,喜好,理想,本人家庭经济情况等多方面原因来对院校和专业进行选择。

1.2 本文的系统结构

论文从五个章节进行论述,每个章节的内容概括如下:

第一章:绪论。本章节主要说明了本次选题所研究的目的和意义,并对本文的系统结构进行了简要描述。

第二章:可行性分析与需求分析。本章节主要从多个角度对形同是否可行进行了详细的分析和阐述。

第三章:总体设计。本章节主要是从系统的软件架构、主要的功能设计以及数据库的逻辑设计和概要设计上开展的。

第四章:系统的实现。本章节主要从系统的实现工具和功能模块上进行了说明。

第五章:系统的测试。本章节主要分析了系统测试的方式方法,并使用适合本系统的方式方法来书写测试用例进而进行系统的相关测试。

2系统需求分析

2.1 可行性分析

一个软件好不好,可行性分析十分重要。可行性分析是要决定软件“做,还是不做”。可行性分析的四大要素分别是经济性、技术、社会环境和人力。做可行性分析不能以偏概全,也不能所有的事都进行叠加,因为可行性分析必须为决策提供有价值的证据。所以,可行性分析是十分重要的。

2.1.1经济可行性

“基于Qt的高考志愿系统的设计与实现”,服务器端使用的是IntelliJ IDEA Community Edition 版本,这个版本使IntelliJ IDEA的社区版本拥有了IntelliJ IDEA的绝大部分功能,客户端的开发工具使用的是Visual Studio Code,数据库软件使用的MySQL,MySQL是当前使用最为广泛的开源数据库。所以,在对本系统开发的过程中,其开发成本主要集中在后期对系统的维护以及对该应用程序的推广上。

2.1.2技术可行性

微软公司的Visual Studio Code和Jetbrains公司的IntelliJ IDEA软件,都是日常开发过程中使用比较多的工具。前者比较轻量,本质上是一个文本编辑器,配合开源社区的各种插件也能变得十分强大;后者功能大而全,Java开发者想要的各种功能都有,除此之外各种插件也是一应俱全,是一个现阶段来说比较理想的Java开发工具。

MySQL是关系数据库,是最深得大家喜爱的开源数据库,很多相关企业都使用MySQL作为数据库。它使用C和C++编写,支持各种操作系统,为多种编程语言都提供了API,是一个比较理想的数据库系统。

 

2.1.3 法律可行性

该系统的开发软件中JetBrains IntelliJ IDEA Community、Microsoft Visual Studio Code、Qt Creator均使用了社区开源版本,不会存在法律版权纠纷。软件的开发过程中使用的其他商业软件也均为已授权或付费版。

2.2需求分析

2.2.1 系统用户角色分析

  本系统的用户角色主要有两个,分为管理员以及用户。管理员是系统开发阶段指定生成的用户名不可更改,但是可以自己修改密码,管理员拥有系统的做高权限,主要是维护系统的信息流。用户是一个虚拟的账号,通过注册取得,用户除了个人信息外还具有系统其他数据的查询功能。

2.2.2 系统的功能性需求分析

本系统主要就是对高校的基本型信息和录取分数线的信息进行了管理,相当于一个管理后台和一个展示前台。所以针对管理后台需要的功能有登录、注销、密码修改、学校基本信息管理、学校专业信息管理、学校专业分数线管理、用户管理等。针对展示前台的主要功能有:注册、登录、注销、主界面显示、学校基本信息查询功能、分数查询、专业检索等。

 

3总体设计

3.1 系统的功能架构设计

本系统的管理员的后台功能有:登录、注销、修改密码、学校基本信息管理、学校专业信息管理、学校专业分数线管理、用户管理等几大模块。用户的主要功能有:用户注册、用户登录,用户注销登录,主界面显示功能,学校基本信息查询功能,分数查询,专业检索几大功能模块

 

图1 功能架构图

Fig.1 Functional architecture diagram

 

3.2 系统主要功能设计及介绍

学校管理功能:管理员登录到系统后台可以选择学校管理功能模块,该模块下可以录入一个学校的基本信息,例如学校名称、创办时间、学校官网、师资力量、院系专业、学校类别、学校性质等等一系列数据。也可以修改以前录入的数据,还可以删除不需要的学校及其信息。

分数线管理功能:管理员登录到系统后台可以选择分数线管理功能模块,该模块下可以将学校相关的分数像录入到系统中,会分专业(可选),分年份的录入系统。

系统账户的登录功能:用户使用其账号密码登录,当密码不正确或者账号密码不匹配的时候会给出相应的提示。

查询各学校的历年分数线功能:学校的名称由用户在搜索框输入后,可以获取到该学校的最近几年来的分数线情况,考试可以输入自己的成绩,然后系统筛选出符合分数线的学校的信息。

在本系统也可以查看收录学校的一些学校相关信息,例如学校历史、学校类型、是否有重点实验室等等。

用户信息管理界面。在这个界面用户可以修改自己的用户密码等信息。

3.3 系统数据库设计

3.3.1 数据库的设计原则

在完成了可行性分析后,功能设计就可以往下进行了。而功能设计又都会涉及到数据流的处理。因此在整个功能设计的过程中,数据库设计起到了至关重要的作用,其质量也影响着软件最终的质量。所以数据库设计的规范性就是开发人员比较关心的内容,通常在数据库设计的过程中会有以下几个原则:

一个项目一个数据库,数据库名称使用小写命名;

数据表名称使用名词或动宾短语,必须填写描述信息;

字段命名使用完整名称,不用缩写;

使用的字符集尽量是UTF-8或者UTF-8MB4,数据引擎尽量使用InnoDB;

多个单词下划线分隔。

3.3.2 数据库概要设计

本系统的数据模型采用E-R图,即实体联系图这种简单明了的表达方式对实体进行描述,E-R图比较接近人类的思维模式,而且很容易通过E-R图将设计思想转换为实际数据库的数据模型。根据该系统可进行的相关操作过程提炼出以下实体:

 

 

 

 

 

图2 数据库ER图

Fig.2  Database ER diagram

 

4详细设计及实现

4.1 开发工具与平台

系统的后端开发采用由总部位于捷克共和国的首都布拉格的JetBrains公司开发的IntelliJ IDEA软件作为开发的集成环境,这个工具的功能多而且强大,在计算机行业Java开发工具中获得很好的评价。

IDEA具有智能代码自动提示功能,可以减少程序员的工作,诸如智能提取、丰富的导航模式、编码辅助和智能编辑等22种特色功能,在代码调试方面表现的尤为突出,它可以对很多Java相关技术进行调试。

 

4.2 数据库的实现

    数据库主要是采用了MySQL数据库,版本为5.7.数据库的存储引擎选择了InnoDB,因为InnoDB存储引擎具有外键约束的功能。为了数据库能够存储更广泛的字符,数据库的字符集使用了utf8mb4的编码格式。整体数据库中的表实现,如下1到6所示:

 

(1)用户表

   

(2)角色表

   

(3)权限资源表

   

(4)学校类型表

   

(5)学校基本信息表

   

(6)学校分数线表

  

4.3 主要功能的实现

4.3.1 用户注册

用户来到注册页面,会提示是否进行注册。若用户选择否,则进入登录流程;若用户选择是,则进入注册过程,会要求用户输入账号和密码等相关信息,相关信息会在系统内部进行验证。如果信息不符合要求,填入的信息将自动清空,并向用户提示错误;如果信息符合要求,则注册成功,流程结束。注册的整体流程如图3所示。

 

图3 注册流程图

Fig.3 Registration flow chart

 

图4 注册界面

Fig.4  Registration interface

4.3.2 用户登录

用户进入到登录页面,如果没有账号和密码,可以进入到注册制流程进行注册,如果已有账号和密码,在登录页面上,如果输入用户名和密码并单击“登录”按钮以在后台发送数据,则将后台帐户和密码与数据库进行比较,如果帐户和密码正确,就会显示登录成功,如果帐户和密码不正确,将显示错误。 用户重新输入信息后,再次单击“登录”按钮。

 

图5 登录流程图

Fig.5 Login flow chart

 

 

 

 

 

图6 登录界面

Fig.6 Login interface

4.3.3 管理员进行用户管理

管理员在登录界面登录成功之后,就可以进入后台,对数据进行管理。可以选择用户管理下的用户列表进行用户的管理,在这里可以添加一个新的用户删除用户和修改用户的一些数据。

 

图7 用户列表界面图

Fig.7  User list interface

4.3.4 学校标签管理

管理员成功登录到后台后,即可进行学校标签的相关操作,如果没有登录的话会先跳到登录页面,让管理员进行登录,登录之后可对学校标签进行管理,在学校标签管理界面的上面有搜索栏,可以输入学校的标签,点击“搜索”按钮,即可搜索已经添加过的学校标签,如果没有的话会返回空数据,点击“添加学校标签”按钮,点击添加按钮,跳入到添加学校标签新界面,输入了学校标签的必要信息之后,点击提交按钮,将数据提交到后台,然后后台将数据存入到数据库,在每一个学校标签的后面可以击“编辑”按钮或者“删除”按钮来管理学校标签,点击编辑按钮是会跳出新的页面,编辑当前的学校标签,点击删除按钮,会给予相应的提示,确认是否真的要删除。

 

图8 学校标签列表

Fig.8 List of school labels

 

图9 搜索学校标签

Fig.9  Search school labels

 

 

图10 添加学校标签界面

Fig.10  Add school label interface

4.3.5 学校信息管理

首先管理员要登录后台管理系统,才能进行学校信息的相关操作,如果管理员没有登录,则进入登录页面登录后才能进行合作,当管理员登录之后选择学校管理学校简介,然后可以点击添加按钮,添加新的学校信息,选择学校的名称和一些必要信息之后点击提交数据的时候,会检查必要的信息是否完整,当必要的信息完整之后,会将提交的数据提交给后台,然后后台将数据存储到数据库当中,如果必要的资料不完整,则将提示相应的错误信息,然后补充必要的字段之后,再次提交数据之后才可完成学校新增数据。

 

图11 添加学校信息流程图

Fig.11  Add school information flowchart

 

 

 

 

 

 

图12 添加学校信息界面

Fig.12  Add school information interface

 

4.3.6 学生查询分数线信息

普通用户登录到后台可以选择学校,然后查询学校的文理科分数线,当用户选定好学校和理科文科之后,点击提交按钮,将数据提交到后台,后台将从数据库中查询近5年的分数线,然后返回给前台,通过echarts图表进行渲染,得到近5年分数线的一个增长趋势图。

 

 

图13 学校分数线趋势界面

Fig.13  School score trend interface

 

 

5 系统的测试

5.1 系统测试的目的

系统测试是将需要进行测试的软件整体,作为计算机系统的一个元素,使其与其他系统元素和环境结合起来进行的一个整体的测试。系统测试的主要目的在于通过与软件的需求定义做比较,来发现软件与需求不符合或互相矛盾甚至是错误的问题,进而促进开发在软件交付之前,进行再次的修改和订正,以达到编写更好的软件的目的。

5.2 测试的方法

系统测试的方法主要是有以下几种:

(1) 功能测试。功能测试是测试时最基本的测试内容。整体上来看,功能测试就是对软件产品的每一个成型的功能进行验证,通过编写的测试用例,进行逐项的测试,以检查产品是否达到了用户要求的功能。

(2) 性能测试。性能测试是在确保软件的功能实现正确、符合软件需求的前提下,通过一些自动化测试工具附加上一些特定的条件对软件进行使用,同时收集服务端的各种程序指标,来判断软件是是否存在性能上的问题或隐患。

 本论文主要对系统性能进行测试。

5.3 系统的功能性测试

 

测试模块

系统登录模块测试

测试目的

测试当用户输入不同的用户名和密码时,系统是否能进行相应处理并给出提示。

测试方法

黑盒测试

测试数据

1输入不存在的用户名:李四,正确的密码:t123

2输入正确的用户名:张三,错误的密码:b123

3输入正确的用户名:张三,正确的密码:t123

预期结果

1 提示“用户名或密码错误”

2提示“登陆成功”界面跳转到系统主界面

实际结果

与预想一致。

结论

用户登录模块正常

 

表1 登录模块测试表

Table .1 Login module test table

 

 

 

测试模块

系统注册模块测试

测试目的

  1. 测试当用户输入手机号或邮箱时,系统是否能进行相应处理并给出提示。
  2. 测试当用户输入非手机号或邮箱等数据时,系统是否能进行相应处理并给出提示。

测试方法

黑盒测试

测试数据

  1. 输入已存在的手机号:13511011110,随机密码123
  2. 输入已存在的邮箱:123@321.com,随机密码234
  3. 输入非法数据:!@#%*)(,随机密码345
  4. 输入未存在的邮箱:xiaofeilong@qq.com ,随机密码456

预期结果

1 提示“手机号或邮箱已存在,请重新输入”

2 提示“手机号或邮箱非法,请重新输入”

    3 提示“注册成功”界面跳转到系统主界面

实际结果

与预想一致。

结论

用户注册模块正常

 

表2 注册系统测试表

Table .2 Registration system test table

 

测试模块

学校管理模块测试

测试目的

测试学校信息是否能够进行修改,系统是否能进行相应处理并给出提示。

测试方法

黑盒测试

测试数据

  1. 修改学校信息,点击保存按钮
  2. 删除学校信息,点击删除按钮

预期结果

1 提示“成功”

2提示“成功

实际结果

与预想一致。

结论

学校管理模块正常

 

表3 学校管理测试

Table .3 Coach management test

测试模块

我的信息模块测试

测试目的

测试我的信息是否能够进行相应修改,系统是否能进行相应处理并给出提示。

测试方法

黑盒测试

测试数据

  1. 清空我的信息中某项,点击保存
  2. 修改我的信息中某项,点击保存

预期结果

1 提示“内容不能为空,请重新输入”

2提示“成功

实际结果

与预想一致。

结论

我的管理模块正常

表4 我的信息测试表

Table .4 My information test form

 

 

 

结     论

 

毕业设计对我来说是一个非常珍贵难得的实践机会,这不仅是课本上的理论知识,还结合了实际锻炼,能够让我把学习到的知识得以利用起来。

在这几个月时间里,我从搜集资料开始,一点点学习、积累知识,并通过各种调查方法对互联网上存在的各种资料进行查阅和整理,互联网这个平台非常广阔,但能用的资料却不容易取得,经过长时间的努力,最终开发出了这个系统。在这整个过程中,我遇到了很多问题,也曾因此而十分头疼,不过在强大的互联网帮助下,这些问题都被我一一击破了。经过这几个月的开发和实践,我深深体会到了学好程序开发,是一件非常辛苦的事情,除了个人对程序的耐心和细心,面向理论、面向需求和面向实际也是不可或缺的一部分,这样才能开发一款好的实用的系统。

这个毕业设计的成功完成给我带来了很大的信心。让我对以后的职业规划和发展充满希望。在这过程中,我也受益颇多,像Qt技术和C++,以前虽然学习过,但远远没有这次设计带来的印象深刻,让我从实践中学习到了很多。

在这几个月的毕业设计中,我感觉我体会到了上课时没有体会到的一些感受,程序开发远远没有我想的那么简单容易,他要求开发人员心思细腻,知识足够丰富,还有实践能力。对于经验不足的人来说,在程序开发时,编发的时候总会出现这样那样的一些错误,需要有足够的耐心去慢慢寻找、改正,因此在开发过程中,耐心也是非常重要的,需要有超乎寻常的耐心。这次毕业设计,不管是专业知识、动手能力还是耐心,我都有了比较明显的提高,尤其是对于开发系统的一些技术,有了深刻的认识,也有了一些经验。

 

 

参考文献

[1]李盼. 高考志愿填报分析系统的设计与实现[D]. 湖北:华中科技大学,2018.

[2]李致远. 升学之路在线平台高考志愿推荐子系统的设计与实现[D].郑州大学,2020.

[3]郭敏. 基于QT的在线考试系统设计与实现[D].电子科技大学,2020.

[4]刘福伟. 高考志愿智能填报系统设计与实现[D].浙江理工大学,2020.

[5]郑松涛. 基于QT的助教办公自动化系统客户端的分析与设计[D].北京邮电大学,2019.

[6] Qt Creator 快速入门 [M].第三版 北京航空航天大学出版社:霍亚飞,2017 1:476

[7]李艳杰.MySQL数据库中数据参照完整性和一致性的设计与实现[J].信息技术与信息化,2020(11):102-104.

[8]盛莉.基于MySQL的数据管理平台设计[J].信息与电脑(理论版),2020,32(22):152-153.

[9]欧阳桂秀.JDBC技术在学生成绩管理系统中的应用[J].科技传播,2020,12(22):99-102.

[10]李晓燕,马娟.高考志愿填报策略探析[J].宁夏师范学院学报,2020,41(11):84-86+91.

[11]滕广华.基于PyQt5的动态交通标志牌管理软件的设计与实现[J].电子技术与软件工程,2020(20):26-28.

[12]张静.新高考背景下高中生生涯规划和志愿选择[J].金属世界,2020(05):15-18.

[13]杨吉才,卜一川,刘姣娜.“人工智能+大数据”背景下高考志愿人人会平台设计构思[J].无线互联科技,2020,17(15):89-91.

[14]于浩. 基于Qt的增强现实可视化仪表界面设计[D].青岛理工大学,2020.

[15]陶文玲,侯冬青.PyQt5与Qt设计师在GUI开发中的应用[J].湖南邮电职业技术学院学报,2020,19(01):19-21.

[16]郭敏. 基于QT的在线考试系统设计与实现[D].电子科技大学,2020.

[17]黄怡昕. 基于Qt的电网继电保护信息管理软件设计与实现[D].电子科技大学,2020.

[18]Johan Thelin. Foundations of Qt Development[M].Apress:2007-01-01.

 

 

致     谢

 

 闲云谭影日悠悠,物换星移几度秋,曾几何时,自己还是一个无知懵懂的少年,每天的快乐还是沉浸在书本里,疯狂吸允着知识,时间是一个铁面将军,他只是知道流逝,不会和你讲一丝丝情面,大学时光是短暂且快乐的,转眼自己已经是一个即将毕业的孩子,在此夏风轻轻起,鲜花送香,鸟儿歌唱之际,我对帮助过我的老师,同学,献上自己最崇高的敬意,谢谢你们的包容,谢谢你们陪我成长,在此特别感谢我的指导老师潘娜老师,从课题的选择,到期间遇到的问题,都是老师您耐心的解答,在我迷茫,彷徨之际,给了我莫大的鼓励,使我心思更加缜密,谢谢您。在此我同时也要对我的同学道一声感谢,谢谢耐心的帮我整改语句的逻辑,帮助我整改遇到的问题。

即将毕业的我,回望自己的慢慢大学路,想起这大学期间的点点滴滴,像是电影一般在脑海中播放,有开心,有迷茫,有悲伤,有兴奋,情不自禁的想说一句,遇见你们真好!也感谢养育的我父母,让我能够坚强,让我不断成长,让我向着更高更远的地方前行,事间千万种愁苦,总是离别最令人五味杂陈,写到此处不禁想起,聚散苦匆匆,此恨无穷。今年花胜去年红。可惜明年花更好,知与谁同?我们都已经不是孩童,是时候肩膀扛起一些责任,如果能在自己独善其身的同时,再为社会,为他人做出一点贡献,此生便是无憾了吧!

再次向帮助过的我人致以谢意,我们都将有一个更好的未来,那么我们一定会有更好的相见。

posted @ 2022-03-05 21:48  wx2020  阅读(1117)  评论(0编辑  收藏  举报