基于ASP.NET和多数据库访问技术的在线考试系统的设计与实现

来源 :新校园·理论版 | 被引量 : 0次 | 上传用户:jayexxfu1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文采用B/S模式结构作为系统开发的体系结构,利用ASP.NET技术进行系统开发,通过在三层模式结构中使用抽象工厂设计模式,设计并实现了一个可以支持多种数据库无缝移植的通用考试系统。
  关键词:ASP.NET;B/S;在线考试;多数据库访问
  
  引言
  考试是学校教学工作的重要环节,也是检验和评价教学质量和效果的重要手段,传统的考试过程需要耗费大量的人力、物力和财力,而考试结果又常常受到人为因素影响。为适应现代教育技术的发展,深化教学改革,提高考务效率,建立一套完善的可以针对不同学科进行考试的通用考试系统势在必行。
  1系统设计
  1.1系统体系架构
  系统采用基于B/S模式的三层体系结构设计如图1所示,即数据访问层、业务逻辑层和表示层。
  


  数据访问层主要实现对数据的保存和读取操作。业务逻辑层是表示层和数据访问层之间通信的桥梁,主要负责数据的传递和处理。表示层用于显示数据和接收教师、学生输入的数据,为他们提供一种交互式操作界面。
  1.2系统功能模块
  根据需求分析,可以将考试系统划分成两大主要子系统:教师子系统和学生子系统(如图2所示)。
  


  (1)教师子系统
  教师子系统的各模块主要功能描述如下:
  ①学生管理:主要是添加、删除、修改及查询学生信息。
  ②科目管理:教师可以对在线考试系统的科目进行新增、修改、删除操作。
  ③题库管理:主要是完成试卷题目的增、删、改、查操作。教师在添加题目时需选择相应的科目,并设定题目的分值、难度系数、正确答案等。
  ④试卷管理:主要完成试卷的生成、修改、删除、查询及设置考试默认试卷,创建试卷时需判断设置的试卷总分与每题分值之和是否相等,若不等需重新选择试题。另外还需要分配好考试时间与题量之间的比例关系。
  ⑤成绩管理:教师可以参加主观题在线改卷,查看各科目考试成绩(Excel格式)及考试总成绩表(Excel格式)、打印成绩表并对成绩表进行汇总分析。
  


  (2)学生子系统
  ①登录验证:学生输入用户名和密码后,系统自动对学生身份进行判别,若是系统考生,则显示学生模块的功能,若是教师,则显示教师模块的功能。
  ②在线考试:考生登录验证通过后进入考试科目选择界面,根据考生选择的科目,服务器调用随机抽题程序,组成一幅完整的试卷返回或直接返回教师指定的默认试卷并在客户端显示供考生在线答题。
  ③查看成绩和答案:学生可以进入成绩查询页面查看考试成绩和做错的题及相应题的正确答案。
  ④个人信息维护:学生可以修改自己的身份信息和系统的登录密码。
  


  1.3系统的数据库设计
  数据库主要用来更方便地管理考试系统中存在的所有数据,考试题库信息的建立对于考试系统来说是相当重要的,所以数据库的设计好坏直接影响到整个考试平台的正常运行和效率。通过对本系统数据的分析,一共设计了10张数据库表:角色表、用户表、试题分类表、题型表、章节表、选择题表、判断题表、简答题表、填空题表、试卷表。填空题表和试卷表的存放相对复杂,填空题中每道题需要填的空可能不同,所以需要设置一个字段存放需要填的空的个数(如表1)。
   表1 填空题表
  


  2开发与运行环境
  ASP.NET是创建动态网页的一种强大的服务器端技术,是一种基于B/S的应用程序。同时ASP.NET可以通过ADO.NET组件提供的接口访问数据库,便于开发出功能强大的动态可交换的web页面。因此选择ASP.NET作为前台开发工具。由于本系统开发的是可在多种数据库间无缝移植的考试系统,且SQL Server 2005具有强大的数据管理与处理能力及较高的安全性能,并支持远程存取等符合考试系统的需求,因此仅选择SQL Server 2005 作为后台测试数据库。
  3系统实现的关键技术
  3.1 组卷策略
  教师登录系统后,选择试题的类型及所属章节及知识点,并给试题设置相应的难度系数和估计答题时间,点击提交按钮录入试题。其中难度系数是试题难易程度的指标。学生登录系统后,选择相应的题型、数量、以及所属章节,点击抽取按钮后系统就根据这些参数从试题库中自动抽取试题,在抽取试题前,系统会自动判断所输入的参数是否合法,如输入的题目总数与各题型的数目之和若不相等,则提示重新输入,否则就根据输入参数进行组卷。
  3.2 考试中断与恢复的实现
  若在考试过程中,因突然断电或其他意外情况使得考试中断,这时系统应具有实时保存学生数据的功能及恢复到意外发生时数据原始状态的功能。
  设计思路是:使用Ajax的时间控件实现。考试时,利用时间控件倒计时,且一秒钟刷新一次,自动将学生填写的试卷信息保存到试卷表中。这样当学生再次登录时,只需输入用户名和试卷编号,系统就能够查询出断线时保存的数据信息,并根据这些信息还原试卷。
  3.3 多数据库无缝移植策略
  为了提高系统的通用性,本考试系统在数据访问层中使用抽象工厂设计模式,抽象工厂设计模式能够提供一个创建一系列相关或相互依赖对象的接口,接口不依赖于具体的实现,它彻底消除了接口的使用者和实现者之间的耦合关系,这样使该系统可以在任意数据库平台上使用(以SQL Server数据库和Access数据库为例)。
  具体设计如下:在原有的解决方案中添加如下步骤:
  (1)搭建数据访问层基本框架:
   ①新增抽象工厂项目(StudyWebDALFactory)。
   ②新增抽象产品项目(StudyWebIDAL)。
   ③实现项目之间的依赖。
  (2)实现数据访问接口。关键代码如下:
  学员信息SQL Server数据库访问(学员信息Access数据库访问与之类似):
   public class StudentService:IStudentService {
   …
  using(SqlConnection conn=new SqlConnection(connString)){
  …}}
  (3)实现数据访问对象创建功能
  实现了数据访问功能后,业务逻辑层要通过统一的方式调用数据访问层的方法,这是抽象工厂设计模式的核心意义所在。关键代码如下:
  实现抽象工厂类:
   public abstract class AbstractDALFactory{
   public static AbstractDALFactory ChooseFactory(){
   …
   Switch(dbType){
   case ”Sql”:
   factory=new SqlDALFactory();
  break;
   case “Access”:
  factory=new AccessDALFactory();
  break;}
   return factory;}
  public abstract IStudentService CreatStudentService();}}
  实现SQL Server实体工厂类(Access实体工厂类与之类似):.
   public class SqlDALFactory:AbstractDALFactory{
  public override IStudentService CreateStudentService(){
   return new studentService();}
  }
  (4)业务逻辑层调用数据访问层方法。关键代码如下:
   public static class LoginManager{
   private static AbstractDALFactory factory= AbstractDALFactory.ChooseFactory();
  private static IStudentService studentService=factory.CreateStudentService();
   …
   //业务逻辑层不能区别studentService是SqlServer版还是Access版
   Student student =studentService.GetStudentByLoginID(loginID);
   …
  }
  3.4 安全保障措施
  本考试系统在业务逻辑层采用SHA1(Secure Hash Algorithm,安全哈希算法)进行加密,这种算法是不可逆的。当用户输入密码登陆时,系统把加密好的密码存储到数据库中,进行密码比较的时候,把用户输入的密码再进行加密,然后与数据库中的密码进行比较。另外,在数据访问层调用数据的方式全部使用存储过程,防止了注入式攻击的危害。
  4总结
  本文探讨和实现了基于ASP.NET的可跨数据库平台的在线考试系统,系统具有简单、快捷、可操作性、通用性强等优点,有效克服了传统考试方式的不足。但同时,系统还有需要进一步完善的地方,如对于主观题部分,只能依靠教师人工阅卷;考试成绩分析的智能程度还很低等等。
  
  参考文献:
  [1]王娜.基于ASP.NET技术的在线考试系统的设计与实现[J].科技信息,2010,(17).
  [2]黄晗文,李健等.基于ASP的无纸化考试系统的设计与实现.湖南工业职业技术学院学报[J],2010,(03).
  [3]郭冠洲.基于ASP技术的在线考试系统的设计与实现.科技信息[J],2010,(13).
  [4]邹元杰.基于web的英语考试平台的构建.信息系统工程[J],2010,(30).
其他文献
教师职业倦怠是教师不能顺利应对工作压力时的一种极端反应,是教师在长时期压力体验下而产生的情感、态度和行为的衰竭状态。教师的职业倦怠大多会对其生活和工作产生负面影响。因此,采取积极有效的措施,预防教师职业倦怠是我们必须面对的一个重要命题。笔者认为,针对教师的职业倦怠,必须从多个方面加以预防。  一、营造良好的尊师重教的社会氛围  新时期,社会各方面对教师的要求在逐渐提高,教师面临的工作压力、精神压力
合作学习是英语教学中最为提倡的教学方法之一.与传统的以个人受教育为基础的教学方式相比,合作学习策略更具交际特点,研究运用合作学习是学好第二语言的重要保证.英语教学中
如今生活在都市里的人都渴望回归自然,希望更多地与大自然接触,但住宅建筑仅有绿色还不能说起具有生态性,住宅的生态型是以绿色为基础涵盖生态环保,可持续发展等多种理念。
高等院校体育教学是一项很重要的基础课程,它是实现增强学生体质的目的的基本途径之一。目前国内体育教学普遍采用的教学方法是传授体育基础知识、基本技术和基本技能。这些手
学生的素质是一个有机联系的整体,思想政治素质是学生的基本素质。推行素质教育是一个漫长而艰难的过程,思想政治素质教育方面则更是如此。思想政治理论课是对高中生进行思想政
本文从认知语用学的话语标记出发,语对英语口语教学进行探究,旨在为英语口语学习提供新视角,更好地提高学生口语交际能力。
当前,甘肃国正处于从传统农业向现代农业转变的关键时期,随着国家产业政策的支持、农民人均收入的增长以及农业生产方式的转变,甘肃国农机行业发展态势良好。?近年来,甘肃省农机化
一,无形资产定义、内容及其适用性分析(一)无形资产的定义及适用性新准则关于无形资产的定义是“企业拥有或者控制的没有实物形态的可辨认非货币性资产”,并首次将商誉从无形资产
甘肃定西曾经因为地理环境原因这里的人们都不富裕,但自从有了"金蛋",这里的农民不仅实现了脱贫而且增收. 如今马铃薯产业已成为名副其实的富民产业.疾风劲吹,黄叶遍地."吃洋芋
摘 要:本文结合幼儿教学的特点与教学工作对年轻教师的要求,简单论述了促进年轻教师教学专业成长的措施。  关键词:园本教研;年轻教师;专业成长  随着近几年社会和教育事业的发展,80后的青年教师日益成为幼儿园教师的主体力量,他们使幼儿教育事业充满了活力。这些青年教师普遍具有强烈的自尊心和自我表现欲望,较为任性,害怕吃苦,理論水平高却难以与实践相结合等问题,使他们面对教育中出现的困难束手无策,难以满足