您的当前位置:首页正文

基于.NET的网上考试系统的设计与实现

2020-12-02 来源:易榕旅网
维普资讯 http://www.cqvip.com

Design and Rea1 izati on of Test System on Net Based on.NET 尹晶海穆振东胡剑锋 Yin JinghaJ Mu Zhengdong flu Ji anfeng (江_四蓝天学院信息研究所,南昌 330098) (Information Institute,Lantian College of Jiangxi,Nanchang 330098) 摘 要:本文描述了一种通用网上考试系统的总体结构.并对其功能模块做了详细描述,同时给出了一些技术难点的 解决方法。  .关键词:。NET:网上考试:教学改革 中图分类号:TP311.52 文献标识码:A 文章编号:1 67i一4792-(2007)1-0078-03 Abstract:]'his paper described on one ki nd of genera1 test system on net overal 1 structure,and had made the detai 1ed description on the function module,simultaneously had gi yen some technica1 difficulty solution. Kevwords:.NET;Test on N盯;Educati ona1 Reform 0引言 发人员可摆脱硬件设备的束缚,轻松实现互联网的连接。因 此,采用.NET开发网上考试系统可以提高开发效率和系统性 能。 随着网络的普及和国民对教育的只趋重视,一些新兴的 教学手段如远程教育 远程培训,网上大学等在国1人J越来越 普及,许许多多的培训单位、巾小学和大巾专院校也建设了 校园网,在这种情况下,网上测试、网上作业、网上考试就 具有了必要的环境。目前我们所接触的网上联机考试系统主 1,2关系数据库管理系统 sQL Server 2000是微软公二J开发的一个关系数据库管 理系统,它以"[ransact-SQL作为数据库查询和编程语言。 尽管. 支持共享文件数据库(如,Access、Foxpro等)作 为有效的网上考试系统数据源,但是此类数据库引擎只适合 于开发小型的应用程序系统,无法满足网上考试系统大量用 户连接时,对系统的处理速度和运行稳定性的需要。考虑到 以上因素,本系统使『H带有“客户/服务器数据库引擎 的关 系数据库管理系统——SQL Server 2000,它能提供超大型 系统所需的数据库服务,可在多个用户之问有效地分配可用 资源,具有维护相对简单和对.NET的支持度比较高等优点, 因此是本系统数据库服务器的理想选择。 2系统架构 要是一些认证考试以及计算机等级考试,而这些考试系统主 要起到的是考试的作 ,根本无法和教育教学工作相挂钩。 考试目的性、专业性强,应用面窄,阻碍了它在现实教学巾 的发展,因此难以实现教学与考试的完美结合。同时,在现 有的考试巾,手工方式的测验或考试存在诸多弊病:工作量 大、周期长、反馈能力弱;试题选择随意性大;对成绩的分 析停留在平均分、及格牢等表面层次上,难以统计出学生对 各个知识点的掌握程度,因此不能对症下药。而我们所要开 发研究的网上考试系统应以准确、高速、网络化的信息技术 为手段,实现练习、测验等各环节的高度自动化、科学化和 对教学反馈信息的深度挖掘。 1技术背景 2.1系统主要功能与总体结构设计 网上考试系统主要由八大功能模块组成: (I)系统管理模块:对系统的用户、J11户组、常数表、系 统菜单、用户权限等数据进行管理和设置,属于最高级别的 用户才能访问的模块。 1.1.NEt"体系结构 微软的.NKr是一项革命性的技术框架,它的核心技术包 括分布式计算、XML、组件技术 l ̄lm,1编译技术等,它的策 略是将互联网本身作为构建新一代操作系统的基础,对互联 网和操作系统的设计思想进行合理延伸。使用.NE'I、技术,开 (2)考试管理模块:安排考试,设置每门考试采用的试 卷,指定参加考试的考生等。 维普资讯 http://www.cqvip.com

(3)题库管理摸块:对题庠按照学科,知识点.题目类 型、难易度等进行组织和管理。 (表一qucstld 试题数据表结构 符案 answennfo anSWcrid 试题编号 试题 testquest 4)在线考试模块:学生登陆系统进行『F式考试,或进 :对试题、知识点、课程等进行在线 QucsttYpcld 试题类型编号 Conten chaptid count quos ̄id answo]" I答案编号 I试题编 I答案 基 于 m 行模拟考试、专题训练等。 试题内容 (5)考试论坛模块Coursoi d 课程编 章节编号 f1ag 题型表quosttype I正确标志 Zl 讨论,由各科任课老师和学生参与。 ,^、一^-’ 6. 、I. }J』’ 1JLj址●I.^,..I£.、— t r- 士干¨, ・・ 1 L= 、…4“ 一 查询和统计。 Dlff 难度系数 被弩次数 qucsttype id quosttypOname I题型名称 ,l题型编号 的 上 考 武 表 n。 。 j f。对于主观题是直接储存正确答案对于客观题 (7)在线改卷模块:对学生考试试卷进行在线改卷,其 则是储存可选项。两张表之间通过questid字段进行关联。 巾客观题自动改卷,主观题人工改卷。 (8)新闻发布模块:系统发布各种考试信息、阅卷信息、 煎分信息寺。网上考试系统的顶层用例图如图一所示。 Q———— —、、 ^\ _-,) /I.\\~\ / ~ \ — // //二-兰 二)一 ,/一、. , 厂、 ..早: =二二——/ 十^Ⅲ・H/= R 老.| —\:: “ \ 谨■ \ ……’ \ 一一一一 o/ \ / /、o / : ,,,,—、 , t 、 \ := 0●_ "■_’) 图一顶层用例图 2.2开发平台和软件 ‘ 互系统的I掂  (IS 需安装相应补丁程序以保证较好的安全性)÷ . ,数 据库服务器采用 Studio.KET 2003开发和调试., 2I0'CE[应用程序,客户端安装IE 00 OS 5.3 关键问题及其解决 0以上的版本浏览器即可。 3.1试题的储存 本考试系统支持多种题型,与其他考试系统不同的是所 有题型都储存在一张表巾,通过一个字段questtypeid与常 数表questtype相关联。 如表一所示,系统巾的试题储存在两张表巾。表 testquest储存的是题目,可以按照课程和章节进行分类; 例如一道4选1的单项选择题在试题表中保存一条记录,而 系 在答案表中则保存4条记录,其中有一条记录的fiag值为1 统 的 (flag设置为1表示正确,0表示错误)。多选题的储存和单 没 选题类似,唯一不同的地方在于答案表巾有多条记录的f1ag 汁 与 值为1。该储存方式的优点在于选择题的可选项可以任意扩 : 在 : _ 、 1‘、 现 实 2选1等各种题型,选项的次序也可以随机排列,从而在试 题相同的情况下有效减少舞弊的概率。 在组卷之前必须先选择一套试卷模版,所谓试卷模版就 3.2人工、随机组卷策略 是一份试卷的框架,主要记录以下信息:试卷一共分几道大 题,每道大题分别是fu苊1么,厶 型、伺儿_坦,J、 , 遇,J、 r …,试、…~’…… 等等。选好一套合适的模版后 ’…~… ・…… 一就可以开始组卷,试卷的生成有人工组卷和随机组卷两种。 则禾建八上 峦, U明,打:J .牛,狱 lp“J 从 J.牛 笪 合适的试题插入到试卷模版中,也可以手工输入试题插入试 ^ }lu:z 6, 厶 日¨ 4.±— ^ .、— 北+ Ⅱ 书 £b1日丽口^,.jHr旦 由nI丰I 是随机组卷,则根据试卷模版自动在题库巾搜索相应的试题 插入到试卷中。考虑到在题目量不是很大的情况下,随机 抽题l LIH=:l‘~ 口— v,^—L’ H J ……、…J●‘~……H-。 必须和当前试卷中的已有试题做一’FLgx, ̄,如果发生重复现 象则重新抽取,如果没有重复则将试题插入到当前试卷中。 整个组卷过程如图二所示。 匦 一 —1-一 7r__I 7 一 一叵 由———-=/  丫 —回 一卜1—+r --}卜_—-f亏 ”f—广 丫 L</重复?\> — V 一 图二组卷流程 3.3考试时间的控制 系统巾的考试分为模拟考试和正式考试两种,所采用的 时问控制方法也不相同。模拟考试只设定考试的总时间,从 1R1 维普资讯 http://www.cqvip.com

Return SYStem.Web.SeCuri tY.FormsAuthentication. tNshPasswordForStoringlnConfigFile(str,”MD5”).ToLower 0: ) MD5是该函数的名称,有一个输入参数str为被加密的 字符串,函数输出为加密以后的字符串。调用时直接使用: str ing password=tb_psd.text: str ing md5pass=md5(password)即可。 4结束语 该系统不仪可以用来进行远程网上考试,还可以用作学 倒 生平时的练习和模拟考试。通过在江西蓝天学院瑶湖校区计 算机系的使用,现已采刖该网上考试系统进行(《网络技术》 和《网络操作系统》两门课程的考试,共有计算机网络和网 络管理两个专业共计2321名学生参加考试。学生和教师对采 用这种形式进行的考试反应都比较好。随着试题库的逐渐扩 充,考试将变得更加公正有效。通过一段时间的使用,该系 统也存在一些问题。考生在答题的过程中,如果不小心关闭 了窗口,或者机器由于各种原因造成突然死机,都会造成考 图三考试时间控制流程 生之前的答题丢失。本系统采用考试期间切换试题时自动储 学生获取试卷开始倒计时,时间倒计到零以后系统自动交 存一次该题答案,如该考生再次进入考试页面以后,系统会 卷。正式考试则采用设定考试开始时间和结束时间的方法, 自动读取之前自动保存的答案,使试卷返回到故障之前的状 态。这种方法对服务器的负荷过大,在访问量不大时效果不 考试开始时问过了以后才能获取试卷,考试中途显示考试的 开始时间、结束时间以及当前时间。考试结束以后系统进入 错,但是一旦访问量比较大时,数据库的处理速度可能会跟 5分钟倒计时,如果5分钟之内仍不交卷则系统自动收卷。为 不上请求速度。如果采用客户端储存临时数据的方法又可能 了避免自动交卷致使服务器在交卷的一瞬间负荷过大,所以 会带来安全性方面的隐患,故这些问题都还有待于进一步的 采用5分钟之内手工交卷,这个时间可以根据实际情况调整。 研究。 详细流程如图三所示。 3.4利用.NET类库对系统中敏感数据进行加密 参考文献 系统中有一些敏感的数据出于安全的原因需要进行加密 【1】张涛,张学福.网上考试系统的开发与研究【J.JJ信息 处理,否则一旦泄漏将使得整个系统遭到破坏。最常见的需 系统与网络,2003(8). 要加密的数据就是用户的密码,这里举一个对用户密码进行 【2】Microsoft Corp.MSDN2003.Net【cP/a ̄】.Microsoft Corp.,2003. MD5码加密的方法。MD5(Message Digest Algorithm 5)是 RSA数据安全公司开发的一种单向散列算法。MD5被广泛使 【3】 ̄icrosoft Corp.Helpfor.Net Framework SDK1.1 用,可以用来把不同长度的数据块进行暗码运算成一个128 【CP/DK】.Nicrosoft Corp.,2003. 【4】陈惠贞,陈俊荣.ASP.net程序设计 】.北京:巾国铁 位的数值。在其他的一些编程语言中需要手工编写加密算法 进行加密,对开发人员的数学水平要求较高,而在.net巾对 道出版社,2002. 一些常见的加密方法进行了封装,因此使用起来非常方便。 详细代码如下: 作者简介 尹品海(1977~),男,江西永新人,江西蓝天学院信 public string md5(string str) { 息技术研究所系统分析师,硕士,主要研究方向软件工程。 

因篇幅问题不能全部显示,请点此查看更多更全内容