博主简介:🍅博客专家、Java领域优质创作者、掘金特邀作者、InfoQ/华为云/阿里云等平台优质作者、专注于IT技术领域和学生毕业项目实战,指导学生毕业设计并参与学生毕业答辩指导🍅
技术范围:✌Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、安卓app、大数据、物联网、机器学习等设计与开发、简历模板、学习资料、面试题库、就业指导、技术互助等✌。
业务领域:✌免费功能设计定制、任务书、中期检查PPT、开题报告、系统功能实现、项目定制、论文辅导、撰写和降重、长期答辩辅导答疑、远程会议一对一专业讲解答辩辅导、模拟演练答辩、和代码讲解理解逻辑思路✌。
🍅 文章底部获取项目源码联系方式🍅
👇🏻 精彩专栏 推荐订阅 👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
【万字文档+PPT+源码】基于springboot+vue在线考试系统-可用于毕设-课程设计-练手学习
摘 要
信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对软件工程课程在线考试系统等问题,对如何通过计算机进行软件工程课程在线考试进行研究分析,然后开发设计出软件工程课程在线考试系统以解决问题。
软件工程课程在线考试系统主要功能模块包括首页、资源管理(在线考试)、系统用户(管理员、学生用户、教师用户)、模块管理(班级信息),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用springboot框架、Java技术技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对软件工程课程在线考试系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现软件工程课程在线考试系统和部署运行使用它。
第1章绪论
1.1 项目背景与意义
在20世纪末期,国家提出了教育要面向四个现代化,同时也提出了要大力发展教育手段和教育方式的信息化建设。在这样的背景和需求下,基于当今的互联网技术和计算机信息技术,软件工程课程在线考试系统就应运而生了。人们急切地需要在软件工程课程在线考试系统中利用现代网络技术达到教师工作量减少并且提高学校及其他工作人员工作效率的目的。同时,与传统的考试形式相比,考试的质量也更能得以保证,从而使得考试变得更为客观公正。
软件工程课程在线考试系统的实现让考试不再局限于只能在教室中进行,它利用网络的优势,使得考试不再像以前那么复杂,学生也不再需要定时定点而是随时随地就能参与考试。软件工程课程在线考试系统具有传统的考试模式无法媲美的准确、科学、公平、方便等优点,于是对软件工程课程在线考试系统的研究和建设也就在这样的环境中逐渐发展了起来。
1.2开发现状
在越来越重视知识的当今社会,各个国家都加大了在新一代培育上的投入,都希望在以后的社会发展中走在互联网的前列,从而在信息的飞速发展中占据一个有力的地位,正是这个原因,各地政府依托于互联网来实行教育教学,并把此作为其民族发展的动力之源。
在外国,澳大利亚在早期就开始投资建设“澳大利亚教育网”,这个网络不但包含了澳大利亚全部的高校,还要联通本国境内的每一所中小学。另外美国政府提出要到二十一世纪初,让本国家所有学校和图书馆都搭载上互联网的快车,让国内不论是哪个阶段的学生都可以享受到“21世纪教师”的网络服务,因此提出了“教育技术规划(Educational Technology Initiative)”。到了1995年末,国外一些教育机构开始开发自己的网上教育平台,最早的有美国的NTU、英国的OPEN COLLEGE等这些都是那个时候实施互联网教育的典范。随着教育搭载上互联网的高速公路,软件工程课程在线考试系统作为远程教育不可分割的一项,随着互联网的大潮也如雨后春笋般迅速发展起来,人们的选课和考试都在互联网上进行,特别是互联网业务的普及、低成本的软件工程课程在线考试系统从技术和经济条件上已经日趋成熟。
在国内,从大多数来看,很大一部分的教育教学还普遍停留在传统的考试方式上,但是传统的考试每次都需要人为的出卷、组织考试、批改试卷并且做出许多试卷分析和成绩评估,作为老师,一次考试的实施给他们带来了许多的麻烦,并且随着教育现代化,考试类型的增加和考试要求的更加严格,教师的工作也会变得越来越繁重。而现在人们普遍认为的网络教育也是停留在网上报名和成绩查询,没有形成相应的规模,而国外网上提交作业和考试已经变得非常普及,所以传统考试方式终究要被替代,网上考试方式正在以燎原之势飞速发展。
1.3 研究方法
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用Java平台来设计开发本系统,MySQL作为设计数据库的工具。即利用Java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
第2章相关技术介绍
2.1springboot框架
springboot(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new
一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
2.2JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,SPRINGBOOT(java server pages),和XML技术。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3MySQL数据库
MySQL 经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
针对本文中设计的软件工程课程在线考试系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对软件工程课程在线考试系统后台数据进行存储操作[9][10]。
数据库管理系统的总体结构图如下图所示。
第3章系统分析
3.1可行性分析
技术性方面,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。
实用性方面,本次设计的主要任务是在软件工程课程在线考试系统内资源管理(在线考试)、用户管理(管理员、学生用户、教师用户)、模块管理(班级信息)等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。
经济性方面,由于本课题中设计的软件工程课程在线考试系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个软件工程课程在线考试系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。
3.2功能需求分析
本系统使用的角色大概分为学生、教师和管理员。
1.学生需求
学生登陆系统主要进行三类操作:在线考试,成绩查询与个人信息管理。
(1)在线考试
系统能自动给学生选题,考题必须是随机分配的,以保证考试的公平性。学生在考试过程中页面将提供考试时间倒计时功能,使学生随时了解考试剩余时间。在考试时间到时,系统将自动地将学生考试试卷提交,将提醒学生离开考场。当考试试卷提交时,教师为学生提交的答卷进行评分。
(2)成绩查询与个人信息维护
学生可以登陆系统查询各科成绩,其中成绩信息包括每种题型的得分,如单选题,判断题等。别外学生还可以查询自己的做错的题目,了解自己的考试情况。
除此之外,学生登陆系统可以查看和修改个人的基本信息,如修改密码等。
2.管理员需求
系统管理员登陆系统后主要进行四类操作:
(1)在线考试信息的维护
在线考试信息的维护主要是对于学生提交的答卷信息、评分信息、题库信息进行维护。
(2)用户维护
系统管理员可以对用户信息(包括学生信息)进行增,删,改查操作。
(3)个人信息维护
管理员也可以对自己的基本信息的维护。
(5)班级信息维护
管理员管理和维护班级信息。
3.教师需求
教师登陆系统后主要进行三类操作:
(1)在线考试
在线考试主要是对于学生提交的答卷进行评分、添加题库等。
(2)个人信息维护
教师可以查看和修改个人的基本信息,如修改密码等。
(3)班级信息
管理员可以查看班级信息。
学生用例图如下所示。
管理员用例图如下所示。
教师用例图如下所示。
第4章系统设计
4.1系统架构设计
本软件工程课程在线考试系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
系统架构如下图所示。
4.2系统总体设计
软件工程课程在线考试系统总体分为学生用户模块、教书用户模块和管理员模块。
三个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
4.3系统功能设计
在线考试模块:可分为考生答题、评分、题库三个模块,管理员对在线考试有维护的权限,学生有答题、查看评分的权限,教师有添加题库、评分的权限。
用户管理模块:用户管理分为管理员管理、学生用户管理和教师用户管理。用户信息由管理员进行修改、添加、删除操作;教师用户和学生用户有修改个人信息和密码的权限。
班级信息模块:班级信息由管理员进行修改、添加、删除操作;学生用户和教师用户可以进行查看。
第5章系统实现
5.1登录模块的实现
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布试题信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。
用户登录界面如下图所示。
5.2学生用户功能模块的实现
答题,学生用户可以在在线考试页面点击答题按钮进行答题,如下图所示。
查看评分信息,学生用户可以在在线考试页面点击查看评分按钮进行查看每道答题的评分信息,如下图所示。
5.3教师用户功能模块的实现
在线考试,教师可以在在线考试页面查看名称、答题时长、总分、状态、创建时间、更新时间等信息,并可进行查询、添加、重置、删除、详情、题库、评分等操作,如下图所示。
评分,教师可以在在线考试页面点击评分按钮,对学生提交的答题信息进行评分,如下图所示。
题库,教师可以在在线考试页面点击题库按钮,进行添加类型、题目、选项、参考答案、分值、排序等题库信息,如下图所示。
学生用户,教师可以在学生用户页面查看昵称、用户名、学生学号、学生姓名、学生性别、班级名称、创建时间、更新时间等信息,并可进行查询、添加、重置、删除、下载导入文件、导入操作,如下图所示。
5.4管理员功能模块的实现
管理员登录系统进去首页后可以查看管理员:首页、资源管理(在线考试)、系统用户(管理员、学生用户、教师用户)、模块管理(班级信息)等模块,并进行相对应的操作,如下图所示。
班级信息,在班级信息页面可以查看班级名称、学院名称、班级人数、班级信息、备注信息、创建时间、更新时间等信息,并可进行查询、添加、重置、删除等操作,如下图所示。
教师用户管理,在教师用户管理页面可以查看昵称、用户名、教师工号、教师姓名、教师性别、班级名称等信息,并可进行查询、添加、重置、删除等操作,如下图所示。
文档截图
项目获取
👇🏻 精彩专栏 推荐订阅 👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
欢迎大家点赞、收藏、关注、评论啦 、查看下方二维码👇🏻获取项目👇🏻资料联系方式👇🏻