在线考试系统的设计与实现.docx
- 文档编号:30734663
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:25
- 大小:1.52MB
在线考试系统的设计与实现.docx
《在线考试系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《在线考试系统的设计与实现.docx(25页珍藏版)》请在冰豆网上搜索。
在线考试系统的设计与实现
目录
1研究的意义1
2系统设计与需求分析2
2.1在线考试一般需求分析2
2.2系统的可行性分析2
3系统开发技术及构架3
3.1开发环境3
3.2ASP技术综述4
3.3ASP的内部的特点4
3.4利用ADO访问数据库5
4系统的设计和功能分析6
4.1系统设计思想6
4.2系统设计目标7
4.3系统整体结构图7
4.4系统的实施方案8
5系统功能的具体实现11
5.1数据库的连接11
5.2系统各子模块的实现11
5.3试题数据管理与实现12
5.4学生管数据理模块的实现14
5.5系统配置管理模块的实现16
6单元测试分析17
6.1题库添加模块测试17
6.2学生数据管理模块测试17
6.3系统中所存在的问题及解决方案19
总结21
致谢22
参考文献23
在线考试系统的设计与实现
摘要:
随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、教育教学的平台。
本文设计开发的考试管理系统也是其中重要的一个方面。
该系统能够减轻教师工作负担、提高工作效率、优化学生考试的流程,增强参加考试学生的身份识别,比传统的考试模式节省人力财力和时间。
该在线考试系统由用户注册模块、考试模块和系统管理模块等三大模块组成。
其中系统管理模块是进行题目的添加、存储和删除,是系统运行的基础;查询子模块实现了对学生考试信息远程查询。
考试模块是客户端学生或教师通过自己的姓名和学号以及密码登陆系统,进入界面时由系统按照出题教师预先设置好的试卷结构从题库中随机抽取适合的题目,形成试卷。
系统选用的开发软件是ASP,后台数据库为Access。
本系统的开发采用结构化设计思想。
设计说明书介绍了考试系统的开发初衷和背景、系统的开发工具、和结构化开发的具体步骤,其中包括实体-联系模型,数据流图,功能结构图等必要的说明。
关键词:
Access在线考试ASP
1研究的意义
现阶段,学校与社会上的各种考试大都采用传统的学习方式,在此方式下,组织一次考试至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
在学校,尤其是在各大高校,对于学生的考试管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项常规性工作。
而长期以来,考试管理都是依赖人工来进行的,面对如此众多的学生考试信息,其工作量是相当相当巨大的。
这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成考试管理的一些不规范,使得信息管理陷入“事倍功半”的地步。
而计算机开发的基于单机的学生考试管理系统又只能在特定的时间,地点由特定的管理员才能进行管理,所以造成的管理上的不便性。
因此急需要开发学生在线考试来改变这一现状。
2系统设计与需求分析
2.1在线考试一般需求分析
在线考试应具有以下要求:
1)由于考试对应的是特定的对象,所以系统需要经过有效的身份验证才可以登陆。
并且系统需要有可以管理会话的功能。
以便在考试过程中全程跟踪考试状态。
2)系统的权限一般分为两种:
管理员和学生。
不同的身份使用不同的权限和功能。
3)管理员需要对试题和考生进行有效的管理,负责试题的录入及更新和修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。
要注意的是,鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。
同时,系统还应该具有以下性能:
1)系统要有良好的试卷上传和回收功能,确保信息传送的正确性。
2)系统要有一个友善的界面,确保考生考试的顺利进行。
3)能够实现在线添加试卷和试题的功能。
4)能够实现在线答题的功能。
5)能够实现添加用户的功能。
6)系统提供对考生成绩的统计和查询等管理功能。
7)系统应具有良好的安全性管理。
2.2系统的可行性分析
系统的可行性分析包括两个详细的部分:
分析开发新的系统的必要性和可能性。
必要性在前面系统初步调查中已经作了详细的分析,在这里就不再赘述;可能性主要包括经济可行性、技术可行性和运行可行性三个方面[2-5]。
经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。
由于在线考试系统作为毕业设计由学生自己开发的,在经济上的投入相对较小,系统完成之后将为今后在线考试管理提供很大的方便,因此在经济上是可行的。
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
在线考试系统使用的是ASP.NET系统,开发、调试相对简单,当前的主流计算机硬件配置速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
软件方面:
由于目前B/S架构已经发展成熟,ASP.NET、Access已经紧密结合,故软件的开发平台成熟可行[6-8]。
运行可行性是对组织结构的影响,现有人员和机构、设施和环境对系统的适应性及人员培训补充计划的可行性。
本系统设计界面直观,操作简单快捷,而且当前信息化技术已经相当普及,所以在运行上是可行性的。
3系统开发技术及构架
3.1开发环境
系统开发环境的选择对于系统的建立来说至关重要,它将决定着系统开发工作量的大小,系统的性能特点以及系统今后的维护工作难易等。
因此在开发系统之前,根据对系统所采用的技术、实现功能的评估,在选择开发环境时,主要考虑以下几个因素:
扩展性,总成本,功能,是否容易开发与管理等方面。
(1)硬件环境
服务器端的配置主要由建立站点所需的软件来决定,在低配置下,服务器虽然能正常工作,但其性能往往不尽如人意。
如果想使站点服务器工作得更好的话,我们需要更好的配置。
客户端主要用于浏览页面,和WEB数据库进行交换操作,因此客户端对硬件要求不高,主要由所安装的Windows来决定。
(2)软件环境
平台应该是建立易于开发、管理、扩充以及同开发标准兼容的解决方案的基础。
服务器端平台软件全部采用Microsoft的产品,便于维护和管理,同时系统设计中还应用了Microsoft的一些新技术,来提高系统的整体性能和效率。
操作系统采用MicrosoftWindows2003Server。
Web服务器采用IIS6.0。
Web服务器从硬件角度上讲是Internet上保存Web页的计算机,从软件角度上讲是提供Web服务的服务程序。
Web服务器以及相应的浏览器技术的出现和商品化,为企业在网上发布信息和挖掘信息提供了强有力的工具。
现在由Internet上的众多Web服务器提供的超媒体数据连接服务也已迅猛发展。
Web服务器通过与对象技术相融合,正在逐步发展为能够自由挂接各种应用对象的Web应用服务器。
在此,我们主要从软件角度出发,选择适合于为在线考试系统提供Web服务的服务程序。
目前,较为常用的专用Web服务器主要有两种:
IIS6.0和JavaWebServer。
IIS的设计目标是提供适合性很强的Internet和Intranet服务器功能。
IIS具有极高的执行效率,出色的安全保密性,易于管理以及启动迅速等特点。
它既可以用于集成现有的应用方式,也可用于实时Web应用系统[10-11]。
3.2ASP技术综述
合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。
在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法做出集成性的设计。
现在我们利用IIS+ASP构成三层式Web结构的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。
3.3ASP的内部的特点
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。
这6个对象及其功能描述如表3-1所示:
表3-1ASP内部6大对象及其功能
对象名称
功能描述
Request
从客户端取得信息
Response
将信息送给客户端
Server
提供一些Web服务器工具
Session
储存在一个Session内用户信息,该信息仅可被该用户访问
Application
在一个ASP-Application中让不同的客户端共享信息
ObjectContext
配合MicrosoftTransaction服务器进行分布式事务处理
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。
我们可以用以下的语法直接使用这些对象:
对象/属性/方法/数据集合。
3.4利用ADO访问数据库
ADO(ActiveXDataObjects)是一种操作Microsoft所支持的数据库的新技术。
在ASP中,ADO可以看作是一个服务器组件(ServerComponent),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。
本文中个性化页面的实现便大量地用到了ADO技术。
具体的操作步骤可以归纳为以下几步。
(1)创建数据源名
DSN(DateSourceName)即数据源名称。
我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。
比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。
而且我们根本不用知道这个数据库是放在哪里的。
我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。
我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。
如果数据库的平台变了,比如我们改用了Access的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。
由此可见,DSN是应用程序和数据库之间的桥梁[14-15]。
(2)创建数据库链接
链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。
ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
setConn=Server.createObject(“ADOBD.CONNECTION”)
这条语句创建了链接对象Conn,接下来:
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"")
conn.Openconnstr
这条语句打开链接,用到了DSN,本例为“connstr”。
以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用[18-19]。
(3)创建数据对象
ADO中的数据对象通常保存的是查询结果。
RecordSet是ADO中最复杂的对象,有许多属性和方法。
RecordSet保存的是一行行的记录,并标有一个当前记录。
以下是创建方法:
SetRecordSet=Conn.Execute(sqtStr)
这条语句创建并打开了对象RecordSet,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。
例如:
rs=“SELECT*FROMshop_books”
SetRecordSet=mConn.Execute(rs)
这条语句执行后,对象RecordSet中就保存了表tab1中的所有记录。
(4)操作数据库
我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。
例如:
rs=“INSERTINTOtab1VALUES(1,2)”
mConn.Execute(rs)
/执行插入操作
(5)关闭数据对象和链接对象
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。
通过调用方法close实现关闭,然后再释放它。
RecordSet.close
SetRecordSet=Nothing
/关闭创建的数据对象
mConn.close
SetmConn=Nothing
/关闭创建的链接对象。
4系统的设计和功能分析
在对在线考试进行开发之前,必须首先对系统进行整体规划和设计,否则就会导致开发工作量大,系统不符合要求。
更为糟糕的是,还可能会导致系统不完善或整个系统根本无法运行[21-25]。
因此,系统的总体规划与设计是在线考试必备且首要的步骤。
具体到本系统而言,就是根据在线考试的目标、内容、规模、性质、现有的配置等具体情况,进行系统可行性分析,明确系统开发目标,整体规划系统的物理结构。
4.1系统设计思想
该考试管理系统通过前端(考试)界面和后台数据库管理向用户展示信息,方便的实现了内容的维护和更新,使用户更快,更好的了解信息。
以“学生考试”为例,学生登录后进行考试,管理员在后台对学生考试的各种题型,科目,答案进行管理,当前台发出进行某一科目的考试时,后来根据考试所提交的要求,给出试题进行考试,考试完成后,提交试卷,这里后台开始统计该考试的考试时间及答题分数,信息都是动态显示的,因此,客户端可以获得自己考试信息的最新动态信息[28-30]。
4.2系统设计目标
在明确了系统的设计思想之后,就要开始规划系统的设计目标了,也就是要明确整个系统应当实现的功能,下面将就整个系统管理进行介绍。
该考试系统在功能上类似于一个MIS系统,但是在实现方法上有别于传统的MIS系统。
该系统采用WEB页面作为管理界面,因此与MIS系统相比较而言,更加友好与智能化,管理员操作起来也更加便捷。
系统首先提供管理员的登陆页面,当登陆者输入账号和密码后,系统将对登陆者的账号和密码加以验证,只有经过授权的管理员才能进入管理系统,执行各项管理职能。
否则系统将给出错误提示。
该系统具有以下管理功能:
1)前台考试主要完成前台完成考生登录,登录后选择科目进行考试,考试完成后提交答卷。
2)后台管理。
通过管理员身份认证后进行后台管理。
后台管理包括管理员进行学生和考试的管理,该子模块包括:
管理员管理,考生信息管理与浏览,考试科目与试卷录入,查看及管理学生考分,数据的备份与恢复。
4.3系统整体结构图
整个系统整体结构如图4-1所示。
图4-1系统整体结构图
4.4系统的实施方案
本系统依照真实的考试流程进行程序设计,整个程序主要使用Microsoft提供的语言和服务,Windowsserver2003作为服务器,Access2003用于对服务器数据库的维护,VBScript,JavaScript,DreamweaverMX2004,ASP等实现交互式考试及其相关操作。
完成以上各角色的功能,实际上是处理一系列的数据库,在后台我们对数据库进行操作,以实现在线考试的运行[32-33]。
(1)网页制作工具的选择
DreamweaverMX2004本身带有多种模式,可以根据需要加以选择,同时它与操作系统的集成性非常好,所以在站点管理等方面具有其它网页编辑软件所无法比拟的优势。
因此在Web页面进行规划的过程中,我选用DreamweaverMX2004作为主要设计工具。
在网页制作过程中,其他的辅助工具起很重要的作用,因为DreamweaverMX2004只能将很多元素编辑,而很多元素需要用Photoshop,Fireworks,等其他软件加工处理。
(2)数据库中表的建立
本网站采用的是Access数据库。
系统的所有信息均记录在五个表中,具体内容如下所示。
表4-1考生信息表
表4-2Tryinfo(题库表)
表4-3computer表(试题表)
表4-4admin表(管理员)
表4-5Score(成绩表)
5系统功能的具体实现
5.1数据库的连接
数据库连接文件:
conn.asp
<%
SetConn=Server.CreateObject("ADODB.Connection")
Db="examdatas/tempDb.mdb"
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(Db)
'Connstr="driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath(Db)
Conn.OpenConnstr
'Conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&server.MapPath(Db)&";Mode=ReadWrite|ShareDenyNone;PersistSecurityInfo=False"
%>
5.2系统各子模块的实现
(1)用户登录模块的实现
学生考试系统首页界面如图5-1。
图5-1学生考试系统首界
首先打开首页后我们根据自己的需要选择页面,进入主界面进行相关操作。
我们首先单击进入系统。
登录界面的效果图如图5-3所示。
图5-2管理员登录界面
管理员登陆成功后出现后台数据管理界面如图5-3所示。
图5-3后台数据管理界面
5.3试题数据管理与实现
后台数据管界面分成三个部分分别为:
试题数据管理,考生数据管理,系统配置管理。
我们根据自己的需要单击任意一个。
下面我们单击试题管理页面再单击题库信息预览,所生成的页面如图5-4所示。
图5-4题库信息预览界面
试题管理系统中用户根据自己的需要单击不同的页面,我们单击添加题库建表,管理员按自己的要求添加试题,添加试题主要科目,考试题目,考试时间,考试分数,考试份数等结构组成的。
管理员填完了就单击确定。
如图5-5所示。
图5-5添加题库建表界面
试题管理系统中单击浏览选择试题就出现浏览选择题界面。
界面中有个搜索方式,需要看关于那个内容就关键字里面输入关键字并确定就会出项系统中想要的内容。
同时可以删除内容。
如图5-6所示。
5-6试题预览界面
试题管理系统中单击添加试题库数据就出现添加试题库界面。
管理员根据自己的需求添加试题,所呈现的页面如图5-7所示。
5-7添加试题界面
试题管理系统中单击试题后台设计出现题库信息设置界面,在这个界面可以添加考试内容并删除与重写。
如图5-8所示。
5-8试题后台设置界面
5.4学生管数据理模块的实现
在考试系统的首页面中我们选择在线网上考试系统,就打开学生登陆页面,这个页面要验证学生学号,姓名,考试题目的,如果验证对的就可以顺利的进入考试页面。
在线考试系统页面如图5-9所示。
5-9在线考试系统学生登录界面
当权限等级够的用户登录成功以后,学生单击学生数据管理并展开,它由4个部分组成的分别为,全部考生浏览,添加考生数据,考生数据初始,考生考试监控等内容,之前学生登陆后才进入这个页面。
考生可以搜索方式输入关键字找出名字并查成绩。
该页面如图所示。
学生数据管理面中单击添加考生数据,并出现界面如图5-10所示。
图5-10全部考生浏览界面
单击考生添加数据就出现添加考生页面,可以写学号姓名,班级,性别,成绩,IP地址,登录,提交等信息添加该考生。
页面如图5-11所示。
图5-11添加考生界面
单击考生考试监控就出现考生监控页面,可以按学号搜索方式查找该考生。
页面如图5-12所示。
图5-12添加界面
5.5系统配置管理模块的实现
当权限等级够的用户登录成功以后,单击系统配置管理打开系统页面配置,该页面如图5-13所示。
图5-13系统页面设计界面
单击系统配置管理打开密码权限设置,该页面如图5-14所示。
图5-14密码权限设置界面
单击系统配置管理打开数据备份\还远,该页面如图5-15所示。
图5-15数据备份\还原界面
单击系统配置管理打开登录退出,该页面如图5-16所示。
图5-16登陆于退出界面
6单元测试分析
6.1题库添加模块测试
各类添加其大致过程相似,以下以添加题库为例来测试,如图6-1所示。
以管理员的身份登入系统,添加题库科目:
计算机。
考试题目:
计算机一级考试。
考试时间为120分,考试分数为100分,考试份数为60分,数据表明为一次性。
图6-1添加题库测试信息
单击确定按钮,会出现红色字“上条记录添加已完毕”添加结果如图6-2:
图6-2添加成功提示信息
6.2学生数据管理模块测试
单击学生全部浏览,快速方式搜索中选择名字,写一个学生姓名为阿尔孜古丽,如图6-3所示。
图6-3添加题库测试信息
单击确定按钮,会出现字“学号为32108119,名字为阿尔孜古丽,班级为12-1”并搜索检查记录为1。
添加结果如图6-4所示。
图6-4添加成功提示信息
单击学生全部浏览打开学生添加,学号为2000070,姓名为okyan1,班级为007,性别为男,成绩0,IP地址为0,的学生信息添加,添加过程如图6-5所示。
图6-5添加学生信息
单击确定,提示为“对不起,这个学生学号已经有了,请重试”结果界面图为如图6-6所示。
图6-6添加成功提示信息
打开系统管理单击密码权限设置并选择密码重写,设计管理员用户名为:
阿尔孜古丽,密码为880220,设置为如图6-7所示。
图6-7添加用户名和密码信息
单击确定后再多一个用户名,并显示“添加新管理员完毕”界面如图6-8所示。
图6-8添加成功提示信息
6.3系统中所存在的问题及解决方案
整个在线考试系统由两个模块构成,面向管理员的系统管理模块和面向考生的考试系统模块。
每个模块又由若干子模块组成。
系统管理模块负责题库维护、考生管理、统计分析等。
考试系统模块负责考生考试的全过程,具体包括登录界面设计和有效性验证、试卷的生成、考试界面的设计、答案的存放等。
考生考试系统模块是在线考试系统的核心部分,下面就该模块中一些问题做出探讨。
1)考试过程中的网络拥塞
在线考试系统的设计中,首先遇到的是考试过程中网络拥塞问题。
考试过程中,开始考试和交卷的瞬间,每一浏览器都向服务器发送http请求,造成服务器负担过重,引起长时间的等待,严重的会造成系统崩溃。
整个网络负载呈极不均衡的马鞍状。
考试中的时延通常以毫秒计算,即使很短一段时间的负载分担也会带来网络拥塞的很大改善。
因此,在等待考试开始时将试卷下载到本地是较好的解决方案,它实质是将网络负载分担在一段时间内。
2)考试时间的控制
考试过程中,所有事务都是按时间顺序发生的,所以对时间控制尤其重要。
考虑到客户端时间的不精确,决定以服务器时间为标准,通过一个计时器来控制考试的进程。
由于客户端机器性能不同,计时器运行一段时间后会产生一定的误差。
为此,编写一个计时器函数c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 考试 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)