软件设计开发
本栏目责任编辑:谢媛媛
基于Spring 框架的教学管理系统设计
王伟勍
(长春工业大学人文信息学院,吉林长春130122)
摘要:该文介绍了一种基于Spring 框架设计实现的教学管理系统。该系统在后端使用成熟的Spring 框架集成Redis 与
MySQL 数据库接口,与前端页面进行可跨域的JSON 数据交互,进而实现不同身份角的登录权限验证、表单的申请与审批、成绩录入与审批、工资条明细展示、教学资产登记与报修等功能,从而满足一般的教学管理要求。关键词:Spring 框架;教学管理;JSON 数据;应用软件中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2021)11-0069-02
开放科学(资源服务)标识码(OSID ):
1引言
现代学校的教学管理已经逐步摆脱了传统的单纯依靠教学秘书、教师、辅导员等教职工结合少量学生干
部对广大学生进行组织规制的方式,随着社会节奏的加快与教师、学生社会身份的多元化,尤其在此次新冠肺炎疫情的影响下,线上线下相结合的教学方式已经成为当前解决教学管理问题的主流思路。此外,学生在教学过程中的参与程度和主动性正在大幅提高,典型的如翻转课堂、借取场地组织活动、报修宿舍用品等;同时,教职工在进行教学管理的过程中经常会遭遇如教具损坏或过于陈旧、科研教研项目申请不能及时得到审批、因人事和档案关系变动造成的待遇变动等情况,以上问题无疑给教学管理带来了新的挑战。
为尝试解决这些关乎教职工和学生切身利益的问题,本文设计并实现了一款基于Spring 框架的教学管理系统,充分借鉴了现代企业管理中常用的OA 办公系统,将需要领导参与的事务抽象为表单的申请与审批流程,这样后端系统便能根据表单属性和领导对应的身份角自动将表单送达至相关领导,大大缩减了相关事务的处理时间。此外,本系统还将常见的学生成绩录入与审批、工资条明细展示等功能融入进来,力图使系统更加完备。
2基本结构
设计开发中使用的工具软件为Eclipse 。应用Spring 框架
的集成能力,结合Security 模块的权限验证功能、Redis 的内存级高速缓存功能与MySQL 的快速持久化功能,在实现设计功能的同时使系统具有初步的抗高并发访问能力。
前端页面使用Vue3.0技术开发,设计五个主要页面,对应登录与退出、表单的申请与审批、成绩录入与审批、工资条明细展示、教学资产登记与报修等五个主要功能,用户可根据需要,在登录后切换功能页面。
后端程序对应功能页面进行模块式开发,Security 模块对应登录与退出页面,结合CAS 工具包实现用户的单点登录。登
录到系统内部后,用户会获得对应的身份令牌,并根据令牌信息判别相应权限,如学生的身份令牌只能填写申请教室的表单或报修宿舍设施,而教师则在此基础上又可以进行成绩录入、查看工资条等操作。而一旦用户点击退出按钮,后端程序立即在Redis 缓存中清除相应的令牌信息,以此禁止未登录用户的操作。
对其他四个功能页面,首先将后端程序划分为REST 、Ser⁃vice 和Dao 三个层次,并按相应功能在三个层次中划分出对应的功能模块,从而完成模块式开发。从层次的角度上看,REST 层直接与前端页面交互,但在交互过程中需要调用Service 层进行数据的具体处理,而后者则要调用Dao 层获取具体数据。综上,系统的结构框图如图1所示。
图1
3程序设计简述
3.1数据库表设计
根据面向对象的程序设计思路,将教职工与学生统一抽象
为用户类,有用户名、密码、姓名、年龄、性别、身份、权限等属性。在处理具体业务时,根据身份、权限等属性确定与之关联
收稿日期:2020-12-05
作者简介:王伟勍(1991—),男,黑龙江双鸭山人,助教,硕士,研究方向为智能控制理论。
69
本栏目责任编辑:谢媛媛
软件设计开发Computer Knowledge and Technology 电脑知识与技术第17卷第11期(2021年4月)
的数据库表,由此实现不同功能。简要的数据库表关系如图2所示。
......
springmvc选择题
图2
3.2Security 模块
使用Spring 开源代码中的Security 工具包构建一连串过滤器链,包裹在SpringMVC 核心外部,并利用配置文件和Authen⁃tication Filter 等过滤器类对来访用户进行身份认定和鉴权,并提供登录和登出功能。
当用户执行登录操作时,Security 模块会根据用户名和密码到用户表中查询是否存在及正确,从而判断是否通过验证。如果通过则在Redis 缓存中存入一个专属令牌(Token ),并将此令牌交互给前端页面存入Cookie ,后续操作仅验证令牌值是否正确或过期,从而省去重复查询MySQL 数据库的过程,提高响应效率。3.3REST 层
REST 是表述性状态传递的英文单词缩写,其本质是一种软件编程风格,本文使用根据其开发的JSON 数据格式实现前后端数据交互。接到前端的数据请求后,REST 层中的相应接口会解析出具体的数据要求,而后调用Service 层中的服务方法,得到已经按结构要求封装的数据,而后REST 接口将其重新转换为JSON 数据,回传给前端页面。3.4Service 层
在接到REST 层的数据请求后,Service 层中的方法会根据业务逻辑和所给参数调用Dao 层中的接口,对MySQL 数据库中的库表进行增删改查操作。得到返回值后,相应的服务方法会对数据进行排序、拼装、格式转换等处理,最终将结果返回给REST 层,完成一次调用。3.5Dao 层
Dao 实际上是数据访问对象的英文简称,设计此层的目的
是封装对数据库的访问操作,从而与具体的业务逻辑区分开。本文使用MyBatis 工具包将MySQL 数据库抽象封装为可供Spring 框架调用的类和方法,并将驱动、连接、关闭和操作数据库的SQL 代码改造为可替换参数的动态语句,从而提高访问效率、降低访问错误。
4各界面简述
4.1登录界面
登录界面采用响应式布局,包含用户名、密码和验证码的输入文本框,注册和登录按钮,以及可供勾选的记住密码选项框。
4.2表单申请与审批界面
该界面包含事假、项目经费、差旅报销等常用的十三项申请表单,以及一项自定义表单。在页面中部采用组件列表的形式展示已申请表单的审批进度。对于相关审批人员,接到表单后,会在页面右上角进行表单数量提示。4.3成绩录入与审批
该界面主要提供下辖学生的详细列表,并可按专业、班级、科目等类别进行统计展示,以及学生成绩的线上和Excel 模板上传两种录入方式。页面下侧对教学秘书和院系领导提供成绩修改与确认按钮。4.4工资条明细
该界面主要展示当前教职工自入职以来的工资明细情况,并提供Excel 文件下载。4.5教学资产登记与报修
该界面对后勤人员展示现有教学资产的明细情况,对已报修的资产,可进一步展示修理进度。对教师、辅导员、学生等提供报修选项,供其填写报修资产的损坏情况。
5结束语
本文研究设计的基于Spring 框架的教学管理系统采用了当前主流的前后端分离的设计方法,使用Spring 框架集成Secu⁃rity 、CAS 、MyBatis 等工具包实现单点登录、数据库操作、数据缓存等操作,从而完成能够提供JSON 数据服务的后端程序开发。对于前端页面,本文采用流行的Vue3.0技术进行开发,设计了五个主要页面,从而实现登录与退出、表单的申请与审批、成绩录入与审批、工资条明细展示、教学资产登记与报修等五个主要功能。
当然,本系统在设计上仍然存在一定缺陷,在使用Python 脚本进行高并发访问测试时发现系统对大流量访问的响应仍不理想,前端界面相对于主流OA 系统也稍显简陋。但根据目前的调研结果,在本系统的基础上进行界面和高并发性能上的优化,并根据用户体验做进一步调整后,相信能够取得更大的应用价值。
参考文献:
[1]闫海发,闫楠,郭亚川,等.基于机智云物联网智能家居系统[J].
电子世界,2018(2):8-10.
[2]李文杰.基于SSM 框架的高校信息采集与管理系统[J].信息记录材料,2019,20(10):144-145.
[3]潘承昌,吴恋,刘远珍,等.基于SSM 的商品智能推荐系统的开发研究[J].物联网技术,2018,8(7):73-75,77.
[4]冯传波,彭章友,张钟浩.基于Vue.js 的移动应用可视化平台的研究[J].工业控制计算机,2019,32(5):102-103.
[5]朱二华.基于Vue.js 的Web 前端应用研究[J].科技与创新,2017(20):119-121.
[6]柴青山.基于MVVM 模式的Vue.js 框架在物流软件自动化测试系统中的应用研究[D].北京:北京邮电大学,2019.
【通联编辑:李雅琪】
70

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。