1、 远程教育学院 本科 生 毕业论文(设计) 题 目 基于 B/S 的在线考试系统设计与实现 专 业 电气工程及其自动化 学习中心 福州学习中心 姓 名 学 号 指导教师 浙江大学远程教育学院本科生毕业论文(设计)诚信承诺书 1.本人郑重地承诺所呈交的毕业论文(设计),是在指导教师的指导下严格按照学校和学院有关规定完成的。 2.本人在毕业论文(设计)中引用他人的观点和参考资料均加以注释和说明。 3. 本人承诺在毕业论文(设计)选题和研究 内容过程中没有抄袭他人研究成果和伪造相关数据等行为。 4. 在毕业论文(设计)中对侵犯任何方面知识产权的行为,由本人 承担相应的法律责任。 毕业论文(设计)作者
2、: 2015 年 11 月 8 日 论文版权使用授权书 本论文作者完全了解 浙江大学远程教育学院 有权保留并向国家有关部门或机构送交本论文的复印件和电子文档,允许论文被查阅和借阅。本人授权 浙江大学远程教育学院 可以将论文的全部或部分内容编入有关数据库进 行检索和传播,可以采用影印、缩印或扫描等复制手段保存、汇编论文。 毕业论文(设计)作者签名: 2015 年 11 月 8 日浙江大学远程教育学院本科毕业论文(设计) 摘要 I 摘要 随着计算机技术的飞速发展,学校也已进入信息化时代 。为了使 高校在线自测 更高效、更科学 ,决定开发 在线自测 系统 。 在线考试系统是现阶段研究开发的一个热点
3、。它是建立在国际互联网上的应用系统,客户端的配置很简单,使考试不受地域的限制,一个完备的在线考试系统可以使用户在网上学习过后及时的检测自己的学习效果,以发现自己的不足,使得学习效率大大提高。即只要形成一套完整的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心维护题库,而不必组织考试,从而大大减轻了教师的负担,这表明其经济性和实用性是相当可观的。 在开发 在线自测系统 的过程中 ,使用 .NET 技术,后台数据库使用 SQL2008,并 选择了 B/S 结构 ,并采用了典型的三层架构模型 ,这其中包括了数据层。 本 系统的设 计实施为在线自测系统的运行做基础,为在线自测系统的管理工作提
4、供良好的条件。 关键词: 在线自测;系统;结构化分析 浙江大学远程教育学院本科毕业论文(设计) 目录 I 目录 摘 要 . 错误 !未定义书签。 第 1 章 引言 . 错误 !未定义书签。 1.1 课题研究背景 与意义 . 1 1.2 国内外研究现状 . 2 第 2 章 课题采用的技术和系统环境配置要求 . 3 2.1 课题设计基础介绍 . 3 2.1.1.Net简介 . 3 2.1.2 Microsoft Visual Studio 2008. 6 2.2 ADO.NET . 7 2.3 系统开发模式 . 8 2.4系统环境配置要求 . 9 第 3 章 需求分析 . 10 3.1可行性分析及
5、总体设计原则 . 10 3.1.1 可行性分析 . 10 3.1.2 总体设计原则 . 10 3.2用户需求 . 11 3.3功能需求 . 11 第 4 章 系统设计 . 15 4.1 功能设计 . 15 4.2 数据库设计 . 15 4.3 系统操作流程 . 17 第 5 章 系统界面的设计与实现 . 21 5.1 后台登录界面介绍 . 21 浙江大学远程教育学院本科毕业论文(设计) 目录 II 5.2 账号管理模块 . 22 5.2.1 添加账号信息 . 22 5.2.2 账号管理 . 22 5.3 学生信息管理模块 . 22 5.3.1 添加学生信息界面 . 22 5.3.2 管理学生界
6、面 . 23 5.4 教师信息管理模块 . 23 5.4.1 添加教师信息界面 . 23 5.4.2 教师管理界面 . 24 5.5 考试章节管理模块 . 24 5.5.1 添加考试章节信息界面 . 24 5.5.2 考试章节管理界面 . 25 第 6 章 系统测试 . 26 6.1 系统测试的定义 . 26 6.2 系统测试的目的及意义 . 26 6.3 系统测试的重要性 . 26 6.4 测试测试常用的方法 . 27 6.5 系统运行情况 . 28 6.6 在线自测系统 测试 . 28 6.7 系统测试结果 . 38 第 7 章 本系统开发遇到问题和解决方案 . 39 结 论 . 39 参
7、考文献 . 39 浙江大学远程教育学院本科毕业论文 丁亮 _713021202003 1 第 1 章 引言 1.1 课题研究背景 进入 21 世纪以来,随着信息技术的不断发展,数字化与自动化已成为信息时代的主流,通过网络,人与人之间联系的距离被无限放大,而隔空对话也成为现实。面对这样的发展,传统的考试方式已不能满足日渐增长的网络需求。 首先我们需了解传统考试的弊端: ( 1)面对题海,教师需大量选题,同一科目的不同考试,教师需重复选题并输入排版,给教师带来大量的重复作业,使教师的工作效率大大降低,出错概率也大幅提高,单一选题的情况下还易发生选题 范围过于狭窄的情况,不利于考核学生的综合水平与真
8、实实力; ( 2)传统考试的考场安排和书面答题所带来的繁多试卷纸张容易造成考生作弊现象,监考老师很难顾全整场考试; ( 3)远距离考生无法及时到达考场,错过考试机会,造成成绩上的不公平,其次专程考试所用的路费住宿等费用巨大,是一种可避免的浪费;另一方面,学校安排的统一书面考试需携带大量的答题工具,不利于学生稳定答题。 ( 4)由于纸张的不稳定性会在一定程度上导致信息丢失,从而影响到考试分数的客观性;另一方面,众多的纸质试卷和答题卡的制作造成了物力财 力的浪费,不利于环境的可持续发展。 此次选题目的是让在线考试系统的出现能够有效的避免以上的弊端,实现考试系统的规范化,简便化,科学化,数字化。尤其
9、是题库的出现,使得同一科目的不同出卷变得快捷方便,有效的实现了以考试选拔人才的客观性。我们可以预见在线考试系统有效减轻了教师的工作负担并提高工作效率和改卷质量。而且由于计算机自动组卷、阅卷,不仅能节省教师大量宝贵时间,而且能浙江大学远程教育学院本科毕业论文 丁亮 _713021202003 2 彻底消除出卷人的主观影响,考试工作更加规范化,更加客观、真实、全面的反映教学的实际效果,有助于促进教学质量的提高,有助于实现考、教分离,促使教 师严格按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。 选题的意义是能够简便考试流程,节省更多的时间
10、和资源;提高考试系统的管理水平和质量;实现考试系统的公平性和保密性。 1.2 国内外研究现状 随着网络技术的发展,无纸化办公已经成为主流,而相对应的,基于 WEB的在线考试也是大势所趋。而现阶段,在线考试系统的发展却远不如无纸化办公规范,业内对此的发展也远没有其他在线系统重视。 目前,国内的在线考试系统主要用在远程考试,在线教育等方面,系统多为会员制。 其体制已日趋完善,大多网站将在线考试与在线学习相结合,是学生能够从其中获取更多的知识,利于提高学生的自学能力和综合水平。但在实际操作中,其中也不乏用户操作繁琐,题库生成不合理导致的成绩不公等弊端。 而在实际生活中,在线考试可以运用的领域很宽广,
11、比如驾照考试,公司的人才录取,在线问卷调查等,而 B/S 架构能够很有效的解决客户端和服务器端的同步问题,所以,在线考试系统的完善与发展有很大的提升空间。 ETS(美国教育考试服务中心 )举办的 GRE(美国研究生入学考试 )的计算机网络化考试就是最有影响的案例,但是在线考试系 统实现的功能差异很大,存在的问题也很多,考试系统研究开发仍任重而道远。 浙江大学远程教育学院本科毕业论文 丁亮 _713021202003 3 第 2 章 课题采用的技术和系统环境配置要求 本章主要讲述的是开发本系统所涉及到的技术和工具,此外还有在设计系统初级阶段时对系统配置环境的认识和建议。 2.1 课题设计基础介绍
12、 2.1.1.Net 简介 1.什么是 ASP.NET ASP.NET 是 M 的一部分, ASP.net 是一种建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。它提供了一个统一的 Web 开发模型,并为开发人员 提供了创建企业级 Web 应用程序所需的各种服务。 ASP.NET 是一个已编译的、基于 .NET 的环境,可以使用任何与 .NET 兼容的语言(包括 Visual Basic .NET、 C# 和就 Jscript.)创作应用程序。另外,任何 ASP.NET 应用程序都可以完全使用 .NET Framework。开发人员可以方便地获得这些技术的优
13、点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 2 .NET Framework 概述 .NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。 .NET Framework 的几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面, .NET 提供了全新的数据库访问技术 ADO .NET,以及网络应用开发技术ASP .NET 和 Windows 编程技术 Win Forms;在开发语言方面, .NET 提供了 VB、VC+、 C#、 Jscript 等多种语言支
14、持;而 Visual Studio .NET 则是全面支持 .NET的开发工具。 .NET Framework 主要 实现下列目标: ( 1)提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。 ( 2)提供一个将软件部署和版本控制冲突最小化的代码执行环境。 ( 3)提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。 ( 4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应浙江大学远程教
15、育学院本科毕业论文 丁亮 _713021202003 4 用程序和基于 Web 的应用程序)时保持一致。按照工 业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。 .NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管
16、代码,而不以运行库为目标 的代码称为非托管代码。 .NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。 .NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。 .NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行
17、库宿主的开发。 3. ASP.NET 的特点 (1)ASP.NET 的新性能 ASP.NET 提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个 ASP.NET 的主题就是网站帮用户做了大部分不重要的琐碎的工作。 (2)全新的构造 新的 ASP.NET 引入受管代码 (Managed Code)这样一个全新概念,横贯整个视窗开发平台。受管代码在 NGWS Runtime 下运行,而 NGWS Runtime 是一个时间运行环境,它 管理代码的执行,使程序设计更为简便。 (3)高效率 对于一个程序来讲,速度是非常重要的。在 ASP 中为了尽可能精简程序代
18、码,以至于不得不将代码移植到一个低性能的部件中。而 ASP.NET 则能妥善地解决这一问题。 (4)易控制 在 ASP.NET 里,你将会拥有一个 “Data-Bounds” (数据约束 ),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。 (5)语言支持 ASP.NET 支持多种语言,支持编译类语言,支持比如 VB、 VC+、 C#等,它比这些编译类语言运行速度快,更适合编写大型应用。 浙江大学远程教育学院本科毕业论文 丁亮 _713021202003 5 (6)更好的升级能力 快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种
19、新的技术来适应不同的网站,网络应用和网站需要提供一种更加强大的可升级的服务。 ASP.NET 能够适应上面的要求。 4. C# C#是一种最新的、面向对象的编程语言,是微软在 Microsoft .NET 中推出的全新语言。这种全新的面向对象的语言使得开发者可以快速的构建从底层网站级到高层商业组件的不同应用。 C#在保证了强大的功能和灵活性的同时,给 C和 C+带来了类似于 VB的快速开发,并且它还针对 .NET 作了特别设计,比如C#允许 XML 数据直接映射为它的数据类型等等,这些特性结合起来使得 C#成为优秀的下一代网络编程语言。 C#( C sharp)是一种面向对象的编程语言,主要用
20、于开发可以在 .NET 平台上运行的应用程序。 C#是从 C 和 C+派生出来的一种简单、现代、面向对象和类型安全的编程语言,其语言体系都构建在 .NET 框架上,并且能够与 .NET 框架完美结合。它语法简洁,不允许直接操作内存,去掉了指针操作。 C#拥有比 C,C+或者 Java 更广泛的数据类型 .这些类型是 bool, byte, short, ushort ,int ,long ,float ,double ,和 decimal,像 Java 一样 ,所有这些类型都有一个固定的大小又像 C 和 C+一样 ,每个数据类型都有有符号和无符号两种类型。 C#有两个局限性: 第一是 C#不适
21、用于编写时间紧迫或性能非常高的代码。 第二是 C#缺乏性能极高的应用程序所需要的关键功能,包括保证在代码的特定地方运行的内联函数和析构函数。但是这类应用程序非常少。 5. ADO.NET 对象操作数据库 在 Microsoft .NET 中访问数据库的技术是 ADO .NET。 ADO .NET 提供了一组用来连接到数据库,运行命令,返回记录集的类库,与从前的 ADO(ActiveX Data Object)相比, Connection 和 Command 对象很类似,而 ADO .NET 的革新主要体现在如下几个方面: 首先, ADO .NET 提供了对 XML 的强大支持,这也是 ADO .NET 的一个主要设计目标。在 ADO .NET 中通过 XML Reader, XML Writer, XML Navigator, XML Document 等可以方便的创建和使用 XML 数据,并且支持 W3C 的 XSLT、DTD、 XDR等 标准。 ADO .NET 对 XML 的支持也为 XML 成为 Microsoft .NET中数据交换的统一格式提供了基础。 其次, ADO .NET 引入了 Dataset 的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。不管数据来源于一个关系型的数据库,还是来源