论文排版原文.docx
- 文档编号:30657540
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:32
- 大小:188.19KB
论文排版原文.docx
《论文排版原文.docx》由会员分享,可在线阅读,更多相关《论文排版原文.docx(32页珍藏版)》请在冰豆网上搜索。
论文排版原文
摘要
传统的考试方法存在组织考试命题、试卷的印刷、考试监考、人工阅卷等多个环节,所以考试的周期长,阅卷效率低,且学生易考试作弊,人工阅卷等也存在主观因素,这也会影响到考试的公平性、公正性。
随着网络技术的发展应用及Internet的迅速普及,极大地推动了网上考试系统的发展。
目前大多数网上考试系统或多或少存在代码重用性低、可扩展性差、程序安全性差、浏览速度慢、开发效率低等一些缺陷和不足,因而在正试的考试中难以大规模的使用,针对这些情况,本文结合我院实际情况,介绍了一种基于ASP.NET的网上考试系统的设计与实现。
论文在对目前考试系统开发技术分析的基础上,从分析.NET框架着手,具体解析了ASP.NET的编程技术。
用MicrosoftVisualStudio.NET作为ASP.NET的开发平台,用ADO.NET实现了数据库的连接与访问,用MicrosoftSQLServer2000作为后台数据库管理,开发中使用了面向对象的开发方法和三层体系结构,对题库的组卷算法和设计理论进行了探讨,并详细说明了系统设计与实现的过程,并对关键技术给出了源代码。
本文设计的网上考试系统具有安全性高、通用性强、易于程序的扩展及维护等优点,能满足目前我院及相关院校网上考试的需要,通过考试系统的设计将使我院考试形式多样化,能节省考试费用提高考试效率和公平性,因此具有重要的现实意义。
关键词:
考试系统,C#,ASP.NET,SQL,组卷
ABSTRACT
Thetraditionalmethodofexamisinefficientforlotsoffactors,includingformulatingquestions,printingpapers,examinationofwindingtosupervise,themanualgradeexaminationpapersetc.Furthermore,subjectivefactorsjustlikestudents’fraudulence,manualgradingwillaffectthealsojusticeoftheexam.AlongwiththedevelopmentofwebtechnologiesandrapidpopularizationofInternet,theonlineexamsystemhaswellbeenimproved.
However,therearesomebugsuchaslowreuse,lessexpansion,lesssafety,slowbrowsingspeedandefficiencyinmostofonlineexamsystem,whichhavecausedtheproblemofapplicationintheformalexams.Inaccordancewiththissituation,weproposeakindofdesignandrealizationoftheonlineexamsystembasedonASP.Net.
Basedontechnologyanalysesofpresentonlineexamsystemandfromtheframeof.NET,weparsethetechnologyofASP.NET.WeuseMicrosoftVisualStudio.NETasdeveloproofandrealizetheconnectionandaccessofthedatabasebyADO.NET.WithMicrosoftSQLServer2000asmanagementofdatabase,thesystemmakesuseofASP.NETandadoptsobject-orientedmethodsofbuildingandthepopularthreelayersofsystemicstructure.Italsoprobesintothetheoryofdesigningsubjectsandshowsthedetaileddescriptiononhowtodesignandrealizethesystem.
Thesystemhasall-purposeuse,goodexpansion,safetyandmaintainabilityandothermerits.Anditcanmeettheneedsofcurrentonlineexamsinourcollegeandsomeotherschools.
Keywords:
Examinesystem,C#,ASP.NET,SQL,setwinding.
绪论
课题背景
随着信息时代的到来,网络设备、上网费用的的降低,更促使了知识的更新和知识的共享,随着多媒体技术、网络技术以及通信技术的快速发展和Internet技术的迅速普及对教育的日趋重视,象多媒体远程教学、网络大学等一些新兴的教学手段也随之产生,大中专院校也建设了自己的校园网,随网上教学的多媒体化及校园网的建设,使各课程的的网上考试就具有了良好的考试环境。
随着网络逐渐渗入社会生活各个层面,学生在家中、在宿舍或在阅览室上网都很方便,学生的学习、模拟考试、模拟练习及考试不应再局限于传统的手工考试方式,利用计算机技术取代传统的手工考试方式,是近年来计算机技术的一个非常活跃的研究领域。
远程教育及考试就是很成功的一个例子。
手工方式的“测验”存在诸多弊病:
工作量大、周期长、反馈能力弱、还受考试场所、时间等的限制。
而网络考试,试卷可以从海量题库中根据一定算法随机生成,所以学生可分好多场次、在不同时间内考试,可避免手工考试统一时间考试的缺点。
学生答完题试卷上交后可使用计算机阅卷,大大提高阅卷效率,也避免了人工阅卷工作量大且易出错等;还可以对学生的考试成绩进行统计、分析等从而得到各学生的考试情况及各知识点的掌握情况,及时的把学生掌握知识的情况反馈给任课老师,从而调整教学计划。
网上考试可以综合考查学生的理论知识的掌握及实践动手能力。
而传统的手工考试无论是客观题还是主观题,都是由考生在答题卡上或在卷面上作答,这种考试方式只能考查学生的逻辑推理能力和运算能力,无法有效地检验学生的实践动手能力,有的学生甚至根本就没用过计算机,只是靠死记硬背课本上的知识,也可以获得高分.这显然不利于学生创新精神的培养。
例如全国计算机等级考试的上机考试就很好的考核了学生的动手能力,这是传统的手工考试无法完成的。
可见,利用计算机实现网上考试是目前研究和应用十分广泛的领域。
国内外网上考试系统现状及开发模式
网上考试系统目前有两大类:
一类是基于局域网的;另一类是基于广域网的。
基于局域网的考试系统一般用在比较正式的考试中,如计算机软件水平考试、会计电算化考试等;基于广域网的考试系统,通常用于考生模拟练习、认证考试等。
国外有许多专门的考试机构采用计算机辅助测试方式对考生进行考核,国内也有各种各样的考试系统,很多大学也已设计出相应的考试软件。
下面列举了几个典型的网上考试系统例子,用以说明国内外对网上考试系统的研究状况。
国内计算机考试的现状
使用计算机进行考试的尝试是从计算机类考试开始的,从九十年代开始,使用计算机进行考试的全国性计算机考试有:
1.1993年开始的计算机技术与软件专业技术资格(水平)考试是由由国家人事部和信息产业部领导下的国家级考试;
2.1994年起开始的全国计算机等级考试,是经原国家教育委员会(现教育部)批准,由教育部考试中心主办的非计算机专业的全国性计算机考试。
上述考试在社会上有着很大的影响力,累计有几百万人参加考试,软件水平考试为推动我国信息产业特别是软件产业的发展和提高各类IT人才的素质、等级考试为以考促学,向社会推广和普及计算机知识做出了积极的贡献。
3.各种职称考试,2007年银行从业人员资格考试首次实行上机考主试;人事部门评定职称用的计算机应用水平考试;财务部门推出的会计电算化职称考试;2007年开始全国卫生专业技术资格考试部分是在计算机上进行的。
使用计算机在广域网或区域网上的考试是我国教育的一次飞跃,用计算机考试取代了传统考试中的纸和笔,引发了形式、考试内容和考试方法的深刻变革,使考试更加公平化、合理化同时也提高了考试效率。
现有考试系统的开发模式
1.基于Client/Server模式的FTP文件传输协议的考试系统。
可通过FTP软件进行,这种考试安全性差,并且文件上传或下载时因为比较集中,会造成网络堵塞,同时学生上传时可复制一份写上别的同学的名字,易作弊。
优点是可以实现考试管理自动化,且这种考试用现成的软件就行,几乎没有软件成本。
2.基于网络硬盘的Client/Server模式的考试系统。
这种考试系统的优点是可以进行负载均衡,客户端响应速度快,将任务合理分配到客户端和服务器端来实现,降低了系统的通信开销。
很多工作可以在客户端处理完成后再提交给服务器。
缺点主要是这种考试需安装服务器,并每台客户机都需要安装软件,若软件段本升级后,每台客户机又需重新安装,所以只适用于局域网。
而随着Internet的普及和发展,网络办公和分布式办公越来越普及,这就需要我们的系统应具有好的可扩展性和可移植性。
这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据,软件开发效率低,开发成本高且维护困难。
另外,每一台客户端都需要安装专用的客户端软件。
首先软件安装的工作量非常大,其次任何一台电脑出问题,如病毒、硬件损坏,都需要单独进行软件安装或维护。
还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高,因次这种考试只能适用于小范围的局域网考试,不能进行大规模的考试。
3.基于Internet的Brower/Server模式的考试系统。
B/S结构具有很多的优点。
(1)安装部署简单,只需要在服务器端安装,浏览器端只需有大家平时上网的IE就行,不需要安装任何软件;
(2)维护和升级方式简单,目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性,不管浏览器端有多少用户或这个单位有多少个分支机构,管理人员对于软件的升级和维护只需要在软件所在的服务器上就行了,所有的客户端只是IE浏览器,根本不需要做任何的维护,如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
(3)数据安全性、数据一致性好,客户端不保存任何业务数据,所有数据都保存在中心服务器中,不需要数据同步,不需要报表上传下载,随时随地都可以看到实时数据,可以全国一个服务器也可多个服务器;硬件升级简单,.如果服务器负载增加,可以通过增加新的服务器,并且将B/S软件的各个组件(如邮件、文件的上传及下载等)分布到多个服务器上执行。
原有服务器继续使用,不浪费;客户端配置要求低。
客户端只要能运行IE就行。
(4)跨平台性、跨地域性好,只要是B/S结构的软件不管是装在linux服务器上还是Windows服务器上,客户端使用不受影响,只需装有IE软件就行,并且在不同地域不同时间都能进行网上考试。
所以基于B/S架构的网上考试系统是目前最受欢迎,使用面最广的考试系统,具有很好的发展前途和研究空间。
本论文研究的主要内容
本论文使用ASP.NET技术、SQLServer数据库技术、面向对象技术、实现一个网上考试系统,整个系统将被设计成具有三层体系结构的、易修改和扩展的通用性很强的考试系统,系统还提供了数据统计分析模块可以对考试中多种信息进行统计和分析。
由于时间关系,其它科目的考试若不涉及新的题型,则只对题库进行修改就可进行考试。
论文分为六个部分进行了论述,第一章介绍了网上考试系统发展的现状;第二章介绍了网上考试系统开发过程中涉及的一些主要开发技术和手段;第三章讨论系统的组卷策略;第四章介绍了考试系统的设计及安全性控制;第五章介绍了系统的具体实现并给出了部分源代码;第六章对系统进行了测试;第七章对论文进行了总结和对未来的展望。
系统涉及的相关技术
本论文内容涉及静态网页、JavaScript、图像处理、.NET框加、ASP.NET技术、ADO.NET技术、面向对象技术、SQLServer数据库技术及ASP.NET后台编程语言C#等。
NETFramework概述
.NETFramework是微软2000年面向全球发布用来快速开发、部署网站服务及应用程序的开发平台。
.NETFramework给我们提供了一个一致的面向对象的编程环境,无论是在本地的代码编写和执行还是在Internet上执行,它都使我们在编写Windows应用程序和Web应用程序时提供一致的编程环境。
按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成[2]。
NET的强大功能体现在以下几个方面。
.NETFramework具有两个主要组件(见.NET框加、语言、操作系统的关系图):
Framework类库和公共语言运行库。
.NETFramework的基础就是公共语言运行库是。
我们可以把运行库看作是一个在程序执行时管理代码的一个代理,它提供线程管理、内存管理和远程处理等核心的服务,并且还具有严格的类型安全以及可提高可靠性和安全性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的基本原则。
不以运行库为目标的代码称为非托管代码而以运行库为目标的代码称为托管代码。
.NETFramework的另外一个重要的组件是类库,它是一个综合性、面向对象、可重用的类型集合,可以使用它快速的开发很多种应用程序,这些应用程序不仅包括传统的应用程序和命令行应用程序,还包括基于ASP.NET微软所提供的最新的应用程序(如WebForm和XMLWebServices)。
.NETFramework可由非托管组件承载,这些组件将公共语言运行类库加载到它们的进程中并启动托管代码去执行,从而可以创建一个同时利用托管和非托管功能的软件环境。
.NETFramework不但可以提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
ASP.NET动态网页开发技术
ASP.NET概述
ASP.NET是Microsoft公司2002年发布的新一代的软件开发技术,是建立在公共语言运行库上的程序框架,可用于在Web服务器建立强大的网络程序。
ASP.NET提供了一个统一的Web开发模型,并为开发人员提供了创建企业级Web应用程序所需的各种服务。
ASP.NET由于产生的比较晚,所以它吸取了C++、Java面向对象的特点及VB友好的可视化界面,它吸收了从众家之长,克服了其它开发技术的不足,所以提供了许多比现在的Web开发工具更强大的功能。
ASP.NET的数据库访问技术
使用ASP.NET访问数据库需要使用ADO.NET组件。
ADO.NET是微软在.NET平台下提出的一种全新的数据库访问技术,是一种为.NET平台新设计的。
ADO.NET的很大的一个优点是通过DataSet和DataAdapter适配器可以在连接或在断开的方式下操作数据库。
应用程序只有要取得数据或更新数据时才和数据源进行联机,这样可以减少应用程序对服务器资源的占用,提高应用程序的效率。
而ADO是不能离线操作的,在应用程序执行期间,会一直保持数据库连接,这样当连接服务器的用户很多时,很容易耗尽服务器资源,导致性能瓶颈。
ADO.NET对象模型(见图2-2ADO.NET组件结构模型图)[3]中有五个主要的组件,分别是Connection对象、Command对象、DataAdapter、DataReader以及DataSet。
这些组件主要负责建立联机和数据操作。
Connection对象主要是建立应用程序和数据库之间的连结。
这个对象在ADO.NET的最底层,我们可以自己定义这个对象。
Command对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、增加、修改、删除数据等命令。
DataAdapter对象主要是在数据源以及DataSet之间执行数据传输的工作,通过它可以和远程数据库建立连接,把远程数据库中的数据填充到本地内存数据库的DataSet对象中。
DataSet是ADO.NET的应用方案中最重要的就是数据集了。
数据集是指远程数据库数据在本地内存中的拷贝。
一个数据集可以包含多个数据表,每一个一般都对应于数据库中的表或视图。
数据集组成了一个非连接的数据库数据视图。
只有在读写数据库时才需要和远程服务器建立连接,使用数据库服务器资源,所以节省了服务器资源和网络传输的压力,提供了更好的可伸缩性。
当我们只需要顺序的读取数据而不需要其它操作时,可以使用DataReader对象。
DataReader对象只是一次向下循序地读取数据源中的一个记录数据,不作其它的操作。
因为DataReader在读取数据的时候限制了每次只能读取一个记录,而且只能读,所以使用起来不但节省资源而且效率很好。
此外,因为不用把数据全部传回,从而可以降低网络的负载。
ADO.NET的数据存取和之前的版本不一样。
老版的ADO存取数据的方式只有一种,那就是透过OLEDB来存取数据;而现在的ADO.NET则分为两种,一种是直接存取MSSQLServer中的数据,另一种是透过OLEDB来存取其它数据库中的数据。
所以ASP.NET提供了两组数据操作组件,分别为OLEDB数据操作组件以及SQL数据操作组件。
每组数据操作组件内都有Connection对象、Command对象、DataAdapter对象及DataReader对象,前面加OLEDB前缀以及SQL前缀加以区分。
这两种数据操作组件虽然针对的数据源不一样,但是这些对象的架构都一样。
只要针对所要建立的数据源种类来选择OLEDB数据操作组件,或是SQL数据操作组件就可以了。
但是透过SQL类别对象来存取MSSQLServer中的数据效率最好,这是因为SQL不经过OLEDB这一层,而是直接调用MSSQLServer中的API,所以效率比较好。
见2-4SQLServer和OLEDB数据提供程序的区别图所示[7],所以本系统的数据库选用的是MSSQLServer2000。
图2.4SQLServer与OLEDB数据提供程序的区别
图2-4SQLServer和OLEDB数据提供程序的区别
选择ASP.NET开发网上考试系统的原因
与传统的ASP方式相比,ASP.NET是把基于通用语言的程序在服务器上运行。
不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效率得到显著提高。
同时ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上,这些优点可以改善考试系统的效率,同时ASP.NET的安全性比传统ASP有了很大的提高,这正是考试系统的安全性所要考虑的,ASP.NET的另一好处是它完整的集成了对XML以及Web服务的各种支持。
用ASP.NET开发的考试系统可以由此开发出更为强大的功能。
ASP.NET使用ADO.NET进行数据库处理,使用更简单,开发效率更高,并且可以离线操作数据库,功能更加强大,同时具有很好的性能。
本考试系统使用微软的C#作为开发语言,SQLServer2000作为数据库管理软件。
由于C#专门为.NET量身定做的软件,开发效率高,而SQLServer可以通过ADO.NET直接读取SQLServer数据库比其它数据库有更高的效率。
且在ADO.NET对SQLServer所作的优化更提升考试系统的数据库执行效率。
面向对象的程序设计
面向对象的设计具有抽象性、封装性、继承性及多态性等特点。
面向对象设计把一个系统分解成设计的基础组件-对象。
[6]
从对象中抽象出类。
在类中成员有不同的访问级别,如:
私有成员只能本类内部使用,子类及对象不可用;而保护成员只能本类成员及子类可用,而对象不能用;公有成员本类、子类及对象都可用。
通过封装性使数据具有不同的访问权限,因而数据更安全。
继承性使代码的重用性和可扩展性增强,当系统需新加功能时,可在原类的基础上定义子类,这样父类中公有成员及保护成员在子类中可以直接使用,而在子类中可定义新的成员或通过虚方法进行虚调,这样子类在编写代码较少的情况下扩展了原类的功能。
要想使开发的考试系统具有良好的稳定性和可扩展性,使用面向对象的开发方法是目前最好的选择。
面向对象技术经过多年的研究实践,已经成为一种成熟有效的开发方法。
面向对象的方法其基本思想是:
对现实世界中的实体进行自然分割,以更接近人类思维的方式建立实体模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性更好的软件,同时限制软件的复杂性和降低开发维护费用。
面向对象程序设计将数据及对数据的操作(方法)融为一体,作为一个相互依存、不可分割的整体来处理。
它采用数据抽象和信息隐藏技术,将对象及对象的操作抽象成一种新的数据类型:
类,并且考虑到不同对象之间的联系和重用性。
面向对象程序设计所追求的目标是将现实世界的问题求解尽可能简单化,采用符合人类处理问题的思维方式。
它用“对象”表现事物,用“事件”表示处理事物的动作,用“方法”表示处理事物的过程,用“消息”传递对象与对象之间的相互联系。
面向对象程序设计时,不再是单纯地从代码的第一行一直编写到最后一行,而是考虑如何创建对象,利用对象来简化程序设计,并提供代码的可重用性。
同时面向对象程序设计也吸取了结构化程序设计的优点。
面向对象程序设计支持先进的软件开发策略:
编写可重用代码,编写可维护的代码,共享代码,优化已有的代码等。
有了高质量的可重用代码就能有效地降低软件的复杂性,提高软件开发效率。
开发者在设计软件时可以利用一些已经精心设计好并且经过测试的代码,这些可重用的代码被组织和存放在程序设计环境的类库中,使以后程序设计过程变得更简单。
面向对象程序设计方法具有模块化、信息封装与隐藏、抽象性、继承性、多态性等特点,它又解决了软件系统设计与管理中所需的软件可靠性、可重用性、可扩充性、可维护性及提高开发效率等问题。
[7]
在本系统设计过程中使用了面向对象的程序设计方法,对系统进行分析与设计,利用面向对象的特点对组卷逻辑、试题表等进行了封装和集成,当需要添加新的组卷逻辑时候,不需要修改已有的程序,只要为新的组卷逻辑添加一个具体实体类。
添加新的题型或题库,也不需要大量改动现有的程序结构,只要添加相应的试题表类。
MVC设计模式
MVC(Model-View-Controller即模型-视图-控制器模式)模式,其核心思想是将整个程序代码分成三个组成部分,这三个组成部分相互独立又能协同工作:
模型层、视图层、控制层。
具体的功能如下:
[8]
模型(Model)层即业务逻辑层。
实现具体的业务逻辑、状态管理的功能。
业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型是MVC主要的核心。
它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。
它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。
MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要。
MVC并没有提供
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 排版 原文