基于B/S的高校学生缓考与课程重修管理系统设计与实现
2025-02-13林关成曾辰熙宋琦孔令阳
摘" " 要:针对高校学生缓考与课程重修统计审核效率低和数据错误率高等问题,研究分析了学生缓考与课程重修管理系统架构,利用B/S架构和SSM框架,应用Spring Security权限控制技术,结合MySQL数据库及Java开发语言,设计了具有高效、准确管理功能的学生缓考与课程重修Web管理系统,实现了学生缓考与课程重修申请、审核、下载以及审批统计与数据分析等功能。实践测试结果表明,系统运行稳定,管理功能全面,操作简单便捷,学生缓考与课程重修的申请与审核、审批统计与数据分析等信息准确,其功能达到了预期需求,为高校学生缓考与课程重修的信息化管理提供了借鉴。
关键词:地方高校;学生缓考与课程重修管理系统;SSM框架;B/S架构
中图分类号:TP391.1" " " " 文献标志码:A" " " " "文章编号:1009-5128(2025)02-0077-10
0" "引言
计算机技术的飞速发展使得信息化与数字化成为主导趋势。传统手工管理学生缓考与课程重修的方式已无法满足新时代管理的需求[1–2],为了更好地管理学生缓考与课程重修,国内外许多高校都开发了与其相适应的审核管理系统[3],用于取代传统的人工操作。但现有的高校学生缓考与课程重修管理系统仍存在审核实时性不足、安全性较低、用户体验度差、功能单一及数据统计方式与分析能力有限等缺点[4–5]。为了解决这些问题,需要设计和开发一套更加全面和完善的管理系统,以满足高校教学管理工作的需求。本文基于浏览器/服务器架构(B/S架构),运用J2EE软件开发技术[6],并整合MySQL后台数据库[7],同时与Spring Security安全控制权限和Redis缓存技术相结合[8],开发了适用于高校学生缓考与课程重修的管理系统[9]。该系统能够实现学生缓考与课程重修的申报、查询、统计、计算分析和报表生成等功能。[10]同时,通过整合优化课程缓考与重修的申请、查询、审核管理流程以及实时报表分析,方便课程缓考与重修管理,增强高校教学管理部门的工作效能。[11–12]通过分析报表,可以快速了解和掌握各学院、各专业、各年级学生缓考与课程重修的对比分析概况等信息,为学校的教育教学工作提供数据参考,实现课程缓考与重修的信息化和数字化管理[13]。
1" "学生缓考与课程重修管理系统架构与开发平台
1.1" "B/S架构
B/S架构(Browser/Server Architecture)是一种软件应用架构,其中浏览器(或客户端)作为前端,服务器作为后端。[14]在B/S架构中,当用户使用浏览器发送请求时,服务器会接收并对请求进行处理。其中前端执行一部分事务逻辑,而主要的事务逻辑在服务器端实施,最后将处理结果返回给浏览器展示,从而形成“三层”架构,B/S系统架构如图1所示。这种架构可以实现跨平台和跨设备的应用程序访问,并且可以通过在服务器端进行集中管理和维护,提高应用程序的安全性和稳定性。
1.2" "MVC模式
MVC模式将交互系统的组成分解为三个部件:模型(Model)、视图(View)和控制器(Controller),[15]模式如图2所示,其目的是将业务逻辑、数据和界面显示的代码独立出来,提高代码的复用性。因此,MVC模式具有明确的分层和清晰的结构特点,便于开发人员关注系统中特定模块,有助于系统的并行开发,提高开发效率。同时,在系统的后期维护和扩展方面,MVC模式也提供了极大的便利。
1.3" "Spring Security安全框架
Spring Security是一种框架,能够提供安全认证服务。[16]它基于Spring框架,核心模块主要包括认证、授权、攻击防护和权限管理等。Spring Security的认证流程是用户提交登录表单后,通过信息提供者进行验证并生成有效的身份验证令牌,然后将令牌存储在安全上下文中,以便后续访问授权。Spring Security安全框架功能强大、灵活可定制且易于使用,可帮助开发人员为应用程序系统提供较高级别的安全防护。
1.4" "系统开发平台
学生缓考与课程重修管理系统的前端使用Vue框架进行用户界面搭建,然后再使用HTML5整体布局,结合CSS3、JavaScript以及Ajax异步操作对页面进行设计和美化。系统权限动态管理通过Spring Security安全框架对系统的权限进行动态管理,方便系统后续对不同角色用户进行功能扩展。系统后期会有大量的数据统计和分析操作,需要高频访问数据库,此时系统的页面就会加载缓慢,最终会导致数据库系统崩溃。为解决上述问题,本系统利用Redis数据库进行数据缓存,有效提升系统网页的加载速度。此外,为增强系统安全性,采用MD5加密技术对密码进行校验,并使用Token机制进行身份验证。
2" "学生缓考与课程重修管理系统分析与设计
根据现有的高校学生缓考与课程重修管理的相关制度和操作流程,学生缓考与课程重修管理系统用户角色分为管理员、教师和学生三大类,管理员又分为教务处管理员、学院负责人和专业负责人三大角色。管理员具有职工管理、权限管理、角色管理以及数据统计分析和报表打印等核心功能。教师具有学生缓考与课程重修审核、学生成绩管理、审核数据分析报表打印等核心功能。学生具有申请管理、查看成绩、课程重修和科目缓考申请等功能。具体的角色管理功能划分和系统功能如图3所示。
2.1" "管理员角色
管理员角色包括教务处负责人、各学院负责人和各专业负责人,主要负责对学生提交的科目缓考与课程重修申请进行审核,并对所有用户进行账号管理和权限分配。数据分析利用ECharts功能框架查看统计图表,以掌握各二级学院课程重修和科目缓考的直观数据。学生管理是对学生基本信息如姓名、学号等进行维护,包括添加、删除、修改等操作。成绩管理是对学生成绩信息进行导入、导出和修改、查询等操作。首次审核是对学生提交的科目缓考和课程重修申请进行初审,查看申请详情后点击同意或拒绝。角色管理是为不同职位分配对应的操作权限,用户管理是对教学管理人员分配不同角色,菜单管理是对系统功能菜单进行隐藏、显示控制。教务处管理员通过以上功能对学生缓考与课程重修申请进行第一道审核和筛选,并管理整个教学信息系统的运行。
2.2" "教师角色
教师角色功能模块包括成绩管理、数据分析、审批管理、学生管理。其中成绩管理允许教师按模板批量录入、导出、增加、删除、修改、查询学生成绩等操作。数据分析功能可以查看审核任务数、重修人数、缓考人数以及本月申请总数等信息;系统的报表导出功能会根据数据库数据进行分析统计,生成Word格式的分析报告供教师下载使用。审批管理功能可查看未审批的申请信息,并对申请进行查看详情、同意、驳回等操作,还支持关键字搜索和分类搜索。学生管理功能主要用于教师对学生个人信息进行增、删、改、查等操作。
2.3" "学生角色
学生角色的功能设计主要包括申请管理、查看成绩、课程重修和科目缓考申请等模块。通过申请管理功能,学生可在线提交课程重修和科目缓考申请,系统会自动处理申请并将结果通知学生。查看成绩功能允许学生查询个人所有课程的成绩记录。如果学生需要重修某门课程,可通过课程重修模块填写个人信息和重修课程信息,选择重修原因后提交生成重修申请。对于需要缓考某个科目的学生,系统可提供科目缓考申请模块,学生需要填写基本信息、缓考科目、缓考原因并上传相关证明材料,填写完成后提交申请并等待审核结果。
2.4" "数据库设计
根据科目缓考与重修管理系统的整体框架设计要求,学生缓考与课程重修管理系统选择MySQL数据库作为后台数据库。为了满足系统的功能需求,设计科目缓考与课程重修申请表、成绩表、角色权限表、学生用户表、菜单表等9个数据库表,以便实现申请查询、统计审核和管理分析等功能。
系统数据库的核心表为科目缓考与课程重修申请表,申请表主要用于存储学生提交缓考和重修申请数据的详细信息,其字段主要包含:审批编号id(apply_id)、申请人学号id(applicant_id)、申请人姓名(applicant_name)、申请类别(apply_item)、科目名称(course_name)、学院(college)、审批人(apply_user)、审批状态(apply_status)、驳回理由(result)、创建时间(create_time)、审批时间(apply_time)、更新时间(update_time)。申请表的具体结构如表1所示。
3" "学生缓考与课程重修管理系统功能实现
根据需求分析和功能设计,遵循高校学生科目缓考与课程重修管理制度,按照科目缓考和课程重修申请和审批流程开发系统。系统的整体架构采用B/S模式,系统的前端采用Vue框架和JavaScript对系统界面进行美化设计。系统的后端逻辑功能则在IDEA2020平台上利用Spring Boot框架进行开发。该系统可实现学生角色的科目缓考与课程重修填报申请、成绩查询功能;教师角色的科目缓考与课程重修审批、数据检索与图表分析、学生成绩管理功能;教务处管理员角色的科目缓考与课程重修申请模板设置、审批流程、权限管理以及角色管理和报表导出等管理功能模块。系统后台管理界面如图4所示。
3.1" "学生缓考与课程重修申请功能实现
学生缓考与课程重修申请模块为学生用户提供科目缓考和课程重修两种不同的申请方式,学生可根据自己的实际情况选择对应的申请功能,填报相关信息并提交申请。学生课程重修申请填报界面和科目缓考申请填报界面分别如图5和图6所示,缓考与课程重修申请模块的核心代码如下:
算法1" "缓考与课程重修申请填报
输入:学生缓考与课程重修申请信息
输出:运行结果
Function save(Exam exam)
// 通过用户名获取学生信息
SysStudent sysStudent = sysStudentService.getUserByUserName(exam.getUsername());
// 设置考试的班级为学生的班级
exam.setStuClass(sysStudent.getStuClass())
// 保存考试信息到数据库
examService.save(exam);
// 创建一个申请对象
Application apply = new Application();
// 设置申请的相关信息
apply.setApplicantId(exam.getUsername());
apply.setApplicantName(exam.getName());
if exam.id==0
apply.setApplyItem(\"缓考申请\");
end if
if exam.id==1
apply.setApplyItem(\"重修申请\");
end if
apply.setCourseName(exam.getCourseName());
apply.setCollege(exam.getCollege());
apply.setCreateTime(exam.getCreateTime());
// 保存申请信息到数据库
applyService.save(apply);
// 返回表示成功的结果
return Result.ok();
end function
3.2" "科目缓考与课程重修审批功能实现
管理员和教师负责审批学生提交的科目缓考和课程重修申请,在审核过程中,根据学生的个人情况进行评估,并给出批准或驳回等相应的审核结果。如果申请审核通过,系统会在学生个人页面显示相应的审核状态。此外,系统还能对全校学生提交的申请信息进行汇总统计和报表导出。
科目缓考与课程重修审批模块的的主要代码如下,其运行结果界面如图7所示。
算法2" "缓考与课程重修审批
输入:申请id
输出:运行结果
Function Check(Longapply_id)
//获取提交申请id的信息
Application apply = baseMapper.selectById(apply_id);
//申请未通过
if apply.Status==2
apply.setResult(\"提交审批有误,请仔细检查后提交\");
end if
//申请通过
if" apply.Status==1
apply.setResult(\"同意申请\");
end if
//更新修改信息
apply.setApplyTime(LocalDateTime.now());
apply.setUpdateTime(LocalDateTime.now());
return apply;
end function
3.3" "分析报告生成功能实现
分析报告生成模块是通过POI-TL提供的简单易用的API,按照创建模板文件、加载模板文件、创建数据对象、填充数据、生成输出文件和输出结果的实现流程,将从数据库中查询到全校学生缓考与课程重修信息使用JAVA代码填充注入WORD模板相应的占位符,最后对数据进行封装处理后,将生成新的WORD文件输出。学生缓考与课程重修申请数据分析页面的主要代码如下,其运行结果界面如图8所示。
算法3" "分析报告生成
输入:响应
输出:word文件
functionexportDataWordD4(response)
Listlt;Maplt;String, Objectgt;gt; typeList = new ArrayList();
//组装表格列表数据
for ApplicationapplicationList:applicationsum do
Maplt;String, Objectgt; detailMap = new HashMap();
detailMap.put(\"index\", applicationList);
detailMap.put(\"apply\", applicationList.getCollege());
typeList.add(detailMap);
end for
//获取模板路径
ClassPathResource classPathResource = new ClassPathResource(\"static/moban.docx\");
String resource = classPathResource.getURL().getPath();
//渲染表格
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.newBuilder().bind(\"typeList\", policy).build();
Listlt;Stringgt; pictureTag = new ArrayListlt;gt;();
//填充数据和图片
XWPFTemplate template = XWPFTemplate.compile(resource, config).render(new HashMaplt;String,
Objectgt;() {{put(“typeList”, typeList);put(“photo”,newPictureRenderData(500,300,“photoPath”));
pictureTag.add(“photo”);}});
//生成文件保存在本地D盘某目录下
String temDir = \"D:/eduFile/report/\";
Long time = new Date().getTime();
// 生成的word格式
String formatSuffix = \".docx\";
// 拼接后的文件名
String fileName = time + formatSuffix;
//文件名+带后缀
FileOutputStream fos = new FileOutputStream(temDir + fileName);
template.write(fos);
ServletOutputStream outputStream = response.getOutputStream();
template.write(outputStream);
end function
3.4" "角色权限管理模块实现
角色权限管理主要涵盖角色管理和用户权限分配。采用Spring Security安全管理框架和MySQL数据库中的角色表、学生用户表、职工用户表以及用户角色权限表来实现权限管理功能。教务处管理员具备对角色、用户和权限进行增加、删除、修改和查询的能力。当成功分配角色权限时,系统将显示权限分配操作成功的提示信息;当未成功分配角色权限时,系统将提示权限分配操作失败。角色权限管理模块的主要代码如下,其运行结果界面如图9所示。
算法4" "角色权限管理
输入:权限id
输出:权限分配结果
function RoleInsetPower(id)
//创建wrapper用于构建查询条件
LambdaQueryWrapperlt;SysRoleMenugt; wrapper = new
LambdaQueryWrapperlt;gt;();
wrapper.eq(SysRoleMenu::getRoleId,assginMenuVo.
getRoleId());
//删除满足条件的角色菜单
sysRoleMenuService.remove(wrapper);
//存储菜单id的列表
Listlt;Longgt; menuIdList = assginMenuVo.getMenuIdList();
//进行遍历,把每个id数据添加菜单角色表
for Long menuId:menuIdListdo
if menuId==NULL
continue;
end if
SysRoleMenu sysRoleMenu = new SysRoleMenu();
sysRoleMenu.setMenuId(menuId);
sysRoleMenu.setRoleId(assginMenuVo.getRoleId());
//保存角色菜单信息
sysRoleMenuService.save(sysRoleMenu);
end for
end function
4" "结语
系统基于B/S架构,使用Java语言和MySQL数据库,前端和后端分别采用Vue框架和Spring Boot框架进行开发。利用Spring Security权限控制和Redis数据缓存等相关技术,设计并开发基于Web的学生缓考与课程重修管理系统,可实现学生缓考与课程重修申请、学生成绩分析、科目缓考与课程重修的审批统计以及数据报表汇总分析等功能。系统测试运行稳定、功能齐全、安全可靠,申请审批操作便捷,计算分析准确,统计汇总直观翔实,可提高学生科目缓考与课程重修管理的工作效率,为高校学生缓考与课程重修的信息化与数字化管理提供借鉴和指导。然而,对于大量学生用户同时访问系统的高并发等问题,尚需要进一步研究。
参考文献:
[1]" 莫逊.高校学生重修现状及对策[J].佳木斯职业学院学报,2019(4):50.
[2]" 张力.现代化手段对传统管理方式的冲击[J].兰台世界,1998(2):27.
[3]" 韩柯,车红梅,梁晶晶.基于B/S的考试成绩管理系统设计与实现及数据分析[J].河北工业科技,2012(6):366-369.
[4]" 刘玉,王冬,王振宇,等.结合正方教学管理系统应用方法浅谈重修工作的流程[J].电脑知识与技术,2021(15):120-121.
[5]" 杨波.高校重修课程管理存在问题与建议[J].中国科教创新导刊,2012(34):220.
[6]" 徐景秀. J2EE软件开发框架技术探讨[J].黑龙江科技信息,2011(35):119.
[7]" 薛航,林关成,李濠江,等.基于B/S的高校教师工作量管理系统[J].信息技术,2023(5):25-31.
[8]" 韩坤,林关成,安嘉豪,等.基于B/S的高校学生学业预警系统设计与实现[J].信息技术,2021(8):53-58.
[9]" 何国亮.高职院校重修信息化管理探析:以广西建设职业技术学院为例[J].科技信息,2012(32):242.
[10]" 马珊丹,周春儿.学分制下成人高教课程重修信息管理子系统的设计[J].湖北大学成人教育学院学报,2010(6):32-34.
[11]" 孙希瑾,王玮.高校课程重修计算机管理系统的研制与应用[J].建材高教理论与实践,2000(5):86-87.
[12]" 胡安军,辛悦照.高校课程重修教学管理存在的问题及其对策研究[J].青岛远洋船员职业学院学报,2023(1):69-71.
[13]" 沈镱武,徐弼昉,仇琦.高校教务管理系统信息化研究[J].科技风,2023(25):90-92.
[14]" 庄严.基于B/S结构的软件开发技术分析[J].电子制作,2016(24):44.
[15]" 黄伟.基于MVC架构的Web应用系统设计[J].微型机与应用,2004(11):13-15.
[16]" 周文红,晏素芬,蒋玉芳,等.Spring Security安全框架应用[J].计算机与现代化,2013(11):88-90.
【责任编辑" " 牛怀岗】
On the Design and Implementation of a Management System for Deferred Exams and Course Retakes for University Students Based on B/S
LIN Guancheng, ZENG Chenxi, SONG Qi, KONG Lingyang
(School of Computer Science and Technology, Weinan Normal University, Weinan 714099,China)
Abstract:In response to the problems of low efficiency in the statistical review and high data error rate in traditional university students’ deferred exams and course retake, this study analyzes the architecture of the student deferred exams and course retake management system. This study, combined with MySQL database and Java development language, through use of the B/S system and SSM framework, together with Spring Security permission control technology, designs a student deferred examination and course retaking web management system with efficient and accurate management functions, realizing the function of application for deferred exams and course retakes such as review, download, and approval statistics and data analysis. The test results shows that the system is stable in operation, with comprehensive management functions, simple and convenient operation, that the application and review, approval statistics, and data analysis information for deferred exams and course retakes are accurate, and that its functions have met the expected requirements, and it can provide reference for the information-based management of deferred exams and course retakes for university students.
Key words:local universities; management system for deferred exams and course retakes; SSM framework; B/S architecture
基金项目:陕西省教育科学“十四五”规划课题:基于OBE理念的SPOC混合式教学改革与实践(SGH23Y2625);陕西省教育科学“十四五”规划课题:数智时代地方高校教师教育服务基础教育的现状调查与对策研究(SGH24Y2346);陕西省哲学社会科学研究专项课题:数智时代教师教学能力提升策略研究(2025YB0155)
作者简介:林关成,男,陕西勉县人,渭南师范学院计算机学院教授,理学博士,主要从事信号与信息处理研究。