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 待开发系统
2、的主要开发目标 .72.1.3 可行性研究的方法 . .72.1.4 评价尺度. .72.1.5 技术条件方面的可行性. . .72.2 需求分析. . . .82.2.1 软件功能分析. . .82.2.2 软件的非功能性需求. . .82.2.3 软件其他方面的要求. . .8第三章 总体设计 3.1题库管理. . . .9 3.2 在线答题. . . .9 3.3 系统功能模块划分. . . .9 3.4 数据库设计. . .11 3.4.1 数据库需求分析. . .11 3.4.2 数据库概念设计. . .11 3.4.3 数据库逻辑结构设计. . .13第四章 详细设计及实现 4.1
3、.1 界面设计. . .144.1.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下,
4、以IIS5.1(Internet Information Server)网络信息服务为应用服务器,选择ASP.NET(C#)、SQL Server 2000开发在线考试系统,采用WEB技术实现,WEB技术超越了传统的“客户机/服务器”的两层结构,采用的是三层体系(B/S)结构:用户端/服务器端/数据库,因此WEB结构有着更好的安全性,在用户机上不需要安装任何应用程序;本系统可以随机生成试卷,同时保证试卷的整体水平一致的前提下,每套试卷的题目不完全相同,即使对于同一个试题而言,试题答案的显示顺序也是不相同的。同时该系统避免了传统在线考试效率低,可维护性不高的缺点。关键字:在线考试; ASP.NE
5、T; 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协议选项,单击“确定”按钮添加该协议,完成安装
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.NET安全。 (2)易于部署。 通过简单地将必要
7、的文件复制到服务器上,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运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。详细信息,请参阅 ASP.NET进程隔离。 (8)跟踪和调试。 ASP
9、.NET提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用.NET Framework调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。 (9)与.NET Framework集成。 因为ASP.NET是.NET Framework的一部分,整个平台的功能和灵活性对Web应用程序都是可用的。也可从Web上流畅地访问.NET类库以及消息和数据访问解决方案。ASP.NET是独立于语言之外的,所以开发人员能选择最适于应用
10、程序的语言。另外,公共语言运行库的互用性还保存了基于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服务器)一
11、方实时动态地生成。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是一个非过程化的语言,因为它一次处理一个记录,对数据提供自
12、动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。(2)统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端
13、用户。基本的SQL命令只需很少时间就能学会,最高级的命令er托管提供程序的连接字符串中,存在很多属性,但是常用的属性并不多,数据库连接字符串的常 Connection Timeout(连接超时时间):当数据库连接发生错误时,系统会再次尝试连接数据库,在关闭数据库连接所经历的时间长度,系统默认的时间为15秒。下面通过实例介绍使用SQL Server 连接对象和连接字符串连接数据test1方法。连接数据库test1需要创建数据库连接对象,创建代码如下:SqlConnection con=newSqlConnection(”server=.;database=test1;uid=sa;pwd=”);
14、);第二章 可行性研究及需求分析2.1 可行性研究在线考试系统的主要特点是一方面可以动态地管理各种考试系统信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷;另一方面,考试时间灵活,用户可以在规定时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出考试结果,计算机阅卷给了用户的最大的公平感。如何通过一种开发语言能高效的设计出这个系统是一个值考虑的一个需求。由于现代计算机网络技术的快速发展,信息已遍布全球。再加上现代考试的普及。网络已成为大众化的产物,所以将考试系统与网络相联,是很有意义的。ASP.NET技术为这个系统设计提供了极大的方便。 2
15、.1.1 项目要求(1)功能:数据库管理、考试功能、领导审核功能、考试新闻发布;(2)性能:操作方便、可靠、高效、界面赏心悦目;(3)本系统必须要求开发人员对网络技术有一定了解;(4)管理员可以通过本系统将考试的信息存入到数据库中,可以很方便的对信息进行更新。2.1.2 待开发系统的主要开发目标(1)迅速实现试题的更新与新闻的发布;(2)使系统的后台管理功能完善;(3)让系统自动生成试卷;(4)实现现代考试网络化。2.1.3 可行性研究的方法 结合系统本身及自身的情况选定此课题,对该系统做出了可行性研究。系统设计是以在线考试为目的,基于现代网络在线考试技术,结合现有的技术制定出设计的方案。最终
16、将开发出界面友好、方便现代用户考试的一套完整的网上考试系统。2.1.4 评价尺度(1)自动生成试卷的可行性与完整性;(2)后台管理功能的管理能力;(3)信息发布的及时性与更新性;(4)考试界面的完善;(5)成绩查询的时间性;(6)系统在使用过程是否便于操作和维护。2.1.5 技术条件方面的可行性因为本系统最终在分布式系统上运行,因为本人电脑的配置对于做毕业设计以足够,该系统的功能足以被实现。在软件方面可以用以下几种:(1)操作系统用windows。windows作为一个优秀的网络操作系统,它的发行版本中集成了大量的网络应用软件。(2)web服务器端采用IIS+ASP.NET+SQL Serve
17、r2000。IIS是微软公司主推的Web服务器,它试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷;另一方面,考试时间灵活,用户可以在规定时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出考试结果,计算机阅卷给了用户的最大的公平感。该系统最大的实际应用就是特别适合于现代大学的考试,不仅减轻了教师因要批改大量试卷的负担,而且方便了大学对学生学习的管理。所以本系统可以立即开始开发。2.2 需求分析需求分析就是发现、求精、建摸、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分
18、析用户所面临的问题。也就是说,需求分析的第一步是尽可能了解当前用户的情况和需要解决的问题。2.2.1 软件功能分析根据高校管理的实际要求,结合考试管理的实际过程,系统应该实现以下功能:(1)掌握本考试系统范围内所有用户的基本情况,包括编号,姓名,登录口令等。(2)基于考试系统的基本功能管理,本系统可以提供给管理员类用户及学生类用户使用。不同的用户类型所能完成的功能不同。教师类用户可以创建试题、删除过期试题、进行题库维护、创建试卷以及对本系统内人员信息进行维护和更新等;学生类用户主要是参与考试,完成试卷,查询成绩。(3)适时的试题题库更新,试题题型包括判断题、选择题类型。试题库的更新由管理员类用
19、户完成。学生类用户不允许对试题进行更新。(4)试卷可由本系统自动生成,也可以由管理员类用户从题库中选择试题创建。2.2.2软件的非功能性需求作为一种软件产品,除了在功能方面必需达到用户的基本要求以外,还必需在意一些非功能方面的因素,诸如:软件的用户操作界面的美观和简洁,以及界面图标的标准化和规范化。软件要有一定的兼容性,应该兼容当前的主流操作系统平台,象WINDOWS 98/NT/Me/2000/XP/2003 等。硬件方面应当要求配置低一点,象这样的小型开发软件应该适用于现大多数的计算机网络系统。而且,最好是可以适应打印机等其它硬件设备,而本软件就很好地做到了这一点。2.2.3 软件其他方面
20、的要求(1)在软件程序设计过程中,依据软件工程相应理论与原则的要求,应当编制标准的软件技术文档。如软件使用的编码必须符合C#编程的编码设计标准与规范,其使用的对象名、对象类型和命名约定应该一致并规范化。软件编码时应注意代码清晰、可读性好,还要运用缩进、空行等必要的格式,结合大小写的区别等方法保持程序结构良好。涉及多表操作的模块应运用“事务”处理,以保持数据完整性。第三章 总体设计3.1题库管理 试题类别管理,主要实现试卷类别的添加、删除、修改功能; 考试试题管理,主要实现试题的添加、删除和修改功能; 试题答案管理,主要实现试题的答案的添加、删除和修改功能。3.2在线答题 动态随机生成试卷使用随
21、机函数动态地从题库中取得整张试卷的题目,每次生成的试卷是不相同的; 显示整套试题。3.3 系统功能模块划分系统整体架构设计如图5所示。本系统整体上可以划分为数据库、数据访问和业务逻层。数据库、数据访问层及业务逻辑层的具体描述如下:(1)数据库层是系统最底层,他存储系统的所有数据。(2)数据访问层建立在数据库之上,应用程序通过该层访问数据库。数据访问层一般封装数据库的选择、添加、更新和删除等操作,同时还为业务逻辑层提供访问数据库的接口或函数等。该层直接与数据库相关联,同时又为业务逻辑层服务,所以数据访问层设计的好坏关系到整个系统的成败。下面以用户管理模块的数据访问层(UserDB类)为例介绍数据
22、访问层的实现方法,如图6所示。业务逻辑层数据访问层数据库 图5 总体架构设计网上考试系统用户登录题库管理在线答题系统数据访问层数据库 图6 系统模块划分图UserDB类实现数据库的方法如下:过程,应用程序首先从数据库获取该用户的信息,如用户名称和用户角色等,然后再根据用户的角色显示用户的下一步操作页面。如果考生登录,显示生成试卷等待页面和在线答题页面;如果教师登录,显示题库管理页面;如果系统管理员登录,显示系统维护页面,本系统部分用户的登录流程图如图7所示。2.在线答题在线答题模块是比较复杂的模块。在线答题模块中,系统首先按照试卷的要求,如试卷总分、试卷难度系数,随机从数据库生成一套试卷,然后
23、根据不同的题型把各个试题显示在答题页面上。试卷随机生成的流程图如图8所示。 随机生成试卷过程中存在两个回归的过程。右边的回归过程返回到随机生成试卷的状态,该回归过程是在没有满足试卷的题型或题型种类条件是发生;左边的回归过程返回随机获取试卷种类状态,该回归过程是在没有满足试卷种类条件时发生。数据库中的每一类型的试卷所包含的题型是不相同的,而且是每一种题型所包含的试题和试题的题量也是不相同的,只是各种类的试卷的总分和难度系数都在同一个范围内,即属于同一类型的试卷。系统中的同一类型的试卷,它们的难度系数将控制在一个范围内,即界于最大难度系数和最小难度系数之间。考生登陆获取用户角色随机获取试卷种类随机
24、生成试卷显示试卷结束 图8 试卷随机生成的流程图3.4 数据库设计3.4.1 数据库需求分析在本设计中,通过对考试管理的内容和数据流程的分析,设计的数据项和数据结构如下:教师:教师编号,教师密码,教师姓名,课程号。学生:学生编号,学生密码,学生姓名,学生性别,学生状态,学生已考课程。成绩:成绩编号,学生编号,课程编号,成绩,课程状态。课程:课程编号,课程名,测试。3.4.2 数据库概念结构设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。本设计根据上面的设计规划出的实体有教师,学生,成绩,课程实体。各实体的E-R图及其关系
25、描述如下:教师实体E-R图如下:教师编号教师姓名教师教师密码课程号 图3.4.2.1教师实体E-R图学生实体E-R图如下:学生姓名学生编号学生状态学生学生已考课程学生性别学生密码 图3.4.2.2 学生实体E-R图成绩实体E-R图如下:成绩编号课程编号学生编号成绩成绩课程状态 图3.4.2.3成绩实体E-R图课程实体E-R图如下:课程名测试课程课程编号 图3.4.2.4课程实体E-R图3.4.3数据库逻辑结构设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。在线
26、考试管理系统数据库中的各个表格的设计结果如下面的几个表格所示。每个图表示在数据库中的一个表。 教师表(teacher)列名数据类型是否为空主键描述teacherIdvarcharNot nullyes教师编号teacherPwdvarcharNullNo教师密码teacherNamevarcharNullNo教师姓名courseIdvarcharnullno课程编号 学生表(student)列名数据类型是否为空主键描述stuIdVarcharNot nullYes学生编号stuPwdVarcharNot nullNo学生密码stuNameCharNot nullNo学生姓名stuSexIntN
27、ullNo学生性别StustatusIntNullNo学生状态stuCurrentCoursecharNullNo学生已考课程 成绩表(score)列名数据类型是否为空主键描述scoreIduniqueidentifierNot nullyes成绩编号stuIdvarcharNullNo学生编号courseIdvarcharNullNo课程编号scoreintNullNo成绩courseStatusintnulno课程状态 课程表(course)列名数据类型是否为空主键描述courseIDVarcharNot nullyes课程编号courseNameVarcharNot nullNo课程名i
28、sTestbitNot nullNo测试第四章 详细设计及实现对系统的需求有了完整、准确、具体的了解后,接下来的工作就是正确实现这些模块的具体功能。进行软件设计之后,就是实现软件设计的目标,设计出所要开发软件的模型,并使其投入实际的应用中。4.1 用户登录4.1.1 界面设计用户登录由Login1.aspx页面实现,它的代码隐藏文件为Login1.aspx.cs文件,用户登录是应用程序的主入口,用户只有通过该入口才能进入系统,它的界面设计如图9所示。因为用户所属角色有考生和管理员两类,所以在设计登录页面时,需要提供一个角色选择框让用户选择自己所属的角色。用户登录界面使用两个TextBox控件为
29、用户输入用户名称和密码,用户单击“登录”按钮可以登录到系统,单击“注册”按钮可以进入注册页面进行注册。4.1.2 用户登录用户单击“登录”按钮触发事件btnLogin_Click(),该事件实现用户登录的验证过程。事件btnLogin_Click()验证用户的输入,如果用户输入是正确的,用户可以登录到系统中,否则页面弹出密码错误对话框或用户角色所属错误对话框。事件ImageButton1_Click()代码如下:private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)if(Textbo
30、x_stuId.Text.Trim()=|Textbox_userPwd.Text.Trim()=)if(Textbox_stuId.Text.Trim()=&Textbox_userPwd.Text.Trim()=)Response.Write(alert(用户名和密码不能为空!););else if(Textbox_stuId.Text.Trim()=)Response.Write(alert(用户名不能为空!););else if(Textbox_userPwd.Text.Trim()=)Response.Write(alert(密码不能为空!););elseint count=0;if
31、(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();SessionstuId=stuId;Response.Redirect(userInfo.aspx);/Response.Redi
32、rect(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)Respon
33、se.Write(alert(登陆成功!););string adminId=Textbox_stuId.Text.ToString();SessionadminId=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 teacherI
34、d=Textbox_stuId.Text.ToString();SessionteacherId=teacherId;Response.Redirect(teacherFrame.htm);else Response.Write(alert(登录失败!););修改密码界面:修改密码界面能实现考生密码的修改。4.2 后台各个功能模块设计学生信息管理由页面stuInfoView.aspx实现,stuInfoView.aspx.cs是它的代码隐藏文件,学生信息管理页面需要实现学生的增加、删除和修改以及查询学生的相应信息。学生信息管理页面如图11所示。老师信息管理由页面teacherInfoView.
35、aspx实现,teacherInfoView.aspx.cs是它的代码隐藏文件,老师信息管理页面需要实现老师的增加、删除。老师信息管理页面如图11所示。试题信息维护由页面showTest.aspx实现,showTest.aspx.cs是它的代码隐藏文件,试题信息维护页面需要实现科目的增加、查询,显示相应的内容。试题信息维护页面如图11所示。科目信息管理由页面courseView.aspx实现,courseView.aspx.cs是它的代码隐藏文件,科目信息管理页面需要实现课程的增加、删除和是否考试。科目信息管理页面如图11所示。考试结果管理由页面testResult.aspx实现,testRe
36、sult.aspx.cs是它的代码隐藏文件,考试结果管理页面需要实现考试科目分数的编辑、删除。考试结果管理页面如图11所示。第五章 测试运行于维护5.1 网站测试网站测试是网站完成前的一项重要的工作,客户应该尽可能完整地浏览自己的网站,检查所有的链接是否正确,文字是否准确,效果是否恰当,功能是否完善。 (1)通常在测试前您应该有一张完整的网站栏目结构图,该图应该明确地表达网站各栏目之间的关系。(2)按照结构图的顺序,逐一检查各个栏目的内容、链接、效果、功能。(3)记录下发现的每一处问题。(4)对修改过的栏目,重复(2),(3)。(5)检查完成。测试要注意的问题:(1)整个网站风格是否一致,包括
37、色彩、字体、页眉、页脚、导航条、栏目菜单等等,进入某一栏目不能有似乎换了一个网站的感觉。(2)在不同页面的看上去一样的链接菜单一定要逐一点击,不能因为在其他页面已经点过而在另一页面不去点击。5.2 网站维护网站的维护很重要,对于一个网站,它的建立只是一部分,更主要的还在于它的后期维护,它关系到网站的生命力及影响力。一个网站即使它最初的建设搞得很好,但由于它的后期维护做得不得力,它不能适应人们的需要,就会被淘汰。一般网站维护包括以下几个方面。(1)服务器及相关软硬件的维护,对可能出现的问题进行评估,制定响应时间。(2)数据库维护,有效地利用数据是网站维护的重要内容,因此数据库的维护要受到重视。 (3)信息更新(内容的更新、调整等)。 (4)制定相关网站维护的规定,将网站维护制度化、规范化。其中信息更新在网站维护方面对于一个网站起到非常重要的作用,一个网站即使它的页面及内容很吸引人,但如果它的更新时时跟不上,常此以往,光顾它的用户将会越来越少,因为人们总是在追求着更新时代潮流。收集于网络,如有侵权请联系管理员删除