C#.net在线考试系统项目开发总结心得体会

2024-05-03

C#.net在线考试系统项目开发总结心得体会(精选6篇)

篇1:C#.net在线考试系统项目开发总结心得体会

《在线考试系统》C#项目开发总结

姓名:邬志成学号:P111713287 班级:11级软件工程(2)班

一、课程设计目的

通过系统的制作,使我们熟悉系统开发的流程,更加熟练掌握C#语言的编程以及系统制作,同时可以减轻老师的工作负担提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。背景

在我国,虽然远程教育已经蓬勃地发展起来了,但是目前学校与社会上的各种考试大都采用传统的考试方式。在此方式下,组织一次考试是至少要经过5个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。

显然,随着考试类型的不断增加以及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是十分繁琐和容易出错的,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高考试的质量,从而使考试更加趋于公正、客观、更加激发学生的学习兴趣。

在线考试系统要求对考生进行登录验证、考生选择考试科目、限制考试时间、交卷后自动评分,同时需要为管理人员提供试卷管理及考生信息的相关管理,设计系统的主要目的是为考试减少不必要的浪费并且使考核学生成绩变得客观和公正。

二、课程设计的要求

(一)管理员用户

1、能对试题(只有单项选择题)进行管理(增加,修改和删除);

2、能对用户留言进行管理;

3、能管理注册用户(删除某用户);

4、能查看所有用户的考试成绩。

(二)普通注册用户

1、可注册一新用户,注册内容项自定,但必须有上传照片项,所有项目须验证。

2、可登录进入考试页面进行考试,登录成功后考试页面上要显示用户信息和用户照片,同时显示相关试题(随机从题库表中任意抽取20题进行考试),用户做完试题后点提交试卷按钮结束考试,可使用消息框看到本次考试的成绩,并将相关信息存入成绩表中。

3、可查看留言和留言。

三、运行环境

系统开发平台:Microsoft.Visual.Studio.2005;

系统开发语言:C#;

数据库软件:Microsoft SQL Server 2005;

运行平台:windows xp/windows7

运行环境:Microsoft.NET Framework SDK v2.0

四、系统设计:

本系统有两个类型的用户,管理员和普通用户。用户在注册时可以设定自己的权限,注册成功可以跳转到登录页面登录.如果是普通用户登录,就可以修改自己的信息,并自己进行留言和进行试题测试,查看开始时间/考试成绩和留言信息

如果是管理员登录系统,则可以对试题进行相关的操作,如增加试题。对注册的新用户进行管理,删除用户。对留言信息进行管理。并且可以查看学生的成绩。

运行:

在线考试系统的基本功能,包括系统用户的添加、考试试卷的添加、试题的添加和在线考试以及分数计算等。最后将所有模块组装成一个完整的系统。经过测试,系统实现了需求分析中的要求,运行正常,操作界面简洁。

五、心得体会

基于.net的在线考试系统的的设计与实现经过系统分析、需求分析、概要设计、详细设计等阶段基本了解了该系统的功能要求及设计的可行性。在线考试系统的基本功能,包括系统用户的添加、考试试卷的添加、试题的添加和在线考试以及分数计算等。最后将所有模块组装成一个完整的系统。经过测试,系统实现了需求分析中的要求,运行正常,操作界面简洁。由于时间和技术水平的缘故,本系统还存在着许多方面的工作尚未完善。系统的各项功能基本都能正常运行,达到了初步设计的要求,但是还不够完善。比如插入试题模块功能还不完善,系统安全性有待提高。另外在试题的插入时,只能由管理员逐题进行录入,还没有实现试题的成套录入。界面的美化还得进一步细化,各功能模块也有待进行整改和完善。一个好的系统需要一段时间的跟踪及长期的维护,也许后期还有可能进行功能上的增加或改进,这些都需要在系统设计时考虑好,才能使一个系统被应用的时间更长。自己有待进一步提高,相信在以后的学习及生活中会将本设计修改的更加完善。

篇2:C#.net在线考试系统项目开发总结心得体会

短短的四个月很快过去了,在这短短的四个月里,我学到了很多,了解了很多。经过一个学期的简单学习和上课听讲,初步掌握了ASP.NET动态网页制作的一些简单的知识和基本常识,也能从老师讲的基本知识中简单的应用一下上课所学到的知识。

开始学习后也并非是想象中那样顺利,开始的学习让我异常感到学习任务的艰巨,因为学习中我们遇到了很多以前未曾遇到的难点,有时难免冥思苦想也无济于事。曾经看到网上有这么一句话,一个优秀的网络程序员不但要了解自己领域的一些专业技术,而且很多时候还要充当半个网络工程师,半个美术设计师和半个数据库管理员。照这么说来,我单单学习ASP.NET是远远不够的,还要学习计算机网络、美术设计、数据库,我很喜欢有关计算机方面的东西,认为我们当代的生活越来越离不开计算机,并且我也很痴迷计算机所带来的强大功能。

首先感谢老师的教诲,经过这门课程的学习,我的收获如下:(1)进一步巩固和加深“ASP动态网页设计”课程的基本知识,了解ASP动态网页设计知识在实际中的应用。

(2)综合运用“ASP动态网页设计”课程和先修课程的理论及生产实际知识去分析和解决问题,进行的相关训练。

(3)学习ASP动态网页设计的一般方法,了解和掌握通用数据库的连接、数据的相关操作或网站的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是网站功能规划的能力和实现相关功能的能力。

(4)通过本程序的开发,并对电子商务系统的系统的分析、系统设计、数据库设计和功能的实现等,培养ASP动态网页设计的基本技能。

在本次课程设计过程中,我学到了好多东西。在此特别感谢老师教诲。老师不仅上课生动、幽默,平时上机时又悉心的指导。同时感谢学校给我们提供了非常优越的设计环境,对于我顺利完成这次课程设计起到了关键性的作用。通过开发本系统,我较全面的掌握了ASPT及SQL的基本知识和编程技巧,并在开发过程中我的ASP.NET开发能力得到了进一步的提高。如: SQL语言的使用;以前学过的软件工程知识、数据库原理及操作也得到了充分的应用。

在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编程,先应有较长的时间去把分析做好,做好数据库设计工作,写出相关的开发文档等。然后再开始编写程序代码,这样做到每写一步代码心底有数,有条不絮。当然也有些还需待继续深入地方如:COM技术等。

在这短短的几个月中,我知道在程序设计的时候,不要太在意程序是否最简洁灵活,对于一般开发者而言,程序规范化和可读性可能比追求程序的灵活性更加重要。在互联网资源越来越丰富的情况下,我们可以参考一些规范的程序源代码来学习。同时我也知道,想要学好这门课程,所要具备很多条件,首先打代码要规范,要做注释,这样回头来看程序时可以很快的看懂,一方面可以练习自己的逻辑表达能力,对以后遇到难以实现的功能也可以很好的表达出来向别人请教,而且出去从事编程工作的话,代码的规范是相当重要的。还有一点要学会总结,把自己做的程序用到的知识点列出来就可以很好的总结自己的知识点。当形成知识体系,对知识的理解就会更上一层楼。

13级软件班

***

篇3:C#.net在线考试系统项目开发总结心得体会

本文系统的实现方法旨在解决程序和题目、答案的彻底分离, 给予系统更大的灵活性。

目前对Office的判分操作都是针对文档, Word、Excel、PowerPoint都是通过程序对象Application启动, 而用文档对象代表各自的文档, Word使用Document对象 (对应于1个.doc文件) , Excel使用Workbook对象 (对应于1个.xls文件) , 而PowerPoint使用Presentation (对应于1个.ppt文件) 。

对Office的判分操作归根结底就是针对文档对象下的众多对象进行的, 可概括为对特定对象特定属性的判断。比如:第2段字体设置宋体2号, 其对象表述是:Document.Paragraph (2) .Font, 而属性就是Name、Size, 属性的值为宋体、2号字。这样判分系统只要能对所有Office的对象及属性进行准确判断就行了。

本文系统设计操作题判分信息设计为5个部分:对象、对象描述、属性及参考值、属性描述、分数比例。由于Office内部对象结构比较复杂, 所以如何准确定位到特定的对象成为本文系统设计的关键。这涉及两个方面的问题:如何在添加题目时把题目中的要求转化为Office对象;如何在判分时准确找到Office对象。解决了这两个问题, 题目添加时就不必受设定好的知识点限制, 而是找到其相关的Office对象, 可以添加任意Office类的考试题目, 适应各种层次难度的考试需要, 而程序在判分时也不必知道是哪个类别, 只是针对给定的对象、属性进行判断, 就实现了程序与题目、答案的分离。

2.系统的具体实现

C#.net可以针对Office进行互操作, 利用互操作、反射, 可以轻松实现Office对象和属性的遍历。Office的对象整体上呈现一种层次性, 因此对对象的表示, 可以体现为一种层次结构的描述, 如:DocumentParagraphs (1) RangeFontBorders (1) 。而反射使得程序可以在运行时刻获得对象相关的属性。

(1) 题目到Office对象的转化。

在系统实现中, 先把题目中的要求转化为具体的Office对象。以Word为例, 直接利用C#的互操作和反射可以自动获取Document对象下的其他所有对象, 并按层次关系展开为一种树形结构, 根据这种结构只要设定好相关参数就可以实现题目到Office对象的转化, 这里的相关参数是指容器类父对象和子对象之间的关系, 比如段落Paragraphs容器表示整个文档的全部段落, 但考试检查的是某个段落Paragraph (子对象) , 比如第2段, 这个参数就是2, 即Paragraphs (2) , 这是一个Paragraph对象。

(2) 属性的设定。

Office判分实际上是对操作结果文档的对象、属性的判断, 这个判断的依据是判分信息中的属性参照值。所以选择好判分对象后, 对要判断的属性必须设定一个参照值, 这个设定操作必须在Office程序中取得。方法是将题目相关的文档在Office中打开, 按正确方法做一遍, 然后获取相关对象及其属性值, 由于这个获取过程也就是判分获取属性值的过程, 因此2次属性值的比较即可得到判分结果。同时属性设定的过程, 也是对判分准确性进行验证的过程, 可以保证判分的准确性。

属性设定好后, 一个题目的判分信息就生成了。本文系统的一个判分信息如下所示:

题目:打开练习文件夹下的文件“aa.DOC”, 并按照下列要求排版。为当前文档添加文字水印。文字为“样本”, 其他选项保持缺省值。将当前文档的页面设置纸型为32开 (13×18.4厘米) , 方向设为横向。判分信息:

通过这种设计, 本文考试系统就可以实现操作题目的可视化灵活添加, 每道操作题只要利用设置窗口, 找到相关的对象, 并进一步设定好对象的属性和参照值即可。

(3) 判分时对象的构建。

判分部分的设计使程序并不知道处理的是Font (字体) 还是Paragraph (段落) , 对程序来说, 只是一个对象。题目相关判分信息的对象是一个文本描述, 程序需要在运行时将这个文本描述变为真实的对象。Office内部对象的层次结构一般是规则的, 但也存在不规则的地方, 甚至是循环的层次。比如:Word里的Paragraph段落对象下有范围对象Range, 而Range下会再有Paragraph段落对象。构建采用了一种遍历的方法, 通过上层对象获得下层对象。比如:通过Word的Document对象获得Paragraphs对象 (代表整个文档全部段落) 或Tables对象 (代表整个文档所有的表格) , 再通过Paragraphs对象获得具体段落对象Paragraph, 这个过程需要提供参数来确定是第几段。遍历分三种情况: (1) 下层对象直接从上层获得, 如:Word里的字体对象Font可以直接从Paragraph获得。 (2) 上层对象是容器类对象, 下层对象通过提供参数获得, 例如Paragraphs (所有段落) 和Paragraph (某个段落) , 格式为:Paragraphs.Item (2) , 括号内即为参数。 (3) 下层对象必须通过上层对象的函数才能得到, 比如:Excel里从Worksheet工作表对象获取数据透视表对象, 必须对工作表对象Worksheet使用函数PivotTables () 才能获取数据透视表PivotTable对象, 格式为:PivotTables (∮) >>PivotTable, 括号内∮符号代表特定的参数。

以Word为例, 具体遍历检索对象的过程用C#, net简单表示如下:

Object oo= (Word.Document) wd;//代表第1个对象:文档对象, 其他对象都是从这个对象开始遍历。

Type NextTp=typeof (object) ;//代表对象类型, 反射操作需要的类型参数。

//分析对象描述字符串, 如:documentparagraphsitem (1) >>paragraphfont

//分解''标记

string dm="";//“”为层次结构分割标记

stringⅡobjs=obj.Split (dm.ToCharArray () ) ;//分解对象层次, obj表示对象的文本描述。

for (int i=1;i

//从Document下的第2个对象开始遍历, document为第1个对象, C#数组下标从0开始。

{string objsname="";//当前对象的名字

string objstype="";//当前对象的类型文字描述

//获取当前对象名称和类型文字描述并分别存入objsname、objstype变量。

//根据对象名和类型名, 从上层对象oo获取下层次对象

{errmsgs+="【"+objdes+"】相关操作〖"+objpropdes+"〗没有进行!未能检测到!rn";

NextTp=OfficeStringToType (objstype) ;}//如果获取成功, 将当前对象设为下一个遍历开始的对象, 当前对象类型设为下一个遍历对象类型, 否则返回错误, 表示这个操作并没有进行。

其中获取对象的函数GetOfficeObject (NextTp, o, objsname) , 利用了C#.net的反射操作, 其主要形式为:o=NextTp.InvokeMember (objsname, BindingFlags.GetProperty, null, oo, null) ;建立了对象后, 对象相关属性值的获取是简单的, 同样可以使用C#.net的反射操作。

参考文献

[1]李强, 陈遵德.基于XML的Microsoft Office操作题自动评分及题库建设的实现[J].顺德职业技术学院学报, 2007 (3) .

[2]李桂英, 叶惠文, 柯铭健.计算机文化基础:无纸化考试系统的设计与实现[J].现代计算机, 2007 (1) .

篇4:C#.net在线考试系统项目开发总结心得体会

1.可视性是用于评价以下哪项内容(5分)

A.评价服务供方服务过程与服务结果的可见机制与实施效果

B.服务交付物的呈现完美程度

C.检查服务行为的规范程度

D.检查服务语言的规范程度

2.以下对服务质量同供方、需方与第三方之间的关系描述不正确的是哪项(5分)

A.信息技术服务需方对服务质量提出需求

B.服务供方则交付满足需求的服务

C.服务需方、服务供方,以及第三方对服务质量的评价要求是一样的

D.评价应当基于服务协议(不同的信息技术服务供方可以根据自身的服务水平和能力来同顾客建立服务协议)的要求

3.信息技术服务的完整性是指(5分)

A.确保供方信息不被非授权篡改、破坏和转移

B.确保需方信息不被非授权篡改、破坏和转移

C.确保供方在服务提供过程中管理的需方信息不被非授权篡改、破坏和转移

D.确保供方在服务提供过程中管理的需方信息不被泄露

4.假设要考察信息系统集成服务项目供方某项目的连续性,以下哪项不是其评价指标?(5分)

A.服务按恢复时间完成的比例

B.重大事故发生情况

C.解决率

D.关键业务应急就绪度

5.风险评估与改进是哪个阶段的活动?(5分)

A.应急响应 B.应急准备

C.应急处置

D.应急总结改进

6.运维服务策略中的“规范”是指(5分)

A.建立适宜的服务管理流程、服务活动指导文件或实施规则,以保证服务过程的规范运作

B.运维服务应当按照ISO20000国际标准进行流程设计和执行

C.为数据中心交付的运维服务应当符合服务级别协议规定的要求

D.符合所在行业的法律法规要求

7.事件解决的评估机制不包括哪项?(5分)

A.事件解决率

B.事件平均解决时间

C.事件未解决率

D.满意度调查机制

8.服务报告过程的完整性是指(5分)

A.服务报告的建立、审批、分发、归档等

B.服务报告的提交方式、时间、需方接收对象等

C.服务报告的格式、提纲等

D.服务报告的内容满足SLA要求

9.在某企业中,部署了LVS和Piranha服务器,已知目前可以使用http或者https方式访问Piranha的web管理界面,并且Linux服务器可以远程通过SSH管理,防火墙规则已经设置为满足如上通讯需求,下列哪些端口,在配置防火墙时不需要被打开?(5分)

A.80

B.3636 C.22

D.443

10.下列哪项不属于集群技术种类中的分类?(5分)

A.高可用集群High Available Cluster

B.负载均衡集群 Load Balance Cluster

C.多通道集群 Multi-Path Cluster

D.网格计算 Grid Computing

☆考生答案:D

★考生得分:0 分 评语: 11.LVS的全称是(5分)

A.Logical Volume Server

B.Logical Virtual Server

C.Linux Virtual Server

D.Linux Volume Server

12.下面关于集群技术定义正确的是(5分)

A.两台或更多的计算机集成在一起完成某项计算任务

B.多台计算机共同完成存储任务

C.多台计算机连接在一起就构成了集群

D.以上说法都是正确的

☆考生答案:B

★考生得分:0 分 评语:

13.关于SAN存储架构的实施,描述正确的是(5分)

A.SAN存储架构非常易于实现 B.SAN存储架构实施价格非常廉价

C.SAN存储架构是一种实施架构复杂,成本昂贵的存储解决方案

D.以上说法都是错误的

14.假设服务器A上目前有两个工作在RAID0模式下,支持SATA3.0标准的物理磁盘,同时配有一块质量普通的千兆网卡,它实际上最大可以向外界提供()的数据单向吞吐量?(5分)

A.100MB

B.600MB

C.1.2GB

D.300MB

☆考生答案:B

★考生得分:0 分 评语:

15.目前各地电信运营商建成了许多市地级的宽带IP城域网。这些宽带城域网自上向下一般分为3个层次,下面不属于其中的是(5分)

A.核心层

B.物理层

C.接入层

D.汇聚层

二.多选题(共5题,每题5分,共25分)

1.使用质量评价结果时,应考虑哪些因素(5分)

A.收集评价结果的规程,如工具、手工等

B.评价结果的来源,如供方报告、需方报告等

C.结果数据的确认,如供方自查、第三方检查等

D.评价指标体系

2.主动性评价包括以下内容(5分)A.主动提供服务报告

B.主动进行服务监控

C.主动进行服务趋势分析

D.主动介绍服务的相关内容

3.Wlan无线网络的安全威胁有(5分)

A.外部人员可以通过无线网络绕过防火墙,对公司网络进行非授权存取

B.无线网络传输的信息没有加密或者加密很弱,易被窃取、窜改和插入

C.无线网络易被拒绝服务攻击(DOS)和干扰

D.内部员工可以设置无线网卡为P2P模式与外部员工连接

4.LVS负载均衡技术使用了多种算法来实现负载均衡,其中比较典型的有:(选择两项)(5分)

A.轮叫(Round Robin)

B.加权轮叫(Weighted Round Robin)

C.最多链接(Most Connections)

D.加权最多链接(Weighted Most Connections)

5.下面哪两个存储技术不属于网络存储技术?(选择两项)(5分)

A.IDE

B.SAS

C.NAS

篇5:C#.net在线考试系统项目开发总结心得体会

通常其有一种结构就是在客户所用的客户端和总系统数据库之间插入一个组件层, 于是这三者构成的结构就叫做三层体系结构。

这里所说的三层体系, 是从逻辑性来说的三层使用B/S应用的体系结构, 而不是物理性的将这三个层放在同一台机器上。通常, 客户端与数据库无法进行交流。却需要根据三层体系的规则, 使其应用程序促成中间层与COM/DCOM通讯的连接。于是一些关于数据访问、业务规则、合法性校验等工作就可以投放到中间层进行处理, 完成一次与数据库之间的相互交流。具体情况如下: (1) 数据访问层能够同时对数据库和客户端进行操控, 以此来实现两者的相互交流, 满足客户需求。 (2) 其功能能够保持逻辑性地处理上下交互的数据以此来实现业务应用, 具有承上启下的作用。 (3) 表示层是一种不会涉及数据的结构, 它只能接收处理和返回用户的请求的操作, 来实现用户的请求。使用这种三层体系的结构能够使直接连接数据库的数量减少, 减轻了数据库的负担。

二、C#下三层架构数据库应用系统的建立

2.1设置数据访问层。

第一步, 点击添加新项, 选择其中一个数据集等待操作。第二步:打开选中的数据集, 与数据库建立链接关系。第三步:拖动数据表至数据集中, 右键点击DataTableAdapterData, 即可使InsertCommand, UpdateCommand和DeleteCommand三者自动产生。

注:由于系统VS2008本身存在的缺陷使得GetData修改后的内容有可能会消失。所以, 最好是先将可以先将commandText三者的内容拷贝, 待用。这样一来也为后面修改sql语句奠定了基础。

2.2设置表现层。

GridView能显示整体的概况, 于是在表现层能够利用这一点结合配置DetailsView就能看到每条记录的详细情况。配置时只需要右击DetailsView, 在“智能标志”前点“显示”→“编辑字段”→设置“选定的字段”。为了不使数据参数之间有矛盾, 所以在选定字段时要求必须和数据库里的字段保持一致。为了选择逻辑层定义类中的方法, 只需要在配置数据源选择业务对象时, 点击取消“只显示数据组件”选项前面的“、/”。不难看出, 即使没有逻辑层, 数据集里的每一个方法都是有用可行的。除去比不上拥有逻辑层时操作更灵活不说, 有时候还能实现一些逻辑数据层无法实现的操作。细化逻辑层也不失为一个好办法。

2.3数据添加、修改和删除。

如此一来在Details View中只支持查询数据结果而无法再支持以下操作, 如:编辑, 添加、修改和删除数据等。进一步设置如下:右击DetailsView→点击“显示智能标志”→点击“启用插入, 编辑, 删除”→“编辑字段”。最后连同CommandField将所有的需要编辑的字段转化为模板字段, 具体方法就是:选定字段→点击“将此字段转换为TempleField”。注意:因为索引字段在添加记录时是无需编辑和删除的。因为其是自动生成。该字段是自动生成记录的。所以, 由于关键字是自动生成的原因而无需转换成模板字段。

摘要:文中基于C#.NET下三层架构数据库应用系统开发, 首先对三层体系结构进行了详细分析, 接着就C#下三层架构数据库应用系统的建立给出了以下设计步骤:设置数据访问层;设置表现层;数据添加、修改和删除。

关键词:C#.NET,三层架构,数据库,表现层

参考文献

[1]徐莉..NET技术下三层数据库应用系统的数据访问问题[J].福建电脑, 2009, 2506:63-55.

篇6:C#.net在线考试系统项目开发总结心得体会

随着计算机技术的发展和互联网时代的到来,人类已经进入数字化时代。在数字化的网络环境下,学生的学习希望得到个性化的满足,学生希望能根据自身的情况来进行学习,同时也希望能够得到科学并实时的评价,老师则希望有效地改进现有的考试模式,提高考试的效率,教育机构也希望给网上学习的学生提供更全面灵活的服务,能够全面准确地对学生进行跟踪评价。网络考试系统正是迎合这一时代需求而开发的,它旨在探索一种以互联网为基础的考试模式,是现代远程教育的重要组成部分。在线考试系统,为学校创造一种新的考试环境,对提高教学质量和教学效果具有重要意义。

文中在分析考试系统相关理论的基础上,借助ASP.NET技术、AJAX技术、SQL Server2000数据库技术构建了一个在线考试系统原型,针对现有网络考试系统的弊端,引进相应技术对其加以改进。

1 总体设计

这个考试系统主要以ASP.NET2.0为开发平台,SQL Server2000为后台数据库,采用B/S模式完成整个系统的开发,脚本语言选用C#语言,数据访问机制则采用全新的面向对象模型ADO.NET,开发工具选用Visual Studio.NET 2005。

1.1 系统构架

网络考试系统是一个功能完善的网络应用程序,由前台登录、学生操作、教师管理和后台管理员四大部分组成。

(1)前台登录模块:即前台页面窗口,主要用于登录相关的主页。

信息修改、在线考试和成绩查询等功能。

(3)教师管理模块:教师管理页面窗口,用于注册学生资料查询、删除,试题信息查询、添加、修改、删除,考生成绩查询、添加、修改、删除,添加试题及退出系统管理等功能。

(4)后台管理员模块:后台管理员页面窗口,用于对教师用户资料查询、添加、删除。

1.2 系统功能结构图

系统功能结构如图1所示。(2)学生操作模块:学生操作页面窗口,用于考生

2 关键技术及主要功能的实现

2.1 实时自动保存信息技术

AJAX(Asynchronous Java Script and XML)是一种允许异步发送请求的技术,有着异步发送请求,按需取数据,RIA等特点,可以自动交互与响应请求,减少页面重复加载,减轻服务器资源消耗,所以AJAX技术特别适合应用于交互多,数据需频繁提交的在线考试系统。在Web2.0技术中AJAX的出现可以较好地解决这些在线考试过程中所出现的问题,将AJAX技术成功引入在线考试系统可以解决系统中存在的一些弊端。同时,也可以解决在线考试系统实时保存,这就是这个系统技术的关键所在。它能够在系统出现死机、考生换机器、网络中断等异常情况下实现重新登录,系统能够像没有出现问题那样继续向前执行,也就是说,可以实现在线考试信息的实时保存。

(1)设计思想

当考生开始答题时,由服务器产生考试总时间,传送给客户端;客户端进行倒计时,每隔一定的时间(可以设置,例如设为1分钟)将所有结果由AJAX传送给服务器端。当考生给出答案时,到这个时间就会由AJAX传送考试信息给服务器进行实时保存。当时间结束时,考生如果没有完成考试,它也会自动强制提交给服务器,结束考试。从以上可以看出,许多部分都采用了AJAX技术实现。通过采用AJAX,可以大大简化系统的设计复杂度,提高系统的性能,改进以往的考试系统手动保存的不便捷性。

(2)客户端关键代码

AJAX异步保存技术主要通过XML Http Request对象在后台自动向服务器发送答题数据和处理系统反馈答题情况来实现。

2.2 计时技术

(1)设计思想

普通的考试,考生经常需要携带手表进入考试用于计时。考试过程中来回的看时间,势必会影响学生的考试的情绪。在网络环境下,可以在在线考试系统中运用计时功能来避免这种情况的发生,使用简单的Java Script脚本即可实现计时功能。当考生点击开始考试后,计时器开始计时,考生可以根据时间合理安排自己的考试。

(2)客户端的关键代码

主要利用Java Script脚本中的系统时间变量实现。将时间变量邦定名称为time的控件上,实现时间提示。其后台代码如下所示。

2.3 计算机自动阅卷的实现

在考试结束或考生提交试题后,系统能够自动对客观题评分。系统接收到请求时,调用后台评卷代码get Com(3),从数据库中读取标准答案,按题号顺序形成一张视图表保存。然后读取考生的答案,将其值与视图表中的标准答案进行一一比较。最后将结果赋予文本控件lblsingal,在前台显示考生成绩。后台评分的关键代码如下所示。

2.4 验证码技术

所谓验证码,就是一串随机产生的数字与英文字母合成的几位字符串。使用验证码技术的主要目的是防止用户利用机器人自动注册、登陆等恶意行为。有的系统是将验证码生成到图片里,然后在图片中加一些干扰因素,从而达到机器难以辨别的目的。在具体实现过程中,将数字、英文字母储存到字符串变量str中,使用String.Split方法以指定分隔符(逗号)分离字符串str,将返回的字符串数组存储到字符串变量Vc Array中,最后使用随机类Random成员方法Next,根据返回值t来获取字符串数组Vc Array中的字符。后台关键代码如下所示:

3 结束语

本系统采用B/S模式,充分利用ASP.NET2.0的优点,采用AJAX技术改进现有网络考试系统,构建更加智能化的网络考试环境。新的考试系统具有计时、安全、方便等特点,从根本上改进原有网络考试系统的弊端。在线考试系统不仅方便学习者自主测验,及时得到反馈信息,而且能够有计划、有步骤地调整学习进度,使网上学习更为有效。与此同时,教师(或管理员)可以通过系统对学生的考试信息进行分析统计,有针对性地为学习者提供指导。随着经验的积累、题目形式的多样化以及技术水平的不断进步,在线考试系统会进一步得到扩充和完善,并且将会向着人性化和智能化的方向发展。

摘要:随着网络课程资源的涌现,及时对学生进行在线测试也越来越重要,而现有网络考试系统在线考试需要频繁地与服务器交互引起独占式请求,页面重复加载,这些情况不仅让考生处于不连续的考试状态中,同时也消耗大量服务器资源。技术的更新发展,势必为此带来新的改进。针对现有网络考试系统的弊端,本文所讲述的在线考试系统采用AJAX技术实现自动保存数据,并且增添了时间计时,从而为学生在线考试提供了更为人性化和智能化的环境。

关键词:在线考试系统,AJAX,ASP.NET

参考文献

[1]罗军锋,锁志海,李雪琴.在线考试系统中实时保存技术的设计与实现[J].中国教育信息化,2008(7).

[2]肖自红,张祖平.基于.NET的试题库与在线考试系统研究[J].计算机与数学工程,2008(3).

[3]李晓艳.基于ASP.NET的在线考试系统的设计与实现[J].武汉科技学院学报,2007(8).

上一篇:微微一笑很倾城里唯美的经典语录下一篇:魔方口诀方法