ASP在线试题库与答题系统方案.docx

上传人:b****8 文档编号:30057360 上传时间:2023-08-04 格式:DOCX 页数:29 大小:59.81KB
下载 相关 举报
ASP在线试题库与答题系统方案.docx_第1页
第1页 / 共29页
ASP在线试题库与答题系统方案.docx_第2页
第2页 / 共29页
ASP在线试题库与答题系统方案.docx_第3页
第3页 / 共29页
ASP在线试题库与答题系统方案.docx_第4页
第4页 / 共29页
ASP在线试题库与答题系统方案.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

ASP在线试题库与答题系统方案.docx

《ASP在线试题库与答题系统方案.docx》由会员分享,可在线阅读,更多相关《ASP在线试题库与答题系统方案.docx(29页珍藏版)》请在冰豆网上搜索。

ASP在线试题库与答题系统方案.docx

ASP在线试题库与答题系统方案

利用ASP和Access数据库制作局域网网上答题系统

信息社会对人的学历、素质要求越来越高,人们为了找到前途更好、收入更加诱人的工作岗位,必须通过各种各样的考试如注册会计师资格考试、司法资格考试等等,而各种各样的试题资料也应运而生,但所有的资料所共有的一个缺点就是使用上的不方便、不灵活、及效率不高,本网上答题系统正是为了弥补这些诸多不便而编制的、适合于局域网并能在单机上运行的系统,下面就详细介绍本系统的编制及使用方法。

一、界面如图所示:

二、程序组成

本系统由Index.asp、Lkzk.asp、Save.asp、DbO.fun四个小程序及Access数据库

文件lkzk.mdb组成各程序的功能分别是:

1.Index.asp是框架网页,负责导入Lkzk.asp、Save.asp两个子网页组成完整的程

序页面。

2.Lkzk.asp是随机出题答题的交互页面生成程序,主要完成随机选题、题目显示、答案输入及正确率、总答题数显示等功能。

3.Save.asp完成答题正误判断、显示及成绩登记(按客户端IP地址)。

4.DbO.fun包含打开Access数据库的多个函数(Lkzk.asp、Save.asp都用到的)。

5.lkzk.mdbAccess数据库文件,由表“IP”和表"题库”组成。

表(IP)由编号字段ID(数字格式)、客户机地址字段IP(文本格式)、错误答案数字段nnn(数字格式)、正确答案数字段yyy(数字格式)所组成;

表“题库”由题号字段ID(数字格式)、单选多选标记字段dx(数字格式)、答案字段

xz(文本格式)、试题容字段na(备注格式)所组成。

(注:

试题容的选择部分必须为

“A.……B.……C.……D.……”格式)

Index.Asp

网上司考试题库

vframesetrows="87%,*"framespacing="O">

vframename="top"src="lkzk.asp"scrolling="auto">

vframename="bottom"scrolling="auto"marginwidth="0"marginheight="0">

</p><p><body></p><p><p>此网页使用了框架,但您的浏览器不支持框架。</p></p><p></body></p><p>

Lkzk.asp

--#includevirtual="/lkzk/DBO.fun"-->

<%

Setrsu2=GetMdbStaticRecordset("lkzk.mdb","IP")

Setrs=GetMdbStaticRecordset("lkzk.mdb","题库")

%>

网上司考试题库

司考试题库

<%

ClientIP=Request.ServerVariables("REMOTE_ADDR")

userlP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,"."))

rsu2.AbsolutePosition=userIP

Randomize

l=Fix(Rnd*1800)

rs.AbsolutePosition=l1

%>

总第<%=CStr(l6)%>题<%'=rs("type")%>

">


<%s=rs("na")

x=InStr(s,"A.")

sx="多选"

ifrs("dx")=Othen

sx="单选”

endif%>

<%=Left(s,x-1)%>'显示除选择部分外的试题容

<%=sx%>
'显示是单选还是多选题

<%s=Right(s,Len(s)-x1)

x=lnStr(s,"B.")%>'以下开始显示复选框及选择部分

<%=Left(s,x-1)%>

<%s=Right(s,Len(s)-x1)

x=InStr(s,"C.")%>

<%=Left(s,x-1)%>

<%s=Right(s,Len(s)-x1)

x=InStr(s,"D.")%>

<%=Left(s,x-1)%>

<%s=Right(s,Len(s)-x1)%>

<%=s%>


继续做题

rsu2("yyy"))*100,2,

<%ifrsu2("nnn")rsu2("yyy")=0thenrsu2("yyy")=1endif%>正确率:

<%=FormatNumber(rsu2("yyy")/(rsu2("nnn")True)%>%

总答题数:

<%=rsu2("nnn")rsu2("yyy")%>

Save.asp

--#includevirtual="/lkzk/DB0.fun"-->

<%

Setrsu2=GetMdbStaticRecordset("lkzk.mdb","IP")

Setrs=GetMdbStaticRecordset("lkzk.mdb","题库")

%>

<%l=CInt(Request("AI"))

rs.AbsolutePosition=l1

ssx="错"

A=Replace(Request("A"),",","")

ifA=rs("xz")then'判断答题正误

ssx="对”

endif

%>

您答<%=ssx%了'显示答案正误等信息

试题库总第<%=CStr(l15)%>题您的答案是:

<%=A%>参考答案是:

<%=rs("xz")%>

<%

ClientIP=Request.ServerVariables("REMOTE_ADDR")userlP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,"."))rsu2.AbsolutePosition=userIP

rsu2.Update

Ifssx="对"then

rsu2("yyy")=rsu2("yyy")1

Endif

ifssx<>"对"then

rsu2("nnn")=rsu2("nnn")1

Endif

rsu2.Update'以下将正误结果记录于数据库表“IP”中

%>

Db0.fun

<%'以下为函数程序

FunctionGetMdbConnection(FileName)

DimProvider,DBPath

Provider="Provider=Microsoft.Jet.OLEDB.4.0;"

DBPath="DataSource="&Server.MapPath(FileName)

SetGetMdbConnection=GetConnection(Provider&DBPath)

EndFunction

FunctionGetMdbRecordset(FileName,Source)

SetGetMdbRecordset=GetMdbRs(FileName,Source,2,"")

EndFunction

FunctionGetMdbStaticRecordset(FileName,Source)

SetGetMdbStaticRecordset=GetMdbRs(FileName,Source,3,"")

EndFunction

FunctionGetConnection(Param)

Dimconn

OnErrorResumeNext

SetGetConnection=Nothing

Setconn=Server.CreateObject("ADODB.Connection")

IfErr.Number<>0ThenExitFunction

conn.OpenParam

IfErr.Number<>0ThenExitFunction

SetGetConnection=conn

EndFunction

FunctionGetMdbRs(FileName,Source,Cursor,Password)

Dimconn,rs

OnErrorResumeNext

SetGetMdbRs=Nothing

IfLen(Password)=0Then

Setconn=GetMdbConnection(FileName)

Else

Setconn=GetSecuredMdbConnection(FileName,Password)

EndIf

IfconnIsNothingThenExitFunction

Setrs=Server.CreateObject("ADODB.Recordset")

IfErr.Number<>0ThenExitFunction

rs.Opensource,conn,Cursor,2

IfErr.Number<>0ThenExitFunction

SetGetMdbRs=rs

EndFunction

%>

三、运行方法

本系统运行方法是先按文中所述格式制作好试题库文件Lkzk.mdb连同上列四个程序

COPY至主机的WWV的根目录中并执行http:

//主机IP地址/Index.asp即可进行答题。

(本程序在单机windows98pwsODBC驱动及局域网windowsNTServer4.0IIS4.0ODBC

驱动环境下均测试通过,各用户可以根据具体情况对程序中的标题稍加修改制作自己

的试题库系统,还可以对其进行扩充增加各类其它功能,在这里因篇幅关系就不再敷

述,有关ODBC驱动的详细情况可参阅相关资料或给我来信mailto:

intcom21cn.。

用ASP开发试题库与在线考试系统

(1)

摘要利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序。

它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入、修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题、组卷和改卷等繁重的工作量。

引言

现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。

显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。

随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。

人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!

客观!

更加激发学生的学习兴趣。

例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。

为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!

一、基本简介

试题库与在线考试系统采用ASRHTMLFrontpage2000/98、Javascript、

VBScript、Java编程语言、图形编辑与数据库等工具,通过基于WEB服务器访问纯WEB页面,实现在线组卷与考试等各项相关的功能。

它是专门用于试题(卷)录入、查询、修改、删除、组卷和参加在线考试的ASP应用程序。

其最大的特点是开放性、方便性和灵活性。

主要是指一般的用户不仅可以轻松地向题库添加、修改和查询试题(卷),而且还可以自

动新增科目并建立相应的数据表;它还允许用户根据自己的需求,从现有的试题库中灵活地抽取各类试题,以组建适合于自身所需的试卷。

而且,自测试卷的难易程度和形式以及各大题分数等都由用户根据需要确定。

考生通过浏览器进行有效的身份验证登录后,输入正确的试卷编号,并要求在规定的时间进行答题,当达到规定的时间后,系统将自动予以提交。

一旦考生做完后便能立即看到预先记录在库中的标准答案和自己的平时成绩(正规考试试卷不得随意更改以及答案将不及时提供),并且其答案和分数将被记入库中以

供审核和查阅,并作为成绩评估和试卷分析的历史数据;另外,还可完全由计算机自动按照”难度系数”灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其容会随着库中试题的改变而改变,不妨把它称之为实时的互动的试卷。

用户对象主要是大、中、小学及职业学校等单位的教师及学生和企事业单位的教育部门(因企事业单位每年要对员工进行素质、安全教育与技能等方面的培训及考试等)。

用ASP开发试题库与在线考试系统(4)

4.2.2、试卷结构

试卷一般包括客观题(判断题、单选题或多选题)和主观题(填空题、短文字题

或长文字题),即一套试卷包括若干大题,每道大题包含若干小题。

但是,本系统的试

卷目前只涉及客观题部分。

故大题数暂定为最多3道,小题数总和若干,而且,在此

表中只存贮该科目试卷相应的试题编号,其试题容则在调用时到相应科目中查询获得。

4.2.3、用户、留言信息结构

A、超级用户:

在此系统中有且仅有一个,即系统管理员。

他具有一般用户所没有的至高无上的权力,即具有删除用户、留言、试题以及试卷等信息的权力。

它不需注册,在数据库没有它的任何相关信息,但可由管理员自己更改用户名和密码。

确保万一数据泄密而造成系统的危害。

B、一般用户:

主要是指学校的教师及学生和企事业单位的教育部门等。

另外,所有用户可能会对我们的系统发表意见或相互之间答疑。

4.2.4、考生答案成绩表结构实际考试日期可能因某种原因推迟考试而与试卷表中的考试日期有所不同。

因而,此表应与用户、试卷及试题库等多表相关联,关系比较复杂。

4.3、功能模块详细设计

下面,按照录入试题-出卷-进行考试等流程就各个模块分别进行详细讨论,具体情况见系统源程序及演示。

考虑到数据的保密与安全问题,凡进入系统的用户,必须先注册,然后通过验证才能进入。

否则,进入"SORRY"页面。

4.3.1、录入模块

许可的用户根据自身教学目的和要求,可以向库中添加各种类型且符合要求(对不符合的将给出提示和警告,并且不予保存!

)的试题和试卷以及各自的意见与疑难问题等。

一旦添加成功,只有管理员才能删除。

1试题录入

首先,用户选择试题所属科目。

若下拉菜单中没有该科目,则点击右边的新增科目,即进入这一页面,只要输入新增科目详细名称(一般以一个学期修完为标准)和表名(最好由汉语拼音首字母组成),即可由系统根据已设定好的字段自动建立新的科目试题表。

返回、刷新一次页面,即可看到新增的科目名称。

而且,在本系统中其它需要选择科目的地方也会自动更新。

其次,每道试题有类型、难度系数、选自书籍及章节、试题容与答案和标准答案等栏目。

用户一一输入完(对于该试题不需要的答案项,则默认为”不填”),按"提交"

后,即可看到预览效果。

如果输入不合法,或者该科题库中已有该试题编号和容等,则系统给出相应的提示或警告,以待更正。

2试卷录入

此子模块包括两个部分,即标识试卷的基本信息录入和手工组卷部分。

其基本信息有试卷编号、标题、套数、难度、科目名称、考试性质与日期等,而卷中试题将通过后面的手工组卷模块予以实现。

对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。

3用户留言

凡使用此系统的用户可能对我们的工作有许多良好的建议和意见,或者有一些疑难问题需要大家共同探讨的话,可以在此提出。

四、详细设计

4.1、试题(客观题部分)设计

在以往的考试中,判断题常常是通过画"X",”"来判断;而单选题往往在四个供选

的答案A、B、CD中选择唯一正确的答案;另外,多选题跟单选题在根本上没什么区别,只是供选的答案和标准答案多一些。

因而,本系统中所涉及的单选题和多选题跟过去的大体相同,主要不同在于把判断题巧妙地转化为只有两个选项的单选题,并且假设多选题一般情

况下也是最多提供六个备选答案,标准答案至少有一个。

故各题型的样题设计如下:

判断题-->如:

重发器也叫中继器:

(A)错(B)对

单选题-->如:

HUB是指:

(A)网桥(B)集线器(C)网关(D)路由器

多选题-->如;Internet上使用的网络协议是:

(A)IPX/SPX兼容协议(B)TCP/IP协议

(C)NetBEUI协议(D)X.25协议(E)ATMLAN仿真用户(F)快速红外线协议

4.2、数据库设计

4.2.1、试题结构

通常,每一类型的试题都应有一个表结构。

但考虑到目前系统存贮空间已经不受物理空

间的限制。

因此,我们采用按科目而不按试题类型方案来建立数据表,更不把所有科目的全

部试题集中在一起,只是每道客观题均有六个备选答案项,还有一个表用来记录各科目数据

表的相关属性。

这样,查询起来较方便,可能会节约时间,也不致于造成数据十分杂乱等。

详细设计如下表所示:

说明:

1•按科目(一般以1个学期为标准)分别定义各表,表名一律由中文名汉字拼音首字

母构成。

例如,软件工程---RJGC;计算机网络---JSJWL;小学二年级上期数学---XXENJSQSX

2.字段名是指该字段的中文名

3.字符标识一般由中文名拼音首字母构成,外键字段最好与主表对应字段同名

4.若该字段为字符型,则对应的长度栏填最大允许长度,若为固定长度则加’定'字

5.若该字段可以为空,则对应的NULL栏填Y,否则不填

6.若该字段为主键,则对应的主键栏填Y,否则不填

科目数据信息表

字段名字符标识类型长度NULL主键说明科目中文详细名称KMMCCHAR50以中文为准,例如”计算机网络”科目表名KMBMCHAR50Y一律由上面中文名拼音首字母构成,如"JSJWL"

录入者LRZCHAR15默认为录入员登入帐号

录入日期LR_DATEDATE10默认为录入时的系统日期

备注MEMOCHAR50Y

用ASP开发试题库与在线考试系统(5)

4.3.2、查询模块

系统中的所有用户均可检索试题、试卷、用户及留言等信息。

只是试题检索界面较复杂,但它已实现了多种条件的组合查询,非常适合于数量繁大的试题库。

而后三者相对来说比较简单,”默认"或"空白”的情况下,则按该表中的系统默认的字段显示其全部信息。

使用起来比较灵活、方便。

4.3.3、修改模块

用户除了只修改自己的部分资料(包括用户帐号、密码和E-Mail)外,还可修改

试题及试卷,而留言则不许修改。

只要用户选择科目和输入编号,即可进行修改。

不过,对于各表中的主键不准修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。

如果用户执行了非法操作,则必须重新操作。

4.3.4、组卷模块

在组卷过程中,我们肯定会遇到有许多题目是关于同一个教学容的,这里称之为关于同一考核点的试题。

因此,在组装一份试卷时,对于同一考核点的试题只能出一道题。

这里设计一种快速选题算法,该算法只需经一次比较,便可判定是否已选过该考核点的试题,且又可以有针对性地重点选取某个考核点的试题。

即每一道题都设有一个相关码,对于同一章、同一节、同一考核点的题,则相关码相同,显然,前面章节的相关码都要小于后面章节的相关码。

故在组卷时,同一试卷中不允许出现相关码相同的试题。

所以,在选题过程中每选出一题,就要与已经选出的题的相关码逐一进行比较,若该题的相关码与已选各题的相关码均不相同,则可将该题加入到试卷中,否则,放弃该题,重新进行选题。

下面,在只考虑最佳情况下,即每次选出的题都恰好是尚未选过的,每选一道题就要与已选出的各题逐一比较,假设已选出了M题,再选下一题时,则需比较M次,

不妨设一份试卷的总题数为N,在最佳情况下,则总的比较次数为:

0,1,2,…N-2,N-1

即时间复杂度为0(N),这样,就可保证下面算法中选择出来的试题编号都合法。

用ASP开发试题库与在线考试系统(6)

基本算法:

{定义参数,获得整套试卷的共同限制参数,即包括输入必要条件得到必要参数和输

入任选条件得到任选参数}

必要参数组合=A1ANDA2~~ANDAn;任选参数组合=B1ORB2~~0RBn;

大题数dts=3'默认为3道大题;小题数xts=O'默认为50道小题;

IF无判断题THENdts=dts-1ENDIF'开始计算大题数

IF无单选题THENdts=dts-1ENDIF

IF无多选题THENdts=dts-1ENDIF

开始扫描相应科目的试题库,获得临时所有符合条件的试题预览,接着开始手工细选试题以生成试卷或计算机自动组卷。

IF符合必要参数组合THEN

SELCECT任选参数

ENDSELCECT

ENDIF

IFdts>=1THEN

IF试题编号合法THENxts=xts1

ELSE请输入合法的试题编号!

ENDIF

IFdts>xtsTHENxts必须大于或等于dts!

ELSE

IF某已存在的题型中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1