基于Web的在线考试系统的设计与实现.docx
《基于Web的在线考试系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Web的在线考试系统的设计与实现.docx(29页珍藏版)》请在冰豆网上搜索。
![基于Web的在线考试系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-11/27/cfd130d6-c1ff-4017-a4c0-5f5c15078d28/cfd130d6-c1ff-4017-a4c0-5f5c15078d281.gif)
基于Web的在线考试系统的设计与实现
基于Web的在线考试系统的设计与实现
信息时代的到来预示着如今现实中的许多事物都可以通过互联网技术转化为互联网产品。
而考试作为教育系统中非常重要的一个环节,占据了教育的一大板块。
长久以来,传统的纸质考试模式已经逐渐不能满足高等学校,甚至是中小学考试的需求了,往往繁重的批改试卷和评语的压力压得老师喘不过气,重复工作的枯燥,以及上课的准备等等使得现代老师对这种考试模式产生一定的心理压力。
因此,在这种大环境下,为了实现真正无纸化考试的开发在线考试系统能够大力的解放老师的工作,使得老师更多的精力能够花费到分析成绩,关心学生上面,使得教学质量能够进一步提高。
本系统重点设计开发了在线考试系统的考试功能、老师管理学生成绩以及老师管理试题的模块,通过对这两块的设计能够对今后这方面系统研发提供一定的资料基础。
对这部分功能需要应用到的基础操作也是对数据的增删改查,还有对数据的保存。
实现考试结果最大的效率,直接得到结果和解析,而不是通常在线考试下需要对结果的整理。
这个在线考试系统采用B/S模式在Myeclipse10.0的开发工具中完成,后台数据库使用Mysql5.0,开发语言为JAVA。
本论文主要以软件工程的开发顺序为流程,针对系统的可行性,需求,设计和测试方面,通过重现个人思路的方式,用文字形式对系统进行描述。
关键字:
在线考试系统;无纸化;软件工程
前言
考试对学生来说是非常熟悉的一个词语,那么多年的学生生涯经历了多少次的考试,但是大部分都是采用的是纸质的传统考试方式。
显然从我们的经历上看,伴随考试形式与难度不断加大,老师对考试检验的要求也越来越高的情况下,这种传统的纸质考试形式已经越来越难满足代考试的需求了。
这不单单体现在老师的工作量不断增加的情况,另一方面工作过程中由于人工原因出现的一些错误也会导致考试达不到预期的目标从而达不到应有的效果,因为本身就是一件非常复杂的工作。
趋于这种情况下,新兴模式下的在线考试系统的出现能够给如今的考试模式带来一种新的思路和方向。
在线考试系统能够很好的实现现代计算机技术的融合,大量地减少老师的工作量,减轻老师的一部分负担和提高工作效率,大大地减少了传统考试中会出现的一些错误,提高考试质量,从而能够使得每一次考试都能更加趋于公平公正,也能够将考试的意义最大化的体现出来。
考生登录系统之后会自动生成一份试卷,考生在线答题,答完题提交之后系统能够迅速的给出成绩,另外老师也可以查询学生或者某个班级的成绩,能够针对成绩进行分析。
这种智能化的考试系统集合了现代和传统的考试理念和计算机技术手段,为学生学习和老师考核提供了非常方便的考试服务,实现真正无纸化考试的开发在线考试系统能够大力的解放老师和学生的工作量,这必定是未来发展的一种形式。
因此,深入研究在线考试系统的工作是有深远意义的。
1.绪论
1.1研究背景以及意义
1.1.1研究背景
无论处于哪一个阶层生活的人都知道,考试作为教育系统中实施教学质量检验策略的非常重要的一个环节。
从小学、初中、高中到大学,随着社会时代的变化,学校对这种教学检测手段的要求越来越高,使用次数也不断增加。
在这种情况下,我们传统的原生化的纸质考试模式已经渐渐地满足不了现代学校,尤其是大学以及一些大规模招聘笔试考试的需求,另外这种考试模式也存在着一些不足之处,比如说其中最直接的就是对资料的利用方面,大量的纸质纸卷消耗了大量的资源。
所以,开发一个新兴的在线考试系统是有意义的。
近年来,随着对考试的青睐度越来越高,不单单是学校,还有公司企业等等都非常注重通过考试的方式去测量一个学生或者员工对某一个事物的学习程度,然后能够把这个结果反馈给上级包括老师、领导或者考生自己,这样能够明白对知识的掌握程度,根据这个掌握程度来调节一下教学速度,提高教学质量。
另一方面,在二十一世纪以后教育的飞速发展,各个学校招收的学生人数和规模越来越大,同时也出现了师资力量不足的问题,严重的时候许许多多的老师一个人承担了好几个老师的教学工作,光光上课作业已经头疼不已,更不用说是考试了,因此教学效率也不高,教学效果也没有原来那么理想。
考试作为非常重要的检测手段,我们必须针对这些做出一些反馈,人们对无纸化考试的追求越来越高,在线考试系统也应运而生,无论老师还是学生都可以通过在线考试系统从而达到自己的目的,老师可以了解自己的教学效果和学生的学习情况,学生自己可以通过考试系统看到自己的不足之处,从而针对性地进行复习。
在线考试系统在于实现真正的无纸化考试为目的,通过一步步的更新换代,做到最优的考试环境,真正体现考试。
因此,我们应该致力于改善考试模式,在科学技术大力发展的今天,将考试系统与计算机技术相结合,改进现在有系统的不足之处,使得考试系统更加规范,高效,最终能够达到最理想的教学水平。
1.1.2研究意义
在线考试系统在这几年已经是比较热门的话题,因为在当今社会发展的影响下,它是能够代表我们今后考试发展的动态方向,也是教育中的重要组成部分。
基于Web的在线考试系统是针对B/S模式下让考生进行的一种考试模式,如果在同一局域网内,考生只要打开浏览器输入相应的地址就可以参加考试了,操作非常简单。
因此,它的发展对我们今后的考试动向是具有深远意义的。
如今各大高校已经开始了一些在线考试系统的使用,但大多都属于C/S模式,即要安装客户端在电脑上,随后在进行考试。
相对于传统的纸质考试,这种考试模式已经能够给其考试带来一定的便利之处,降低传统考试组织的费用,节省了考试之外的时间和老师的负担。
基于Web的在线考试系统可以在此基础之上对考试的优化程度做得更好,相比较传统考试模式,经过总结我们可以得出以下几点结论:
(1)考试系统能够像传统考试系统一样解决大量资源和减轻工作负担,并且它的考试方式更加开放,并不拘泥于只能在安装客户端机器上考试。
它可以让在同一个局域网内,或者考试系统上线开放的条件下,只要能上网的计算机都可以通过浏览器直接进行考试,可以随时随地地做题、考试,这样更加灵活和便捷。
(2)在线考试系统最大的优势在于它能充分地将网络上的资源利用起来,并且结合技术,大大地减少阅卷时间,正常情况下,能在考生结束考试的一段时间内甚至结束考试马上给出考试成绩,并且学生也可以马上查看答案的解析,答案正确一目了然,大幅度提高批改的正确率,给学生一种公平感。
(3)在线考试系统不但给老师减轻压力,而且给学生给了足够的学习空间,从另一层面上讲也给学生减轻了学习压力,能够将网上丰富的资料通过考试系统传递给学生,学习不再盲目,更加有兴趣。
基于Web的网上考试系统将会随着社会发展而迅速成长起来,也会逐渐成为以后考试的一种趋势,利用网络技术和现代知识相结合的方式,并且随着硬件价格逐渐下降,网络宽带大力发展的情况下,发展基于Web的在线考试系统将会有重大的意义。
1.2研究现状
1.2.1国外研究现状
在线考试属于远程教育中的一个部分,在国外,关于对在线考试系统的研究起步比较早,在上一个世纪八九十年代美国高校就开始致力于对在线考试系统的研究。
就美国为例,其心理协会在一九八六年时制定了关于考试和软件开发的指南,为考试系统开发确定了理论指导,为其考试系统开发做了充足的准备。
随后美国教育考试中心考试;护理证书等都能够在计算机进行考试。
除此之外,英国一公司也有实现考试系统,它为许多老师提供通用的在线考试系统。
结合资料分析,在国外对这种系统的研究还是比较超前的,他们在一定的理论基础之上对系统规定了设计思路与原则,并且在投入应用方面对远程教育也有很大的积极作用,为我国在相应方面的研究提供了一定的资料。
因为国内对计算机的开发本来就比国外发达国家研究较慢,因此对这个考试系统的研究也有一定的局限性。
1.2.2国内研究现状
国内的情况与国外不同,在这方面的起步稍晚,但是并没有太迟,在九十年代的时候,我国高校中也有一部分研究在线的考试系统并且在校园方面投入使用,得到了一定的效果。
比如九四年的全国计算机等级考试、九六年微软培训中心考试,还有像清华大学,上海交通大学等都有自己的校园局域网内考试系统等等。
总结来说,我国对这方面的研究的确比一些发达国家落后,但是发展也比较迅速,尤其是二十一世纪以后,中国经济发展迅速,在该方面研究的效率会大大提高。
1.3系统实现的相关步骤
1.熟悉国外研究以及国内相关领域的研究发展状况,同时能够查阅相关资料以及文章。
2.查看收集相关资料,了解基本框架,JSP等的正常应用以及相关工具的使用。
3.软件开发总体设计,并根据需求分析搭建系统功能框架。
采用MVC设计模式,分析系统将系统分为多个子部分。
并利用Myeclipse工具运用多种技术编码,后台用Mysql实现数据保存。
4.按照功能框架设计数据库,了解各个功能模块的关系。
查阅基于web的在线考试系统的相关文献资料,使用Microsoftoffice2003对各个文档还有毕业论文进行编写。
5.对各功能模块进行具体的编码以及对本系统的整合开发实现。
6.针对系统开发的缺点,进行系统进行测试方面的维护。
7.完成Web下的在线考试系统以及毕业论文。
1.4论文主要内容介绍
该毕业论文介绍了这款网页下的在线考试系统的设计与实现的全部步骤。
第1章绪论。
讲诉的是对开发的研究意义等对整个文章内容的总结说明。
第2章系统可行性研究,届时分析本系统是否值得开发。
第3章开发需求介绍。
分析开发环境以及相关技术。
第4章系统的需求分析,主要针对本系统的工作状况以及系统的需求进行分析和描述。
第5章系统的概要设计。
这部分简单介绍了系统功能以及运行相关的说明。
第6章系统的详细设计。
本章主要对系统模块,数据库等相关方面的内容进行了介绍。
第7章系统测试。
主要说明了本系统的测试、以及测试的相关结论。
第8章系统总结描述,展望和不足。
2.系统可行性研究
系统可行性分析是在系统需求分析之前对该项目内容之外的初步研究,从不同于系统正常功能方面之外进行分析调查,并为之后分析需求进行一定的准备,也能够为开发人员提供其他的技巧。
经讨论总结得出一下几点可行性研究点,来说明该系统的价值。
2.1经济可行性
本系统在遵循软件开发的整个流程都是由本人独自完成,且由于个人能力有限,许多功能并不能完全达到一定水平,经济效益并不高,但能从设计上提供一些参考价值。
本系统的开发工具等都是开源的,不需要任何费用,所需的资料也可以从网络上或者图书馆查阅并不需要费用。
基本上开发这个系统是免费的,而我们大学生完全可以承受的。
在硬件方面也基本只要使用一台笔记本电脑就可以了,不需要其他的支出,在这方面也是有限的。
在系统完成开始使用之后,会对考试方面具有一定的帮助,也能够让有些企业或者学校在这样的考试系统开发上面带了一些新的契机,打下一些基础。
表面上经济效益不高,但其所蕴涵的能量和经济利润是巨大的,可挖掘的。
因此从远期来看,开发该系统在经济方面是存在很大的可行性的。
2.2技术可行性
本项目是基于Web上的应用,在体系结构以及开发语言方面都比较完善,开发工具也已经很全面。
从开发语言上,使用java语言加上如html语言等相配合;从数据库方面,我选择的是Mysql,图形化界面通俗,操作简单易懂。
在网站开发下,这些已经应用熟练,此在技术上是可行的。
2.3运行可行性
本系统可以在所规定的环境中即在windowsXP系统版本以上,部署好服务器之后都是可以运行的,能够安装XP系统的电脑对硬件要求也不高,是能够满足系统运行的,不存在不可运行的问题,所以在这方面也是完全可行的。
2.4操作可行性
本系统界面简洁大方,操作简单,因为主要针对考试与教师对成绩的查询统计,操作方面只要经过简单的培训就可以熟练操作该系统。
首先该系统的用户界面简单大方,只要使用过计算机对计算机有所了解的人都可以看明白该系统的登陆界面,而学生登录考试界面,老师登录管理页面都是非常清楚简单,一目了然的。
这一群人本身就是接受过教育的一类人,培训起来更加方便,通过Web操作马上就可以熟练操作,也不需要安装客户端,减少了安装的麻烦。
2.5时间可行性
从项目开题到毕业答辩中间有三到四个月的时间,此外,本人也已经完成在校期间的其他所有学分,只有毕业设计与论文,所以能够合理分配时间,从时间上来看个人能够完成这样一个比较简单的项目。
2.6法律可行性
该项目是本人个人毕业设计,不存在盗抢其他已开发使用的考试系统程序,与商业活动无关,不会构成侵权问题,在法律上也是可行的。
2.7本章小结
每一件事情的成功都离不开事先的准备,因此对系统多方面可行性的研究也是对系统的准备和铺垫,它能够全面的帮助分析此系统的多方面,避免开发过程中遇到错误再回滚,保证系统顺利开发完成。
综上六点所述,多个方面总结来看,这个系统的有很高的开发可行性。
3.开发环境及技术介绍
在大学四年期间,作为软件工程的学生,应当对与开发相关的技术以及工具学习了很多,一般情况下从基础的C,C++语言和初级的编译工具开始学习,以及之后对一些数据库,相关操作系统系统的接触,对开发环境及技术以及软件工程开发流程有了相关了解,对开发有了一定的基础。
3.1开发环境介绍
经过一定的了解和与毕业设计辅导老师的讨论,确定开发环境的搭建和一些开发工具的部署完成。
对该系统选择Tomcat应用服务器+Myeclipse开发工具以及Mysql数据库进行对本项目的开发,接下来对这三个工具简单的介绍。
(1)Tomcat应用服务器
Tomcat是一个开源的服务容器,是由apache的jakarta项目中的一个核心项目,是由多家公司和个人共同开发完成的。
Tomcat从名字上就可以了解到它作为服务器的特征,小巧,集成度小,最重要的还是免费,非常适合这种小型Web应用开发,是首选服务器。
此外Tomcat还支持体现JSP规范,能够使得在前台开发中的语言特色得到体现。
(2)Myeclipse开发工具
Myeclipse是在eclipse工具的基础之上再增添了许多插件而生成的,可以说eclipse就是它的核心部件,也是eclipse的升级版,具备了eclipse有具有的特点,使用起来更加方便。
也有许多的附加功能,能够让开发者在开发过程中有不一样的体会。
同时插件功能的增多也等于了使用过程中所占的资源比例的增大,这就要求使用者在使用过程中对资源的把握,关掉无用的进程,有助于对功能资料的了解与使用。
(3)Mysql数据库
Mysql数据库属于是一款开源的关系型数据库服务软件。
Mysql拥有强大的功能但是运行需求比较小,且操作方便,sql语言容易学习,能够提高开发效率。
另外,Mysql可以在多个操作平台中使用,兼容性非常好。
它的核心城市采用多线程编程,可以非常灵活地提供服务却不占用过多的系统资源,可以持续使用且稳定性好。
3.2开发框架简介
系统采用基于MVC(英文全称:
Model+View+Controller)模式下的软件开发框架——S2SH框架(英文全称:
Strut2+Spring+Hibernate)。
系统对S2SH框架的需求主要体现在非常好的可修改性,对于现在大学生开发来说,S2SH框架为我们提供了极大的方便。
这种开发模式下,实现了部分改变其他不变的结果,这是我们所需要的。
Struts2是系统最基本的体系架构,它实现了MVC的分离,体现了一个分层的思想,Struts中最重要的是拦截器的设置,对前台请求进行处理,根据struts-xml配置文件,将请求反馈给相应的action动作进行处理。
整个过程中所涉及的与数据库的交互是属于Hibernate的作用,Hibernate提供的是对数据层的支持,是实体对线和数据库的桥梁,封装了增删改差等方面,提高了开发效率。
而spring是一个容器的存在,将struts,hibernate放在容器中,整合在一起,spring的配置文件applicationContext.xml中包括了对连接数据库的部署,和action的反馈,实现了对struts和hibernate的管理。
3.3开发语言简介
这个系统主要使用Java语言开发,前台页面开发使用到Java语言,后台应用开发也是可以使用Java。
作为一种面向对象的开发语言,Java语言涉及的开发领域比较多,最主要的是Java相对于其他语言所具有的优点正是我们所需要的,比如相对于C,C++来说,Java语言没有全程变量,没有主函数,都是类,这样就为开发过程中节省了很多时间,而PHP语言的一些技术都比较接近java语言下的技术,可以说是小于等于java,java更加抽象高级,且PHP只是用于开发网站,具有一定的局限性。
因此从各方面来看,Java语言是目前最适合开发的语言之一。
4.系统需求分析
4.1需求分析的目的
软件需求分析放在整个软件工程流程中的第一步毫无疑问是非常重要的,它代表着软件开发的基本准则,也是系统开发的方向。
如果软件开发没人做好需求,就可能在结果中导致一个失败的作品,这样就会导致之前很多的投资以及工作都失去了意义。
因此,我们必须知道系统需求分析的重要意义,需求分析的目的是为了能够让软件开发正常进行,避免做一些无用功从而导致资源,时间的浪费。
4.2系统工作流程
在明确系统开发工作之后,根据系统需求分析的思路和原则,和自己的毕业设计老师通过多次了解和沟通之后,归纳出在线考试系统的基本功能以及一些需求创新,最后还有一些开发所需的工具,技术等等。
之后开始系统环境部署,编码,最后测试完成。
4.3系统功能
本系统主要分为学生考试、老师管理成绩和试题、后台数据库管理员三大部分。
对系统的功能也主要由角色的转变而变化。
(1)学生模块
学生随机获得试题。
根据题目在对应的时间内打完题目,然后交卷。
考试结束之后系统立即批改获得分数。
学生根据需求能够看到答案和题目内容解析。
(2)教师模块
老师可以根据页面提示录入试题。
具体管理试题,主要是针对题目部分的查询,更行解析内容,增加题目,减少题目等等信息。
管理学生成绩,根据学生的学号或者所属班级查询成绩。
(3)后台管理员模块
对考试人员资料和老师资料进行维护,管理用户信息。
对考试题目进行定期维护和查看。
4.4系统需求分析
本系统主要针对的用户主要是学校或者类似学校这样老师和学生的学习群体,涉及到的也主要是老师对学生通过考试进行测评,为的是实现真正意义上的无纸化考试的目的。
这个系统的主要角色就是老师,学生以及后台数据库管理人员。
涉及到的主要是学生信息,学生成绩,教师信息,试题的管理等一些基本信息数据。
对实现的基本功能的描述:
用户基本信息的管理——用户的信息管理主要体现在后台数据库管理员对用户信息的管理。
用户信息的采集由数据库管理员实现,考试系统的用户信息都是由数据库管理员录入。
学生考试流程——学生在登录考试系统时就要对登录信息进行选择,从而系统对用户进行辨别,使得进入系统以后学生可以随机获取试题开始进行考试以及考试结束以后的其他操作。
教师模块功能——这个方面主要涉及对试题的管理和对学生成绩的查询,主要还是为了方便老师对成绩的统计分析等等,这里还有很多需要完善的地方。
总得来说考试系统还是有很大的意义的,通过对功能描述能让系统有一个概念,下面一张图(图4-1)能够更加清晰和直观地表现出系统整体的功能架构。
图4-1系统流程图
4.5系统功能需求分析
我们可以对这个系统的分析总结,可以总结如下:
(1)学生模块包括所进行的所有操作,主要就是获得题目以后进行答题,提交答案以后可以马上得到成绩,并且查看相应的题目解析,效率大大提高,学生功能的用例图如图4-2所示。
图4-2学生部分用例图
(2)教师登陆考试系统之后,可以进行试题与学生成绩2个部分的操作,可以对试题进行管理,包括增加,删除,更新题目等等,此外老师可以查询学生成绩,并做分析。
相关用例图如图4-3所示。
图4-3老师部分用例图
(3)关于管理员部分,考虑到考试系统的安全性,管理员我将他设置为后台数据库管理人员,直接对学生信息和考试信息进行维护更新。
也可以更好的保护数据的安全性。
4.6系统非功能性需求
除了系统功能需求以外,系统的非功能性需求对系统也是非常重要的,从非功能性需求在对一个网站的影响可以体现在以下几个方面:
(1)功能性:
在完成基本功能之后,首先要确保网页上的一些信息的安全性,在其他方面都完善的情况下,才去满足一个网站本身的特点,并且有能力再去改善。
(2)可用性:
对于一个网站操作手段,我们都可以用帮助文档辅助用户去使用和浏览,能够用户对网站有一种满意感。
(3)可靠性:
它主要体现看一次运行能够持续多少时间,同时这个过程中问题的出现率有多低。
(4)性能:
性能方面要保证最起码一个班级的学生同时登录该网站进行考试,能够让一场考试正常进行。
(5)可支持性:
网站的维护性要好,在运行需求允许的情况下,该网站能都在任何计算机下正常配置,可移植性好。
5.系统设计
5.1总体设计
关于这部分的设计,通过不一样的角度去阐述对这个系统的一些想法和思路。
从根本上去了解开发这样的网站所依托的一些知识,也是为了完善开发过程中内心的想法,将整一个思路整合起来。
5.1.1设计原则
一个可靠的在线考试系统在设计时应当满许这样的原则:
(1)准确性:
不得轻易窜改未被用户授权的信息;对信息数据的操作必须严格遵循相关使用准则,保持系统的准确性。
(2)适应性:
系统应当保持适应性的良好,能够使得用户对系统操作,软件环境以及界面保持良好的操作感。
(3)隐秘性:
数据在数据库中保存的话,必须保持隐密性,尤其是学生成绩不得随意更改,除了系统本身之外,这也表面对数据库维护人员品质的高要求。
(4)可证实和公平原则:
所有学生考试成绩都应被证实是真实存在的,是实际有的而不是没有的。
此外,所有信息的录入都要公平有效,不得存入与实际信息不符的信息,最终造成无法挽回的错误。
(5)简单性:
努力达到功能模块可以使用,操作简单;使用者登录以后无需复杂而繁琐的操作就可以对整个系统充分的了解。
并且能够提供相关意见提供开发者,以方便后期的维护和更新。
(6)代码可读性:
在进行系统开发时,尽自己可能地为程序注释代码,无论是哪种类型的程序代码。
方便其他地开发或者维护人员对系统迭代更新,降低系统的错误率。
作为一个Web开发系统,设计时所考虑到的原则不仅仅这些,上一章中非功能性需求也有所涉及。
希望在随后的时间内,能够集思广益,不断更新用户手册,完善系统的各类信息和资料,在互联网上留下可用的资源。
5.1.2设计思想
我们根据整个系统的运行模式,设立以数据库作为服务器,掌控整个系统的后台运行,保证系统正常启动。
前台的系统页面能够在不同内核的应用浏览器上使用起来。
5.2运行环境
根据系统运行和开发等相关工具安装运行的环境要求,我们可以从硬件和软件需求两方面对系统运行环境调试.
5.2.1硬件环境
●CPU:
2.4GHz及以上;
●内存:
1024M及以上;
●硬盘:
100GB及以上;
●显卡:
集成显卡及以上;
5.2.2软件环境
●操作系统:
Windowxp及以上;
●开发工具:
MyEclipse10;
●数据库:
Mysql5.0;
●Web服务器:
tomcat;
5.3功能模块设计
教师系统模块
评卷功能
试题管理
成绩统计
学生考试模块
查看解析
随机得题
成绩查看
学生做题
数据库管理员
信息修改
权限管理
在线考试系统
图5-1系统功能图
从上面的系统功能图中我们可以看到本系统相关的主要功能,整一个系统分为三个模块,分别是学生考试模块,数据库管理员,教师系统模