C#网上考试毕业论文.doc_第1页
C#网上考试毕业论文.doc_第2页
C#网上考试毕业论文.doc_第3页
C#网上考试毕业论文.doc_第4页
C#网上考试毕业论文.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

河南科技大学本科毕业设计(论文)网上考试系统 后台管理摘 要本系统实现了网上考试的目的,以减轻教师的工作负担及提高工作效率,并能激发学生的学习兴趣。此网上考试系统采用三层结构的B/S模式开发。本系统主要面向三类人员使用:普通学生、教师、管理员,他们拥有不同的权限。此网上考试系统主要有用户登录、新用户注册、用户管理、在线考试、管理员登录及相关信息管理等功能。本文主要介绍系统的总体设计以及着重研究了管理员对信息的管理、自动阅卷以及试卷断线处理的实现,并在此基础上建立了后台数据库。信息管理方面主要包括角色管理、教师信息管理、考生信息管理、试题分类管理、题库管理和成绩管理。自动阅卷功能用来实现当考生答完试题提交后,对其进行打分并显示给考生。试卷断线处理功能的作用是当考生在答题的过程中电脑出现故障时而被迫重新登录时,可以继续完成剩余的试题而无需重新答题。本系统能够节约考试成本,提高考试工作的效率,使用的过程是通过试题的制定与发布、试卷的生成、考试结果的公布与查询来实现无纸标准化考试,从而使考试可以方便地通过 Internet和局域网进行。系统采用ASP.NET技术,以C#为开发语言,并通过SQL Server 2005和Visual Studio 2005实现所需的功能。关键词:网上考试,B/S模式,ASP.NET,自动阅卷,断线处理THE ONLINE EXAM SYSTEM (BACKGROUND MANAGEMENT)ABSTRACTThis system has realized the goal of online test .This system could reduce the burden on teachers and increase efficiency, and stimulate the students interest in learning. The online exam system mainly uses the B/S mode which is a three-tire structure.This system primarily faces to three personnel usages: common student, teacher, administrator, and they own the different legal power. The functions of the system are users login, the new users registration, users management, online examinations, administrators login and the management of interrelated information, and so on. This paper describes the design and focuses on the realization of administrators information management, correcting papers and the treatment of papers interruption, and based on this basis, builds a background database. Information management includes role management, teachers information management, students information management, test classify management, test question management, and result management. The function of examining test paper automatically is used to make the score and demonstrate to the examinee, after the examinee answers the test questions completely. When the computer is broken down and the examinee has to login again, the system has the function which can be used to complete the rest of the examination.This system can economize the cost and increase the efficiency of the examination. The usages process of standardize examine without papers is the establishment and the publication of test paper, creating test paper, announcing and searching the result, thus make examination can expediently be used by the Internet and intranet. The system adopts ASP.NET technology and C# programming language, by using the tools of SQL Server 2005 and Visual Studio 2005.KEY WORDS: Online Examination, Browser/Server,ASP.NET, Examining Test Paper Automatically,Treatment Of Interruption28目录前言1第1章 系统概述21.1 系统提出的背景和意义21.2 网上考试的工作原理21.3 C#编程简介31.4 ASP.NET 开发环境简介3第2章 需求分析52.1 系统需求分析52.2 系统的可行性分析5第3章 数据库设计73.1 概念结构设计73.2 逻辑结构设计83.3 存储过程的设计12第4章 总体设计134.1 功能模块134.2 系统流程14第5章 系统实现165.1 学生信息管理165.1.1 添加学生信息185.1.2 修改学生信息185.1.3 删除学生信息185.2 教师信息管理185.3 角色信息管理195.4 试题分类管理195.5 题库管理195.5.1 选择题管理205.5.2 阅读题管理225.5.3 完型填空题管理245.6 成绩管理245.7 自动阅卷245.8 试卷断线处理25第6章 软件测试276.1 测试环境276.2 测试计划276.3 测试记录27结论28参考文献29致谢30前言随着计算机技术的发展和互联网时代的到来,人们已经进入了信息时代,即数字化时代,在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行学习,老师希望有效改进现有的考试模式,提高考试的效率,教育机构也希望给网上的学生提供更全面灵活的服务。此次设计的网上考试系统采用开放、动态的系统架构将传统的考试模式与先进的网络应用相结合,可以让学生随时随地进行相关的考试,其操作简单方便,界面简洁美观。远程教育和网上考试如今已经成为网络研究与应用的热点之一,它可以解决当前知识更新周期急剧缩短、人才急需再培训、师资力量短缺等难题,有着广阔的研究与应用前景和巨大的社会经济效益,在国外一些发达国家已经得到了蓬勃的发展,并成为现代教育的有力补充。在国内,传统的考试方式已经不再适应远程教育的发展,网上考试尚处于试点阶段。现阶段国内的网上考试系统有驾照考试系统、计算机等级考试系统等,然而这些网上考试系统都是C/S模式,由于各种客户端环境的不同,升级、发布、使用都十分困难,而且需要考生到规定的场所进行考试,使用极其不方便。同时,这些系统中的考题基本上都是固定不变的,很容易使考题外泄而无法公平地衡量考生的真正水平。因此网上考试系统除了能够实现自动生成考试套题、自动提交考生的试卷、自动阅卷等功能之外,必须要保证其试题的不断更新,也就是说,教师要将自己设计好的试题根据不同的类型输入系统,并对原有的试题进行修改和维护,经过不断的完善后,网上考试系统将会越来越适应社会发展的需要。第1章 系统概述1.1 系统提出的背景和意义现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,因此传统的考试方式已经不能适应现代考试的需要。多年来,伴随着社会的发展,各个学校无论是从硬件上还是从软件上都拥有了一定的基础条件,大学教育中网上考试系统的建设势在必行。我们所设计的“网上考试系统”主要是为广大考生及其教师提供一个方便的场所,让大家可以通过互联网进行在线考试,相信它会给广大考生提供方便快捷的学习途径。本系统将提供一个针对大学生的英语在线考试的网站,学生可以通过校园网或互联网访问该网站,可以按照教师的建议或各自的计划对所学知识进行测验;教师可以通过网站提供的环境对学生的学习情况进行动态管理,并依据网站记录的考试成绩给出对每一位学生客观的综合评价。网上考试系统减轻了教师的工作负担并提高了工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。此次开发的网上考试系统,旨在探索一种以互联网为基础的考试模式。通过这种新的模式,为大学中英语的考试创造一种新的考试环境,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。基于这些优点,我开始着手开发“网上考试系统”。1.2 网上考试的工作原理网上考试系统为考生提供的功能有:登录、注册、在线考试、查看自己的成绩等;为教师提供的功能有:登录、对自己负责的试题类型的题库进行管理、查看选择此考试类型的考生的成绩等;管理员拥有最高的权限,能够管理所有的信息。此网上考试系统中题库里的题目一经发布,则可在考生进行考试时动态生成一套试卷,即实现随机出题的功能。试卷的提交和成绩的批阅均由网络自动完成,并将答题情况透明地显示给考生。此系统使用起来极为方便,操作也很简单,实现了考试信息管理以及考试流程的系统化、规范化和自动化,能够在英语考试中发挥高效、便捷的作用。1.3 C#编程简介Microsoft Visual C#是Microsoft的一种强大的、面向组件的语言。C#在Microsoft.NET Framework构架中扮演着一个重要的角色,一些人甚至将它与C在UNIX开发中的角色相提并论。它在C+和Microsoft Visual Basic的基础上去芜存菁,最终成了一种更加清晰、更富有逻辑的语言。随着C#语言的不断完善,其中又新增了包括泛型、迭代器和匿名方法等重要特性,与Microsoft Visual Studio 2005结合使用将显著提高开发者的工作效率。1.4 ASP.NET 开发环境简介ASP.NET是目前最为流行的开放式的Web服务器应用程序开发技术,使用它可以将HTML语言、脚本语言和ActiveX控件组合在一起,编写出动态、交互且高效率的基于Web的应用程序。ASP.NET是统一的Web开发平台,是一个已编译的、基于.NET环境,可以用任何与.NET兼容的语言(包括C#.NET、Visual Basic.NET和Jscript.NET)创作应用程序。由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。ASP.NET具有以下优点:灵活性:ASP.NET使用的是.NET框架提供的“通用语言运行时”,它负责管理代码的执行,并允许以不同语言创建的对象互相进行交互行为,从而排除了语言的障碍,使得Web应用程序的开发效率更高。简易性:在集成的.NET框架中,ASP.NET可以非常方便地开发Web应用程序和XML Web服务,同时站点的配置和发布也非常方便。可管理性:ASP.NET中取消了组件注册以及DLL锁定,全面使用了XML配置文件,只需要执行复制文件的工作就能配置一个Web应用程序。安全性:随着Web应用程序的日益强大和完善,安全性也变得越来越重要。开发人员不仅需要保护应用程序和站点免受攻击,而且还必须设法确保数据的安全性和完整性。ASP.NET提供了很多高级安全功能,包括实现身份验证和授权解决方案的机制、对角色和身份标识的支持,可以实现自定义身份验证和授权的架构,确保代码访问安全。ASP.NET和IIS一起为用户提供验证服务,此外,ASP.NET还提供了Cookies,帮助建立一种基于用户Form的验证方式,通过Cookies用户的应用程序可以用自己的代码和逻辑实现用户定义的可信性验证。ASP.NET包含数据访问工具,利用这些工具,我们可以方便地设计站点,允许用户通过Web页与数据库进行交互。在此网上考试系统中使用的是SQL Server .NET Framework 数据提供程序来访问SQL Server 2005数据库。 第2章 需求分析2.1 系统需求分析对现行考试业务进行详细调查是了解系统需求和进行系统分析和设计的重要基础工作,因此要对关于英语考试工作进行全面、细致而充分的调查研究。系统调研采取的主要方法是到一些网上考试的现场去,通过座谈、询问、观察甚至直接参与考试活动,自上而下、逐步细化的进行了解。通过调查得知,原有的人工操作在考试活动中占绝大部分,具体的考试经过是:教务处下发或转发考试通知,联系有关的老师出卷,安排、检查考场及所需设备,组织监考人员培训和做好考前宣传、公布考场地点及考试时间、发放准考证等前期准备工作,然后是印刷试卷、考试、阅卷、填分、公布学生成绩、总结、备案、打印通知书等。在考试的部分环节已用到了计算机,如打印试卷、打印有关材料、学生成绩处理与公布等。为适应当前网络技术新形势的发展,把考试与网络技术和数据库技术结合起来,实现自动生成试卷,自动阅卷及成绩的查询等功能,保证考试的正规性及标准化,所以要求建立一个基于网络的无纸化考试系统。2.2 系统的可行性分析可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、操作的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。从经济上来讲,主要是对项目的经济效益进行评价,本系统开发所需的硬件和软件设施目前大多数的PC机系统都能够承担,并且开发费用不高。该软件系统的安装、部署、运行和维护都相当的方便且价格低廉,因此本系统在经济上是可行的。技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。从技术上来讲,本系统使用ASP.NET和SQL Server 技术开发,并使用C#编程语言,所有的界面均采用目前较为流行的B/S模式构建,同时,通过在SQL Server中建立存储过程来实现系统中数据的相关处理。微软公司的SQL Server数据库能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。从管理和操作上来讲,此系统的管理制度和方法科学,规章制度齐全,原始数据正确,为系统的建设提供了制度保障。同时,此系统操作起来极为简单,大多数的PC机和局域网都能够使用此系统,其安装、调试和运行不会对原有的计算机的系统和网络产生任何影响。从社会需要方面上来讲,目前的大学校园网络覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院、各智能部门、各直属单位上网需求。学校良好的网络设施为开发使用网上考试系统提供了坚实的基础。第3章 数据库设计数据库设计是对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库是整个系统的核心和基础,把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使系统可以方便、及时、准确地从数据库中获得所需的信息。系统数据库平台的选择需要从数据容量、数据库管理功能、安全性等方面综合考虑。SQL Server数据库管理系统一方面能完全满足数据存储量和功能的需要,用户可以使用Web浏览器查询存储在SQL Server 2005数据库中的数据,符合系统远程访问数据库的要求,每个数据库可以创建大量的数据表,数据表中记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。另一方面有较完备的数据库安全机制,所以本系统采用微软公司的SQL Server 2005作为服务器数据库平台。3.1 概念结构设计数据库主要用来更方便地管理系统中存在的所有数据,对于一个网上考试系统而言,需要大量的考试题目作为系统的资源,这就要求系统一定要有一个大型的数据库来管理这些数据。在此网上考试系统中,数据库用来存储用户信息、角色信息、试题分类的信息、题库中包含的选择题、完型填空题和阅读题的信息、学生的成绩以及当学生答题过程中出现断线时对当前试题状态的信息的保存。系统E-R图为:图31网上考试系统E-R图3.2 逻辑结构设计逻辑结构设计即将ER图转变为关系模型,要解决的问题就是如何将实体和实体之间的联系转换为关系模式。考虑到整个系统的需要,我们一共设计了以下几个数据库表:角色表、试题分类表、用户表、选择题表、完型填空题干表、完型填空题目表、阅读题干表、阅读题目表、成绩表、试卷暂存表。用户表主要用来存放管理员、教师和学生的详细信息,由于系统中需要对数据进行提取和传值,因此建立一个总体的用户信息表。表31用户信息表表名:Users中文名:用户信息表字段名数据类型及长度中文含义约束IDint自动增长ID主键UserIDVarchar(50)用户编号UserNameVarchar(50)用户名称UserPasswordVarchar(50)用户密码EmailVarchar(50)邮箱RoleIDVarchar(50)角色编号外键ClassifyIDVarchar(50)试题分类编号外键选择题表主要用来存放此题型的各题的信息,为了防止相同的题目存在,将其编号设定为唯一标识号。使分类编号作为外键,用来区分此题目属于哪类试题。表32选择题信息表表名:XZ中文名:选择题信息表字段名数据类型及长度中文含义约束XZIDuniqueidentifier选择题编号主键IDint自动增长IDXZNametext题目内容Atext选项ABtext选项BCtext选项CDtext选项DAnswerint答案IfIssueVarchar(50)是否发布Scoreint分值ClassifyIDVarchar(50)试题分类编号外键完型填空题的存放比选择题较为复杂,每道题包括一个题干和若干个小题,每个小题有四个选项,因此需要建立两个表分别来存放题干和所有的小题。阅读题和完型填空题类似。表33完型填空题干信息表表名:WXTK中文名:完型填空题干信息表字段名数据类型及长度中文含义约束WXTKIDuniqueidentifier完型填空题干唯一标识编号主键IDint自动增长IDWXNametext题干内容IfIssueVarchar(50)是否发布ClassifyIDVarchar(50)试题分类编号外键表34完型填空题目信息表表名:WXTKDetail中文名:完型填空题目信息表字段名数据类型及长度中文含义约束IDint自动增长ID主键WXNumberint 题号Atext选项ABtext选项BCtext选项CDtext选项DAnswerint答案Scoreint分值WXIDVarchar(50)题干编号外键本系统将成绩分为三部分,即选择题成绩、完型填空题成绩和阅读题成绩,因此在建立成绩表时,要分为不同的字段进行记录。表35成绩信息表表名:Result中文名:成绩信息表字段名数据类型及长度中文含义约束IDuniqueidentifier成绩唯一标识编号主键ClassifyStatusVarchar(50)分类考试状态XZint选择题成绩WXTKint完型填空题成绩YDint阅读题成绩Resultint总成绩UserIDVarchar(50)用户编号外键ClassifyIDVarchar(50)试题分类编号外键暂存表的作用主要是:当学生在考试过程中电脑出现问题被迫中断考试,学生抽到的此套考试试题和已经做过的试题的答案将被保存在暂存表中,当学生再次进入系统时,系统会将此套试题和学生的答案显示出来,学生可以继续答题。表36暂存试题信息表表名:TestPaper中文名:暂存试题信息表字段名数据类型及长度中文含义约束IDint自动增长ID主键testIDuniqueidentifier题目唯一编号TypeVarchar(50)题型numint题目在套题中对应的题号stuanswerint学生答案UserIDVarchar(50)用户编号外键ClassifyIDVarchar(50)试题分类编号外键3.3 存储过程的设计存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在SQL Server 的系列版本中存储过程分为两类:系统提供的存储过程和用户自定义存储过程。在系统的设计过程中,采用的均为用户自定义的存储过程,通过它们来实现对数据的查询、添加、修改、删除等处理。在系统中之所以采用存储过程是因为存储过程在被创建以后可以在程序中被多次调用,而不必重新编写该存储过程的SQL 语句。而且数据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响(因为应用程序源代码只包含存储过程的调用语句),从而极大地提高了程序的可移植性。在SQL Server 2005中建立相关的存储过程,自己定义存储过程的名字,根据哪些字段从那个表中查询数据,然后进行分析和执行,若无提示错误则存储过程被成功建立。在本系统中,用C#调用存储过程时,要先在系统中建立一个类,在类中可以定义多个方法,在每个方法中可以调用存储过程。在调用时,先建立一个新的数据库连接并将其打开,即SqlConnection myConnection = new SqlConnection(SQLHelper.DBCONNECTIONSTRING);然后生成一个SqlCommand对象对数据库执行一个存储过程,向命令对象填充参数后执行存储过程,执行完毕后关闭连接。第4章 总体设计4.1 功能模块系统的总体设计的主要任务是将整个系统合理地划分成各个功能模块,正确处理模块之间与模块内部的联系以及它们之间的调用关系和数据关系,定义各模块的内部结构等。通过对系统的进行需求分析后,可以基本上总结出系统所需的所有功能,针对这些功能对系统做出总体的设计。系统应该具备的基本功能1.用户注册和登录:用户可以进行注册,然后登录。2.用户信息的修改:用户可以根据需要修改密码。3.管理员对信息的管理:角色管理、学生信息管理、教师信息管理、试题分类管理、题库管理、成绩管理。4.教师对信息的管理:试题有多种分类(大学英语、四级、六级),因此不同的教师对应不同的分类,教师只能管理其对应的考试类型的相关信息,即题库管理和成绩管理。5.试卷的生成:从题库中随机抽取试题生成一份原始试卷。6.在线考试:系统严格控制整个考试过程,采用倒计时的方法进行时间的控制,学生必须在限定的时间内交卷,否则系统会在考试结束时强制自动交卷。7.自动阅卷:本系统将题型分为选择题、完型填空题和阅读题,考生交卷后,系统将自动阅卷,将每个题型的分数和总分数显示出来。8.试卷断线处理:当考生在答题的过程中电脑出现故障时而被迫重新登录时,可以继续完成剩余的试题而无需重新答题。系统的功能结构图如图41所示:图41网上考试系统功能结构图4.2 系统流程在本系统中,我负责实现的模块是管理员对信息的管理,教师对信息的管理,自动阅卷和试卷断线处理模块。输入系统所在的网址将进入登录主界面,选择用户身份,即管理员或教师,系统将会对用户输入的信息进行判断,如果是管理员,则进入管理员对信息的管理主界面,管理员可以修改密码,可以对角色信息、试题分类信息、学生和教师的信息、题库信息和成绩信息进行管理。如果登录的是教师,则进入教师对信息的管理主界面,教师可以修改自己的密码,对自己所负责的考试类型的题库信息、学生的成绩信息进行管理。当管理员或教师对信息的操作完成点击退出系统时,系统会进行相应的判断,如果用户不选择退出,则系统返回到信息管理主界面,如果用户选择退出,则系统关闭。系统的流程图如图42所示:图42网上考试系统流程图第5章 系统实现本系统主要采用浅蓝色为主色调,给用户一种清新的感觉。我们的网站标志为:图5-1 网上考试系统Logo5.1 学生信息管理管理员可以对学生的信息进行添加、修改、删除。在学生信息管理界面中,要先绑定数据库使学生信息显示出来,管理员可以选择查询的条件来查询具体的数据,可以点击“新增”按钮,在新的页面中添加新的学生信息。在绑定数据库时,除了添加表中的字段外,还要添加两个新列,将其Text属性设置为查询/修改和删除,并将DataNavigateUrlFormatString属性分别设置为修改页面AdminModifyStudent.aspx?ID=0和删除页面DeleteStudent.aspx?ID=0。当用户登录时,其输入的用户名会传入系统的Session中,当管理员没有输入自己的用户名,试图改变地址栏中的地址进入系统中的相关页面时,系统会判断Session中的值是否为空,如果为空,说明用户没有输入用户名,系统会一直显示系统的登录界面,这样就增强了系统的安全性。Session对象是用来储存跨网页程序的变量或是对象,它只针对单一网页使用者,也就是说各个连接的机器有各自的Session对象变量,不同的客户端无法互相读取。Session对象变量终止于联机机器离线时,也就是当网页使用者关掉浏览器或超过设定Session变量对象的有效时间时,Session对象变量就会消失。Session对象是属于Page对象的成员,可以直接使用。当进入页面时,还要用Page.IsPostBack语句判断此页面是否是第一次被加载,如果Page.IsPostBackfalse,则说明该页是第一次生成,然后进行数据库的绑定,这个判断可以减轻服务器的负担,避免不必要的重复进行数控绑定。页面中采用GridView控件来显示数据,为了方便用户查看,可对所有的数据进行分页,实现此功能的代码为GridView1.AllowPaging=true,当然也可以设定每一页要显示多少条数据,用GridView1.PageSize来实现,在本系统中,我将其设定为5,即每页显示5条数据。当单击某一页导航按钮时,在GridView控件处理分页操作之前会激发GridView.PageIndexChanging事件,使其显示新页中的数据。为了提高页面的响应性能,我采用缓存数据的缓存机制,也就是使用编程的方式将包含数据的对象存储在服务器内存中,这样应用程序就可以节省重新创建这些对象所需的时间。当页面被首次加载时把所需的数据缓存到DataSet中,以后使用这些数据就直接从DataSet中获取即可,无需重新访问数据库。在学生信息管理页面里使用了先前在类里定义的getStudentAllInfo()方法,其作用是用来获得学生的所有信息,在此方法中通过调用存储过程Pr_Student_selectAllInfo 在数据库中查询关于学生的所有的信息。学生信息管理页面如图52所示:图5-2学生信息管理5.1.1 添加学生信息新增学生信息时,必须输入完整的学生资料,即通过判断表示学号、姓名和密码的TextBox是否为空来查看输入的信息是否完整。在此页面里,使用类中定义的ifStuExist()方法和AddUser()方法。1.ifStuExist():用来判断管理员所添加的学生信息是否已经存在,此方法会调用存储过程Pr_student_ifExist读取数据库中的数据。如果此学生信息已经存在,系统会出现一个小的对话框提示管理员,并将所有的TextBox清空。2. AddUser():此方法的作用是实现学生信息的添加。5.1.2 修改学生信息在修改学生信息时,要先将所选定的原有的数据读取到页面的TextBox中,然后再进行修改。getStudentInfoAsId()方法的作用是通过Session中存储的学生的ID号得到学生的详细信息,然后存放在内存中的虚拟表StudentInfo中。方法中的DataTable可以独立创建和使用,也可以由其他对象创建和使用。DataTable对象通常作为某个DataSet对象的成员存在,可以通过DataSet对象的Tables属性来访问DataSet对象中的DataTable。5.1.3 删除学生信息删除学生信息时,也需要将想要删除的原有的数据读取到页面的TextBox中,与修改信息不同的是页面中的TextBox均被设置为只读,即用户无法改变其内容。5.2 教师信息管理管理员可以对教师的信息进行添加、查询、修改和删除,与其他管理不同的是,本系统的考试分为不同的类型(例如大学英语、英语四级、英语六级等),每位教师只能负责一种类型的考试,因此管理员可以对教师负责的考试类型进行修改。其实现方法与学生信息管理类似,在此不做过多介绍。5.3 角色信息管理本系统中的角色有管理员、学生、教师等,不同的角色,其访问本系统的权限不同。管理员可以对其进行添加、查询、修改和删除。5.4 试题分类管理系统中初步将试题分为大学英语、英语四级和英语六级,随着用户需求的不断变化,管理员可对其进行变动,然后选择不同的教师来管理不同的考试类型。5.5 题库管理在本系统中,我将试题分为三种题型,即选择题、完型填空题和阅读题。由于题型不同,其添加和修改的方法也有所不同。选择题的管理相对较为简单,只需输入题干、选项和答案并将其存放到数据库中即可,但完型填空题和阅读题都涉及到一个题干拥有多个小题,每个小题又都包含有四个选项,并且阅读题除了包含多个小题外,每个小题还都包含有一个题干,这就增加了管理的难度,因此我将题干和它所拥有的小题分为两部分,分别存入数据库所包含的不同的表中,通过一个唯一标识编号将题干和它所包含的题目连接起来。管理员和教师均可管理题库中的信息,但不同的是,管理员可以管理所有的题库,即对所有考试类型的三种题型进行管理。而教师由于负责不同的考试类型,因此只能管理其负责的考试类型的题库,其他类型的试题对其均不可见。题库管理页面如图53所示:图5-3题库管理5.5.1 选择题管理当进入试题的管理界面时,此界面中有个隐藏的TextBox控件,它的作用是将用户表中的分类字段(即ClassifyID)的内容通过Session传值给这个TextBox,接着系统会进行判断,如果为空,则说明是管理员进入此界面,通过getTestAllInfo()方法使GridView中显示所有试题的内容;如果TextBox控件中有分类的标识,则说明是负责某类考试类型的教师进入此界面,通过getTestInfoAsClassifyID()方法使GridView中显示此教师所负责的类型的试题信息。在此界面中,管理员或教师可以选择不同的查询条件对选择题的信息进行查询,可以通过不同的链接进入到其他新的界面里对数据进行不同的操作。选择题管理页面如图54所示:图5-4选择题管理1.添加选择题管理员和教师均可以对选择题进行添加,但两者在功能的实现上有所不同。如果是管理员进入此页面进行题目的添加,页面中的DropDownList控件将显示出来,此控件所表示的是当前试题分类的ID,使用getClassifyNameAsClassifyID()方法通过试题分类的ID在数据库中找到与其相对应的试题分类名称,并显示在表示分类名称的TextBox中。如果是教师进入此页面,页面中的TextBox控件显示而DropDownList控件隐藏,并且表示试题分类ID的TextBox控件和与其相对应的分类名称的TextBox控件均设置为只读。添加选择题的页面如图55所示:图5-5添加选择题2.修改和删除选择题修改选择题和添加选择题的方法大体相同,均需要调用存储过程对数据库进行添加或更新。如果操作的是管理员,则可以修改试题的考试类型,如果是教师,则显示当前题目的类型,教师不能对其做任何改动。管理员和教师都可以对题目的详细信息进行修改和保存。删除选择题时,系统会将所选择的数据的值传给删除页面的控件中,提示用户是否确定要删除此条数据。通过类中的方法调用存储过程来删除数据库中的信息。5.5.2 阅读题管理在此页面中的GridView控件中显示的是阅读题的题干表中的内容,由于阅读题除了题干外还包含5个小题,每个小题包含一个题干和4个选项,因此先让用户输入题干的相关内容,点击确定按钮将其保存在题干表中,然后再一一输入5个小题的相关信息,然后将其保存在详细表中。由于5个小题对应一个题干,为了防止试题混乱,将题干的编号设置为7位的唯一标识符。其方法为:创建一个随机函数Random并将其实例化,然后通过代码tbYDID.Text = rnd.Next(1000000, 9999999).ToString();实现此功能。添加阅读题的页面如图56所示:图5-6添加阅读题在修改阅读题的页面中,系统会将题干的信息通过TextBox控件显示出来,管理员和教师可以对其进行修改,而题干中包含的5个小题的信息则由GridView控件通过连接阅读题的详细表将其内容显示出来。GridView控件中添加了新列,即编辑列,用户可以点击“编辑”对某一行的数据进行修改和保存。如果要删除一个阅读题时,系统会将此题目的编号和题干内容显示出来提示用户是否要删除,每个小题的信息将不再显示。5.5.3 完型填空题管理完型填空题的管理方法和阅读题的管理方法类似,只是完型填空题的每个小题都只包含4个选项,不包含题干。5.6 成绩管理成绩的管理也涉及到管理员和教师对其进行不同的管理,当管理员进入此页面时,GridView控件中显示的是所有学生的成绩;当教师进入此页面时,GridView控件中显示的是其所负责的考试类型的学生的成绩,也就是说要通过判断对控件进行数据绑定。5.7 自动阅卷本系统的所有试卷均为随机生成,每道题目的题号和正确答案为一一对应,因此在随机生成试卷时使系统建立3个哈希表,分别来存放3个题型中试题的题号和正确答案。当70道选择题、1道完型填空题和1道阅读题全部随机生成完后,将哈希表存放在Session对象里。当学生答题结束点击“交卷”后,系统会再创建3个哈希表,用来存放题号和学生所选择的答案。70道选择题被分成两页进行显示,当为第一页时,在第一个容器里搜索题号为i的题目,当为第二页时,在第二个容器里进行搜索,如果学生选择了答案,将RadioButtonList控件中选定项的值赋给表示学生答案的字段。接下来要判断哈希表里题号为i的题目和学生答案是否已经存在,如果不存在,将此题号和对应的学生的答案存放到哈希表里,最后将哈希表和学生的答案放入Session对象。在学生交卷后进入显示学生成绩界面之前要进行阅卷,系统会读取Session对象中所存放的值,即读取每个题号对应的正确答案和学生答案,通过Equals()函数比较试题的正确答案和学生所选择的答案。由于本系统将试题分为3种题型,因此在批改学生分数时分3部分来进行。系统设定了70道选择题,每题一分,先初始化选择题的分数为0,并且定义一个整型变量,通过for循环来计算题目的数量,然后判断哈希表中表示正确答案字段和学生答案字段是否有数据,如果有数据,则用Equals()函数对其内容进行比较,如果相等就使表示分数的变量自增1。其代码如下:Hashtable ht_XZRightAnswer, ht_XZStuAnswer, ht_WXRightAnswer, ht_WXStuAnswer, ht_YDRightAnswer, ht_YDStuAnswer; ht_XZRightAnswer = (Hashtable)SessionXZRightAnswer; ht_XZStuAnswer = (Hashtable)SessionXZStuAnswer;int XZScore = 0;for (int i = 1; i = 70; i+)if (ht_XZStuAnswer.Contains(i.ToString() & ht_XZRightAnswer.Contains(i.ToString() if(ht_XZStuAnsweri.ToString().ToString().Equals(ht_XZRightAnsweri.ToString().ToString() XZScore = XZScore + 1; 完型填空题和阅读题的判分方法与选择题的方法类似。当得到3中题型的成绩后,将其相加得出最后的总成绩。然后通过类中的updateScore()方法调用存储过程Pr_score_statusUpdate将此学生的成绩存入数据库。5.8 试卷断线处理在学生答题过程中,很有可能会因为机器故障或其他原因使浏览器关闭,造成考试突然中断,因此要设计断线处理功能使学生再次登录时能够继续答题。首先要设定一个定时器进行倒计时,将时间设定为5分钟,也就是说时间倒计完后将自动点击页面上的“保存”控件,时间重新从5分钟开始倒计时。其代码为:clearTimeout(timer); document.getElementById(Ibtn_save).click();=5*60;保存试题时,在容器中搜索题目,如果搜索到此题目就把RadioButtonList控件中选定项的值赋给表示学生答案的字段。在系统中要定义变量使其表示不同的题型,通过学号、考试类型、题号和试题的题型这四个字段来更新学生的答案。当学生再次登录并选择考试类型后,系统会通过学生的学号和考试类型编号查询试题断线保存的记录,从Session对象中读取题目的唯一标识号,通过getXZInfoAsXZId()方法得到与题目的唯一标识号对应的题目的所有信息,然后使用Html语言将题目显示出来,同时显示RadioButtonList控件中选定项的值,并将题号和题目的唯一标识号存放入哈希表里。通过题目的唯一标识号得到题目的正确答案,并将题号和正确答案存放入表示题目正确答案的哈希表中。利用学生的学号、考试类型编号、题

温馨提示

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

评论

0/150

提交评论