基于Springboot+vue教务管理系统设计与实现 计算机专业毕业设计源码62128

摘 要

随着信息技术的快速发展,高校教务管理面临着越来越多的挑战和机遇。传统的教务管理方式往往受到时间和地点的限制,无法满足现代教育的需求。因此,开发一款基于Web的教务管理系统成为了高校信息化建设的必然趋势。

本文旨在探讨基于Spring Boot和Vue框架的教务管理系统的设计与实现。Spring Boot作为一种轻量级、快速构建Web应用的框架,具有高度的可扩展性和灵活性,为系统的后端开发提供了强大的支持。而Vue框架则以其简洁、高效的特点,成为了前端开发的热门选择。

通过结合Spring Boot和Vue框架,我们可以构建一个功能强大、界面友好的教务管理系统。该系统将实现信息公告(教室安排)、行政管理(学院信息、专业信息、班级信息)、教学管理(课程信息、我的选课、我的成绩、网上评教)、教务管理(请假申请、作业提交、考勤信息)等核心功能,为高校教务管理提供全面、高效、便捷的解决方案。

本文将对系统的设计与实现过程进行详细介绍,包括系统架构、功能模块、数据库设计等方面。通过本文的阅读,读者可以了解基于Spring Boot和Vue框架的教务管理系统的开发流程和关键技术,为类似系统的开发提供参考和借鉴。同时,本文也希望为高校教务管理的信息化建设提供有益的启示和思考。

关键词:教务管理系统;Vue;Spring Boot框架

Design and implementation of an educational management system based on Springboot+Vue

Abstract

With the rapid development of information technology, academic management in universities is facing more and more challenges and opportunities. Traditional educational management methods are often limited by time and location, and cannot meet the needs of modern education. Therefore, developing a web-based academic management system has become an inevitable trend in the informationization construction of universities.

This article aims to explore the design and implementation of an educational management system based on Spring Boot and Vue frameworks. Spring Boot, as a lightweight and fast framework for building web applications, has high scalability and flexibility, providing powerful support for backend development of the system. The Vue framework, on the other hand, has become a popular choice for front-end development due to its simplicity and efficiency.

By combining Spring Boot and Vue frameworks, we can build a powerful and user-friendly educational management system. The system will implement core functions such as information announcement (classroom arrangement), administrative management (college information, professional information, class information), teaching management (course information, my course selection, my grades, online teaching evaluation), and academic management (leave application, homework submission, attendance information), providing a comprehensive, efficient, and convenient solution for university academic management.

This article will provide a detailed introduction to the design and implementation process of the system, including system architecture, functional modules, database design, and other aspects. Through reading this article, readers can understand the development process and key technologies of an educational management system based on Spring Boot and Vue frameworks, providing reference and inspiration for the development of similar systems. At the same time, this article also hopes to provide useful inspiration and thinking for the informatization construction of academic management in universities.

Key words:Academic management system; Vue; Spring Boot framework

目  录

第1章 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3 论文组成结构

第2章 系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.1.3 操作可行性

2.2 需求分析

2.3 系统用例分析

2.4 系统流程分析

第3章 系统设计

3.1 系统架构设计

3.2 系统功能结构

3.3 数据库设计

3.3.1 数据库E-R图设计

3.3.2 逻辑结构设计

第4章 系统实现

4.1 学生用户模块的实现

4.1.1 系统首页界面

4.1.2 用户注册界面

4.1.3 用户登录界面

4.1.4 课程信息界面

4.1.5 请假申请界面

4.1.6作业提交界面

4.2 管理员功能模块的实现

4.2.1 管理员登录界面

4.2.2 管理员功能界面

4.2.3 信息公告界面

4.2.4行政管理界面

4.3 教师用户模块的实现

4.3.1 教学管理界面

4.3.2教务管理界面

第5章 系统测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

第6章 总结与展望

参考文献

致谢

绪论

  1. 研究背景与意义

随着信息技术的迅猛发展和教育信息化的深入推进,高校教务管理面临着前所未有的挑战与机遇。传统的教务管理方式,如依赖纸质文档、手工操作等,已难以满足现代教务管理的需求。这些方式不仅效率低下,容易出错,而且难以适应高校规模的不断扩大和教学资源的日益复杂化。因此,研究和开发一套基于先进技术的教务管理系统显得至关重要。

基于Spring Boot和Vue框架的教务管理系统正是在这样的背景下应运而生。该系统充分利用了Spring Boot和Vue框架的优势,结合数据库技术,构建了一个功能强大、界面友好、易于扩展的教务管理系统。通过该系统,高校可以实现对教务信息的全面、高效、便捷管理,提高教务管理的效率和质量,减轻教师和管理人员的工作负担,为学生和教师提供更加优质、高效的服务。

该研究不仅具有重要的实践意义,也具有一定的理论价值。通过该系统的设计与实现,可以推动高校教务管理的信息化、数字化、智能化进程,提升教务管理的现代化水平。该系统还可以为其他类似系统的开发提供有益的参考和借鉴,推动相关技术的发展和应用。最后,该研究还可以为教育信息化的理论研究提供实证支持和案例分析,丰富和发展教育信息化的理论体系。

综上所述,基于Spring Boot和Vue框架的教务管理系统具有重要的研究背景和意义。它不仅适应了教育信息化的发展趋势,满足了现代教务管理的需求,而且具有广阔的应用前景和理论价值。通过该系统的研究与实现,可以推动高校教务管理的创新与发展,为教育信息化的深入推进做出积极贡献。

    1. 国内外研究现状

国内研究现状:

在国内,随着教育信息化政策的不断推动和高校信息化建设的深入,越来越多的学者和开发者开始关注教务管理系统的研究与开发。基于Spring Boot和Vue框架的教务管理系统凭借其高效、稳定、易扩展等特点,成为了众多研究团队的首选。国内的研究主要聚焦于系统的架构设计、功能模块开发、数据安全性保障等方面。

国外研究现状:

在国外,尤其是欧美等发达国家,教育信息化起步较早,发展也相对成熟。因此,对于教务管理系统的研究与应用也更为深入。基于Spring Boot和Vue框架的教务管理系统在国外同样受到了广泛的关注。国外的研究除了关注系统的基本功能和性能外,更加注重系统的用户体验、数据分析和决策支持等方面。同时,随着开放教育资源(OER)和在线教育平台的兴起,国外的教务管理系统也开始向在线教育和终身学习领域拓展。

综上所述,基于Spring Boot和Vue框架的教务管理系统在国内外均受到了广泛的关注和研究。虽然国内外的研究重点和方向略有不同,但都致力于推动教务管理系统的创新发展,为教育信息化的深入推进做出积极贡献。未来,随着新技术的不断涌现和应用场景的不断拓展,教务管理系统的研究与应用将呈现出更加多元化和智能化的趋势。

    1. 论文组成结构

根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出教务管理系统。

本文共有七章,如下所示。

第一章概述了教务管理系统的研究背景和意义;精炼地总结了国内外研究情况和未来的研究趋势,最后给出了论文的组成结构。

第二章简要对系统各业务流程进行需求分析、可行性分析。

第三章对教务管理系统进行设计。

第四章对教务管理系统进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第五章对教务管理系统采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第六章总结全文并对未来的研究做出展望。

系统分析

  1. 可行性分析

在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。教务管理系统的可行性分析如下所示:

      1. 技术可行性

技术可行性分析是任何系统开发前不可或缺的一环。对于基于Spring Boot和Vue的教务管理系统而言,技术可行性是显而易见的。Spring Boot作为一种成熟、稳定且广泛应用的Java框架,具有强大的后端开发能力和丰富的生态支持,为系统提供了坚实的基础。而Vue作为前端框架的佼佼者,其轻量级、组件化、易于学习和扩展的特性使得前端开发更加高效和灵活。此外,两者之间的无缝集成也为前后端分离的开发模式提供了有力的支持。数据库技术如MySQL等也为数据存储和管理提供了可靠的保障。因此,从技术角度来看,基于Spring Boot和Vue的教务管理系统设计与实现是完全可行的,并且有望在实际应用中发挥出强大的功能和性能。

      1. 经济可行性

经济可行性经济可行性分析是评估一个项目或系统在经济上是否合理和可行的过程。对于基于Spring Boot和Vue的教务管理系统而言,经济可行性同样至关重要。考虑到该系统旨在提高教务管理效率、减轻工作负担并为学生和教师提供优质服务,其潜在的经济效益是显著的。系统的高效运行可以减少人力和物力资源的浪费,降低管理成本。通过优化资源配置和提高决策科学性,系统有望促进学校整体运行效率的提升,从而带来间接的经济效益。此外,系统的维护和升级成本相对较低,因为Spring Boot和Vue都是开源框架,有着丰富的社区支持和资源。因此,从经济角度来看,基于Spring Boot和Vue的教务管理系统设计与实现是可行的,并且有望为学校带来长期的经济效益。

      1. 操作可行性

本系统是基于浏览器和服务器的教务管理系统,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。

    1. 需求分析

在设计和实现基于Spring Boot和Vue的教务管理系统之前,我们进行了详尽的需求分析和市场调研,以深入了解教务管理的实际工作流程、各方的管理需求以及师生的期望。这一环节是确保系统能够精准地满足教务管理者、教师、学生以及其他相关人员的实际需求,进而提升教务管理的效率和质量的关键。

我们明确了教务管理者的核心需求。通过与教务管理人员的深入交流,我们了解到他们需要一个信息公告(教务通知、考试安排、教室安排)、行政管理(学院信息、专业信息、班级信息)、教学管理(课程信息、我的选课、我的成绩、网上评教)、教务管理(请假申请、作业提交、考勤信息)、用户管理等任务的系统。此外,他们期望系统能够提供数据分析和可视化功能,帮助他们更好地掌握教务管理的整体情况,做出更科学、更合理的决策。

我们关注了教师和学生在教务管理过程中的需求。教师期望能够方便地管理自己的课程、成绩和学生信息,同时希望能够有一个平台可以方便地与学生进行沟通和交流。学生则期望能够方便地查询课程信息、成绩信息、作业提交等,同时也期望能够有一个渠道可以及时向教师反馈问题和建议。

此外,我们还考虑了系统的安全性和稳定性。教务管理系统涉及大量的敏感数据,如学生个人信息、成绩数据等,因此必须保证系统的安全性,防止数据泄露和非法访问。同时,系统还需要具备高度的稳定性,能够应对高并发、大数据量等挑战,确保教务管理工作的顺利进行。

在系统设计方面,我们注重系统的易用性和可扩展性。我们采用了直观、简洁的界面设计,使教务管理者、教师和学生都能够快速上手。同时,我们还采用了基于Spring Boot和Vue的前后端分离架构,使得系统易于维护和扩展,能够适应未来教务管理工作的变化和发展。

综上所述,基于Spring Boot和Vue的教务管理系统的设计与实现旨在通过技术手段解决教务管理过程中的信息管理问题,提升教务管理的整体效率和质量。我们期待这一系统能够为教务管理者、教师、学生以及其他相关人员带来更加便捷、高效的工作和学习体验。

    1. 系统用例分析

教务管理系统的完整UML用例图分别是图2-1、图2-2和图2-3。在参与者上包括学生用户、教师用户和管理员。

学生用户角色的用例包括系统首页、信息公告、行政管理、教学管理、教务管理。

学生用户角色用例如图2-1所示。

图2-1学生用户用例图

教师用户角色的用例包括系统首页、信息公告、行政管理、教学管理、教务管理。

教师用户角色用例如图2-2所示。

图2-2教师用户用例图

管理员角色的用例包括系统首页、信息公告、行政管理、教学管理、教务管理、用户管理。

管理员角色用例如图2-3所示。

图2-3管理员用例图

    1. 系统流程分析

1)增加数据流程

系统中的所有用户(管理员、学生用户和教师用户)都可以实现增加数据功能,图2-4显示的就是在增加数据时的流程。

图2-4增加数据流程图

2)修改数据流程

在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2-5显示的就是修改数据的流程。

图2-5修改数据流程图

3)删除数据流程

在系统中经常会出现一些过期的数据,那就可以直接删除这些数据,图2-6就是删除数据时的流程图。

图2-6删除数据流程图

  1. 系统设计
    1. 系统架构设计

由于本系统在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。

DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。

MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。

系统架构如下图所示。

图3-1系统架构图

    1. 系统功能结构

进入系统后首先要进行登录,验证你的身份,赋予你不同的权限。当你成功登录后,页面会有多个板块,分别是系统首页、信息公告、行政管理、教学管理、教务管理、用户管理。里面界面简单易懂,根据标示可以直接进行方便快捷的操作。

系统功能结构图如下所示。

图3-2系统功能结构图

    1. 数据库设计

一个好的系统它的后台数据库一定要考虑的全面,这和我们建造房子一个概念,房子不是随心所欲建起来的,一切都是在合理设计的基础是实现的,地基打牢固了房子才能建的更高。数据库如果设计的很合理,而且每个方面都能考虑到了那么这个系统才能不会出现大的问题。

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。

      1. 数据库E-R图设计

本教务管理系统采用的是mysql数据库,数据存储快,因为教务管理系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,

系统的主要实体间关系E-R图如下图所示。

图3-3系统E-R图

      1. 逻辑结构设计

此环节把概念转变成数据。由于整个数据库所处理的信息过多,就只展示以下几个表。

表teacher(创建教师信息表)

名称

数据类型

长度

小数位

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

username

varchar

255

0

Y

N

用户名

password

varchar

255

0

Y

N

密码

name

varchar

255

0

Y

N

姓名

avatar

varchar

255

0

Y

N

头像

role

varchar

255

0

Y

N

角色

phone

varchar

255

0

Y

N

电话

email

varchar

255

0

Y

N

邮箱

title

varchar

255

0

Y

N

职称

表admin(创建管理员信息表)

名称

数据类型

长度

小数位

允许空值

主键

注释

id

int

10

0

N

Y

ID

username

varchar

255

0

Y

N

用户名

password

varchar

255

0

Y

N

密码

name

varchar

255

0

Y

N

姓名

avatar

varchar

255

0

Y

N

头像

role

varchar

255

0

Y

N

角色标识

phone

varchar

255

0

Y

N

电话

email

varchar

255

0

Y

N

邮箱

表apply(请假申请表)

名称

数据类型

长度

小数位

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

student_id

int

10

0

Y

N

学生ID

content

text

0

Y

N

请假说明

time

varchar

255

0

Y

N

请假时间

day

int

10

0

Y

N

请假天数

status

varchar

255

0

Y

N

审核状态

descr

varchar

255

0

Y

N

审核说明

表attenda(考勤信息表)

名称

数据类型

长度

小数位

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

student_id

int

10

0

Y

N

学生ID

teacher_id

int

10

0

Y

N

教师ID

course_id

int

10

0

Y

N

课程ID

time

varchar

255

0

Y

N

上课时间

status

varchar

255

0

Y

N

考勤状态

表choic(选课信息表)

名称

数据类型

长度

小数位

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

teacher_id

int

10

0

Y

N

授课教师

student_id

int

10

0

Y

N

学生ID

course_id

int

10

0

Y

N

课程ID

表classes(创建班级信息表)

名称

数据类型

长度

小数位

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

name

varchar

255

0

Y

N

班级名称

content

varchar

255

0

Y

N

班级描述

teacher_id

int

10

0

Y

N

教师ID

speciality_id

int

10

0

Y

N

专业ID

表 college(创建学院信息表)

名称

数据类型

长度

小数位     

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

name

varchar

255

0

Y

N

学院名称

content

varchar

255

0

Y

N

学院介绍

表comment(创建评价信息表)

名称

数据类型

长度

小数位     

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

name

varchar

255

0

Y

N

课程名称

teacher

varchar

255

0

Y

N

授课教师

student

varchar

255

0

Y

N

评教学生

content

text

0

Y

N

评教内容

time

varchar

255

0

Y

N

评教时间

表course(创建课程信息表)

名称

数据类型

长度

小数位     

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

name

varchar

255

0

Y

N

课程名称

type

varchar

255

0

Y

N

课程类型

teacher_id

int

10

0

Y

N

授课教师

score

int

10

0

Y

N

课程学分

num

int

10

0

Y

N

上课人数

room

varchar

255

0

Y

N

上课教室

week

varchar

255

0

Y

N

周几

segment

varchar

255

0

Y

N

第几大节

status

varchar

255

0

Y

N

上课状态

表examplan(考试安排表)

名称

数据类型

长度

小数位  

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

name

varchar

255

0

Y

N

标题

content

varchar

255

0

Y

N

内容

time

varchar

255

0

Y

N

发布时间

表homework(作业信息表)

名称

数据类型

长度

小数位  

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

content

varchar

255

0

Y

N

课程说明

course_id

int

10

0

Y

N

课程ID

student_id

int

10

0

Y

N

学生ID

teacher_id

int

10

0

Y

N

教师ID

file

varchar

255

0

Y

N

作业文件

score

varchar

255

0

Y

N

打分

descr

varchar

255

0

Y

N

说明

表notic(通知公告)

名称

数据类型

长度

小数位  

允许空值

主键

注释

id

int

11

0

N

Y

ID

title

varchar

255

0

Y

N

标题

content

varchar

255

0

Y

N

内容

time

varchar

255

0

Y

N

创建时间

user

varchar

255

0

Y

N

创建人

表roomplan(创建教师安排表)

名称

数据类型

10

小数位  

允许空值

主键

注释

id

int

255

0

N

Y

主键ID

name

varchar

255

0

Y

N

教室名称

status

varchar

10

0

Y

N

教室状态

num

int

255

0

Y

N

容纳人数

content

varchar

10

0

Y

N

使用说明

表score(创建成绩信息表)

名称

数据类型

长度

小数位  

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

student_id

int

10

0

Y

N

学生ID

course_id

int

10

0

Y

N

课程ID

teacher_id

int

10

0

Y

N

教师ID

ordinary_score

double

10

2

Y

N

平时分

exam_score

double

10

2

Y

N

考试分

score

double

10

2

Y

N

总成绩

表speciality(创建专业信息表)

名称

数据类型

长度

小数位  

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

name

varchar

255

0

Y

N

专业名称

content

varchar

255

0

Y

N

专业描述

college_id

int

10

0

Y

N

所属学院

score

int

10

0

Y

N

学分限定

表student(学生信息表)

名称

数据类型

长度

小数位  

允许空值

主键

注释

id

int

10

0

N

Y

主键ID

username

varchar

255

0

Y

N

用户名

password

varchar

255

0

Y

N

密码

name

varchar

255

0

Y

N

姓名

avatar

varchar

255

0

Y

N

头像

role

varchar

255

0

N

Y

角色

college_id

int

10

0

Y

N

学院ID

speciality_id

int

10

0

Y

N

专业ID

class_id

int

10

0

Y

N

班级ID

score

int

10

0

Y

N

学分

  1. 系统实现
    1. 学生用户模块的实现

4.1.1 系统首页界面

进入系统首页,学生用户可以对信息公告、行政管理、教学管理、教务管理进行相应的操作,其主界面展示如下图所示。

图4-1 系统首页界面图

4.1.2 用户注册界面

用户注册:当用户想要进入系统中对信息进行查看的时候,就必须要登录到系统当中,要是新的用户没有系统的账号的话,点击“注册”按钮,就会进入到新用户注册这个界面上,用户输入相关注册信息,然后点击“注册”,系统在用户这一数据库中会查询账号是不是存在,两次密码是不是一样,都填写正确就会注册成功,然后再进行登录,如果是之前已经注册过的用户很长时间没有使用,忘记密码,也可以点击“忘记密码”进行找回。用户注册界面如下图所示。

图4-2 用户注册界面图

注册代码如下:

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

4.1.3 用户登录界面

系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到系统的首页中;否则将会提示相应错误信息。用户登录界面如下图所示。

图4-3用户登录界面图

登录代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

4.1.4 课程信息界面

用户可以查看课程信息,包括课程名称、课程类型、授课教师、学分、上课人数、上课教室等,可以进行选课。课程信息界面如下图所示。

图4-4课程信息界面图

4.1.5 请假申请界面

学生用户可以提交请假申请,包括请假原因、请假时间等信息。请假申请界面如下图所示。

图4-5请假申请界面图

4.1.6作业提交界面

学生用户可以在系统中提交作业,上传文件、填写作业内容等。作业提交界面如下图所示。

图4-6作业提交界面图

    1. 管理员功能模块的实现 

4.2.1 管理员登录界面

管理员进入到系统登录界面,需要填写正确的登录名、密码等信息输入准确无误后登录进入到系统操作界面。管理员的账号是在数据表表中直接设置生成的,不需要进行注册;修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。管理员登录界面如下图所示。

图4-7管理员登录界面图

4.2.2 管理员功能界面

管理员可以查看系统首页、信息公告(教务通知、考试安排、教室安排)、行政管理(学院信息、专业信息、班级信息)、教学管理(课程信息、我的选课、我的成绩、网上评教)、教务管理(请假申请、作业提交、考勤信息)、用户管理等,并且可以根据需要进行相应的操作。在功能界面还可以查看考勤状态统计图和成绩分布折线图。管理员功能界面如下图所示。

图4-8管理员功能界面图

4.2.3 信息公告界面

管理员可以发布和管理系统内的信息公告,包括教务通知、考试安排、教室安排等重要信息,确保及时传达给师生。信息公告界面如下图所示。

4-9教务通知界面图

图4-10考试通知界面图

图4-11教室安排界面图

4.2.4行政管理界面

学院信息管理:管理员可以管理学院的信息,包括添加、编辑、删除学院信息。

专业信息管理:管理员可以管理专业的信息,包括添加、编辑、删除专业信息。

班级信息管理:管理员可以管理班级的信息,包括添加、编辑、删除班级信息。

行政管理界面如下图所示。

图4-12学院信息界面图

图4-13专业信息界面图

图4-14班级信息界面图

    1. 教师用户模块的实现

4.3.1 教学管理界面

课程信息:教师用户可以管理自己负责的课程信息,包括查询、重置课程信息。

我的选课:教师用户可以查看自己所负责的课程的选课情况,了解学生选课情况和调整课程安排。

我的成绩:教师用户可以录入学生的成绩信息,包括平时成绩、考试成绩等。

网上评教:教师用户可以查看评教内容,了解教学质量和改进方向。界面如下图所示。

图4-15课程信息界面

图4-16我的选课界面

图4-17我的成绩界面

图4-18网上评教界面

4.3.2教务管理界面

作业提交:教师用户可以查看学生提交的作业,包括下载、评分等操作。

考勤信息:教师用户可以记录和管理学生的考勤信息,包括出勤情况、迟到早退记录等。界面如下图所示。

图4-19作业提交界面图

图4-20考勤信息界面图

系统测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、教务通知查看功能测试、学院信息添加、学院信息搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

教务通知查看功能测试:

表5-2教务通知查看功能测试表

用例名称

教务通知查看

目的

测试教务通知查看功能

前提

用户登录

测试流程

点击教务通知列表

预期结果

可以查看到所有教务通知信息

实际结果

实际结果与预期结果一致

管理员添加学院信息界面测试:

表5-3 管理员添加学院信息界面测试表

用例名称

学院信息添加测试用例

目的

测试学院信息添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击学院信息添加,填写信息。

2)点击进行提交。

预期结果

提交以后,学院信息会显示新的学院信息 

实际结果

实际结果与预期结果一致

学院信息搜索功能测试:

表5-4学院信息搜索功能测试表

用例名称

学院信息搜索测试

目的

测试学院信息搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的学院信息

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写教务管理系统的测试用例,已经检测完毕用户登录模块、教务通知查看模块、学院信息添加模块、学院信息搜索模块、密码修改功能测试,通过这5大模块为教务管理系统的后期推广运营提供了强力的技术支撑。

                                                             总结与展望

经过一个学期的努力,我完成了基于Spring Boot和Vue框架的教务管理系统的设计与实现。这一过程中,我不仅运用了自己在大学期间所学的专业知识,还通过实际操作深化了对相关技术的理解。

教务管理系统涵盖了多个核心功能模块,包括教务通知、考试安排、教室安排、学院信息、专业信息、班级信息、课程信息、我的选课、我的成绩、网上评教、请假申请、作业提交、考勤信息等。每个模块都经过精心设计和实现,以满足教务管理工作的实际需求。通过智能化的系统操作,用户可以轻松地进行数据信息的增加、修改和删除,从而大大提高了教务管理的效率和准确性。

在实现过程中,我遇到了一些挑战和困难,但通过不断的学习和实践,我成功地克服了这些障碍。这不仅让我更好地掌握了理论知识,还提升了我的动手操作实践能力。

回顾整个项目的开发过程,我深感收获颇丰。这次毕业设计不仅是对我所学知识的一次全面检验,更是一次宝贵的实践机会。通过实际操作,我更加深刻地认识到,无论面对什么样的困难和挑战,只要坚持不懈、努力工作,就一定能够取得成功。

教务管理系统的实现,是我大学期间的一个重要里程碑。它不仅展示了我的专业技能和创新能力,更增强了我对未来的信心。我相信,随着技术的不断发展和进步,我将能够在未来的道路上走得更远、更稳。

                                                          参考文献

[1]Sartika D A R ,Wirawan F ,Putri N P , et al.Association between Iron-Folic Acid Supplementation during Pregnancy and Maternal and Infant Anemia in West Java, Indonesia: A Mixed-Method Prospective Cohort Study.[J].The American journal of tropical medicine and hygiene,2024,

[2]Nugroho S ,Uehara T .Navigating Crisis: Insights into the Depletion and Recovery of Central Java’s Freshwater Eel ( Anguillaspp.) Stocks[J].Sustainability,2024,16(4):

[3]IBNUDARDA R ,FARAJALLAH A ,PERWITASARI D , et al.Female reciprocal calling of pearly tree frog (Nyctixalus margaritifer Boulenger, 1882) in West Java, Indonesia[J].Zootaxa,2024,5410(2):297-300.

[4]Rahmawati B R ,Hardiwinoto S ,Widiyatno, et al.Productivity of Clonal Teak Plantation Under Different Spacing and Thinning Intensity in Java Monsoon Forest[J].IOP Conference Series: Earth and Environmental Science,2024,1299(1):

[5]付赛红,常汉杰.基层开放大学教学教务管理系统设计与实践探索[J].现代信息科技,2023,7(24):25-28+32.DOI:10.19850/j.cnki.2096-4706.2023.24.006.

[6]陈蒙.基于计算机技术的智能教务管理系统的设计与应用[J].软件,2023,44(12):157-159.

[7]林小香.信息化时代高校教务管理体系的构建与应用探讨[J].内江科技,2023,44(11):61-62.

[8]杜江舟.高校教务管理系统信息化建设研究[J].科教文汇,2023,(21):13-15.DOI:10.16871/j.cnki.kjwh.2023.21.004.

[9]马青,朱征宇.大数据时代高职院校智慧型教务管理系统研究[J].知识文库,2023,39(17):96-99.

[10]沈镱武,徐弼昉,仇琦.高校教务管理系统信息化研究[J].科技风,2023,(25):90-92.DOI:10.19392/j.cnki.1671-7341.202325030.

[11]张丽莉,范东溟,何永明.基于OBE持续改进机制的教务管理平台系统研究[J].中国教育技术装备,2023,(16):32-34+39.

[12]徐飞.高校教务信息管理系统中关联规则挖掘算法改进研究和应用[J].信息记录材料,2023,24(08):44-46.DOI:10.16009/j.cnki.cn13-1295/tq.2023.08.009.

[13]惠晓萍.基于大数据的高职院校教务管理系统设计探讨[J].科技视界,2023,(10):222-224.

[14]俞强.教务管理系统在教学管理工作中的应用[J].佳木斯职业学院学报,2023,39(04):97-99.

[15]唐瑞明,谭倩芳.高校教务管理系统设计[J].电子技术与软件工程,2023,(03):49-53.

[16]罗晋煌.高校教务管理系统信息化建设的问题及解决方法[J].无锡职业技术学院学报,2022,21(04):55-58+76.DOI:10.13750/j.cnki.issn.1671-7880.2022.04.011.

[17]臧淑龙.高中教务管理系统的设计与实现[D].南昌大学,2022.DOI:10.27232/d.cnki.gnchu.2022.002835.

[18]高琼.基于数据分析的某专科院校教务信息管理系统设计和实现[D].中南大学,2022.DOI:10.27661/d.cnki.gzhnu.2022.006625.

[19]胡绍轩.基于Spring Cloud的教务管理系统的设计与实现[D].吉林大学,2022.DOI:10.27162/d.cnki.gjlin.2022.005019.

[20]姚斌,管进兵.基于JavaEE的智慧教务管理系统设计研究[J].信息记录材料,2022,23(04):186-188.DOI:10.16009/j.cnki.cn13-1295/tq.2022.04.063.

                                                                        致谢

经过几个月时间的努力终于完成了这篇文章,在文章的写作与研究的过程中遇到了很多困难,都在同学和老师的帮助下解决了。尤其非常感谢我最敬爱的老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行文章的修改。老师严谨的治学态度、渊博的学术知识、诲人不倦的敬业精神以及宽容的待人风范使我获益颇丰。此外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此,向帮助和指导过我的老师表示最衷心的感谢!感谢这篇文章所涉及到的各位学者。本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇文章的写作。感谢我的同学和朋友,在我写文章的过程中给与了我很多素材和帮助,还在文章的撰写和排版过程中提供热情的帮助。同时,感谢我的室友对我的热心指导和帮助,经常有不懂之处都是大家在帮助我,才使得我比较顺利的完成了这篇文章。由于我水平有限,所写文章难免有不足之处,恳请各位老师和学友批评和指正!

                                              免费领取源码,请点赞关注私信博主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值