随着计算机科学技术的日渐成熟,人们已经深刻地认识到了计算机在各个领域中发挥的功能的强大,计算机已经进入到了人类社会发展的各个领域,并且发挥着十分重要的作用。目前高考志愿选择系统是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。在该领域,传统的手工存取或者借助一些软件对高考志愿选择涉及到的信息进行管理方式常常不能对高考志愿选择系统管理各种信息进行实时跟踪与管理,为进一步完善软件高考志愿选择系统信息管理流程及资源的统一管理,更加全面、有效的服务于软件开发过程,更好的方便软件开发过程管理,故开发此高考志愿选择系统。
论文针对在高校活动信息数据规模大,管理员人员和用户需要对高考志愿选择系统管理涉及到的信息进行管理的需求,设计了高考志愿选择系统的框架,给出了高考志愿选择系统的总体设计,并对高考志愿选择系统的架构及关键模块的实现过程进行了详细论述。采用Java语言和MySQL数据库技术,基于springboot框架实现了一个完整系统的设计,为使用者提供了良好的高考志愿选择系统。
关键词:高考志愿选择系统;Java;MySQL;springboot框架
Springboot College Entrance Examination Volunteer Selection System
Abstract
With the gradual maturity of computer science and technology, people have deeply realized the powerful functions that computers play in various fields. Computers have entered various fields of human social development and play a very important role. At present, the college entrance examination volunteer selection system is a systematic and complex task that requires a team to cooperate and divide labor. In this field, the traditional manual access or some software management methods for the information involved in the college entrance examination volunteer selection often cannot track and manage all kinds of information in the college entrance examination volunteer selection system in real time. In order to further improve the information management process of the software college entrance examination volunteer selection system and the unified management of resources, it can more comprehensively and effectively serve the software development process, and better facilitate the management of the software development process, Therefore, this college entrance examination volunteer selection system has been developed.
The paper focuses on the large scale of activity information data in universities, and the need for administrators and users to manage the information involved in the management of the college entrance examination volunteer selection system. The framework of the college entrance examination volunteer selection system is designed, and the overall design of the college entrance examination volunteer selection system is provided. The architecture of the college entrance examination volunteer selection system and the implementation process of key modules are discussed in detail. Using Java language and MySQL database technology, a complete system design is implemented based on the spring boot framework, providing users with a good college entrance examination volunteer selection system.
Keywords: College Entrance Examination Volunteer Selection System; Java; MySQL; Springboot framework
第1章 绪论
随着高中教育的普及,高考几乎是每个高中学子都要经历的一道坎。据统计,自1977年再次恢复高考之后,报名高考的人数年年攀升,最高能达1000万人之多;另外,短短40年时间,高校从404所发展到了2595所,且录取率从5%升到了75%上下。由此可见高考教育的欣欣向荣之态。在我国,高考可以说是人生的一大转折,去一个好的学校、合乎兴趣又前景不错的专业,这极有可能意味着,你从此能走上更优的康庄大道。
高考志愿是考生在高考完后选择院校和专业的活动,该活动是考生与院校之间的"双向选择",首先学生在填报志愿的过程中表达了自己对什么高校、哪种专业的向往,而院校则根据考生的志愿来择优录取。简言之,高考志愿是考生职业向往、兴趣爱好、学习能力等因素的综合反映。如何让高校和学生在"双向选择"中达到一种平衡,尤其是让学生选择一个理想的学校和专业,这是一个深话题。
理性投资人会用最少的投入得到最大的收益,确保利益最大化。填志愿也一样,理性志愿人会以最少的分数来得到优质大学、适宜专业的垂青。但是,在填志愿时,各位考生对有关信息的掌握是有差异的;掌握信息比较充分的学生,往往处于比较有利的地位,而信息贫乏的学生,则处于比较不利的地位。全国高校多达2595所,专业也多达1000多种,大部分学生和家长对这些学校和专业的信息掌握都十分匮乏,以至上了一个性价比不那么高的学校和专业,抱憾终生;不少学生本科毕业工作不理想而选择考研、考公务员;更有甚者,多花一年的时间成本去复读。所以,对于考生来说合理训左志愿意义深远,不仅能节约时间成本、让学生选择一个合乎兴趣和有职业竞争力的专业,更能一定程度上提高报录比、降低复读率的问题。
高考的重要性对不同的人来说意义不同,对于农村的考生来说那就意味着是一次机遇,一直所期待的事情,农民的孩子要想走向世界,这个高考就是一个跳板,是一个公平竞争的平台,可以展现自我的舞台,只有通过高考考上一所很好的大学,不仅对自己,更是对家庭乃至一个村庄都有很重要的意义。农村的孩子只有这样才能争气,才能成为家里的骄傲,父母拼搏半辈子,辛苦半辈子就是为了让自己的孩子能够在高考上取得满意的成绩。对于城里的孩子也同样重要﹐虽然良好的教育条件,但是还需要高考这个平台来分出个高低来,高的可以接受更加顶级的教育,低的只能接受较一般的教育。上大学的和没上大学的是有很大区别的,首先思想认识是不一样的,个人的修养也是不同的,素质也可以有所体现。我说的是一般的情况下,只有能够通过高考的检验进入大学的殿堂才能够走的更远、生活的更有意思。
学习和深造是无止境的,但学习具有连续性和阶段性。从人才成长的角度讲,学生进入高中后,就开始了“基础教育"向“专业教育"过渡阶段。高考是完成这一过渡阶段、保持受教育连续性的关键时刻。在进入“专业教育"前,必须确定“专业教育"的方向。目前,我国有约1100所普通高等学校。专业设置分为工科、理科、农科、林科、医药、文科、政法、财经、师、体育、艺术等十几科,近千个专业。培养目标、毕业生使用方向又各不相同﹐选报高考志愿时,考生必须在众多的院校、专业中做出选择,确定方向。
基于高考的重要性﹐高考志愿填报工作显得尤为重要。现在网上充斥着各种高考志愿,良莠不齐,甚至以测试考生的性格意愿得出适合的专业。这就需要一个能够及时、准确、有效地提供高考志愿填报信息的,来帮助考生在众多的院校、专业中做出选择,确定方向。
1.3论文结构与章节安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:引言。第一章主要介绍了课题研究的背景,系统研究现状和本文的研究内容与主要工作。
第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
第六章:总结。
2.1开发技术
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2 Java简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,Java servlet API,JSP(Java server pages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 MVVM模式
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.4 B/S结构
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
2.5 MySQL数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
2.6 SpringBoot框架介绍
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
第3章 系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
3.1 可行性分析
经济可行性在此仅代表网站的运维成本,开发成本不在此考虑。
目前该模式下的高考志愿选择系统的数量日益增多,网上进行学生志愿相关信息的查询管理变得平民化普及化,用户人数呈上升趋势,当用户人数庞大了,运维成本可以由广告费进行填补,包括开发成本。
所以经济可行性没有问题。
(2)操作可行性:
此次项目设计参考了几个该模式下网站的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。
因此操作可行性也没有问题。
(3)技术可行性:
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的Java语言能够迎合所有电子商务系统的搭建,系统技术设备的可扩展性可以由springboot构架的资源优势予以促成。我采用了编译器eclipse+java+mysql用以运行整体程序。
综上所述技术可行性也没有问题。
(4)法律可行性:
从开发者角度来看,springboot框架是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。
从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。
综上所述法律可行性也没有问题。
3.2 系统流程分析
业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
3.2.1 数据增加流程
用户成功登入系统后就能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,图3-1显示的就是在增加数据时的流程。
图3-1 数据增加流程图
3.2.2 数据修改流程
数据修改时的流程和上面介绍的数据增加时的流程差不多,如图3-2所示。
图3-2 数据修改流程图
3.2.3 数据删除流程
如果系统里面存在一些没有用的数据的话,相关的管理人员还可以对这些数据进行删除,图3-3就是数据删除时的流程图。
图3-3 数据删除流程图
3.3 系统功能分析
3.3.1 功能性分析
按照高考志愿选择系统的角色,我划分为了普通管理模块,社长模块和管理员模块这两大部分。
系统用户管理模块:
(1)用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现学校信息或专业库查看,就必须有这个系统的账号,如果没有账号的话,可以注册成员用户进行相关的操作,同时用户还可以通过“我的”这以按钮对个人信息以及操作的信息进行管控。
(2)查看高考志愿选择系统的首页信息:高考志愿选择系统的首页信息包含了首页、公告消息、校园资讯、专业库、学校信息、我的等。
(3)学校信息:用户点击“学校信息”这个菜单按钮,就会显示所有的学校信息列表,在查询到自己想要的学校信息的时候,可以进入查看详细的介绍,在这个界面,也可以对学校信息进行点赞、收藏、评论操作。
(4)校园资讯:用户点击“学校资讯”这个按钮,就会显示所有的资讯列表,在查询到自己想要资讯信息的时候,可以进入查看详细的介绍,在这个界面,也可以对资讯进行点赞、收藏、评论操作。
(5)专业库:用户点击“专业库”这个按钮,就会显示所有的专业信息列表,在查询到自己感兴趣的专业信息的时候,可以进入查看详细的介绍,在这个界面,也可以对专业详情进行点赞、收藏或备选操作。
(7)公告消息:用户点击“公告消息”这个按钮,可以查看管理员发布的公告信息。
管理员管理模块:
(3)系统用户管理:管理员可以对高考志愿选择系统中的管理员以及前台注册的系统用户进行添加、查询、重置或删除操作。
(4)资源管理:管理员可以对高考志愿选择系统前台展示的校园资讯以及资讯所属的分类进行管控。
(5)模块管理:在“模块管理”这一菜单下,可以对专业库+专业分类+学校信息+备选库这四个子模块进行管控。
3.3.2 非功能性分析
高考志愿选择系统的非功能性需求比如高考志愿选择系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1高考志愿选择系统非功能需求表
安全性 |
主要指高考志愿选择系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 |
可靠性是指高考志愿选择系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 |
性能是影响高考志愿选择系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 |
用户只要跟着高考志愿选择系统的页面展示内容进行操作,就可以了。 |
可维护性 |
高考志愿选择系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.4 系统用例分析
通过3.3功能的分析,得出了本高考志愿选择系统的用例图:
图3-4就是用户角色的用例展示。
图3-4 高考志愿选择系统用户角色用例图
图3-5 就是管理员角色的用例展示。
图3-5高考志愿选择系统管理员角色用例图
3.5本章小结
本章主要通过对高考志愿选择系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个高考志愿选择系统要实现的功能。同时也为高考志愿选择系统的代码实现和测试提供了标准。