本文旨在介绍一篇题为《基于vue+springboot的程序设计课程在线测试系统的设计与实现》的学术论文。该文由广州城市职业学院的黄人薇与陈晓柱两位研究者共同完成,发表于期刊《河南科技》2026年第6期(总第925期)。该研究属于计算机科学与教育技术交叉领域,聚焦于高等教育信息化背景下,针对程序设计课程混合式教学的具体需求,设计并开发了一套专用的在线测试系统。
研究背景与目的
在大数据、云计算、人工智能、5G等信息技术的迅猛发展浪潮下,将信息技术与教育教学深度融合,构建数字化、网络化、智能化的教育信息化体系,已成为推动教育资源公平和教学质量提升的关键路径。在线测评系统作为教育信息化的重要组成部分,正逐步成为一种新型的教育学习检测模式。相较于传统纸质考试,在线测评系统在提升教师出题与批改效率、方便学生自主学习与复习方面具有显著优势。尽管已有研究者如姜一波和戴毅等运用SpringBoot和Vue等技术设计与实现了通用的在线考试系统,但这些系统往往存在“针对性不强”的问题,未能充分考虑程序设计课程在题型(如编程题)、评分方式(如自动判题与人工评阅结合)以及教学反馈(如错题分析)等方面的特殊需求。因此,本研究旨在填补这一空白,设计与实现一个专门服务于程序设计课程的在线测试系统,以促进该课程线上与线下教学的有机融合,满足教师快捷出题与自动批改、学生自主练习与诚信测试的需求,最终服务于逻辑思维能力、算法设计能力及编程解决实际问题能力的培养目标。
核心论点一:系统采用前后端分离的现代化架构,确保了开发效率、可维护性与用户体验。
本研究提出的系统在设计理念上严格遵循了前后端分离的原则。前端部分选用了渐进式JavaScript框架Vue.js,并结合Element Plus UI组件库进行界面构建。Vue.js的响应式数据绑定和虚拟DOM(Document Object Model)特性,使得前端界面能够高效、灵活地响应用户交互和数据变化。Element Plus则提供了丰富的预制组件(如表单、表格、弹窗等),极大地提升了开发效率并优化了最终用户的操作体验。后端部分则以SpringBoot框架为核心,这是一个基于Spring的、用于简化Java Web应用开发的开源工具。SpringBoot集成了多种Web框架,支持声明式事务管理,能够帮助开发者快速构建生产级别的应用程序。数据持久层采用MyBatisPlus,它是MyBatis的增强工具,进一步简化了数据库操作,提高了开发流程的效率。数据库选用关系型数据库MySQL。这种技术选型组合(Vue.js + SpringBoot + MyBatisPlus + MySQL)构成了当前主流的Web应用开发技术栈,其优势在于各组件成熟稳定、社区支持丰富,且能够通过Spring Security框架无缝集成安全控制,为系统提供了可靠的技术基础保障。
核心论点二:集成Spring Security框架,构建了多层次、细粒度的安全访问控制体系,保障系统数据与操作安全。
系统的安全性是教育应用不可忽视的环节。本研究采用了Spring Security框架来实现系统的认证(Authentication)与授权(Authorization)。系统预设了管理员、教师和学生三类角色,每类角色拥有不同的操作权限。Spring Security通过生成和校验JWT(JSON Web Token)令牌(token)来管理用户身份。当用户发起请求时,Spring Security会拦截请求并进行安全认证,验证令牌的有效性、时效性以及用户权限。只有通过校验的合法请求,才会被传递给后端的Spring MVC控制器进行业务逻辑处理。这种机制有效防止了未授权访问和数据泄露。此外,论文还提及了系统采用了多因素认证机制和安全密码策略等额外安全措施,并制定了数据定期备份与恢复策略,从而在访问控制、数据存储等多个层面构建了完整的安全防护体系。
核心论点三:系统功能设计紧密贴合程序设计课程的教学与测评全流程,实现了从题库管理到成绩分析的一体化管理。
该在线测试系统的功能模块设计全面覆盖了教学测评的各个环节,体现了其针对程序设计课程的专用性。主要功能模块包括:1. 用户与权限管理:由管理员负责用户管理和全局权限分配。2. 题库管理:教师可以创建和管理包括单选题、多选题、判断题、填空题、简答题和编程题在内的多种题型,并可设置试题难度、知识点归属等属性。3. 试卷管理:支持手动组卷和自动组卷两种模式。教师可设置考试时间、总分、规则等参数,灵活创建测试。4. 测试与作答管理:学生端可接收测试通知,在线完成答题。系统界面提供倒计时功能,并对客观题(如选择、判断)提供实时或提交后的自动判分。5. 批阅与成绩管理:这是系统的核心特色功能。对于客观题,系统实现自动评分;对于主观题(如简答题、编程题),则需要教师进行人工批阅评分,并可为学生提供“错题分析”。系统最终会生成完整的测试成绩。6. 统计分析:教师端可查看测试的统计信息,例如通过率柱状图等,以便于教学评估。7. 错题管理:学生端可以查看个人所有错题及详细分析,从而进行针对性复习。这些功能环环相扣,形成了一个“教、学、练、测、评、馈”的完整闭环,有效延伸了线下课堂教学。
核心论点四:系统实现了客观题自动评分与主观题人工批阅相结合的评价模式,并强调对学习过程的诊断与反馈。
本系统在设计上超越了简单的自动评分,而是致力于成为一个教学辅助与诊断工具。对于填空题、单选题、多选题和判断题等客观题型,系统能够实现完全自动化的评分,大大减轻了教师的重复性劳动。而对于程序设计课程中至关重要的简答题和编程题等主观题型,系统则采用了以教师人工批阅为主的方式。教师不仅给出分数,更重要的是能够提供“错题分析”。这一设计承认了高级思维技能和编程能力评价的复杂性,保留了教师专业判断的核心作用。同时,系统将学生的所有错题进行收集和管理,使学生能够清晰地了解自己的知识薄弱点。这种“自动评分+人工批阅+错题分析”的混合评价模式,兼顾了效率与深度,既方便了教师批阅,也帮助学生实现了精准的自我定位与提升,真正体现了信息技术对教学过程的赋能。
核心论点五:系统具有良好的扩展性、稳定性与可维护性,能够适应未来需求的变化。
论文在系统设计之初就考虑了长期演进的需求。在架构上,系统采用松耦合的模块化设计原则,这意味着各功能模块(如用户管理、题库管理、测试管理)可以相对独立地进行升级或扩展,而不会对系统其他部分造成过大影响。这种设计使系统能够灵活应对用户数量的增长和业务需求的变化。技术栈的选择也为此提供了支撑:Vue.js和SpringBoot生态拥有强大的社区和丰富的插件,便于集成新功能;MyBatisPlus简化了数据库操作,降低了后期维护的复杂度。此外,通过Spring Security实现的安全框架,也使得权限管理的调整变得清晰和可控。因此,该研究不仅交付了一个可用的系统,更提供了一个具备可持续发展潜力的技术框架。
意义与价值
本研究具有重要的理论意义与实践价值。在理论层面,它将现代软件工程中的前后端分离架构、组件化开发理念与具体的教育应用场景深度结合,为教育技术领域的系统开发提供了一个可参考的、规范化的技术实现范例。在实践层面,所设计与实现的系统直接回应了程序设计课程教学中的痛点,通过技术手段提升了教学效率与学习效果。系统不仅是考试工具,更是混合式教学的有力延伸,它通过自动组卷、智能评阅、数据分析等功能,助力教师进行精准教学,同时通过自主练习、错题分析等功能,支持学生进行个性化学习。该系统的应用,有望在促进教育公平、提升教学质量、推动教学模式改革方面发挥积极作用。论文最后指出,未来将根据在线测评的新需求进一步拓展系统功能,这体现了研究的开放性与前瞻性。