目录
一、绪论
考试作为检测学生学习的重要方式,是学校与教育培训机构的重要检测环节,在促进学生更好地完善自己的同时,也是寻找个体之间差距的重要手段。传统考试需要大量人工参与,操作过程较为烦琐,劳动强度较高,成本支出较大。而在当今信息化技术日益发达的环境下,借助先进的信息化技术能够实现无纸化考试考核以及自动化阅卷等功能,能够有效达到考核无主观性、科学性和系统性功效。随着计算机信息化的不断发展,以及校园网的广泛应用,传统的考试模式已经满足不了现在学校、政府的要求,越来越多的系统正在通过在线审核创建。该在线考试系统的具体实现是后端服务平台是以Spring Boot为核心框架结构,前段交互界面是以Vue框架具体完成的。运用这个系统可以节省许多人力资源并提高考核审计工作的效率。
1.1 开发背景
考试,作为检测学习成果的唯一可靠手段,越来越多的线上考试出现,无纸化考试逐渐地盛行起来,各大高校、公司都将学习、工作逐步转移到了线上,并慢慢地体会到了这种方式的诸多好处。传统手工出题和阅卷过程,极易受到出题人和阅卷人的主观因素干扰,无法保证最终考试过程和最终得分的客观性和公正性,同时对于教师来说,也是一项极为耗费时间和精力的繁重工作。
随着信息科技的发展和国内高校的扩招,传统方法因其效率低、成本高、过程难以把控等缺陷,越来越无法跟上当前的需求。近年来,由于新冠疫情的影响,线上教学在全国迅速普及,因此,智能高效的在线考试系统的研发,势在必行,引来了相关学者和企业的广泛重视。
1.2 系统开发平台
系统采用UML统一建模语言进行概要和详细设计,使用用例图、时序图等进行功能逻辑梳理,采用B/S架构。UML是一种面向对象的建模工具,可辅助面向对象系统的功能逻辑说明、可视化设计和编制文档。
系统采用Spring Boot作为后端框架,使用了SpringData JPA技术简化应用程序的数据访问层的开发,采用MySQL数据库作为数据存储。Spring Boot框架耦合了Spring框架,能够创建并运行独立的Spring项目,支持控制反转和依赖注入等功能,能够灵活地使用Java脚本创建无配置文件的应用程序,一定程度上简化了项目开发过程。JPA (JavaPersistence API),即为Java持久层API,其提供了一种规范以来管理持久性和对象关系映射和函数的机制,适用于JavaEE环境的Java编程模型,其通过使用注释或XML将对象映射到数据库的一个或多个表来标准化对象关系映射的任务。MySQL是目前最流行的关系型数据库管理系统之一,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品,是Web应用的常见数据库选择。
1.2.1 Spring Boot简介
Spring Boot是一种全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置[4]。Spring Boot框架中还有两个非常重要的策略:开箱即用和约定优于配置。这些特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
1.2.2 Vue简介
Vue是一套用于构建用户界面的渐进式的js框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库( 如: vue-router,vue-resource,vuex)或既有项目整合[11]。
1.2.3 MySQL数据库
MySQL是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。
MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库之一。除了具有许多其他数据库所不具备的功能外,MySQL数据库还是一种完全免费的产品,用户可以直接通过网络下载MySQL数据库,而不必支付任何费用。
1.3 系统开发环境
本系统的开发环境需要满足以下:
(1)硬件环境:笔记本,Windows 10系统。
(2)开发环境:IDEA2019,MySQL。
二、需求分析
随着社会市场发展,我国战略目标也在不断变化,为了稳定国家市场和政治政策,银行等各社会机构的领导及员工需要及时学习政法知识,以适应我国法治社会的建立和推动社会主义市场的稳定发展。考试是对各级领导和干部学习纪法的重要管理手段,使每个人自觉学习纪法知识,增强自己的义务和责任感[5]。仅仅使用传统的学习和考试管理方式已经不能满足当前纪法学习的形势,批改考核工作量大,不仅浪费了社会机构大量的人力和财力,同时也浪费了学习者和管理者的较多时间,不利于提高纪法学习质量。因此,在线学习考试系统相对于线下来说,可以更好地解决学习效率、管理效率等现实问题,提供给学习者一个客观、公正并且高效的学习平台,不仅可以很大程度上减少学习经费,还可以使考试信息反馈及时、精确,在我国社会机构设计纪法在线学习考试系统已经势在必行。
2.1 系统需求分析
(1) 各种题型的实现,需要收集各种题型,总结得出相同的题型模板
(2) 提交图片答案,有两种提交点,一是在交卷时一并提交,二是考试中ajax异步提交,很明显,多人同时在线考试,一般都会在最后的几分钟交卷的人最多,会对服务器造成很大的负荷,所以这里就选择在考试中提交图片答案。
(3) 多人同时在线考试
(4) 因为考试是有考试时间段的,进入考试以及交卷,这两个时间点都有可能造成高并发的请求,缓解这两个点的压力,无疑是提高在线考试系统能承受同时考试的人数最有效的手段[6]。
进入考试时,需要获取试卷数据,如果全都从数据库获取,那对服务器的压力是很大的,如果将试卷数据放在缓存中,将有效的解决这个问题。
2.2 功能需求分析
在线考试系统使用的时候,分为三类角色。管理员可管理教师数据信息,教师用于后台学生数据信息的管理,学生则可在线考试。接下来对教师角色,进行功能需求分析。
教师的主要功能满足以下要求:
(1) 登录退出。使用教师账号进行登录。密码和账号都存在My SQL中。
(2) 教务信息管理。有考试成绩的分段汇总。试卷的各种信息,包括题型、题库的统计。
(3) 考生管理。考生可以由教师为其录入。在录入考生信息以后,学生可以自行登录考试。
(4) 成绩管理。成绩的管理,可以看到每一个类型的题目得分。包括选择题、多选、判断和主观题的各种分数。并通过分数的高低,可以生成级别。教师也能通过学号查询成绩
(5) 题库录人。题库的录入可以手动添加。根据不同类型的题目,需要在录入时填写不同的信息,并设置题目的答案信息。
(6) 题库管理。对题库中的各种题目进行再修改。可以修改包括题型、序号、答案、得分等所有的信息。
三、概要设计
3.1 系统功能结构图
思政考试系统是为了满足高校或教育机构对学生思想政治教育的考核和评估而设计的在线考试平台。系统拥有学生、教师和管理员三个角色模块,分别面向不同的用户群体,提供相应的功能和权限。
3.2 学生模块设计
(1)注册与登录:学生可以通过注册账号来访问系统,并使用个人信息进行登录。
(2)个人信息管理:学生可以查看和编辑个人信息,包括修改密码等。
(3)考试列表:学生可以浏览可参加的考试列表,查看考试名称、时间等相关信息。
(4)考试答题:学生可以进行在线考试,系统提供题目展示和答题界面,支持多种题型,如选择题、问答题等。
(5)分数查询:学生可以查询自己的考试成绩和评价,查看考试成绩的统计信息。
(6)留言功能:学生可发起留言或回复他人留言,提供给学生之间互相交流的平台。
3.3 教师模块设计
(1)注册与登录:教师可以通过注册账号来访问系统,并使用教工信息进行登录。
(2)学生管理:学生信息的增删改查。
(3)考试管理:教师可以创建考试、编辑考试信息,包括考试名称、时间、考题设置等。
(4)题库管理:教师可以添加、编辑和删除考题,设置题目类型、分值和答案等。
(5)学生成绩管理:教师可以查看学生的考试成绩和评价,进行成绩录入和统计分析。
3.4 管理员模块设计
(1)注册与登录:管理员可以通过注册账号来访问系统,并使用管理员账号进行登录。
(2)用户管理:管理员可以管理学生和教师的账号,包括账号创建、权限设置和信息查看。
(3)数据统计与报表:管理员可以查看系统中的数据统计和生成相关报表,如考试完成情况、学生成绩分布等。
(4)审核和监督:管理员可以审核教师创建的考试信息,确保信息准确性和合规性。
四、详细设计
4.1 系统设计
系统主要涉及7类实体,详情细节:
(1) 管理员实体,存储管理员的基本信息,主要包含id、用户名、真实姓名、密码、性别、联系电话、角色类型、状态、创建时间等信息。
(2) 老师实体,包含的属性有id、老师编号、密码、姓名、性别、电话、所教专业、所教课程、状态、创建时间等信息。
(3) 学生实体,存储学生的基本信息,主要包含id、学号、密码、姓名、性别、电话、邮箱、专业 id、班级、状态、创建人、创建时间等信息。
(4) 考试科目实体、存储专业信息,以外键形式与学生实体关联,主要包含id、专业编号、专业名称、专业年级、专业种类、负责人、联系电话、状态、创建时间等信息。
(5) 试卷实体,存储试卷信息,以外键形式与试题关联,主要包含试卷id、试卷名称、考试时长、截止时间、适用对象、适用课程、状态、创建人、创建时间等信息。
(6) 试题实体、存储试题信息,为了降低数据库负载,适当接受部分数据冗余,主要包含试题id、试题名称、试卷id、试卷名称、试题类型、分值、答案A、答案B、答案C、正确答案、状态、创建人、创建时间等信息。
(7) 测试成绩实体,存储每个学生的考试成绩,主要包含id、学号、姓名、专业、课程、试卷id、试卷名称分数等信息。
教师系统主要包括教师、学生、题目、试卷、成绩等五个实体
4.2 数据库设计
教师主要有账号、姓名、学院、电话、职称、密码和工号等属性
成绩主要有成绩编号、学号、课程编号、分数、考试时间属性
管理员主要有账号、姓名、性别、电话、邮箱、密码和工号等属性
等
五、系统实现
5.1 教师管理
管理员在通过管理员账号登录后,点击菜单栏的教师管理,可以查看全体教师信息,通过点击每条教师信息后边的编辑按钮,可对教师信息进行修改,通过点击删除按钮可以删除教师信息。点击任务栏上的添加教师按钮,会切换到添加教师页面,在相应位置输入教师相关信息后,点击立即创建按钮,可以实现教师的添加,点击取消按钮,可以取消添加
5.2 学生管理
考生信息的录入由教师完成。教师可以在该页面进行相关的学生信息管理操作,比如说增加学生用户、修改学生信息、删除学生用户等
5.3 成绩管理
教师可以查看各个学生的近几次的测试成绩,并对相应的成绩进行简单的测试分析,形成简易的图表
5.4 学生首页
考生完成身份验证后,成功进入到考试界面时,然后便可以看到所有的试卷信息,然后添加相关的点击事件,同时,需要设置一个检索按钮,可以通过考试名称完成考试试卷查询
5.5 在线考试
考生进入考试后显示此界面,在页面的左端可以看到看到题目数量,显示当前题目位置,答题状况,同时可以对有问题的题目进行标记。考生如需交卷可以点击结束考试按钮结束考试。在页面的右端,可以看到考试时间,时间结束会提示考生强行交卷。同时,题目也会在右端显示,考生可以进行作答。在底端有三个按钮,考生可以通过点击进行试题切换或对试题进行标记
5.6 提交试卷
交卷后,立即计算出该场考试的成绩,并显示开考时间和做题所用时间,同时给出正确答案
六、系统测试
6.1 测试目的
软件测试的目的主要是发现软件缺陷和漏洞,其次,软件测试能够识别项目风险。为开发人员和程序经理提供软件测试的反馈结果,为风险评估提供必要的信息。再者,软件测试确保在上线日前达到上线标准。包括持续追踪项目进度和严格把控各个开发阶段的产品质量。
在线测试系统,主要测试各个用户端的使用和后台服务器的使用。学生端主要测试考试页面、学生答题、试卷提交、分数显示等。管理员端主要教师信息显示、编辑教师信息、删除教师、添加教师。
6.2 集成测试总结
集成测试的方案主要如下所述:
(1)将系统移植到另一台计算机上,运行出错。修改配置信息后运行成功。
(2)用户信息管理模块综合测试,添加新用户teacher,为其分配一般教师角色,查看一般教师角色权限,保存设置,以teacher身份登录,查看所拥有权限。
(3)最后按照在线考试系统的设计与实现,以不同角色的身份进入系统,对系统各模块功能进行测试,测试模块间逻辑功是否有误。
经过测试,发现此开发系统可以满足在线考试系统流程的基本工作流程和基本要求。
七、总结与展望
本论文对在线考试系统进行了深入研究和分析,并提出了一种可行的解决方案。通过实现和测试,证明了在线考试系统在教育领域中的重要性和实用性。以下是对本论文的主要工作和结论进行总结:
系统设计与实现:本论文通过针对思政考试系统的需求分析和功能设计,提出了一个完整的系统架构,并实现了相应的功能模块,包括考试页面、学生答题、分数显示、管理员等。
用户体验:在设计和实现过程中,本论文注重提升用户体验,加强系统的易用性和用户友好性。通过良好的界面设计、清晰的操作流程和及时的反馈机制,使得用户能够方便地使用和参与在线考试。
功能扩展与定制化:为满足不同学校和教师的需求,本论文提出了思政考试系统的功能扩展和定制化方案。通过灵活的配置选项和模块化设计,系统可以根据具体需求进行定制,满足各种考试场景的要求。
安全性与防作弊措施:在系统设计中,本论文注重考试的安全性和防作弊措施。通过采用网络安全技术、身份验证机制和作弊检测算法等手段,有效地确保了在线考试的公平性和真实性。
在线考试系统作为一种现代化的考试方式,在未来的发展中仍然具有广阔的前景。
移动端应用:随着移动设备的普及和发展,将在线考试系统扩展到移动端平台将成为未来的趋势。开发适配手机和平板电脑的应用程序,使学生和教师可以随时随地进行考试和评估。
多元化测评方式:除了传统的选择题和填空题,未来的在线考试系统可以引入更多的多媒体元素和交互式题型,如视频题、实验模拟等,以更好地评估学生的综合能力和创新思维。
隐私与安全保障:随着在线考试规模的不断扩大,对于学生隐私和信息安全的保护将成为一个重要的问题。未来的在线考试系统需要加强数据加密和权限管理,确保学生个人信息的安全和机密性。
总之,随着科技的不断进步和教育的发展,在线考试系统将在教育领域中发挥越来越重要的作用。通过持续改进和创新,将在线考试系统打造成为高效、安全和可定制化的教学工具,为教师和学生提供更好的教学和学习体验。
八、源码获取
大家点赞、收藏、关注、评论啦 ,私信获取联系方式