您好, 访客   登录/注册

在线考试系统的设计

来源:用户上传      作者: 叶 春

   [摘要]传统的考试组织者工作量大、繁琐而且非常容易出错。随着互联网技术的不断发展和英特网的不断普及,在线考试系统作为一种新颖的考试系统模式也应运而生。本文给出了一个在线考试系统的设计思路,并给出了部分的实现过程。
  [关键词]数据库 网上考试
  
  在线考试系统的产生不仅解决了各类考试人员地域分散性的特点,而且也大大提高了组织考试的效率和考试的公正性。网络在线考试系统正是采用互联网的方式来实现网上考试和成绩评定等功能,并通过后台数据库对教学辅助工作提供强有力的支持。下面兹介绍一个系统。
  一、系统的总体设计
  1.目标设计
  在线考试系统的主要功能如下:
  登陆系统的主要功能要求:欢迎页面;功能选择页面;各种功能的登陆页面及密码验证。
  在线考试系统的主要实现功能要求:让用户选择试卷类型;让用户选择试卷的断线情况;从试题库中随机出题给用户;将随机试卷保存在暂时表中;保存用户的答案;给用户的试卷判分;保存用户的试卷;查询用户成绩。
  在线帐户管理系统的主要功能要求:选择更改帐户属性的类别;浏览整个系统中的各种用户;添加包含某项功能的用户;删除不再需要的用户;更改用户的密码。
  在线阅卷的主要功能要求:浏览系统中用户答案情况;删除某个用户的其中一个答案或删除某种系统试卷。
  2.设计思想
  目前比较流行的两种网络开发模式分别是客服端/服务器模式与浏览器/服务器模式。客服端/服务器的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。客服端/服务器的缺点,它在以局域网为基础的环境下展开应用的,它受到地域的限制。还有,客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。同时它对客户端的操作系统一般也会有限制。浏览器/服务器模式通过英特网进行通信,可以不受地域的限制,但是它不能进行联机事务处理,并且在大量数据处理的情况下,速度较慢。
  3.系统功能设计
  根据系统功能的要求,在线考试系统分为三个模块。即在线的考试系统,在线帐户管理系统和在线的阅卷系统。可以将系统分解成几个功能模块来分别设计,首先进入欢迎页面。流程如:欢迎页面;登陆页面;分系统。分系统包括:在线考试系统、在线管理系统、在线阅读系统。
  二、数据库的设计
  网络在线考试系统的设计过程中数据库的设计是非常重要的。如果数据库设计不合理,整个系统的性能就会大打折扣。通过进行正规化数据库设计,可以使ASP代码更具可读性,更容易扩展和升级,从而也会提升系统的应用性能。在数据库系统开始设计时就应该尽量考虑全面,尤其应该考虑实际应用中所需要解决的问题,使数据库对整个系统有更强的支持。根据系统功能模块的划分,各模块设置内部的数据项和数据结构,并根据需要设置模块外的数据支持。注册功能模块主要包括用户的信息,所以其数据项应包括:用户标志、用户名、用户密码和用户权限。在线考试功能模块结构比较复杂,除了试题标志、试题类型、试题内容、难易程度、试题分值和试题答案等一些内部项以外,还需要试卷名称、试卷分数和答题时间等一些外部数据的支持。在线帐户管理模块主要是保存一些试题维护人员和系统维护人员的信息,主要有用户标志、用户名、用户密码、用户类型和用户权限,该模块不需要外部数据的支持。对于在线阅卷系统,主要有试卷名称、答题用户、当前状态,它所需的外部数据支持超级用户信息:用户的标志、用户名、密码、权限。
  从应用的角度而言,Access数据库易于使用,在创建和配置上都比SQLServer更为容易,它是一个功能强大的数据库管理系统开发工具,具有界面友好、易学易用、开发简单、接口灵活等特点,可以充分满足小型系统的需求。因此,对于小型的在线考试系统,后台数据库可以选择微软的Access数据库。但是,对于大中型在线考试系统而言Access数据库已经无法满足功能的需求。使用SQLServer可以获得超强的可伸缩性和可靠性,这样就更能满足在线考试系统程序设计的要求。它已经成为新一代网络应用程序的最佳数据库和分析解决方案之一。
  三、系统开发的关键技术
  1.随机取题成卷技术
  在线考试不同于传统意义上的考试,在同一次考试中管理员可以从题库中随机取题成卷,每个考生的试卷都不同,但都是依照预定的知识点难度等策略从题库中随机抽取的,这样在一定意义上也就防止了考试中出现的舞弊现象。随机取题成卷技术可以有两种,一 种是打乱卷面题目顺序技术,另一种是在事先规定好的同一难度的试题中随机抽取的技术。打乱卷面题目顺序的技术比较容易实现,这里主要介绍随机取题的技术。随机取题由特定的算法来实现。
  2.自动判分功能的实现
  编者使用了一个巧妙的办法来解决自动判分的功能,除了上面的生成的临时表以外,判分页面还生成了一个“拥护 名+表名”的正式表,用来存储用户答题的所有信息,然后读取这些记录,进行判分。这里特别强调读者注意的是,判分的比较过程,以外加分环节和最后总分数的得出。
  3.两层用户鉴别
  在我们这个再线考试系统中,采用了一个两层用户鉴别的模式,目的是为了系统的安全,当然,这个办法所起到的作用也是非常有限的,只是能够防止普通用户通过猜测管理员的用户名和密码达到入侵的目的。
  4.系统的安全性
  从系统的安全角度考虑,为了避免Cookie被盗用,并获得对合法用户的会话变量的访问,服务器为每个SessionID指派一个随机生成号码。每当用户的浏览器返回一个Cookie时,服务器取出SessionID和被赋予的数字,接着检查是否与存储在服务器上的生成号码一致。若两个号码一致,将允许用户访问会话变量。这一技术的有效性在于被赋予的数字的长度,此长度在一定程度上保证了系统的安全性。
  
  参考文献:
  [1]宋昕.asp网络开发技术入门与提高实用教程――入门与提高实用教程 [M].北京:中国铁道出版社,2005.
  [2]石志国,李颖,薛为民.ASP程序设计[M].北京:清华大学出版社,2005.


转载注明来源:https://www.xzbu.com/2/view-466916.htm