网络在线考试系统的设计与实现 下载本文

内容发布更新时间 : 2024/5/3 13:42:04星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

网络在线考试系统的设计与实现

作者:张瑞英

来源:《中国教育信息化·高教职教》2011年第09期

摘 要:通过详细的调研和分析,立足于本院校的实际需求,设计并实现了一个基于B/S结构的,以ASP技术和SQL Server 2000后台数据库为基础的智能化网络考试系统,为实现教育信息化的普及做出了尝试;同时,为教学评价提供了新模式和新方法,具有鲜明的社会实用价值,此解决方案可以广泛应用于网络化教育领域。 关键词:试题库;智能组卷;组卷策略;在线考试

中图分类号:TP315 文献标识码:B 文章编号:1673-8454(2011)17-0077-03

一、原始需求概述

本网络考试系统的目标是实现一个基于Internet的智能化网络考试系统。采用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合。系统能根据不同登录的用户类别、从题库中选取合适的策略来进行组卷,并能够根据学生的考试情况给出相应的评分。另外,教师可以请求登录,获得允许后,可以对试题库进行修改,批改试卷中的主观题部分并给出成绩,并且可以查阅学生的成绩以及成绩分析。它还具有智能随机抽题、手工组卷与自动组卷、自动计时、自动阅卷及在线测试的重要功能,学生可随时通过Internet测试自己的知识水平和知识掌握程度,满足任何授权的学生考试及时获得成绩,并给出详细的成绩分析。 二、功能需求分析

通过对在线考试系统的需求分析,其实现的主要功能有:用户管理、题库管理、试卷管理、自动组卷、在线考试、试卷评阅、成绩统计分析等。当登录系统时,系统提示考生输入用户名和密码,系统将验证输入的用户名和密码是否正确,如正确,则启动系统,根据考生输入的相关信息,系统自动组卷,考生根据提供的试卷在线答题,提交后系统自动阅卷,更新考生答案表的相关信息,并给出分数;否则,系统提示错误信息,并提示考生重新输入用户名和密码,超过三次,系统拒绝登录。 三、非功能性需求

首先,系统在考试机或网络故障时应该是健壮的,并在导致系统不可用的故障出现时,提供手工评分的入口。其次,应使用现代程序设计语言,以提供较高的安全性和可维护性。第三,应使用成熟的数据库管理系统。第四,系统应提供良好的页面反应速度。

龙源期刊网 http://www.qikan.com.cn

四、安全设计需求分析

由于此系统的特殊性,数据的安全与保密显得尤为重要。保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的内容是互相保密的。安全性是指用户参加一次活动是安全的过程,对于所有用户的动作,服务器都加以跟踪。为了确保其安全与保密性,一要确保考生不能联网作弊;二要在试卷上实时加以监控;三要在时间上加以严格的控制等。主要通过下列两种途径予以实现:其一,凡进入在线考试的用户,都要通过用户身份验证才能进入。而且,不同用户具有不同的操作权限,支持按权限进行操作,确保数据的公共性与私有性。不允许用户执行非法的操作,防止用户无意或有意的破坏。其二,禁止用户查看所有试卷的源文件及拷贝功能,第一种方法,禁止使用鼠标右键等功能;第二种方法,试卷库中的试卷将以无下拉菜单及工具栏等的页面方式呈现在浏览者面前。 五、系统总体结构设计

通过系统分析,本系统总体功能结构如图1所示。本系统具备正式考试和模拟考试两大功能,完全满足日常教学过程中的过程性知识测验和期末的总结性课程考核。系统设计功能强大的试题库系统,为智能组卷、在线测试和自动判分提供了基础。此外还具备完善的系统管理,包括用户管理、试卷管理、试卷分析等。 六、软件及硬件结构设计

在线考试系统的研发主要采用了B/S三层结构模式、SQL数据库技术、ASP等诸多技术,综合采用面向组件和面向对象方法对系统进行需求分析、设计和构建系统模型。

结合本院网络在线考试系统的设计,B/S架构的三层体系结构对应于硬件设计就是Web服务器、应用服务器和数据库服务器。服务器端采用SQL Server 2000数据库系统和ASP组件来构成考试的应用服务系统,客户端采用Web浏览器来完成考试全过程,同时可进行远程系统维护和管理,选择这种体系结构是基于本院的具体情况而设计的。 七、关键技术及解决方案

基于考试公平公正的原则,尽量做到每一个考生都有不同的试卷,杜绝笔试的情况下,考生的试卷都一样,容易产生作弊等现象,所以网络在线考试系统的开发,关键技术是试题的智能组卷和考试的安全性设计。经过对比分析研究,本系统采用随机算法进行系统算法实现。 随机算法是最常用的组卷算法,它根据状态空间的控制指标,由计算机随机地抽选一道试题加入试卷中,此过程不断重复,直到组卷完毕,或已无法从试题库中抽选满足指标的试题为止。在具体实现时,可以采用一个定长的线性表作为试卷生成过程中的状态,线性表的长度为用户提交的总题量,每一元素代表选中试题的状态长度,状态类型由试题的若干分量组成,如题型、难度、章节等,待组卷完成后,再从试题库中抽取与之相应的试题生成试卷。算法的实现过程为:

龙源期刊网 http://www.qikan.com.cn

(1)建立两个数组Z(S)、U(X)。Z(S)的值为某种状态S的试题在试题库中的试题量,U(X)为用户要求的该状态的试题数目,U(X)对应的全部状态的集合构成线性表LIST; (2)如果U(X)>Z(S),则转向(5),否则产生随机整数N1,Nl=int(rand(-1)*Z(S)),其值小于Z(S),读取N1记录,并对该记录作选取标志,抽取下一道题目时,有选取标志的记录不再有效;

(3)若U(X)≠0,则U(X)=U(X)一1,重复(2); (4)若LIST表未满,则转向(1),否则组卷成功; (5)算法结束。 八、数据库设计

数据库的整体结构设计如下:

考生{准考证号,登录密码,真实姓名,年级,班级,邮箱,审核标识}。

试题{试题编号,试题内容,试题所属章节,试题类型,试题答案,试题选择项,难度级别,试题标识,课程编号,试题附图}

管理员{管理员账号,登录密码,管理员类型,邮箱,权限}

试卷库{试卷编号,所属课程编号,试卷名称,考试总时间,起始时间,结束时间,起始章节,结束章节,启用标识}

考生成绩{准考证号,课程编号,试卷编号,考试标识,开始考试时间,结束考试用时,批改标识,成绩}

考试试题编号{试卷编号,试题编号,标准答案,课程编号,试题类型,所属章节} 系统组合E-R图,如图2所示。 九、考生在线考试模块设计 1.考生在线考试流程

考生登录后,进入考试科目选择页面,选择考试科目,在该科目下选择指定的试卷进行考试。系统将以全屏方式在HTML页面呈现该试卷,并显示考试时间计时器,考生即可开始答题。考试时间到或考生单击保存试卷、交卷按钮,系统将考生答案存入数据库,供自动判卷时使用。