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

来源:天极网 作者: 2005-09-08 出处:pcdog.com

atm  dos  iis  java  javascript  
上一页 1 2 3 4 下一页 
    4.3.2、查询模块

  系统中的所有用户均可检索试题、试卷、用户及留言等信息。只是试题检索界面较复杂,但它已实现了多种条件的组合查询,非常适合于数量繁大的试题库。
而后三者相对来说比较简单,"默认"或"空白"的情况下,则按该表中的系统默认的字段显示其全部信息。使用起来比较灵活、方便。

  4.3.3、修改模块

  用户除了只修改自己的部分资料(包括用户帐号、密码和E-Mail)外,还可修改试题及试卷,而留言则不许修改。只要用户选择科目和输入编号,即可进行修改。不过,对于各表中的主键不准修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。

  4.3.4、组卷模块

  在组卷过程中,我们肯定会遇到有许多题目是关于同一个教学内容的,这里称之为关于同一考核点的试题。因此,在组装一份试卷时,对于同一考核点的试题只能出一道题。这里设计一种快速选题算法,该算法只需经一次比较,便可判定是否已选过该考核点的试题,且又可以有针对性地重点选取某个考核点的试题。即每一道题都设有一个相关码,对于同一章、同一节、同一考核点的题,则相关码相同,显然,前面章节的相关码都要小于后面章节的相关码。故在组卷时,同一试卷中不允许出现相关码相同的试题。所以,在选题过程中每选出一题,就要与已经选出的题的相关码逐一进行比较,若该题的相关码与已选各题的相关码均不相同,则可将该题加入到试卷中,否则,放弃该题,重新进行选题。

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

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

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

   基本算法:


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

必要参数组合= A1 AND A2 ~~AND An;任选参数组合= B1 OR B2 ~~OR Bn;
大题数dts =3 '默认为3道大题;小题数xts=0 '默认为50道小题;
IF 无判断题 THEN dts=dts - 1 END IF '开始计算大题数
IF 无单选题 THEN dts=dts - 1 END IF
IF 无多选题 THEN dts=dts - 1 END IF

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

IF 符合必要参数组合 THEN
 SELCECT 任选参数
  B1:显示符合必要参数+B1的试题编号及内容
  B2:显示符合必要参数+B2的试题编号及内容
    ┋ ┋ ┋
  Bn:显示符合必要参数+Bn的试题编号及内容
 END SELCECT
END IF
IF dts>= 1 THEN
 IF 试题编号合法THEN xts=xts + 1
 ELSE 请输入合法的试题编号!
 END IF
 IF dts>xts THEN xts必须大于或等于dts!
 ELSE
  IF 某已存在的题型中小题数为0 THEN 该题型至少要有1道试题!
  END IF
 END IF
 IF 判断题存在且分数<= 0 OR分数>100 THEN 请修改!
 ELSE TOTALFEN= TOTALFEN +PDTF
 END IF
 IF 单选题存在且分数<= 0 OR分数>100 THEN 请修改!
 ELSE TOTALFEN= TOTALFEN +DXTF
 END IF
 IF 多选题存在且分数<= 0 OR分数>100 THEN 请修改!
 ELSE TOTALFEN= TOTALFEN +TSTF
 END IF
 IF TOTALFEN <= 0 OR TOTALFEN > 100 THEN
  总分在1---100分之内!
 END IF
ELSE 试卷大题数不得为0!
 IF testtime<= 0 OR testtime>= 4 (hour) THEN
  考试时间必须满足0 <testtime< 4 (hour)!
 END IF
END IF
IF所有数据均合法 THEN 则将该试卷的相关信息存盘
END IF

  主要有下面两个子模块:

  其一:手工组卷模块

  用户提交相关限制条件,由系统根据这些条件先从大的范围内调出试题,稍后再手工通过复选按钮细选以生成自己所需的试卷,即利用现有的试题库,可编制出多份试卷。在组卷时,可以对所选的每一试题进行增删,顺序进行调整,并可自行规定各大(小)题分数和试卷的考试时间(默认值前已述及)。总之,能作出用户完全满意的试卷,以供在线考试或测试使用。

  其好处关键在于---选题随机性强、成卷速度较快、试卷质量高;知识考核点分布均匀,且内容覆盖面容易控制。例如,期中考试时,只考前一半内容时,只要选取章节码小于或等于某个指定的值,则一定不会出现后一半内容的试题。

  其二:计算机自动卷模块

  完全由系统自动按照"易-中-难"顺序和根据用户选择的信息,灵活、随机的抽取试题库中的各类试题组成试卷,试卷内容会随着库中试题的改变而改变,试卷库中没有保存试卷的基本信息及相应的试题编号,不妨称之为活动的互动的试卷。不过,其试卷质量不高,难易程度把握不当,知识考核点分布不均,一般只作在线练习使用。

  4.3.4、进入在线考场模块

  进入在线考场是本系统非常重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要输入已编辑好的试卷编号,就可以调出其试卷进行在线考试或测试,其答题信息通过单、复选按钮选择答案来反映。为了防止考生多次提交试卷和规范考场纪律,采取自愿交卷和到了规定的时间自动收卷两者有机结合的方式、限制考试时间和期限以及禁用鼠标等办法予以实现。但真正的无人监视的考试好象不能用软件实现,而且其安全性在系统设计中也很重要。因此,在设计过程中注意了以下几个问题:

  1、只有考生自己才能参加考试!2、考试时间到了将自动交卷!

  3、限制提交次数,暂只提供一次机会!4、禁止用户联网作弊!

上图为此模块程序设计详细流程图

  4.3.5、在线练习模块

  计算机自动组卷模块组成的互动的试卷(卷库中没有保存此类试卷的任何信息!)是通过单复选按钮来反映用户的做题信息。它主要用于平时的在线练习等,让用户了解自身的不足,并有针对性地进行复习和训练。因此,用户做完后,只要点击"查看答案",就可以与相应试题的标准答案对比,以便及时反馈情况,而没有提供成绩判定与分析和时间限制等。

  4.3.6、成绩分析与试卷评估模块

  考生每参加一次考试,系统根据已有的标准答案很快得銎浞质俑莶煌姆质胃鱿嘁斓钠烙铩R环矫嬗肫渌瓶忌泻嵯蚨员龋贸龈鞲隹忌涞牟畋穑涣硪环矫妫餐ü没б欢问逼谀诓渭油瓶际缘某杉ɡ醋鲎菹虮冉希靡运得髌湔莆崭每颇磕谌莸氖导食潭龋员阕龀鱿嘤Φ木龆āA硗猓芾碓毕雀鲆惶淄暾跃淼脑は绕拦溃缓笥上低匙远萃皇跃肀嗪诺乃杏没С杉ǜ銎涫导实钠拦溃⑶叶加幸桓瞿讯鹊燃叮蚜酱纹拦澜斜冉系贸龈镁淼哪岩壮潭纫约案晗傅钠拦狼榭觥?

  4.3.7、删除模块

  在整个系统中,只有系统管理员具有此权限。管理员通过复选按钮选择要删除的用户、留言、试卷及科目,而对于数量较大的试题库则通过输入或选择条件,就可达到删除那些过时的无用的试题,当然,对于那些恶意破坏系统的用户,管理员有权删除他,以示惩罚。这样就可确保数据库不至于十分庞大和其安全性。

上一页 1 2 3 4 下一页 
上一篇:用ASP实现网页BBS
下一篇:用ASP开发一个在线考试程序(九)