首页 -> 2006年第2期

基于ASP/ADO.NET在线考试系统的设计与实现

作者:罗映红 魏永峰 周 丰




  [摘要]介绍一个在Web环境下,基于B/S三层结构模式、利用先进的ASP/ADO.NET技术开发的在线考试系统的总体方案、主要功能模块及其相关实现技术。该系统包括三个功能模块:考试系统、管理系统和登录系统,实现了由传统考试方式向利用网络无纸化考试方式的转变。
  [关键词]ASP.NET,ADO.NET,Web应用,在线考试。
  [中图分类号]TP393.09[文献标识码]A[文章编号]1005-4634(2006)02-0145-04
  [收稿日期]2005-04-04
  [作者简介]罗映红(1961-),女,广东汕头人,副教授,主要研究方向为电工与电子技术教学、电工理论与新技术、现代教育技术与方法;魏永峰(1979-),男,河北武清人,硕士研究生,主要研究方向为计算机与通信网络技术。
  
  0引言
  
  在《电工学》系列课程的教学改革工作中,为充分利用校园网现有的网络资源,利用ASP/ADO.NET技术开发了一个基于B/S 三层结构模式的在线考试系统,作为该系列课程多媒体辅助教学系统的一部分,可用于学生网上期中和期末等各阶段的考试,以提高考试质量、减轻教师的工作负担和提高工作效率,从而使考试更趋于公正、客观,更加激发学生的学习兴趣,有利于提高教学效果和教学质量。
  
  1系统总体方案
  
  1.1体系结构
  目前,网络应用软件运行模式主要有两类[1]:客户机/服务器(C/S)模式和浏览器/服务器(B/S)模式。C/S模式是将数据库(如试题库)内容放在远程的服务器上,在客户机上安装相应软件。C/S结构在技术上虽然很成熟,但该结构存在灵活性差、升级困难、维护工作量大和系统安全性差等缺陷,已较难适应当前信息技术与网络技术发展的需要。随着Internet特别是Web技术的发展,C/S模式正向基于Web的三层计算模式,即 B/S模式演变。三层体系即客户端浏览器、应用服务器和数据库。结构如图1所示。这种结构不仅把客户机从沉重的负担和不断的高性能要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构层与层之间相互独立,任何一层的改变不影响其它层的功能。它从根本上改变了传统的二层C/S体系结构的缺陷,是应用系统体系结构中一次深刻的变革。
  
  1.2总体方案与相关技术
  在线考试系统采用B/S结构,由客户端(Web浏览器)、Web服务器、数据库服务器(如试题库)三层分布结构组成。由于采用了互联网的相关技术,B/S结构具有系统维护升级方便、跨平台操作、具有良好的开放性、可扩充性和可移植性以及系统安全性等优点[2]。另外,鉴于ASP/ADO.NET技术具有嵌套灵活、脚本安全、功能可扩充、数据库访问亲善和浏览器无关等特点[3],基于B/S模式的在线考试系统采用Mcrosoft提出的基于ASP/ADO.NET技术的Web解决方案,其总体方案见图2。
  本考试系统是基于www的,www上的信息组织成网页,网页是按html格式写成的文件,存放在自己网站的服务器上。用户可通过Internet Web服务器(IIS),请求调用ASP.NET页面,执行相应的脚本,执行结果产生动态生成的html页面(如在线考试系统的某个界面)并返回浏览器,进行应答;用户通过浏览器对html页面进行相应的操作请求(如进行在线随机抽题),则ADO.NET直接访问数据库服务器,对试题库进行访问查询,然后动态生成一个html页面,将查询结果(如考试试卷)返回浏览器,供用户使用。
  目前大多数网上教学系统较为流行的做法是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻。但是由于ASP本身的局限性,使得系统有一些不可克服的缺陷。ASP.NET技术是当前最强有力的网站开发工具之一[4]。基于ASP.NET以下几方面的特点,使得采取了ASP.NET技术的系统性能有了很大的改善:① ASP.NET页面在反复打开时只需要一次编译,这使得在多次访问时速度有了极大的提升;② ASP.NET通过ADO.NET提供的DataGrid等数据库元件可直接和数据库联系;③ ASP.NET支持应用程序的实时更新;④ ASP.NET采取“code-behind”方式编写代码使得代码更易于编写,结构更清晰,降了系统的开发与维护的复杂度和费用;⑤ ASP.NET兼有面向对象编程和事件驱动编程两者之长。
  ADO.NET是.NET应用程序的数据访问模型。它能用于访问关系型数据库系统,如SQL Server 2000,及很多其它已经配备了OLE DB供应器的数据源。在某种程度上,ADO.NET代表了最新版本的ADO技术。然而,ADO.NET引入了一些重大变化和革新,它们专门用于结构松散的、本质非链接的Web应用程序。
  在ASP.NET中进行数据库的访问需要使用ADO.NET。如同ASP.NET并不是在ASP上面的一个简单升级版本一样ADO.NET也不是ADO 的一个简单升级版本,而是一个全新的数据库访问策略。
  
  2系统需求分析
  
  2.1系统目标和功能
  要求建立后台数据库,内含一个试题样库,教师可以在题库中添加、编辑和删除试题;教师可以增加新的考试科目;可以充分利用题库中的试题,由系统随机组卷,并能在指定时间内发布试卷;学生参加完考试能即得到答案,并分析考试中答错的题目;教师能得到学生考试后传送到系统的反馈信息,可方便的对成绩进行查询和分析,同时对学生考试中出现的错误进行统计以便今后的教学。此外,还应具有良好的用户界面,操作方便,尽量减少误操作率。具有安全保密机制。
  
  2.2系统数据流图
  网上考试系统实质上是一个数据库驱动的信息处理系统,因此在整个开发过程中必须考虑两方面的问题——“数据”及对数据的“处理”。初步分析系统目标和功能要求很容易得出系统总体数据流图DFD(Data Flow Diagram)如图3所示。
  进一步分析系统目标和功能要求可以确定系统应有以下几个子系统组成:系统管理与维护子系统、在线考试子系统、用户登录子系统。
  
  3系统主要功能模块及其设计
  
  系统的主要功能模块见图4。
  
  3.1用户登录子系统
  用网页设计的基本技术设计完成系统登录主页面,将教师、管理员和学生的登录集成在一个模块。对于教师、管理员和学生而言,数据库中存在的合法用户在登录页面输入正确账号、密码和选择身份通过验证后即可进入系统(用户名与密码等登录信息都不能为空)。若输入错误账号、密码和身份,调用错误处理模块生成显示出错页面。为了实现更好的安全性,采用ASP.Net的服务端验证控件。用户登录页面如图5所示。
  
  3.2在线考试子系统
  该子系统是在线考试系统的核心内容之一,主要功能包括用户身份自动验证、考试新闻(如考生须知)、随机自动抽题、考生答题(界面)、考试倒计时(界面)与提交试卷、自动阅卷与评分等。在线考试子系统流程图见图6。图7为出题规则界面。
  

[2]


本文为全文原貌 请先安装PDF浏览器  原版全文