1、 本科 毕业 设计 (论文 ) (二零 届) 基于校园网的试卷自动生成系统的设计和实现 所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 摘要 :为了方便学生的自主学习,也为了方便老师对于试卷的管理。本系统基于校内网对试卷进行自动生成 ,对学校教学过程的重 要环节 考试 ,开展了深入的研究 ,通过对数据库理论 和 ASP.NET 编程技术 ,设计并实现了一个通用的试卷自动生成系统。该系统具有以下的特点 : (1)试题难度 选择 (2)word 文档的自动导出 (3)支持多用户和多用户权限。在实际需求的基础上增加了管理员控制权限、支持考试科目的增加 ,以及
2、老师的 添加和学生的添加功能 ,使流程更加完善。(4)系统的使用者可以直接使用普通网页浏览器进行操作。一方面为使用者提供方便 ,一方面节约了开发、维护成本。 关键词 :试卷自动生成 ASP.NET 网页 - 2 - The paper based on campus network of an automatic generating system design and implementation Abstract: In order to facilitate students autonomous learning, also in order to facilitate the man
3、agement of teachers for papers. This system based on campus network, automatic generation is imperative for the important link of the school teaching process - exam, deepened research, through to the database theory and programming technique, design and implementation of a general test paper automa
4、tic generating system. This system has the following features: (1) try difficulty choice (2) word document automatic export (3) support multi-user and multiple user permissions. On the basis of the actual demand increased administrator control privileges, support the examination subjects, and the in
5、crease in the teacher and student added add function, make the process more perfect. (4) the system users can directly use ordinary web browser operate. On the one hand for users provide convenient, on the one hand, save the development, maintenance costs. Keywords: Papers automatically generate pa
6、ge 目 录 1 绪论 . 1 1.1 课题的研究背景 . 1 1.2 课题研究的目的与意义 . 1 1.3 课题的研究内容 . 1 1.4 课题的研究方法 . 2 1.5 论文的内容组织 . 2 2 基础知识简介 . 3 2.1 HTML 简介 . 3 2.1.1 HTML 元素 . 3 2.1.2 HTML 元素属性 . 3 2.1.3 HTML 数据类型 . 4 2.2 ASP.NET 简介 . 4 2.3 C#语言 . 6 2.4 数据库技术 . 7 2.4.1 数据库设计的基本步骤 . 8 2.4.2 数据库设计的原则 . 9 3 系统分析 . 10 3.1 需求分析 . 10 3.
7、2 可行性分析 . 10 4 概要设计 . 11 5 系统设计与实现 . 16 5.1 界面设计 . 16 5.2 系统功能 . 16 6 系统测试与评价 . 27 6.1 系统测试的原则及方法 . 27 6.2 测试与评价 . 27 6.2.1 单元测试 . 27 6.2.2 集成测试 . 28 6.2.3 系统测试与评价 . 28 7 总结及展望 . 29 致 谢 . 30 参考文献 . 31 基于校内网的试卷自动生成系统的设计和实现 1 1 绪论 1.1 课题的研究背景 信息时代的今天,传递和获取信息的途径越来越多,其中网络以其跨时间,跨地域以及快速、高效,低成本的显著特性己经成为信息传
8、递和信息获取的主要途径,而如何把信息以更快、更具表达力地发布到网上己经成为各单位部门急需解决的问题。 1958年美国的 IBM公司的沃斯顿研究所设计 出 了第一个计算机教学系统, 60年代初开始把计算机技术引进到教育 的 领域,人们开始从方法学的研究发展到与实际的计算机系统相结合,在多种计算机系统上针对不同的学科,分别开发出一些计算机辅助教学软件作为学生自学与复习的一种辅助手段。我国开展计算机辅助教学开始于六十年代。由于技术与基础条件的差距,使国内各大学的计算机辅助教学的实际使用起步较慢。自 80 年代开始,由师范大学部分教师从跟踪国外先进技术的角度,开始了解、研究与探讨计算机辅助教学技术,到
9、80 年代中期以后,随着微机技术的发展,汉字处理技术 的成熟,为我国的计算机辅助教学技术的发展打下了基础,我国的计算机辅助教学技术业蓬勃发展 。 但是我国正处于教育供需矛盾突出阶段,教育软件严重不足,教师资源短缺,学习人数逐年快速增长。依靠传统的教育方式已不能满足教育的飞速发展,教育信息化能够突破教育环境的时空限制,把外部世界引入课堂,使学生获得与现实世界较为接近的体验。教育信息化为我们展示了未来教育的美好前景。知识的共享与共建思想, ADL(高级分布式学习 )思想的提出及数字化信息资源网的建设趋势,都促使我们尽快研制一种学习系统满足社会对知识信息的需求 . 为了解决 校园网络教育资源系统的不
10、完善,不统一,积极利用网络资源,完善教育手段,最大限度地发挥教师资源,最佳配置教学内容 :提供尽可能简单的、统一的界面,为学习者和管理者带来方便,为现代信息社会培养更多高素质人才。 1.2 课题研究的目的与意义 纵观国内外,题库管理和试卷生成系统的技术已经比较成熟,并且都以商业应用为主,但在浙江的各大职业学院里 , 利用题库管理和试卷生成系统来完成考试环节的还比较少,不够普及。类似的系统大多都应用在等级考试和认证考试中,比如计算机等级考试的上机考、 ADOBE 认证考试等等 。 本课题面向本校的教学实际需要,开发能满足我们要求的系统,具有很大的实用价值 。 1.3 课题的研究内容 本课题的主要
11、内容是设计旨在建立一个基于校内网的试卷生成。其内容包括试题数据库的建立 1;生成试卷的算法实现;界面的设计;试题的输出。 试题库系统的数据库分为三大部分,一部分是公共数据库,主要记录用户信息,权限信息等。第二部分是试题数据库。2 要得到一份良好的试卷,优良的选题策略和成卷算法固然重要,但前提必须要有质量高的试题,其次由于是由计算机自动到试题库中选题组卷,所以试题库还必须要有合理的结构。 1.4 课题的研究方法 (1) 文献研究法 2 文献研究法主要指收集、鉴别、整理文献,并通过对文献的研究,形成对事实科学认识的方法。该方法主要用于系统开发的前期。首先,通过阅读大量试卷自动生成的文献,结合现实,
12、总结试卷自动生成系统的基本功能及不足。以此确定毕业设计的选题。然后,根据相关文献,对系统进行需求分析和可行性分析,从而确定自己的研究方向和实现方法。 (2) 数据库设计方法 3 通过该方法,设计出结构完整并适合管理的数据库。 (3)面向对象 方法 4 面向对象方法 (Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称 OO (Object-Oriented)方法,是建立在 “对象 ”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次
13、关系的类的属性和操作进行共享的一种方式。 通过该方法,运用 ASP.NET 的编程工具,来完成试卷自动生成系统的开发。 1.5 论文的内容组织 论文共由六章组成。第 1 章绪论,主要介绍系统的研究背景、研究目的和意义、研究 内容以及研究方法;第 2 章基础知识简介,主要介绍系统开发过程中会用到的相关技术,主要有系统的开发平台 ASP.NET,系统开发语言 C#,以及 数据库技术;第 3 章系统分析,主要是对系统总体功能的一个阐述,说明系统要实现的各个基本功能模块,并对系统的可行性进行分析;第 4 章系统设计与实现,主要介绍系统的硬件软件环境、界面设计、功能实现、主要技术难点;第 5 章系统测试
14、与评价,主要涉及系统的测试方法、数据,结论以及对系统的性能进行评价;第 6 章总结与展望,主要阐述了本课题所完成的研究工作和存在的不足,以及希望在今后可以完善的地 方。 基于校内网的试卷自动生成系统的设计和实现 3 2 基础知识简介 2.1 HTML 简介 HTML( Hypertext Marked Language)即超文本标签语言。是 web 页面的描述性语言,是在标准通用化标记语言 SGML( standard generalized markup Language)的基础上建立起来的,其语法规则建立的文本可以运行在不同的操作系统平台和浏览器上,是所有网页制作技术的核心与基础 5。它被
15、用来结构化信息 如标题、段落和列表等,也用在一定程度上描述文档的外观和语义。 HTML 文件是包含一些标签的文本文件,这 些标签告诉 Web 浏览器如何显示页面。 HTML 文件必须使用 htm 或者 html 作为文件扩展名,该文件可以通过简单的文本编辑器来创建。 一个标准的 HTML 文件由 HTML 元素,元素的属性和相关属性值 3 个基本部分组成。 2.1.1 HTML 元素 HTML 元素( element)通常由首尾两个标记( tag) 组成,一个标记由一组尖括号 “ ”包含。如下划线元素: HTML 。 HTML 元素有三种形式: ( 1)首尾标记必须成对出现的元素,如: ,等元
16、素。 ( 2)起始标记必须出现,而结尾标 记是可选的,如 ,等元素。 ( 3)只有起始标记,而禁止结尾标记的元素,如 ,等元素。 2.1.2 HTML 元素属性 每一个元素都有一个或几个属性定义该元素的显示样式、行为或其它内容,同一个元素各个属性之间的顺序没有前后之分,属性的类型主要有等式型和布尔型两种。 ( 1)属性的设定方法 属性全部都设置在 HTML 元素起始标记的尖括号内,一般是以 “ ”的格式出现。属性间没有先后顺序,属性也没有大小写之分。每对属性 /属 性值之间用空格分隔。 布尔属性只有属性名称而没有属性值,指定了这个属性就代表它为 True,反之则代表False。默认情况下,每一
17、个布尔属性都是假。 ( 2)引号的使用规范 按照 HTML 规范和标准,等号后的属性值应该全部包含在英文半角双引号中。但如果引号需要进行嵌套,则外层用单引号,里层用双引号。如: 4 2.1.3 HTML 数据类型 HTML 常用的数据类型 有长度,颜色, URI 链接地址和字符串等形式。 长度值的定义方法有许多种,既有绝对数值定义,又有相对数值定义。 像素是计算机屏幕上所能显示的最小单位。像素值也是长度定义中使用最为普遍的单位,因为一般浏览器输出页面总是在屏幕上,如果设计者不考虑打印输出的话,利用像素值就能够在屏幕上进行精确的定位。 百分比形式是最典型的相对长度值。如果对一张图片定义了百分比值
18、,则它的参照对象就是整个浏览器窗口的宽度和高度。当浏览器窗口的大小变化时,图片的尺寸也会随窗口大小相应变化。 颜色定义也是 HTML 属性中比较常用的数据类型定 义。页面文档不可能是一成不变的黑白显示,浏览器默认将没有设置过颜色值的字体,直线和边框都定义为黑色,而背景全部定义为白色。 2.2 ASP.NET 简介 ASP.NET 是 Microsoft 的 ASP(Active Server Pages)技术的最新 版本,是建立在微软新一代 .NET 平台架构上,建立在公共语言运行库上,在服务器后端为用户提供建立强大的企业级 Web 应用服务的编程框架 6。可用于在服务器上生成功能强大的 We
19、b 应用程序,为 Web站点创建动态的、交互的 HTML 页面。 ASP.NET 又叫 ASP+,但并不 仅仅是 ASP 的简单升级,而是微软推出的新一代 ASP 脚本语言。 ASP.NET 完全基于模块与组件,具有较好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术。同时也提供给 Web 开发人员更好的灵活性,有效缩短了 Web 应用程序的开发周期。 ASP.NET 是一个事件驱动的、基于组件的体系结构, 它使用 .NET 语言调用 .NET Framework 类库,实现 Web 应用系统的开发。 .NET Framework 是构建、开发及运行 Web 应用程序和 Web
20、 服务的一种环境。含有公共语言运行库和公共类库,如 ADO.NET、 ASP.NET以及 Windows 窗口,来提供可整合入各种计算机系统的高级标准服务。 与以前的 Web 开发模型相比, ASP.NET 提供了数个重要的优点 7: ( 1) 增强的性能。 ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同, ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。 ASP.NET 语言执行过程如图 2-1 所示:基于校内网的试卷自动生成系统的设计和实现 5 图 2-1 ASP.NET 语言执行图 ( 2) 世
21、界级的工具支持。 ASP.NET 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。 WYSIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。 ( 3) 威力和灵活性。 由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。 .NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。 ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。 (
22、 4) 简易性。 ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如, ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。 ( 5) 可管理性。 ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可 以在没有本地管理工具帮助的情况下应用新设置。此 “零本地管理 ”哲学也扩展到了 ASP.NET 框架应用
23、程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需6 要重新启动服务器,即使是在部署或替换运行的编译代码时。 ( 6) 可缩放性和可用性。 ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用 于处理请求。 ( 7) 自定义性和扩展性。 ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别 “插入 ”代码。实际上,可以用自己编写的自定义组件扩展或替换
24、ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。 ( 8) 安全性。 借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。 ASP.NET 不是编程语言,它仅是服务器端 的一种 技术支持环境,要在这个环境中进行程序设计或网站建设,必须先选择一种语言。 ASP.NET 为用户提供了 3 种默 认程序设计语言: Visual Basic.NET、 C#( C Sharp)和 JScript.NET, 当然用户也可以选用自己比较熟悉的其他语言作为开发工具。 但无论你采用什么开发语言,最终的程序代码都会被编译为中间代码( MSIL
25、 代码)。 一个简单的 ASP.NET 页面看上去类似一张普通的 HTML 页面。我们可以通过修改扩展名的方法将一个 HTML 页面转换为 ASP.NET 的。 从根本上讲, ASP.NET 页面与 HTML 完全相同,但还是存在差异。 假如浏览器从服务器请求某张 HTML 页面,服务器不进行任何修改,就会把该页面发往 浏览器。如果浏览器请求某张 ASP.NET 页面,那么在把结果发回浏览器之前,服务器首先会处理页面中的可执行代码。 这也是 静态 HTML 页面与动态 ASP 页面的不同之处。 2.3 C#语言 在过去的二十年里, C 语言 和 C+已经成为商业软件开发领域中使用最广泛的语言。
26、它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的效率。与 Visual Basic 等语言相比,同等级别的 C/C+应用程序往往需要更长时间来开发。由于 C/C+语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一 个更为理想的权衡点。 C# (C sharp) 是微软对这一问题的解决方案。 C#是一种最新的、 精确、简单、类型安全、面向对象的编程语言。它使得程序员可以快速地编写各种基于 Microsoft .NET 平台的应用程序 。 C#就其本身而言只是一种语言,尽管它是用于生成面向 .NET 环境的代码,但它本身不是 .NET 的一部分, .NET 支持的一些特性 C#并不支持,而 C#语言支持的另一些特性, .NET