实验课程考试系统的研究与设计方案.docx
《实验课程考试系统的研究与设计方案.docx》由会员分享,可在线阅读,更多相关《实验课程考试系统的研究与设计方案.docx(73页珍藏版)》请在冰豆网上搜索。
实验课程考试系统的研究与设计方案
实验课程考试系统的研究与设计
专业:
计算机技术
网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。
基于Internet的考试系统正成为人们的研究热点之一。
与传统考试模式相比,网上考试具有无可比拟的优越性。
传统的考试系统主要解决了客观题以及少量主观题的考试,而对于实验课程而言,由于其具有较强的操作性和交互性,针对实验课程内容的考试只能按照传统的人工模式进行。
长期以来,老师很难监督学生是否作弊,是否通过正常的步骤得出结果,而且每场考试中老师监考的学生有限。
本文所研究的实验课程模拟考试系统的主要目的是为了让学生能集中的针对某一门实验课程进行在线的考试,使得考试的各个环节都变得方便、快捷和安全。
本系统采用了基于Web的B/S模式的N层模型进行设计。
在技术上,采用了Flash技术开发实验考题,使用.NETFramework3.5作为开发平台和运行支撑平台,数据库服务器则使用了SQLServer2008,并使用了C#语言、ASP.NETWebForm、ASP.NETAJAX和ADO.NET等技术进行课题的设计。
关键字:
考试系统FlashASP.NETADO.NETAJAX
StudyandDesignofExaminationSystemforExperimentCourse
Major:
ComputerTechnology
GraduateStudent:
SunLianAdvisor:
TangNingjiu
Educationnetwork,arepresentativeofthedirectionofeducationreformhasbecomeafeatureofmoderneducation,andeducationaldevelopmenttoformanewimpetus.Comparedwiththetraditionalmodeofexamination,onlineexaminationhasincomparablesuperiority.
Thetraditionalexaminationsystemsolvestheproblemofallsubjectiveexamsandafewobjectiveexams,andfortheexperimentalcourse,sinceithasastrongoperationalandinteractive,experimentalcurriculumfortheexaminationonlyinaccordancewiththetraditionalmanualmode.Foralongtime,theteacherisdifficulttomonitorwhetherstudentscheat,whethertheresultsobtainedthroughthenormalsteps,andeachteacherproctorexamsforstudentsislimited.
Thisexperimentalprogramstudiedthesimulationtestsystem'smainpurposeistoenablestudentstoconcentrateinanexperimentalcurriculumforanonlineexam,makingtheexaminationofallaspectshavebecomeconvenient,fastandsafe.ThesystemisdesignedaWeb-basedB/SmodeofN-tiermodel.Technically,thetestfilesaredevelopedusingFlashtechnology,usethe.NETFramework3.5asadevelopmentplatformandoperatingplatform,anduseSQLServer2008asthedatabaseserver,andusetheC#language,ASP.NETWebForm,ASP.NETAJAXandADO.NETandsomeothertechnologytodesignsubjects.
Keywords:
ExaminationSystemFlashASP.NETADO.NETAJAX
第一章绪论
1.1选题背景
网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。
随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。
现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。
基于Internet的考试系统正成为人们的研究热点之一。
与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。
考试系统通常分为两种,一种是带有客户端软件的C/S(客户端/服务器)模式的考试系统,另一种是基于Web的B/S(浏览器/服务器)模式的考试系统。
前者在部署过程中需要对每一台考试机安装专门的考试客户端软件,通过这些客户端软件可以访问本地资源,如操作系统、本地文档等等。
但是由于其部署上缺乏灵活性,以及Web页面和浏览器的功能不断增强,目前被广泛采用的是基于Web的B/S模式的考试系统。
它具有部署方便、灵活的特性,只要接入考试网络的客户机并具有网页浏览器就能够使用,而且所有的考试数据都在服务器端,从而提高了系统的安全性、集中性和可控性。
1.2选题目的及意义
传统的考试系统主要解决了客观题以及少量主观题的考试,如判断题、选择题、填空题以及简单题。
由于计算机本身对主观题目的答案无法做到全面有效的判定,仅能对客观题进行准确的判断,传统的考试系统绝大多数为客观题的考试。
因此,由于实验课程的特殊性,针对实验课程内容的考试只能按照传统的人工模式进行,学生在实际的实验设备上操作,完成实验题目,得出结论,然后由老师来验收实验结果。
在这个过程中,老师很难监督学生是否作弊,是否通过正常的步骤得出结果,而且每场考试中老师监考的学生有限。
因此研究如何实现实验课程的考试是非常必要的。
它将解决老师监考、批改试卷、统计分数等诸多工作中所出现的不便,并且也能使学生在模拟环境下的操作几近真实环境下的操作,做到即不影响学生完成实验操作,更能给老师考核所授实验课程效果带来极大的方便,还能严肃考场纪律,杜绝作弊现象的发生。
1.3本文的研究内容及组织结构
1.3.1本文研究内容
本文主要研究了如何实现模拟真实的实验考试场景,采用信息化网络化的手段实现多人同时考试,从而使得实验考试中试题管理、学生管理、监考管理、试卷批改以及统计等诸多环节更加可控和高效。
本课题在研究过程中,主要以《计算机网络基础》实验课考试为研究对象入手,在考试系统设计中兼顾了通用性和易用性。
本课题项目采用微软.NET技术平台,使用MicrosoftSQLServer2008作为数据库服务端,开发工具使用了微软的VisualStudio.NET2008,采用ASP.NET以及ASP.NETAJAX技术,使用C#编写考试系统业务逻辑代码,使用Flash开发考题文件,从而设计该实验课程考试系统。
本人在本课题研究中,主要参与了需求调研与分析和系统设计,并完成了本课题项目的部分代码。
1.3.2本文组织结构
第一章概述,主要介绍本文的研究背景和研究目的。
第二章开发平台及关键技术介绍,主要介绍本课题研究中要使用的技术,包括.NET技术平台的简介,MicrosoftSQLServer2008数据库系统,ASP.NET技术,ASP.NETAJAX技术,C#语言以及开发工具VisualStudio.NET2008。
第三章需求分析,主要介绍本课题的功能需求和数据需求。
第四章系统设计,主要介绍本课题的系统设计,包括考试系统的功能模块设计、数据库设计和考题文件设计。
第五章系统实现,详细介绍本课题的系统实现过程、系统功能模块以及考题的设计和实现。
第六章系统测试,本章主要介绍利用常见的测试手段对本课题项目的测试工作。
第七章安全性问题及对策,主要介绍本课题在安全性方面所做的工作。
第八章总结与展望,对本课题的成果进行总结,提出进一步的展望。
第二章开发平台及关键技术介绍
本章主要介绍课题项目的开发平台和部分关键的技术,其中包括软件开发平台.NETFramework、数据库开发平台SQLServer、集成开发工具VisualStudio.NET、开发语言C#,以及ASP.NET、ASP.NETAJAX和ADO.NET等关键的实现技术。
2.1.NETFramework
.NET框架(.NETFramework)是由微软公司研发,是一个致力于敏捷软件开发(Agilesoftwaredevelopment)、快速应用开发(Rapidapplicationdevelopment)、平台无关性和网络透明化的软件开发平台。
.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。
.NET包含许多有助于互联网和内部网应用迅捷开发的技术。
[4]
.NETFramework是微软公司继WindowsDNA之后的全新开发的平台。
.NETFramework是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(CommonLanguageRuntime)为基础,支持多种语言(C#、VB.NET、C++、Python等)的开发。
[2]
.NET也为应用程序接口提供了新功能和开发工具。
这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(Web服务)的开发。
.NET提供了一个新的反射性的且面向对象程序设计编程接口。
.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。
[3]
2.1.1体系结构
.NETFramework的体系结构及其在计算机系统中所处的位置如图2-1所示。
.NETFramework具有两个主要组件:
公共语言运行库(CLR)和.NETFramework类库(FCL)。
公共语言运行库是.NETFramework的基础,可以将它看作一个在执行时管理代码的代理,提供了内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的基本原则。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NETFramework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,开发者可以使用它来开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提
供的最新创新的应用程序(如WebForm和XMLWebServices)。
图2-1.NETFramework的位置及其组成
1.公共语言运行库
公共语言运行库(CLR)是.NET程序的执行引擎,它为简化应用程序开发和代码重用提供了高层次的支持,提供了大量的运行时服务,包括编译、无用内存单元回收(GarbageCollection,GC)及内存管理等;另外,CLR使用贯穿整个.NETFramework的通用类型系统,所有的.NET编程语言都使用相同的类型系统和基类,从而使语言与编程模型能完美地结合在一起。
CLR的体系结构如图2-2所示。
CLR使用一种被称为微软中间语言(MicrosoftIntermediateLanguage,MSIL)的类似汇编的语言来提供单一的运行环境。
所有的.NET应用程序都被编译为MSIL,程序在运行时再由CLR调用实时编译器(Just-In-Time,JIT)将MSIL编译成当前操作系统以及机器硬件能识别的机器代码来执行。
从某种意义上来说,CLR看起来像Java虚拟机,而MSIL类似于Java字节代码。
[2]
在CLR控制下运行的代码称为托管代码(managedcode),即由CLR管理并执行的代码。
那么,不以CLR为运行环境的代码称为非托管代码(unmanagedcode)。
托管代码能够为CLR提供运行该代码所需的信息,而且可被无用单元回收器自动清理。
此外,CLR还提供了执行非托管代码的方法,例如COM组件,可借助COMInterOp服务(COMInterOp服务能够为COM组件生成.NET封装),就可以在CLR下运行了。
综合起来,CLR主要提供了诸如代码管理(加载和执行)、独立应用程序内存空间、检查类型安全、将MSIL转换成可执行的本机码、使用元数据来增强类型信息、为托管对象管理内存、增强安全性、异常处理、平台互操作机制以及对开发者提供的调试等服务。
图2-2CLR体系结构
2..NETFramework类库
类库是.NETFramework的另一个重要组成部分,.NETFramework类库是生成.NET应用程序、组件和控件的基础。
.NETFramework类库包括类、接口和值类型,它们可以加速和优化开发过程并提供对系统功能的访问。
[23]
图2-3.NETFramework类库
如图2-3所示,.NETFramework中的类库可以分为两个部分,分别是核心类和表示类,其中核心类又包括基础类、数据和XML类这两个层次。
核心类为开发者提供了构建应用程序所需的基本功能,包括XML支持、建立网络和数据访问。
这些统一的核心类使开发者在构建任何类型的.NET应用程序时都能使用相同的类,这种一致性可以提高开发效率,同时也提高了代码的可复用性。
表示类包括用于开发基于Windows的应用程序的WindowsForm、用于开发Web应用程序的ASP.NETWebForm和XMLWebServices。
[17]
2.1.2.NETFramework版本发展
.NETFramework自2002年2月13日发布1.0版本以来已经经历了5个成熟版本,分别是1.0、1.1、2.0、3.0、3.5、4.0。
[3]在其每一个版本中都作了优化和升级,目前最为成熟的版本为3.5。
本课题项目就是采用的.NETFramework3.5作为开发和运行平台。
这是由于该版本中所包含的大部分核心技术已经申请为国际标准,具有极强的扩展性和平台互操作性。
在该版本的基础上还出现了一些开源的.NET框架,如MONO等。
本课题所研究的课题是提供一套真实可行的考试系统,力求稳定和精要,还要具有较强的扩展性,并且需要使用ASP.NETAJAX技术,该技术仅集成在.NETFramework3.5中,因此.NETFramework3.5则成了最合适的选择。
2.2SQLServer
本课题中采用的数据库服务是由SQLServer2008ExpressEdition(速成版)提供的,它是微软专门针对学生、初学者等入门级的SQLServer2008的版本,比较适合用于本课题的研究和设计。
SQLServer是一个关系数据库管理系统。
它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上分开,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
而Sybase则较专注于SQLServer在UNIX操作系统上的应用。
[7]
2.2.1SQLServerExpressEdition概述
SQLServerExpressEdition是一个免费、易用且便于管理的数据库。
SQLServerExpress与MicrosoftVisualStudio2008集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据驱动应用程序。
SQLServerExpress是免费的,可以再分发(受制于协议),还可以起到客户端数据库以及基本服务器数据库的作用。
SQLServerExpressEdition使用与其他SQLServer2008版本同样可靠的、高性能的数据库引擎,也使用相同的数据访问API(如ADO.NET、T-SQL和SQLNativeClient)。
实际上,它与其他SQLServer2008版本的不同仅仅体现在:
●缺乏企业版功能支持
●仅限一个CPU
●缓冲池内存限制为1GB
●数据库最大为4GB
SQLServerExpressEdition的开发一则是为了用作服务器产品,特别是作为Web服务器或数据库服务器,再则是用作本地客户端数据存储区,其中的应用程序数据访问不依赖于网络。
易用性和简单性是主要设计目标。
[7]
2.2.2SQLServer2008ExpressEdition的主要功能[8]
SQLServer2008ExpressEdition的主要功能有:
●引擎规范
该版本的引擎只支持1个CPU、1GBRAM和4GB的数据库大小,以此来轻松区别其他的SQLServer2008版本。
另外,没有工作负荷中止值,并且引擎的执行方式与他版本是相同的。
对可以附着到SQLServerExpressEdition的用户数没有硬编码限制,但其CPU和内存限制实际上可以从SQLServerExpressEdition数据库获取可接受响应次数的用户数。
●工具支持
微软提供了一个名为SQLServerManagementStudioExpressEdition(SSMSEE)的新GUI工具可以使管理数据库、执行查询分析功能变得十分轻松,并且可以免费重新发布。
●网络支持
尽管用户可以显式打开其他支持的协议(如TCP/IP和NamedPipes),但默认情况下,SQLServerExpressEdition只能访问本地计算机上的共享内存连接类型。
它不支持VIA协议和HTTP协议。
●数据访问支持
SQLServerExpressEdition支持使用ADO.NET进行托管访问。
微软建议使用SqlClient数据提供程序来开发应用程序。
ADO.NET数据提供程序支持varchar(MAX)和XML之类的新SQLServer数据类型以及用户定义类型。
●安全性
对于SQLServerExpressEdition,它的一个目标是为不同组件提供安全的默认值。
例如,关闭网络协议(如TCP/IP和NamedPipes)。
不启动SQLBrowser服务,除非用户在安装命令行中显式请求启动。
如果使用Windows身份验证,则默认情况下禁用SA帐户或系统管理员帐户。
计算机上的普通用户几乎没有对SQLServerExpress实例的权限。
服务器上的本地管理员必须向普通用户显式授予相关权限,这些用户才能使用其功能。
●复制支持
用户通过复制可以使用“发布服务器-订阅服务器”模式使用户定义的间隔保持多个站点的数据副本同步。
●用户实例
用户实例是SQLServerExpressEdition中的新功能,可以像处理文件一样处理数据库。
即本地数据库可以随应用程序一起移动、复制或通过网络传送,并且在新的位置,不需要进行额外配置就可以使其正常运行。
2.3VisualStudio.NET
VisualStudio.NET是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。
VisualBasic、VisualC++、VisualC#和VisualJ#等开发语言全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。
VisualStudio.NET提供了如下整体功能[25]:
●提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。
●提供一个将软件部署和版本控制冲突最小化的代码执行环境。
●提供一个可提高代码执行安全性的代码执行环境。
●提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
●使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。
●按照工业标准生成所有通信,以确保基于MicrosoftVisualStudio.NET的代码可与任何其他代码集成。
VisualStudio.NET通过提供熟知的、可共享的开发环境,简化了开发强大的、可靠地企业级Web解决方案的工作,并提高了开发人员的开发效率。
预建的组件、编程向导以及重用由任何语言开发的组件的能力,都可以显著地缩减开发时间。
基于智能感知(MicrosoftIntelliSense)的代码自动生成技术可以更快地产生正确代码。
强大的、端到端的对跨语言调试的支持增强了应用程序的可操作性。
本课题项目中视图和业务逻辑部分采用的是MicrosoftVisualStudio2008Professional进行开发的,该版本可以支持.NETFramework2.0/3.0/3.5,具有较强的扩展性和灵活性,并且该版本的其他辅助设计功能也非常完善和稳定。
2.4C#语言
C#(CSharp)是微软公司为.NETFramework量身订做的程序设计语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个面向组件(Component-oriented)的程序语言,和C++与Java一样为面向对象(object-oriented)程序语言。
[5]
C#以其简单性、现代性、面向对象、版本可控、灵活性和安全性迅速地被广泛使用,称为了.NET平台上的主流程序设计语言。
[6]
就本课题项目的开发而言,选择任何一种支持.NETFramework的程序设计语言都可以完成,但是由于C#是.NET平台上应用程序开发的主流语言,有利于项目的后期维护和改进。
2.5ASP.NET
ASP.NET是使开发人员能够使用.NETFramework开发基于Web的应用程