论基于B/S的网上考试系统的设计和实现
随着网络的普及和对教育的重视,各院校各学科的网上考试都具有了必要的使用环境。但是,目前国内的一些网络教学系统的主要功能是教学,不能单独作为考试平台,通用性差,而且系统中对主观题的评阅多是采用人工评阅方式,没有实现真正意义上的自动评分。另一方面,我们所在院校的计算机基础课已开设了多年,但尚在沿用传统的考试形式或使用单机版的考试系统。基于Web的网上考试系统的设计和实现就是基于上述目的开发设计的。
本系统采用B/S架构作为系统的总体结构,以Web数据库技术为依托,利用微软的ASP.NET技术,结合ADO,实现了对Web数据库的访问和查询。该设计实现了按题型随机抽题组卷、在线考试、题库管理、系统管理的功能,能够对客观题在线评分。学生用学号登录成功后,阅读考试须知,之后选择考试科目进入考试页面,完成相应科目考试,自动给出考试成绩。系统管理,实现了对题库、考生信息、考试成绩、考试科目的管理。题库管理,实现了对试题的添加、编辑、删除功能;考生信息管理可以添加、修改、删除、查询考生信息,成绩管理可以删除成绩信息,科目管理主要是修改考试科目信息。
基于Web的网上考试系统本身是一个很大的系统,尤其试题库部分需要许多人的参和以及大量的投入才能建成。该系统虽然仅仅是完成《计算机文化基础》和《操作系统》课程的考试,但却具有良好的实用性和通用性,提供友好的人机界面,具有较好的可扩充性和开放性。
1 绪论
1.1 网上考试系统的目前状况分析
在信息技术迅速发展的今天,网络对于大多数人已不再生疏,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的功能。近年来随着软件工程技术、信息通信技术的快速发展以及计算机网络技术的日趋成熟,网络教育在人们的教育活动中逐步得到普及。网上考试是网络教育不可缺少的组成部分,是网络教育的一个重要环节。
网上考试在国外一些国家已经得到了蓬勃发展,人们选学课程和考试都是通过网上进行的。例如国外一些闻名的考试,如Microsoft公司的MCSE(Microsoft系统工程师认证考试)、GMAT(工商管理硕士入学考试)、托福考试、GRE(美国探究生入学考试)等,都是采用网上考试的形式进行的。
在国内,目前绝大多数考试还停留在传统考试方式上,对互联网的真正应用仅限于一些考试的网上报名工作和网上成绩查询,还没有真正形成网上考试规模。网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。在传统的考试方式下,组织一次考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的提高,教师的工作量将会越来越大,并且其工作非常轻易出错,在一定程度上说,传统的考试方式已经存在着改革的必要了。Internet技术的发展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再发展到基于Web的网上考试成为现实。
现阶段,网上考试系统的主流开发技术已经相当成熟,且很好地适应了动态站点设计和基于Web的数据库访问的要求,是当前网上考试软件实现的主流技术之一。在对大量有关网上考试系统资料的探究和学习后,根据工作的需要,针对本校实际情况非凡是教学的需求,利用学校校园网已有的基础条件,探究开发适合本校使用的基于Web的网上考试系统。
1.2 选题的背景及探究意义
随着计算机科学、网络技术的迅猛发展,在教育领域里,实现网上考试可以充分利用学校现有的计算机软、硬件资源和网络资源实现考试;对于客观题由计算机来完成阅卷,可以将减少人工阅卷的工作量。
目前常用的网上考试系统主要有两种基本模式摘要:传统的C/S(客户机/服务器)模式和新型的B/S(浏览器/服务器)模式,所谓C/S模式,即数据库(比如,试题库)内容放在远程的服务器上,在客户机上安装相应软件;C/S结构在技术上虽然很成熟,但该结构的程序往往只局限在小型的局域网内部,不利于扩展。并且,该结构的每台客户机都需要安装相应的客户端程序。当拥有用户量比较多时,假如采用该结构,系统的安装和维护工作比较繁重。同时,由于应用程序直接安装在客户机,客户机直接和数据库服务器交换数据,系统的平安性也受到一定影响。和传统的基于C/S模式的网上考试系统相比,B/S体系将应用逻辑和用户界面和数据访问相分离,使系统的维护变得简单(只需要改变网页,即可实现所有用户的同步更新),同时简化了客户端的功能,用户只需浏览器即可使用此考试系统,更适宜于互联网上的考试。
在信息网络化的现实面前,我们提出一种基于Web的网上考试系统,并用SQL Sever 2000数据库和ASP.NET技术结合进行了该系统的开发。
1.3 系统基本简介
我们课题组所做的工作不仅仅是参和开发一个完整的在线考试系统,也是一个引导性的基础探究,是对.net平台下基于B/S结构的软件体系结构、关键技术、实现技术、框架解决方案进行的探索。
本系统采用ASP.NET、HTML、Javascript、VBscript、图形编辑和数据库等工具,通过基于WEB服务器访问WEB页面,可以不受地点,时间限制,通过宽带上网或其它上网方式,借助Internet这一强大、方便的工具,考生可以在互联网上通过浏览器来选择科目、参加考试,管理员可以在互联网上通过浏览器来添加、修改学生信息,添加、修改、删除试题,修改考试科目信息,管理学生成绩;同时还实现有学生信息查询功能摘要:按班级、学号、姓名等关键字查询,实现对整个系统的管理功能。
系统的主界面主要有考生、管理员入口,根据用户类型,分别进入考试和管理两个不同的页面。其最大的特征是开放性、方便性和灵活性。
2 系统的关键技术及介绍
在《基于Web的网上考试系统》的设计过程中,主要考虑了以下几方面的新问题摘要:
(1) ASP.NET技术;
(2) 建立数据库,使用SQL Sever 2000来建立;
(3) 选择系统的开发模式,B/S模式;
(4) ADO.NET对象模型;
(5) 系统数据库设计。
2.1 ASP.NET技术概况
ASP.NET是微软公司推出的一种Internet编程技术,它采用效率较高的、面向对象的方法来创建动态Web应用程序。在原来的ASP技术中,服务器端代码和客户端HTML混合在一起,经常导致页面的代码冗长而复杂,程序的逻辑难以理解。ASP.NET是一种独立于浏览器的编程模型,可以在最新版本的IE、NetscapeNavigator以及诸如Opera等被广泛使用的浏览器上运行。
ASP.NET是一种建立在通用语言上的程序构架。一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。微软公司发布了包括Visual Basic.NET、C#.NET、Visual C++.NET等和.NET兼容的语言来创作应用程序。
2.1.1 ASP.NET的优势
ASP.NET是在服务器上运行的编译好的公共语言运行库代码,它可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。
1)世界级的工具支持
ASP.NET框架补充了Visual Studio集成开发环境中的大量工具箱和设计器。WYSIWYG编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
2)可管理性
ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了ASP.NET框架应用程序的部署。只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。
3)可缩放性和可用性
ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。
4)自定义性和扩展性
ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换吉林大学硕士学位论文ASP.NET运行库的任何子组件。
5)威力和灵活性
由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。Microsoft.NET框架类库、消息处理和数据访问解决方案都可从Web无缝访问。ASP.NET也和语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。
6)简易性
ASP.NET使执行常见任务变得轻易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET页框架使您可以生成将应用程序逻辑和表示代码清楚分开的用户界面,和在类似Visual Basic的简单窗体处理模型中处理事件并不相同。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
7)平安性
借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是平安的。
2.1.2 常用到的ASP.NET内置对象
Application对象摘要:对整个ASP.NET执行环境而言,一个虚拟目录下的所有ASP.NET程序构成了一个Web应用程序。在多任务执行的情况下,来自四面八方的众多用户可能执行同一个Web应用程序,这便依靠Application对象。常用到的场合摘要:聊天室、网页计数器等。
Request对象摘要:获取从客户浏览器传给服务器端的数据,如接收来自表单的数据。
Response对象摘要:Request对象和Response对象就像一般程序语言里的Input及Output命令,若要让服务器端的ASP.NET程序能够接收来自客户端的信息,须用Request对象;若想将服务器端的信息传递给客户端,须用Response对象。
Session对象摘要:Session对象和Application对象极为类似,但Session对象的信息只适用于同一位用户,换句话说,一个Session对象只属于一位用户。常用到的场合摘要:虚拟购物车、用户登陆网站时用户名的临时存储等。