在线考试系统分析.doc_第1页
在线考试系统分析.doc_第2页
在线考试系统分析.doc_第3页
在线考试系统分析.doc_第4页
在线考试系统分析.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论