版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:高考志愿咨询系统的设计与实现目录TOC\o"1-3"\h\u6351摘要 I第1章引言1.1选题背景高考作为考生进入高等学府的重要且唯一的途径,被全社会高度关注,也逐渐成为社会焦点。少年强则国强,我国大力发展教育事业,参加高考的考生人数也逐年增长。数据显示,2019全国高考人数1031万,高考报名人数第二次破千万。填报志愿是一个不可避免但又十分复杂的过程,考生不仅要考虑个人的成绩、爱好、家庭情况等多个方面,而且全国院校众多,专业多。由于庞大的信息量,考生对学校和专业现状的不了解等,使得考生填报志愿困难。一般情况下,很多考生选择听从老师或家长的建议,结合自己的理解完成高考志愿的填报工作,但这些存在许多不准确因素,家长和老师给出的建议包含较强的主观性,掌握的资源并不十分全面,分析也不够全面彻底。因此,一个高考志愿推荐系统的设计与实现就显得尤为必要。随着这些年高考招生工作信息化的不断深入,已经积累了大量有用的高考志愿相关数据信息,利用高速发展的计算机技术,有效地利用这些信息,为考生提供志愿填报帮助是十分有意义的工作。此系统通过测评考生成绩、兴趣等方面帮助考生对自己适合的院校和专业进行评估,为考生提供报考建议,更好地解决使家长和考生解决头疼高考志愿报考问题。1.2课题现状1.2.1国内现状移动互联网的概念提出,使得移动互联技术的发展日新月异,移动应用进入了高速发展的阶段,高考移动应用软件也如雨后春笋般冒了出来。通过文献检索和App市场调查,国内的高考志愿填报方面已经进行了大量的研究。陈素清与段渭军的基于java手机的高考志愿填报系统[1],在分析现有高考志愿填报的基础上,利用J2ME技术实现信息的离线浏览和检索,实现查询和志愿填报短信的生成、发送。肖灿的数据挖掘系统支撑下的高考志愿填报在线推荐系统[2]基于“某省招生数据挖掘系统”平台之上,通过数据挖掘分析系统,以院校、专业等维度作为数据来源,多角度、多层次地进行了志愿填报的指导。吴玲的高考志愿智能填报系统的设计与实现[3]基于知识的推荐算法和基于内容的推荐的算法,通过研究用户的个性化需求,使用户根据自己的需求进行服务选择,辅助高考志愿填报决策。通过大范围的网上调查可知,在国内,高考志愿填报这样应用型的系统数量众多,且指导的方向和范围有所不同。主要为以下两类:其一是以考生的高考成绩作为推荐的依据。以考生成绩来推荐的系统,在国内还是比较多的,通过各院校的录取分数线,录取比例,专业热度推荐来提供参考意见。例如“阳光高考”信息平台[4],根据考生预估的高考分数,筛选院校及专业。还有中国教育在线信息平台[5]的高考志愿填报等等。这种应用型系统还提供专业排名、大学排名、一分一段、院校投档线等等。其二是通过用户填写心理测评问卷,了解考生的意愿,帮助考生更好地完成专业和学校的选择。例如北大方正测评系统[6]、紫云测评系统[7],以心理测量学为基本方法评估个体,得出该学生关于大学专业选择、学业规划的指导性参数。综上所述,国内的这类高考志愿推荐的应用型系统,在某种程度上会给考生提供一些有价值的指导意见,来为考生和家长解决高考志愿填报的一些难题。1.2.2国外现状国外在二十世纪初期出现了就业咨询指导的萌芽,随着教育咨询服务的发展、信息技术的快速发展、智能手机的普及,再结合高校生的学业、就职和生活等方面的咨询,咨询服务的网络系统应用在社会生活中被广泛应用。移动数据库技术、移动服务、移动通信技术等在教育咨询方面的网络应用快速发展打下了基础[8]。国外的高校入学政策与国内有所不同,国外没有统一高考。例如,美国的大学不仅仅以入学考试成绩为录取的标准。主要评价指标为[9]中学课程及学业成绩、大学入学考试成绩、入学申请和推荐信、面试及一些辅助材料。因此,国外的项目主要目的在于帮助学生进行ACT、SAT等考试训练,提高应考能力。国外的移动学习项目的研究范围大、研究内容比较深,移动学习项目数量非常多。国外项目例如使用移动设备支持在线协作学习[10],该应用程序针对移动学习的创新学习模型与已建立的文学课相结合,帮助学生学习;国外APP比如Quizlet是Brainflare设计开发的为学生提供专门的学习模式,帮助学生学习英语[11];法国里尔大学的Derycke教授的团队开发了一个个人培训助理(PTA)的系统,用来探索利用普适计算技术和设备[12]。1.3课题设计内容高考志愿推荐系统包括前台用户交互系统和后台管理员管理系统两部分。该系统是基于B/S架构的系统,用户可以查看高考的相关信息,根据高考分数给出推荐的学校,根据霍兰德职业兴趣测试表给出推荐的专业,为用户提供一个高考信息的基本查询与高考相关问题的推荐,管理员可以在后台管理用户、专业、学校信息。系统便于操作,界面完整精美。该系统具体设计内容如下:1.详细分析总结考生的基本需求,明确系统总的需求分析。按照功能模块对系统划分,明确各功能模块的功能,分模块实现高考志愿推荐系统的管理模块及用户使用模块。结合国内外的研究进行更好地完善,尽量为用户提供高质量的报考帮助。2.了解系统的技术特点难点,多技术的配合使用,使用MVC设计模式,JavaBean作为模型层,Servlet作为控制层,JSP作为视图层,数据库采用MYSQL。3.对用户模块、专业信息模块、院校信息模块、院校填报推荐模块、专业测评模块、后台管理员管理模块进行详细设计,并画出各模块的流程图。根据数据字典抽象出数据表,对各个表进行字段设计,为数据库建表做准备。第2章相关技术介绍在系统开发过程中运用了行业较为流行的一些关键技术、软件,为后续各个章节叙述方便,也能够给读者提供一定的基础知识。本章主要对该系统所运用到的环境和技术做简要介绍,主要内容有JavaEE平台,MVC设计模式,servlet,数据库MySQL8和可视化软件Navicat,el表达式,jstl,jsp,服务器使用Tomcat7。2.1JavaEE平台介绍JavaEE提供了一个企业级的计算模型和运算环境的标准,用于开发和部署多层体系结构的应用。它通过提供计算环境所必需的服务,使得部署在JavaEE平台上的多层应用实现高可用性、安全性、可扩展性和可靠性。JavaEE是一个多层架构,其三层结构为:表示层、业务逻辑层、持久化层。2.1.1J2EE体系结构J2EE体系结构是多层系统,表现为客户端层、表现层、业务层、集成层和资源层五个层次堆叠而成[10],如图2-1所示。最主要的是表现层模式、业务层模式和集成层模式[11]。按照逻辑功能区分的五层模型客户端客户端客户端客户端应用客户端.Applet.应用程序和其他I用户交互、UI表现和UI设备表现层表现层JSP.Servlet和其他UI元素集中登录、会话管理、内容创建/内容格式/内容传送业务层业务层EJB和其他业务对象业务逻辑、事务、数据、服务遗留系统遗留系统集成层JMS、JDBC、连接器和遗留系统资源适配器、遗留/外部系统、规则引擎、工作流资源层资源层数据库、外部系统和遗留资源资源、数据和外部服务图2-SEQ图\*ARABIC\s11J2EE分层思路图2.1.2JavaEE的MVC模式架构MVC设计模式把系统分为模型(Model)、视图(View)、控制器(Controller)三个基本部分。模型用于实现一些数据业务逻辑,主要是接受处理数据以及访问操作数据库。视图负责前端的人机交互,页面需要显示的数据,与页面产生需要保存的数据都由控制层来与模型层沟通。控制器用于处理应用与用户的交互,主要从视图读取数据,控制用户输入,将数据发送到模型层[15]。MVC设计模式图如图2-2所示。图2-SEQ图\*ARABIC\s12MVC设计模式图2.1.3servlet技术Servlet运行于支持Java的应用服务器中。从原理上讲,servlet可响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于Http协议的WEB服务器。使用JavaServlet运行在Web服务器上的程序,收集来自网页表单的用户输入,呈现来自数据库的记录。相比于CGI,servlet的优势有:Servlet是独立于平台的,因为它们是用Java编写的。服务器上的Java安全管理器执行了一系列限制,以保护服务器计算机 上的资源。因此,Servlet是可信的。Java类库的全部功能对Servlet来说都是可用的。它可以通过 sockets和RMI机制与applets、数据库或其他软件进行交互。2.2数据库MySQL因为系统完成过程中需要建立存储学生信息表、院校信息表、专业信息表、学校分数表、心里测评题目表,这里需要用到数据库管理系统。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。由瑞典MySQLAB公司开发,目前属于Oracle公司[16]。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。其优点体现在一下几点:Mysql是开源的,所以不需要支付额外的费用。Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、 C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文 件最大可支持4GB,64位系统支持最大的表文件为8TB。Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的 Mysql系统。使用Navicat可视化软件对本机的MySQL数据库进行管理开发。Navicat是专门集成的GUI工具,提供一种快速可靠的方法来进行数据库开发和MySQL管理。该软件与所有云数据库兼容,以直观且功能强大的图形界面,进行数据库管理以及开发和维护。第3章高考志愿推荐系统需求分析需求分析可以明确课题背景、课题范围、基本业务逻辑和业务框架,是开发系统的第一步。通过对一些考生的沟通交流,获得部分调研信息,通过对获得信息的分析及对高考志愿推荐系统的分析,确定了以下基本需求。3.1系统需求说明1.功能需求(1)用户类型分类为了实现对系统的使用和管理,将用户分为普通用户和管理员两类。普通用户,登录注册才能使用此系统,查看高考相关热门信息,查询各院校及学校具体信息,查看院校专业的具体信息,输入高考分数查看推荐的学校,填写测试问卷查看推荐的专业等。管理员,登录系统后台对系统进行管理,对用户、学校、专业等进行查看、新增、修改相关信息、删除等操作。(2)院校信息模块实现院校信息的展示,通过链接跳转查看院校详细信息。(3)专业信息模块对专业信息进行展示、查询。(4)院校推荐填报模块通过用户的高考成绩给出推荐院校。(5)专业测评模块通过用户填写的测评表,计算用户输入,给出推荐专业。(6)后台管理员模块实现对用户、学校、专业进行新增、展示、查找、删除、修改。2.外部接口需求硬件接口,包括打印机、U盘、网口、网线、数据线。软件接口,系统界面通过SQL语句与数据库进行连接。数据库驱动jar包,java和数据库连接所需的jar包。3.操作简便化很多考生及家长对信息系统都存在着或多或少的使用障碍,可能要花费一些时间去熟悉系统。考生和家长都希望这样的网站系统能够给用户简洁实用的体验。因此,该推荐系统的前台用户交互需要满足容易使用,整洁美观的特性(如简洁明了的登录注册,友好的操作提示等)。4.系统可用性需求服务器能够同时与大量的用户进行连接,处理用户的请求,与用户进行良好的交互,并且系统故障的时间以及修复系统所用的时间非常的短[19]。5.可管理性需求在系统维护阶段,管理员应能方便进入后台对数据进行管理,维护人员应能方便的查看源代码进行维护与升级等。3.2系统可行性分析可行性分析工作要在初步的需求定义之后进行可行性分析。可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否解决,以及是否值得去解决[17]。通过客观分析并判断原定的系统目标和规模是否可以实现衡量系统完成后所带来的效益是否达到值得投资开发这个系统的程度[18]。1.技术可行性分析硬件环境为计算机移动设备;软件环境为操作系统环境Windows,数据库Mysql,数据库可视化软件Navicat,服务器Tomcat。软件和硬件均能达到开发的要求。2.经济可行性分析开发该系统所使用的软件均为开源软件,系统的设计开发均由个人实现,系统无花费,未来维护阶段也均由个人完成实现。系统开发完成后的使用均免费。3.法律可行性分析此系统为个人开发实现,不存在法律纠纷。4.操作可行性分析从用户类型来看,高考考生能够使用该系统完成高考志愿填报推荐工作。系统界面比较直观、人机交互性灵活、操作简便。第4章高考志愿推荐系统概要设计通过第3章对系统的需求分析,下面将从整体上为高考志愿推荐系统进行概要设计。4.1系统开发环境及所用技术本系统是在Windows7、JDK、JavaEE的环境与平台进行开发的,数据库采用MySQL8,可视化软件为Navicat,WEB服务器使用Tomcat7.0。系统前端的开发工具为Sublime3,使用HTML5,CSS3,jQuery,JavaScript作为前端页面实现的主要语言,导入项目中HTML页面转为JSP页面。后端使用Java语言和servlet。客户端浏览器可以使用Chrome,Safari,Firefox等。4.2系统功能总体设计由对推荐系统进行的需求分析可知,推荐系统包括用户管理模块、院校信息模块、专业信息模块、院校推荐填报模块、专业测评模块、后台管理员模块。用户管理模块具有登录、注册、退出登录功能;院校信息模块具有院校信息查看、院校具体信息查看功能;专业信息模块具有专业信息查看、搜索功能;院校推荐填报模块具有根据分数推荐学校;专业测评模块具有根据测试结果推荐专业功能;后台管理员模块具有管理员后台对学校、专业、用户进行管理的新增、修改、删除、查看、查询的功能。根据以上描述,该系统的总体结构图如图4-1所示。4.3数据库的设计数据库设计作为该系统的底层设计,其重要性不言而喻。从需求分析阶段得出所需实体为用户实体、学校实体、专业实体、测试表实体和学校分数线实体。按照数据库的规范设计,对数据库进行了概念结构设计。用户实体。用户实体包括用户ID、用户名、用户密码、用户性别、出生日期、扩展字段、电子邮箱、电话号码、状态位属性,扩展字段用于后续实体属性的扩展。用户实体图如图4-2所示。学校实体。学校实体包括学校ID、学校代码、学校名称、学校类型、学校所在城市、是否985/211属性,学校ID属性为各学校编号,学校代码属性类似学校身份证号,学校类型属性分为普通本科、独立学院和专科院校。学校实体图如图4-3所示。图4-SEQ图\*ARABIC\s11系统功能总体结构图图4-SEQ图\*ARABIC\s12用户实体图图4-SEQ图\*ARABIC\s13学校实体图专业实体。专业实体类别包括专业代码、专业名称、专业类型、专业介绍属性,专业类型属性记录专业所属的一级类别,专业介绍属性做简要的专业说明。专业实体图如图4-4所示。图4-SEQ图\*ARABIC\s14专业实体图测试表实体。测试表实体包括题目ID、题目内容、答案属性。测试表实体如图4-5所示。图4-SEQ图\*ARABIC\s15测试表实体图学校分数线实体。学校分数实体包括年份、学校ID、学校名称、最低分、最高分、平均分属性。学校分数线实体如图4-6所示。图4-SEQ图\*ARABIC\s16学校分数实体图第5章高考志愿推荐系统的详细设计通过对系统的需求分析和概要设计阶段,对系统的整体结构有了更清晰的规划,下面将对系统的主要模块进行详细设计。5.1前台用户交互模块详细设计系统运行后,直接转到网站首页。首页头部有登录/注册两个选择,登录后会显示用户姓名和退出登录选项。网站首页有各个模块界面的跳转导航链接,首页头部轮播图设计,向用户展示各大院校的风采;首页放置部分有关高考的新闻,用户可以通过这些新闻实时了解高考最新动态。5.1.1用户管理模块用户使用该系统需要进行登录注册。如果检测到用户未登录,则提醒用户首先进行注册,登录后才能使用本系统。在用户注册时,需要填写用户名,真实姓名,密码,性别,出生日期,电子邮箱。其中用户名必须是唯一的,若被注册过则提示用户更换。密码两次输入必须一致。用户在登录时使用用户名和密码进入系统服务。用户管理模块结构图如图5-1所示。图5-1用户管理模块结构图5.1.2院校信息模块基于用户需求,该模块分页向用户展示学校信息,以列表形式展示各学校的ID,学校名称,所在城市,学校类型。其中排列按照热度从高到低排列。用户可以查看学校的相关信息,对于自己感兴趣的学校,可以点击学校名称,该链接跳转到该学校的具体信息界面,可以查看到学校的招生官网,学校的联系方式,学校的简介,可以对学校有进一步的了解认识。院校信息模块结构图如图5-2所示。图5-2院校信息模块结构图5.1.3专业信息模块基于用户需求,该模块分页向用户展示各个专业的信息,从数据库中读取数据并以列表形式展示各专业的ID,专业名称,专业类型,所属类别代码及专业描述。用户可以查看专业的相关信息,对专业有进一步的了解认识。因为专业众多,故设置一个查询框,通过专业名称或者专业类型或者专业代码进行专业的查找筛选,便于让用户更快速方便的搜索到意向专业。专业信息模块结构图如图5-3所示。图5-3专业信息模块结构图5.1.4院校推荐模块院校填报推荐是每一个考生都会使用的功能。高考结束后,用户会对自己的高考成绩进行估分,为自己填报专业学校做好准备。此模块就是为完成该功能准备的。在此模块中,用户输入自己的高考分数,通过用户的分数,给出推荐的学校。学校内容包括学校的ID、学校代码、学校名称、学校类型、所在城市、是否为985,、211、学校分数。用户可根据推荐出的学校中的分数,给出可冲的学校推荐和稳妥的学校推荐,充分地为考生做出预测准备。院校推荐模块结构图如图5-4所示。图5-SEQ图\*ARABIC\s11院校推荐模块结构图5.1.5专业测评模块专业测评模块使用霍兰德性格测试帮助考生测试自己的性格能力特点,根据性格能力特点来推荐适合考生自己的填报专业,为考生专业志愿的填报提供有价值性的意见。专业测评模块结构图如图5-5所示。图5-SEQ图\*ARABIC\s12专业测评模块结构图霍兰德性格测试分为常规型、现实型、研究型、管理型、社会型、艺术型。每种类型对应十个单选题。为了进行测试,打乱进行排列,例如C常规型对应的题目编号为(5,7,18,19,29,39,40,41,51,57),R现实型对应的题目编号为(2,13,14,22,23,36,43,44,47,48),I研究型对应的题目编号为(6,8,20,21,30,31,42,55,56,58),E管理型对应的题目编号(3,11,16,24,25,28,35,38,46,60),S社会型对应的题目编号(1,12,15,26,27,37,45,52,53,59),A艺术型对应的题目编号为(4,9,10,17,32,33,34,49,50,54)。霍兰德性格测试的计分方式为每种类型设置一个计数器,选对的对应计数器计1分,选错不计分。最后取六个计数器中最大值为测试结果,据此结果推荐专业。5.2后台管理员管理模块详细设计管理员通过管理员账号密码登录后台进行对系统的管理操作。包括数据库中所有的用户查看,对某一用户的修改,对某一用户的删除,通过模糊匹配查询用户,还可以直接进行用户的添加;数据库中所有的学校查看,对某一学校的修改,对某一学校的删除,通过模糊匹配查询学校,还可以直接进行学校的添加;数据库中 所有的专业查看,对某一专业的修改,对某一专业的删除,通过模糊匹配查询专业,还可以直接进行专业的添加。后台管理模块结构图如图5-6所示。图5-SEQ图\*ARABIC\s13后台管理模块结构图5.3数据库详细设计1.考生用户表:GK_user考生用户表用于保存用户的个人信息。表的设计如下表5.1所示。表5.SEQ表\*ARABIC\s11考生用户表字段名称类型约束描述USER_IDVarchar(32)NotnullPrimarykey用户IDUSER_NAMEVarchar(20)Notnull用户名USER_PASSWORDVarchar(20)Notnull用户密码USER_SEXVarchar(1)Defaultnull用户性别USER_BIRTHDAYdatetimeDefaultnull出生日期USER_IDENTITY_CODEVarchar(60)Defaultnull扩展字段USER_EMAILVarchar(60)Notnull电子邮箱USER_MOBILEVarchar(11)Defaultnull手机号码USER_STATUSintnotnull状态1||21普通用户2管理员2.学校信息表:GK_school学校信息表用于存放学校的具体信息。表的设计如下表5.2所示。表5.SEQ表\*ARABIC\s12学校信息表字段名称类型约束描述SCHOOL_IDInt(11)Notnullprimarykey学校IDSCHOOL_CODEVarchar(32)Notnull学校代码SCHOOL_NAMEVarchar(32)Notnull学校名称续表5.SEQ表\*ARABIC\s13学校信息表字段名称类型约束描述SCHOOL_TYPEVarchar(32)Notnull学校类型SCHOOL_CITYVarchar(32)Defaultnull学校所在城市IS211Varchar(4)Notnull是否为211IS985Varchar(4)Notnull是否为9853.专业信息表:GK_major专业信息表用于存放专业的具体信息。表的设计如下表5.3所示。表5.SEQ表\*ARABIC\s14专业信息表字段名称类型约束描述MAJOR_IDVarchar(32)Notnullprimarykey专业代码MAJOR_NAMEVarchar(32)Notnull专业名称MAJOR_TYPEVarchar(32)Defaultnull专业类型MAJORINTRODUCTIONVarchar(900)Defaultnull专业介绍4.测试表:GK_testtable测试表用于存放心理测试表的题目。表的设计如下表5.4所示。表5.SEQ表\*ARABIC\s15测试表字段名称类型约束描述OCTEST_IDInt(10)Notnullprimarykey题目IDOCTEST_CONTENTVarchar(900)Notnull题目内容OCTEST_CHOOSEVarchar(8)Notnull答案5.学校分数表:School_Score学校分数表用于存放各院校2017、2018、2019年录取的最高分、最低分和平均分。表的设计如下表5.5所示。表5.SEQ表\*ARABIC\s16学校分数表字段名称类型约束描述YEARInt(10)Notnullprimarykey年份SCHOOL_IDIntNotnull学校IDSCHOOL_NAMEVarchar(32)Notnull学校名称MIN_SCOREintNotnull最低分MAX_SCOREintNotnull最高分MID_SCOREintNotnull平均分第6章高考志愿推荐系统的编码实现通过上面对该系统进行的需求分析,概要设计及详细设计,系统实现有了更为明确的指导。这章通过编码对系统的主要功能模块进行详细的实现,完成系统开发。6.1数据库表的创建创建一个数据库GKRecommendation,采用的字集为utf8--UTF-8Unicod,采用的排序规则为utf8_general_ci,创建各个表的代码类似,以用户表创建为例的代码如下:DROPTABLEIFEXISTS`gk_user`;CREATETABLE`gk_user`(`USER_ID`varchar(32)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,`USER_NAME`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,`USER_PASSWORD`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,`USER_SEX`varchar(1)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,`USER_BIRTHDAY`datetimeNULLDEFAULTNULL,`USER_IDENTIFY_CODE`varchar(60)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,`USER_EMILE`varchar(60)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,`USER_MOBILE`varchar(11)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,`USER_STATUS`decimal(6,0)NOTNULL,PRIMARYKEY(`USER_ID`))ENGINE=InnoDBDEFAULTCHARACTERSET=utf8COLLATE=utf8_general_ci;6.2系统主要功能模块实现由第3章对系统需求分析、第4章对系统的概要设计和第5章的详细设计可以得出高考志愿推荐系统主要由系统前台主界面,用户管理模块,院校信息模块,院校专业信息模块,院校推荐模块,专业推荐模块,后台对用户、学校、专业管理模块的组成。下面分别对这几个模块进行代码的编写和页面的实现。6.2.1系统前台主界面的实现前台主界面设计推荐系统前台主界面主要用于帮助用户了解高考志愿的一些信息。主界面首页包括各个界面的导航,轮播图展示各院校的风采,学生通过热点新闻了解高考相关热点新闻。底部显示管理员联系方式,用户可以与管理员取得联系,便于用户更好地利用系统。用户通过登录注册可以对系统进行使用。用户主界面的设计图如图6-1所示。图6-SEQ图\*ARABIC\s11用户主界面设计图前台主界面的编码实现前台主界面index.jsp为静态展示界面,头部使用统一的hearder.jsp。使用轮播图展示各院校的风采。使用public.js和nav.js完成返回顶部的操作,便于用户操作。为了使系统前台模块页面效果头部导航实现一致效果,编写了许多CSS样式表。CSS样式列表图如图6-2所示,前台主界面实现效果如图6-3所示。图6-SEQ图\*ARABIC\s12CSS样式列表图下面以头部轮播图样式为例,轮播图CSS设置如下:.block_home_slider.flex-direction-nava.flex-prev{left:6px;background-position:lefttop;}//图片定位,距左侧6px,位置左上.block_home_slider.flex-control-paging{width:80px;padding-top:15px;display:inline-block;position:absolute;bottom:15px;left:50%;margin-left:-30px;}//图片滑动时的设置,宽度80px,上内边距15px,内联样式,绝对定位6.2.2用户管理模块用户管理模块设计用户登录是用户使用该系统的前提。普通用户使用该系统需要填写相关的个人信息进行注册。后台管理员欲进入后台系统对系统进行管理也需要先进行登录。管理员与普通用户通过标志位status进行区分。用户注册设计图如图6-4所示,普通用户登录设计图如图6-5所示,后台管理员登录界面设计图如图6-6所示。图6-SEQ图\*ARABIC\s13前台主界面图图6-SEQ图\*ARABIC\s14用户注册设计图图6-SEQ图\*ARABIC\s15普通用户登录设计图图6-SEQ图\*ARABIC\s16后台管理员登录界面设计图用户管理模块的编码实现(1)用户注册页面regist.jsp,引入calendar.js用于填写出生日期。引入function.js对用户注册时相关信息的验证,使用ajax请求验证用户是否已存在,需要确认的用户信息为:用户名,姓名,密码,确认密码,邮箱。不符合输入要求的则会弹出提示框。用户注册实现界面如图6-7所示。图6-SEQ图\*ARABIC\s17用户注册图普通用户登录页面login.jsp,用户输入账号密码,点击登录按钮时调用java文件login.post(),在login文件中调用类GK_USERDao.selectUser()判断用户输入的账号密码是否匹配,弹出框的形式提醒用户登录失败。普通用户登录界面图如图6-8所示。图6-SEQ图\*ARABIC\s18普通用户登录图用户退出选项设置在界面login.jsp,用户点击退出按钮时调用java文件logout.get()用于用户账号的退出,退出后的界面仍为login.jsp。后台登录界面login.jsp,管理员输入账号密码,点击提交按钮时调用java文件AdminLogin.post(),判断管理员输入的账号密码是否匹配,用户登录成功后界面为admin_index.jsp。为了保证数据操作安全,管理员只有在登录后才能进入后台对数据进行操作,因此需要设置过滤器。Java文件AdminLogin的主要代码实现如下:if(uri.contains("admin_")){ //如果标记位不为空,且已登录 if(flag!=null&&flag.equals("1")){ chain.doFilter(req,resp); }else{ PrintWriterout=resp.getWriter(); out.write("<script>"); out.write("alert('请先登录');"); out.write("location.href='/college-entrance-recommendation/manage/login.jsp';"); out.write("</script>"); out.close(); return; } }else{ chain.doFilter(req,resp); }后台管理员的退出实现,管理员点击退出按钮时调用java文件AdminLogout.get()用于用户账号的退出,退出后的界面仍为admin_index.jsp。后台管理员登录界面如图6-9所示。图6-SEQ图\*ARABIC\s19后台管理员登录界面图6.2.3院校信息模块院校信息模块界面设计该模块实现各院校信息的展示,采用分页分条展示各学校信息。包括学校ID、学校名称、所在城市、学校类型。每个学校名称带链接,通过点击可以查看学校详情,包括学校的联系方式、学校简介。院校信息展示设计图如图6-10所示,院校详情展示界面设计图如图6-11所示。图6-SEQ图\*ARABIC\s110院校信息展示设计图图6-SEQ图\*ARABIC\s111院校详情展示界面设计图院校信息模块的编码实现学校信息展示的部分代码实现如下:<tr><th>学校ID</th><th>学校名称</th><th>所在城市</th><th>学校类型</th></tr>//所需展示具体信息列表<tbodyid="tableInfo"><tr><td>1</td><td><ahref="school_zndx.jsp">湘潭大学</a></td><td>湖南湘潭</td><td>普通本科</td></tr>院校信息展示图如图6-12所示。图6-SEQ图\*ARABIC\s112院校信息展示图院校信息详情界面代码如下。<divclass="school_con_main"><h1>学校信息</h1> <p>官方网址: <a>href="/">/</a> <span> <ahref="/">/</a> </span> </p> <p>官方电话:<span>lt;/span></p> <p>电子邮箱:<span>admis@</span></p> </div> </div> <divclass="school_intro"> <divclass="school_intro_main"> <h1>学校简介</h1></div>院校详情展示界面如图6-13所示。图6-SEQ图\*ARABIC\s113信息详情界面图6.2.4院校专业信息模块院校专业信息模块界面设计该模块实现院校专业的展示,分页分条展示专业信息,包括专业Id专业名称,专业类型,所属类别代码和专业描述。用户可以通过关键字查找相关专业信息。专业信息设计图如图6-14所示。图6-SEQ图\*ARABIC\s114专业信息设计图院校专业信息模块的编码实现专业信息模块MajorInformation.jsp,调用java文件MajorSelsct.get(),并调用类GK_MAJORDao.totalPage(count,keywords),获取全部专业信息,用户输入关键词查找相关专业时调用类GK_MAJORDao.selectAll(cpage,count,keywords)。专业信息界面实现如图6-15所示,通过关键字查询专业界面如图6-16所示。图6-SEQ图\*ARABIC\s115专业信息图图6-SEQ图\*ARABIC\s116专业查询效果图6.2.5院校推荐模块院校推荐模块界面设计该模块实现对考生用户的院校推荐。根据考生输入的分数查询推荐填报的院校。院校推荐界面设计图如图6-17所示。图6-SEQ图\*ARABIC\s117学校推荐界面设计图院校推荐模块的编码实现院校推荐模块SchoolRecommend.jsp,用户输入的分数时调用java文件SchoolRec.get(),并调用类GK_SCHOOLDao.selectByScore(score)获取查询到的相关记录。推荐院校界面如图6-18所示。图6-SEQ图\*ARABIC\s118学校推荐界面图6.2.6专业推荐模块专业推荐模块界面设计该模块通过用户填写的《职业兴趣倾向量表》实现专业的推荐。量表共有常规型、现实型、研究型、管理型、社会型、艺术型六种人格类型,通过用户输入进行计算,判断出最高分的类型,给出推荐的专业。专业推荐设计图如图6-19所示。图6-SEQ图\*ARABIC\s119专业推荐设计图专业推荐模块的编码实现量表编写的部分代码实现如下:<tableborder="1"bgcolor="#fbdbea"> <tr> <th>1、我喜欢把一件事情做完后再做另一件事。</th> <td> <inputtype="radio"name="choose1"value="T"onfocus="FocusItem(this)"onblur="CheckItem(this)">是 </td> <td> <inputtype="radio"name="choose1"value="F"onfocus="FocusItem(this)"onblur="CheckItem(this)">否 </td> <span></span> </tr>倾向量表填写界面如图6-20所示。图6-SEQ图\*ARABIC\s120倾向量表填写图霍兰德性格测试分为常规型、现实型、研究型、管理型、社会型、艺术型。每种类型对应十个单选题。为了进行测试,打乱进行排列,例如C常规型对应的题目编号为(5,7,18,19,29,39,40,41,51,57),R现实型对应的题目编号为(2,13,14,22,23,36,43,44,47,48),I研究型对应的题目编号为(6,8,20,21,30,31,42,55,56,58),E管理型对应的题目编号(3,11,16,24,25,28,35,38,46,60),S社会型对应的题目编号(1,12,15,26,27,37,45,52,53,59),A艺术型对应的题目编号为(4,9,10,17,32,33,34,49,50,54)。霍兰德性格测试的计分方式为每种类型设置一个计数器,选对的对应计数器计1分,选错不计分。取六个计数器中最大值为测试结果,据此结果推荐专业。6.2.7后台管理主界面后台管理主界面设计系统后台主界面为展示型静态界面。左侧菜单栏导航有对用户的操作,对学校的操作,对专业的操作。右侧展示,高考的相关的一些信息。后台模块主界面设计图如图6-22所示。图6-SEQ图\*ARABIC\s121后台模块主界面设计图后台管理主界面的编码实现菜单栏代码实现如下:<!--用户管理操作--><li><ahref="#"><iclass="icon-font"></i>操作用户</a><ulclass="sub-menu"><li><ahref="/college-entrance-recommendation/manage/admin_douserselect"><iclass="icon-font"></i>用户管理</a></li><li><ahref="/college-entrance-recommendation/manage/admin_useradd.jsp"><iclass="icon-font"></i>新增用户</a></li><li><ahref="/college-entrance-recommendation/manage/admin_usermodify.jsp"><iclass="icon-font"></i>用户修改</a></li></ul></li><!--学校管理操作--><li><ahref="#"><iclass="icon-font"></i>操作学校</a><ulclass="sub-menu"><li><ahref="/college-entrance-recommendation/manage/admin_doschoolselect"><iclass="icon-font"></i>学校管理</a></li><li><ahref="/college-entrance-recommendation/manage/admin_schooladd.jsp"><iclass="icon-font"></i>新增学校</a></li><li><ahref="/college-entrance-recommendation/manage/admin_schoolmodify.jsp"><iclass="icon-font"></i>学校修改</a></li></ul></li><!--专业管理操作--><li><ahref="#"><iclass="icon-font"></i>操作专业</a><ulclass="sub-menu"><li><ahref="/college-entrance-recommendation/manage/admin_domajorselect"><iclass="icon-font"></i>专业管理</a></li><li><ahref="/college-entrance-recommendation/manage/admin_majoradd.jsp"><iclass="icon-font"></i>新增专业</a></li><li><ahref="/college-entrance-recommendation/manage/admin_majormodify.jsp"><iclass="icon-font"></i>专业修改</a></li></ul></li>后台模块主界面如图6-23所示。图6-SEQ图\*ARABIC\s122后台模块主界面图6.2.8后台对用户、学校、专业管理模块用户、学校、专业管理模块界面设计通过后台管理员可以实现对已有的用户、学校、专业信息的查看,可以新增用户、学校、专业,修改、删除用户、学校、专业,也可以通过关键字查询用户、学校、专业。因为用户、学校、专业的操作界面类似,下面以用户的添加界面为例,其设计图如图6-23所示。图6-SEQ图\*ARABIC\s123用户添加界面设计图用户、学校、专业管理模块的实现后台用户管理模块的实现因为用户、院校、专业的增、删、改、查操作相似,实现方法也类似。这里以用户添加为例。添加用户信息时,调用java文件DoUserAdd.post(),并调用类GK_USERDao.insert()实现用户的新增。用户添加界面如图6-24所示。图6-SEQ图\*ARABIC\s124用户添加界面图后台院校管理模块的实现因为用户、院校、专业的增、删、改、查操作相似,实现方法也类似。这里以院校修改为例。修改院校信息时,调用java文件DoSchoolUpdate.get(),并调用类GK_SCHOOLDao.update()实现院校的修改。院校信息修改实现如图6-29所示。图6-SEQ图\*ARABIC\s129学校信息修改图后台专业管理模块的实现因为用户、院校、专业的增、删、改、查操作相似,实现方法也类似。这里以专业查找为例。查找专业信息时,调用java文件DoMajorSelect.get(),并调用类GK_MAJORDao.selectAll()获取全部的专业信息。专业信息列表图如图6-31所示。图6-SEQ图\*ARABIC\s131专业信息列表图第7章高考志愿推荐系统的项目测试对系统各模块功能进行测试,主要包括系统前台主界面的测试、用户管理模块、院校信息模块、院校专业信息模块、填报院校推荐模块、填报专业推荐模块、后台对用户的管理模块、后台对学校的管理模块、后台对专业的管理模块。测试内容如表7.1所示。表7.SEQ表\*ARABIC\s11测试表功能模块名称功能要求说明前台主界面主界面功能导航链接轮播图学校风采展示高考热点新闻链接用户管理模块用户注册信息验证说明普通用户登录信息说明后台管理员登录信息说明院校信息模块学校信息验证说明学校信息分页展示功能学校详情界面链接院校专业信息模块专业信息验证说明专业信息查询功能院校推荐模块1.院校推荐验证说明专业推荐模块职业兴趣倾向测验验证说明专业推荐结果验证说明后台对用户的管理模块用户信息查看、修改、删除验证说明用户查找分页显示测验说明后台对学校的管理模块学校信息查看、修改、删除验证说明学校查找分页显示测验说明后台对学校的管理模块专业信息查看、修改、删除验证说明专业查找分页显示测验说明根据上表显示的各功能模块的验证说明,设计出对应的的测试用例,显示测试结果,如表7.2所示。表7.SEQ表\*ARABIC\s12测试用例表功能模块名称功能具体要求测试用例预期结果是否满足预期前台主界面主界面链接均正常逐一点击链接,看是否跳转到正确地址链接跳转全部正确满足2.学校风采以轮播图形式正常展示观察轮播图是否正常滚动显示轮播图正常滚动显示满足用户管理模块1.用户名是否被注册1.输入已注册的用户ID,提示用户ID不可用;2.输入未被注册的正确格式用户ID,没有错误提示信息输入的格式要求错误时或者为空时,提醒错误或者不能为空;输入正确的时候没有错误提示满足2.用户注册时加*不能为空带*选项不输入或输入满足3.两次密码输入是否一致输入不一致密码满足4.后台是否只有管理员登录且登录才能操作普通用户或管理员登录;未登录进入后台普通用户显示登录失败,管理员直接登录进入后台,未登录时提示用户先登录满足院校信息模块1.学校信息是否分页正常显示点击分页,是否跳转到相应页面显示学校列表分页显示学校信息列表满足2.学校名称是否链接到相应的学校详情页面点击学校名称链接正常跳转到学校详情界面链接正常跳转满足续表7.2测试用例表功能模块名称功能具体要求测试用例预期结果是否满足预期专业信息模块1.专业信息是否分页正常显示点击分页,是否跳转到相应页面显示专业列表分页正常显示学校信息满足2.能否通过关键词查询相应的专业信息输入关键词,查到信息;输入关键词没有相关信息时显示为空正常查询院校推荐模块能否通过用户输入的分数给出合理的推荐输入合理分数给出推荐,输入分数不合理,提示输入分数错误根据用户输入的分数推荐相应合适的院校满足专业推荐模块1.测试表提交时不能有空值正常提交一份问卷或有空题时就提交正常提交收到专业推荐,未填写完毕就提交提示答卷未完成满足2.能否根据用户提交的问卷给出合理推荐提交问卷,查看反馈结果根据用户提交的问卷给出专业推荐满足后台对用户的管理模块1.用户信息正常查看、成功修改用户信息、删除用户信息、新增用户数据库中用户数据查看、修改用户信息、删除用户、新增加一个用户可以查看到所有用户信息、用户信息被修改、用户信息被删除,记录数少一、新增后用户记录加一满足2.通关键词查找到相关用户,并分页展示输入关键字查询查询出所有相关结果,显示所有相关的记录满足续表7.2测试用例表功能模块名称功能具体要求测试用例预期结果是否满足预期后台对学校的管理模块1.学校信息正常查看、成功修改用户信息、删除用户信息、新增学校数据库中学校数据查看、修改学校信息、删除学校、新增加一所学校可以查看到所有学校信息、学校信息被修改、学校信息被删除,记录数少一、新增后学校记录加一满足2.通关键词查找到相关学校信息,并分页展示输入关键字查询查询出所有相关结果,显示所有相关的记录数满足后台对专业的管理模块1.专业信息查看、成功修改专业信息、删除专业信息、新增学校数据库中专业数据查看、修改专业信息、删除专业、新增加一所专业查看到所有专业信息、专业信息被修改、专业信息被删除,记录数少一、新增后专业记录加一满足后台对专业的管理模块2.通关键词查找到相关专业信息,并分页展示输入关键字查询查询出所有相关结果,显示所有相关的记录数满足推荐系统功能测试覆盖率如表7.3所示。表7.3系统功能覆盖率表需求功能名称覆盖率前台主界面100%用户管理模块100%院校信息模块100%院校专业信息模块100%院校推荐模块100%专业推荐模块100%续表7.3系统功能覆盖率表后台对用户的管理模块100%后台对学校的管理模块100%后台对专业的管理模块100%第8章总结与展望8.1总结高考是我国选拔人才的重要途径之一,高考填报志愿工作对考生意义非凡,志愿填报不仅关系着每一位考生的未来,也关系到高校的人才录取工作[20]。本推荐系统是针对高考考生所开发设计的,为考生提供填报指导意见,对考生志愿填报工作起到一定的帮助作用,下面对课题研究的成果进行详细的总结。1.首先详细地介绍了高考志愿填报推荐系统课题研究的背景、目的和意义,紧接着进行国内外研究现状的论述与总结,分析出本网站系统的研究部分,最后进行全文研究内容的总结。2.从本网站系统涉及的相关知识和技术领域进行了详细的说明,系统展示界面采用Html5,css3,jQuery,javascript;具体方法和接口的实现采用servlet和java语言;数据库使用MySQL8。为后文的设计和实现做铺垫。3.网站系统分析外部接口需求,从用户的角度出发对系统的功能进行了详细的需求分析,包括操作简便化、全面考虑考生的条件。编写系统的可用性需求和可管理性需求。4.根据网站的需求分析,进行系统的概要设计说明系统开发环境及所用的技术,对系统功能总体进行设计,对数据库进行设计。5.对推荐系统进行详细设计。其中前台用户交互模块的详细设计,包括用户模块的设计,专业信息模块的设计,院校信息模块的设计,院校推荐模块的设计,专业测评模块的设计。后台管理员管理模块的详细设计。对数据库进行详细的设计,设计出数据库所用的表。6.高考志愿推荐系统的编码实现。数据库表的编码实现和系统主要模块的实现。前台主界面的实现。用户管理模块的编码,实现院校信息模块的编码实现,实现院校专业信息模块的编码实现,实现填报院校推荐模块的编码实现,专
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国素描等级考试试题及答案
- 潍坊学校计算机考试试题及答案
- 2026年交通违章培训考试试题及答案
- 2026年北京初级保安考试试题及答案
- 政协工作人员考试试题及答案
- 2025~2026学年云南昆明市官渡区光华学校高二上学期期末地理试卷
- 2026届浙江杭州市滨江区杭州第二中学高三3月考试英语试卷
- 护理课件分享平台
- 妊娠期高血压疾病护理
- 基础护理心理护理
- 网络综合布线进线间子系统概述
- 2023年10月广西南宁市青秀区建政街道办事处公开招聘5人笔试历年高频考点(难、易错点荟萃)附带答案详解
- 2023年初级会计职称《初级会计实务》真题
- 厦门士兰集科微电子有限公司12 吋特色工艺半导体芯片制造生产线建设项目环境影响报告
- 氢气管道施工技术管理及质量控制
- 诊断学恶心呕吐呕血便血腹痛PPT
- 乡镇副科考试和答案
- 人参的鉴定专题知识
- 《国内移动400业务受理单》
- SX-601M电气安装与维修实训考核设备说明书V3.0
- 上海高中高考物理知识点图解(权威版)
评论
0/150
提交评论