1、在线考试管理系统院 系: 工学院 计算机科学与技术系 专 业: 计算机科学与技术专业 年 级: 2007 级 学生姓名: 沈伟 褚红 学 号: 200703050127 200703050150 目录第一章 概述1.1运行环境配置与系统结构要求.51.1.1 硬件环境要求. .51.1.2 搭建 ASP.NET开发环境 . 5 1.2 编程环境(ASP.NET) . .51.2.1 ASP.NET简介. .51.2.3 SQL Server 2000 介绍. .6第二章 可行性研究及需求分析2.1 可行性研究 . .72.1.1 项目要求. . .72.1.2 待开发系统的主要开发目标 .72
2、.1.3 可行性研究的方法 . .72.1.4 评价尺度. .72.1.5 技术条件方面的可行性. . .72.2 需求分析. . . .82.2.1 软件功能分析. . .82.2.2 软件的非功能性需求. . .82.2.3 软件其他方面的要求. . .8第三章 总体设计3.1 题库管理. . . .93.2 在线答题. . . .93.3 系统功能模块划分. . . .93.4 数据库设计. . .113.4.1 数据库需求分析. . .113.4.2 数据库概念设计. . .113.4.3 数据库逻辑结构设计. . .13第四章 详细设计及实现4.1.1 界面设计. . .144.1.
3、2 用户登录. . . 154.1.3 密码修改. . 164.2 后台各个功能模块设计. . .174.2.1 学生信息管理 . .184.2.2 老师信息管理 . .194.3.1 试题信息管理.204.3.1 科目信息管理 . 20第五章 测试运行与维护5.1 网站测试. . .215.2 网站维护. .21基于 ASP.NET 在线考试系统设计计算机科学与技术专业 摘要:本文在分析计算机(网络)考试的发展及现有模式的基础上,结合计算机网络技术的发展和素质教育的要求,提出了计算机网络自适应考试的模式,并在技术实现上进行了详细的分析.本系统是在 Windows XP下,以IIS5.1(In
4、ternet Information Server)网络信息服务为应用服务器,选择ASP.NET(C#)、SQL Server 2000开发在线考试系统,采用 WEB技术实现,WEB技术超越了传统的“客户机/服务器”的两层结构,采用的是三层体系(B/S)结构:用户端/服务器端/数据库,因此 WEB结构有着更好的安全性,在用户机上不需要安装任何应用程序;本系统可以随机生成试卷,同时保证试卷的整体水平一致的前提下,每套试卷的题目不完全相同,即使对于同一个试题而言,试题答案的显示顺序也是不相同的。同时该系统避免了传统在线考试效率低,可维护性不高的缺点。关键字:在线考试; ASP.NET; SQL S
5、erver; Browser/Server; C#第一章 概述1.1 运行环境配置与系统结构要求1.1.1 硬件环境要求CPU:PIV 2.0GHZ 或更高频率的 CPU内存:DDR333 256MB 或更多的内存硬盘:至少 10G 以上或更多的硬盘空间1.1.2 搭建 ASP.NET 开发环境单击“开始”按钮,并执行“设置”“控制面板”命令,打开“控制面板”窗口,双击“网络”图标,打开网络对话框;然后,单击“添加”按钮,添加所需的组件,选择“协议” ,最后,在“厂商”列表框中选择 Microsoft 公司提供的协议,在“网络协议”列表框中选择 TCP/IP 协议选项,单击 “确定”按钮添加该
6、协议,完成安装。2.安装和配置 IISIIS 是 Internet Information Server 的缩写,称为 Internet 信息服务。它是一种 Web 服务,主要包括 WWW 服务器,FTP 服务器。它使得(局域网)或 Internet(因特网)上发布信息变得很容易 Windows XP Professional 中包含 IIS 5.1,但系统安装时未包括此组件,因此需要手动安装。1.2 编程环境(ASP.NET)(1)安全。 ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案,开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。详细信息,请参阅ASP
7、.NET 安全。 (2)易于部署。 通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上,不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。详细信息,请参阅 ASP.NET 部署。 (3)增强的性能。 ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP)不同,ASP.NET 能利用早期绑定、实时(JIT)编译、本机优化和全新的缓存服务来提高性能。详细信息,请参阅 ASP.NET 性能监视。 (4)灵活的输出缓存。 根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或整个页。
8、缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。 (5)国际化。 ASP.NET 在内部使用 Unicode 以表示请求和响应数据,可以为每台计算机、每个目录和每页配置国际化设置。 (6)移动设备支持。 ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。 (7)扩展性和可用性。 ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务(IIS )和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程
9、序继续处理请求。详细信息,请参阅 ASP.NET 进程隔离。 (8)跟踪和调试。 ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用.NET Framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。 (9)与.NET Framework 集成。 因为 ASP.NET 是.NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅
10、地访问.NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。 (10)与现有 ASP 应用程序的兼容性。 ASP 和 ASP.NET 可并行运行在 IIS Web 服务器上而互不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅处理具有.aspx 文件扩展名的文件。具有.asp 文件扩展名的文件继续由 ASP 引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间共享。 ASP.
11、NET 启用了分布式应用程序的两个功能:Web 窗体和 XML Web 服务。相同的配置和调试基本结构支持这两种功能。(3)由 Web 服务器(或称 HTTP 服务器)一方实时动态地生成。1.2.3 SQL Server 2000 介绍1.SQL Server 2000 简介SQL Server 2000 是微软公司在 SQL Server 7.0 版的基础上新推出的数据库产品,它扩展了 SQL Server 7.0 版的性能、可靠性、质量以及易用性。它还包括许多新功能以提高系统的执行性能,而且使得数据库的管理工作变得更加轻松易学,这些功能进一步将 SQL Server 确立为 OLTP、数据
12、仓库以及电子商务应用程序的最佳数据库平台。使全部用户,包括应用程序员、DBA 管理员和终端用户受益非浅。(1)非过程化语言SQL 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有 SQL语句接受集合作为输入,返回集合作为输出。SQL 的集合特性允许一条 SQL 语句的结果作为另一条 SQL 语句的输入。SQL 不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有 SQL 语句使用查询优化器,它是 RDBMS 的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道
13、存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。(2)统一的语言SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的 SQL 命令只需很少时间就能学会,最高级的命令 er 托管提供程序的连接字符串中,存在很多属性,但是常用的属性并不多,数据库连接字符串的常Connection Timeout(连接超时时间):当数据库连接发生错误时,系统会再次尝试连接数据库,在关闭数据库连接所经历的时间长度,系统默认的时间为 15 秒。下面通过实例介绍使用 SQL Server 连接对象和连接字符串连
14、接数据 test1 方法。连接数据库 test1 需要创建数据库连接对象,创建代码如下:SqlConnection con=newSqlConnection(”server=.;database=test1;uid=sa;pwd=”););第二章 可行性研究及需求分析2.1 可行性研究在线考试系统的主要特点是一方面可以动态地管理各种考试系统信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷;另一方面,考试时间灵活,用户可以在规定时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出考试结果,计算机阅卷给了用户的最大的公平感。如何通过一种开发语言
15、能高效的设计出这个系统是一个值考虑的一个需求。由于现代计算机网络技术的快速发展,信息已遍布全球。再加上现代考试的普及。网络已成为大众化的产物,所以将考试系统与网络相联,是很有意义的。ASP.NET 技术为这个系统设计提供了极大的方便。 2.1.1 项目要求 (1)功能:数据库管理、考试功能、领导审核功能、考试新闻发布;(2)性能:操作方便、可靠、高效、界面赏心悦目;(3)本系统必须要求开发人员对网络技术有一定了解;(4)管理员可以通过本系统将考试的信息存入到数据库中,可以很方便的对信息进行更新。2.1.2 待开发系统的主要开发目标(1)迅速实现试题的更新与新闻的发布;(2)使系统的后台管理功能
16、完善;(3)让系统自动生成试卷;(4)实现现代考试网络化。2.1.3 可行性研究的方法 结合系统本身及自身的情况选定此课题,对该系统做出了可行性研究。系统设计是以在线考试为目的,基于现代网络在线考试技术,结合现有的技术制定出设计的方案。最终将开发出界面友好、方便现代用户考试的一套完整的网上考试系统。2.1.4 评价尺度(1)自动生成试卷的可行性与完整性;(2)后台管理功能的管理能力;(3)信息发布的及时性与更新性;(4)考试界面的完善;(5)成绩查询的时间性;(6)系统在使用过程是否便于操作和维护。2.1.5 技术条件方面的可行性因为本系统最终在分布式系统上运行,因为本人电脑的配置对于做毕业设
17、计以足够,该系统的功能足以被实现。在软件方面可以用以下几种:(1)操作系统用 windows。windows 作为一个优秀的网络操作系统,它的发行版本中集成了大量的网络应用软件。(2)web 服务器端采用 IIS+ASP.NET+SQL Server2000。IIS 是微软公司主推的 Web 服务器,它试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷;另一方面,考试时间灵活,用户可以在规定时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出考试结果,计算机阅卷给了用户的最大的公平感。该系统最大的
18、实际应用就是特别适合于现代大学的考试,不仅减轻了教师因要批改大量试卷的负担,而且方便了大学对学生学习的管理。所以本系统可以立即开始开发。2.2 需求分析需求分析就是发现、求精、建摸、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题。也就是说,需求分析的第一步是尽可能了解当前用户的情况和需要解决的问题。2.2.1 软件功能分析根据高校管理的实际要求,结合考试管理的实际过程,系统应该实现以下功能:(1)掌握本考试系统范围内所有用户的基本情况,包括编号,姓名,登录口令等。(2)基于考试系统的基本功能管理,本系统可以提供给管理员类用户及学生类用户使用。不同的用
19、户类型所能完成的功能不同。教师类用户可以创建试题、删除过期试题、进行题库维护、创建试卷以及对本系统内人员信息进行维护和更新等;学生类用户主要是参与考试,完成试卷,查询成绩。(3)适时的试题题库更新,试题题型包括判断题、选择题类型。试题库的更新由管理员类用户完成。学生类用户不允许对试题进行更新。(4)试卷可由本系统自动生成,也可以由管理员类用户从题库中选择试题创建。2.2.2 软件的非功能性需求作为一种软件产品,除了在功能方面必需达到用户的基本要求以外,还必需在意一些非功能方面的因素,诸如:软件的用户操作界面的美观和简洁,以及界面图标的标准化和规范化。软件要有一定的兼容性,应该兼容当前的主流操作
20、系统平台,象 WINDOWS 98/NT/Me/2000/XP/2003 等。硬件方面应当要求配置低一点,象这样的小型开发软件应该适用于现大多数的计算机网络系统。而且,最好是可以适应打印机等其它硬件设备,而本软件就很好地做到了这一点。2.2.3 软件其他方面的要求(1)在软件程序设计过程中,依据软件工程相应理论与原则的要求,应当编制标准的软件技术文档。如软件使用的编码必须符合 C#编程的编码设计标准与规范,其使用的对象名、对象类型和命名约定应该一致并规范化。软件编码时应注意代码清晰、可读性好,还要运用缩进、空行等必要的格式,结合大小写的区别等方法保持程序结构良好。涉及多表操作的模块应运用“事务
21、”处理,以保持数据完整性。第三章 总体设计3.1 题库管理 试题类别管理,主要实现试卷类别的添加、删除、修改功能; 考试试题管理,主要实现试题的添加、删除和修改功能; 试题答案管理,主要实现试题的答案的添加、删除和修改功能。3.2 在线答题 动态随机生成试卷使用随机函数动态地从题库中取得整张试卷的题目,每次生成的试卷是不相同的; 显示整套试题。3.3 系统功能模块划分系统整体架构设计如图 5 所示。本系统整体上可以划分为数据库、数据访问和业务逻层。数据库、数据访问层及业务逻辑层的具体描述如下:(1)数据库层是系统最底层,他存储系统的所有数据。(2)数据访问层建立在数据库之上,应用程序通过该层访问数据库。数据访问层一般封装数据库的选择、添加、更新和删除等操作,同时还为业务逻辑层提供访问数据库的接口或函数等。该层直接与数据库相关联,同时又为业务逻辑层服务,所以数据访问层设计的好坏关系到整个系统的成败。下面以用户管理模块的数据访问层(UserDB 类)为例介绍数据访问层的实现方法,如图 6 所示。业务逻辑层数据访问层数据库图 5 总体架构设计