一、绪论
1.1 背景分析
21世纪以来,随着科学技术的飞速发展以及高等教育的快速普及,在高校进行日常教学的同时产生的信息量越来越大,人们随之对信息的要求越来越高,于是传统的信息技术越来越难以满足人们的要求。高校教务管理系统就是在这种情况下应运而生,通过本系统能够完善平台与学生、教师之间的关系,有助于提高工作效率,实现信息化管理。此次设计的系统不仅有利于管理员进行整体系统的运行维护,统筹协调,同时也方便学生随时查询课程信息,即时选课等,之后也方便教师添加课程信息等,高校教务管理系统的开发很好地解决了教务信息管理一系列问题,同时也为用户提供方便的信息获取渠道。
1.2系统研究的意义和内容
在本论文的研究主题范围内,已有大量关于教务管理系统的相关文献。通过对以往的传统高校教务管理系统的研究,我发现其对于各种教务信息的处理是非常繁杂和繁琐的,这在一定程度上增加了教务管理人员的工作负担同时对于用户操作也是极其不友好的体验。而且传统的教务管理系统进行数据的加工时,往往会发生信息的反复传输和丢失,这对于高校的教务管理工作是极其致命的问题,会发生成绩错误录入、教室安排冲突、教师授课冲突等严重问题,最后传统教务系统在用户界面设计方面也因为时代技术的限制,前端界面对于用户来说不是足够的美观,对于没有相关计算机知识的人操作较为困难。
本教务管理系统将基于Spring Boot框架进行架构,最大限度地提高系统的开发效率和运行性能,对于复杂的教务信息能够进行快速处理。该系统前端部分将采用Vue技术让前端界面操作简单,管理方便,对于学生选课、成绩录入等教务信息选择可以实现自动检测,预防减少高校教务的错误,持久层框架则选用Mybatis用于简化数据库访问,同时Mybatis中的动态SQL语句方便我们根据不同条件构建SQL语句从而更灵活的实现查询和更新操作。同时本系统需要在不同设备上都能运,为了实现这一要求,经过考虑B/S架构成为最佳之选。使用B/S架构的系统可以几乎在任何电脑上运行,而且后期维护及二次修改较为容易。综合来看本系统满足了时代的变化,满足了用户的需求,充分发挥了网络的交互和实时性,提供了方便、快捷、舒适的服务,使用户能够及时掌握最新的教务信息,并能有效地提升教务工作人员的服务水平减轻其工作压力。
本论文的主要工作内容包括需求分析、系统概要设计、系统详细设计、系统实现和系统测试等环节。在需求分析阶段,将对教务管理系统的需求进行调研和分析;在系统设计阶段,将进行数据库设计、系统架构设计和前端界面设计;在系统实现阶段,将根据设计方案进行系统具体业务功能模块的实现;在系统测试阶段,将对系统进行全面黑盒测试,确保系统的稳定性和可靠性。通过本论文的研究和实践,将设计出一个成熟的教务管理系统,为学校的教务信息管理工作提供帮助。
1.3 开发技术和开发环境
1.3.1开发技术
(1)Java开发工具包
Java开发工具包(JDK)是构建所有面向Java平台的应用程序的基础。它提供了各种工具和实用程序,用于开发、打包、监控和部署在标准Java平台上构建的应用程序,包括Java平台标准版(Java SE)、Java平台微型版(Java ME)和Java平台企业版(Java EE)。其内部包括编译工具javac,能够将Java源代码编译成为Java 字节码,同时拥有javadoc为Java代码创建程序编程接口(API)文档。
(2)IntelliJ IDEA
IntelliJ IDEA,全称为IntelliJ IDEA,是Java语言的集成开发环境(IDE)。在业界,IntelliJ IDEA被公认为最优秀的Java开发工具之一,它具有许多强大的功能,IntelliJ IDEA提供智能的代码提示、自动补全和重构功能,对编写高质量的代码十分有帮助,同时该软件具有强大的整合能力支持Git、Maven、Spring等开发架构,提供广泛的提示功能,对于本次教务系统的开发有很好的兼容性[4]。
(3)Maven
依赖管理使用的是Maven,它不仅仅是以来的管理工具,同时也是项目的构建工具,可以通过Maven提供的命令对编写完成的项目打成war或者jar包,部署到服务器上的web容器上运行起来,并且,依赖的添加方式只是在pom.xml文件中通过xml的方式进行编写,这就不需要我们像以前一样要把jar包下载下来放到项目中去,项目会自动去对应的镜像中获取jar包。
1.3.2 开发环境
(1)SpringBoot
Web框架采用当下最流行的SpringBoot, SpringBoot框架的诞生,快速开发成为趋势,极大解放了程序编写过程中,技术集成xml文件配置的问题,通过极少的配置,就能实现技术集成,同时,yml文件的使用,是一个新的趋势,SpringBoot不用做集成配置的原因,就是@EnableAutoConfiguration这个注解在系统启动时已经为我们自动集成。
(2)MyBatis
持久层框架采用的是Mybatis,Mybatis与SpringBoot框架集成配置简单,只需要在SpringBoot框架的application.yml(或application.xml)文件中配置数据库的名称、账号、密码以及驱动类就可以与SpringBoot进行集成,此外,Mybatis最大的优点就是在xml中能直接写sql语句,实现简洁,sql调用方便,这是区别于别的持久层框架的一个重要特性。
(3)MySql
系统所选数据库为MySql5.6,MySql是关系型数据库,数据以表的形式存储,提供了sql语句对数据进行操作,方便使用,提供事务的概念,并且有成熟的集成环境对数据库进行操作,对于数据库界面化,常见的有Navicat Preminu,SQLyog等等。但是当数据量比较庞大时,读写性能会是一个瓶颈,相比于非关系型数据库(常见的有redis和MongoDB),非关系型数据库以特定的数据结构对数据以键值对形式进行存储,读写性能高,但是不提供数据操作语句,只能通过命令行对数据进行操作[5]。
二、系统需求分析
需求分析是软件开发过程中的关键环节,它旨在明确和归纳用户需求来确定系统的功能、特性等。通过需求分析,可以明确用户的需求和期望,降低开发成本和时间,确保系统的架构和设计符合用户需求和期望,从而改善软件的可维护性和可扩展性,降低后期维护和升级的成本和风险。同时也为接下来的系统详细设计提供了依据和指导[8]。
2.1 功能需求
功能需求是在系统设计和开发过程中所需要满足的功能或特性。它是用户对系统所期望的能力和特点的表述,它规定了系统的各种功能和特性,对系统的开发实现起着极为重要的作用
2.2 学生需求
学生可以通过注册登录进入教务管理系统,在教务系统中,学生可以查看教务通知和学校的行政信息,可以进行选课生成实时课表并且退选错误课程,可以提交作业并且查看自己的作业评分,对于已经结课的教师可以评价并查看评教结果,最后可以查看自己的考勤情况。根据以上功能需求分析,绘制其用例图,具体如图。
2.1.2 教师需求
教师可以通过登录进入教务管理系统,在系统中,教师可以查看教务通知和行政信息,可以设置自己所讲课程的课程状态并且查看自己课程的学生,可以分别对选课学生的课程与作业打分,可以录入学生的考勤信息并且查看学生对自己的评教内容。根据以上功能需求分析,绘制其用例图
2.1.3 管理员需求
管理员通过登录进入教务管理系统。在系统中,管理员可以管理教务通知和行政信息,可以设置教师所开设课程并且查看学生选课情况,可以管理教师评价并审核学生的请假信息,最后可以管理学生和教师的用户信息。根据以上功能需求分析,绘制其用例图
2.2 非功能需求
2.2.1 实用需求
实用性是指系统的功能简单、无冗余功能,符合大众用户的使用习惯。用户可以非常方便、快捷的使用系统,不存在多余的操作或功能,不存在引导性的链接或者操作。本系统要求面向众多的教师、学生等,为了更好的提高教师和学生用户的体验感,提高管理工作人员的工作效率,需要便于管理人员、教师和学生操作该系统,从而提高系统的实用价值。
2.2.2 安全需求
在大学教务管理系统中,管理员需要登记录入学生、教师的信息,管理员端录入信息时,登记了学生的学号、姓名、性别、地址、联系方式等信息,这些信息属于个人的隐私信息,如果被非法窃职,则破坏了公众的隐私权,因此需要系统在处理敏感信息时要保证加密性和安全性。
2.2.3 稳定需求
系统稳定性表示系统在非正常使用时,能稳定运行的能力。稳定性差表示用户使用系统时,如果数据输入错误或者使用方式不当,出现页面响应时间过长、不能响应等问题,严重时导致系统崩溃宕机。设计和实现系统时应采用稳定的操作系统、主流的数据库和数据库中间件、应用中间件等,以保证系统的稳定运行、持续可掌握
2.2.4 开放需求
系统的开放性是指系统具有良好的兼容性,能够兼容Windows和Mac的大部分版本。大学教务管理系统要求支持不同版本的浏览器登录,能够在电脑端的IE浏览器、谷歌浏览器、火狐浏览器、360浏览器等常用的浏览器上正常使用。
2.3 可行性分析
2.3.1 经济可行性
在项目上使用的JDK开发工具包、Maven依赖管理工具都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。
2.3.2 操作可行性
此次项目设计参考了几个该模式下的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作的主题,操作界面简单易懂,具有基本计算机知识的人都会操作本项目。同时系统用户界面都是美观且现代化的显示,能够很好的提高用户的体验满意度。
2.3.3 技术可行性
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。现有的SpringBoot技术能够迎合所有教务系统的搭建需求。开发教务管理系统采用了SpringBoot+MySQL用以运行整体程序,这些技术都具有良好的成熟性和稳定性。
三、系统概要设计
系统架构如图
系统结构如图
四、详细设计
4.1 系统功能模块设计
4.1.1 学生功能模块设计
学生模块首界面需要看到教务处发布的教务通知和考试安排,在该模块左侧列表有行政介绍、教学信息、教务任务模块,在行政管理中学生可以查看学校学院、专业、班级信息,在教学管理中,学生可以查看课程信息、自主选课、生成课表、教师评教,在教务管理中,学生可以请假申请和考勤状况查询
4.1.2 教师功能模块设计
教师模块首界面中教师需要看到教务出发布教务通知和考试安排,该模块左侧列表有行政介绍、教学管理、教务管理模块,在行政管理中教师可以查看学校学院、专业、班级信息,在教学管理中,教师可以更改课程状态、查看选课学生、评教内容查看、录入考勤状态。
4.1.3 管理员功能模块设计
管理员信息公告模块中可以更改教务通知、考试安排、教室安排,在行政管理模块内中管理学校学院、专业、班级信息,在教学管理模块中,管理员可以管理课程信息和网上评教信息,在教务管理中,管理员可以审核学生的请假申请,最后,在用户管理模块管理员能够管理教师和学生信息。
4.2 系统数据库设计
概念模型是对信息世界的建模,与具体的数据库管理系统无关,将现实世界中的具体事物进行抽象,得出数据库管理系统支持的数据模型。其中常用的是E-R图表示法。E-R图是展示现实世界的概念模型,也被称为实体联系模型,简称E-R模型[9]。
4.2.1 整体E-R模型
本教务管理系统分为三大模块,分别是学生模块、教师模块、管理员模块,学生模块考虑到课程选择、教师评价、作业提交等主要功能、教师模块则是作业批改、学生打分等功能、管理员则是管理教师与学生用户,管理教师开设课程,综合以上功能实现考虑。
4.2.2 局部E-R模型
管理员是教务管理系统最高权限的拥有者,能够对系统中的学生与教师用户进行管理,具有公告管理、行政管理、教学管理、教务管理等功能。
4.2.3 数据库表模型
admin管理员表,用来保存管理员的密码、姓名、头像、角色标识等相关信息,通过该表可以判断登录用户的权限为管理员
列名 数据类型 长度 注释 主键
id int 主键 Y
username varchar 8 用户名 N
password varchar 16 密码 N
name varchar 8 姓名 N
avatat varchar 32 头像 N
role varchar 8 角色标识 N
phone varchar 32 电话 N
email varchar 32 邮箱 N
apply请假信息表,用来保存学生请假申请的请假说明、请假时间、请假天数等相关信息,通过该表是管理员进行请假审批功能的数据基础,
attendance考勤信息表
Course课程信息表
Comment 评教信息表
…
五、系统实现
5.1 登录注册功能实现
当进入教务系统前端页面后会出现登录注册表单,用户输入用户名和密码,选择自己的身份进行登录,正确输入信息后,不同用户成功进入自己的页面
5.2 学生模块功能实现
5.2.1 学生主界面实现
在学生成功登录后进入系统主界面,在主界面内学生能够直观的看到学校的教务通知与考试安排,在页面下方可以看到整个学校的考勤状态所转换出的echarts图,同时学生成绩会转换成折线图,使学生对教务数据有一个清晰的认知。
5.2.2 学生教学管理模块实现
5.3 教师模块功能实现
5.3.1 教师教学管理模块实现
5.4 管理员模块功能实现
5.4.1 信息公告管理模块实现
5.4.2 行政信息管理模块实现
5.4.3 教学信息管理模块实现
5.4.4 教务信息管理模块实现
5.4.5 用户信息管理模块实现
六、系统测试
在软件开发当中,最后一个步骤就是测试阶段,它是系统能够顺利交付投入使用的必经阶段,其耗费时间往往大于开发时间,但是它在维护系统稳定,减少系统逻辑漏洞方面起着至关重要的作用,是系统开发不可或缺的重要一环
七、总结与展望
本项目成功设计并实现了一个基于Spring Boot的教务管理系统,该系统采用前后端分离的架构模式,前端使用了Vue.js框架,后端采用了Maven进行依赖管理,持久层的Mybatis技术提供的动态SQL语句为系统的功能实现提供了灵活的查询语句,这些技术的使用提升了开发效率和系统稳定性。基于Spring Boot开发的教务管理系统为高等教育教学管理部门提供了一种高效、稳定的解决方案。通过Spring Boot框架,教务管理系统具有良好的可扩展性和易维护性,能够快速响应需求变化和系统升级。同时,Spring Boot的自动化配置和约定优于配置的特性,简化了开发流程,提高了开发效率。本教务管理系统通过整合各种功能模块,实现了学生信息管理、课程安排、成绩管理等教务工作的自动化和信息化,极大地提升了教务工作的效率和准确性。
八、源码获取
大家点赞、收藏、关注、评论啦 ,私信获取联系方式