在线考试系统的设计与实现Word文档下载推荐.docx
《在线考试系统的设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《在线考试系统的设计与实现Word文档下载推荐.docx(68页珍藏版)》请在冰豆网上搜索。
![在线考试系统的设计与实现Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/29/614bd9c9-790b-4d07-9318-974ad1c16a41/614bd9c9-790b-4d07-9318-974ad1c16a411.gif)
本论文研究了一种基于ASP.NET的在线考试系统。
该系统主要包括学生子系统模块、教师系统模块和管理员子系统模块。
学生模块实现的功能主要包括:
学生登录、学生考试、成绩查询、学生留言和个人信息管理功能。
教师模块实现的功能主要包括:
教师注册、添加科目、试卷管理、题库管理、试题管理、在线评卷、成绩管理、留言管理、公告管理和个人信息管理。
管理员模块实现的功能要包括:
公告管理、系别管理、专业管理、班级管理、学生管理、教师管理和密码修改功能。
本系统采用ASP.NET和SQLServer2005为开发工具,具有扩展性。
系统使用Microsoft公司以C#为核心语言的ASP.NET开发工具,再结合SQLServer2005建立数据连接关系。
利用其提供的各种组件如GridView,DataList,DetailsView等进行数据展示。
关键词:
在线考试系统,C#,ASP.NET,SQLServer2005
ABSTRACT
WiththedevelopmentofcomputertechnologyandtheInternetera,ithasenteredaninformationagewhichisalsoknownasthedigitalage.
Inthisdigitalnetworkenvironment,studentspreferpersonalizedcommunicationspacetomeet,tolearnaccordingtotheirownsituation,andalsoneedsascientificevaluation.Theteacherswanttoeffectivelyimprovethecurrenttestmodeltoincreasetheexaminationefficiency.Educationinstitutions
wanttogivestudentsamorecomprehensiveflexibleservicetomoreaccuratelytrackandevaluatestudents.
OnlineexaminationsystemisdevelopedtomeetthisdemandtargetingtoanInternet-basedtestmodel.
Withthisnewmodel,schoolscancreateanewtestenvironmentforthesuccessfultestmanagementandtoimprovetheeffectivenessandexaminationstandardlevel,sothatschooladministrators,teachersandstudentscanworkanytime,anywhereviatheInternettest.
Inthispaper,anonlineexaminationsystemisdevelopedbasedonASP.NET.Thesystemincludessubsystemmodulesofstudents,teachersandadministratorssub-modules.
Thestudentmodulefeaturesinclude:
studentlogin,studentexams,checkgrades,studentmessagesandpersonalinformationmanagementfunctions.
Theteachermodulefeaturesinclude:
teacherregistration,addingcourses,papermanagement,exammanagement,testmanagement,onlinemarking,performancemanagement,messagemanagement,announcedmanagementandpersonalinformationmanagement.
Themanagermodulefeaturesinclude:
bulletinmanagement,othermanagementsystems,professionalmanagement,classmanagement,studentmanagement,teachermanagementandpasswordchangefunctionality.
ThesystemusesASP.NETandSQLServer2005asthedevelopmenttoolswhicharemoreextensible.
ThesystemusestheMicrosoftCorporationASP.NETwhichiswiththecorelanguageofC#,andSQLServer2005toestablishthedatabaseanduserelatedtoolssuchasGridView,DataListandDetailsViewtodisplaydata.
Keywords:
OnlineExemSystem,C#,ASP.NET,SQLServer2005
第1章绪论
1.1研究背景
传统的考试从出题、组卷、印刷,到试卷分发、答题、收卷,再评卷、公布成绩,整个过程都完全靠人工完成,周期长,工作量大,容易出错,还要有适当的保密工作,使得整个考试的成本较大。
所以,实现无纸化、网络化、自动化的计算机考试系统,具有深远的现实意义和实用价值。
在线考试是现阶段研究开发的一个热点。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。
一个完备的在线考试系统可以使用户在网上学习之后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。
在线考试系统中题目的生成、试卷的提交、成绩的批阅等都在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
目前,网络应用软件运行的模式主要有二类:
C/S模式,B/S模式。
前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它的主要优点是便于扩充应用、升级维护简便。
另外,考试系统的软件也必将不断的更新;
同时软件产品本身就要经过一个不断自我完善的过程。
基于上述考虑,用B/S模式来设计考试系统比较合适,服务器端我们采用SQLServer2005数据库系统和微软最新的.net平台及ASP.NET技术来构成考试的应用服务系统;
客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。
1.2研究意义
网络考试系统具有降低考试成本,解决繁重的考务工作的优点。
它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;
教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。
实现无纸化考试,大大提高了工作效率。
同时,试卷的题目是随机组成的,不存在试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得到有效的保证。
目前,基于网络考试面向的主要是社会上的培训认证考试(如微软的各种认证考试)和远程教育的考试。
一个成功的基于WEB的考试,需要一个好的网络环境,一个好的考试平台和一个好的题库。
但一个真正的智能化的基于WEB的考试系统的实现是一个复杂的过程,考试平台和题库的研究要依靠软件开发专家、被考学科专家和精通考试理论和命题的专家三者的合作。
因而对于有极大市场的社会认证考试,必然会走上专业化的道路。
1.3研究现状
1.3.1国外研究现状
国际上,基于网络的考试蓬勃发展,对于题库建设的理论研究不断深入,实用考试系统也层出不穷。
美国心理协会在1986年出版了关于如何开发、使用计算机化考试以及解释考分的指南,成为了考试和软件开发者的事实标准。
投入实际使用的例子有,1993年美国教育考试中心(EraduadeRecordexamination简称ETS)考试;
从1994年开始,美国护理证书考试完全在计算机上进行,等等。
目前,国外许多大型测验出版机构、地区教育主管部门和专业资格认证机构都以某种测量理论为指导建立题库、设计考试系统,并进行各项相关研究。
1.3.2国内研究现状
在我国,计算机考试系统和题库的理论研究和实践应用起步比较晚。
但发展也比较迅速,研究和开发活动比较活跃。
清华大学、上海交通大学等高校都组织力量致力于实用考试系统的研究和开发工作。
其中,使用在线考试影响较大的考试有:
1994年开始,国家教务组织的全国计算机等级考试;
1996年,教育部考试中心举办的全国计算机应用技术证书(NationalAplideInformationTechnologyCertificate简称NIT),等等。
1.4研究的主要内容
在线考试系统主要研究设计并实现学生模块、教师模块和系统管理员模块的功能操作。
学生模块分为:
学生登录、学生考试、成绩查询、学生留言和个人信息管理功能;
教师模块分为:
教师注册、添加科目、试卷管理、题库管理、试题管理、在线评卷、成绩管理、留言管理、公告管理和个人信息管理;
系统管理员模块为分:
1.5本文的组织
本文主要介绍在线考试系统的分析、设计与实现。
第1章主要介绍了在线考试系统的研究背景、意义、现状和内容;
第2章主要介绍了在线考试系统的实现所用到的技术及其概念;
第3章主要介绍的是对该系统的需求分析;
第4章概要介绍了系统的整体结构设计;
第5章则进一步介绍了系统的详细设计,架构搭建及功能的实现;
第6章主要是系统部份功能的测试记录;
第7章为本文的总结,主要介绍了该系统所用技术及遇到的问题,和实现的功能及有待完善的功能。
最后介绍系统设计实现时用到参考文献和通过谢词向帮助过我的人表示谢意。
第2章相关技术和概念
2.1ASP.NET技术
ASP.NET是微软提出的用于创建动态Web内容的一种强大的服务器端技术,是面向下一代企业级的网络计算Web平台,它在发展了ASP的优点的同时,也修复了许多ASP运行时会发生的错误。
ASP.NET是建立在.NET框架的通用语言运行环境(CommonLanguageRuntime,CLR)上的编程框架,可用于在服务器上生成功能强大的Web应用程序。
它与ASP的最大区别在于编程思想上的转变。
ASP使用VBScript或JavaScript这样的脚本语言混合HTML来编程,而脚本语言有它的弱点,即它是属于弱类型、面向结构的编程语言,而不是面向对象的。
而ASP.NET摆脱了ASP使用脚本语言编程带来的这些问题,在理论上ASP.NET可以使用任何一种编程语言。
所以,ASP.NET与以前的动态网页开发技术相比,其优点体现在以下几个方面:
新的运行环境:
新的运行环境引入受控代码(managedcode),它贯穿整个视窗开发平台。
受控代码运行在CLR下面。
CLR管理代码的运行,使程序设计更为简便。
效率高:
ASP.NET应用程序是在服务器上运行的编译好的通用语言运行环境(CLR)代码。
而不是像ASP那样解释执行,而且ASP.NET可利用早期绑定、实时编译、本机优化和缓存服务来提高程序执行的性能,ASP.NET大大提高了程序执行的速度。
VisualS开发工具的支持:
ASP.NET应用程序可利用微软公司的VisualS进行产品开发,VisualS比以前的VisualStudio集成开发环境增加了大量工具箱和设计器,来支持ASP.NET应用程序的可视化开发。
使用VisualS并利用此平台的强大功能进行ASP.NET应用程序的开发,可使程序的开发效率大大提高,并且简化程序的部署和维护工作。
多语言支持:
ASP.NET支持多种语言,无论使用哪种语言编写程序,都将被编译为中间语言(IntermediateLanguage,IL),目前,ASP.NET支持的语言有VB.NET、C#.NET、J#.NET和C++.NET,设计者可以选择最适合自己的语言来编写程序。
高效的管理能力:
ASP.NET使用基于文本的、分级的配置系统,使服务器环境和应用程序的设置更加简单。
由于配置信息都保存在简单文本中,新的设置可以不需要启动本地的管理员工具就可以实现。
清晰的程序结构:
ASP.NET使用事件驱动和数据绑定的方式开发程序,将程序代码和用户界面彻底分离,具有清晰的结构。
另外,使用code-behind方式将程序代码和用户界面标记分离在不同的文件中,使程序的可读性更强。
安全可靠性:
ASP.NET基于Windows验证机制,它是为每一个应用程序进行配置的方法,所以可以确保用户的应用程序是安全的。
ASP.NET与其底层框架.NET紧密结合,为动态的Web开发技术提供了丰富而强大的类库资源。
.NET通过一组标准化的类库抽象了操作系统提供的进程、文件、网络等功能,并附加了丰富的文本处理、加密解密、调试跟踪等功能,堪称是有史以来最为庞大的类库。
由于.NET提供了跨平台的机制,因此随着.NET架构移植到其他操作系统中,.NET框架上开发的所有应用程序,包括应用ASP.NET技术的Web应用程序,也将一并移植过去而不需要做任何改动。
另外.NET平台提供了先进的装配件结构和类型系统,并且完全集成了WebService服务,由于从ASP.NET的页面生成的临时对象也属于.NET的类型系统,因此ASP.NET在性能、安全性、可扩展性方面可以借用.NET平台提供的良好框架。
ASP.NET与.NETFramework的结合关系如图2-1所示。
图2-1ASP.NET与.NETFramework的结合关系
ASP.NET能通过使用.NET类库建立网络服务,与以往的网络开发语言不同的是,ASP.NET是一种编译型编程框架,它的核心是NGWSRuntime。
NGWSRuntime提供一种运行时,叫做公共语言运行时,它管理代码的执行,并提供使编程更容易的服务。
ASP.NET作为编译执行的程序,决定了它的功能的强大和扩展的灵活。
而且,执行效率比ASP高出许多。
ASP.NET的文件类型比ASP丰富得多。
其中最常用的文件模式是.aspx,还有其他一些文件类型,它们都具有自己独特的功能。
参见表2-1所示。
表2-1ASP.NET的文件类型
文件扩展名
用途及说明
Global.asax
ASP.NET系统环境配置文件。
.aspx
内含ASP程序代码的文件,浏览器可执行此类文件,向服务器提出浏览请求。
.asmx
制作WebWervice的原始文件
.sdl
制作WebService的原始文件XML格式的文件
.vb或.cs
在非ASP.NET环境下,执行WebService的文件
.aspc
可重复使用多个.aspx的文件,此文件内可含有控件
在ASP.NET早期版本ASP中,有几个内部对象,如Response、Request等,这几个对象是ASP技术中最重要的部分。
在ASP.NET中,这些对象仍然存在,实用的方法也大致相同,不同的是,这些内部对象是由.NETFramework中封装好的类来实现的。
因此这些内部对象是在ASP.NET页面初始化请求时自动创建的,所以在程序中可以直接使用,而无需对类进行实例化。
ASP.NET中常用的内置对象及功能说明。
如表2-2所示。
表2-2ASP.NET常用对象功能
对象名
功能说明
Page
用于操作整个页面
Response
用于向浏览器输出信息
Request
用于获取来自浏览器的信息
Server
提供服务器端的一些属性和方法
Application
用于共享多个会话和请求之间的全局信息
Session
用于存储特定用户的会话信息
Cookie
用于设置或获取cookie信息
2.2C#语言
ASP.NET目前提供对四种语言的内置支持:
C#、J#、VisualBasic和Jscript,可以选择这几种中的一种或多种,就目前来说选择C#和VisualBasic的人比较多。
一般来说同样的功能用上面的语言都能实现,因此在功能实现上并不需要担心什么。
针对.NET的应用,微软所推出的编程语言是C#,因此在ASP.NET开发中选择C#语言是比较恰当的。
也正由于这个原因,本系统采用C#编程语言。
C#是微软公司针对.NET平台开发出来的一种全新的编程语言,是.NET开发平台的核心。
它基于强大的C++传统语言而创建,是一个现代化的、直观的、真正面向对象的编程语言。
C#与.NET紧密结合,.NET的各种优点通过C#体现出来,但是C#没有自己的运行库,C#作为.NET的服务提供者之一,它使用.NET的类库。
这些类库也为.NET平台的其他开发语言提供支持,这正是.NET开发平台的突出特点。
C#语言的最大特点是去掉了C/C++中的指针,在C#中,对类、方法的引用变得简单,只有一个“.”符号,可理解为通过“.”符号实现了类或方法的嵌套。
C#只允许单继承,不支持多继承。
因此,不能定义虚基类,这就使类的定义和继承变得简单,这与C++不同,而且C#中不允许定义全局变量和全局函数。
C#与Web技术紧密结合,C#通过SOAP(SimpleObjectAccessProtocol)实现了应用程序的解决方案与Web标准相统一。
C#具有完善的安全性和错误处理,在C#中消除了软件开发中易犯的错误,并提供完整的安全机制,另一方面C#能以更少的代码实现同样的功能。
.NET平台提供了垃圾自动回收,来完成资源的释放与对象撤销时内存的回收工作。
C#还支持版本控制技术,具有较好的灵活性及兼容性等优点。
2.3ADO.NET数据库访问技术
ADO.NET是重要的应用程序级别的接口,用于在Mciorostf.NET平台中提供数据访问服务。
ADO.NET是专为基于消息的Web应用程序而设计的,同时还能为其他应用程序结构提供较好的功能。
通过支持对数据的松偶合访问,ADO.NET减少了与数据库的活动连接数目(即减少了多个用户争用数据库服务器上的有限资源的可能性),从而实现了最大程度的数据共享。
ADO.NET扩展丰富,并且支持结合松散的数据访问需求、多层Web应用程序及Web服务。
通常,它利用许多扩展丰富的对象模型,ADO.NET提供了多种方法用于解决一个特定问题。
使用ADO.NET,可以开发健壮的、可扩大展的、可以使用XML的应用程序。
ADO.NET拥有一些和ADO相同的对象(比如Connection和Command对象),而且还引入了一些新的对象(比如Dataset、DataReader、DataAdapter、DataRelation),如图2-2所示。
图2-2ADO.NET对象
Connection对象
为了在数据源和应用程序之间传输数据,必须首先连接到数据源。
在ADO.NET中,可以利用Connection对象创建和管理连接。
应用程序使用Connection对象与数据库进行通信。
Command对象
可以使用Command对象直接访问己连接环境中的数据库的数据。
Command对象使用SQL语句或存储过程来检索数据。
命令可以跨连接传输并且结果集以流的形式返回,流可以由DataReader读取或者写入DataSet对象中。
DataReader对象
DataReader是一个快速的仅能向前的游标,它循环遍历一个数据行组成的流。
当Command对象返回一个行集时,就要使用DataReader来循环遍历该行集。
DataSet对象
DataSet对象表示从数据源获行的数据的一个本地副本,它是Mcriosotf.NETFramework的主要的创新之一。
数据集将数据存储在断开连接的缓存中。
其结构类似于关系数据库的结构;
它提供表、行和列的分层对象模型,还为数据集定义约束和关系。
DataSet的一个主要特点是,它对底层的数据源一无所知,而这些数据源可能用于对其进行填充。
这是一个分离的用于表示数据集合的独立实体,并且它可通过多层应用程序的不同层由一个组件传递到另一组件。
它也可作为XML数据流被序列化,因而非常适合于不同类型平台间的数据传输。
DataAdapter对象
DataAdapter对象用作在Dataset和数据源之间检索和保存数据的一个桥梁。
DataAdpater类表示一个数据库命令集和一个数据库连接,可以使用它们填充DataSet以及更新数据源。
AD.ONET数据访问接口,可以有效的处理分布式数据,同时可以跨不同的数据源处理数据,为我们教务管理系统庞大的数据信息处理提供了保证。
2.4SQLServer2005数据库
SQLServer是一个全面的、集成的、端到端的数据解决方案,它为组织中的用户提供了一个更安全可靠和更高效的平台用于企业数据和BI应用。
SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时降低了在从移动设备到企业数据系统的多平台上创建、部署、管理和使用企业数据和分析应用程序的复杂性。
通过全面的功能集、与现有系统的互操作性以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。
SQLServer2005数据引擎是本企业数据管理解决方案的核心。
此外SQLServer2005结合了分析、报表、集成和通知功能。
2.5Ajax技术
1.Ajax的定义
AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创建交互式网