1、河 北 农 业 大 学 现 代 科 技 学 院毕 业 论 文 (设 计 )题 目: 网页制作在线考试系统的开发 摘要随着互联网技术的快速发展,计算机网络技术逐渐在各个领域内普及。尤其是在信息化教育领域,得到了更大的发展,网络在线考试系统更是其中重要的一部分。因此,本课题设计了一套学校教育在线考试系统。本系统摆脱了传统考试的束缚和缺点,节约了大量社会资源,同时大大促进了网络考试系统的改革和发展。本系统在 Visual studio 2012 环境下开发,用 C#语言编译,利用 SQL server 数据库技术存储信息。具有操作简单、实用性强、设计简洁人性化的优点,不仅给学生和教师带来很大的方便,
2、同时保证了考试的公平和规范。相信此系统在现实中能发挥巨大的作用。关键词:在线考试系统 Visual studio 2012 C#语言 SQL serverAbstractWith the rapid development of Internet technology, computer network technology popularization in various fields. Especially in the field of education information, got greater development, online examination system i
3、s an important part of the education information. Therefore, this project designed a set of online examination system of school education. The examination system get rid of the traditional bondage and shortcomings,saving a lot of social resources,and greatly promote the reform and development of the
4、 network examination system.This system is developed under Visual studio 2012 environment, using C# language compiler,,using SQL server database information storage. Has the advantages of simple operation ,strong practicability, simple and user-friendly design advantages, not only bring great conven
5、ience to the students and teachers at the same time, to ensure the fairness and specification of the exam . I believe this system can play a huge role in reality.Key word: online examination visual studio2012 C# SQL server目录绪论 .41.1 课题背景 .41.2.系统简介 .42.相关知识背景 .52.1ASP.NET 相关知识介绍 .52.1.1ASP.NET 的优越性
6、.52.1.2ASP.NET 的运行原理 .52.1.3ASP.NET 的内置对象 .62.2B/S 模式介绍 .62.3C#语言介绍 .72.4 数据库管理系统介绍 .82.4.1 SQL Server2008 概述 .82.4.2 SQL Server2008 新增功能 .82.4.3 SQL Server2008 存储过程概述 .83.系统分析 .93.1 可行性分析 .93.1.1 管理可行性分析 .93.1.2 经济可行性分析 .93.1.3 技术可行性 .93.2 方案设计的原则 .103.2.1 先进性 .103.2.2 安全可靠性 .103.2.3 实用性 .103.2.4 操
7、作、维护简便性 .113.2.5 可拓展性 .113.3 需求分析 .113.3.1 各个功能模块分析 .113.3.2 功能模块图 .124.系统设计 .134.1 系统流程设计 .134.1.1 前台流程 .134.1.2 前台流程图 .134.2 数据库设计 .145. 系统功能模块详细设计及实现 .185.1 前台主要模块详细设计 .185.1.1 登录模块 .185.1.2 考生注册页面 .215.2 后台管理模块详细设计 .225.2.1 管理员模块 .225.2.2 教师管理模块 .235.2.3 试题录入模块 .256.系统的发布与测试 .266.1 系统的发布 .266.1.
8、1 应用程序的测试环境 IIS.266.1.2 IIS 的使用与安装 .266.2 系统的测试 .267.设计总结 .287.1 系统评价 .287.2 心得体会 .28参考文献 .30致谢 .31绪论1.1 课题背景社会的不断进步,互联网的不断发展,网络基础设施的全面覆盖,计算机硬件的不断升级,为学校网络在线考试系统的创造奠定了良好的基础。在信息化教育的浪潮中,学生渴望得到更个性化、更自由的发展;教师希望有效的改进传统的教育方法和考试方法,更有效率的完成教学工作;学校则渴望保证考试的公平和规范,促进学校学生的公平性教育。在线考试系统正式迎合各方面需求而诞生的,它旨在探索一种更高效,更公平,更
9、规范的一种考试方式,旨在更好地为广大的师生服务。在线考试系统摆脱了传统考试的缺陷,释放了教师和学生的活力和创造性,满足了各方面的需求。在线考试系统不仅操作简单,而且没有地域和时间的限制,并且系统可以自动判断试卷,保证了安全性、规范性和正确率。同时,该系统也发挥了公平性作用。所以,基于以上原因,在线考试系统是现代化的教育当中不可分割的一部分,是满足学校师生强烈渴望的重要举措,同时也是我们设计本系统的重要初衷。 1.2.系统简介本系统命名为:在线考试系统,开发工具包括:VS2012+SQL SERVER 2008。该系统面向本学校所有学生和教师,不受地域限制,只要接入 internet 即可访问。
10、本系统采用 SQL server 数据库技术存储,利用 ASP.NET 技术研发,总体模式为 B/S 模式。B/S 模式不需要客户端软件,只需要在浏览器端打开即可,且易于管理和维护,能很好地在服务器与浏览器之间实现数据交互。该系统分为考生端和管理端。考生端应该完成考生登录、注册、考试、成绩查看等功能;管理端应该完成登录、考题录入、查询成绩、添加删除管理员、修改管理员口令等功能(考题录入、查询成绩由教师登录完成) 。本系统不仅操作简单,而且功能齐全,符合在线考试的要求且具备考试的功能。2.相关知识背景2.1ASP.NET 相关知识介绍ASP.NET 是微软公司研发的一项关于动态网站制作的技术,是
11、.NET FrameWork 架构技术的一部分,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。它的前身不仅是 ASP(Active Server Page)技术,它还提供了一个相同结构的 Web 模型,其中包括设计人员生成各类 Web 应用程序所需的多种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。2.1.1ASP.NET 的优越性ASP.NET 的优点包括:良好的性能提升,更稳定的表现,发展迅速,方便管理,优良的语言与网络服务,是整个 ASP.NET 的主题。而且网上系
12、统的最大帮助就是帮助使用者解决了很多琐碎的工作。新的 ASP.NET 技术将受管代码(Managed Code)这样一个全新概念带入人们的视野,贯穿整个开发平台。受管代码在 NGWS Runtime 下运行,而 NGWS Runtime 是一个时间运行环境,它管理代码的执行,使程序设计更为简便ASP.NET 处理代码的效率非常高ASP.NET 支持许多种语言,支持编译类语言,比如 VB、VC+、C#等,它比这些编译类语言运行速度快,更适合编写大型应用在 ASP.NET 里将会拥有一个“Data-Bounds” (数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行ASP.
13、NET 还具有更好的升级能力。2.1.2ASP.NET 的运行原理当服务器的互联网信息服务接收到请求后,IIS 首先对客户端请求的页面类型为其加载相应的.dll 文件,然后将这条来自客户端的请求发送给能够处理这个请求的模块。这个模块叫做 HttpHandler(HTTP 处理程序组件) ,之所以这个模块能处理 aspx 的文件,就是因为在服务器端有默认的这类模块处理程序。IIS 在将这条请求发送给能够处理这个请求的模块之前,还需要经过一些HttpModule 的处理,这些都是系统默认的 Modules,Modules 这个模块的作用是获取需要的应用程序的模块集合,在这个 HTTP 请求传到 H
14、ttpHandler 之前要经过不同的 HttpModule 的处理。这样做的好处,一是为了需要,二是为了安全,三是提高了程序处理效率,四是让用户能够在更多的环节上对系统进行控制,增强用户的控制能力。2.1.3ASP.NET 的内置对象Response:Response 对象可以把数据从服务器端发回浏览器端。它允许将数据作为请求的结果发送到浏览器中,并提供响应。它可以用来在页面中输入数据、在页面中跳转、还可以传递各个页面的参数,它与 HTTP 协议的响应消息相对应。Request:Request 对象是 HTTP Request 类的一个实例,它提供对当前页请求的访问,其中包括标题、Cooki
15、e、客户端证书、查询字符串等,用户可以使用此类来读取浏览器已经发送的内容。Application:Application 对象可以说是用来记录应用程序参数的对象。Application 对象是 Http Application State 类的一个实例,它可以生成一个所有WEB 应用程序都可以存取的变量,这个变量的适用范围涵盖 所有使用者,只要正在使用这个网页的程序都可以存取这个变量。Session:Session 对象是 Http Session State 类的一个实例,其功能和Application 对象类似,都是用来存储跨网页程序的变量和对象。但 Session 对象只针对单一网页使用
16、者,也就是说各个连接的机器都有各自的 Session 对象,不同的客户端无法相互存取。Application 对象在停止 IIS 服务时也停止,而Session 对象只有在联机及其离线时,也就是当用户关掉浏览器或超过变量设定的有效时间时,Session 对象就会消失。Cookie:Cookie 对象是 Http Cookie Collection 类的一个实例, Cookie 跟Session、Application 类似,可用于保存客户端浏览器请求的服务器页面,也可用它存放非敏感性的用户信息。用户可以根据自己的需要设置保存时间。而且Cookie 不像 Session、Application
17、一样将信息保存在服务器端,它把信息保存在客户浏览器端。 Server :Server 对象又称为服务器对象,是 Http Server Utility 类的一个实例,它定义了一个与 Web 服务器相关的类提供对服务器上的方法和属性的访问。2.2B/S 模式介绍本系统的开发技术是 ASP.NET 技术,数据库使用的是 SQL Server 技术,总体架构为 B/S(Browse/Server)模式。B/S(Browse/Server)模式,即浏览器/服务器模式。 B/S 模式大多数运行在服务器端,用户只需要安装一个浏览器就能方便的访问后台服务器和数据库系统,减轻了维护客户端所需要的时间。B/S
18、模式通常分为三层结构,如图所示:提交请求 访问返回 html 页面 返回结果第一层是客户端,客户端向服务器发出访问请求信息,Web 服务器处理后,以HTTP 协议发回客户端,客户端才能够查看结果。第二层是 Web 服务器,它接受客户端发来的访问请求,并对消息进行处理。假如用户需要访问数据库,Web 服务器就将链接到后台数据库,并向客户端返回结果。第三层是数据库,数据库的主要工作就是处理 Web 发来的数据,并将结果返回到 Web 服务器上。B/S 模式的优点: B/S 架构能够大大减少系统开发、维护、升级等的开支和时间。 B/S 具有很强的开放性,外部用户只需要通过浏览器即可访问,不需要另外安
19、装系统或软件 B/S 具备强大的信息系统集成功能 B/S 模式的结构拥有良好的拓展性,可以从少量用户和一台服务器的小型系统拓展为拥有千万用户的大型在线考试系统。 B/S 模式提供更灵活的信息交流和信息发布功能。2.3C#语言介绍C#是微软公司发布的一种面向对象的、运行于 .NET Framework 之上的高级程序设计语言。C#简单、功能强大、类型安全,而且是面向对象的。C#从 C 语言家族演化而来,C#在保留了其他语言优势的同时,还增加了更先进的功能。C#有以下优点:简单易用。C#简化了 C+中变幻莫测的指针运算符(-) 、类成员作用域分辨运算符以及句点运算符等,且不必再固守 char、un
20、signed char、signed char 以及 wchar_t 这样的数据类型模式。类型系统一致性。C#将每种类型都看作一个对象,不管你使用的类、结构、数组还是原始类型,你都可以把它看作一个对象,C#以此来统一类型系统。新技术。C#的垃圾回收、不安全代码、中间语言、JIT 编译器等都是 C客户端 WEB 服务器 数据库和 C+不具备的新技术 类型安全。C#增加了类型安全的稳固防线,节省了程序员调试源代码的大量宝贵时间可伸缩性。C#能直接导入和生成 COM+元数据,使得编译工作更加容易,而不会由于不兼容的头文件导致失败。版本控制。C#通过修改使用 C/C+的名字空间来实现版本控制,在 C#
21、中,在类库中定义的类和接口必须在分层的名字空间中定义而不是一个标准的扁平模型。灵活性。C#允许使用者声明非安全类和方法,包含指针、结构和静态数组。C# 从内部允许开发者锁定某个对象,这样当此对象发挥作用时,垃圾回收器就会忽略此对象。2.4 数据库管理系统介绍2.4.1 SQL Server2008 概述本系统采用的是 SQL Server2008 数据库。SQL Server 数据库是微软公司研发的一项数据库技术,其中比较先进的就是 SQL Server2008 了。SQL Server2008 提供了一套完整的数据库管理和分析解决方案,给用户数据和分析应用程序带来了更强的可靠性、高效性,使得
22、它们更易于被创建管理。在有效保证数据库稳定运行的同时,能够带来更优良的用户体验。同时它可以帮助使用者随时随地的管理数据并把数据存储到数据库中。2.4.2 SQL Server2008 新增功能包括:更安全的数据加密功能,它允许加密整个数据库包括数据库中的文件或日志文件,而无需更改任何应用程序。增强的数据库镜像。SQL Server 2008 构建于 SQL Server2005 之上,增强的数据库镜像包括自动页修复、提高性能和提高支持能力,因而更加可靠。可预测的查询性能。通过提供功能锁定查询计划支持更高的查询性能稳定性和可预测性,允许组织在硬件服务器替换、服务器升级和生产部署之间推进稳定的查询计划。更强的语言集成查询(LINQ)功能。开发人员可以使用诸如 C#之类的托管的编程语言。允许根据 ADO.NET、ADO.NET Data Sets、ADO.NET Entity Framework,以及实体数据服务映射供应商运行.NET 语言编写的无缝、强类型、面向集合的查询。新的 LINQ to SQL 供应商允许开发人员在 SQL server2008 表和列上直接使用 LINQ。SQL Server2008 数据库的有点还有很多,在此就不一一赘述了。