资源描述
摘 要在线考试系统是一款基于传统考试流程为基础,建立的以网络为平台的纯B/S结构的Web应用程序。它旨在探索一种以互联网为基础的考试模式。通过这种新的考试模式,为学校创造一种新的考试环境,提高考试工作的效率和标准水平,是学校管理者、教师和学生可以随时随地通过网络进行考试。该系统由在线答题及试题库管理两部分组成。关键实现了考生在选择科目后进入考试窗体,考试计时,考试时间到,系统强制考生交卷,及客观题的自动评分、存档功能。本系统后台数据库采用目前比较流行的Microsoft SQL Server 2000数据库,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;前台采用Microsoft公司的Visual Studio .NET 2005作为主要的开发工具,其可与SQL Server 2000数据库无缝链接。关键词:考试系统,B/S结构,考试计时,自动存档目 录第1章 绪论1第2章 需求分析32.1需求调研32.2可行性研究42.3应用环境描述52.3.1 ASP.NET开发环境52.3.2 C#编程语言62.3.3 SQL Server2000数据库72.4数据库分析9第3章 总体设计133.1项目规划133.2系统性能需求描述133.3系统功能结构图143.4数据库实体结构设计14第4章 详细设计194.1在线考试系统前台设计194.1.1考生注册功能194.1.2在线考试功能204.1.3成绩查询功能234.2在线考试系统后台设计254.2.1管理员登录功能254.2.2管理员功能274.2.3添加试题功能29第5章 编码实现325.1考试计时技术的代码实现325.2从库中提取考试题目的代码实现33第6章 软件部署356.1系统运行环境需求356.2开发及运行环境356.3网络系统部署36总 结37致 谢38参考文献39第1章 绪论互联网的发展,使一种新型的考试流行了起来,网络化考试突破了地域的限制,将一切变得如此简单,深受广大考生的喜爱。相比传统的考试方式,在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷;另一方面,考试时间灵活, 可以在规定的时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出客观题考试成绩,计算机阅卷给了考生最大的公平感。在线考试系统极大地提高了教学的灵活性,现在,在许多领域已经有了广泛的应用。最有影响的案例就是ETS(美国教育考试中心)举办的GRE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变成了每个工作日都可以参加的考试。本论文讲述了一个功能强大的在线考试系统的前、后台大概实现过程,该系统基本上可以满足学校及现代信息化企业的内部考试要求,可以实现学校或企业的低成本投入,高效率办公的宗旨。例如:一个学校或公司如果使用了本系统,老师和领导即使在外地出差也可以通过访问Internet轻松设置审批考试,考试结束后也不要传统的繁琐的阅卷过程,极大地提高了办公效率。考试的题型可以都是标准化客观题目(单选题、多项选择题、判断题),但本系统加上了客观题,对于其他类型的题目只要在本文的基础上稍加修改即可。本系统最大的特点是考试计划的发布都需要通过层层审批才能生效,审批流程,系统自动提示,这符合企业的运做流程,也有利于企业的管理。在线考试系统一定要以考生的信息作为基础,关于考生的信息管理其实就是一个简单的会员管理系统。只要对这个系统及数据库稍加修改即可满足任何企业,任意部门,各种学校,机关单位的考试需求。这里所实现的主要是题库的管理,试卷的制定、生成,考试结果的处理、公布和查询等功能。本系统是基于网络的Web系统,用户可根据自身的应用特点快速构建考试平台。与传统的考试相比,网络化考试系统具有高度可扩展性,被授权的考生不管身处何地,使用网络浏览器,就可以通过网络登录考试系统,以脱离传统的笔答形式,最大限度地排除了人为因素的作用,保证了考试的客观性、实时性、阅卷标准的一致性,从而高效率、高质量地完成对考生的能力测评。本系统是将传统的考试模式与先进的网络应用相结合进行开发设计的,主要实现如下目标:q 具有实时性,已注册的用户无论身在何地,通过Internet浏览器,都可登录在线考试系统。q 提供了考试时间计时功能,随时了解考试剩余时间。q 实现提醒交卷的功能,当考试结 时间到时,考生还未提交试卷,系统将提醒考生交卷,以保证考试可以严肃、公正地进行。q 考生可随时查看考试成绩。q 系统具有自动阅卷功能,保证成绩真实准确。q 采用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合。q 操作简单方便、界面简洁美观。第2章 需求分析2.1需求调研随着网络技术的日益成熟,网络已经深入到生活的每一个角落,包括教育、购物、咨询、办公等等许多领域。在网络迅速发展的今天,网页技术的应用也越来越广泛。网页技术的应用对于教育行业来说优势更加的明显。教育行业可以通过网络进行学生和教职工的管理、组织学生在线考试、在网站上发布学校相关信息等活动。这样不仅能增加学校管理的透明度,还提高了学校的管理水平。在线考试还能充分的利用学校的现有资源,大大减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。本文重点论述了由于网络的存在扩大了学校的服务范围,为学校的管理提供了更多的条件。对此做出了详细的调查,可行性研究和分析。系统采用了B/S结构,在网络上建立学校自己的教育网站。系统开发经历了系统分析、系统设计和系统实施三个阶段。从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,力图提高系统的集成性和快捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。根据学校要求,设计一个在线考试系统。要求参加考试的学生不需要聚集在一个考场内进行考试。学生使用教师或者考试管理员分配的帐号登录考试系统,然后选择需要参加的考试科目。选定考试科目后,开始答题。系统自动计算学生已经参考的时间。如果在考试时间内没有答完试卷,系统自动交卷。交卷后,系统马上批阅试卷,并给出考试结果。通过相关调查,要求网站具有以下功能。q 采用人机对话的操作方式,界面设计美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。q 规范、完善的基础信息设置。q 考生注册、管理员注册。q 在线考试。q 自动评卷。q 为后台管理提供管理入口。q 后台编辑各专业、课程、试题等信息。q 系统最大限度地实现了易操作性和易维护性。q 系统运行稳定、安全可靠。2.2可行性研究现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我们小组进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。在线考试系统的开发及应用,避免以往学校里考试纸张、笔、监考和巡考等各种资源的浪费,并且后台管理是管理员单一的管理,确保了程序的安全性。在线考试管理员登录后,对考试内容、专业、科目和考试题目等,都做了详细的分类,只要考生通过自己的学生编号和密码进入前台,按步骤依次进行选题和答题,答题完毕后系统会自动判断考卷,以及核对出最后考卷的分数,解决了在学校考试后等待考卷分数通知的问题。2.3应用环境描述2.3.1 ASP.NET开发环境ASP.NET作为一种动态Web技术,是微软公司推出的全新体系结构.NET平台的一部分,它提供了一种以Microsoft .NET Framework为基础,开发Web应用程序的全新编程模式,可以使Web开发人员更加快捷方便地开发Web应用程序。ASP.NET是建立在通用中间语言上的程序架构,因此可以在任何一台Web服务器上建立强大的Web应用程序。相比现有的各种Web开发模式而言,ASP.NET具有更为强大的优势和魅力。ASP.NET2.0结合了Web站点和Web服务这两种Web开发技术。使用ASP.NET2.0可以比以前更加容易地创建出动态的数据驱动的网站,而且还具有良好的可扩展性,并且可以很好的支持各种浏览器,而无需开发人员为不同的浏览器编写不同的代码。在Visual Studio 2005中,可以快速应用程序开发(Rapid Application Development, RAD)技术构建Web应用程序。在窗体上拖放控件,双击控件并编写相关事件响应代码。2.3.2 C#编程语言1 C#的特点本系统采用的是C#编程语言。C#是微软公司推出的一种简洁、类型安全的面向对象的编程语言,开发人员可以通过它编写在.NET Framework上运行的各种安全可靠的应用程序。使用C#,可以创建传统的Windows客户端应用程序、XML Web Services、分布式组件、客户端服务器应用程序、数据库应用程序以及很多其他类型的程序。C#是专门为.Net应用而开发的语言,与.NET框架的完美结合,C#巨有以下突出的特点。(1)语法简洁,不允许直接操作内存,去掉了指针操作。(2)彻底的面向对象设计,C#具有面向对象语言所应有的一切特性:封装、继承和多态。(3)与WEB应用紧密的结合,C#支持绝大多数的WEB标准,例如,HTML、XML、SOAP等。(4)强大的安全性机制,可以消除软件开发中常见错误(如语法错误),.NET提供的垃圾回收器能够帮助开发者有效的管理内存资源。(5)兼容性,因为C#遵循.NET的公共语言规范(CLS),从而保证能够与其他语言开发的组件兼容。(6)灵活的版本处理技术,因为C#在语言本身内置了版本控制功能,使开发人员更加容易的开发和维护。(7)完善的错误、异常处理机制,C#提供了完善的错误和异常触发机制,使程序在交付应用时能够更加健壮。2 C#语言编程环境目前,开发和运行C#程序有多种选择,例如,用户可以从微软免费获取.NET的软件开发工具箱(SDK)或购买功能强大的Visual Studio.NET开发环境,各自的特点如下。SDK包含编译、运行和测试C#程序的所有资源,它包含C#语言编译器、JIT、编译器和相关文档。惟一不含有的是用来输入和编辑C#程序的文本编辑器。Visual Studio.NET是微软的完整开发环境,它包含一个集成开发环境(IDE)和高级C#编辑器,同时还支持程序调试及许多可提高开发人员效率的附加功能。Visual Studio.NET和SDK使用相同的C#编译器、JIT编译器和运行时来编译和运行程序,用户可以准确运行同一程序而且运行速度相同。Visual Studio.NET提供了功能强大的工具包,可以让用户轻松设计和编写C#程序。2.3.3 SQL Server2000数据库本系统采用的数据库为SQL Server2000数据库。SQL Server的全称是Microsoft SQL Server,由美国微软公司制作并发布的一种性能优越的关系型数据库管理系统(Relational Database Management System,简称RDBMS),具有强大的数据库创建、开发、设计和管理功能。它不仅是一个完整的数据库,而且具有强大的扩展性。它是Windows操作系统最为流行的数据库,比较适合小型、中型、大型应用程序的后台数据库。它也适用于电子商务、数据仓库、和在线商业应用程序等。SQL Server 2000是在SQL Server 7.0的基础上扩展升级的产品。它继承了SQL Server以前版本的优点,同时又增加了许多功能,与Microsoft公司的其他产品具有良好的兼容性。它提供的几十种向导,覆盖了几乎所有的数据库操作(数据库的创建、维护、作业、警告、数据复制、转换等)。SQL Server 2000是一种高性能的关系型数据库管理系统,在SQL Server 7.0的基础上大大扩展了系统的性能、可靠性和易用性,逐渐成为OLTP(在线事务进程)、数据仓库和e商务应用最好的数据库平台。主要特点体现在以下几个方面:(1)简便的操作方式SQL Server 2000界面友好、操作简单,同时包含一整套的管理和开发工具,企业管理器就是其中的图形化集成管理工具,用户不用记住各种命令和SQL语句就可以完成各种常规操作。(2)以Client/Server为设计结构SQL Server 2000按Client/Server结构(客户/服务器)设计而成,Client/Server结构将任务合理地分配到服务器与客户端,减少了网络拥挤,提高了整体性能。(3)支持多个不同的开发平台数据库开发人员可以使用任意一种开发平台编写应用程序来访问SQL Server。其中微软的产品Visual Studio可以帮助用户方便、快捷地开发新的SQL Server应用程序。(4)支持企业级的应用程序SQL Server 2000关系数据库引擎具备完善、强大的数据处理功能,充分保护数据完整性。SQL Server 2000企业版在32位处理器上能支持超过数十万亿字节容量的数据库。(5)支持XMLSQL Server 2000引入了支持XML功能的特性。XML是扩展标记语言(Extensible Markup Language的英文缩写),可用于描述一个数据集的内容以及数据如何在Web页中显示或输出到某个设备。它以可扩展、易用和安全的特点,成为建设大型Web站点最好的数据存储设备之一。(6)数据仓库支持SQL Server 2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具,使联机分析处理成为可能。同时SQL Server 2000提供了英文查询工具和编程接口,使得以英文为基础设计、管理和查询数据库成为了可能。(7)支持虚拟根SQL Server 2000允许通过IIS创建虚拟根的方法来访问SQL Server,为了方便用户使用SQL Server管理服务器,SQL Server 2000还提供了专用的工具(如企业管理器)。(8)用户自定义函数SQL Server 2000可以使用自定义函数功能。程序员通过使用自定义函数可以将数值计算代码、数据处理程序(要返回结果集的操作)定义为自定义函数,在计算或返回结果集时可以直接调用该函数;当自定义函数编写出现问题时,可以直接修改函数体,而不必修改各模块中的代码,这对于模块化开发SQL Server应用程序具有极其重要的意义。(9)增加3种数据类型SQL Server 2000中增加了3种数据类型:BIGINT、SQL_VARIANT和TABLE。它们在Internet和.NET的开发中起着十分重要的作用。(10)语言排序规则在SQL Server 2000以前的版本中,所有的数据库被限制在一个代码页以及语言集排序次序中,当使用英文版SQL Server数据库系统时,所有的语言排序规则就必须依赖英文的排序次序, SQL Server 2000在Windows排序规则的基础上增加了一套新的排序规则,它代替了代码页和排序次序,为开发多国语言的数据库应用系统提供方便。(11)全文搜索和文档管理功能全文搜索和文档管理功能被默认包含于SQL Server 2000的所有版本中,这些功能可以在关系表的纯文本中执行文本查询和搜索所有的索引列,全文搜索功能还可以与SQL语句结合使用。(12)增加了索引视图功能视图是伴随着关系型数据库管理系统出现的,每个SQL Server新版本对视图的支持都有不同程度的提高,在SQL Server 2000中允许在视图上创建索引(即索引视图),这大大提高了需要频繁进行连接、查询的程序的性能。(13)增强了分布式查询功能SQL Server 2000引入了一个OPENROWSET函数,可以在指定分布式查询中查询一个特定的连接信息,同时授予了“OLEDB”数据源更多的SQL操作权。2.4数据库分析1管理员表E-R图管理员实体自动编号姓名密码加入时间图2-1 管理员实体2考生表实体图考生实体学生证号学生姓名学生密码性别加入时间密码问题密码答案所选专业号IP地址图2-2 考生实体3考生成绩表实体图交卷时间考生实体试题结果编号学生编号课程名称套题编号套题名称单选成绩多选成绩总成绩图2-3 考生实体4课程表实体图所属专业编号加入时间课程实体课程编号课程名称图2-4 课程实体5专业表实体图专业实体专业编号专业名称加入时间图2-5 专业实体6试题表实体图试题实体试题编号试题主题试题类型加入时间所属课程编号所属专业编号所属套题编号选项A选项B选项C选项D试题答案注释图2-6 试题实体7套题表实体图套题实体套题编号套题名称所属课程编号加入时间图2-7 套题实体第3章 总体设计3.1项目规划在线考试系统是一个功能完善的网络应用程序,由学生注册、找回密码、在线答题和后台管理四部分组成。每部分的具体功能如下:学生注册功能模块学生注册页面只是单一的学生资料注册窗口。它是为了保存学生的一些基本信息。包括学生证号、学生姓名、密码、密码问题、问题答案、性别和所学专业。所学专业是用下拉列表框列出,供学生选择。考生通过注册获得考试编号。使用该编号及注册时的密码,就可以登录考试系统进行在线考试。密码找回功能模块如果考生忘记注册时的密码,可以进入密码找回页面,能过注册时填写的问题和答案找回密码。在线答题模块前台页面窗口主要包括登录前台和后台的主页、选择考试课程、课程相关的套题、准备考试、开始考试、查询考试成绩和退出系统。后台功能模块后台页面窗口主要包括系统管理员资料查询、添加、修改、删除,注册学生资料查询、删除,专业信息查询、添加、修改、删除,课程信息查询、添加、修改、删除,套题信息查询、添加、修改、删除,考生成绩查询、删除,考试题目查询、修改、删除,添加试题及退出系统管理等功能。3.2系统性能需求描述可移植性:程序可打包,所需的框架要求和组件和动态链接库等,都在安装是全部安装完成。只要是安全成功,就可以运行。健壮性:程序代码控件严密,对异常和错误都能很好的进行处理。安全性:对IIS配置得当,安装所有需要的系统补丁。配置防火墙。3.3系统功能结构图在线考试系统前台功能结构,如图3-1所示。图3-1 在线考试前台功能结构图在线考试系统后台功能结构,如图3-2所示。图3-2 在线考试后台功能结构图3.4数据库实体结构设计数据库是系统的最底层,它存储系统的所有数据。根据对系统的分析,得出数据库表如下:1管理员表(tb_Administrator)管理员表用于保存管理员的名称和密码及加入的时间。管理员表的字段说明如表3-1所示。表3-1 表tb_Administrator的结构列名数据类型长度主键否功能描述IDbigint8是系统管理员编号Namevarchar50否管理员名称PWDvarchar50否管理员密码JoinTimedatatime8否加入时间2考生表(tb_Student)考生表存储参加考试的考生信息。考生表的字段说明如表3-2所示。表3-2 表tb_Student的结构列名数据类型长度主键否功能描述IDvarchar50是学生证号Namevarchar20否学生姓名PWDvarchar20否学生密码Sexvarchar2否性别JoinTimedatetime8否加入时间questionvarchar50否密码问题answervarchar50否密码答案professionbigint8否所选专业号IPAddresschar30否IP地址3考生成绩表(tb_Student)考生成绩表用于存储参加考试的考生的成绩信息。考生成绩表的字段说明如表3-3所示。表3-3 表tb_StuResult的结构列名数据类型长度主键否功能描述res_idbigint8是试题结果编号stu_idvarchar50否所属学生编号which_lessonvarchar50否所属课程名称taotiidbigint8否所属套题编号taotinamevarchar50否所属套题名称res_singleint4否单选成绩res_moreint4否多选成绩res_totalint4否总成绩res_subdatedatatime8否成绩提交时间4课程表(tb_Lesson)课程表用于存储考试科目。考生成绩表的字段说明如表3-4所示。表3-4 表tb_Lesson的结构列名数据类型长度主键否功能描述IDbigint8是课程编号Namevarchar60否课程名称ofrofessionbigint8否所属专业编号5专业表(tb_Profession)专业表用于存储课程所属专业。专业表的字段说明如表3-5所示。表3-5 表tb_Profession的结构列名数据类型长度主键否功能描述IDbigint8是专业编号Namevarchar200否专业名称JoinTimedatatime8否加入时间6试题表(tb_Questions)试题表用于存储系统题库的试题信息。试题表的字段说明如表3-6所示。表3-6 表tb_Questions的结构列名数据类型长度主键否功能描述Idbigint8是试题编号que_subjectvarchar50否试题主题que_typechar10否试题类型que_joindatedatatime8否试题加入时间que_lessonidint4否所属课程号que_professionidint4否所属专业号que_taotiidbigint8否所属套题编号optionAvarchar50否选项AoptionBvarchar50否选项BoptionCvarchar50否选项CoptionDvarchar50否选项Dque_answerchar10否试题答案notevarchar50否注释7套题表(tb_TaoTi)套题表用于存储系统试卷种类信息,该表惟一标识一套试卷。套题表的字段说明如表3-7所示。表3-7 表tb_TaoTi的结构列名数据类型长度主键否功能描述IDbigint8是套题编号Namevarchar50否套题名称LessionIDbigint8否所属课程编号JoinTimedatatime8否加入时间本系统的数据表关系如图3-3所示。图3-3 数据表关系图第4章 详细设计4.1在线考试系统前台设计网络考试系统的前台首页文件架构如图4-1所示。图4-1 网络考试系统前台首页文件架构图本网站的前台主要实现的网络在线考试及成绩查询等功能。4.1.1考生注册功能学生注册是为了保存学生的基本信息。想要进行在线考试必须先登录,如果您是新用户需要先进行注册,以获取登录密码,单击登录页面中的“注册”按钮,进入“学生注册信息”页面。包括学生证号、学生姓名、密码、密码问题、问题答案、性别和所学专业。在此页面中填写完整的注册信息,单击“注册”按钮,完成注册操作。1人机界面图4-2 学生注册信息2流程图图4-3 考生注册流程图4.1.2在线考试功能在线考试功能模块是系统主要功能之一,在线考试的操作步骤如下:(1)进入登录页面,如图4-4所示,在学生证号、密码及验证码处填写正确的登录信息,单击“登录”按钮,进入前台在线考试的主页面,如图4-5所示。(2)阅读完考生规则后,单击“开始”按钮,进入选择考试套题页面,如图6所示。(3)在此页面中考生选择考试课程及相应的套题名称,单击“同意”按钮,进入准备考试页面,如图4-7所示。(4)单击“开始”按钮,进入考试页面,如图4-8所示。(5)考试时间为20分钟,20分钟后如果考生没有交卷,系统自动提交考卷。如果在20分钟内答完卷,可以单击“交卷”按钮,提交考卷。下面将显示您的考试成绩,如图4-9所示。(6)单击“退出当前系统”按钮,完成本次在线考试。1人机界面图4-4 系统登录图4-5 考试规则图4-6 选择考试套题图4-7 准备考试图4-8 考试页面图4-9 交卷2流程图图4-10 在线考试流程图4.1.3成绩查询功能登录成功后,进入如图4-11所示的考试规则页面,在此页面的右上方单击“查询成绩”按钮,进入查询页面。在此页面中考生不但可以查看自己的考试成绩,还可以查看其他考生的成绩。在查询条件处选择相应的查询条件,并输入查询关键字,单击“查询”按钮,下方列表栏中显示查询结果。1人机界面图4-11 考试规则图4-12 查询成绩2流程图图4-13 成绩查询流程图4.2在线考试系统后台设计网络考试系统的后台首页文件架构如图4-14所示。图4-14 网络考试系统后台首页文件架构图4.2.1管理员登录功能后台登录模块为本网络考试系统的主要页面,操作者可从此页面登录前台学生考试页面、学生注册页面、密码找回页面或后台管理员页面。登录前台考试页面及后台管理员页面必须通过验证用户名、密码和验证码正确与否,只有合法的用户才可以进入系统。当用户没有输入用户名或密码以及验证码为空时,系统会自动弹出“不允许为空”的消息提示框。“登录”按钮左侧的复选框功能为是否选择管理员登录,选中则登录后台管理员页面,反之登录为前台学生考试页面。在登录页面中的“学生证号”处输入管理员用户名“admin”,在密码处输入“admin”,填写正确的验证码,并勾选“管理员登录”复选框,单击“登录”按钮,进入如图4-16所示的后台主页面。后台主要包括:管理员、管理注册学生、管理课程信息、管理套题信息、管理考生成绩、管理考试题目、添加试题。其中管理员、管理注册学生、管理课程信息、管理套题信息、管理考生成绩、管理考试题目的操作方法相同,下面以管理员为例,讲解其操作方法。1人机界面图4-15 管理员登录图4-16 后台主页面2流程图图4-17 管理员登录流程图4.2.2管理员功能本系统的后台管理主要有:管理员、学生、考试题目、专业和课程信息的添加、删除和修改等操作,由于这些信息的执行操作大致是相同的,所以我们在这里主要介绍管理员信息的各种操作。管理员信息设置模块包括管理员信息列表、查询管理员、添加管理员、修改管理员信息和删除管理员5部分功能,在功能导航区中单击“管理员”按钮,进入如图2.3所示的页面。此页面主要实现添加、修改、删除、查询管理员信息等功能。管理员页面的操作方法如下:(1)添加管理员。单击“添加管理员”按钮,进入如图4-19所示的页面,在管理员名称及管理员密码处填写管理员名称及密码,然后单击“添加”按钮,完成添加操作。(2)修改。单击“修改”按钮,进入如图4-20所示的页面,在此页面中可对管理员的名称及密码进行修改,修改完成后,单击“修改”按钮,完成修改操作。(3)删除。单击“删除”按钮,即可删除该条管理员信息。(4)查询。在查询条件处选择相应的查询条件并输入相对应的关键字,单击“查询”按钮,下方显示查询结果,完成查询操作。1人机界面图4-18 管理员图4-19 添加管理员图4-20 修改管理员信息2流程图图4-21 管理员流程图4.2.3添加试题功能在功能导航区中单击“添加试题”按钮,进入如图4-22所示的页面,在此页面中选择要添加的试题的所属专业、课程主套题名称。单击“选择”按钮,进入如图4-23所示的页面,在此页面中填写完整的试题信息,单击“添加”按钮,完成添加操作。1人机界面图4-22 添加试题图4-23 添加试题2流程图图4-24 添加试题流程图第5章 编码实现5.1考试计时技术的代码实现在线考试一个重要环节就是让考生时刻知道自己考试用了多长时间,所剩考试时间还有多少,以便在考试时间到后完成考试。并且这里我们用javascript脚本来实现这个功能。首先在HTML语言的部分添加如下javascript脚本,其中:自定义一个second变量,用来设置考试时间的秒数。自定义一个minute变量,用来设置考试时间的分钟数。自定义一个hour变量,用来显示考试时间的小时数。自定义一个OnRunTimes方法,用来显示考试时间。time为TextBox控件的ID。当考试间结束时,将自动触发交卷按钮,完成交卷功能,并保存该考生的成绩。实现代码如下: var second=0; var minute=0 var hour=0; window.setInterval(OnRunTimes(),1000); function OnRunTimes() second+; if(second=60)second=0;minute+=1; if(minute=60)minute=0;hour+=1; if(hour=24)minute=0;second=0; window.status=程序时间为:+hour+:+minute+:+second; document.form1.time.value=minute+:+second; if(minute=20) document.allbtnSubmit.click(); 5.2从库中提取考试题目的代码实现考生在线考试时,系统需要根据考生提交的科目和套题信息从数据库中提取出相应题目,并区分单选题和多选题,然后在DataList控件中显示出来。这里我们首先需要通过Application变量接受在上一页中考生选择的科目和套题信息,然后根据这些信息从数据库中提取考试题目。实现代码如下:protected void getCom(int i) string dd1 = Applicationd1.ToString(); string dd2 = Applicationd2.ToString(); SqlConnection con = dataconn.getcon(); con.Open(); switch (i) /从数据库中按降序选择单选题 case 1: SqlDataAdapter myadapter1 = new SqlDataAdapter(select * +from tb_Questions where que_type=单选题and que_lessonid= + dd1 + and que_taotiid= + dd2 + order by id desc, con); DataSet myds1 = new DataSet(); myadapter1.Fill(myds1); DataList1.DataSource = myds1; DataList1.DataBind(); break; /从数据库中按降序选择多选题 case 2: SqlDataAdapter myadapter2 = new SqlDataAdapter(select * +from tb_Questions where que_type=多选题and que_lessonid= + dd1 + and que_taotiid= + dd2 + order by id desc, con); DataSet myds2 = new DataSet(); myadapter2.Fill(myds2); DataList2.DataSource = myds2; DataList2.DataBind(); break;第6章 软件部署6.1系统运行环境需求在线考试系统选用Windows2003(Server版本)作为后台的操作系统,客户端使用Windows 2003(Server版本)。在节约投资的情况下,后台系统也可使用Windows XP版本。Windows Server 2003包含功能强大的网络、应用程序以及 Web 服务。它为您提供了高级别的可靠性和可伸缩性,通过灵活的管理服务降低计算成本,同时还提供了运行商业应用程序的最佳基础6.2开发及运行环境硬件平台:qCPU:Pentium 及其兼容处理器,建议主频600MHz或更高;q内存:256MB以上;软件平台:q操作系统:Windows Server 2003;q数据库:SQL Server 2000数据库;q开发环境:Microsoft .NET Framework SDK v2.0;q开发工具:Microsoft Visual Studio 2005;q开发语言:C#语言;q服务器:IIS 6.0;q浏览器:IE 5.0,推荐使用IE 6.0;q分辨率:最佳效果1024768像素。6.3网络系统部署图6-1 网络部署图总 结通过对在线考试系统这一课题的研究,使我深深的体会网站应用系统开发是一个复杂的过程,涉及系统需求分析、数据建模技术架构的选取、界面设计及编程、调试等环节。并且也使我了解到了团队合作也是开发项目非常重要的,没有最强的自我,只有更强的团队。具有一个良好的开发团队不但可以相互学习积累开发经验,而且还能够缩短开发周期,提高工作效率。在技术方面所谓学无止境,我们也不能只靠自己现在所掌握的知识来考虑问题,那样就会使我们的思路变得狭窄,考虑问题变得片面。我们要不段的更新自己的知识和技术,同时也要虚心的学习别人的方法和技术,多向别人请教,并且把所掌握的技术进行开发革新,让其在原有的基础上发挥更大的做用,并把别人的方法和技术从根本上改变成为自己的方法和技术,去解决在实际当中遇到的困难和麻烦。本课题研究结束后使我懂得了想要成为一名优秀的程序员,不但要有出色的理论知识和丰富的实践经验,还要有良好的自学能力,而且还要有良好的团队精神和团队合作理念。我会努力的向这一目标挺进。本系统尚有很多不足之处,我会在今后的学习中去改进它,并在此基础上进一步挖掘客户的需求,添加或修改相应的功能模块,来扩展本系统,使之更加实用。致 谢在这次毕业设计的编写过程中遇到了很多问题。在此向为我提供技术支持的老师和同学表示感谢。感谢他们为我提供了研究并实现此课题的机会。同时也感谢老师在论文编写阶段给予的大力支持和帮助。此次毕业论文的完成是所有老师帮助、指导的结果。在这次毕业设计中,我从指导老师身上学到了很多东西。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益非浅。无论在学习中还是在实践中,都给予了我很大的帮助,对于我以后的工作和学习都是一种巨大的帮助和财富,感谢老师细心而又耐心的辅导。特别感谢XXX老师为我的系统设计和论文提出的宝贵意见,通过老师的指导,使我看到了设计的不足,我只有通过不断的努力改进系统的不足,争取用更优秀的设计来回报老师的辛勤工作。还要感谢XXX 老师、 XXXX老师等在我大学学习期间给予我学习上的帮助和教导。谢谢老师们对我的教导,很感激老师们多年的帮助和支持。在此,请接受我最衷心的祝福,愿老师们身体健康,工作顺利。再次衷心感谢帮助我、支持我、指导我、教育我的每一位老师。参考文献1张立等,C#范例宝典,电子工业出版社,2006,86-1622杨宏伟、李晶等, C#程序员开发手册,科学出版社,2006,20-363李玉林、王岩等,ASP.NET2.0网络编程从入门到精通,清华大学出版社,2006,20-1374奚江华,圣殿祭司的ASP.NET2.0开发详解使用C#最佳应用与实践指南,电子工业出版社,2006,147-4065 宋昆、李严等,SQL Server数据库开发实例解析,机械工业出版社,20066 张跃廷,C#数据库系统开发案例精选, 人民邮电出版社,2007,1-107 张树亮、李超,ASP.NET 2.0+SQL Server网络应用系统开发案例精解,清华大学出版社,2006,36-508 丁昊凯、许静雯、谢黎文,ASP.NET 2.0网站开发典型模块与实例精讲, 电子工业出版社,2006,1-849 张庆华等,ASP.NET 2.0完全自学手册, 机械工业出版社,2007,73-11210 邹建峰、李律松、李晓栓,ASP.NET 2.0开发技术详解, 人民邮电出版社,43-6211 龙怀冰、李白桦、郭智博,SQL Server 2000实用开发教程,人民邮电出版社,2006,1-512 赵松涛,深入浅出SQL Server 2000系统管理与应用开发,人民邮电出版社,2006,19-5113 郑建峰、董国平,专家门诊SQL Server开发答疑200问,人民邮电出版社,2006,13-2214 章立民研究室编,Visual C# 2005程序开发与界面设计秘诀, 机械工业出版社,2006,356-37115 季久峰,专家门诊ASP.NET开发答疑200问,人民邮电出版社,2004,99-10116 美Chris Hart、John Kauffman、David Sussman、Chris Ullman,ASP.NET 2.0经典教程C#篇,人民邮电出版社,2007,82-152
展开阅读全文