在线考试系统设计与开发.docx
《在线考试系统设计与开发.docx》由会员分享,可在线阅读,更多相关《在线考试系统设计与开发.docx(31页珍藏版)》请在冰豆网上搜索。
在线考试系统设计与开发
在线考试系统设计与开发
在线考试系统设计与开发
1前言
1.1背景:
网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。
随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。
现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。
基于Internet的考试系统正成为人们的研究热点之一。
与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。
在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。
与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。
通过Internet/Intranet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。
可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。
传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。
这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。
网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上Web数据库技术的利用,大大简化了传统考试的过程。
本文以Internet为平台,研究了基于Web考试系统的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。
重点阐述了用户登录模块、题库管理模块和试卷管理模块的设计。
特别是在题库管理模块中对自动组卷功能常用的算法进行了比较。
对于较流行的验证码技术也给出了具体实现。
1.2动态网页技术
由于系统的操作界面都是Web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,这是一般静态Web页面技术所无法实现的,所以采用动态网页技术。
目前动态网页技术有很多,可以说是层出不穷,比如CGI、PHP、JSP、ASP、ASP.NET等。
本设计采用ASP.NET技术。
ASP.NET(又称ASP+)是ASP的下一代版本,它并不只是ASP4.0,它是一个用于Web开发的全新框架,其中包含了许多新的特性。
ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给Web开发人员更好的灵活性,有效缩短了Web应用程序的开发周期。
ASP.NET与Windows2000Server/AdvancedServer的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。
1.3数据库技术
由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。
目前主要的数据库有:
Access、FoxPro、Excel、Sybase、Oracle、Informix、SQLServer等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。
本系统采用的是微软公司的SQLServer2000。
原因如下:
第一,SQLServer与Windows2000Server服务器紧密集成,而Windows2000Server服务器具有很好的安
(5) 实现自动判卷和数据的有效保存。
如果说考试使教师教学过程中重要工作之一的话,那么判卷又是教师在考试实施过程中最重要和最烦琐的工作之一。
判卷有两个基本的要求,那就是快速和准确。
学生希望在最短的时间内知道自己准确的考试成绩,在集体中的位置知道问题出现的所在和应该努力的方向。
这也是考试教育功能的重要体现。
如果判卷越慢这种对学生的反馈和激励的效果就会越小,达不到原有的考试目的。
快速和准确对传统的教师手工判卷来说是一对矛盾,加重了教师的工作负担。
而使用考试系统的自动判卷功能,能很好的解决这些问题。
甚至在学生考试完成后,他就能马上看到自己的成绩。
考试成绩的保存,对计算机考试系统来说,是非常简单方便的。
而在手工考试中,需要教师特别的注意将成绩单存档或再输入计算机中,工作比较烦琐。
(6) 具有强大的数据统计分析功能。
计算机考试系统与传统纸上考试相比具有强大的统计功能,原来非常烦琐甚至手工难以进行的分析统计计算工作,现在可以在瞬间完成了。
由于考试系统从出题、考试到判卷、统计,完全实现了数字化,不再需要教师手工地将学生成绩、答题情况等详细信息输入计算机,因此使学生成绩统计分析,试题参数的统计分析及自动调整在实际工作中成为可能。
随着社会的不断发展,信息保存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,网络考试系统的发展前景是光明的。
1.5可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
A社会因素方面的可行性:
本系统用于学校考试,无法律和政策方面的限制
B经济方面的可行性:
主要是对项目的经济效益进行评价,本系统作为一个实训的一个项目,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。
所以本系统在经济上是可行的
C技术方面的可行性
1)技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
2)软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有SQLServer,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
其灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
3)硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
D操作方面的可行性
目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。
学校良好的网络设施为开发使用无纸化网络考试系统提供了坚实的基础。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快.
2软件需求说明书
2.1编写目的
我们学校的计算机课程采用上机考核方式,以前所用的考试系统由于种种原因不能满足一些要求,需要添加新的功能,因此我们对考试系统重新设计和开发出一套全新的考试系统的项目,并得到老师的大力支持。
我们在保持原有绝大部分功能的前提下,不仅需发完善原有功能,而且按照老师和同学的要求,加入许多新的功能,使得题目管理,上机考试,试卷评分,考试分析更加方便完善。
该软件项目可行性研究报告是对项目课题的全面通盘考虑,是项目分析员进行进一步工作的前提,是软件开发人员正确成功的开发项目的前提与基础.写软件项目可行性研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,我们首先确定考试系统需要做什么,并充分理解考试系统要实现的功能,以文档形式说明我们的分析的过程,以便我们以后的设计开发中参考,所以该软件项目可行性研究报告在整个开发过程中是非常重要的
2.2任务概述
2.2.1目标
a本系统的用户可分为教师,学生两类。
考虑到系统的安全性,本系统共分成两个部分:
一个部分用于教师登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个部分用于考生登录,参加考试和考试前的模拟训练。
b从总体上考虑,系统应该实现下列功能:
对教师来说,包括试卷管理、题库管理、成绩管理。
基本资料管理
试卷管理:
教师可以将各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则,在学生考试时,由系统根据试卷规则自动组卷生成满足教师要求的试卷,而不用手工组卷。
同时,教师还可以对库中已有的试卷进行修改和删除,添加新试卷等。
题库管理:
教师可以根据教学需求对题库中的试题进行三种基本操作:
添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、单选题,多选题,Microsoftoffice操作(包括word文档操作、excel文档操作、PowerPoint文档操作)、windows文档操作题和打字测试(中文,英文),windows文档操作题。
成绩管理:
教师可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。
主要包括管理基本资料(包括教师、学生资料的增、删、改以及个人资料修改)
对学生来说,有两方面要求:
。
模拟考试训练:
学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。
正常考试:
学生只能一人只考试一次,在特殊情况下,可以由监考教师删除以往考试信息情况下,可以进行考试。
2..3处理流程
2.3.1给出所建议系统的处理流程和数据流程
图2.2模拟考试流程图
图2..2考试系统流程图
图2.3考试题库管理系统流程图
2.3.2系统数流图分析
图2.4考试系统数据流图
图示2.5考试系统管理流程图
2.3.3数据字典定义;
数据字典有四类:
数据项,文件,数据流,加工
a)数据流定义
表4.1考生登陆信息
数据流名:
考生登陆信息
简述:
考生进入考试系统中的身份
组成:
考生学号+考生姓名
注释:
考生只能参加考试只能登陆一次
表4.2空白试卷
数流流名:
空白试卷
组成:
考生学号+姓名+(选择题)+(判断题)+(填空题)+(office操作题)+考试时间
注释:
考生没有做题的试卷
表4.3选择题
数据流名:
选择题
组成:
题名+题号+{问题+选项A+选项B+选项C+选项D+答案+结果}
注释:
每一次生成的选择题都不一样,结果都为空
表4.4判断题
数据流名:
判断题
组成:
题名+题号+{问题++[答案A|答案B]+结果}
注释:
结果为空
表4.5Office操作题
数据流名:
office操作题
组成:
题名+题号+word操作题内容+word操作题要求+excel操作题内容+excel操作题要求+powerpoint操作题内容+powerpint操作题要求
表4.6填空题
数据流名:
填空题
组成:
题名+题号+{问题+答案+结果}
注释:
结果为空
表4.7备份答题卷
数流名:
备份答题卷
简述:
试卷类对象初始化的一个string型数据
组成:
考生学号+姓名+(选择题)+(判断题)+(填空题)+(office操作题)+考试时间+考试剩余时间+结果
注释:
每隔1分钟生成一次
表4.8考试设置信息
数据流名:
考试设置信息
组成:
选择题数目+选择题分值+判断题数目+判断题分值+office操作题分值+考试时间
注释:
是生试卷试题和考试的要求
表4.9学生信息表
文件名:
学生信息表
组成:
{学生姓名+学号+班级}
组织:
按班级排列
表4.10学生成绩表
文件名:
学生成绩表
组成:
{学号+成绩+考试状态}
表4.11判断题储存表
文件名:
判断题储存表
组成:
{题序排列号+问题内容+答案A|答案B]+}
注释:
按题序列号排列
表4.12选择题储存表
文件名:
选择题储存表
组成:
{题序列号+问题内容+选项A+选项B+选项C+选项D+答案}
注释:
按题序列号排列
表4.13填空题储存表
文件名:
填空题储存表
组成:
{题序列号+问题内容+答案}
注释:
按题序列号排列
表4.14Office操作题储存表
文件名:
Office操作题储存表
组成:
{题序列号+组成:
题名+题号+word操作题内容+word操作题要求+excel操作题内容+excel操作题要求+powerpoint操作题内容+powerpint操作题要求+web内容+web操作要求}
注释:
按题序列号排列
表4.15答题卷备份表
文件名:
答题卷备份表
组成:
{学号+答题卷}
注释:
按学号排列
3.2加工
表4.16抽取选择题
加工名:
抽取选取择题
激发条件:
收到生成选题要求
加工逻辑:
1联结数据库,
2随机抽取选择题库中考试要求数量的选题
执行次数:
一人一次
表4.17抽取判断题
加工名:
抽取判断题
激发条件:
收到生成选题要求
加工逻辑:
1联结数据库,
2随机抽取判断题库中考试要求数量的判断题
执行次数:
一人一次
表4.18抽取office操作题
加工名:
抽取选office操作题
激发条件:
收到生成office操作题要求
加工逻辑:
1联结数据库,
2随机抽取office操作题库中考试要求数量的office操作题
执行次数:
一人一次
表4.19试卷备份
加工名:
试卷备份
激发条件:
每一分
加工逻辑:
1对考试类中对象初始化,生成二进制数据流
2将生成的二进制数据流转化这Unicode字符串
3联接数据库,将生成的字符串,保存到数据库中
执行次数:
每一分钟备份一次
表4.20试卷备份
加工名:
试卷恢复
激发条件:
收到恢复试卷的考生学号
加工逻辑:
3联接数据库,读取该学号考生备份文件
2将生成的文件字符串的转化这二进制数据流
1对考试类中对象逆初始化,生成考试类
执行次数:
当考试发生中断时执行
4运行环境规定
4.1设备
列出运行该软件所需要的硬设备。
说明其中的新型设备及其专门功能,包括:
a.服务器运行配置:
硬件要求:
运行在内存至少在256M以上并装有网卡的微型机上
b.客户端:
硬件要求:
运行在内存至少在128M以上并装有网卡的微型机上
4.2支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
体系结构
x86
开发平台
Win32
开发语言
C#
开发工具
VisualStudio2003
客户端运行环境
Windowsxp,Windows2000
服务器运行环境
Windowsxp,Windows2000
Sql服务器运行环境
Windowsxp,Windos2000
客户端
Microsoftoffice
数据库系统
Microsoftsqlserver
表2.1编程中所用到件
4.3接口
说明该软件同其他软件之间的接口、数据通信协议等。
通信协议:
Internet通信协议(tcp/ip)
3概要设计说明书
3.1分析
在线考试系统主要是针对当前教考分离的现状设计的。
主要目的是为学生平时学习和自测、大规模考试测验服务。
系统可以实现如下功能:
建立完备的试题库,整合现有的考试资源,提高资源的利用率和当前的工作效率;利用计算机自动生成试卷,减少教师负担,提高试卷的科学性,同时也防止考生抄袭作弊;登陆后可以根据用户类型的不同分别进入不同的界面,身份验证严格,防止网络替考及窃取权限修改成绩;考生答完卷后答案自动存储,若时间已到而试题未答完则自动保存成绩后强行退出;设定自动阅卷功能,标准化试题由于答案固定,可以让计算机自动将考生答案和标准化答案比对,自动生成成绩,确保成绩的公平和公正;最后还可以就考试情况进行分析,找出考生分数层次和薄弱知识点,从而利于教学改进。
3.1.1编写概要设计说明书目的
在分析阶段的工作结果是需求说明书,它通过需求分析,明确了解该项目的基本功能。
现在我们根据需求说明书,着手开始设计如何实现这些功能,建立一个符合用户要求的软件系统。
概要设计就是将系统划分成模块,并决定每模块的功能和模块间的调用关系以及模块的界面
概要设计将软件系统分解成许多模块,决定每个模块的外部特征,即每个模块的功能和界面(输入和输出),以便详细设计人员参考和进行详细设计。
3.2总体设计
3.2.1结构
根据需求说明书的分析结果和对数据流图分析,将数据流图.转换为模块结图
图3.1考试管理系统模块图
图3.2考试系统模块结构图
考试系统模块功能简介:
1.登陆模块:
当考生登陆到考试系统窗体时,首先要求输入考生的学号和姓名,并按下确定,进行身份验证,如果没有通过身验证,根据验证结果进行不同的操作,说明没有通过的原因。
返回原因可能为,学号与姓名不相配,或者是已经参加过考试,或者是某种原因,你已经处于考试状态。
2.身份验证模块:
。
在考生进入考试系统时,要求确认其考试资格,并跟据不同的情况返回不同的值。
3.生成试卷模块:
根据读取到的考试设置,生成考试试卷。
4.生成选择题模块:
根据考试要求,从数据库中的选择题库中随机抽取规定数量的选择试题。
5.生成判断题模块:
根据考试要求,从数据库中的判断题库中随机抽取规定数量的判断试题
6.生成office操作题模块:
从数据库中的office操作题库中随机抽取office操作题试题。
7.读取数据库信息模块:
根据要求,从数据库中读取需要的信息。
8.做试卷模块:
考生做试卷,让考生根据试题要求,输入结果或进行操作;
9.试卷备份模块:
在考生做题时,每分钟将试卷更新到数据库中一次。
10.试卷恢复模块:
在考生考试发生中断或出现错误时,可以数试卷恢复设置,恢复试卷,继续考试。
11.时间控制模块:
在考试中,考试有时间限制,当考试时间结束前5分钟,将提醒考生交卷,考试时间到时,将自动交卷,并且禁止考生操作。
12.提交试卷模块:
先将考生试卷保存到数据库中,然后评卷,并把考试分数保存到数据库中。
13.评卷模块:
对考生试卷的答案与标准答案对比,对的加分,最后得出考试结果
14.保存到数据库模块:
根据要求,所结果保存的数据库中。
15.学生考试查询模块:
系统中的教师只有能登陆均可考生考试成绩和答题卷等信息
3.3接口设计
3.3.1用户接口
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
用户接口是用户与系统进行互动操作,为用户使用软件提供了方便。
本软件的接口一般是通过窗体控件输入输出数据,用户只需在需要操作的窗体控件以输入数据,然后点击确定就可以。
1.用户登陆界面设计:
需要用户输入姓名和输入学号的TestBox控件TBid和TBname和一个按钮控件BTenter
图3.3用户登陆图
2.考生做试卷界面设计:
在考试显示控件中,有4个Label控件,分别显示考生的学号,姓名,考试时间,剩余时间。
另外有5个按钮控件,分别用来打开选题题界面,判断题界面各office操作题界面和提交
图3.4考试系统图
3.考生做选择题界面设计:
选择题显示在一panel控件中,在panel控件中每一次显示8道选择题,做完之后,可以按“下一页按钮控件,显示下8个选择题,也可以按“上一页”,将显示做过的题。
图3.5选择题设计图
4.考生做判断题界面设计:
判断题显示在一panel控件中,在panel控件中每一次显示8道判断题,做完之后,可以按“下一页按钮控件,显示下8个判断题,也可以按“上一页”,将显示做过的题。
图3.6判断题设计图
3.1.2外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
考试系统过访问serversql数据库接口存取考试信息(如考试试题,考生个人信息,考试信息,教师信息)。
另外在考试中,Microsoftoffice操作题中需要调用Microsoftoffice中word,excel,PowerPoint.
3.4系统数据结构设计
3.4.1数据库需求分析
所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。
为了方便所有学科组成网络题库,应遵循经典测量理论的指导,要严格按照经典测量理论的数学模型开发题库管理系统、组织试题
针对一般考试系统的需求,设计如下所示的数据项和数据结构:
●学生信息,包括的数据项有:
学生编号、学号、姓名、性别、班级、
●试卷信息,包括的数据项有:
、填空题分值、填空题数量、判断题分值、判断题数量、单选题分值、单选题数量、考试时间、office操作题等。
●成绩信息,包括的数据项有:
考生学号、成绩、考试状态等。
●判断题信息,包括的数据项有:
判断题编号、题干、正确答案。
●填空题信息,包括的数据项有:
填空题编号、题干、正确答案。
●单选题信息,包括的数据项有:
单选题编号、题干、正确答案、备选项(A、B、C、D)、等。
●office操作题信息:
包括数据项有:
word文档内容、word操作要求、excel文档内容、excel操作要求、web内容、web操作要求。
●管理考师密码信息:
密码;
●试卷备份表包括:
考生学号、答题卷
本系统应该建立一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(用户信息、试题信息、试卷信息、考试信息等)。
为了从多方面来保障考生考试信息的安全性、可信性和考试成绩的可依赖性,本系统还应该建立一套机制,这套机制至少应该包括学生和教师的账号的安全机制、后台数据库的安全机制、考试过程的控制机制。
4.2逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
●表3.1学生信息表
列名
数据类型
长度
是否这空
注释
id
varchar
16
no
学号
Name
varchar
16
no
姓名
Class
varchar
16
no
班级
Sex
Char
8
No
性别
●表3.2学生成绩表
列名
数据类型
长度
是否为空
注释
id
Varchar
16
No
学号
score
Float
8
yes
分数
state
Int
4
No
考试状态
●表3.3考试设置表
列名
数据类型
长度
是否为空
注释
Testtime
no
考试时间
Numberofjudge
yes
判断题数量
Valueofjudge
int
4
yes
判断题每小题分数
Numberofselect
Int
4
yes
选择题数量
Valueofselect
Float
8