基于Spring Boot、Vue.js与MySQL的奖学金申报系统设计与实现

基于Spring Boot、Vue.js与MySQL的奖学金申报系统设计与实现

技术说明:本文围绕高校奖学金申报与评奖管理系统进行Java Web开发复盘,重点整理Spring Boot后端架构、Vue.js前端交互、MySQL数据建模、成绩管理、奖金与奖项申请、审核流程、奖惩档案和系统测试等技术要点。内容用于校园信息管理、流程审核和前后端分离系统设计方法交流,不涉及商业推广或服务宣传。

摘 要

为满足高校的评奖评优的需求,本文设计并开发了一个基于Spring Boot的奖学金申报系统。该系统采用Spring Boot框架、MySQL数据库和Vue.js前端技术,主要简化和优化学生奖学金、奖项申请及评选过程。系统主要功能包括成绩信息管理、奖金信息发布、奖金申请、奖项信息发布、奖项申请、评选流程管理以及奖惩信息等模块。通过这些功能,学生可以轻松查看成绩、申请奖项和奖金,并且自己可以查看评选进度,确保信息的及时更新与透明化。

系统的设计思路是提高管理效率,减少人工干预,提升学生与教师和管理人员的互动体验。通过这一平台,学校可以更加便捷地进行评奖评优工作,学生可以方便地申请奖金奖项并及时查看申请状态。预计该系统可以提升学校奖学金申请管理的公平公正和高效性,同时为学生提供一个更加方便的评奖申请体验,促进学生之间的良性竞争和校园氛围的建设。

关键词:奖学金申报;MySQL数据库;Spring Boot;Vue.js

ABSTRACT

To meet the demands of colleges and universities for awarding prizes and honors, this paper designs and develops a scholarship application system based on Spring Boot. The system uses the Spring Boot framework, MySQL database and Vue.js front-end technology to simplify and optimize the application and selection process for student scholarships and awards. The main functions of the system include performance information management, bonus information release, bonus application, award information release, award application, selection process management, reward and punishment information and other modules. With these features, students can easily check their grades, apply for awards and bonuses, and check the progress of the judging process themselves, ensuring that the information is updated and transparent in a timely manner.The design idea of the system is to improve management efficiency, reduce manual intervention, and improve the interactive experience between students and teachers and administrators. Through this platform, the school can more conveniently carry out the award evaluation work, and students can easily apply for the bonus award and check the application status in time. It is expected that the system can improve the fairness, justice and efficiency of the school's scholarship application management, and at the same time provide students with a more convenient award application experience, and promote healthy competition among students and the construction of campus atmosphere.

Key words:scholarship application;MySQL;database;Spring Boot;Vue.js

第1章 绪论

1.1 研究背景

在现代教育管理中,学生评奖评优已经成为激励学生努力学习、全面发展的重要方式[1]。然而,随着学生数量的增加和评奖评优的种类繁多,传统的奖金奖项申请管理方式显得比较复杂。为了提高管理效率、确保评选过程的公平公正,为高校开发一个奖学金申报系统显得非常必要。

系统主要功能包括成绩信息管理、维护奖金信息、管理奖金申请、管理奖项申请、维护奖项信息、管理评奖评优、维护奖惩信息,整个审核流程是教师和管理员共同审核。成绩信息模块能够记录学生的学业成绩,可以作为评选过程中的重要依据;奖金信息模块详细展示出各类的奖金信息,和申请的条件要求;奖金申请模块展示学生申请的审核过程;查看奖项申请和奖项信息模块便于学生申请奖项并查看申请要求和身材过程,确保审核流程的公开透明;评奖评优模块负责对学生的各类表现进行综合评定,展示学生获得过的荣誉奖项;奖惩信息模块用于记录学生因表现优异或不当行为而获得的奖惩情况,确保奖惩的合理性和透明度[2]。

系统可以很大程度减少人工操作,提高评选效率,避免在评选过程中出现偏差和失误。同时也能为学生提供一个清晰的奖惩档案,促使学生在学习、个人综合素质等方面不断进步。

1.2 选题意义

开发奖学金申报系统的意义在于便利学生对奖金奖项信息的了解与申报,简化传统由人工申报时的烦琐手续,还可避免人工审核过程中的失误与遗漏。优化学校对学生成绩和奖惩信息的处理程序。以系统化的手段记录并更新学生的相关信息,可以有效地保证对每个学生的及时、准确的评定。

奖项申请和奖金申请的管理,能够让学生清楚地了解自己能申请的奖项种类及条件,避免因信息不对称导致的申请失误[3]。评奖评优环节则有助于学校根据学生的综合表现来做出合理的奖励决定,不仅仅是依据成绩,还能综合考虑学生的课外活动、品德表现等多方面因素。

系统还可以及时记录和查询奖惩信息,做到奖优罚劣的透明化,确保奖惩工作公正、公平。在此基础上,学校也可以根据系统数据进行分析,为后续的评奖评优工作提供数据支持,从而不断完善奖惩机制,激励学生积极进取,创造更加良好的学习氛围[4]。

1.3 研究内容

本论文一共分为七个章节,第一章首先介绍了现今高校奖学金申报和奖项申请的现状和问题,并介绍了项目的研究意义,然后阐明本项目的主要目标。第二章介绍到的相关技术,利用Java高级语言编写、Spring Boot框架搭建系统、采用MySQL数据库和Vue.js前端框架,并分别介绍了技术的特点和应用场景。第三章详细分析系统需求,不仅列出了系统要实现的各个功能,还考虑了系统性能、安全性等其他要求,确保方案可行。第四章是系统的功能设计,分为功能流程设计和数据库设计,展示了功能流程图和数据库表。第五章是系统实现,展示用户如何运用系统实现对应功能,第六章为系统测试,采用黑盒测试方法,验证系统功能能否按预期执行。第七章是对系统总结和展望。

第2章 系统技术

2.1 Java编程语言

Java是一门非常流行的编程语言,Java语言可以运行在不同系统上面,并且可实现跨平台运行,除此之外,Java还以稳定可靠著称,可以处理复杂的业务逻辑,就比如微信小程序,12306购票系统,在奖学金申报系统中,就是选择Java来开发后台,利用它的跨平台性和稳定性,来保证系统的稳定运行,对于后续的升级开发非常方便,使Java成为构建大规模企业应用、移动应用以及嵌入式系统的理想选择[5]。

Java拥有一个实用的标准库,处理数据的工具、网络通信的工具、开发界面的工具等,并且还拥有开发者社区,在社区中还海量的学习资料和各种教程大大提高开发效率。强大的社区支持意味开发者可以获得大量的开源库、框架和工具,这些资源可以显著加速开发进程并减少重复劳动[6]。例如,Spring、Hibernate是目前较为主流的框架,它们提供了一系列功能以支持Java开发,从数据库到网络通信,以及用户界面和复杂的体系结构构建,都可以借助这些框架更便捷地完成开发任务。此外,Java提供了垃圾收集机制,丰富的错误处理机制,其安全性以及稳定性,都保证了Java在个人项目开发与大规模企业级开发中都能够得到更好的表现。

2.2 Spring Boot框架

Spring Boot是开发Java应用的框架,主要解决复杂的配置过程,使其不必在为繁琐的配置而头疼,就是利用“开箱即用”特性,在其内部已经自动配置了项目开发需要用到的常见功能,例如对数据库连接、Web服务器、安全设置等等。开发者只需专注业务逻辑代码的编写,并且在修改代码的时候自动热更新,自动加载依赖,默认最优配置,可以让程序员用最少的配置快速搭建项目,直接把繁琐的技术细节隐藏起来,提高开发效率。

Spring Boot还支持微服务架构的实现,通过集成Spring Cloud,Spring Boot可以帮助开发者轻松构建和管理微服务应用程序,内置的服务负载均衡、断路器等功能,使微服务的开发和维护变得更加高效和稳定[7]。此外,此外还有Actuator组件可以让我们随时掌握系统的运行状况,可以随时查看CPU、内存的使用情况,监控接口的访问数量,查看数据库的连接状态,使得不仅让开发变快,还让系统能更容易维护和拓展,绝对是开发者的利器。

2.3 MySQL数据库

MySQL是一个特别好用的免费数据库,在本系统中就采用MySQL数据库,核心优势在于高效的数据管理和灵活的查询功能。MySQL使用结构化查询语言来管理数据,使用户能够创建、读取、更新和删除数据库中的信息,支持的ACID事务特性,确保了数据处理的准确性和可靠性[8]。通过索引和优化等技术,它支持处理大量数据,同时查询语言支持连接,排序和分组查询。

可扩展性、兼容性,MySQL能够适应小型应用到大中型企业的系统需求,MySQL支持跨平台使用,并且可以和多种编程语言做搭档,比如PHP、Java、Python等,其强大的兼容性和灵活性使开发人员可以根据自身需要进行定制化开发,也能便捷地将MySQL嵌入到系统中。多样化的管理工具和社区支持,用户可以轻松地实现对数据库进行配置、备份恢复和性能监控等管理,让数据库管理即简单又安全,保证数据的不会丢失,并且操作记录全程监控,还可以随着业务发展灵活扩展,和其他技术无缝配合。功能全面、安全可靠、随需应变等特点成为程序开发者首选。

2.4 Vue.js框架

Vue.js是一个流行的前端框架,专注于构建用户界面和单页应用程序,核心特性包括响应式数据绑定和组件化开发,使开发者可以以声明式的方式构建动态的用户界面[9]。在Vue中,数据的改变可以轻松地获得对应的视图更新,同时也可以方便地处理数据和视图的同步问题。组件可以看作是代码的可包装模块,组件自身可以维护自身状态和内部逻辑。

Vue.js的生态圈就像一个非常强大的百宝箱,提供丰富的工具,可以让发开者起送应对各种需求,实现页面无刷新跳转、路由守卫功能和集中管理全局数据等等,这些工具使构建大型应用程序变得更加高效。Vue.js的文档简洁易懂,学习曲线平缓,新手老手都能快速上手。凭借其优点,既可以支撑小型应用开发,又可以满足企业级的复杂需求,Vue.js的直观设计和强大功能,使它成为现代前端开发中不可或缺的工具[10]。

第3章 需求分析

3.1 系统目标

本系统将以搭建方便、快捷的学生奖学金申报管理系统,实现学校对奖金奖项评定和奖惩管理为主要目标。通过对成绩管理、奖金申请、奖项申请、评优评定及奖惩记录的整合,本系统主要解决学生的申请问题,提高评奖评优工作的透明度和公平性,方便学生查询自己的成绩和奖项,申请各种奖项和奖金,了解评奖评优标准和流程,便于学校在评奖评优工作中各项管理工作的开展。系统希望能为学校提供一个便捷的奖学金和奖项管理工具,同时提升学生的积极性和参与感,进一步营造公平、公正的校园环境[11]。

3.2 系统可行性分析

3.2.1 技术可行性

本系统基于Spring Boot框架和MySQL数据库实现,技术方案上可行,环境选择上考虑了IntelliJ IDEA开发环境。Spring Boot框架简化了开发流程,提供了强大的支持,能够快速构建和部署应用,MySQL数据库能够稳定地处理和存储系统中的各类数据,确保数据的安全性和高效性[12]。IntelliJ IDEA开发环境为开发者提供了完善的工具,提升了开发效率,减少了调试过程中的难度。总体来看,所选技术能够有效支撑系统的基本功能,并具备良好的扩展性和维护性,为后期的优化和功能增加提供了便利。

3.2.2 经济可行性

奖学金申报系统在经济上的可行性较高。采用的Spring Boot和MySQL等开源技术大大降低了初期的开发成本,无需额外支付高额的许可费用。系统的维护和更新可以通过学校现有的资源来完成,节省了长期的运营费用。同时,系统的功能集中于校园内部的奖学金申请、评优等管理工作,避免了外部市场推广的高昂费用,基本可以通过校内推广和使用来实现运营[13]。减少了系统运营的外部市场推广成本,基本可以实现校内推广使用。通过科学合理的系统设计与优化,后期长期运营投入较少,能够带来较好的经济效益。

3.2.3 操作可行性

系统的操作可行性较高,Spring Boot和MySQL的技术选型确保了系统稳定、高效地运行。平台的设计简单直观,操作界面清晰,用户可以快速上手,尤其是学生和教师能够轻松完成成绩查询、奖项申请等常规操作。管理员在系统管理和奖项审核方面也能够高效完成任务[14]。MySQL数据库可以高效处理大量数据,保证信息的准确存储和及时更新,系统在数据传输和处理方面的稳定性较强。整体来看,系统设计和操作流程符合校园需求,具备良好的使用体验和操作便捷性[15]。

3.3 功能需求分析

模块化的设计,使其功能的扩展与维护变得更加灵活。用户可根据自己的需要随时查看和操作不同的模块,保证功能不断获得更新以确保信息的及时性。互动的、直观的用户界面也使操作变得更加便捷,用户可以找到自己需要的功能,满足了用户的多样化需求。根据用户角色不同,他们的权限各不相同,分为三个用户角色:管理员、教师和学生。

管理员用例图如图3.1所示。

图1

图3.1 管理员用例图

教师用例图如图3.2所示。

图2

图3.2 教师用例图

学生用例图如图3.3所示。

图3

图3.3 学生用例图

3.4 非功能需求分析

(1)性能稳定性:该系统具有对数据的高效处理能力,确保了在多用户并发情况下依然流畅运行,避免出现延迟和系统崩溃问题。

(2)安全性:通过技术手段和管理方式,对用户信息进行严密的保护,保证用户信息的安全性和完整性。

(3)用户友好性:采用极简设计理念,使用户无需引导就可以完成对应操作,可以让用户在最短时间内熟悉使用本系统。

(4)兼容性:为保证用户的需求,该系统可以在不同浏览器进行访问,确保在各种平台上均能正常运行。

第4章 系统功能设计

4.1 功能模块设计

功能模块将系统划分成为多个相互独立但是具有特定功能的模块,使得系统可以灵活便捷的进行维护和拓展,每个模块承载着一个特定的功能,系统功能模块划分明确,有助于系统开发效率的提高以及故障排查的便捷性。系统功能模块如图4.1所示。

图4

图4.1 功能模块图

4.2 功能流程设计

功能流程设计是用图示化的方法展现系统各功能模块之间的相互关系和操作步骤,具有直观形象、一目了然的特点,并且每个功能点的操作流程都被详细标记,便于用户进行操作。

4.2.1 登录流程

用户进入登录页面后,用户在指定位置填写自己的账号和密码,系统会自动进行信息验证,验证通过会进入系统主页面,若验证失败则显示错误信息,并重新填写。功能流程图如图4.2所示。

图5

图4.2 登录流程图

4.2.2 奖学金管理流程

管理员进入奖学金管理页面后,可以进行数据新增、数据删除、数据修改、条件查询操作。功能流程图如图4.3所示。

图6

图4.3 奖学金管理流程图

4.2.3 奖项管理流程

管理员进入奖项管理页面后,可以进行数据新增、数据删除、数据修改、条件查询操作。功能流程图如图4.4所示。

图7

图4.4 奖项管理流程图

4.2.4 学生申请奖学金

学生可在奖学金信息页面提交奖学金申请。功能流程图如图4.5所示。

图8

图4.5 学生申请奖学金流程图

4.2.5 学生申请奖项

学生可在奖项信息页面提交奖项申请。功能流程图如图4.6所示。

图9

图4.6 学生申请奖项流程图

4.2.6 审核奖学金申请

在奖学金申请管理页面,教师和管理员可对学生提交的奖学金申请进行审核。功能流程图如图4.7所示。

图10

图4.7 审核奖学金申请流程图

4.2.7 审核奖项申请

在奖项申请管理页面,教师和管理员可对学生提交的奖项申请进行审核。功能流程图如图4.8所示。

图11

图4.8 审核奖项申请流程图

4.2.8 教师添加学生成绩

教师可依据所授科目录入学生成绩。功能流程图成绩如图4.9所示

图12

图4.9 教师添加学生流程图

4.3 数据库设计

4.3.1 概念模型设计

概念模型设计可以直观地展示出系统中的数据实体和关系,通过建立系统的E-R图,概念模型设计可以使得系统中的数据结构和系统逻辑更加清晰,E-R图的可视化表示可以确保系统需求的一致性和系统的一致性。系统全局E-R图如图4.10所示。

图13

图4.10 系统全局E-R图

4.3.2 逻辑结构设计

通过逻辑结构设计,以数据模型和表结构的方式合理规划、组织系统的数据,在系统中每个数据表根据实际设计,明确数据表的相互关系,确定数据表中的数据流动,这既可以保证数据取出或查询的方便快捷,也可以保证数据的的一致性与完整性,逻辑结构的设计明确清晰的规定了数据表的划分,便于后续对数据表进行维护和查找。

(1)评奖评优表

表4.11 评奖评优表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
jiangxiangmingchengvarchar50奖项名称

表4.11 评奖评优表(续)

字段名称类型长度字段说明
jiangxiangleixingvarchar30奖项类型
adminidbigint管理员id,外键
gonghaovarchar200工号
jiaoshixingmingvarchar200教师姓名
pingjiashuominglongtext100评价说明
pingjiashijiandatetime评价时间
xuehaovarchar200学号
xingmingvarchar200姓名
zhuanyevarchar200专业
banjivarchar200班级

(2)学院表

表4.12 学院表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
xueyuanvarchar20学院

(3)奖项信息表

表4.13 奖项信息表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
adminidbigint管理员id,外键
jiangxiangmingchengvarchar50奖项名称
jiangxiangleixingvarchar30奖项类型

表4.13 奖项信息表(续)

字段名称类型长度字段说明
fujianlongtext附件
jiangxiangshuominglongtext奖项说明
shenqingtiaojianlongtext申请条件
fabushijiandatetime发布时间

(4)奖项申请表

表4.14 奖项申请表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
jiangxiangmingchengvarchar50奖项名称
jiangxiangleixingvarchar30奖项类型
jiaoshiidbigint教师id,外键
gonghaovarchar15工号
jiaoshixingmingvarchar20教师姓名
shenqingbiaolongtext申请表
shenqingliyoulongtext申请理由
shenqingshijiandatetime申请时间
xueshengidbigint学生id,外键
xuehaovarchar10学号
xingmingvarchar20姓名
zhuanyevarchar30专业
banjivarchar20班级
shoujivarchar11手机
sfshvarchar50教师审核
shhflongtext教师审核回复
adminidbigint管理员id,外键

表4.14 奖项申请表(续)

字段名称类型长度字段说明
sfshonevarchar50管理员审核
shhfonelongtext管理员审核回复

(5)奖金信息表

表4.15 奖金信息表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
jiangjinmingchengvarchar50奖金名称
jiangjinleixingvarchar30奖金类型
adminidbigint管理员id,外键
jiangjinjineint奖金金额
fujianlongtext附件
shenqingxuzhilongtext申请须知
fabushijiandatetime发布时间

(6)奖金申请表

表4.16 奖金申请表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
jiangjinmingchengvarchar50奖金名称
jiangjinleixingvarchar30奖金类型
jiaoshiidbigint教师id,外键
gonghaovarchar15工号
jiaoshixingmingvarchar20教师姓名

表4.16 奖金申请表(续)

字段名称类型长度字段说明
jiangjinjineint奖金金额
shenqingliyoulongtext申请理由
shenqingwenjianlongtext申请文件
shenqingshijiandatetime申请时间
xueshengidbigint学生id,外键
xuehaovarchar15学号
xingmingvarchar20姓名
xueyuanvarchar20学院
banjivarchar20班级
shoujivarchar11手机
sfshvarchar50教师审核
shhflongtext教师审核回复
adminidbigint管理员id,外键
sfshonevarchar50管理员审核
shhfonelongtext管理员审核回复

(7)学生表

表4.17 学生表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
xuehaovarchar15学号
mimavarchar15密码
xingmingvarchar20姓名
xingbievarchar10性别
xueyuanidbigint学院id,外键

表4.17 学生表(续)

字段名称类型长度字段说明
xueyuanvarchar20学院
zhuanyeidbigint专业id,外键
zhuanyevarchar30专业
banjivarchar20班级
shoujivarchar11手机
statusint状态

(8)教师表

表4.18 教师表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
gonghaovarchar15工号
mimavarchar15密码
jiaoshixingmingvarchar20教师姓名
xingbievarchar10性别
xueyuanidbigint学院id,外键
xueyuanvarchar20学院
banjivarchar20班级
youxiangvarchar30邮箱
shoujivarchar11电话
statusint状态

通知公告表

表4.19 通知公告表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
biaotivarchar20标题
leixingvarchar20类型
tupianlongtext图片
gonggaoneironglongtext公告内容
fabushijiandatetime发布时间

(10)奖惩信息表

表4.20 奖惩信息表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
jiangchengmingchengvarchar100奖惩名称
jiangchengleixingvarchar50奖惩类型
adminidbigint管理员id,外键
Xueshengidbigint学生id,外键
xuehaovarchar15学号
xingmingvarchar20姓名
xueyuanvarchar20学院
banjivarchar20班级
jiangchengneironglongtext奖惩内容
jiangchengriqi奖惩日期
jiaoshiidbigint教师id,外键
gonghaovarchar15工号
jiaoshixingmingvarchar20教师姓名

(11)专业表

表4.21 专业表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
zhuanyevarchar30专业

(12)成绩表

表4.22 成绩表

字段名称类型长度字段说明
idbigint主键
addtimetimestamp创建时间
jiaoshiidbigint教师id,外键
kechengmingchengvarchar30课程名称
xueshengidbigint学生id,外键
xuehaovarchar15学号
xingmingvarchar20姓名
xueyuanvarchar20学院
banjivarchar20班级
fenshuint分数
chengjivarchar10成绩
gonghaovarchar15工号
jiaoshixingmingvarchar20教师名称

(13)管理员表

表4.23 管理员表

字段名称类型长度字段说明
idbigint主键

表4.23 管理员表(续)

字段名称类型长度字段说明
usernamevarchar15账号
passwordvarchar15密码
imagevarchar100头像
rolevarchar10角色
addtimetimestamp新增时间

第5章 系统实现

5.1 登录

用户登录时,先选自己是学生、老师还是管理员,再输入账号密码。这些信息会传到 Spring Boot 写的后台程序里,程序会比对数据库里存的账号密码。要是都对得上,登陆成功。要是账号密码不对,就会提示登录失败。登录界面如图5.1所示。

图14

图5.1 登录界面

部分代码如下:

public R login(String username, String password, String captcha, HttpServletRequest request) {

UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));

if(user==null ||!user.getPassword().equals(password)) {

return R.error("账号或密码不正确");

}

String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());

return R.ok().put("token", token);

}

5.2 学生管理

在搜索框里输入学号、姓名等信息,系统会马上找出对应的学生。点进学生的页面,可以看到学生详细资料。如果发现学生的学院、专业填错了,或者联系方式变了,直接点击修改按钮,就能更新这些信息。确保数据准确,学校新招了学生,或者转来了新生,管理员可以随时添加他们的信息。填好学号、姓名、学院、专业等基本资料,系统就会把这些学生纳入管理,保证系统里的学生数据完整全面。如果有学生毕业了、退学了,他们的信息就不需要留在系统里了。管理员可以把这些学生的信息删掉,保证系统内数据尽量简洁和规范。学生管理界面如图5.2所示。

图15

图5.2 学生管理界面

部分代码如下:

public R save(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){

if(xueshengService.selectCount(new EntityWrapper<XueshengEntity>().eq("xuehao", xuesheng.getXuehao()))>0) {

return R.error("学号已存在");

}

xuesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());

//ValidatorUtils.validateEntity(xuesheng);

XueshengEntity u = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", xuesheng.getXuehao()));

if(u!=null) {

return R.error("用户已存在");

}

xuesheng.setId(new Date().getTime());

xueshengService.insert(xuesheng);

return R.ok();

}

5.3 成绩信息管理

图16

图5.3 成绩信息管理界面

部分代码如下:

public R save(@RequestBody ChengjixinxiEntity chengjixinxi, HttpServletRequest request){

//ValidatorUtils.validateEntity(chengjixinxi);

chengjixinxiService.insert(chengjixinxi);

return R.ok();}

public R add(@RequestBody ChengjixinxiEntity chengjixinxi, HttpServletRequest request){

//ValidatorUtils.validateEntity(chengjixinxi);

chengjixinxiService.insert(chengjixinxi);

return R.ok();

}

5.4 学生提交奖金申请

学生在提交奖金申请时,可以首先通过输入奖金名称或奖金类型进行查询,可快速找到自己符合的奖金。查询出自己符合条件的奖金后,学生可查看该奖金的奖金申请条件和评选标准等信息。若符合该奖金申请条件,则点击申请按钮,进入奖项申请页面,学生填写自己的个人信息,上传个人相关证明材料,如个人成绩单、个人表现等材料,提交后,等待审核。提交成功后,可显示学生申请的状态,学生可随时查看自己申请的奖金进度,已审核通过的和需要补充提交材料的申请信息。奖金申请展示界面如图5.4和5.5所示。

图17

图5.4 学生提交奖金申请界面

图18

图5.5 学生查看申请状态界面

部分代码如下:

@RequestMapping("/save")

public R save(@RequestBody JiangjinshenqingEntity jiangjinshenqing, HttpServletRequest request){

//ValidatorUtils.validateEntity(jiangjinshenqing);

jiangjinshenqingService.insert(jiangjinshenqing);

return R.ok();

}

@RequestMapping("/add")

public R add(@RequestBody JiangjinshenqingEntity jiangjinshenqing, HttpServletRequest request)

{

//ValidatorUtils.validateEntity(jiangjinshenqing);

jiangjinshenqingService.insert(jiangjinshenqing);

return R.ok();

}

5.5 学生提交奖项申请

当学生完成奖项申请时,可根据输入的奖项名称以及奖项类型查询自己符合条件的奖项。输入完成后,会展示该奖项的申报信息,包括奖项申请条件、获奖评选标准等,确认符合条件后,可以点击申请按钮,进入奖项申请界面,填写个人基本信息以及其他必要证明材料,如成绩单、个人表现等,提交申请。提交后,可以查看自己的申请情况,如是否审核通过以及需要补充申请的材料等。奖项申请展示如图5.6和5.7所示。

图19

图5.6 学生提交奖项申请界面

图20

图5.7 学生查看申请状态界面

部分代码如下:

@RequestMapping("/save")

public R save(@RequestBody JiangxiangshenqingEntity jiangxiangshenqing, HttpServletRequest request){

//ValidatorUtils.validateEntity(jiangxiangshenqing);

jiangxiangshenqingService.insert(jiangxiangshenqing);

return R.ok();

}

@RequestMapping("/add")

public R add(@RequestBody JiangxiangshenqingEntity jiangxiangshenqing, HttpServletRequest request){

//ValidatorUtils.validateEntity(jiangxiangshenqing);

jiangxiangshenqingService.insert(jiangxiangshenqing);

return R.ok();

}

5.6 奖金申请管理

在奖金申请管理功能中,管理员可以通过输入奖金名称、奖金类型、学号或者姓名或来查询相关的奖金申请信息。查询结果显示后,管理员可以查看到学生的申请详情,了解申请的奖金等级、学生的相关材料和申请理由。首先教师审核学生的申请,然后管理员审核申请,确认是否符合规定,管理员决定最后是否批准。若申请信息存在问题或不符合条件,教师和管理员拒绝学生的申请。奖金申请管理界面如图5.8和5.9所示。

图21

图5.8 教师审核奖金申请界面

图22

图5.9 管理员审核奖金申请界面

部分代码如下:

public R update(@RequestBody Long[] ids, @RequestParam String sfsh, @RequestParam String shhf){

List<JiangjinshenqingEntity> list = new ArrayList<JiangjinshenqingEntity>();

for(Long id: ids) {

JiangjinshenqingEntity jiangjinshenqing = jiangjinshenqingService.selectById(id);

jiangjinshenqing.setSfsh(sfsh);

jiangjinshenqing.setShhf(shhf);

list.add(jiangjinshenqing);}

jiangjinshenqingService.updateBatchById(list);

return R.ok();}

@RequestMapping("/shBatchs")

@Transactional

public R updates(@RequestBody Long[] ids, @RequestParam String sfshone, @RequestParam String shhfone){

List<JiangjinshenqingEntity> list = new ArrayList<JiangjinshenqingEntity>();

for(Long id: ids) {

JiangjinshenqingEntity jiangjinshenqing = jiangjinshenqingService.selectById(id);

jiangjinshenqing.setSfshone(sfshone);

jiangjinshenqing.setShhfone(shhfone);

list.add(jiangjinshenqing);}

jiangjinshenqingService.updateBatchById(list);

return R.ok();}

5.7 奖项申请管理

在奖项申请管理功能中,管理员可以通过输入奖项名称、奖项类型、学号、姓名或者申请状态来查询相关的奖项申请信息。查询结果显示后,管理员能点开每个学生的奖学金申请页面,查看申请里的所有资料,了解学生申请的情况。首先教师审核学生的申请,然后管理员审核申请,确认是否符合规定,管理员决定是否批准。若申请信息存在问题或不符合条件,教师和管理员可以拒绝不合格的申请。奖项申请管理界面如图5.10和5.11所示。

图23

图5.10 教师审核奖项申请界面

图24

图5.11 管理员审核奖项申请界面

部分代码如下:

public R update(@RequestBody Long[] ids, @RequestParam String sfsh, @RequestParam String shhf){

List<JiangxiangshenqingEntity> list = new ArrayList<JiangxiangshenqingEntity>();

for(Long id: ids) {

JiangxiangshenqingEntity jiangxiangshenqing = jiangxiangshenqingService.selectById(id);

jiangxiangshenqing.setSfsh(sfsh);

jiangxiangshenqing.setShhf(shhf);

list.add(jiangxiangshenqing);

}

jiangxiangshenqingService.updateBatchById(list);

return R.ok();

}

public R updates(@RequestBody Long[] ids, @RequestParam String sfshone, @RequestParam String shhfone){

List<JiangxiangshenqingEntity> list = new ArrayList<JiangxiangshenqingEntity>();

for(Long id: ids) {

JiangxiangshenqingEntity jiangxiangshenqing = jiangxiangshenqingService.selectById(id);

jiangxiangshenqing.setSfshone(sfshone);

jiangxiangshenqing.setShhfone(shhfone);

list.add(jiangxiangshenqing);

}

jiangxiangshenqingService.updateBatchById(list);

return R.ok();}

5.8 评奖评优展示

评奖评优是展示学生奖项成果,当学生申请奖项管理员和教师都审核通过之后,管理员可以点击评优评奖功能,将信息展示在评优评奖中。学生评奖评优展示界面如图5.12所示。

图25

图5.12 学生评奖评优展示界面

部分代码如下:

public R page(@RequestParam Map<String, Object> params,PingjiangpingyouEntity pingjiangpingyou,

HttpServletRequest request)

{

String tableName = request.getSession().getAttribute("tableName").toString();

if(tableName.equals("jiaoshi"))

{

pingjiangpingyou.setGonghao((String)request.getSession().getAttribute("username"));

}

if(tableName.equals("xuesheng"))

{

pingjiangpingyou.setXuehao((String)request.getSession().getAttribute("username"));

}

EntityWrapper<PingjiangpingyouEntity> ew = new EntityWrapper<PingjiangpingyouEntity>();

PageUtils page = pingjiangpingyouService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, pingjiangpingyou), params), params));

return R.ok().put("data", page);

}

5.9 奖惩信息展示

奖惩信息展示是展示学生奖金信息和违纪信息,当学生的奖金申请通过后,管理员可以把奖励信息展示在奖惩信息之中。并且,如果有学生违反校规校纪,管理员和教师可以添加惩罚信息展示在奖惩信息之中,学生奖惩信息展示如图5.13所示。

图5.13 学生奖惩信息界面

图26

部分代码如下:

public R page(@RequestParam Map<String, Object> params,JiangchengxinxiEntity jiangchengxinxi,

HttpServletRequest request){

String tableName = request.getSession().getAttribute("tableName").toString();

if(tableName.equals("xuesheng")) {

jiangchengxinxi.setXuehao((String)request.getSession().getAttribute("username"));

}

if(tableName.equals("jiaoshi")) {

jiangchengxinxi.setGonghao((String)request.getSession().getAttribute("username"));

}

EntityWrapper<JiangchengxinxiEntity> ew = new EntityWrapper<JiangchengxinxiEntity>();

PageUtils page = jiangchengxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiangchengxinxi), params), params));

return R.ok().put("data", page);

}

第6章 系统测试

6.1 测试环境

(1)硬件

处理器:CORE i5

内存:16G

硬盘:512G

(2)软件

操作系统:Win10

浏览器:Edge

测试环境:Idea 2021.1.2

Vue2

MySQL 5.1

6.2 测试方法

功能测试主要采用黑盒测试方法,验证系统各功能模块是否按预期运行,黑盒测试不关注内部代码实现,而是从用户的角度出发,基于功能需求和设计文档进行测试[11]。在测试过程中,将针对正常操作和边界条件进行覆盖,在不同情况下保证系统的稳定性。黑盒测试能快速发现功能实现的问题,例如界面显示错误、功能失效等,进行及时修正,对系统质量和用户满意度都有所帮助。

6.3 测试用例

为系统正常执行功能设计了完备的测试用例,针对登录模块、用户管理模块、上传申请材料模块,模拟系统用户登录,执行功能测试。根据系统功能预期,设计不同的条件或边界,对系统执行过程进行测试。

6.3.1 登录测试

表6.1 登录测试用例表

测试用例ID测试内容输入数据预期结果实际结果
001登录功能 - 正确凭证用户名:2305222121密码:2305222121登录成功登录成功
002登录功能 - 错误密码用户名:23052221
密码:2305222a
系统提示“用户名或密码错误”,用户无法登录。系统提示“用户名或密码错误”,用户无法登录。
003登录功能 - 用户不存在用户名:abcd
密码:abcd
系统提示“用户名不存在”,不允许登录。系统提示“用户名不存在”,不允许登录。
6.3.2 学生管理测试

表6.2 学生管理测试用例表

测试用例ID测试内容输入数据预期结果实际结果
001查看学生信息 - 合法学生学生ID:2305222121包括学生名、邮箱、等学生信息正确无误地显示在页面上。包括学生名、邮箱、等学生信息正确无误地显示在页面上。
002修改学生信息 - 更新成功学生ID:2305222121学生名:小李
新邮箱:1541278444@qq.com
学生信息修改成功,弹出提示“修改成功”,学生名和邮箱在系统中更新。学生信息修改成功,弹出提示“修改成功”,学生名和邮箱在系统中更新。
003修改学生信息 - 更新失败学生ID:2305222101学生名:小何
新邮箱:444@qq.com
学生信息修改失败,提示“修改失败”邮箱格式不对。学生信息修改失败,提示“修改失败”邮箱格式不对。
004删除学生 - 删除成功学生ID:230522121学生被成功删除,系统弹出提示“删除成功”学生被成功删除,系统弹出提示“删除成功”
005删除学生 - 删除失败学生ID:230522aaa查询不到学生,学生删除失败。查询不到学生,学生删除失败。
6.3.3 学生申请测试

表6.3 学生申请测试用例表

测试用例ID测试内容输入数据预期结果实际结果
001学生上传奖金申请表学生在奖金申请流程章上传奖金申请表上传成功上传成功
002学生上传空的传奖金申请表学生在奖金申请流程章上传一个空申请表上传失败上传失败
003学生上传奖项申请表学生在奖项申请流程章上传奖项申请表上传成功上传成功
004学生上传空的传奖项申请表学生在奖金申请流程章上传一个空申请表上传失败上传失败

6.4 测试结论

最后,进行了功能测试,验证系统主要功能,如登录,学生管理,上传申请材料都能按照设计要求成功执行。测试结果显示,登录功能包括合法输入和非法输入都能得到相应的提示和操作,学生管理功能学生信息查看、修改、删除也能都按照设计要求得以实现,上传申请材料能提示学生上传申请表是否为空等。系统功能基本稳定,用户操作体验较好。下一步将结合测试中发现的问题进行系统完善,进一步提高系统质量和用户使用满意度。

第7章 总结与展望

7.1 总结

对基于Spring Boot的奖学金申报系统的设计与实现进行了细致的分析,系统从背景与目标、功能模块(学生评奖评优的过程)、重要性方面详细进行了阐述,传统评奖方式的局限性日益彰显,信息化管理方式是提高评选效率与公平性重要的手段,系统各个功能模块成绩管理、奖项申请、奖金申请、奖金信息、评奖评优,将简化管理流程、提高工作效率、提高学生参与度与满意度。系统的技术架构是Spring Boot配合MySQL数据库,保证了稳定性与可扩展性,系统的功能与性能有强大的技术保障,通过系统功能与性能分析,系统在实现现代化的评奖评优管理中的潜力、实现更加开放的工作透明度、保证数据的安全性等优点,在今后的系统发展中,将会完善更多智能管理与数据分析功能,提高用户体验,优化评选过程。

7.2 展望

随着科学技术的进一步发展,未来奖学金申报系统会更加智能,能够自动分析学生成绩、个人表现等信息,使评选过程更加高效公正。未来系统还可以实现手机端使用,实现跨平台使用,让学生无论何时何地都可以进行奖金奖项申请和评选流程。后续,针对不断增加的用户量,系统安全和稳定性将成为未来主要发展方向,可以通过引入更加先进的密钥技术和分布式存储技术,保证学生个人信息及成绩数据等的数据安全。随着注册用户数量的增加,系统将从一个简单的奖学金管理平台转变为一个综合性学生评奖评优及奖惩管理平台,辅助学校实现更加高效、公平的奖金奖项评选工作。

参考文献

王瑾,吕太之.基于Spring Boot+ Vue的学生评奖评优系统的设计与实现[J].电脑与电信,2021,1(10):52-55.

范许哲,李鹏.高校大学生评奖评优工作改进方法探析[J].广西教育学院学报,2021,1(03):197-201.

张慧敏,王棋.基于AHP和SSM框架在开发高校评奖评优系统应用[J].通讯世界,2020,27(04):200-201.

刘洋,高瑜.沟通理论在体育类高职院校辅导员评奖评优工作中的应用研究——辅导员工作案例分析[J].现代商贸工业,2024,45(16):84-86.

周亮.计算机软件开发中Java编程语言的应用研究[J].科技资讯,2024,22(13):39-41.

陶静.OOP的封装性在Java中的试验研究[J].信息与电脑(理论版),2024,36(02):115-118.

李程,胡五音.Java编程语言在计算机软件开发中的应用[J].电子技术,2024,53(03):66-67.

韩国华,张正宜.探索Java中的SQL攻击及其防御策略[J].网络安全技术与应用,2024,1(07):63-65.

韩小龙,司珍,吕晓峰,等.基于面向对象编程的Java语言程序设计方法分析[J].集成电路应用,2024,41(01):228-229.

张云英,王高奇,董士林.分布式系统中Java后端开发技术及其应用实践[J].信息与电脑(理论版),2024,36(01):31-33.

Zsolt D,Adrienne G.Implementation in Java of Algorithms for Semidefinite Optimization[J].Műszaki Tudományos Közlemények,2022,17(1):6-10.

Gulista K,C. M L,C. M L, et al.Traditional implementing usage of core programming languages in the object oriented programming[J].Asian Journal of Multidimensional Research,2021,10(10):1167-1173.

Chin W H,Julie G.Hybrid and Non-Hybrid Block-Based Programming Languages in an Introductory College Computer-Science Course[J].Journal of Educational Computing Research,2021,59(5):817-843.

艾伦·M.戴维斯,章淼.软件开发的201个原则[M].北京:电子工业出版社,2021:296.

李宗花,朱林.《软件工程原理与实践》[M].南京:南京大学出版社,2020:252.

致 谢

经过几个月的努力,本论文在吉老师的指导下完成。首先,我非常感谢我的指导老师,在毕业设计和论文撰写的过程中给予了我悉心的指导,从选题到论文的撰写,从一无所知到一步步地探索再到完成论文,我的指导老师都是以严谨认真负责的态度对我不断指导,在整个毕业设计和论文的撰写中遇到的许多困难,我的指导老师不断的鼓励我帮助我,使我在学术探索的道路上不断成长。再次感谢我的指导老师,是您的帮助和指引让我走到了今天。

同时也想感谢我的家人,他们是我求学之路最坚强的后盾。在这漫漫求学的道路上,是他们在无微不至地关心我,在我深夜中奋笔疾书,在我遇到挫折迷茫的时候,他们在在我身边,支撑着我,陪伴着我,让我能不断前行,在学业上取得更加优秀的成果。

然后我要感谢我的同学们,毕业设计的完成和论文的撰写少不了他们的帮助,我们一起讨论在学术中遇到的问题,一起解决彼此的项目错误。是他们鼓励和帮助我,使我在整个过程中保持动力。

感谢每一位出现在我生命里并给予我帮助的人,愿我们都能在今后的道路上继续追逐梦想,努力前行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代论文网课招代理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值