基于ASP.NET2.0的网上考试系统随机抽题功能的实现和改进.pdf_第1页
基于ASP.NET2.0的网上考试系统随机抽题功能的实现和改进.pdf_第2页
基于ASP.NET2.0的网上考试系统随机抽题功能的实现和改进.pdf_第3页
基于ASP.NET2.0的网上考试系统随机抽题功能的实现和改进.pdf_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

55 基于A S P N E T 2 0 的网上考试系统随机抽题功能的实现和改进 陶酤, 林财兴, 何绪兰 ( 上海大学 机械工程及 自动化工程学院, 上海 2 0 0 0 7 2 ) 摘要: 随机抽题功能的实现是基于B S网页考试系统的难点, 通过n e w id ( ) 方法和临时表变量实现了较为复杂的不定项选择题随 机抽取的功能, 并且利用了S Q L的存储过程和 U D F实现 了整个抽题过程的封装和松耦合, 并且由于 S Q L存储过程的执行 高效性 提高了抽题的效率。 关键词 : 网上考试系统n e w i d 存储过程U D F 中图分类号: T P 3 1 1 1 3 1 文献标识码 : A 文章编号 : 1 0 0 2 6 8 8 6 ( 2 0 t 0 ) 0 5 0 0 5 5 0 4 Th e Re a liz a t io n a n d I m p r o v e me n t o f t h e Ex a min a t io n On lin e S y s t e m S Ra n d o m F u n ct io n Ba s e d o n AS P N ET 2 0 TAO Zh e,LI N Ca ix in g, HE Xu la n Ab s t r a ct : T h e r e a li z a t io n o f t h e f u n ct i o n o f r a n d o m p r o b le ms is t h e d iffi cu lt y o f t h e o n li n e t e s t s y s t e m, b y n e w id( )me t h o d a n d t h e t e rn- p o r a r y t a b le v a ri a b le ca n h a n d le a m o r e s o p h i s t i ca t e d r a n d o n l f u n ct i o n , a n d t h e l ls e o f S Q L s t o r e d p r o ce d u r e s and U D F a ch i e v e s e x t r a ct in g and p a ck a g i n g o f t h e w h o le p r oc e s s , and l o o s e l y co u p l e d B e ca u s e o f t h e e f f i ci e n cy o f t h e i m p l e m e n t a t i o n o f S Q L s t o r e d p r o ce d u r e s , i m p r o v i n g e ff i cie n cy o f t h e pu mp in g e ffi cie n cy is s u e s Ke y wo r d s: o n lin e t e s t s y s t e m ;n e wid;s t o r e p r o ce d u r e;UDF 0 引言 社会的发展也要求着考试方式和教育形式的变化, 越来 越多的远程教育的出现使得人们 的课堂从教室中搬到了电 脑屏幕前, 考试方式也从原先的纸质考卷变成 了一份份 电子 考卷。网上考试已成为了教育和考察方式变化中重要的一 环 。 在人们渐渐接受这种网上考试方式 的同时, 也对其提出 了更多的要求 : 考试题型中选择题的选项的增加, 不定项选择 题的加入, 对大规模人数参考时随机抽题速度的保证 , 而其中 主要需要解决的问题就是随机抽题功能。 l抽题要求和实现原理分析 1 1开发平台及选择 由于考虑到传统的基于 C S的网上考试系统需要在客 户端安装应用程序, 不是十分方便 , 因此采用 B S的结构进 行网上考试 系统 的设计 , 客户端只需 要浏览 器就可 以进 行考 试。开发平台采用 A S P N E T 2 0 , 数据库使用 S Q L S e r v e r 。 1 2存放题库的 Q u e s l io n T a b 表 因为考虑到需要解决的是随机抽题的问题, 对于网上考 试系统所牵涉到的数据库表不一一介绍, 只对存放题库的 Q u e s t i o n T a b表进行简单的介绍, Q u e s t i o n T a b表中每一条记录 都是包含着一道考题的信息。 作者简介: 陶拮( 1 9 8 6一) , 男, 在读硕士, 主要研究方向: C I M S 。 收稿日期 : 2 0 1 0 41 3 Q u e s ti o n T a b 表中各个 蠢 豳 一 呲 披 据 娄 督 字段解释: : 昌 Q u e s t i o n I D : 题库中每 varc ba r( l O 兽 道考题的一个唯一的编号; Q t s t;i n w rc ba r ( , S u b j e ct : 考题所属的科 o p z ba r( z ) 目, 例如可以有语文, 数学 mrc ba r( 2 0 0 ) 目 u口 n va r ct r l2 O o) 等; o 0 7 nvarc ba r( Ofl : 蓦 C h a p t e r : 考题所属科目 詈 中的第几章 节; : v ar c ba r (5) 兽 C a t e g o r y : 考题 的难 度 秦新 图1 Q u e s t i o n T a b 表 S t y l e : 考题的分类, 多选 , 单选还是不定项选择题; Q u e s t i o n : 考题的题目: R ig h t s : 考题的答案; O p l, O p 2 , O p 3 , 0 p 4 , O o 5 , O p 6 , O p 7 : 考题的七个选项; E x p la i n s : 对考题答案的解析; C r e a t e D a t e : 考题创建的时间; S t a t e : 表示考题需不需要更新 ; C r e a t o r : 考题 的出题者 ; A b s t r a ct : 考题摘要。 1 3随机抽题的功能分析 本文针对不定项选择题来进行功能分析, 而单项选择题 和多项选择题都是不定项选择题的特殊情况。经过分析不 中 国 机 械 采 购 网 5 6 定项选择题的随机抽题功能需要满足以下要求: 1 ) 从题库中所抽取的题 目数量要和考试要求的总数量 一 样 ; 2 ) 从题库中所抽取的对应科 目和章节的题 目数量要和 考试要求一样; 3 ) 从题库中所抽取的题目不能有重复; 4 ) 抽取出来的题 目要进行随机排序而且题 目的选项也 需要进行随机排序。 1 4实现 的基本原理 由于每次考试都是只考一个科 目和此科 目中的多个章 节, 如要实现随机抽取考题的功能, 需要在每个章节中随机的 抽取指定的题目数, 然后将每个章节所抽取的题 目组合在一 起再次进行随机排序最后形成试卷。 考虑到动态 S Q L语句 n e w i d ( ) 可以对从 S Q L中得到的 结果集进行随机的排序后返回新的结果集, 而表变量可以存 放 S Q L中的结果集, 因而我们可以先用 n e w i d ( ) 返回每个章 节中随机抽取的考题的结果集, 将这些结果集相加放入表变 量中, 再对表变量使用一次 n e w i d ( ) , 就可以返回我们所需要 的结果集。 2 随机抽题功能的具体实现 2 1 考题题目的随机抽取实现 网上考试系统已定义有三个方法 G e t S u b j e ct , G e t C h a p t e r - N a m e ( ) , G e t E x a m C h a p t e r C o u n t ( ) , 这三个方法分别获得当次 考试中的对应科 目, 对应科 目中考题所需要牵涉到的章节名 称和对应章节中所包含的考题数, 分别返回三个变量 S t rin g 类型的s u b j e ct , A t r a y L i s t 类型的 ch a p t e r 和 e x a m C h a p t e r C o u n t 。 根据变量 s ubj ec t 和 ch a p t e r 0 中的值去确定 Q u e s t i o n T - a b 表中哪些记录行是满足当次考试的要求的, 对这些结果集 用 n e w i d ( ) 进行随机排序, 再从返回的结果集中利用和 ch a p - t e r 0 对应的 e x a m C h a p t e r C o t m t 0 变量中的值用 t 0 p 命令来 确定到底要在这些结果集中选取多少行, 将根据 e x a m C h a p t e ,o u n t 0 的值筛选后的结果集加入到临时表变量t e m p t a b le 中, 然后按上述的相同步骤遍历 ch a p t e r 和 e x a m C h a p t e r C o u n t 中所有的元素后 , 将获得的表变量 t e m p ta b l e用 n e w id ( ) 进行 再次的随机排序返回的结果集就是符合要求的试题。 具体代码如下: s t r i n g s q ls t r : ” d e cl a r e t e m p t able t abl e ( Q u e s t io n I D b i g i n t n o t n u l l p r i m a r y k e y) ” ; f 0 r ( i n t i =O ; i 0 b e g in s e le ct t o p 1 ch a p t e m a me=ch a p t e r n u mb e r=ch a pt e r - n u m b e rf r o m t e mp t ab le s e t s q l s t r=s q l s t r + i n s e r tt e mp t able f Q u e s t i o n I D)s e le ct t o p + n u mb e r s e t s q l s t r= s q ls t r+Q u e s t i o n I D f r o m Q u e s t i o n T ab w h e r e S u b j e ct : f+ s u b j e ct+“ a n d C h a p t e r= + ch a p t e ma me s e t s q l s t r :s q l s t r + “ o r d e r b y n e w id ( ) de le t e t e mpt a b le w h e r e ch a p t e r= ch a p t e ma me e n d s e t s q ls t r= s q ls t r+ s e le ct f r o m t e mp t a b le o r d e r b y n e w i d ( ) e x e c( s q l s t r ) 存 储 过 程 中 的 形 参 s o u r ce ch a p t e r , ch a p t e r s e p e r a t e , s o u r ce n u m b e r 和 n u m b e r s e p e r a t e将传递给名称为 f s p li t的 U D F做形参, 让其返回一个表变量, 对这个表变量的遍历可 以使用每访问一条记录就删除一记录的办法, 利用的是 S Q L 中的t o p访问表中的第一条记录后, 再使用 d e l e t e进行删除, 用 w h i le 进行循环直至全部访问过后, 即此时表中为空时终 止。同时利用上一节讨论过的n e w i d和临时表变量的方法最 后完成需要的结果集的返回。 如果调命令 e x e c r a n d o m 章节 1 , 章节2 , 章节 3 , , , 1 0 , 2 2 , 3 0 , , , 测试科目 这句话代表将从测试科目中章节 1 , 章节2 , 章节 3中随 机分别抽出1 0 , 2 2 , 3 0 道题作为考题。 4 结束语 随机抽题功能的实现是基于 B S网页考试系统的难点, 通过 n e w i d ( ) 方法和临时表变量实现了较为复杂的不定项选 择题随机抽取的功能, 并且利用了S Q L的存储过程和 U D F 实 现了整个抽题过程的封装和松耦合, 并且由于 S Q L 存储过程 的执行高效性提高了抽题的效率。 参考文献 1 R o b i n D e w s o n著 , 董明等译 S Q L S e r v e r 2 O O 5基础教程 人民邮电出版 社, 2 0 O 6年 1 2月 2 B i l l E v j e n , ( 美) S co t t H a n s e l m a n等著, F a r h a n M u h a m M a d , 李敏 波译 A S P N E T 2 0高级编程( 第四版) M 北 京: 清华大学出版社 , 2 0 0 6 年 l1月 3 方利伟 基于 A S P的 We b考试 系统 甘肃教育

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论