基于Java的在线编程考试系统【附源码】

毕业设计(论文)

题目:基于

二级学院: 现代技术学院
专业(方向): 计算机应用技术
班 级: 计科B2015
学 生:
指导教师:

2024年1月 29 日

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本科毕业论文(设计)学术诚信声明

本人郑重声明:所呈交的毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。

作者签名: 日期: 年 月 日

本科毕业论文(设计)版权使用授权书

本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权绵阳城市学院可以将本毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。

作者签名: 日期: 年 月 日

指导教师签名: 日期: 年 月 日

摘 要
随着信息技术的飞速发展,编程技能在当今社会中扮演着越来越重要的角色。对于许多学生、程序员和开发者来说,掌握编程技能不仅有助于提升个人职业竞争力,还能开启新的创新机会。然而,编程学习的过程往往充满了挑战。从初学者的困惑到熟练者的进阶,每个人在学习编程的过程中都可能遇到不同的问题。为了更好地帮助人们克服这些困难,本文提出并深入探讨了一种创新的解决方案:在线编程题测试系统。
本文首先对在线编程题测试系统的背景和意义进行了阐述。随着在线教育和远程学习的普及,学习者需要一个实时、互动的学习环境,以便随时随地进行编程练习和测试。传统的编程测试方法通常依赖于实体计算机和固定的考试环境,这无疑限制了学习者的灵活性和便利性。因此,开发一种在线的、便捷的编程题测试系统显得尤为重要。
接下来,本文详细介绍了在线编程题测试系统的设计和实现。系统采用模块化设计,包括用户界面、题库管理、代码评判和统计分析等部分。其中,代码评判模块是系统的核心,它采用先进的静态代码分析技术,能够快速准确地评估用户提交的代码质量。此外,系统还支持多种编程语言,以满足不同学习者的需求。
在系统的应用和效果评估部分,本文通过实证研究方法,对在线编程题测试系统在编程学习中的应用效果进行了深入分析。研究结果表明,使用该系统的学习者在编程技能和问题解决能力方面有显著提升。此外,系统还受到了学习者的高度评价,认为它为编程学习提供了更加便捷和有效的途径。
最后,本文对在线编程题测试系统的未来研究方向进行了展望。随着技术的不断进步和教育需求的不断变化,在线编程题测试系统需要持续优化和完善。未来的研究可以关注以下几个方面:如何进一步优化代码评判算法,提高评估的准确性和效率;如何引入更多元化的评估指标,更全面地反映学习者的编程能力和问题解决能力;如何将人工智能技术应用于在线编程题测试系统中,提供更加智能化的学习支持和服务。
总的来说,本文通过对在线编程题测试系统的深入研究和分析,揭示了其在编程学习中的重要价值和潜在影响。通过提供实时、互动的学习环境,该系统为学习者打开了新的学习路径,有助于提高编程技能和问题解决能力。在未来,随着技术的不断进步和教育理念的不断更新,我们期待在线编程题测试系统能够发挥更大的作用,为更多人带来学习和发展的机会。

关键词:在线编程题;测试;Java框架;MySQL

Design and implementation of online programming test system based on Java
Abstract: With the rapid development of information technology, programming skills play an increasingly important role in today’s society. For many students, programmers, and developers, mastering programming skills can not only enhance their professional competitiveness, but also open up new opportunities for innovation. However, the process of learning programming is often full of challenges. From the confusion of beginners to the advancement of skilled people, everyone may encounter different problems in the process of learning programming. In order to help people overcome these difficulties better, this paper proposes and discusses an innovative solution: online programming test system.
In this paper, the background and significance of online programming test system are described. With the popularity of online education and distance learning, learners need a real-time, interactive learning environment for programming exercises and tests anytime, anywhere. Traditional programming test methods usually rely on physical computers and fixed test environment, which undoubtedly limits the flexibility and convenience of learners. Therefore, it is very important to develop an online and convenient programming test system.
Next, this paper introduces the design and implementation of online programming test system in detail. The system adopts modular design, including user interface, question bank management, code evaluation and statistical analysis. Among them, the code evaluation module is the core of the system, it uses advanced static code analysis technology, can quickly and accurately evaluate the quality of the code submitted by users. In addition, the system supports multiple programming languages to meet the needs of different learners.
In the application and effect evaluation part of the system, this paper analyzes the application effect of online programming test system in programming learning through empirical research method. The results show that learners who use the system have significant improvements in programming skills and problem solving. In addition, the system has been highly evaluated by learners, believing that it provides a more convenient and effective way for programming learning.
Finally, the future research direction of online programming test system is prospected. With the continuous progress of technology and the constant change of educational needs, the online programming problem testing system needs to be continuously optimized and improved. Future research should focus on the following aspects: how to further optimize the code evaluation algorithm to improve the accuracy and efficiency of evaluation; How to introduce more diversified assessment indicators to reflect learners’ programming ability and problem solving ability more comprehensively; How to apply artificial intelligence technology to online programming test system to provide more intelligent learning support and service.
In general, through the in-depth research and analysis of online programming test system, this paper reveals its important value and potential influence in programming learning. By providing a real-time, interactive learning environment, the system opens up new learning paths for learners, helping to improve programming skills and problem solving. In the future, with the continuous progress of technology and the continuous update of educational concepts, we expect the online programming test system to play a greater role in bringing learning and development opportunities to more people.

Keywords: Online programming questions; Test; Java Framework; MySQL

目录
第1章 引言 9
1.1 研究背景 9
1.2 研究意义 9
1.3 国内外研究现状 10
1.3.1国外研究概况 10
1.3.2国内研究概况 10
第2章 系统开发的相关技术 10
2.1 SSM框架 10
2.2 Mysql数据库 11
2.3 Java简介 11
第3章 系统分析 11
3.1 系统设计目标 12
3.2 系统可行性分析 12
3.2.1 技术可行性 12
3.2.2 经济可行性 12
3.2.3 管理可行性 13
3.3 系统功能分析和描述 13
3.3.1学生端功能需求分析 14
3.3.2 管理员端功能需求分析 16
3.4系统流程分析 20
3.4.1添加信息流程 20
3.4.2操作流程 20
3.4.3删除信息流程 21
3.4.4考试管理系统数据流程 22
第4章 系统设计 23
4.1系统体系结构 23
4.2 数据库设计原则 23
4.3 数据库表 25
1、教师表 25
2、用户表 25
3、答案信息表 26
4、ToKen认证表 26
5、通知公告表 26
6、学生表 27
第5章 系统实现 27
5.1学生功能模块 28
5.1.1学生登录功能模块 28
5.1.2学生注册模块 29
5.1.3 个人中心模块 30
5.1.4考试模块 31
5.1.5考试错题本模块 32
5.1.6通知公告模块 33
5.1.7我的成绩信息模块 34
5.2管理员功能模块 35
5.2.1管理员登录功能模块 35
5.2.2学生管理模块 36
5.2.3产品介绍管理模块 37
5.2.4题库信息管理模块 38
5.2.5试卷管理模块 39
5.2.6通知公告管理模块 41
5.2.7 考试管理模块 42
5.2.7阅卷信息管理模块 43
5.2.8考试统计模块管理 44
5.2.9系统角色管理模块 45
6.系统测试 47
6.1测试定义及目的 47
6.2测试用例模块 47
6.2.1用户登录测试 48
6.2.2学生注册功能测试 48
6.2.3用户登录失败测试 49
6.2.4修改信息功能测试 49
6.2.5添加信息功能测试 49
6.2.6试题管理功能测试 50
6.2.7通知公告管理功能测试 50
6.2.8搜索查询功能测试 51
6.3测试结果 51
7.结论 52

第1章 引言
1.1 研究背景
互联网技术已经是未来的发展方向更是成为当代教育的一个特征之一。计算机网络给我们带来诸多的信息,也带来了无穷的便捷。线上网络教育也开始显山露水,在线编程题测试作为远程教育的一个分支也必然成为一个重要领域[1]。
随着网络技术的飞速发展,相应的教育有关系统也应该为同学们考虑,让学生们跟随网络发展的脚步实施更新自我的认知。学生们最关心的是什么,是考试!那么传统线下考试模式中,组织一次考试不仅需要消耗大量时间筹备,而且具有很多繁琐的步骤。明显的看来,学生的升学中伴随着考试类型的不断增加以及提高的考试要求,传统线下考试方式给学校、教师带来了很大的工作问题、工作压力。因此,设计在线编程题测试系统是非常有必要的,用来解决上述的一些问题。
1.2 研究意义
经济意义:
在线编程题测试系统可以大大降低考试成本,减少人力和物力的投入。传统的纸质考试需要印刷试卷、运输、监考等环节,耗费大量时间和资源。而在线编程题测试系统可以在线生成试卷,学生可以在线答题,自动评分和保存成绩,大大降低了考试成本,提高了效率。
社会意义:
在线编程题测试系统可以为学生提供更方便、更快捷的考试方式,不再受时间和地点的限制。同时,它可以为学生提供更多的考试资源,如各种类型的题目、知识点等,帮助学生更好地掌握知识。此外,在线编程题测试系统还可以为教师提供更准确、更及时的成绩反馈,帮助教师更好地评估学生的学习情况,从而更好地指导学生的学习。
个人意义:
在线编程题测试系统可以为学生提供更加个性化的学习方式。通过在线编程题测试系统,学生可以根据自己的学习进度和理解程度来选择适合自己的题目和难度,更好地检测自己的学习效果,并且可以随时随地自我检测和复习。同时,在线编程题测试系统还可以帮助学生更好地了解自己的知识点掌握情况,从而更好地制定学习计划和策略,提高学习效率。
1.3 国内外研究现状
1.3.1国外研究概况
在线编程教育已经开始慢慢普及,而在线编程题测试也会在在线教育的驱动下开花结果、其实早在1996年国外就出现了与线上教学相对应的线上考试,尤其是在一些发达国家中,随着技术的发展,人们对于系统的要求也越来越高,同时系统的完整性也变得更好,功能也越多,像TOEFL、GRE(美国研究生入学考试)、MSCE(微软系统工程师认证考试)等、Oracle认证考试等,这些都已经开始使用网络在线编程题测试来代替传统的纸质试卷。由于国外的在线编程题测试起步较早,所以他们在技术上也是比我们要成熟的[2]。
1.3.2国内研究概况
目前在我们国内,在线编程题测试还正处于蓬勃发展的时期,由于我们起步较晚所以我们在系统的应用方面还是要落后于国外的,所以应用也还不是非常普及,只有少数的国家级的简单考试会用到在线编程题测试,如普通话水平考试、机动车驾驶科一、科四考试等,但我们现在各大高校也开始慢慢重视起来这个问题,尤其是去年的疫情影响下,在线编程题测试的重要性便体现出来了[3]。
而我们国内较为成熟的在线编程题测试平台有由清华大学开发的雨课堂考试平台,还有微信小程序中的问卷星,这虽然不是一个专业的考试系统,但它的使用率在国内比任何一个考试系统要大,它主要适用于调研,投票,信息采集和在线编程题测试这几大用途。
第2章 系统开发的相关技术
2.1 SSM框架
SSM框架是由“SpringMvc”+“Spring”+“Mybatis”组合而成,很多程序员深受喜爱。Spring属于从大小和开销都是轻量级的;SSM框架其中功能之一的是控制反转,它能够促进各个模块中低耦合,从而方便后期的维护性;其中还有面向切面AOP,这个功能体现出不同的事物可以用不同的方式来验证,好处就是让程序员更方便快捷管理和配置应用对象。MyBatis是Java开发中最重要的部分之一,同时它也是Java的一个持久性框架,它的操作是可以将编写的对象或者Sql语句进行一系列的关联,从视觉上来看更加简洁明了。优点如下所示。
1、对刚入门或者初级程序员中是相对吸收较快的。
2、Sql数据固定写在Xml中,使得Sql数据更加容易得到统一管理、操作。
3、解除程序之间各个模块与Sql的耦合度,使得更容易维护操作。
4、主动提供Xml标签,让Sql数据更灵活[3]。
2.2 Mysql数据库
本文选择MySQL作为学生网络考试系统的数据库。MySQL是一款关联数据库管理系统,广受欢迎且特别适用于WEB应用。其最大的特点是数据存储在各种表格中,这样可以提高数据处理效率和灵活性。SQL语言是访问数据库的规范语言,为开发者提供了一种高效且简洁的方式来操作数据库。
MySQL实施了双重许可制度,这使得它既适用于大规模的网络开发者,也适用于中小规模的网络开发者。因此,考虑到其灵活性和广泛的应用性,我们选择MySQL作为学生网络考试系统的数据库来储存信息。
2.3 Java简介
Java语言是目前市场上所用频率最高的语言之一,它具有先天性的跨平台优势以及可以使用在电脑桌面端、移动端等快捷操作,这样的优势使得各大程序员偏爱Java语言,也让Java在后期以更快的速度进行维护优化,其中Java有封装性、多态性、继承性的面向对象的编程语言。
Java语言为何会产生跨平台的天然优势,这其中Java语言中间拥有了jvm虚拟机,当Java编译.java文件的时候可以转化为字节码文件,但是字节码文件都是相同的,可是jvm却不同,jvm根据每个服务器硬件所编写的,到最后jvm虚拟机会把当初的字节码文件再一次编译成服务器硬件上的指令集。所以就产生了“一次写成,处处运行”的作用[4]。
第3章 系统分析
3.1 系统设计目标
系统分析是在整个环节中是非常重要的步骤,它能够体现出系统最终版的功能是否完善。考试管理系统提供了用户对班级信息、通知公告、课程信息、试题管理、试卷、考试等信息的快捷操控性,能够让管理员在工作期间进行更好的存储所有数据信息及简单明了的检查及搜索功能。
系统所要实现的功能分析,方便在网络上进行管理,根据管理员本人的需求可以进行用户信息的增删改查功能,好处就是能够使使用者节约更多的时间,基本可以不用传统的方式,查阅纸质信息。所以开发考试管理系统不仅仅让管理员得到满意的需求,还能提高管理员的工作效率,减少复杂多样的工作量[5]。
3.2 系统可行性分析
在线编程题测试管理系统是以管理员对考试的增删改查为主体,以使用考试试卷的学生为次体,有班级信息管理、学生管理、老师管理、试卷管理等主要部分。此系统使用稳定的MySql数据库进行对系统前后端的数据交互,最终实现较为完整的考试管理系统。
3.2.1 技术可行性
根据技术层次方面,在线编程题测试系统主要基于SSM框架进行开发,前端页面采用Vue技术编写,后台使用了MySQL来进行数据交互,接入学生、老师、试卷等重要资源数据。SSM和Vue有一个共同的优点就是他们有自带的官方文档,进入他们的网站可以很方便查询到关键功能的文档编写,我们根据文档编写能够保证该系统的稳定性。MySQL 数据库从目前来说是市场上实用程度最广泛的数据库,其优点就是效率高,使得许多网站和软件都是基于MySQL 数据库开发的,能够稳定地实现对系统前台以及后台的数据交互和管理功能。因此,基于SSM框架的在线编程题测试管理系统从技术层面上来说具有较高的可行性[6]。
3.2.2 经济可行性
根据经济层次方面,在线编程题测试管理系统开发和运行过程所使用的软件都是免费的,这对于我们来说几乎是零成本,这样显得十分重要。参考官方文档并编程出的管理系统并没有过多要求,家用、商用的电脑都可以实现。其次,通过前期制作的UI视图,可以让管理员减少排列数据的时间和精力。最后,在线编程题测试管理系统实现了管理员的时间分配自由,具有一定的经济效益。因此,基于SSM框架的在线编程题测试管理系统从经济层面上是绝对有可行性的[7]。
3.2.3 管理可行性
根据管理层次方面,在线编程题测试管理系统是方便管理员使用的。随着经济快速发展,广大人民对电脑的使用程度越来越娴熟,用户使用此系统没有过多的阻碍,管理员经过简单试用便可轻松熟练掌握此系统的规则流程。在线编程题测试系统有诸多按钮用于管理和实现各种数据的增删改查,因此,在管理层次方面来说,具有很高的可行性。
根据多角度因素分析,基于SSM在线编程题测试管理系统的设计与实现均具有较高的可行性[8]。
3.3 系统功能分析和描述
该高校在线编程题测试管理系统总体分管理员和学生两个登录模块,为几种角色提供不同的界面展示。
管理员模块在整个系统中处于顶端位置,它能够集合整体的数据来操作,所涉及使用功能模块都关系到教师和角色的信息变化,其功能有:首页、个人中心、班级信息管理、学生管理、教师管理、通知公告管理、课程信息管理、试题管理、管理员管理、试卷管理、考试管理等。如图3.1示。

图3.1管理员示例图
教师端功能有:首页、个人中心、通知公告管理、课程信息管理、试卷管理、试题管理、考试管理等。
学生端功能有:首页、个人中心、通知公告管理、课程信息管理、考试管理等。如图3.2所示。

图3.2学生流程示例图
3.3.1学生端功能需求分析
3.3.1.1 注册登录功能需求
在线编程系统学生注册登录功能需求,在线编程系统应提供用户注册功能,以便学生能够创建自己的账户。注册功能应包括以下要求:

  1. 学生输入用户名、密码、邮箱和手机号码等信息进行注册。
  2. 系统验证用户名和邮箱的唯一性,避免重复注册。
  3. 学生完成验证后,系统自动创建账户并分配相应的权限。
    二、用户登录功能
    在线编程系统应提供用户登录功能,以便学生能够访问其账户。登录功能应包括以下要求:
    1.学生输入用户名和密码进行登录。
  4. 系统验证用户名和密码的正确性,以确认学生身份。
  5. 系统记录学生的登录状态,以便为其提供个性化服务。
  6. 学生可以退出登录,以保护账户安全。
    在线编程系统应允许学生修改自己的用户信息,以便保持账户的准确性。用户信息修改功能应包括以下要求:
  7. 学生可以修改自己的基本信息,如姓名、性别、年龄等。
  8. 学生可以修改自己的联系方式,如邮箱、手机号码等。
  9. 学生可以上传自己的头像或个人资料图片。
  10. 系统应对学生提交的信息进行合法性检查,以确保数据的有效性。
    在线编程系统应提供账户安全设置功能,以便学生能够保护自己的账户安全。安全设置功能应包括以下要求:
  11. 学生可以设置账户密码策略,如密码长度、复杂度等。
  12. 学生可以开启双重认证功能,以增加账户安全性。
  13. 学生可以设置账户通知选项,以便在发生异常情况时及时收到通知。
    3.3.1.2 产品介绍功能需求
    学生通过注册登录系统后,会进入到系统的首页,同时,需要设计一个弹窗,内容为“最新公告”弹窗,里面需要包含最新的考试信息,以方便学生进行及时考试,避免错过考试信息。

3.3.1.3 在线考试功能需求
在线编程测试系统的在线考试功能需求主要包括以下几点:

  1. 试题管理:系统需要提供完善的试题管理功能,包括试题的创建、编辑、删除等操作。试题的难度和知识点分配需要合理,以保证考试的有效性和公平性。
  2. 考试监控:系统需要实时监控考试过程,防止作弊行为。在考试过程中,系统应限制考生的网络访问、禁止复制粘贴操作等。
  3. 考试时间控制:系统应设定考试时间,保证考试能够在规定的时间内完成。在考试时间结束时,自动提交考试结果。
  4. 评分与结果分析:系统需要对考生的答题进行自动评分,并提供详细的结果分析。评分标准应客观、公正,能够真实反映考生的编程能力和知识水平。
  5. 考试记录与备份:系统应记录考试过程和结果,以便后续查阅和审核。同时,需要定期备份考试数据,防止数据丢失。
  6. 多用户并发考试:系统应支持多个考生同时在线考试,保证考试的顺利进行。在多用户并发考试的情况下,系统应具备良好的扩展性和稳定性。
  7. 安全性与隐私保护:系统需要对考生的个人信息和考试数据进行严格的安全保护,防止数据泄露和被篡改。同时,在收集和处理考生个人信息时,需遵守相关法律法规的规定。
    3.3.1.4 我的成绩功能需求
    在线考试系统的学生查看成绩功能需求主要包括以下几个方面:
  8. 登录验证:学生需要能够通过系统登录验证,以确认其身份并访问个人成绩。
  9. 成绩查询:学生应能够通过系统查询自己的考试成绩,包括各科目的分数和总分数等信息。
  10. 成绩展示方式:成绩的展示方式应清晰明了,可以以表格、图表等形式展示,方便学生查看和理解。
  11. 成绩分析:系统应提供对学生成绩的分析功能,包括分数分布、排名等情况,帮助学生了解自己在班级中的学习状况。
  12. 成绩导出:学生应能够将个人成绩导出,便于备份和打印,以备后续使用和查看。
  13. 安全性:系统应保障学生成绩的隐私和安全,防止成绩泄露或被篡改。
  14. 响应速度:学生查询成绩时,系统的响应速度应快,避免长时间的等待和卡顿。
  15. 界面友好:系统的界面设计应简洁明了,操作方便,符合学生的使用习惯。
  16. 可扩展性:系统应具备良好的可扩展性,能够根据学生的需求进行功能升级和改进。
  17. 稳定性:系统应具有稳定性,能够保证学生随时访问和使用,避免因系统故障等原因影响学生查看成绩。
    3.3.1.5 我的题库功能需求
    我的题库主要是未来学生提供一个良好的编程环境而设计的,学生可以针对自己的测试情况,从测试的题目中自己组合题目进行出题测试,具体需求:
    题库功能需求中,用户能够添加题目到题库中,包括题目内容、答案和解析。用户能够编辑和删除题库中的题目。用户能够按照一定的分类对题目进行管理,如难度、知识点等。用户能够按照关键词或条件搜索题库中的题目。用户能够查看题目的答案和解析。用户能够按照特定的排序方式对题目进行排序,如按照难度、知识点等。题目标签与分类,用户能够为题目添加标签,以便更好地管理和分类题目。用户能够根据不同的分类对题目进行筛选和查看。题目统计与报告,系统能够统计题目的数量、使用频率等信息,并提供相应的报表。用户能够下载题库中的题目,以便离线使用。
    3.3.2 管理员端功能需求分析

3.3.2.1 产品介绍管理功能需求
管理员通过登录系统后,可以对系统前端的产品介绍进行管理,具体权限为:对产品介绍进行添加、修改、删除等操作,让考生能够及时的查看系统的最新功能介绍,以及管理员可以通过此功能,当需要更新功能操作时,也可以让考试快速的看到变更的功能操作。

3.3.2.2 在线考试管理功能需求
管理员需要能够监控考生在前端的考试信息,比如考生A已经进行考试,所选择的考试试题,考试时间为多久,最终考试结果等信息进行监控,同时,管理员也能够进行考试终止,当发现有作弊的行为出现时,可以及时终止考试,维护考试环境的公平公正公开,让大家都能拥有一个良好的考试环境。

3.3.2.3 题库管理功能需求
考试题库管理功能需求主要包括以下几个方面:

  1. 题库设计:系统应提供完整的题库设计工具,支持多种题型,如单选题、多选题、填空题、简答题等。用户可以根据需求设置题库的难易程度和知识点分布。
  2. 题目管理:系统应提供完善的题目管理功能,包括题目的添加、编辑、删除等操作。用户可以根据需要随时更新题库内容。
  3. 批量导入:系统应支持批量导入题目,用户可以通过导入功能快速将大量题目添加到题库中,提高工作效率。
  4. 题库查询:系统应提供高效的查询功能,用户可以根据题目内容、知识点、难易程度等条件进行筛选和查询。
  5. 统计分析:系统应对题库中的题目进行统计分析,生成各种报表和图表,帮助用户了解题目的难度、知识点分布等情况。
  6. 题库安全:系统应保证题库的安全性,防止题目被泄露或被恶意修改。
  7. 权限管理:系统应提供完善的权限管理功能,根据不同用户的需求设置不同的权限,保证题库的规范使用。
  8. 题库同步:系统应支持题库的同步更新,确保不同用户在使用同一题库时能够获取到一致的题目内容。

3.3.2.4 试题管理功能需求
管理员需要对系统的试题进行统一管理,具体需求如下:

  1. 试题的录入:能够添加、编辑、删除试题,支持多种题型,如选择题、填空题、简答题等。
  2. 试题的查询与筛选:能够根据关键字、知识点、难度等条件对试题进行查询和筛选,方便对试题的查找和使用。
  3. 试题的分类与标签管理:能够对试题进行分类和标签管理,方便对试题的分类展示和使用。
  4. 试题的批量导入与导出:能够将试题批量导入到一个文件夹中,或者将试题导出为文件,方便试题的整理和使用。
  5. 试题的权限管理:能够对不同的人员设置不同的权限,确保试题的安全性。
  6. 试题的版本管理:能够对试题进行版本管理,记录每个试题的历史版本,方便对试题的追溯和回溯。
  7. 试题的评分与统计:能够对试题进行评分和统计,方便对学生的考试成绩进行评估和分析。
  8. 试题的在线编辑与实时预览:能够在平台上直接编辑试题,并且能够实时预览编辑效果,提高工作效率。
  9. 试题的自动排版与格式化:能够自动排版和格式化试题,使其更加整齐和美观。

3.3.2.5 阅卷管理功能需求
阅卷管理功能需求,系统应具备答案比对功能,能够将学生提交的答案与标准答案进行比对,自动判断答案的正确性。同时,系统应支持多种比对方式,如精确匹配、模糊匹配等,以满足不同题型的比对需求。
对于一些主观题或者需要人工判断的题目,系统应支持人工阅卷功能。用户可以手动输入学生答案的得分,并对学生的表现进行评估和备注。人工阅卷的结果应与自动比对的结果相结合,共同形成最终的得分。
系统应对学生的得分进行统计和分析,生成分数报表。用户可以按照不同的维度(如班级、科目、学生个体等)查看分数统计结果,以便了解学生的学习情况和考试效果。系统应具备考试监控功能,能够实时监控考试过程,确保考试的公正和公平。监控内容可以包括学生的答题情况、考试时间进度等,以便及时发现和解决异常情况。
此外,系统还提供诚信截图报告,管理员可以点击截图查看学生所签署的诚信报告,以此证明学生的考试行为。

3.3.2.7 考试统计功能需求
考试统计功能,管理员可以在后台通过此功能进行查看报表以及统计表等信息,包含有考生的考试通过率柱形图、折线图、扇形图分析,考试次数占比分析,某科目考生柱形图分析等图形化,可以为教师提供教学质量分析,有效的进行教学调整,可以提高教学质量,让学生能够掌握所学知识,学以致用。

3.3.2.8 系统公告管理需求
公告管理功能是现代企业或组织中不可或缺的一部分,主要用于发布、查询、修改、删除、置顶和评论各类公告,同时提供统计和权限管理功能,以确保公告的有效性、安全性和准确性。具体需求如下:

  1. 公告发布,系统应提供易于使用的界面,允许管理员或具有相应权限的用户发布公告。公告应包含标题、内容、发布时间等信息,并支持上传附件,如图片、文档等。
  2. 公告查询,用户应能够根据标题、内容、发布时间等关键字查询公告。系统应提供多种查询条件,如模糊查询、精确查询等。查询结果应按照相关度、发布时间等进行排序。
  3. 公告修改,管理员或具有相应权限的用户应能够修改已发布的公告。系统应保留修改记录,以便追踪公告的历史修改情况。
  4. 公告删除,管理员或具有相应权限的用户应能够删除已发布的公告。删除操作应不可逆,以防止误删重要公告。
    3.3.2.9 系统角色功能管理需求
    系统管理员需要对系统设置的角色进行权限管理,包含角色添加、删除、查询、修改等操作,保障系统每个角色都拥有属于自己的权限,但是不能赋值普通用户管理员权限,否则会导致系统逻辑混乱,甚至学生可以自己修改自己的考试成绩,这是系统编码中的严重错误,绝对不允许出现的。对角色的管理,也是对用户的使用提供一个良好的考试环境。
    3.3.2.10 用户管理功能需求
    用户管理功能需求,系统应提供权限管理功能,管理员可以根据不同的角色或用户组分配不同的权限。如果用户忘记密码,系统应提供密码重置功能,允许用户通过联系管理员获取密码,禁用/启用用户账户管理员应能够禁用或启用用户账户。禁用账户后,用户将无法登录;启用账户后,用户将能够登录并使用其账户。删除用户账
    管理员应能够删除用户账户,删除后用户的所有数据将被永久删除。

3.4系统流程分析
3.4.1添加信息流程
当我们开始添加信息时,系统将自动生成校验规则,用户不需要填写,用户根据校验规则来填写相关的数据,如果校验数据成功,那么将用户填写的有效数据进行统一保存管理,最终将添加至MySQL数据库中,当用户没有注意到校验规则时,填写的数据信息时无效的,系统将会提示用户数据信息有误。如图3.3所示。

图3.3 添加信息流程图
3.4.2操作流程
用户可以选择三种登录状态,当是学生第一次使用该系统时,我们首先要填写注册信息,注册成功后,数据将添入后台MySQL数据库中。如果是教师,管理员将自行添加数据信息,来让每一位老师获得登录权限。每一种状态代表的信息各有不同,当用户输入用户名和密码时,系统会将数据库中校验信息拿出来进行比对,比对成功后,则进入相应的功能界面,反之则无法进入该系统。具体操作流程图如图3.4所示。

图3.4操作流程图
3.4.3删除信息流程
这部分则提供了用户自我选择删除功能。根据系统中删除的提示符来提供删除功能。当用户选择删除功能时,系统会提供是否删除提示信息,以防止用户临时改变策略,删除成功后,随之数据库也将删除数据。具体删除操作如图3.5所示。

图3.5 删除信息流程图
3.4.4考试管理系统数据流程
管理员可在此考试管理系统中发布信息、增删改查相关信息及流程,学生/教师登录后可查看相关考试信息[10]。数据流程如图3.6所示。

图3.6 系统数据流程图

第4章 系统设计
4.1系统体系结构
主界面、首页、个人中心、班级信息管理、学生管理、教师管理、通知公告管理、课程信息管理、试题管理、管理员管理、试卷管理、考试管理。在线编程题测试管理登录系统结构图,如图4.1所示:

图4.2 登录结构图
4.2 数据库设计原则
数据库同步操作实现交互式体验。E-R图描述现实世界概念模型,帮助开发人员和用户理解业务需求并转化为软件代码,提高开发效率和降低项目风险。E-R图由关系、实体和属性三个基本元素组成。在线编程题测试系统功能全面,满足需求,如系统功能E-R图所示(如图4.3所示)。

图4.3系统E-R图

其中学生信息E-R图,如图4.4所示。

图4.4学生信息E-R图

教师信息E-R图,如图4.5所示。

图4.5教师信息E-R图
4.3 数据库表
基于SSM框架的高校在线编程题测试管理系统后台数据采用 MySQL 数据库进行整合,有关数据库中的数据表如下。
1、教师表
主要包含:ID、创建时间、教师工号、密码、教师姓名、性别、手机、邮箱、主教课程。教师表如表4-1所示。
表4-1 教师表
字段名称 字段意义 字段类型 字段长度 是否主键 能否为空
id 编号 bigint 20 是 否
addtime 创建时间 timestamp 255 否 否
gonghao 教师工号 varchar 255 否 是
mima 密码 longtext 255 否 是
xingming 教师姓名 date 255 否 是
xingbie 性别 int 255 否 是
shouji 手机号 varchar 255 否 是
youxiang 邮箱 varhcar 255 否 是
kecheng 主教课程 varchar 255 否 是

2、用户表
主要包含:ID、用户名称、密码、角色、新增时间。用户表如表4-2所示。
表4-2 用户表
字段名称 字段意义 字段类型 字段长度 是否主键 能否为空

id 编号 bigint 20 是 否
username 用户名称 varchar 20 否 否
password 密码 varchar 20 否 否
role 角色 varchar 255 否 是
addtime 新增时间 timestamp 255 否 否
3、答案信息表
主要包含:ID、创建时间、答案编号、图片、分析、对错。答案信息表如表4-3所示。
表4-3答案信息表
字段名称 键 字段类型 字段长度 注释 能否为空
id 主键 int 0 答案表的主键 True
all_option longtext 0 当前题目所有答案的信息 False
images longtext 0 答案的图片路径 False
analysis longtext 0 答案解析 False
question_id int 0 对应题目的id True
true_option varchar 25 正确的选项对应的下标 False
4、ToKen认证表
主要包含:ID、用户名、表名、角色、密码、新增时间、过期时间。ToKen认证表如表4-4所示。
表4-4:ToKen认证表
字段名称 字段意义 字段类型 字段长度 是否主键 能否为空
id 编号 bigint 20 是 否
userid 用户编号 bigint 20 否 是
username 用户名 varchar 255 否 是
tablename 表名 varchar 255 否 是
role 角色 varchar 255 否 是
token 校验 bigint 255 否 是
addtime 新增时间 varchar 255 否 是
expiratedtime 过期时间 varchar 255 否 是
5、通知公告表
主要包含:ID、创建时间、标题、摘要、相关附件、内容、发布日期。通知公告表如表4-5所示。
表4-5 通知公告表
字段名称 字段意义 字段类型 字段长度 是否主键 能否为空
id 编号 bigint 20 是 否
addtime 新增时间 varchar 255 否 是
biaoti 标题 varchar 255 否 是
zhaiyao 摘要 varchar 255 否 是
fujian 相关附件 varchar 255 否 是
neirong 内容 varchar 255 否 是
faburiqi 发布日期 varchar 255 否 是
6、学生表
主要包含:ID、创建时间、学号、密码、学生姓名、性别、出生日期、联系电话、班级。学生表如表4-6所示。
表4-6 学生表
字段名称 字段意义 字段类型 字段长度 是否主键 能否为空
id 编号 bigint 20 是 否
addtime 新增日期 varchar 255 否 是
xuehao 学号 varchar 255 否 是
mima 密码 varchar 255 否 是
xingming 姓名 varchar 255 否 是
xingbie 性别 varchar 255 否 是
riqi 出生日期 varchar 255 否 是
dianhua 联系电话 varchar 255 否 是
banji 班级 varchar 255 否 是

第5章 系统实现
5.1学生功能模块
5.1.1学生登录功能模块
学生打开系统后,根据图示选择角色登录,并输入账号密码来验证登录。如图5.1所示。

图5.1 用户登录界面图
登录的关键代码如代码1所示。
代码1 登录关键代码
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: http({ url:`{this.tableName}/login?username=KaTeX parse error: Expected 'EOF', got '&' at position 27: …Form.username} &̲password={this.rulesForm.password}`,
method: “post”
}).then(({ data }) => {
if (data && data.code === 0) {
this. s t o r a g e . s e t ( " T o k e n " , d a t a . t o k e n ) ; t h i s . storage.set("Token", data.token); this. storage.set("Token",data.token);this.storage.set(“role”, this.rulesForm.role);
this. s t o r a g e . s e t ( " s e s s i o n T a b l e " , t h i s . t a b l e N a m e ) ; t h i s . storage.set("sessionTable", this.tableName); this. storage.set("sessionTable",this.tableName);this.storage.set(“adminName”, this.rulesForm.username);
this.KaTeX parse error: Expected 'EOF', got '}' at position 46: …/" }); }̲ else { …message.error(data.msg);
}
});
5.1.2学生注册模块
学生点击注册后,根据学号、密码、学生姓名、联系电话。注册相关个人信息。如图5.2所示。

图5.2 用户注册界面图
关键代码如代码2所示。
代码2 关键性代码
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … url: `{this.tableName}/register`,
method: “post”,
data:this.ruleForm
}).then(({ data }) => {
if (data && data.code === 0) {
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.router.replace({ path: “/login” });
}
});
} else {
this.$message.error(data.msg);
5.1.3 个人中心模块
学生登录系统后,输入原密码后、新密码、确认密码操作后点击“确定”修改密码。如图5.3所示。

图5.3 修改密码界面图
学生登录系统后,也可以根据自己学号、姓名、性别、出生年月、联系电话、班级来修改个人信息。如图5.4所示。

图5.4 用户个人信息界面图
更新数据的关键代码如代码3所示。
代码3 个人中心关键代码
this.user.password = this.ruleForm.newpassword;
this.user.mima = this.ruleForm.newpassword;
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … url: `{this.KaTeX parse error: Expected 'EOF', got '}' at position 28: …"sessionTable")}̲/update`, …message({
message: “修改密码成功,下次登录系统生效”,
type: “success”,
duration: 1500,
onClose: () => {
}
});
} else {
this.$message.error(data.msg);
5.1.4考试模块
学生登录系统后,看到图中的“21”代表教师命名的试卷称号,然后点击右侧的“考试”来参加考试。如图5.5所示。

图5.5 用户考试界面图

关键代码如代码4所示。
代码4 考试模块关键代码
submitTap() {
let myscore = 0;
if (this.ruleForm.type == 1) {
console.log(this.answer);
this.answer = this.answer.join(“,”);
}
this.isSubmitFlag = true;
if (this.answer == this.ruleForm.answer) {
this.score = Number(this.score) +Number(this.ruleForm.score) ;
myscore = this.ruleForm.score;
}
5.1.5考试错题本模块
学生登录后,选择考试管理中的考试。考试结束后,错题本会展示学生的信息,包括用户ID、试卷序列号、试卷名称、分值、正确答案、考生答案、试卷分析、考试时间。如图5.6所示。

图5.6错题本记录界面图
关键代码如代码5所示。
代码5 考试错题本关键代码
// 获取数据列表
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … url: this.api.examrecordpage,
this.totalPage = data.data.total;
} else {
this.dataList = [];
this.totalPage = 0;
}
this.dataListLoading = false;
});
},
5.1.6通知公告模块
学生点击通知公告管理后,根据按钮提示可以查看通知公告或者另行下载管理员所上传的附件。如图5.7所示
图5.7 通知公告界面图
关键代码如代码6所示。
代码6 通知公告关键代码
// 下载
download(file){
window.open(${file})
},
// 初始化
init(id,type) {
if (id) {
this.id = id;
this.type = type;
}
5.1.7我的成绩信息模块
学生点击我的成绩信息后,根据管理所发布的信息查看成绩。如图5.8所示。

图5.8 成绩信息界面图
关键代码如代码7所示。
代码7 成绩信息关键代码
onClose: () => {
this.parent.showFlag = true;
this.parent.addOrUpdateFlag = false;
this.parent.kechengxinxiCrossAddOrUpdateFlag = false;
this.parent.search();
this.parent.contentStyleChange();
}
});
} else {
this.$message.error(data.msg);
}

5.2管理员功能模块
5.2.1管理员登录功能模块
管理员打开系统后,根据图示选择角色账号登录,并输入账号密码来验证登录。如图5.9所示。
图5.9 管理员登录界面图
关键代码如代码8所示。
代码8 管理员登录关键代码
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: http({ url:`{this.tableName}/login?username=KaTeX parse error: Expected 'EOF', got '&' at position 27: …Form.username} &̲password={this.rulesForm.password}`,
method: “post”
}).then(({ data }) => {
if (data && data.code === 0) {
this. s t o r a g e . s e t ( " T o k e n " , d a t a . t o k e n ) ; t h i s . storage.set("Token", data.token); this. storage.set("Token",data.token);this.storage.set(“role”, this.rulesForm.role);
this. s t o r a g e . s e t ( " s e s s i o n T a b l e " , t h i s . t a b l e N a m e ) ; t h i s . storage.set("sessionTable", this.tableName); this. storage.set("sessionTable",this.tableName);this.storage.set(“adminName”, this.rulesForm.username);
this.KaTeX parse error: Expected 'EOF', got '}' at position 46: …/" }); }̲ else { …message.error(data.msg);
}
});
5.2.2学生管理模块
管理员根据学生的需求可以点击右侧的“修改”和“删除”按钮,来修改学生的个人信息。如图5.10所示。

图5.10 修改学生信息界面图
关键代码如代码9所示。
代码9 学生管理关键代码
// 添加/修改
addOrUpdateHandler(id,type) {
this.showFlag = false;
this.addOrUpdateFlag = true;
this.crossAddOrUpdateFlag = false;
if(type!=‘info’){
type = ‘else’;
}
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: …{ this.refs.addOrUpdate.init(id,type);
});
},
// 删除
deleteHandler(id) {
var ids = id
? [Number(id)]
: this.dataListSelections.map(item => {
return Number(item.id);}
5.2.3产品介绍管理模块
管理员可以根据图中的“详情”、“修改”、“删除”对教师个人信息进行修改操作。如图5.11所示。
图5.11 产品管理信息界面图
代码10管理关键代码
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.http({
url: jiaoshi/${!this.ruleForm.id ? "save" : "update"},
method: “post”,
data: this.ruleForm
}).then(({ data }) => {
if (data && data.code === 0) {
this.$message({
message: “操作成功”,
type: “success”,
duration: 1500,

5.2.4题库信息管理模块
管理员可以根据图中的“详情”、“修改”、“删除”对班级信息中的人数以及班主任进行修改操作。如图5.12所示。
图5.12 修改班级信息界面图
关键代码如代码11所示。
代码11 班级信息管理关键代码
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … url: `{this.KaTeX parse error: Expected 'EOF', got '}' at position 28: …'sessionTable')}̲/session`, …message.error(data.msg);
}
});
},
// 多级联动参数
info(id) {
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: …anjixinxi/info/{id}`,
method: “get”
}).then(({ data }) => {
if (data && data.code === 0) {
this.ruleForm = data.data;
} else {
this.$message.error(data.msg);
}
5.2.5试卷管理模块
图中是管理员已经创建好的“21”试卷,管理员可以在试卷的左侧几个按钮中设置试卷的相关属性,如考试名称、考试时长、试卷状态。如图5.13所示。
图5.13 考试试卷界面图

关键代码如代码12所示。
代码12 试卷管理关键代码
//更新
addOrUpdateHandler(id) {
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: …Records?userid={this.user.id}&paperid=KaTeX parse error: Expected 'EOF', got '}' at position 55: …data: {} }̲).then(({ data …router.push({
name: “adminexam”,
params: {
id: id
}
// 删除
deleteHandler(id) {
var ids = id
? [Number(id)]
: this.dataListSelections.map(item => {
return Number(item.id);
});
this. c o n f i r m ( ‘ 确定进行 [ confirm(`确定进行[ confirm(确定进行[{id ? “删除” : “批量删除”}]操作?, "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }) 5.2.6通知公告管理模块 管理员点击通知公告管理模块后,可根据学校要求来添加通知公告一系列信息,让教师和学生能够及时了解学校的信息。如图5.14所示。 图5.14通知公告管理模块 关键代码如代码13所示。 代码13 通知公告关键代码 // 下载 download(file){ window.open(KaTeX parse error: Expected 'EOF', got '}' at position 14: {file}`) }̲, //添加修改 …nextTick(() => {
this.$refs.addOrUpdate.init(id,type);
});
},

5.2.7 考试管理模块

5.2.7阅卷信息管理模块
根据学校要求,管理员添加相关教师授课信息,让教师能够及时得到上课信息。如图5.15所示。

图5.15课程信息管理模块
关键代码如代码14所示。
代码14 课程信息管理关键代码
onClose: () => {
this.parent.showFlag = true;
this.parent.addOrUpdateFlag = false;
this.parent.kechengxinxiCrossAddOrUpdateFlag = false;
his.parent.search();
this.parent.contentStyleChange();
});
} else {
this.$message.error(data.msg);
5.2.8考试统计模块管理
高校管理员不够时,可手动新增管理员来缓解压力,新增后功能一样,皆可按系统功能模块使用。如图5.16所示。

图5.16管理员管理模块
关键代码如代码15所示。
代码15 管理员管理关键代码
onSubmit() {
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.http({
url: users/${!this.ruleForm.id ? "save" : "update"},
method: “post”,
data: this.ruleForm
}).then(({ data }) => {
if (data && data.code === 0) {
this.KaTeX parse error: Expected 'EOF', got '}' at position 449: …); }̲ else { …message.error(data.msg);
}
5.2.9系统角色管理模块
管理员点击系统设置-角色管理后,通过上一步管理创建名称,根据系统所需要的角色,进行系统角色功能管理。如图5.17所示。

图5.17试题管理模块
关键代码如代码16所示。
代码16 试题管理关键代码
// 添加/修改
addOrUpdateHandler(id) {
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: …Records?userid={this.user.id}&paperid=KaTeX parse error: Expected 'EOF', got '}' at position 55: …data: {} }̲).then(({ data …router.push({
name: “adminexam”,
params: {
id: id
}

6.系统测试
6.1测试定义及目的
关于系统功能的试验,英文名称为SyStem TEST,缩写为ST,ST指一个人完成了其系统中的各种功能多次、多项目、多条件试验,也就是对ST的简化表述。ST可以验证这些技术对系统的需求能否获得满足并且能否有效。
关于系统开发的实现,不管开发过程中如何努力,在系统执行的同时多少也会发生一些错误信息,但是为了保证系统的稳定性和增加系统的资源利用率以及为客户提供良好的服务,在系统开发实现之前,要进行完整系统所有步骤的测试,没有完好无缺的事物,这包括了计算机设计,当然我们可以根据罗列排查问题,当我们发现问题无法解决或者不可避免时,可以去参考图书,询问老师等及时解决这些问题,使得系统接近完美的结局。虽然说系统测试是消耗精力时间的,但是从好的方面来说,这是值得肯定的,发现一个错误就能在以后使用过程中减少一些致命问题。最后总的来说,系统测试是非常重要的一个环节,同时也保证了用户在日后使用中,有个舒适的体验效果。
6.2测试用例模块
我们通过以下表格来测试一些基本使用过程。情况如下表6-1所示。
表6-1测试功能表
测试需求 测试重点 是否达成需求 结果
用户登录 输入账号密码 需求达成 通过
用户注册 创建新的账号密码 需求达成 通过
登录失败 输入错误账号密码 需求达成 通过
修改信息 修改成功 需求达成 通过
添加信息管理 增删查改 需求达成 通过
试题管理 增删查改 需求达成 通过
通知公告管理 增删查改 需求达成 通过
搜索查询管理 增删查改 需求达成 通过
6.2.1用户登录测试
用户通过页面可以根据自我情况来选择登录方式,这里我以学生方式为例,具体内容如图6.1所示。
图6.1 用户登录测试
学生通过账号密码登录系统,登录后cookie存储token用于验证。刷新网页后,登录信息仍然保留,证明登录功能正常。
6.2.2学生注册功能测试
我们进入系统后,发现没有账号密码,这时我们就要选择下方的注册学生的提示符,具体情况如下图6.2所示。

图6.2 用户注册测试
这里我们可以知道注册的功能是没有任何问题,当我们选择注册,写入的信息将被存储到后台MySQL数据库中,所以这里的测试是通过的。
6.2.3用户登录失败测试
我们进入系统后,这时候测试登录的问题,是否会写入错误的账号密码也成功登录系统。如下图6.3所示。

图6.3 用户登录失败测试
输入账号密码错误导致无法登入系统,确保了系统安全性,因此系统登录失败测试可以通过。
6.2.4修改信息功能测试
成功登入系统后,发现学生有不满意的个人信息,我们就可以自我修改信息,我们来测试修改信息的功能,如下图6.4所示。

图6.4 用户修改信息测试
从上发现,用户修改的个人信息后,点击“修改”按钮,那么后台MySQL数据库
中是立马能够更新数据的,到最后,这里的用户修改信息测试是没有问题的。
6.2.5添加信息功能测试
添加信息功能测试,是后台管理人员来添加,这时我们登录管理员账号来实现。具体情况如下6.5所示。

图6.5 添加信息测试
从上发现,添加信息功能测试是那么后台MySQL数据库中是添加该数据的,到最后,这里的用户添加信息测试是没有问题的。
6.2.6试题管理功能测试
毫无疑问,这个功能在整个环节是至关重要的,本系统设计的在线编程题测试系统就是针对考试、试题等关键测试。这关乎到学生是否能正常线上考试。具体如下图6.6所示。

图6.6 考试试题功能测试
考试功能测试正常,基本功能实现,但需要持续维护改善以更符合用户需求,目标实现中。功能暂时通过。
6.2.7通知公告管理功能测试
我们需要测试管理员在日常生活中需要传达相关附件给老师使用,这是通知公告的一个小功能,具体如下图6.7所示。

图6.7通知公告功能测试
上传非图片文件时,附件无法正常显示,但可正常下载,通知公告功能中的上传和下载功能可实现。
6.2.8搜索查询功能测试
在日常生活使用,搜索查询功能也是相当重要的一部分,这能够让管理者节约大量
的时间,提供了更多的效率,具体如下图6.8所示。

图6.8搜索查询功能测试
以上展示表格部分功能,点击搜索栏并输入关键字,系统会展示所需信息,给使用者提供便利,因此搜索查询功能测试通过。
6.3测试结果
经过测试,基于SSM框架的在线编程题测试管理系统各模块功能实现并且满足用户日常使用,操作简单易懂,值得推广。系统尚未完善,监考模块未实现,试题功能不完善,缺少主观阅读题,可视化图形未实现。

7.结论
通过管理员和用户端的操作,实现了在线编程题测试管理系统的设计。本系统采用SSM+Vue+MySQL框架和element-UI等组件库,提高了开发效率。使用MySQL存储数据,通过Java实现前后端数据交互。主要功能包括在线增删改查试卷试题和自动化评比学生成绩。但未实现防作弊和可视化展示,需要进一步完善。系统设计过程中,提高了自己的技能经验,也让自己明白学习计算机知识是永无止境的。自学相关知识,完成了系统设计,带来了无限的喜悦和成就感。同时也提高了自己的独立思考和动手能力。

参考文献:
[1]来学伟,鲁晓辉. 基于JavaScript在线编程题测试系统的设计与实现[J]. 电脑知识与技术,2022,18(24):51-52+55.
[2]张旭辉,郭华瑞. 在线编程题测试系统的设计与实现[J]. 电脑编程技巧与维护,2022,(06):13-14+35.
[3]李晓薇. vue.js前端应用技术分析[J]. 网络安全技术与应用,2022,(04):44-45.
[4]苏扬. 基于Vue.js的单页面WebGIS可视化框架[J]. 数字技术与应用,2022,40(03):183-185.
[5]刘亚茹,张军. Vue.js框架在网站前端开发中的研究[J]. 电脑编程技巧与维护,2022,(01):18-19+39.
[6]熊柏祥. 基于Springboot和Vue框架的考试资源服务平台的设计与实现[J]. 信息与电脑(理论版),2022,34(01):97-99+103.
[7]叶欣,陈磊,杨小国,刘柳,朱接文. 基于B/S模式的在线编程题测试管理系统的分析与设计[J]. 电脑知识与技术,2021,17(35):48-50.
[8]贾志培. 在线编程题测试系统的研究与实现[D].山东大学,2021.
[9]任焕海. 基于B/S架构的在线编程题测试系统设计与实现[J]. 现代信息科技,2021,5(22):13-16.
[10]谢利敏,刘欢,柴立岩. 在线编程题测试系统的设计与实现[J]. 无线互联科技,2021,18(13):49-50.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/360462.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决vs2022scanf报错问题

vs2022scanf报错问题 大家下完vs2022之后,开心的写下一段简单的代码: #include <stdio.h> #include <stdlib.h>int main() {int a;scanf("%d", &a);printf("%d", a);return 0; } vs2022会毫不犹豫的报错,下面是报错信息: 翻译过来就是v…

打造爆款秘籍:阿里巴巴国际站测评补单优势全攻略

在阿里巴巴国际站&#xff0c;买家复购率和其他销售指标是衡量产品市场潜力和销售成功与否的关键指标。当系统评估出产品具有巨大的市场潜力时&#xff0c;它会相应地增加对产品的流量支持&#xff1b;反之&#xff0c;如果潜力不足&#xff0c;产品的排名将会受到影响&#xf…

CMA软件测试报告对企业和用户有什么好处?

CMA是中国计量认证的简称&#xff0c;由省级以上人民政府计量行政部门对检测机构的检测能力及可靠性进行的一种全面的认证及评价&#xff0c;认证对象是所有对社会出具公正数据的产品质量监督检验机构及其它各类实验室&#xff0c;是需要强制性认证的资质。取得该资质认证的&am…

DS:堆的应用——两种算法和TOP-K问题

欢迎来到Harper.Lee的学习世界&#xff01;博主主页传送门&#xff1a;Harper.Lee的博客主页想要一起进步的uu可以来后台找我哦&#xff01; 一、堆的排序 1.1 向上调整——建小堆 1.1.1 代码实现 //时间复杂度&#xff1a;O(N*logN) //空间复杂度&#xff1a;O(logN) for (…

数据结构与算法—空间复杂度详解与示例(C#,C++)

文章目录 1. 数据结构概述2. 空间复杂度的定义及影响因素3. 空间复杂度的区分常数空间复杂度&#xff08;O(1)&#xff09;线性空间复杂度&#xff08;O(n)&#xff09;其他空间复杂度 4. 几种典型数据结构的优缺点分析数组&#xff08;Array&#xff09;链表&#xff08;Linke…

【linux基础awk】如何基于强大的awk打印列、计算

打印列 awk {print $1} test.txt#-F参数去指定分隔的字符 awk -F "," {print $1,$2} file 匹配打印列 awk /a/ {print $4 "\t" $3} test.txt筛选数值 仅打印那些含有多于18个字符的行。awk length($0) > 18 test.txt 统计数目 #统计行数 less num…

力扣921. 使括号有效的最少添加

Problem: 921. 使括号有效的最少添加 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.定义int变量res、need分别记录需要插入的左括号数和所需与左括号配对的右括号数&#xff1b; 2.遍历字符串&#xff1a; 2.1.若当为左括号&#xff0c;则need&#xff0c;表示…

JavaWeb系列八: WEB 开发通信协议(HTTP协议)

HTTP协议 官方文档什么是HTTP协议快速入门页面请求的一个问题(分析)http请求包分析(get)http请求包分析(post)GET请求 POST请求分别有哪些http响应包分析常用的状态码说明状态码200状态码404状态码500状态码302状态码304 MIME类型MIME介绍常见的 MIME 类型 官方文档 HTTP常见请…

2-自动驾驶关键技术框架

框架 来自《自动驾驶汽车决策与控制》这本书 三大技术 车载平台的关键技术&#xff1a; 环境感知技术&#xff1a;这是自动驾驶车辆能够“看”和“感知”周围世界的技术。它包括使用摄像头、雷达、激光雷达&#xff08;Lidar&#xff09;和超声波传感器来检测和识别道路、障…

办公人导航-上网导航,找网站,下软件,找资源!

办公人导航是一个专门为办公人员设计的实用导航网站&#xff0c;旨在帮助用户高效地找到各种优质的办公资源和工具。无论是需要查找办公软件、学习资源还是娱乐工具&#xff0c;在办公人导航上都能找到你需要的内容。 办公人导航-实用的办公生活导航网站&#xff01;https://ww…

一文2000字记录基于jmeter+perfmon的稳定性测试

01、任务情况 1、任务总览 本次平台稳定性测试的目的在于&#xff1a;在服务器压力处于较饱和&#xff08;达到80%系统最大TPS&#xff09;压力之下&#xff0c;在较长时间&#xff08;>8小时&#xff09;之内观测服务器稳定性问题&#xff0c;以及资源使用情况和异常。 …

怎么把pdf文件转cad图纸?方法分享!

怎么把pdf文件转cad图纸&#xff1f;在数字化时代&#xff0c;PDF和CAD作为两种常见的文件格式&#xff0c;各自在各自的领域发挥着重要作用。然而&#xff0c;当需要在两者之间进行转换时&#xff0c;许多人可能会感到困惑和无从下手。今天&#xff0c;我将为大家推荐三款强大…

基于Java考研助手网站设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

HarmonyOS NEXT:华为开启全新操作系统时代

在全球科技浪潮的汹涌澎湃中&#xff0c;华为再次以创新者的姿态&#xff0c;引领了一场关于操作系统的革命。HarmonyOS NEXT&#xff0c;这一由华为倾力打造的分布式操作系统&#xff0c;不仅是对现有技术的一次大胆突破&#xff0c;更是对未来智能生活的一次深邃展望。 Harmo…

编译 CanMV 固件

前言 上一章节中已经搭建好了基于 CanMV 的 C 开发环境&#xff0c;这么一来便可以进行基于 C 语言和 FreeRTOS 的应用开发或者编译基于 MicroPython 语法的应用开发方式所需的 CanMV 固件&#xff0c;本 章就将带领读者体验一下 CanMV 固件的编译流程。 本章分为如下几个小节&…

Charles抓包工具系列文章(四)-- Rewrite 重写工具

一、背景 这是一款比Map Local/Remote 还强大的工具&#xff0c;更加灵活&#xff0c;体现在以下几点&#xff1a; 重写request报文重写response报文header 字段的增删改query param 字段的增删改重写 body 字段改写http 响应状态status重写host/url/path 从这也可以看出其强…

Ubuntu 24.04安装zabbix7.0.0图形中文乱码

当zabbix安装完成后&#xff0c;设置中文界面时&#xff0c;打开图形&#xff0c;中文内容会显示方框乱码&#xff0c;是因为服务器字体中没有相关的中文字体&#xff0c;需要更换。 1、找到中文字体&#xff0c;可以在网络上下载《得意黑》开源字体&#xff0c;也可以在windo…

小阿轩yx-MySQL数据库初体验

小阿轩yx-MySQL数据库初体验 数据库简介 21 世纪迈入了“信息爆炸时代”&#xff0c;大量的数据、信息在不断产生&#xff0c;伴随而来的就是如何安全、有效地存储、检索和管理它们。 对数据的有效存储、高效访问、方便共享和安全控制已经成为信息时代亟待解决的问题。 使用…

Redis 持久化策略

Redis 提供了多种持久化机制&#xff0c;用于将数据保存到磁盘中&#xff0c;以防止因服务器重启或故障而导致的数据丢失。主要的持久化策略有两种&#xff1a;RDB (Redis Database) 和 AOF (Append Only File)&#xff0c;即当 Redis 服务器重新启动时&#xff0c;会读取相应的…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第42课-多人联机-实时互动

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第42课-多人联机-实时互动 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…