基于asp.net学生在线考试系统的设计与实现_第1页
基于asp.net学生在线考试系统的设计与实现_第2页
基于asp.net学生在线考试系统的设计与实现_第3页
基于asp.net学生在线考试系统的设计与实现_第4页
基于asp.net学生在线考试系统的设计与实现_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要基于ASPNET学生在线考试系统,是基于B/S模式,即用户可利用浏览器直接访问本站点。采用ASPNETC)和SQL2005数据库以及VS2005等技术。网络在线考试系统旨在探索一种以互联网为基础的考试模式。通过这一新的考试模式,为考试创造一种新的考试环境;提高考试工作效率和标准化水平。本系统实现了网络在线考试的功能,以减轻教师的工作负担及提高工作效率,并能激发学生的学习兴趣。论文首先论述了课题的背景、开发意义以及课题的研究方案和国内外研究现状。论述了系统的需求分析与总体设计。本系统定位学生在线考试和管理员对试题、试卷的维护工作,具体来说系统的总体功能模块包括学生注册与登录;在线考试;学生信息维护;试题管理;学生成绩管理。在总体设计里着重论述了数据库的设计,数据库中各表的属性设置。其次介绍了详细设计。对于前台系统的在线考试登录页、密码找回页、考生注册页在线考试页进行了详细的论述。后台的考试套题管理页、考试题目管理页、管理员与学生信息管理页、课程与专业信息管理页也进行了详细的论述。本文着重研究了选择题题库管理以及前台在线考试的实现。选择题题库管理主要实现了选择题的自由人性化添加、修改、删除及浏览等功能;前台学生可以查看其考试成绩,并且进入在线考试,严格的监视系统保证了考试的安全顺利进行。最后,是对该课题所研究的系统进行测试。关键词在线考试系统;B/S模式;ASPNET;SQLSEVER2005ABSTRACTSTUDENTSONLINEEXAMINATIONSYSTEMBASEDONASPNET,ISBASEDONTHEB/SMODE,THEUSERCANACCESSTHESITETHROUGHTHEBROWSERUSINGASPNETCANDSQL2005DATABASEANDVS2005TECHNOLOGYEXPLORATIONOFANINTERNETBASEDEXAMMODETOONLINEEXAMINATIONSYSTEMTHROUGHTHISNEWEXAMINATIONMODE,TOCREATEANEWTESTENVIRONMENTFORTHEEXAMIMPROVINGTHETESTEFFICIENCYANDTHELEVELOFSTANDARDIZATIONTHISSYSTEMREALIZESTHEFUNCTIONOFONLINETEST,INORDERTOREDUCETHEWORKLOADOFTEACHERSANDIMPROVEWORKEFFICIENCY,ANDCANSTIMULATESTUDENTSINTERESTINLEARNINGTHEPAPERFIRSTDISCUSSESTHERESEARCHBACKGROUND,THEDEVELOPMENTSIGNIFICANCEANDRESEARCHMETHODANDTHERESEARCHSITUATIONATHOMEANDABROADDISCUSSESTHEREQUIREMENTANALYSISANDSYSTEMDESIGNTHESYSTEMPOSITIONINGSTUDENTSONLINEEXAMINATIONANDTHEADMINISTRATOROFTHETESTPAPERS,THEMAINTENANCEWORK,THEOVERALLFUNCTIONMODULESPECIFICALLYSYSTEMINCLUDESTUDENTREGISTRATIONANDLOGINONLINETESTSTUDENTSINFORMATIONMAINTENANCETESTMANAGEMENTMANAGEMENTOFSTUDENTACHIEVEMENTINTHEOVERALLDESIGNFOCUSESONTHEDESIGNOFTHEDATABASE,THEDATABASETABLEATTRIBUTESETSECONDLY,INTRODUCESTHEDETAILEDDESIGNFORTHEONLINEEXAMSYSTEMLOGINPAGE,PASSWORDRECOVERYPAGE,THEEXAMINEEREGISTRATIONPAGEONLINETESTPAGEISDISCUSSEDINDETAILTHISPAPERFOCUSONMULTIPLECHOICEQUESTIONBANKMANAGEMENTANDTHEIMPLEMENTATIONOFONLINEEXAMMULTIPLECHOICEQUESTIONBANKMANAGEMENTMAINLYREALIZESTHEFREEDOMOFHUMANCHOICE,MODIFY,ADDDELETEANDBROWSEFUNCTIONSTHESTUDENTSCANCHECKTHEIRSCORES,ANDINTOTHEONLINEEXAMINATION,MONITORINGSYSTEMSTRICTLYGUARANTEETHEEXAMINATIONSMOOTHLYANDSAFELYFINALLY,SYSTEMSTUDYONTHESUBJECTTESTKEYWORDSQNLINEEXAMINATIONSYSTEMB/SASPNETSQLSEVER2005目录1绪论111课题的背景及意义112研究的主要内容113课题的研究方案及国内外研究现状22考试系统的相关技术介绍和分析321动态网页技术322AJAX技术及数据库技术323编程语言、编程平台及构建开发环境介绍53系统需求分析与总体设计731系统总体功能业务分析732数据流程图733系统总体模块设计834数据库设计10341数据库概念设计10342数据库逻辑设计1235网站文件组织结构144系统详细设计1541公共类设计1542前台设计18421在线考试登录页设计19422密码找回页设计21423考生注册页设计24424在线考试页设计2543后台设计28431考试套题管理页设计29432考试题目管理页面设计31433管理员与学生信息管理页设计35434课程与专业信息管理页设计375系统测试3951软件测试39511测试的基本概念39512测试步骤3952本系统功能测试40结论42致谢43参考文献44附录A英文原文45附录B汉语翻译551绪论11课题的背景及意义ASP1是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。指ACTIVESERVERPAGES(动态服务器页面),运行于IIS之中的程序。INTERNETINFORMATIONSERVICES(IIS,互联网信息服务),是由微软公司提供的基于运行MICROSOFTWINDOWS的互联网基本服务。考试是教育中重要的一个环节。考试的目的一是为了考查学生的知识掌握情况;二是为教师提供教学分析的依据。传统的考试由于涉及组织命题,试卷印刷,考场安排,组织阅卷等诸多环节,考试时间周期长,效率低下;同时人工批卷等主观因素也影响到考试的公正性。随着网络技术在教育领域应用的普及,应用现代信息技术架构的网络在线考试系统展现出来越来越多的优越性。网络在线考试系统旨在探索一种以互联网为基础的考试模式。通过这一新的考试模式,为考试创造一种新的考试环境;提高考试工作效率和标准化水平;使考务管理突破时空限制;使考生可以随时,随地通过网络完成考试。网络在线考试系统从根本上解决了传统考试过程中工作量大,效率低,反馈周期长,资源浪费等缺陷。12研究的主要内容本系统运行速度快、操作简单、界面友好、易于管理和维护;而且具有较强的针对性、实用性和可操作性,初步解决了校园理论考核层次广、次数多、内容全,以及保密性和公平性差、评卷困难等问题。并对其详细的设计方案、实现技术和运行情况做了分析和研究,最后对未来的工作做了研究与探讨。论文主要围绕系统设计开展研究,保证了考核的公平、公正、公开,有力地促进了理论学习的全面开展。本文重点研究了以下几个方面1系统的体系结构、工作方式、主要功能模块、主要数据的工作流程、后台数据库的设计、数据库配置与连接;2系统各功能模块的详细设计、开发及其关键技术。13课题的研究方案及国内外研究现状系统采用开放、动态的B/S系统架构,基于ASPNET开发技术,实现用户与网站的动态交互性。设计实现具有空间性、被授权用户可以异地登录考试的系统,系统提供倒计时功能以及自动提交试卷功能,考生可查询考试成绩,对考生注册信息进行管理。系统为考生提供更全面,更灵活的服务,并全面、准确地对考试进行跟踪和评价。实现系统运行稳定,安全可靠。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。学生在线考试系统的开发可以适应现代教学的需求,为考生提供更全面,更灵活的服务,对于如何设计开发有针对性的在线考试系统也提出了更高的要求。目前动态网页的开发技术比较成熟,主要有ASPNET、JSP和PHP等,本系统基于ASPNET开发技术。ASPNET2是一种强大的WEB服务器端技术,与ASP相比,ASPNET拥有更高的编译特性与缓存机制。其特点包括与其地层框架NET紧密结合;将事件模型引入到WEB应用程序的开发领域;支持多种语言开发,包括C、VISUALBASIC和JSCRIPT等。2考试系统的相关技术介绍和分析21动态网页技术由于系统的操作界面都是WEB页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,这是一般静态WEB页面技术所无法实现的,所以采用动态网页技术。目前动态网页技术有很多,可以说是层出不穷,比如CGI、PHP、JSP、ASP、ASPNET等。本设计采用ASPNET技术。ASPNET3(又称ASP)是ASP的下一代版本,它并不只是ASP40,它是一个用于WEB开发的全新框架,其中包含了许多新的特性。ASPNET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASPNET远远超越了ASP,同时也是提供给WEB开发人员更好的灵活性,有效缩短了WEB应用程序的开发周期。ASPNET所独具的一些特点(1)简单的开发操作,分离程序代码和网页内容。ASPNET可以将页面逻辑与业务逻辑分开,实用代码分离技术CODEBEHIND分离程序代码与显示内容,使程序的可读性更强,简化开放操作。(2)提高了执行效率所有ASPNET代码包括服务器脚本都经过编译,可提供强类型、性能优化和早期绑定及其他有点。代码一旦经过编译,运行库会进一步将ASPNET编译为本机代码,从而提供增强的性能。(3)支持客户端类型ASPNET提供了许多服务器控件SERVERCONTROL,在网页执行期间,能自动检测浏览器所支持的功能,并自动产生浏览器可用网页。22AJAX技术及数据库技术AJAX的全称是ASYNCHRONOUSJAVASCRIPTANDXML,即异步JAVASCRIPT和XML。这是一种多项成熟技术的组合,其目的是让WEB应用获得与用户快速、即时交互的能力。AJAX所组合的技术,包括JAVASCRIPT,JAVA脚本语言(注意,此JAVA非SUN公司的JAVA)DHTML,DYNAMICHTML,动态HTMLXML,EXTENSIBLEMARKUPLANGUAGE,可扩展标记语言CSS,CASCADINGSTYLESHEETS,层叠样式表单DOM,DOCUMENTOBJECTMODEL,文档对象模型微软的称为XMLHTTPREQUEST的对象在AJAX技术下,用户会感觉到网页与普通桌面应用一样,响应迅速,而不是像传统网页那样,任何操作都需要等待页面的刷新。AJAX是如何做到这一点的呢有两个秘密第一,其实AJAX也会刷新页面,只不过,AJAX可以只刷新部分页面,而不是整个页面;第二,AJAX的页面刷新是异步的,就是说,用户可以继续他的其他操作,而不必等候刷新完成。当用户浏览一个基于AJAX的WEB应用时,用户的请求被提交给一个称为AJAX引擎(AJAXENGINE)的代理,这个AJAX引擎负责接收用户请求,从WEB服务器上获取响应,并更新浏览器内容。形象地说,传统的WEB应用中,浏览器是直接和WEB服务器打交道的,而在AJAX应用中,浏览器和WEB服务器之间出现了一个来回跑腿的“中介”,而且这个“中介”相当的勤快,所以,能够给浏览器提供更好的服务,从而使用户获得更满意的应用体验。由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有ACCESS、FOXPRO、EXCEL、SYBASE、ORACLE、INFORMIX、SQLSERVER等,其中网络型的SQLSERVER、ORACLE产品安全性远远高于桌面型的ACCESS、FOXPRO等数据库。本系统采用的是微软公司的SQLSERVER2005。原因如下第一,SQLSERVER与WINDOWS2000SERVER服务器紧密集成,而WINDOWS2000SERVER服务器具有良好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQLSERVER2005服务器的安全性,符合系统对安全性的要求;第二,用户可以使用WEB浏览器查询存储在SQLSERVER2005数据库中的数据,符合系统远程访问数据库的要求;第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。23编程语言、编程平台及构建开发环境介绍C4是微软公司发布的一种面向对象的、运行于NETFRAMEWORK之上的高级程序设计语言。C看起来与JAVA有着惊人的相似;它包括了诸如单一继承、接口、与JAVA几乎同样的语法和编译成中间代码再运行的过程。但是C与JAVA有着明显的不同,它借鉴了DELPHI的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司NETWINDOWS网络框架的主角。C是一种安全的、稳定的、简单的、优雅的,由C和C衍生出来的面向对象的编程语言。它在继承C和C强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C综合了VB简单的可视化操作和C的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为NET开发的首选语言。VISUALSTUDIO2005是基于NET20框架的。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。通过将SDLC工具集成到UI级别的表面,VISUALSTUDIOTEAMSYSTEM提高了团队工作效率并增强了项目的可预见性,此外,过程集成并不增加工作量,而通常能够降低与SDLC中所采纳过程相关的开销。尽管存在一些基本的工具可组成SDLC工具(例如,架构师工具、测试工具等),但是SDLC并未限制住工具的数量。当集成支持SDLC的工具时,团队会发现在提高团队效率,同时降低复杂性这些方面的好处。VISUALSTUDIOTEAMSYSTEM将提供基本的平台,让所有提供商能够以一种普通的、公众可理解的形式交换信息。这理所当然地铸造了一个充满活力的合作伙伴体系,合作伙伴能够构建完全集成的工具,简化构建IT解决方案的复杂性,以及推动信息交流和鼓励团队协作。要获得跨UI、数据和过程集成的最大价值,就需要扩展性。扩展性促成交互性。(1)网站开发环境网站开发语言MICROSOFTVISUALSTUDIO2005集成开发环境网站开发语言ASPNETC网站后台数据库SQLSEVER2005开发环境运行平台WINDOWS7旗舰版(2)服务器端操作系统WINDOWS7旗舰版WEB服务器INTERNET信息服务(IIS)管理器数据库服务器SQLSEVER2005浏览器IE60网站服务器运行环境MICROSOFTNETFRAMEWORKSDKV20(3)客户端浏览器IE60分辨率最佳效果1024768像素3系统需求分析与总体设计31系统总体功能业务分析本系统定位学生在线考试和管理员对试题、试卷的维护工作,具体来说系统的总体功能模块包括以下几个面(1)学生注册与登录学生可在线注册并登录该系统;(2)在线考试学生注册并登录后即可进行在线考试,可以选择考试的试卷,考试完毕后可查看自己的成绩;(3)学生信息维护管理员可对所有注册的学生的信息进行查看、修改和删除操作;(4)试题管理管理员可以对考试试题进行查看、修改和删除管理,可以生成不同的试卷。(5)学生成绩管理管理员可以查看和删除学生的考试结果信息。32数据流程图数据流图(DATAFLOWDIAGRAM)简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。绘制数据流图的基本要求系统的顶层图是用来表示整个系统的功能结构。随着数据分析活动的逐渐深入,较高抽象级别上的复杂转换可以精化为一系列的相互关联的数据流和子转换。数据流程图(DFD)数据流图描述系统的逻辑模型,在设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需考虑如何具体地实现这些。图例外部项加工数据存储信息流或数据流在线考试系统的数据流程如图31所示。图31在线考试系统的数据流程图33系统总体模块设计本系统主要用于学生在线考试,管理员可对考试信息进行修改,在线考试学生登录流程图与管理员登录流程图分别如图32所示与33所示。41信息分离输入信息42确认提交提交请求43提交试卷确认信息已答试卷47保存答案答案学生答卷44答题控制答题信息提交指令49时钟时间48显示提示框提示信息46修改修改信息新答案45在线答题答案否考生操作是否是图32在线考试学生登录流程图是否同意考试规则选择考试课程和套题宝准备考试开始考试提交试卷查看考试结果注册考生登录在线考试查询成绩开始结束否是是图33在线考试管理员登录流程图34数据库设计在程序开发中,数据库设计5是一个非常重要的环节。一个设计良好的数据库结构,可以提高效率,方便维护,并且为以后进行功能的扩充留有余地。这好比一高楼座大厦,有稳固的地基,才能稳如磐石,屹立不倒。本网站采用SQLSEVER20056名称为DB_EXAMINATION,其中包含9张表。341数据库概念设计通过对网站进行的需求分析,网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为“管理员信息”、“考试套题”、“考生成绩”、“考生成绩信息”。对网站进行有效的管理就要设置一个或多个管理员,管理员实体包括管理员编号、管理员姓名、管理员密码和注册时间,管理员信息实体ER图如图34所示。对考生信息,考试信息,和管理员信息,考试套题和考试题目进行添加,就该,删除等管理管理员登录开始结束图34管理员信息实体ER图图35考试套题ER图考试套题包括套题名称、所属课程、添加时间以及有效时间等属性。考试套题ER图如图35所示。考生信息实体包括学生证号、姓名、性别、所学专业、注册时间、登录网站密码、密码提示问题、密码提示答案以IP等属性,考生信息实体ER图如图36所示。图36考生信息实体ER图当答完考题后可以对自己的成绩进行查询,后台管理员也可以对考生成绩进行管理。考生成绩包括学生证号、所学课程、考生总分等。考试成绩信息实体ER图如图37所示。管理员管理员编号管理员姓名管理员编号管理员编号考试套题套题名称所属课程添加时间有效时间学生证号密码提示答案注册IP地址密码提示问题考生性别登录网站密码考生注册时间考生姓名所学专业考生图37考试成绩信息实体ER图342数据库逻辑设计管理员信息表用于保存管理员信息,TB_ADMINISTRATOR表的结构设计如下(1)ID是表的关键字,唯一标识,不可为空。类型为BIGINT,长度为8。(2)NAME是管理员登录名称,可为空。类型为VARCHAR,长度为50。(3)PWD是管理员密码,可为空。类型为VARCHAR,长度为60。(4)JOINTIME是加入时间,可为空。类型为DATETIME,长度为8。默认值为GETDATE。考生课程信息表用于保存指定专业所包含的课程信息,TB_LESSON表的结构设计如下(1)ID是表的关键字,唯一标识,不可为空。类型为BIGINT,长度为8。(2)NAME是课程名称,可为空。类型为VARCHAR,长度为60。(3)OFPROFESSION是所属专业的编号,可为空。类型为BIGINT,长度为8。(4)JOINTIME是添加时间,可为空。类型为DATETIME,长度为8。默认值为GETDATE。考生专业信息表用于保存考试所涉及到的专业信息,TB_PROFESSION表的结构设计如下(1)ID是表的关键字,唯一标识,不可为空。类型为BIGINT,长度为8。(2)NAME是专业名称,可为空。类型为VARCHAR,长度为200。(3)JOINTIME是添加时间,可为空。类型为DATETIME,长度为8。默认值为GETDATE。考试试卷信息表用于保存各套题中所包含的的详细考试题目,TB_QUESTIONS表的结套题名称单选题分数考生总分数考生成绩编号套题编号成绩提交时间多选题分数学生证号所学课程考生构设计如下(1)ID是表的关键字,唯一标识,不可为空。类型为BIGINT,长度为8。(2)QUE_SUBJECT是试题主题,可为空。类型为VARCHAR,长度为50。(3)QUE_TYPE是试题类型,可为空。类型为CHAR,长度为10。(4)QUE_JOINDATE是试题添加时间,可为空。类型为DATETIME,长度为8。默认值为GETDATE。(5)QUE_LESSONID是所属课程号,可为空。类型为INT,长度为4。(6)QUE_PROFESSIONID是所属专业号,可为空。类型为INT,长度为4。(7)QUE_TOATIID是所属套题编号,可为空。类型为BIGINT,长度为8。(8)OPTIONA、OPTIONB、OPTIONC、OPTIOND,分别为选项A、B、C、D。类型均为VARCHAR,长度为50。(9)QUE_ANSWER是试题答案,可为空。类型为CHAR,长度为10。(10)NOTE是注释,可为空。类型为VARCHAR,长度为50。用于试题备注。生信息表用于保存网站注册的学生信息,TB_STUDENT表的结构设计如下(1)ID是表的关键字,代表学生证号,不可为空。类型为VARCHAR,长度为50。(2)NAME是学生姓名,可为空。类型为VARCHAR,长度为20。(3)PWD是学生登录密码,可为空。类型为VARCHAR,长度为20。(4)SEX是学生性别,可为空。类型为VARCHAR,长度为2。(5)JOINTIME是加入时间,可为空。类型为DATETIME,长度为8。默认值为GETDATE。(6)QUESTIONS与ANSWER分别为密码问题、密码答案,可为空。类型均为VARCHAR,长度为50。(7)PROFESSION是所学专业号,可为空。类型为BIGINT,长度为8。(8)IPADDRESS是IP地址,可为空。类型为CHAR,长度为30。用于防止重复考试。考试成绩信息表用于保存考生的考试成绩,TB_STURESULT表的结构设计如下(1)RES_ID是表的关键字,唯一标识,不可为空。类型为BIGINT,长度为8。(2)STU_ID与WHICH_LESSON、TAOTINAME分别是所属学生编号、所属课程名称、所属套题名称,可为空。类型均为VARCHAR,长度为50。(3)TAOTIID是所属套题编号,可为空。类型为BIGINT,长度为8。(4)RES_SINGLE与RES_MORE分别为单选成绩、多选成绩,可为空。类型均为INT,长度为4。(5)RES_SUBDATE是成绩提交时间,可为空。类型为DATETIME,长度为8。默认值为GETDATE。考试套题信息表用于保存课程所对应的套题信息,TB_TAOTI表的结构设计如下(1)ID是表的关键字,唯一标识,不可为空。类型为BIGINT,长度为8。(2)NAME是套题名称,可为空。类型为VARCHAR,长度为50。(3)LESSONID是所属课程号,可为空。类型为BIGINT,长度为8。(4)JOINTIME与LIMITTIME分别是添加时间、有效时间,可为空。类型均为DATETIME,长度为8。JOINTIME默认值为GETDATE。35网站文件组织结构在进行编码之前,为了便于系统文件的管理,按照功能模块划分,将一些WEB窗体文件存放在同一个文件夹里。DEFAULTASPX为网站首页,与密码找回页1INFOPWDASPX、密码找回页2INFOPWDDASPX、密码找回页3INFOPWDDDASPX、考生注册页ZHUCEASPX以及网站配置文件WEBCONFIG放于主文件夹第一级目录中。主文件夹中APP_CODE文件夹为自定义公共类文件夹,其中有公共类文件为DATABASECS;APP_DATA为数据库文件夹;APP_THEMES文件夹里有主题文件夹,用于存放网站的外观文件;HOUADMIN文件夹存放后台网页文件;图片文件则放于IGM文件中;QIANUSER文件夹放置前台管理文件,其中INFO_STURESULTASPX为考生成绩查询页,STAREXAMFRAASPX为在线考试页,XUANZE_TAOTIASPX为在线考试套题页,ZAIXIAN_KAOSHIASPXK为考生规则页,ZHUNBEIKAOSHIASPX为在线考试准备页。4系统详细设计41公共类设计在网站开发项目7中通常以类的形式来组织、封装一些常用的方法和事件,有利于代码的维护,在编程过程中可以起到事半功倍的效果。在线考试网页中创建了一个公共类DATACON,在此公共类中共创建6个方法GETCON,ECCOM,ECADABIND,ECDROPDPWNLIST,ECADABINDINFOSTRING,EXCEREAD。411数据库连接方法GETCON方法用于连接在线考试网的数据库,类型为SQLCONNECTION。相关设计如下PUBLICSQLCONNECTIONGETCON/定义数据库连接字符串STRINGSTRCON“DATASOURCEPC20130423TVFXDATABASEDB_EXAMINATIONUSERIDSAPWDSA“/创建一个新的数据库连接SQLCONNECTIONSQLCONNEWSQLCONNECTIONSTRCON/返回SQLCONNECTION类型的值RETURNSQLCONDATASOURCE为本地计算机名字;DATABASE为数据库名字;USERID和PWD与SQLSERVER2005的登录名和密码相一致均为SA。412执行数据库命令的方法ECCOM方法用于执行对数据库操作的SQL语句命令,如删除操作命令、修改操作命令等。在ECCCOM方法中首先传一个SQL语句,然后与SQLSERVER数据库建立连接,应用SQLCOMMAND对象执行所传来的SQL语句,最后应用TRYCATCHFINALLY语句进行异常处理,如果执行该SQL语句则返回TRUE,反之则返回FALSE。相关设计如下(1)在ECCOM方法中建立一个SQLCONNECTION类的对象,SQLCONNECTION类是SQLSERVER数据库一个打开的连接。(2)然后调用SQLCONNECTION类对象的OPEN()方法用于打开数据库连接。(3)建立SQLCOMMAND类的对象,主要是要对SQLSERVER数据库执行一个SQL语句或存储过程,应用SQLCOMMAND对象执行所传来的SQL语句。(4)在TRY函数中调用MYCOMMANDEXECUTENONQUERY方法,其方法主要是对连接执行SQL语句并返回受影响的行数。(5)最后关闭数据库。在进行数据库相关操作过程中,需通过USING命令,导入命名空间USIMGSYSTEMDATASQLCLIENT,否则程序编译失败。413将数据绑定到表格控件的方法ECADABIND方法用于将数据绑定到表格控件中。在公共类中为实现该方法,编写一个ECADABIND(GRIDVIEWGV,STRINGSQLSTR4)方法,用来执行SQL语句,返回BOOL型。该方法主要执行SQLDATAADAPTER中的语句,并将其绑定到GRIDVIEW控件上,相应功能执行成功后返回TRUE,否则返回FALSE。相关设计如下(1)在ECADABIND方法中调用GETCON方法定义新的数据库连接并打开数据库连接。(2)定义并初使化数据适配器,SQLDATAADAPTER类表示用于填充DATASET和更新SQLSERVER数据库的一组命令和一个数据库连接。(3)创建一个数据集MYDATASET。(4)将数据适配器中的数据填充到数据集中。(5)将此数据集作为表格控件的数据源。(6)在TRY方法中绑定数据库中数据并返回这个数据集。414将数据绑定到下拉列表框的方法ECDROPDPWNLIST方法用于将数据绑定到下拉列表框中。将数据绑定到下拉列表框中主要应用了ECDROPDPWNLIST(DROPDPWNLISTDDL,STRINGSQLSTR3,STRINGSDTF,STRINGDVF)方法。该方法首先传递了4个值,分别为DROPDPWNLIST控件、SQL语句、列表项提供的内容字段和列表项提供值;然后与SQLSERVER数据库建立连接,应用SQLDATAADAPTER对象填充数据集并指定DROPDPWNLIST控件的数据源;最后设置列表项提供的内容字段和列表项提供值所绑定的数据源,应用TRYCATCHFINALLY语句进行异常处理,如果DROPDPWNLIST控件执行DATABIND方法返回TRUE,否则返回FALSE。相关设计如下(1)SQLDATAADAPTERFILL方法是可以重载的,再次主要实现将数据集填充到DATASET中。(2)DATASET是ADONET结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。(3)用于创建和刷新DATASET并依次更新原始数据的步骤包括通过DATAADAPTER使用数据源中的数据生成和填充DATASET中的每个DATATABLE;通过添加、更新或删除DATASROW对象更改单个DATATABLE对象中的数据;电泳GETCHANGES方法以创建只反映对数据进行的更改的第二个DATASET;调用DATAADAPTER的UPDATE方法,并将第二个DATASET作为参数传递;调用MERGE方法将第二个DATASET中的更改合并到第一个中;针对DATASET调用ACCEPTCHANGES。或者,调用REJECTCHANGES以取消更改。415在表格控件中获取主键字段的方法ECADABINDINFOSTRING方法用于将数据绑定到表格控件中,并获取数据表中的主键字段。在表格控件中获取主键字段的方法,主要应用了公共类中的ECADABINDINFOSTRING(GRIDVIEWGV,STRINGSQLSTR5,STRINGDNK)方法,该方法与ECADABIND方法类似。该方法用来执行SQL语句,返回BOOL型,主要执行SQLDATAADAPTER中的语句,并将其绑定到GRIDVIEW控件上显示其主关键字段的名称,相应功能执行成功返回TRUE否则返回FALSE。相关设计如下SQLCONNECTIONCONTHISGETCONCONOPENSQLDATAADAPTERMYDATAADAPTERNEWSQLDATAADAPTERSQLSTR5,CONDATASETMYDATASETNEWDATASETMYDATAADAPTERFILLMYDATASETGVDATASOURCEMYDATASETGVDATAKEYNAMESNEWSTRINGDNK利用DATAKEYNAMES方法在GRIDVIEW控件上显示数据源的主关键字的名称。416数据读取的方法EXCEREAD方法用于读取数据库中的数据,返回一个SQLDATAREADER。数据读取方法主要应用到公共类中的EXCEREAD方法。首先调用公共类中的GETCON方法创建一个新的数据库连接对象,接着创建一个SQLCOMMANG命令对象,然后应用该命令对象的EXECUTEREADER方法创建一个数据阅读器,用来读取数据库中的数据,最后返回一个SQLDATAREADER类对象。相关设计如下SQLCONNECTIONCONTHISGETCONCONOPEN/创建一个SQLCOMMAND对象,表示要执行的SQLCOM语句或存储过程SQLCOMMANDSQLCOMNEWSQLCOMMANDSQLCOM,CONSQLDATAREADERREADSQLCOMEXECUTEREADERRETURNREAD42前台设计根据网络在线考试网的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩以及退出登录。网络在线考试网的前台功能如图41所示。图41网络在线考试网前台功能模块图网络在线考试网前台系统考生注册开考试结果查询成绩退出系统在线考试找回密码考生/管理员登录准备考试选择考试课程和套题考试规则开始考试421在线考试登录页设计考生和管理员需要通过登录页面进入在线考试网。考生在登录在线考试网之前,首先需要通过登录页面进行注册。为了防止考生忘记密码,提供了找回密码的功能。在线考试网登录页面的运行效果如图42所示。图42在线考试网首页本模块使用的数据表TB_ADMINISTRATOR、TB_STUDENT,DEFAULTASPX页面为主页面。相关设计如下(1)在页面中拖放1个TEXTBOX控件,名称为TXTVALIDATE,用于录入登录验证码。在PAGE_LOAD事件中,首先调用随机验证码,应用验证码技术可以防止用户恶意注册。IFISPOSTBACKRANDOMRNDNEWRANDOMTHISLABVALIDATETEXTRNDNEXT1000,9999TOSTRING利用IF语句判断是否首次加载。(2)在页面中拖放1个BUTTON控件,控件名称为BTNLOGIN,TEXT属性设置为“登录”,用于考生登录。在处理登录页面提交数据时。首先会根据“管理员登录”复选框的值来判断是否登录管理员页面,所以利用一个CHECKBOX控件验证是否为管理员登录,将控件命名为CBLADMINLOG。如果该复选框被选中则执行核对用户名、密码和验证码而进入管理员页面,否则进入考生页面。输入完相关的用户名。密码和验证码后,单击“确定”按钮,提交登录信息。如果是管理员则调用IF条件中的GETCOM1方法;如果不是管理员登录,调用ELSE中GETCOM2方法。(3)在自定义GETCOM方法中,如果是CASE1要判断数据库中是否存在数据;如果是CASE2要设置SQLCOMMAND命令对象的TEXT属性,还得定义一个INT型变量COUNT2,返回所查询数据表的第一行第一列,如果COUNT20,应用APPLICATION对象保存用户ID及密码。(4)在主页中必定会设置忘密以便考生找回密码。所以应有一个名为BTNPWD的BUTTON控件来作为考生忘密的按钮。除此之外,应添加一个TABLE控件作为整个页面布局;一个名为BTNZHUCE的BUTTON控件,用于考生注册;2个TEXTBOX控件,名称分别为TXTPWD和TXTUSERNAME,分别用于录入登录密码录入登录考生学生证号。422密码找回页设计很多情况下,考生会将密码遗忘或丢失,这样就无法登录自己的学生账号,为了避免造成不必要的损失,设计了密码找回功能。密码找回主要分为3个页面来完成。页面1输入已注册的学生证号;页面2系统会根据输入的学生证号把相应的密码问题列出来,然后输入密码问题答案;页面3,如果问题答案正确,则成功找回密码。(1)在登录页面中单击“忘密”按钮,进入忘记密码页面1。在页面中输入学生证号,单击“确定”按钮,系统会自动核对其是否存在。忘记密码页面1的运行效果如图43所示。图43忘记密码页面1相关设计如下IFCOUNT0SESSION“ID“TXTSTUIDTEXTPAGERESPONSEREDIRECT“INFOPWDDASPX“ELSERESPONSEWRITE“ALERT无此学生编号、或输入有误LOCATIONJAVASCRIPTHISTORYGO1“RETURNIF语句用来判断输入的学生证号是否存在,如果存在,则页面直接跳转找回密码页面2,并利用SESSION对象保存用户ID。(2)如果输入的学生证号存在,则进入忘记密码页面2,在该页面中需要输入该学生在注册时设置的密码问题的答案,然后单击“确定”按钮。如核对无误,则进入忘记密码页面3,并在页面中显示出该学生的密码;如果不正确,则显示提示信息。忘记密码也2和忘记密码页3运行效果分别如图44和45所示。图44忘记密码页面2图45忘记密码页面3相关设计如下SQLCOMMANDMYCOMNEWSQLCOMMAND“SELECTCOUNTFROMTB_STUDENTWHEREANSWER“TXTANSPWDTEXT“ANDID“CONVERTTOSTRINGSESSION“ID“,CONINTCOUNTCONVERTTOINT32MYCOMEXECUTESCALARIFCOUNT0PAGERESPONSEREDIRECT“INFOPWDDDASPX“ELSERESPONSEWRITE“ALERT提示问题答案输入有误LOCATIONJAVASCRIPTHISTORYGO1“RETURN在创建SQLCOMMAND对象以后,执行SQL语句命令,用IF语句判断数据库是否存在考生数据。423考生注册页设计要进入在线考试系统,考生首先需要注册一个学生证号。单击在线考试系统登录页中“注册”按钮,进入考生注册页面。考生注册页面中输入考生的基本信息,包括学生证号、学生姓名、密码、密码问题、密码答案、性别和所学专业,运行效果如图46所示。图46考生注册页另外,该考生注册页应用了AJAX无刷新检测用户名的技术。为了防止学生证号重复,可以通过单击“检测注册号”按钮进行检测。考生输入注册的学生证号后通过检测显示在数据库中无此号,可以注册。运行效果如图47所示。图47检测考生注册页该网页的设计使用的数据表TB_PROFESSION、TB_STUDENT。相关设计如下(1)在后台代码的PAGE_LOAD事件中,首先调用公共类中的ECDROPDOWNLIST方法,将考生姓名绑定到DROPDOWNLIST控件。(2)添加一个BUTTON控件,名为BTNRES,用于考生注册。单击该注册页面中的“注册”按钮,触发其CLICK事件,将注册信息添入到数据库中,调用公共类中的ECCOM,执行SQL语句命令。相关设计如下DATACONNECCOM“INSERTINTOTB_STUDENT“ID,NAME,PWD,QUESTION,ANSWER,SEX,PROFESSION“VALUES“THISTXTSTUIDTEXT“,“THISTXTSTUNAMETEXT“,“THISTXTSTUPWDTEXT“,“THISTXTQUEPWDTEXT“,“THISTXTANSPWDTEXT“,“THISDDLSEXTEXT“,“CONVERTTOINT32DDLPROFESSIONSELECTEDVALUE“(3)为避免考生输入的学生证号与已注册的学生证号重复,导致注册失败,在考生注册页面中添加了一个“检测注册号”按钮,来检查该注册的学生证号是否已经存在。在该按钮触发事件中,主要应用了数据阅读器读取数据库中数据判断注册号是否存在。相关设计如下调用公共类中的EXCEREAD方法,读取数据库中的数据SQLDATAREADERREADDATACONNEXCEREAD“SELECTFROMTB_STUDENTWHEREID“THISTXTSTUIDTEXT“424在线考试页设计在线考试页的主要功能是允许考生在网站上针对指定的专业和课程进行考试。在该页中,考生首先需要阅读考试规则,在同意所列出的考试规则的前提下,才能选择考试课程和套题;然后进入考试进行答题,如图48所示。图48在线考试页当考生提交试卷或者到达考试结束时间时,系统将自动对考生提交的试卷进行评分,并给出最终考试成绩。(1)考生在线答卷时首先需要选择套题,系统需要根据考生提交的科目和套题信息从数据库中获取相应题目,然后DATALIST控件显示出来。这里首先需要通过APPLICATION变量获取上一页中考生选择的科目和套题信息,然后根据这些信息从数据库中提取考试题目。相关设计如下PROTECTEDVOIDGETCOMINTISTRINGDD1APPLICATION“D1“TOSTRINGSTRINGDD2APPLICATION“D2“TOSTRING(2)首先创建公共类DATACON的类对象,以便在后面程序调用其方法,然后自定义4个INT类型的全局变量INT_ROW1,INT_ROW2,INT_ROW1POINT,INT_ROW1POINT,用来分别表示单选题号、多选题号、单选分数和多选分数。在页面加载的PAGE_LOAD事件中编写如下代码,用于从数据库中提取出相应题目。相关设计如下PROTECTEDVOIDPAGE_LOADOBJECTSENDER,EVENTARGSEIFISPOSTBACKTHISGETCOM1THISGETCOM2(3)单击“交卷”按钮,首先通过SESSION变量获取学生ID和其选择的科目及套题,然后调用GETCOM方法来执行提交考卷操作。相关设计如下LABEL3VISIBLELABEL4VISIBLELABEL7VISIBLELABEL8VISIBLELABEL9VISIBLELABEL10VISIBLETRUETHISLBLSTUIDTEXTSESSION“STUNAME“TOSTRINGTHISLBLSUBJECTTEXTSESSION“SELLESSION“TOSTRINGTHISLBLQUESTIONTEXTSESSION“SELTITLE“TOSTRINGTHISGETCOM3THISGETCOM4THISLBLTOTALTEXTCONVERTTOSTRINGINT_ROW1POINTINT_ROW2POINTDATACONNECCOM“INSERTINTOTB_STURESULT“STU_ID,WHICH_LESSON,TAOTIID,TAOTINAME,RES_SINGLE,RES_MORE“VALUES“LBLSTUIDTEXT“,“LBLSUBJECTTEXT“,“APPLICATION“D2“TOSTRING“,“LBLQUESTIONTEXT“,“INT_ROW1POINT“,“INT_ROW2POINT“THISGETCOM5RESPONSEWRITE“ALERT您确定要交卷吗LOCALTIONSTARTEXAMFRAASPX“分别将显示考生证号、考试得分等的LABLE控件可视化;分别调用GETCOM3、GETCOM4核对单选与多选答案,最后计算总分。图43免费供求信息发免费供求信技术分析当用户发布供求信息通43后台设计后台主要用于管理员对考生信息、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论