开发试题库与在线考试系统Word格式.docx
- 文档编号:18401130
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:15
- 大小:29.30KB
开发试题库与在线考试系统Word格式.docx
《开发试题库与在线考试系统Word格式.docx》由会员分享,可在线阅读,更多相关《开发试题库与在线考试系统Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
另外,支持按权限对系统进行操作,即不同类型的用户拥有相异的权限对题库执行不同的操作。
主要是在首页通过两种不同的方式进入相异的操作界面,以确保整个数据库中数据的安全性及完整性。
其主要特点体现在以下三个方面:
(1)自主设计数据库⑵自主调用数据库⑶自主管理数据库
自主设计数据库是指用户能够根据自己的需要创建新科目数据库(即系统实现了自动建表的功能),让数据库真正成为用户自己的数据库。
不过,只要库中已存在该科目名称及表名,则不予重建,这样就保证了数据的统一性;
自主调用数据库即允许用户能自由地从数据库中抽取试题组成试卷,试卷中有几道大题和小题以及是否提供查看答案均由用户自行设置并选题。
通常来说,一份高质量的试卷,需要用户反复推敲、比较和琢磨,用户就象进超市买东西一样能方便地把看中的取出来,也可反悔把不需要的退回去,并且在形成一份完整的试卷之前,允许任意调整该试题的次序。
在组卷时,还可以多份试卷选取同一试题或同一知识点的试题,但严禁一套试卷中出现知识点相同(似)且难度一致的试题。
不过,其最大的缺陷在于目前只实现了试卷中的客观题部分,即包括判断、单选和多选题。
而且,还没有实现客观题部分和真正的多媒体试卷;
自主管理数据库指一般用户具有添加、修改和检索数据的权力,实现数据库的可扩充性和开放性。
而管理员则另具有删除数据的权力,从而达到了系统数据统一性和一致性的目的,具体情况请见系统演示。
四、详细设计
4.1、试题(客观题部分)设计
在以往的考试中,判断题常常是通过画"
╳"
,"
"
来判断;
而单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;
另外,多选题跟单选题在根本上没什么区别,只是供选的答案和标准答案多一些。
因而,本系统中所涉及的单选题和多选题跟过去的大体相同,主要不同在于把判断题巧妙地转化为只有两个选项的单选题,并且假设多选题一般情况下也是最多提供六个备选答案,标准答案至少有一个。
故各题型的样题设计如下:
判断题-->如:
重发器也叫中继器:
(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
主键
说明
科目中文详细名称
KMMC
CHAR
50
以中文为准,例如"
计算机网络"
科目表名
KMBM
CHAR
Y
一律由上面中文名拼音首字母构成,如"
JSJWL"
录入者
LRZ
15
默认为录入员登入帐号
录入日期
LR_DATE
DATE
10
默认为录入时的系统日期
备注
MEMO
4.2.2、试卷结构
试卷一般包括客观题(判断题、单选题或多选题)和主观题(填空题、短文字题或长文字题),即一套试卷包括若干大题,每道大题包含若干小题。
但是,本系统的试卷目前只涉及客观题部分。
故大题数暂定为最多3道,小题数总和若干,而且,在此表中只存贮该科目试卷相应的试题编号,其试题内容则在调用时到相应科目中查询获得。
4.2.3、用户、留言信息结构
A、超级用户:
在此系统中有且仅有一个,即系统管理员。
他具有一般用户所没有的至高无上的权力,即具有删除用户、留言、试题以及试卷等信息的权力。
它不需注册,在数据库没有它的任何相关信息,但可由管理员自己更改用户名和密码。
确保万一数据泄密而造成系统的危害。
B、一般用户:
主要是指学校的教师及学生和企事业单位的教育部门等。
另外,所有用户可能会对我们的系统发表意见或相互之间答疑。
4.2.4、考生答案成绩表结构
实际考试日期可能因某种原因推迟考试而与试卷表中的考试日期有所不同。
因而,此表应与用户、试卷及试题库等多表相关联,关系比较复杂。
4.3、功能模块详细设计
下面,按照录入试题-出卷-进行考试等流程就各个模块分别进行详细讨论,具体情况见系统源程序及演示。
考虑到数据的保密与安全问题,凡进入系统的用户,必须先注册,然后通过验证才能进入。
否则,进入"
SORRY"
页面。
4.3.1、录入模块
许可的用户根据自身教学目的和要求,可以向库中添加各种类型且符合要求(对不符合的将给出提示和警告,并且不予保存!
)的试题和试卷以及各自的意见与疑难问题等。
一旦添加成功,只有管理员才能删除。
①试题录入
首先,用户选择试题所属科目。
若下拉菜单中没有该科目,则点击右边的新增科目,即进入这一页面,只要输入新增科目详细名称(一般以一个学期修完为标准)和表名(最好由汉语拼音首字母组成),即可由系统根据已设定好的字段自动建立新的科目试题表。
返回、刷新一次页面,即可看到新增的科目名称。
而且,在本系统中其它需要选择科目的地方也会自动更新。
其次,每道试题有类型、难度系数、选自书籍及章节、试题内容与答案和标准答案等栏目。
用户一一输入完(对于该试题不需要的答案项,则默认为"
不填"
),按"
提交"
后,即可看到预览效果。
如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。
②试卷录入
此子模块包括两个部分,即标识试卷的基本信息录入和手工组卷部分。
其基本信息有试卷编号、标题、套数、难度、科目名称、考试性质与日期等,而卷中试题将通过后面的手工组卷模块予以实现。
对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。
③用户留言
凡使用此系统的用户可能对我们的工作有许多良好的建议和意见,或者有一些疑难问题需要大家共同探讨的话,可以在此提出。
4.3.2、查询模块
系统中的所有用户均可检索试题、试卷、用户及留言等信息。
只是试题检索界面较复杂,但它已实现了多种条件的组合查询,非常适合于数量繁大的试题库。
而后三者相对来说比较简单,"
默认"
或"
空白"
的情况下,则按该表中的系统默认的字段显示其全部信息。
使用起来比较灵活、方便。
4.3.3、修改模块
用户除了只修改自己的部分资料(包括用户帐号、密码和E-Mail)外,还可修改试题及试卷,而留言则不许修改。
只要用户选择科目和输入编号,即可进行修改。
不过,对于各表中的主键不准修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。
如果用户执行了非法操作,则必须重新操作。
4.3.4、组卷模块
在组卷过程中,我们肯定会遇到有许多题目是关于同一个教学内容的,这里称之为关于同一考核点的试题。
因此,在组装一份试卷时,对于同一考核点的试题只能出一道题。
这里设计一种快速选题算法,该算法只需经一次比较,便可判定是否已选过该考核点的试题,且又可以有针对性地重点选取某个考核点的试题。
即每一道题都设有一个相关码,对于同一章、同一节、同一考核点的题,则相关码相同,显然,前面章节的相关码都要小于后面章节的相关码。
故在组卷时,同一试卷中不允许出现相关码相同的试题。
所以,在选题过程中每选出一题,就要与已经选出的题的相关码逐一进行比较,若该题的相关码与已选各题的相关码均不相同,则可将该题加入到试卷中,否则,放弃该题,重新进行选题。
下面,在只考虑最佳情况下,即每次选出的题都恰好是尚未选过的,每选一道题就要与已选出的各题逐一比较,假设已选出了M题,再选下一题时,则需比较M次,不妨设一份试卷的总题数为N,在最佳情况下,则总的比较次数为:
0,1,2,…N-2,N-1
即时间复杂度为O(N),这样,就可保证下面算法中选择出来的试题编号都合法。
基本算法:
{定义参数,获得整套试卷的共同限制参数,即包括输入必要条件得到必要参数和输入任选条件得到任选参数}
必要参数组合=A1ANDA2~~ANDAn;
任选参数组合=B1ORB2~~ORBn;
大题数dts=3'
默认为3道大题;
小题数xts=0'
默认为50道小题;
IF无判断题THENdts=dts-1ENDIF'
开始计算大题数
IF无单选题THENdts=dts-1ENDIF
IF无多选题THENdts=dts-1ENDIF
开始扫描相应科目的试题库,获得临时所有符合条件的试题预览,接着开始手工细选试题以生成试卷或计算机自动组卷。
IF符合必要参数组合THEN
SELCECT任选参数
B1:
显示符合必要参数+B1的试题编号及内容
B2:
显示符合必要参数+B2的试题编号及内容
┋┋┋
Bn:
显示符合必要参数+Bn的试题编号及内容
ENDSELCECT
ENDIF
IFdts>=1THEN
IF试题编号合法THENxts=xts+1
ELSE请输入合法的试题编号!
ENDIF
IFdts>xtsTHENxts必须大于或等于dts!
ELSE
IF某已存在的题型中小题数为0THEN该题型至少要有1道试题!
ENDIF
IF判断题存在且分数<=0OR分数>100THEN请修改!
ELSETOTALFEN=TOTALFEN+PDTF
IF单选题存在且分数<=0OR分数>100THEN请修改!
ELSETOTALFEN=TOTALFEN+DXTF
IF多选题存在且分数<=0OR分数>100THEN请修改!
ELSETOTALFEN=TOTALFEN+TSTF
IFTOTALFEN<=0ORTOTALFEN>100THEN
总分在1---100分之内!
ELSE试卷大题数不得为0!
IFtesttime<=0ORtesttime>=4(hour)THEN
考试时间必须满足0<testtime<4(hour)!
ENDIF
IF所有数据均合法THEN则将该试卷的相关信息存盘
主要有下面两个子模块:
其一:
手工组卷模块
用户提交相关限制条件,由系统根据这些条件先从大的范围内调出试题,稍后再手工通过复选按钮细选以生成自己所需的试卷,即利用现有的试题库,可编制出多份试卷。
在组卷时,可以对所选的每一试题进行增删,顺序进行调整,并可自行规定各大(小)题分数和试卷的考试时间(默认值前已述及)。
总之,能作出用户完全满意的试卷,以供在线考试或测试使用。
其好处关键在于---选题随机性强、成卷速度较快、试卷质量高;
知识考核点分布均匀,且内容覆盖面容易控制。
例如,期中考试时,只考前一半内容时,只要选取章节码小于或等于某个指定的值,则一定不会出现后一半内容的试题。
其二:
计算机自动卷模块
完全由系统自动按照"
易-中-难"
顺序和根据用户选择的信息,灵活、随机的抽取试题库中的各类试题组成试卷,试卷内容会随着库中试题的改变而改变,试卷库中没有保存试卷的基本信息及相应的试题编号,不妨称之为活动的互动的试卷。
不过,其试卷质量不高,难易程度把握不当,知识考核点分布不均,一般只作在线练习使用。
4.3.4、进入在线考场模块
进入在线考场是本系统非常重要的部分之一。
因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。
考生登录后,只要输入已编辑好的试卷编号,就可以调出其试卷进行在线考试或测试,其答题信息通过单、复选按钮选择答案来反映。
为了防止考生多次提交试卷和规范考场纪律,采取自愿交卷和到了规定的时间自动收卷两者有机结合的方式、限制考试时间和期限以及禁用鼠标等办法予以实现。
但真正的无人监视的考试好象不能用软件实现,而且其安全性在系统设计中也很重要。
因此,在设计过程中注意了以下几个问题:
1、只有考生自己才能参加考试!
2、考试时间到了将自动交卷!
3、限制提交次数,暂只提供一次机会!
4、禁止用户联网作弊!
上图为此模块程序设计详细流程图
4.3.5、在线练习模块
计算机自动组卷模块组成的互动的试卷(卷库中没有保存此类试卷的任何信息!
)是通过单复选按钮来反映用户的做题信息。
它主要用于平时的在线练习等,让用户了解自身的不足,并有针对性地进行复习和训练。
因此,用户做完后,只要点击"
查看答案"
,就可以与相应试题的标准答案对比,以便及时反馈情况,而没有提供成绩判定与分析和时间限制等。
4.3.6、成绩分析与试卷评估模块
考生每参加一次考试,系统根据已有的标准答案很快得出其分数,再根据不同的分数段给出相异的评语。
一方面与其它同科考生进行横向对比,得出各个考生之间的差别;
另一方面,也通过用户一段时期内参加同科考试的成绩来做纵向比较,用以说明其掌握该科目内容的实际程度,以便做出相应的决定。
另外,管理员先给出一套完整试卷的预先评估,然后由系统自动根据同一试卷编号的所有用户成绩给出其实际的评估,并且都有一个难度等级,把两次评估进行比较得出该卷的难易程度以及更详细的评估情况。
4.3.7、删除模块
在整个系统中,只有系统管理员具有此权限。
管理员通过复选按钮选择要删除的用户、留言、试卷及科目,而对于数量较大的试题库则通过输入或选择条件,就可达到删除那些过时的无用的试题,当然,对于那些恶意破坏系统的用户,管理员有权删除他,以示惩罚。
这样就可确保数据库不至于十分庞大和其安全性。
五、ADO--ActiveXDataObject操作数据库的几个步骤
第一步 数据库数据来源设定。
若要访问数据库,需在"
控制面板"
中的"
ODBCDataSources"
,建立数据库名称(选择UsersDSN),点击"
Add"
按钮,选定数据库所用的驱动程序和文件等。
第二步 使用"
Server.CreateObject"
建立连接的对象,并使用"
Open"
打开待访问的数据库。
setadocon=Server.CreateObject("
ADODB.Connection"
);
adocon.Open"
zxtest"
第三步 设定SQL命令,使用"
Execute"
命令,即可开始执行访问数据库的动作。
sqlstr="
select*fromjsjwlwherestbhlike'
PD'
orderbystbhASC"
setrs=adocon.Execute(sqlstr)′adocon为第二步所设定的对象名称
第四步 使用Recordset对象的命令,显示结果,其中rs为第三步所定义。
rs.fields.count:
记录的字段数;
rs(i).name:
第i(指针)个字段名,i由0算起到rs.fields.count-1;
rs(i):
读取第i(指针)个字段的记录,i由0算起到rs.fields.count-1;
rs("
字段名"
):
读取指定的字段的记录;
rs.eof:
是否已指定最末条;
rs.movenext:
将指针移到下一条;
rs.moveprev:
将指针移到上一条;
rs.movefirst:
将指针移到第一条;
rs.movelast:
将指针移到最末条;
第五步 使用后关闭数据库:
rs.close;
adocon.close
六、数据的安全与保密
由于此系统的特殊性,数据的安全与保密显得尤为重要。
保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的内容是互相保密的。
安全性是指用户参加一次活动是一个安全的过程,对于所有用户的动作,服务器都加以跟踪。
为了确保其安全与保密性,一要确保考生不能联网作弊;
二要在试卷上实时加以监控;
三要在时间上加以严格的控制等。
主要通过下列两种途径予以实现:
其一,凡进入在线考试的用户,都要通过用户身份验证(见下图)才能进入。
而且,不同用户具有不同的操作权限,支持按权限进行操作,确保数据的公共性与私有性。
不允许用户执行非法的操作,防止用户无意或有意的破坏。
其二,禁止用户查看所有试卷的源文件及拷贝功能,方法有二:
1、禁止使用鼠标右键等功能;
II、试卷库中的试卷将以无下拉菜单及工具栏等的页面方式呈现在浏览者面前
七、附录:
源程序列表
由于源代码繁多,限于篇幅,无法一一列举,现只公布部分代码,具体以系统实物为准。
下面是录入试题.asp文件:
<scriptlanguage="
VBScript"
>
<!
--'
WrittenbyHeKai2001
Functiondatacheck()'
确保前台输入数据合法
dimerrflag,msg
errflag=True
ifLen(Trim(luru.xzsj.value))=0Then
focusto
(1);
errflag=false;
msg="
请输入'
选自书籍名称'
"
ElseIfLen(Trim(luru.stnr.value))=0Then
focusto(9);
'
试题内容'
呢"
ElseIfLen(Trim(luru.A.value))=0Then
focusto(10);
答案_A'
┋┋┋
ElseIfLen(Trim(luru.F.value))=0Then
focusto(15);
请还原成默认值"
Endif
If(errflag=false)then
msg=msg&
vbCRLF
MsgBoxmsg,64,"
提示"
ExitFunction
datacheck=errflag;
luru.Submit
EndFunction
Subfocusto(x)'
将鼠标定位在出错处
document.lu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开发 试题库 在线 考试 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)