【有源码】【毕业论文】基于springboot的考研信息管理系统

 

 

 

本科生毕业论文

论文题目:

基于springboot的考研信息管理系统

   院:

软件学院

   级:

2020

   业:

软件工程

   名:

王帅

   号:

20203241

指导教师:

杨丰

 

      

2024  15

 


摘要

 

随着我国的高等教育质量和水平不断地提高,计算机与软件专业大学生选择考研的人数呈现出显著增长的趋势。在这样竞争激烈的大背景下,尽管市场上存在新东方、研途等提供考研辅导课程的机构,但是仍然缺乏针对于计算机与软件专业考研学生择校和备考的信息管理平台。考生们往往需要在知乎、微博等社交平台上寻找相关信息来获取资料,这种方式不仅效率效率低下,而且信息的真实性和完整性都难以保证。该系统就是针对现在市面上缺乏相关平台的问题提出有效的解决方案和应对措施并加以实践。

本系统是一个基于Spring Boot的考研信息管理系统。本系统实现了管理员对院校信息、咨询信息、学长学姐信息和公告等信息进行管理和维护;用户可以在本系统进行浏览考研资讯、搜索考研院校、查看学长学姐详情信息等功能。系统整体采用Spring Boot框架。数据库使用MySQL进行编写。前端使用Element UI搭建了前台页面,使用Axios进行前后端交互。实现的过程中使用了Redis缓存技术,用来提升系统整体的运行效率。该系统解决了现阶段市面上缺乏计算机软件考研平台的痛点问题,使得用户能够以更简单更高效更准确的方式选择考研学校和获取考研资料。

 

 

关键词

 

信息管理平台Spring BootElement UIAxiosRedis

 

 

 

 

 

 

 

Abstract

   With the continuous improvement of the quality and level of higher education in our country, the number of college students majoring in computer and software who choose to take the postgraduate entrance examination shows a significant increasing trend. In such a highly competitive background, although there are institutions such as New Oriental and Yantu that provide postgraduate entrance examination counseling courses in the market, there is still a lack of an information management platform for computer and software major postgraduate entrance examination students in terms of school selection and preparation. Candidates often need to look for relevant information on social platforms such as Zhihu and Weibo to obtain materials, which is not only inefficient, but also the authenticity and completeness of the information are difficult to guarantee. This system proposes effective solutions and countermeasures to address the lack of relevant platforms on the market now and implements them.

This system is a postgraduate entrance examination information management system based on Spring Boot. This system enables administrators to manage and maintain information such as college information, consultation information, senior students' information. The whole system adopts the Spring Boot framework. The database is written using MySQL. The front end uses Element UI to build the front page and uses Axios for front-end and back-end interaction. During the implementation, Redis caching technology was used to improve the overall operating efficiency of the system. This system solves the pain point problem of the lack of a computer software postgraduate entrance examination platform on the market at this stage, enabling users to choose postgraduate entrance examination schools and obtain postgraduate entrance examination materials in a simpler, more efficient, and more accurate way.

 

 

Key words

 

Information management platform;Spring Boot;Element UI;Axios;Redis



目录

 

摘要

Abstract

 

前言

第一章 绪论

1.1 研究背景

1.2 研究的目的与意义

1.2.1 研究的目的

1.2.2 研究的意义

1.3 国内外研究现状

1.3.1 国内现状

1.3.2 国外现状

1.4 主要研究内容

1.5 主要应用技术简介

1.5.1 Spring Boot

1.5.2 MySQL

1.5.3 Element UI

1.5.4 Axios

1.5.5 Redis

1.6 论文结构

第二章 系统需求分析

2.1 可行性分析

2.1.1 经济可行性分析

2.1.2 技术可行性分析

2.2 功能需求分析

2.2.1 系统参与者

2.2.2 系统用例图

2.2.3 用例描述

2.3 非功能需求分析

2.4 本章小结

第三章 系统概要设计

3.1 系统总体设计

3.1.1 系统架构设计

3.1.2 系统功能设计

3.2 系统数据库设计

3.2.1 数据库概念结构设计

3.2.2 数据库逻辑结构设计

3.3 本章小结

第四章 系统详细设计与实现

4.1 浏览资讯模块的详细设计与实现

4.1.1 浏览资讯的类图与时序图

4.1.2 浏览资讯的实现

4.2 院校搜索模块的详细设计与实现

4.2.1 院校搜索的类图与时序图

4.2.2 院校搜索的实现

4.3 浏览学长学姐模块的详细设计与实现

4.3.1 浏览学长学姐的类图与时序图

4.3.2 浏览学长学姐的实现

4.4 学长学姐认证模块的详细设计与实现

4.4.1 学长学姐认证的类图与时序图

4.4.2 学长学姐认证的实现

4.5 举报管理模块的详细设计与实现

4.5.1 举报管理的类图与时序图

4.5.2 举报管理的实现

4.6 本章小结

第五章 系统测试

5.1 测试的目的和方法

5.1.1 测试目的

5.1.2 测试方法

5.2 功能测试

5.2.1 登录注册模块功能测试

5.2.2 个人信息管理模块功能测试

5.2.3 学长学姐信息模块功能测试

5.2.4 院校管理模块功能测试

5.2.5 资讯管理模块功能测试

5.3 本章小结

结论

参考文献

致谢

 


前言

随着国家对高等教育的不断重视和研究生扩招政策的实施,以及社会对科技人才需求的日益增长,计算机与软件专业的大学生选择考研的人数呈现出显著的正常趋势。2023年度考研报名人数达到了474万人,录取率仅为16%。特别是再计算机与软件专业领域中,报考人数超过30万人而统招名额仅有5万,这一悬殊的报录比进一步加剧了考研的难度。选择考研学校和获取初试复试资料作为考研阶段中必不可少且至关重要的环节,拥有高效且精准的信息化平台对于计算机软件专业的考研大学生来讲是非常关键的。通过本次研究,本文旨在探究计算机软件考研信息平台的设计与实现,为计算机软件考研学子们提供一个便捷、高效的备考环境,助力他们在考研的过程中能更加游刃有余。

本文主要基于计算机科学与技术和软件工程的基本理论、基础方法和技术,以计算机软件考研人为使用主体,以考研信息管理平台的设计与实现作为研究对象,旨在实现一种高效、精准和一体化的考研信息管理平台。

本论文的重点在于,通过对国内外相关文献的研究与分析,在需求分析这一阶段,深入了解业务流程及用户需求,准确界定系统的功能与性能指标;在系统设计阶段,借助 Spring Boot 框架,并融合前后端分离的设计理念,精心规划系统的架构与模块;在数据库设计阶段,切实保障数据的完整性与安全性;在系统实现阶段,运用敏捷开发的方式,逐步完成系统的编码与集成工作;最后在测试阶段,对系统进行全面且合理的测试,以确保系统的稳定运行及可用状态。

在设计中,系统以用户为中心和模块化设计为指导思想。以用户为中心坚持在需要实现功能的基础上考虑更多的用户体验,确保系统操作简单便捷,直观易懂,且考虑到考研学生、学长学姐、管理员等不同用户群体的特点和需求设计相符合的界面和功能。模块化设计理念将系统划分为若干个不同且独立的模块,这样不仅可以提高系统的可维护性和可扩展性,并且也便于后期的功能升级和系统优化。

总而言之,本文将详细介绍应用于计算机软件考研人的考研信息管理系统的设计与实现,通过不断的研究和探寻,为计算机软件考研人提供一种便捷、高效的备考解决方案。

 

第一章 绪论

绪论作为本文的开篇章节,在此章节中,首先对课题的研究背景进行了阐述,同时说明了研究的目的和意义。随后,对国内外考研学生在备考领域的现状进行了深入分析,最后还详细介绍了系统设计中所应用到的一系列相关技术。在章节最后叙述了论文的工作内容和论文的行文结构。

1.1 研究背景

年的考研人数和上岸人数的变化反映了中国高等教育和社会就业形势的复杂性。从2018年到2023年,考研人数经历了显著的增长和波动。

2018年,随着高校毕业生数量创历史新高达到了惊人的820万人,就业成为考研学生报考硕士研究生的主要驱动力。在这一年里,考研报名人数不断攀升,往届生首次出现的增幅比例超过了应届生这表明考研已成为许多学生追求更好就业机会的重要途径。进入2019年至2022年,考研人数再创历史新高大学毕业生的就业形势进一步严峻;从另一方面看,近几年国际形势相对不太乐观,小范围经济、战争冲突时有发生,不利于经济全球化发展。在这一背景下,考研逐渐成为了大学毕业是规避就业压力并提升就业竞争竞争力的主要途径之一[1]2023根据《2023全国研究生招生调查报告》显示,考研报名人数达到474万,增幅虽然相比之前几年有所下降但是由于报名人数剧增和推免比例扩大等原因,考研成功的难度逐年攀升,应届生考研成功的比率降低,往届生的增多进一步助长了考研热[2]。同年的逆向考研的话题引起社会热点评论,多所性价比较高的双非院校成为考研报考热门学校。

现阶段考研学生的数量依然居高不下,其中计算机软件考研学生仍作为工科考研学生的主力军。基于现有技术和市场需求,开发一个考研信息管理系统是可行且必要的。

1.2 研究的目的与意义

1.2.1 研究的目的

在当前的教育背景下,考研竞争日益激烈,考生面临着巨大的信息获取压力和备考挑战。有调查发现,中国的研究生考试考生更倾向于通过一些网络交流平台获取分类的资源信息,以减少在信息搜集方面的工作量。从另一方面来讲,由于信息技术的快速发展对考研学生的生活和学习习惯产生了巨大的影响,传统的考研信息管理方式已经无法满足现代考生的需求[3]因此,开发一个高效、便捷的考研信息管理系统显得尤为重要。

本研究旨在通过构建一个全面、高效一体化的考研信息管理系统,为广大计算机软件考研学生提供一个便捷的信息获取渠道。该系统将集成资讯浏览院校查询等功能模块,旨在优化考研信息资源的配置,提高信息利用效率。该系统的设计目的在于优化下列问题:资讯浏览负责将有用的考研资讯和优秀的政策解读汇总在一起,避免出现考生不能及时关注最新考研相关信息的可能;院校查询的数据来源于中国研究生招生信息网和各大高校研究生官方网站,根据院校的调整随时修改保证数据的准确性和即时性,同时解决了考研学生无法根据专业课来筛选考研学校这一痛点;学长学姐的信息全部需要通过管理员的审核,从根本上确保了学长学姐的真实身份从而进一步保证资料的真实性。

1.2.2 研究的意义

考研信息管理系统的核心设计理念是将系统的核心功能集中在服务器上,而用户端则通过Web浏览器来实现用户界面的操作,这种方式即为Browser/Server(简称B/S)架构。用户端只需要通过标准的Web浏览器就可以使用系统。简单来说是前端界面通过发送http请求调通后端相关接口,后端的对应接口返回数据到前端界面进行数据的显示。本系统主要研究基于Spring Boot分布式框架来实现一个满足计算机软件考研学生备考需求的信息管理平台。

1.3 国内外研究现状

1.3.1 国内现状

国内高校和机构在考研信息管理平台的建设重点放在了宣传考研学校、考研信息推送和售卖考研课程这些功能上。随着考研热浪的掀起,市场上出现了大量的考研信息平台,如小白考研、考虫等软件[4]。这些平台近年来相较于之前已经取得了一定的进展,但仍然存在一些问题,如没有汇总优秀考研博主的推文的信息整合功能、缺少以考研学生的择校需求为中心的检索功能、平台资源传播繁杂分散导致部分资源获取失真等。再考虑到近几年的经济形势、就业形势发生了变化导致了关于计算机软件的考研人数急剧增长,考研信息管理系统在定位和细化要求方面也不断提升,以适应不断到来的需求和标准。

1.3.2 国外现状

国外同样存在多种研究生申请和信息管理平台,通常由大学、教育部门或第三方教育服务公司运营。这些平台的功能包括研究生项目信息、申请要求、在线申请服务等,如美国的研究生考试服务系统着重培养考生的专业技能,系统以线上教育平台为主,目的在于调动考生的互动和自主学习能力。许多外国高校尝试为考生提供针对性和专业性的考研信息服务,如斯坦福大学已经向微软、康帕等互联网公司寻求合作,希望能联合开发针对硕士研究生学位的培训平台[5]

同时由于国外的研究生招生方式多数为申请制并非考核制,大部分国家和地区的研究生申请不设定统一的入学考试,但是在某些专业领域可能需要特定的标准化考试成绩,国外有一些综合研究生教育平台如GradSchools.com提供了研究生项目搜索、学习技巧和研究生院校生存指南等一系列功能,这与国内标准化考研的过程有所不同。

1.4 主要研究内容

本文主要研究的是基于Spring Boot的考研信息管理系统的设计与实现。

研究涉及了如下方面的内容:客户端的用户的登录注册、用户个人信息管理、浏览资讯、搜索院校、搜索学长学姐、查看详情信息、认证成为学长学姐、举报学长学姐等功能。管理端的用户管理、管理员管理、院校管理、学长学姐信息管理、资讯管理、公告管理、举报管理等功能。

1.5 主要应用技术简介

1.5.1 Spring Boot

Spring Boot是目前最主流和热门的开源Java基础框架,其核心理念是约定优于配置,这意味着开发者可以使用默认设置快速启动和运行应用程序,而并不需要手动配置大量的细节。Spring Boot简化了Spring应用的初始化以及开发过程,并且集成了各种优秀开源的Web框架,不仅实现了合成的松散耦合,而且可以创建独立应用程序[6]。在实际应用中,Spring Boot已经被广泛应用于各行各业的项目中,包括但不限于智慧医疗问诊系统、社交网络平台、在线教育系统等。这些案例充分表明该框架满足现互联网应用的核心需求,如高并发处理、动态读写分离和高安全性保障等。同时通过集成大量常用的第三方库的配置,Spring Boot框架能够实现考研信息管理系统的各种功能,提高开发效率和系统可靠性,且方便部署和移植[7]

1.5.2 MySQL

MySQL作为一款广泛使用的关系型数据库管理系统,它以高效性、便捷性和成本效益得到了全球用户的喜爱和青睐[8]MySQL数据库可以与Java语言紧密结合,在许多企业中,MySQL被普遍被使用于后端数据库管理系统,这种情况反映了MySQL在企业级应用中的广泛接受程度和其系统的可靠性[9]MySQL数据库支持多种存储引擎,其中包括MyISAMInnoDB等,这些存储引擎为其提供了各种数据存储和管理的方式,来满足不同应用场景的需要[10]Navicat for MySQL支持单一程序连接到MySQL,是MySQL数据库管理和开发的理想解决方案之一。

1.5.3 Element UI

Element UI是一个基于Vue.js的前端开发组件库,该组件库为开发者提供一套丰富的界面组件和工具,以便可以快速开发出具有企业级视觉效果的应用程序[11]。该组件库设计强调简介、直观和易用性,这使得它不仅适用于个人项目,同样适用于大型企业级应用开发[12]Element UI的组件遵循了一致的设计语言和风格,这有助于保持界面的一致性和专业性的外观。Element-plusElement UI框架的升级版,Element-plus框架在支持面向对象编程方面的交互更加友好和便利[13]

1.5.4 Axios

Axios是一个基于PromiseHTTP客户端,适用于浏览器和node.js[14]。它提供了一种便捷、简单的方式来发送HTTP请求并处理响应[15]Axios在进行跨域请求时,采用基于属性的加密和数据保护机制,能够与其他现代Web技术和框架无缝集成,从而提高开发效率和用户体验[16]。同时Axios 提供了对多种 HTTP 请求方法的支持,例如GETPUTPOSTDELETE等请求方法。此外,它还能与URLSearchParamsAxios-RetryFormDataCORS等工具配合使用,以便于处理请求参数和构建请求体。

1.5.5 Redis

Redis是一个基于内存存储原理的开源数据库系统。它使用内存作为主要的数据存储介质,实现了对数据高速读写访问,通过将数据存储在内存中,这种方法大幅缩短了数据检索和写入数据的时间[17]。与传统的的磁盘存储系统相比,Redis具有更高的性能和更低的延迟[18]Redis拥有丰富的客户端库,并且支持很多种编程语言如PythonRubyJavaC#Node.js[19]。同时它可以作为一个独立的服务运行,也可以作为其他服务的一部分。Redis的引入在一定程上弥补了对现有数据库的键值对存储理解上的不足,在相当大的一部分场景下,它可以有效地扩展关系型数据的存储和读取能力,从而可以提供更全面的数据处理解决方案[20]Redis适用于需要快速访问和处理数据的场合,可能需要考虑内存容量的限制[21]。本系统使用Redis做缓存处理的目的是为了页面更加快速地加载资讯图片和学长学姐部分的审核、资料图片,可以为用户提供更高效的性能和用户体验。

1.6 论文结构

论文共有五个章节。第一章绪论,本章介绍考研信息管理系统的研究背景、研究目的和研究意义,阐述了目前国内外关于考研信息管理系统的现状,并介绍了系统应用的相关技术,确定了论文的主要研究内容。第二章考研信息管理系统的需求分析,主要包括搜集用户的具体需求、评估项目实施的可行性、构建用例模型以及明确系统所需实现的功能。第三章考研信息管理系统的概要设计,主要对系统的关键模块进行了详细说明,对系统总体模型的架构以及部署设计,并绘制了类图。在系统数据库设计中,展示了系统使用的数据库。第四章考研信息管理系统详细设计与实现,主要详尽地展示了特定功能具体实现步骤,提供了用户界面截图。同时通过绘制时序图进一步阐释了功能实现的具体工作流程。第五章考研信息管理系统软件测试,主要使用黑盒测试策略,依据等价类划分原则,制定了相应的测试用例。

最后是结论,对系统开发结果和未来进行了展望。


第二章 系统需求分析

本章作为论文的第二章,在第一节对项目的可行性进行了深入探讨,包括了经济层面和技术层面的可行性分析。在第二节中对系统的功能进行需求分析,并通过系统用例图以及对关键用例的详细描述进一步阐释。最后进行了本章总结,这是对本章内容的概括总结以便读者快速把握核心要点。

2.1 可行性分析

2.1.1 经济可行性分析

本文从三个方面来考虑该系统的经济可行性。

开发成本:由于后端使用Spring Boot搭建,是开源免费的;前端使用Element UI搭建。Element UI也是一个开源的前端UI库,因此在软件授权方面无成本。同时,MyBatisPlus作为增强版的MyBatis,它着实简化了数据操作的复杂性,有助于缩短开发周期,从而减少开发成本。

硬件成本:为了确保系统正常稳定运行,运行需要一台内存为8GB的个人计算机或PC端计算机。于本系统采用了Spring Boot框架,并内嵌了Tomcat服务器,因此无需额外购置或租用独立的服务器资源。这一设计选择显著降低了系统的硬件投资成本。

技术成熟度:该系统所选用的技术栈都为当前最主流的技术解决方案,具有较高的技术成熟度和社区生态支持,这有助于降低技术风险和后期技术升级的成本。

综上所述,由于主要采用了开源技术栈和一些免费的编码工具,初始成本较低且后期运维和升级优化的成本可控,考研信息管理系统在经济上具有较高的可行性。

2.1.2 技术可行性分析

本文从四个方面来考虑系统的技术可行性。

开发语言选择:后端开发采用了Java这一编程语言,Java语言经过多年的打磨和锤炼,现在已经成为了计算机业界广泛认可的成熟技术。它以其跨平台兼容性、面向对象的设计哲学以及卓越的安全性而闻名。前端使用的语言是HTMLCSSJavaScript,共同工作来创建丰富的用户体验。HTML提供了内容和结构,CSS处理视觉设计和布局,而JavaScript则让网页变得动态和交互。总体来说适合用于考研信息管理系统的开发。

开发框架:Spring Boot作为一个轻量级Java语言应用开发框架,它内嵌了TomcatServlet容器,使得应用的部署变得简单快捷。同时,Spring Boot整合了Spring Data JPASpring Security等常用技术,为系统的安全性、数据访问等提供了强大的支持。

前端技术:Element UI目前既有基于Vue2.0版本,也有基于Vue3.0的前端组件库,本系统采用的是Vue2.0版本。它提供了丰富的UI逐渐和便捷的界面搭建方式,有助于快速开发出响应式、美观的前端界面。

系统性能:开发者可以利用 MyBatis1Plus 提供的性能分析工具,对数据库的交互操作进行深入地性能评估和调节优化。这一插件可以有效提升系统在数据存取方面的效率,确保数据库操作的高性能执行。

2.2 功能需求分析

考研信息管理系统分为客户端和管理端。

客户端系统需要完成的功能包括:用户的登录和新用户的注册、管理用户和学长学姐的个人信息、浏览考研资讯、搜索考研院校、搜索学长学姐、认证成为学长学姐、查看详细信息、举报学长学姐。

管理端系统需要完成的功能包括:系统管理中的用户管理对于用户信息的增加、修改、查询和删除和管理员管理中对于管理员信息的查询、新增、修改和删除;院校管理中对于院校专业信息的增加、查询、修改和删除;信息流管理包括资讯管理和公告管理,资讯管理中对资讯信息的增加、修改、删除和查询以及对置顶轮播资讯,公告管理则为修改公告信息;学长学姐管理中的学长学姐信息管理对学长学姐信息的查询、修改、删除和举报管理中查看举报信息、修改举报结果。

2.2.1 系统参与者

本系统有系统管理员、普通用户、学长学姐四个参与者,介绍如下所示:

  1. 系统管理员。系统管理员主要负责用户信息管理、院校信息管理、资讯信息管理、公告管理、学长学姐信息管理和举报管理。
  2. 普通用户。普通用户为计算机软件备考的考研学生,同样也是系统的使用者,普通用户可以进行浏览资讯、搜索院校并且购买学长学姐的资料等操作,用户成功上岸以后同样可以进行身份认证成为学长学姐。
  3. 学长学姐。学长学姐为已经上岸的研究生学生,同样作为系统的使用者,是普通用户经过资格审核通过后修改身份后得到的。学长学姐在普通用户可用功能的基础上可以发布资料信息用来兜售考研资料。

2.2.2 系统用例图

使用系统的共有三种参与者,分别是系统管理员、普通用户和学长学姐。系统管理员的用例主要分为七个模块,分别为登录、院校专业管理、用户管理、资讯管理、学长学姐信息管理、举报管理、公告管理。系统管理员用例图如图2-1所示。

 

 

2-1 系统管理员用例图

由于学长学姐是用户经过认证后的用户,本质上的类别还是用户,所以与普通用户具有相同的用例,如登录系统、个人信息管理、浏览资讯、搜索院校等。而学长学姐也存在其独有的用例,如提交审核资料用例。学长学姐修改资料可以在个人信息管理中修改资料。普通用户和学长学姐用例图如图2-2所示。

 

 

2-2 普通用户和学长学姐用例图

2.2.3 用例描述

用户登录用例描述如下表2-1所示。

2-1用户登录用例描述表

用例条目

描述

用例ID

1.1

主要业务参与者

普通用户

其他参与者

学长学姐

描述

用户已经成功注册系统,拥有用户名和密码,填写用户名和密码后点击登录,系统进行用户信息验证,认证信息若在数据库存在则进入系统并返回成功登录提示信息,如果用户名密码验证失败,则显示用户名或密码错误提示信息

前置条件

普通用户、学长学姐已经注册系统拥有用户名和密码

后置条件

普通用户、学长学姐成功登录到系统

触发条件

点击登录按钮

2-1用户登录用例描述表

用例条目

描述

基本流程

  1. 用户填写用户名和密码
  2. 用户点击登录按钮
  3. 系统在数据库中查询对比用户名和密码是否正确
  4. 系统提示用户成功登录
  5. 页面跳转到浏览资讯界面

替代流程

3a. 用户名和密码对比不成功,系统提示用户名密码不正确

5a. 页面跳转不成功,系统提示页面跳转失败请刷新重试

结束

系统登录成功,页面实现跳转,用例结束

实现约束和说明

个人信息管理用例描述如下表2-2所示。

2-2个人信息管理用例描述表

用例条目

描述

用例ID

1.2

主要业务参与者

普通用户

其他参与者

学长学姐

描述

用户已经成功登录系统,在个人信息管理的页面可以修改包括用户名、昵称、密码、手机号等个人信息

前置条件

普通用户、学长学姐已经登录系统进入个人信息管理界面

后置条件

修改的个人信息存入到数据库用户信息表中

触发条件

点击用户头像按钮

基本流程

  1. 用户点击头像按钮进入个人信息管理界面
  2. 选择需要修改的个人信息并点击修改按钮
  3. 用户输入新信息后点击保存按钮
  4. 系统将新信息存入数据库用户信息表中
  5. 系统提示修改信息保存成功

替代流程

4a. 若修改信息为手机号,系统查询用户电话号码是否已经存在

4a1. 若手机号重复,则系统提示手机号已存在请更换手机号

 

2-2个人信息管理用例描述表

用例条目

描述

替代流程

4a2. 若手机号不重复,则系统提示修改成功

4b. 若修改信息为手机号,系统需要检查手机号格式是否正确

4b1. 若手机号格式错误,系统提示手机号格式不正确

4b2. 若手机号格式正确且不重复,系统提示修改成功

结束

用户成功修改个人信息,用例结束

实现约束和说明

认证学长学姐用例描述如下表2-3所示。

2-3认证学长学姐用例描述表

用例条目

描述

用例ID

1.3

主要业务参与者

普通用户

其他参与者

系统管理员

描述

普通用户进入学长学姐界面,点击认证成为学长学姐按钮后跳转认证界面,按照系统要求填写认证信息后点击提交按钮,系统显示信息提交成功并等待系统管理员审核。

前置条件

普通用户成功登录系统并进入学长学姐界面

后置条件

系统成功存储信息到学长学姐信息表中

触发条件

普通用户点击认证成为学长学姐按钮

基本流程

  1. 用户点击认证成为学长学姐按钮进入认证界面
  2. 用户输入系统要求的认证信息并上传相应图片
  3. 系统检查信息格式是否正确
  4. 系统存储信息到数据库中并提示提交成功
  5. 系统将数据发送给管理端,等待系统管理员审核

替代流程

3a. 系统检查信息格式不正确

3a1. 系统提示用户信息格式不正确

3a2. 用户重新填写正确信息

3a3. 跳转到正常流程第4

结束

学长学姐成功提交信息,用例结束

2-3认证学长学姐用例描述表

用例条目

描述

实现约束和说明

此操作必须为没有认证学长学姐的普通用户进行

举报用例描述如下表2-4所示。

2-4举报用例描述表

用例条目

描述

用例ID

1.4

主要业务参与者

普通用户

其他参与者

系统管理员

描述

普通用户进入学长学姐界面,然后进入某个学长学姐的详情界面,点击举报按钮,填写举报信息后提交,系统将举报数据反馈给管理员

前置条件

普通用户成功登录系统并进入学长学姐详细界面

后置条件

系统成功存储举报信息到数据库中

触发条件

普通用户点击举报按钮

基本流程

  1. 用户点击举报按钮进入举报界面
  2. 用户输入系统要求的举报信息
  3. 系统检查信息格式是否正确
  4. 系统存储信息到数据库中并提示举报成功
  5. 系统将数据发送给管理端,等待系统管理员处理

替代流程

3a. 系统检查信息格式不正确

3a1. 系统提示用户信息格式不正确

3a2. 用户重新填写正确信息

3a3. 跳转到正常流程第4

结束

用户成功提交举报信息,用例结束

实现约束和说明

此操作必须为没有认证学长学姐的普通用户进行

新增学院专业信息用例描述如下表2-5所示。

2-5新增学院专业信息用例描述表

用例条目

描述

用例ID

1.5

 

2-5新增学院专业信息用例描述表

用例条目

描述

主要业务参与者

系统管理员

其他参与者

描述

系统管理员进入系统管理端,进入院校管理模块后点击新增按钮,选择新增学院专业信息选项,在新增界面中添加学院和专业的信息,新增后点击保存按钮,系统将信息写入数据库中并提示新增成功

前置条件

系统管理员成功登入系统管理端

后置条件

系统成功存储院校专业信息到数据库中

触发条件

系统管理员点击新增按钮

基本流程

  1. 系统管理员点击新增按钮后选择新增学院专业信息选项
  2. 进入新增信息界面后填写院校专业信息并点击保存按钮
  3. 系统检查填写信息格式是否正确
  4. 系统将院校专业信息存入数据库中
  5. 系统提示信息新增成功

替代流程

3a. 系统检查信息格式不正确

3a1. 系统提示管理员信息格式不正确

3a2. 管理员重新填写正确信息

3a3. 跳转到正常流程第4

结束

管理员成功新增院校专业信息,用例结束

实现约束和说明

修改公告信息用例描述如下表2-6所示。

2-6修改公告信息描述表

用例条目

描述

用例ID

1.6

主要业务参与者

系统管理员

其他参与者

描述

系统管理员进入系统后点击进入公告管理模块,在该界面可以发布新公告和修改公告信息

2-6修改公告信息用例描述表

用例条目

描述

前置条件

系统管理员成功登入系统管理端

后置条件

系统成功存储公告信息到数据库中

触发条件

系统管理员点击修改按钮

基本流程

  1. 系统管理员点击修改按钮
  2. 管理员选择发布公告的位置
  3. 管理员填写公告标题、公告内容等公告信息
  4. 填写后点击保存按钮
  5. 系统将公告信息存入数据库中
  6. 系统提示公告发布成功
  7. 系统将公告在客户端进行展示

替代流程

3a. 系统检查信息格式不正确

3a1. 系统提示管理员信息格式不正确

3a2. 管理员重新填写正确信息

3a3. 跳转到正常流程第4

结束

管理员成功发布公告,用例结束

实现约束和说明

资讯轮播用例描述如下表2-7所示。

2-7资讯轮播用例描述表

用例条目

描述

用例ID

1.7

主要业务参与者

系统管理员

其他参与者

描述

系统管理员进入系统管理端,进入资讯管理界面后,点击添加轮播资讯按钮,管理员添加资讯信息,系统将信息存入数据库中并提示资讯保存成功,系统在客户端展示轮播资讯

前置条件

系统管理员成功登入系统管理端

后置条件

系统成功将轮播资讯信息存入数据中

 

2-7资讯轮播用例描述表

用例条目

描述

触发条件

系统管理员点击新增资讯信息按钮

基本流程

  1. 系统管理员点击新增资讯信息按钮
  2. 管理员填写资讯标题、资讯内容等资讯信息
  3. 填写后点击保存按钮
  4. 系统将轮播资讯信息存入数据库中
  5. 系统提示轮播资讯发布成功
  6. 系统将资讯在客户端的资讯轮播图进行展示

替代流程

2a. 系统检查信息格式不正确

2a1. 系统提示管理员信息格式不正确

2a2. 管理员重新填写正确信息

2a3. 跳转到正常流程第3

结束

管理员成功发布轮播资讯,用例结束

实现约束和说明

修改举报状态用例描述如下表2-8所示。

2-8修改举报状态用例描述表

用例条目

描述

用例ID

1.8

主要业务参与者

系统管理员

其他参与者

描述

系统管理员成功登入系统管理端,进入举报管理模块查看举报信息,在每条举报信息后操作栏选择修改举报状态

前置条件

普通用户成功登录系统并进入举报管理模块

后置条件

系统成功存储举报状态信息到数据库中

触发条件

系统管理员点击操作栏的修改状态按钮

基本流程

  1. 系统管理员浏览举报信息并进行处理
  2. 处理结束后进入举报管理模块点击某个举报的修改按钮
  3. 选择举报状态为未处理处理中”“已处理
  4. 系统提示举报状态修改成功

2-8修改举报状态用例描述表

用例条目

描述

替代流程

结束

管理员成功修改举报状态,用例结束

实现约束和说明

2.3 非功能需求分析

可用性需求:该系统使用浏览器就可以登录注册和进行操作,可以满足移动端和PC端都可使用的全平台特性,同时系统在用户交互层面上拥有较好的使用体验。

安全性需求:用户可以登录系统后对个人信息进行修改,其他没有对应账号密码的人不能进入系统并修改,从而确保了系统的安全性。

可维护性需求:系统内部设计为模块化,各个模块可以互相之间独立运行,客户端的操作可以由管理端控制,在不进行功能修改的前提下扩展用户使用数量,只需要添加服务器的数量就可以完成。

成本效益需求:系统实施了成本控制措施,系统开发和维护成本较低,并且选择了开源免费的技术和工具,确保了在项目进行的不同阶段资金需求得到满足。

2.4 本章小结

系统需求分析是软件系统开发时的起始环节和重要组成部分,本章从两个方面探讨了系统的可行性,分别是经济可行性分析和技术可行性分析,进而进行了系统的功能性需求分析,包括系统参与者、系统用例图和系统功能的用例描述,最后对系统非功能的需求进行分析。


第三章 系统概要设计

本章作为系统的概要设计章节,主要内容是系统的总体设计和系统的数据库设计分析。本文在系统的总体设计中绘制分析了系统的架构图和系统的功能结构图,随后在系统数据库设计中设计了数据库的概念结构和逻辑结构,概念结构通过ER图来表示,逻辑结构则通过数据库字段信息表来展现。

3.1 系统总体设计

3.1.1 系统架构设计

考研信息管理系统的架构主要分为视图层、控制层、业务层、数据层、数据库。其中视图层包含了WEB前端所需要的基本技术,并且使用了主流VUE框架和Element UI组件。控制层则是使用Ajax发送HTTP请求。业务层主要包括系统提供的服务如登录业务、资讯业务、院校查询业务、学长学姐资料业务等。数据层包含连接数据库、负责执行Sql语句和数据同步功能。数据库则使用高效、便捷快速的MySql数据库。

具体的系统架构图如图3-1所示。

 

 

3-1 系统架构图

3.1.2 系统功能设计

考研信息管理系统分为三类角色,分别是普通用户、学长学姐、系统管理员。学长学姐和普通用户有一些相同的功能如登录、个人信息管理、浏览资讯等,学长学姐有自己特有的功能如发布资料信息和修改资料信息,普通用户同样有独属于自己的功能如认证成为学长学姐、举报、注册系统等。系统客户端功能图如图3-2所示。

 

 

3-2 系统客户端功能图

管理员则负责前台全部功能的管理,系统管理端功能图如图3-3所示。

 

 

3-3 系统管理端功能图

3.2 系统数据库设计

本小节主要详细描述了数据的逻辑结构设计与数据库的物理结构设计。为了满足系统设计的需求,需要共十五张表分为五个模块来存储相关的信息。这些表分别是用户与管理员模块的用户表、用户信息表、学长学姐表、学长学姐分数表、学长学姐信息表、头像表、管理员表;院校和专业模块的地区身份表、学校信息表、学院专业表、考试科目表,用户关注院校表;资讯模块的咨询信息表;公告模块的通知公告表;举报模块的举报信息表。总而言之,这些表作为整个系统重中之重的数据存储模块,通过正确且合理地设计这些表的结构和具体内容可以更好地为用户提供高效的系统功能和优质的服务。

3.2.1 数据库概念结构设计

系统设计的ER图主要包括三个主要实体分别为:管理员、用户和学长学姐。管理员主要负责操作管理用户和学长学姐的信息,对考试科目信息表、学院专业信息表和学校信息表进行增加以及对于通知公告表和咨询信息表的更改。用户拥有用户信息,主要可以对自己的用户信息进行修改和举报学长学姐。学长学姐拥有用户信息的同时拥有学长学姐信息和学长学姐分数。系统总体的设计E-R图如图3-4所示。

 

 

3-4 系统总体E-R

3.2.2 数据库逻辑结构设计

针对考研信息管理系统的综合分析与发现,本系统涉及到多个模块的数据库和多张数据库表的设计实现,故本小节采取其中最具有代表意义的十四张表进行介绍说明。

用户表的字段信息如下表3-1所示。

3-1 用户

字段名

字段类型

字段长度

是否为空

主键

外键

说明

user_id

int

-

用户ID

user_name

varchar

255

用户名

u_password

varchar

255

密码

用户信息表的字段信息如下表3-2所示。

3-2 用户信息

字段名

字段类型

字段长度

是否为空

主键

外键

说明

user_id

int

-

用户ID

nickname

varchar

255

昵称

phone_num

varchar

255

密码

a_id

int

-

头像ID

学长学姐表的字段信息如下表3-3所示。

3-3 学长学姐信息

字段名

字段类型

字段长度

是否为空

主键

外键

说明

up_stu_id

int

-

学长学姐ID

u_id

int

-

用户ID

enrol_time

varchar

255

入学年份

true_name

varchar

255

真实姓名

cm_id

int

-

学院专业ID

学长学姐分数表的字段信息如下表3-4所示。

3-4 学长学姐分数

字段名

字段类型

字段长度

是否为空

主键

外键

说明

up_stu_id

int

-

学长学姐ID

total_scores

int

-

初试总分

politic_score

int

-

政治分

fl_score

int

-

外语分

sc_f_score

int

-

专业课一分

 3-4 学长学姐分数

字段名

字段类型

字段长度

是否为空

主键

外键

说明

sc_s_score

int

-

专业课二分

学长学姐信息表的字段信息如下表3-5所示。

3-5 学长学姐考研信息

字段名

字段类型

字段长度

是否为空

主键

外键

说明

up_stu_id

int

-

学长学姐ID

isclass

tinyint

1

可否辅导

is_pass_paper

tinyint

1

有否真题

is_others

tinyint

1

有否其他资料

remark

varchar

255

备注

picture1_url

varchar

255

审核照片链接

picture2_url

varchar

255

资料照片链接

头像表的字段信息如下表3-6所示。

3-6 头像

字段名

字段类型

字段长度

是否为空

主键

外键

说明

avatar_id

int

-

头像ID

avatar_url

varchar

255

头像链接

avatar_num

int

-

使用头像人数

管理员表的字段信息如下表3-7所示。

3-7 管理员

字段名

字段类型

字段长度

是否为空

主键

外键

说明

ad_id

int

-

管理员ID

ad_username

varchar

255

管理员用户名

ad_pass

varchar

255

密码

ad_name

varchar

255

管理员名

a_id

int

-

头像ID

ad_nickname

varchar

255

管理员昵称

地区省份表的字段信息如下表3-8所示。

3-8 地区省份

字段名

字段类型

字段长度

是否为空

主键

外键

说明

region_id

int

-

地区ID

province

varchar

255

省份名

college_num

int

-

院校数

学校信息表的字段信息如下表3-9所示。

3-9 学校信息

字段名

字段类型

字段长度

是否为空

主键

外键

说明

univ_id

int

-

学校ID

univ_code

int

-

学校代码

univ_name

varchar

255

学校名称

reg_id

int

-

地区ID

学院专业表的字段信息如下表3-10所示。

3-10 学院专业

字段名

字段类型

字段长度

是否为空

主键

外键

说明

colg_maj_id

int

-

学院专业ID

colg_name

varchar

255

学院名称

major_name

varchar

255

专业名称

major_type

int

-

专业类型

exam_sub_id

int

-

考试科目ID

univ_id

int

-

学校ID

考试科目表的字段信息如下表3-11所示。

3-11 考试科目

字段名

字段类型

字段长度

是否为空

主键

外键

说明

exam_sub_id

int

-

考试科目ID

political

int

-

政治

fl

int

-

外语

specialized_1

int

-

专业课一

specialized_2

varchar

255

专业课二

 3-11 考试科目

字段名

字段类型

字段长度

是否为空

主键

外键

说明

remark

text

65535

备注

资讯信息表的字段信息如下表3-12所示。

3-12 资讯信息

字段名

字段类型

字段长度

是否为空

主键

外键

说明

info_id

int

-

资讯ID

info_title

varchar

255

资讯标题

info_url

varchar

255

资讯链接

info_pic_url

varchar

255

资讯图片链接

info_type

int

-

资讯类型

info_date

varchar

255

资讯发布日期

info_source

varchar

255

资讯来源

is_carousel

tinyint

1

是否轮播

通知公告表的字段信息如下表3-13所示。

3-13 通知公告

字段名

字段类型

字段长度

是否为空

主键

外键

说明

anncmnt_id

int

-

公告ID

anncmnt_title

varchar

255

公告标题

anncmnt_location

tinyint

1

公告位置

content

varchar

255

公告内容

post_time

varchar

255

公告发布日期

举报信息表的字段信息如下表3-14所示。

3-14 举报信息

字段名

字段类型

字段长度

是否为空

主键

外键

说明

report_info_id

int

-

举报信息ID

report_id

int

-

举报人ID

reported_id

int

-

被举报人ID

report_cause

varchar

255

举报原因

 3-14 举报信息

字段名

字段类型

字段长度

是否为空

主键

外键

说明

report_time

varchar

255

举报日期

isoved

int

-

处理过程

results

varchar

255

处理结果

3.3 本章小结

在系统概要设计层面,提供了系统开发框架视图和系统功能模块图,详细叙述了系统数据库的概念模型设计以及数据库的逻辑结构设计,具备必要的稳健性和后续的可升级性,为后续的详细设计工作和编程奠定了基础。


第四章 系统详细设计与实现

考研信息管理系统的详细设计是基于需求分析、总体设计、数据库设计之上进一步在编码逻辑层面上研究的设计,本章节对于具体的功能进行拆解分析,具体功能包括客户端的浏览资讯、院校搜索、学长学姐认证功能和管理端的通知公告管理和举报管理,使用UML建模中的类图、时序图进行设计,给出了主要功能的实现过程和主要功能的界面截图。

4.1 浏览资讯模块的详细设计与实现

本小节主要绘制了浏览资讯模块的类图、时序图以及给出了系统界面截图,并对其做出相应的描述。

4.1.1 浏览资讯的类图与时序图

在浏览资讯模块中所关系到的所有类中,InformationController位于系统架构的控制层,主要负责接受来自视图层的资讯相关请求。它作为视图层和业务逻辑之间的桥梁,调用InformationSevice将任务分配给业务层。InformationSevice作为业务逻辑层的主要部分,它定义了浏览资讯模块的业务逻辑接口。当控制层收到请求后,会调用这个接口中的方法来执行相对应的业务操作。InformationservicelmplInformationSevice接口的具体类,它包含了浏览资讯模块业务逻辑的具体体现。这个类通过调用数据访问层的InformationMapper对象获取数据库内的数据,使用数据处理业务逻辑后返回处理结果。InformationMapper位于数据访问层,实现了BaseMapper接口,负责将数据库中的表映射为Java对象,以及执行对数据库的增加、删除、修改和查询等操作。BaseMapper是位于数据访问层中一个定义的基类,它为系统中的数据访问操作提供了一套基础、通用的方法,目的是为了减少系统的重复代码,并为所有数据的访问对象提供一个统一的操作集合。InfoListVoCarouselVo是业务层处理后向视图层提供的数据视图对象。它封装了视图层需要暂时的数据,使得界面能够根据这些数据进行渲染。QiNiuUtils作为Java应用程序中用来与七牛云存储服务进行交互的一个工具类,这个类封装了与七牛云存储相关的操作,便于上传和下载文件并且可以管理存储空间。具体的浏览资讯的类图如图4-1所示。

 

 

4-1 浏览资讯类图

在浏览资讯模块中,用户点击进入系统首页,前端界面Axios发送http请求,向后端请求轮播图资讯列表,资讯信息Controller可以接收到该请求,调用资讯信息Service中的listCarouses方法实现轮播图的逻辑,再调用MapperlistCarouses方法来操作数据库,最后依次返回到用户浏览资讯界面上。再次发送http请求,向后端请求普通资讯列表,资讯信息Controller接收到该请求后调用资讯信息Service中的listInfo方法实现资讯列表逻辑,再调用MapperlistInfoByTypePage方法对数据库进行操作。页面全部加载结束后,用户可以选择在当前界面点击资讯来查看资讯的详情界面,界面跳转到资讯详情页。具体的浏览资讯的时序图如图4-2所示。

 

 

4-2 浏览资讯时序图

4.1.2 浏览资讯的实现

浏览资讯的设计实现图如图4-3和图4-4所示。

 

 

4-3 浏览资讯的实现图

 

 

4-4 浏览资讯的实现图

4.2 院校搜索模块的详细设计与实现

本小节主要绘制了院校搜索模块的类图、时序图以及给出了系统界面截图,并对其做出相应的描述。

4.2.1 院校搜索的类图与时序图

在院校搜索模块所涉及到的所有类中,CollegesController是用于处理视图层中与院校相关的网络请求的控制器,其位于软件系统的控制器层,在院校搜索中,其使用selectColleges方法接收软件系统的前端接收来自用户的提交的条件筛选表单,并使用sollegesService对象调用Service层的selectListColleges方法查询符合条件的院校信息。CollegesService是院校业务类,处于业务逻辑层,负责定义院校业务处理的相关方法的规范以及负责被控制层调用,CollegesServiceImpl实现了CollegesService,负责进行院校业务的具体实现,其调用数据访问层的对象获取数据库中的数据,数据经过业务处理返回给控制层,CollegeMajorMapper处于数据访问层,负责对数据库中的表进行CUAD操作和被业务层调用,由于Java对象的属性命名规则和SQL表中的字段命名规则不同,Mapper能够在正确使用SQL语句获取数据的同时,使数据正确的映射到Java对象上,CollegeMajorProvinceExamSubjectUniversity是数据库对应表的对象映射,经过数据访问层处理,最后实现表能映射成Java对象供查询使用,Java对象映射成表供数据库增加、删除、修改使用。具体的院校搜索的类图如图4-5所示。

 

 

4-5 院校搜索类图

在院校搜索模块中,用户点击进入院校搜索界面后选择筛选信息,点击搜索按钮后,前端调用Axios发送Post请求,携带筛选信息的JSON对象向后端请求根据筛选要求筛选后的院校专业信息列表,院校信息Controller使用selectColleges方法接收到该请求,并接收筛选条件JSON对象,将其转换为Java对象供业务层使用,进而调用院校信息Service中的selectListCollege方法实现查询院校的逻辑,再调用CollegeMajorMapper中的selectListColleges方法来操作数据库,最后依次返回到院校搜索的前端界面上,可以供用户查看。具体的院校搜索时序图如图4-6所示。

 

 

4-6 院校搜索时序图

4.2.2 院校搜索的实现

院校搜索的实现图如图4-7、图4-8和图4-9所示。

 

 

4-7 院校搜索的实现图

 

 

4-8 院校搜索的实现图

 

 

4-9 院校搜索的实现图

4.3 浏览学长学姐模块的详细设计与实现

本小节主要绘制了浏览学长学姐模块的类图、时序图以及给出了系统界面截图,并对其做出相应的描述。

4.3.1 浏览学长学姐的类图与时序图

在浏览学长学姐模块中所涉及到的所有类中,UpStudentsController处理视图层中与学长学姐相关的网络请求的控制器,在浏览学长学姐的模块中它负责接收来自前端的http请求。UpStudentService定义了浏览学长学姐界面的业务逻辑接口,当控制器收到前端请求后,就能调用接口中的listUpStudent方法来实现学长学姐列表的展示。UpStudentsServicelmpl类通过调用数据访问层的UpStudentMapper对象检索数据库的学长学姐数据。UpStudentMapper处于数据库的上一层数据访问层,实现了BaseMapper基类从而对学长学姐数据实现查询操作。UpStudentDetaiVoUpStuListVo作为数据试图对象进而对界面的学长学姐数据进行渲染。具体的学长学姐认证的类图如图4-10所示。

 

 

4-10 浏览学长学姐的类图

在浏览学长学姐模块中,用户登录系统后点击进入学长学姐界面,前端发送http请求给后端,请求学长学姐信息列表。学长学姐信息UpStudentController接收到该请求,调用学长学姐信息UpStudentService中的listUpStudent方法实现学长学姐信息列表的底层逻辑。最后调用UpStudentMapper中的UpStudents方法对学长学姐数据库进行操作。等待页面全部加载结束后,用户可以点击当前页面任意一个学长学姐查看详情信息,用户点击后前端发送http请求请求该学长或学姐的详情信息,UpStudentController通过调用usDetail方法来实现展示学长学姐详情信息的逻辑。进而UpStudentService调用UpStudentMapper中的upStudentDetail方法来检索学长学姐数据库中的数据信息。最后获取到的数据依次返回到前端展示给用户。具体的浏览学长学姐的时序图如图4-11所示。

 

 

4-11 浏览学长学姐的时序图

4.3.2 浏览学长学姐的实现

浏览学长学姐的实现图如图4-12、图4-13所示。

 

 

4-12 浏览学长学姐初始界面的实现图

 

4-13 浏览学长学姐详情界面的实现图

4.4 学长学姐认证模块的详细设计与实现

本小节主要绘制了学长学姐认证模块的类图、时序图以及给出了系统界面截图,并对其做出相应的描述。

4.4.1 学长学姐认证的类图与时序图

在学长学姐认证模块的所有类中,UpStudentsController位于系统框架的最顶层,也就是控制层,该层直接与用户进行交互,负责接收来自前端页面的POST请求。UpStudentsController调用UpStudentService层的createApply创建学长学姐认证的申请。UpStudentService位于控制层下,作为系统的业务层,负责学长学姐认证的业务逻辑。它封装了系统的业务规则,进而通过调用UpStudentsServicelmpl中的createApply方法,实现对数据交互层的操作。在学长学姐认证的模块中,申请认证类的属性包括:申请认证ID、用户ID、申请时间、学院专业ID、真实姓名、初试总分、政治分、英语分、专业课一分、专业课二分、是否可以辅导、是否有真题、是否有除了真题外的其他资料、对学弟学妹说的备注、资料照片图和审核照片图。在该模块中这些类的属性代表了对象的状态,通过自定义基本的数据类型和包装类型来实现学长学姐认证模块的依赖注入和对象管理。具体的学长学姐认证的类图如图4-14所示。

 

 

4-14 学长学姐认证的类图

在学长学姐认证模块中,普通用户首先点击认证学长学姐按钮,系统跳转到学长学姐认证页面,进入界面后全部填写认证信息后点击提交,系统提示提交成功后前端发送创建认证信息的http请求。UpStudentsController使用apply方法接收到前端页面的请求,进而通过调用UpStudentServicecreateApply方法实现学长学姐认证部分的业务逻辑,最后调用UpStudentMapper层来对数据库进行操作。具体的学长学姐认证的时序图如图4-15所示。

  

4-15 学长学姐认证的时序图

4.4.2 学长学姐认证的实现

学长学姐认证的实现图如图4-16、如图4-17所示。

 

 

4-16 学长学姐认证的实现图

 

 

4-17 学长学姐认证的实现图

4.5 举报管理模块的详细设计与实现

本小节主要绘制了举报管理模块的类图、时序图以及给出了系统界面截图,并对其做出相应的描述。

4.5.1 举报管理的类图与时序图

举报管理的类图如图4-18所示。

 

 

4-18 举报管理的类图

举报管理的时序图如图4-19所示。

 

 

4-19 举报管理的时序图

4.5.2 举报管理的实现

举报管理的实现图如图4-204-21所示。

 

 

4-20 举报管理的实现图

 

 

4-21 举报管理的实现图

4.6 本章小结

在本章中,本文深入探讨了系统的客户端和管理端的详细架构主要功能,并辅以主要功能的类图、时序图和设计图进行阐述,详细描述了主要功能的底层逻辑和具体实现流程并展示了对应效果。

 

 

 


第五章 系统测试

软件测试是软件开发生命周期中的一个至关重要的环节,它确保了软件产品在交付给用户之前能够达到的预期的质量标准。在进行软件测试的过程中,能够识别并修正潜在的问题与瑕疵,这有助于增强软件的稳定性与效能。对于考研信息管理系统,软件测试显得尤为关键,因为它不仅仅关系到用户体验,还涉及到用户信息安全和数据保护等重要方面。

5.1 测试的目的和方法

5.1.1 测试目的

提高软件质量。通过测试可以发现程序中的错误和缺陷,从而分析和发现系统总体设计、数据库设计、详细设计、代码实现、架构等层面的问题。发现问题后可以对设计和代码质量持续改进,包括对代码结构、设计模式、编码工具和技术选型等。

确保软件安全性。验证系统中存储的敏感信息,如学长学姐的个人信息、考试成绩和资料等是否得到了适当的加密和保护。如果不对软件系统的安全性做出测试,上线后若出现信息泄露的安全事故,将会造成十分严重的后果。

降低软件开发成本。对于系统实施功能单元测试,确保每个功能的独立性和正确性,减少最后集成阶段可能出现的一系列问题。通过开发测试早期发现的问题,可以有效减少后期修改的成本和时间,从而提高软件系统的开发效率。

提升用户体验。在软件测试过程中,通过对于普通用户、学长学姐和系统管理员的用户角色扮演,深度模拟用户操作,确保系统界面交互友好,操作简单直观,并且符合用户日常使用软件系统的习惯。发布测试版本后可以邀请一部分用户进行内测,进而收集用户反馈信息,进一步优化用户与系统的交互流程,以便提高用户满意度。

5.1.2 测试方法

本章节选择考研信息管理系统的主要功能进行系统测试。测试的功能包括客户端的登录注册模块、个人信息管理模块、学长学姐信息模块和管理端的院校管理模块、资讯管理模块。

5.2 功能测试

5.2.1 登录注册模块功能测试

根据登录注册这一需求,对该功能模块需要输入的数据进行了分析,得到登录注册功能所需要的输入数据后对其进行等价类划分。如果输入的用户名和密码与数据库中说存储的数据项匹配,系统将显示登录成功并跳转主页。该部分程序的作用在于只有该系统的注册用户才能登录到系统进行访问,保证了系统的安全性。具体登录模块等价类划分表如表5-1所示。

5-1登录功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

用户名

输入正确的用户名

1

用户名为空

2

 

 

 

用户名不存在

3

密码

输入正确的密码

4

密码为空

5

 

 

 

密码错误

6

登录模块的测试用例表如表5-2所示。

5-2登录功能测试用例表

编号

输入数据

预期输出

覆盖

1

用户名:user1010密码:123456

提示用户名或密码错误

3

2

用户名: 密码:123456

提示用户名或密码错误

2

3

用户名:user1010密码:

提示用户名或密码错误

5

4

用户名:user1010密码:123

提示用户名或密码错误

4

5

用户名:user001 密码:123456

登录成功,跳转首页

1,4

注册模块的等价类划分表表如表5-3所示。

5-3注册功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

用户名

输入用户名

1

用户名为空

2

密码

输入密码

3

密码为空

4

确认密码

输入确认密码

5

确认密码为空

6

续表5-3注册功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

 

 

 

确认密码与密码不相同

7

注册模块的测试用例表如表5-4所示。

5-4注册功能测试用例表

编号

输入数据

预期输出

覆盖

1

用户名:user001密码:123456

确认密码:

提示用户名或密码为空

6

2

用户名:user001密码:

确认密码:123456

提示用户名或密码为空

4

3

用户名: 密码:123456

确认密码:123456

提示用户名或密码为空

2

4

用户名:user001密码:123456

确认密码:1234

提示两次输入密码不一致

7

5

用户名:user001密码:123456

确认密码:123456

注册成功

1,3,5

登录注册模块功能测试结果表如表5-5所示。

5-5登录注册模块功能测试结果表

编号

实际结果

预期输出

是否一致

1

登录成功,跳转首页

登录成功,跳转首页

2

提示用户名或密码错误

提示用户名或密码错误

3

提示用户名或密码为空

提示用户名或密码为空

4

提示两次输入密码不一致

提示两次输入密码不一致

5

注册成功

注册成功

5.2.2 个人信息管理模块功能测试

根据用户和学长学姐的个人信息管理这一需求,对该功能模块需要输入的数据进行了详细地分析,这部分需要输入的数据包括用户的昵称和电话号码。具体的个人信息管理模块等价类划分表如表5-6所示。

5-6个人信息管理功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

昵称

输入昵称

1

昵称为空

2

电话号码

输入合法的电话号码

3

输入格式错误的电话号码

4

 

 

 

电话号码为空

5

个人信息管理模块测试用例表如表5-7所示。

5-7个人信息管理功能测试用例表

编号

输入数据

预期输出

覆盖

1

昵称:xxx

昵称保存成功

1

2

昵称:

提示昵称为空

2

3

电话号码:13845658737

电话号码保存成功

3

4

电话号码:

提示电话号码为空

5

5

电话号码:138456587

提示电话号码格式错误

4

6

电话号码:1384zxz

提示电话号码格式错误

4

个人信息管理模块功能测试结果表如表5-8所示。

5-8登录注册模块功能测试结果表

编号

实际结果

预期输出

是否一致

1

昵称保存成功

昵称保存成功

2

电话号码保存成功

电话号码保存成功

3

提示电话号码为空

提示电话号码为空

4

提示电话号码格式错误

提示电话号码格式错误

5

提示电话号码格式错误

提示电话号码格式错误

6

电话号码保存成功

电话号码保存成功

5.2.3 学长学姐信息模块功能测试

根据修改学长学姐信息这一功能需求,需要输入一些关键信息以确保该功能模块可以正常运行以满足用户的需要。具体的学长学姐信息模块等价类划分表如表5-9所示。

5-9学长学姐信息功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

初试总分

输入正确的初试总分

1

输入格式错误的初试总分

2

 

 

 

初试总分为空

3

政治分

输入正确的政治分

4

输入格式错误的政治分

5

 

 

 

政治分为空

6

外语分

输入正确的外语分

7

输入格式错误的外语分

8

 

 

 

外语分为空

9

专业课一分

输入正确的专业课一分

10

输入格式错误的专业课一分

11

 

 

 

专业课一分为空

12

专业课二分

输入正确的专业课二分

13

输入格式错误的专业课二分

14

 

 

 

专业课二分为空

15

备注

输入备注

16

字数超过限制

17

 

 

 

备注为空

18

学长学姐信息模块功能测试用例表如表5-10所示。

5-10学长学姐信息模块功能测试用例表

编号

输入数据

预期输出

覆盖

1

初试总分:315

初试总分保存成功

1

2

初试总分:xx

提示表单数据格式错误

2

3

初试总分:

提示表单中存在空数据

3

4

政治分:70

政治分保存成功

4

5

政治分:xx

提示表单数据格式错误

5

6

政治分:

提示表单中存在空数据

6

7

外语分:65

外语分保存成功

7

8

外语分:xx

提示表单数据格式错误

8

9

外语分:

提示表单中存在空数据

9

10

专业课一分:110

专业课一分保存成功

10

11

专业课一分:xx

提示表单数据格式错误

11

续表5-10学长学姐信息模块功能测试用例表

编号

输入数据

预期输出

覆盖

12

专业课一分:

提示表单中存在空数据

12

13

专业课二分:120

专业课二分保存成功

13

14

专业课二分:xx

提示表单数据格式错误

14

15

专业课二分:

提示表单中存在空数据

15

16

输入格式正确、字数不超的备注

备注保存成功

16

17

输入字数超过限制的备注

提示备注字数超过限制

17

18

备注:

提示表单中存在空数据

18

学长学姐信息模块功能测试结果表如表5-11所示。

5-11学长学姐信息模块功能测试结果表

编号

实际结果

预期输出

是否一致

1

初试总分保存成功

初试总分保存成功

2

提示表单数据格式错误

提示表单数据格式错误

3

提示表单中存在空数据

提示表单中存在空数据

4

政治分保存成功

政治分保存成功

5

提示表单数据格式错误

提示表单数据格式错误

6

提示表单中存在空数据

提示表单中存在空数据

7

外语分保存成功

外语分保存成功

8

提示表单数据格式错误

提示表单数据格式错误

9

提示表单中存在空数据

提示表单中存在空数据

10

专业课一分保存成功

专业课一分保存成功

11

提示表单数据格式错误

提示表单数据格式错误

12

提示表单中存在空数据

提示表单中存在空数据

13

专业课二分保存成功

专业课二分保存成功

14

提示表单数据格式错误

提示表单数据格式错误

15

提示表单中存在空数据

提示表单中存在空数据

16

备注保存成功

备注保存成功

 

续表5-11学长学姐信息模块功能测试结果表

编号

实际结果

预期输出

是否一致

17

提示备注字数超过限制

提示表单中存在空数据

18

提示表单中存在空数据

备注保存成功

5.2.4 院校管理模块功能测试

为确保院校管理系统功能模块的正常运作并满足用户需求,对系统管理员必须输入必要的关键信息进行了分析,并划分了等价类。具体的院校管理模块等价类划分表如表5-12所示。

5-12院校管理模块功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

学校代码

输入正确的学校代码

1

输入格式不正确的学校代码

2

 

 

 

学校代码为空

3

学校名称

输入正确的学校名称

4

输入格式不正确的学校名称

5

 

 

 

学校名称为空

6

学院名称

输入正确的学院名称

7

输入格式不正确的学院名称

8

 

 

 

学院名称为空

9

院校管理模块功能测试用例表如表5-13所示。

5-13院校管理模块功能测试用例表

编号

输入数据

预期输出

覆盖

1

学校代码:10212

学校代码保存成功

1

2

学校代码:zz

提示表单数据格式错误

2

3

学校代码:

提示表单中存在空数据

3

4

学校名称:黑龙江大学

学校名称保存成功

4

5

学校名称:zz

提示表单数据格式错误

5

6

学校名称:

提示表单中存在空数据

6

7

学院名称:软件学院

学院名称保存成功

7

 

续表5-13院校管理模块功能测试用例表

编号

输入数据

预期输出

覆盖

8

学院名称:zz

提示表单数据格式错误

8

9

学院名称:

提示表单中存在空数据

9

院校管理模块功能测试结果表如表5-14所示。

5-14院校管理模块功能测试结果表

编号

实际结果

预期输出

是否一致

1

学校代码保存成功

学校代码保存成功

2

提示表单数据格式错误

提示表单数据格式错误

3

提示表单中存在空数据

提示表单中存在空数据

4

学校名称保存成功

学校名称保存成功

5

提示表单数据格式错误

提示表单数据格式错误

6

提示表单中存在空数据

提示表单中存在空数据

7

学院名称保存成功

学院名称保存成功

8

提示表单数据格式错误

提示表单数据格式错误

9

提示表单中存在空数据

提示表单中存在空数据

5.2.5 资讯管理模块功能测试

为保证资讯管理模块的高效运行并充分满足用户的各项需求,对系统管理员所需输入的基本信息进行了深入的分析,进而确定了等价类划分具体的资讯管理模块等价类划分表如表5-15所示。

5-15资讯管理模块功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

资讯题目

输入正确的资讯题目

1

输入格式不正确的资讯题目

2

 

 

 

资讯题目为空

3

资讯链接

输入正确的资讯链接

4

输入格式不正确的资讯链接

5

 

 

 

资讯链接为空

6

资讯图片链接

输入正确的资讯图片链接

7

输入格式不正确的资讯图片链接

8

续表5-15资讯管理模块功能测试等价类划分表

输入数据

有效的等价类

编号

无效的条件

编号

 

 

 

资讯图片链接为空

9

资讯来源

输入正确的资讯来源

10

输入格式不正确的资讯来源

11

 

 

 

资讯来源为空

12

资讯管理模块功能测试用例表如表5-16所示。

5-16院校管理模块功能测试用例表

编号

输入数据

预期输出

覆盖

1

资讯题目:如果二战?需要做什么?

资讯题目保存成功

1

2

资讯题目:zz

提示表单数据格式错误

2

3

资讯题目:

提示表单中存在空数据

3

4

资讯链接https://mp.weixin.qq.com/s

资讯链接保存成功

4

5

资讯链接123

提示表单数据格式错误

5

6

资讯链接

提示表单中存在空数据

6

7

咨询图片链接:https://mm.cn/_png

资讯图片保存成功

7

8

资讯图片链接:123

提示表单数据格式错误

8

9

资讯图片链接:

提示表单中存在空数据

9

10

资讯来源:考研信息助手

资讯来源保存成功

10

11

资讯来源:123

提示表单数据格式错误

11

12

资讯来源:

提示表单中存在空数据

12

5.3 本章小结

在本章中,本文详细阐述了对系统前端和后端核心功能的模块化测试过程。软件测试是确保产品质量和满足用户需求的关键步骤。它要求测试工程师遵循既定的程序、准则和策略,以识别并修复系统中的潜在问题和不足。这一过程至关重要,因为它能够提升软件的可信度、一致性和用户友好性,从而为终端用户提供卓越的解决方案和服务。

 


本文基于用户需求、系统设计和技术要求主要研究了专注于计算机软件考研学生的考研信息管理系统的设计与实现。本研究通过广泛调研和深入分析了国内外考研信息管理系统的现状,发现了目前考研信息管理系统中依然存在没有汇总优秀推文资讯、缺少以考研学生择校需求为中心的检索功能、多平台资源传播繁杂且分散等问题。由此需要开发一个全面、高效和一体化的考研信息管理系统解决这一系列问题。

在深入探讨和评价考研信息管理系统的设计和实现后,该系统的设计符合预定的目标,并通过初步测试证明了其可行性和有效性。总体来看,该系统能够解决计算机软件考研学生在备考和择校上的问题,提升备考效率,优化考生体验。同时本系统通过集成化的信息管理功能,能够高效地处理和维护学长学姐资料信息、成绩数据及相关教育资源。它具有用户友好的界面和简便的操作流程,使得考生能够轻松地获取院校专业信息、查询院校专业和举报学长学姐的不实信息或资料,从而提高考生的满意度。此外,在设计过程中,考虑了系统的未来发展和可能的需求变化,确保系统具备良好的适应性和扩展性,能够随着备考学生和学长学姐的需求的演进而进行升级和扩展。

虽然本系统已经实现了客户的一些基本需求,但是与运行完善、操作简洁和交互完好的系统相比较还是会有很多缺陷和不足,后续会考虑在管理端添加考生和学长学姐数据可视化功能,从而更好地监控网站的运行。

综上所述,考研信息管理系统的设计与实施,不仅提高了考生的备考效率,而且为学长学姐带来了显著的益处。针对系统未来的发展前景,我的想法是随着技术的不断进步和对用户需求的不断深入理解,该系统有望为考研信息管理领域带来更多创新和价值。

 

 


参考文献

[1]  郑武.普通高等院校考研热现象分析及方案建议——以内江师范学院化学化工学院为例[J].产业与科技论坛.2024,23(04):91-94.

[2]  宫颢韵,田浩然.走入考研循环:从有限理性视角看大学生考研决策行为[J].学位与研究生教育.2023,11(07):54-61.

[3]  吴琛.考研资讯移动端网站的研究与设计[D].南昌市:江西农业大学,2017.

[4]  黄海燕,冯静怡,古嘉欢,.考研信息共享微信小程序的研究与设计[J].科技与创新.2022,17(12):98-100+104.

[5]  李雅峰.具有智能推荐功能的考研服务系统[D].天津市:南开大学,2022.

[6]  李明,冯树栋,白宗文,.基于SpringBoot的成果需求匹配系统设计与实现[J].延安大学学报(自然科学版).2024,43(01):90-95.

[7]  孙铁强,刘俊,于洪健,.基于SpringBoot框架的在线监测和专家系统的研究[J].自动化应用.2024,65(04):15-16+19.

[8]  Xiao Z,Ali Y,Xin W,et al.Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis[J].International Journal of Information Technology and Web Engineering (IJITWE).2023,18(1):1-14.

[9]  李臻昊,杨永生.校园管理系统设计与实现[J].电脑编程技巧与维护.2024(01):85-88.

[10]  钱宝健,汪鹏,曹如权.基于Spring Boot的物流寄查系统设计与实现[J].电脑编程技巧与维护.2023(09):63-65+69.

[11]  LONG Y,CHEN X,XIE Y.A data-driven approach for recommending UI element layout[J].Science China(Information Sciences).2020,63(09):61-63.

[12]  王志文.Vue+Elementui+Echarts在项目管理平台中的应用[J].山西科技.2020,35(06):45-47.

[13]  王龙军,王晶,许靖唯.基于Spring BootVue.js的问卷模块在数字阅读推广系统中的设计与实现[J].内蒙古科技与经济.2023(18):115-118.

[14]  王璐,崔保磊,潘红霞,.基于Vue.js的在线设计开放平台研究与实现[J].信息技术与信息化.2019,5(11):168-170.

[15]  Freeman J .How to use async and await in JavaScript[J].InfoWorld.com,2023,9(2):14-16.

[16]  刘泓杰.基于Vue.js的视频营销创作平台的研究与设计[D].北京市:北京邮电大学,2024.

[17]  顾少伟,井波.Redis在软件项目中的应用[J].电脑编程技巧与维护.2023,7(11):16-19+32.

[18]  Shi*L,Qiao H,Yang C,et al.Research and Application of Distributed Cache Based on Redis[J].Journal of Software.2024,19(1):24-29.

[19]  Tkachenko V,Lukianiuk S.Analysis of the use of the Redis in the distributed order processing system in the restaurant network[J].Technology audit and production reserves.2021,5(2):39-43.

[20]  刘慧玲,谭定英,陈平平.基于SpringBootVue.js的大学生团队管理系统的设计[J].电脑编程技巧与维护.2024,6(03):120-122.

[21]  付磊,张益军.Redis开发与运维[M].北京:机械工业出版社,2017:10-53.

 


致谢

以现代之诗为结,终吾此段丰盈之行。诗云:

穿过雾气昭昭的田野

分不清哪里是蓝

哪里是绿

现在是凌晨的四点四十四分

我在每个不动声色的早晨醒来

干涸的喉咙会要了我的命

越快驶离这钢铁古城

越感觉到工业化的痕迹在层层剥离出我的心

激进的不知疲倦的将在前方停下

一轮弯月在云雾中垂望

又见赤色的轮廓从天边升起

时维三月,序属初春,作于哈尔滨到北京的火车上。

posted @ 2024-05-29 13:00  王回甘  阅读(748)  评论(2编辑  收藏  举报