1、编 号无锡太湖学院毕 业 设 计 ( 论 文 )题目: 基于.NET 的在线考试系统 信 机 系 计 算 机 科 学 与 技 术 专 业学 号: 学生姓名: 指导教师: (职称:副教授 )(职称: )2013 年 5 月 25 日无锡太湖学院本科毕业设计(论文)诚 信 承 诺 书源程序代码,加 153893706本人郑重声明:所呈交的毕业设计(论文) 基于.NET 的在线考试系统 是本人在导师的指导下独立进行研究所取得的成果,其内容除了在毕业设计(论文)中特别加以标注引用,表示致谢的内容外,本毕业设计(论文)不包含任何其他个人、集体已发表或撰写的成果作品。班 级: 计科 94 学 号: 作者姓
2、名: 2013 年 5 月 25 日I无 锡 太 湖 学 院信 机 系 计 算 机 科 学 与 技 术 专 业毕 业 设 计 论 文 任 务 书一、题目及专题:1、题目 基于.NET 的在线考试系统 2、专题 二、课题来源及选题依据选题来源:导师指定 选题依据:网络技术的发展给人们生活带来了不少的变化,它丰富了人们的娱乐生活,提高了工作效率,这也一点点的影响到了教育,因此,远程教育随之慢慢的发展起来。学生可以通过电脑与老师面对面教育,也可以摆脱传统的考试模式,传统的考试模式步骤繁琐,增加了老师的负担,而且很难避免不可预计的人工疏忽,而在线考试系统恰恰克服了它的缺点,全程电脑操作,随机出题,电脑
3、评分等优势让在线考试系统慢慢的走向了各大学校、机构。但是,传统考试延至到至今,考试系统如何让被更多的人们接受仍是一个巨大的考验。 三、本设计(论文或其他)应达到的要求:技术要求: 技术的选择要求使用 Asp.Net 及数据库技术完成。 软件要求: 支持的操作系统包括 Windows98/XP/NT/7 文版及以上版本;相关软件如: IIMicrosoft Visual Studio 2005,SQL Server 2005 等。 功能要求: 用户登录时进行身份验证并且有注册功能。 试题题型包括单选题、多选题、填空题、判断题 。 要求系统根据要求在题库中自动生成一份试卷。 管理员对不同题型试题库
4、的管理。 考生能进行在线考试,实行时间的监控和权限的控制,在规定时间交卷。 考试结束能进行自动评卷,并马上显示出考生分数。 四、接受任务学生计科 94 班 姓名 五、开始及完成日期:自 2012 年 11 月 12 日 至 2013 年 5 月 25 日六、设计(论文)指导(或顾问):指导教师 签名签名签名教 研 室 主 任学科组组长研究所所长 签名系主任 签名III2012 年 11 月 12 日IV摘 要随着互联网的发展,人们已经进入了信息时代。在这种环境下,学生希望得到个性化的满足,这使一种新型的考试流行起来,这就是在线考试系统。在线考试化突破了地域的限制,将一切变得如此的简单。本系统利
5、用网络和数据库技术,基于 C#语言和 ASP.NET 来实现的在线考试系统,开发平台是 Visual Studio 2005,数据库使用的是 SQL Server 2005。文章介绍了在线考试系统的分析、设计及实现的全过程,完成了前台管理,后台管理。前台管理主要是考生修改个人信息,在线考试功能。后台管理主要是对考试科目、基础信息、教师信息、学生信息的添加和维护,还有制定、维护试卷和试题的录入和维护功能。本系统的独特之处是考试试卷都是在题库随机抽取的,并且试卷的题型、分值、难度都可由管理员后台制定。这种新的模式,为学校创造了新的考试环境,提高了考试效率,保证了考试的客观性,实时性,阅卷标准的一致
6、性,从而高效率、高质量的完成了考生的能力测评。关键词: ASP.NET;在线考试;SQL ServerVAbstractWith the development of the Internet, people have entered the information age. In this environment, the students hope to get personalized meet, which makes a new type of examination pop up, this is the online examination system. The online
7、examination breakthrough the geographical constraints, everything becomes so simple.The system uses the network and database technology, based on the C # language and ASP.NET online examination system development platform Visual Studio 2005, the database is SQL Server 2005, completed the front desk
8、management, management background. The article describes Online exam management system analysis, The front desk management candidates modify personal information, online examination function. Manage test subjects, basic information, teachers, student information to add, and maintenance, as well as e
9、stablishing, maintaining, papers and questions of entry and maintenance functions. The system is unique in exam papers are randomly selected exam questions and papers, scores, the difficulty can be developed by the administrator background.This new model for the school to create a new test environme
10、nt, improve the efficiency of the examination, to ensure that the examination of objectivity, timeliness, consistency of marking standards, high efficiency, high quality evaluation of students abilities.Key words: ASP.NET; Online exam; SQL ServerVIV目 录摘 要 .IIIABSTRACT IV目 录 V1 绪论 .11.1 本课题的研究内容和意义 .
11、11.2 国内外的发展概况 .11.2.1 国内发展状况 11.2.2 国外发展状况 21.3 本课题应达到的要求 .22 开发工具及环境 .32.1 开发工具 .32.1.1 ASP.NET .32.1.2 C#.32.1.3 SQL SERVER 2005 42.1.4 Microsoft Visual Studio 200542.2 开发环境 .52.2.1 软件环境 52.2.2 硬件环境 52.3 系统架构 .53 系统需求分析 .73.1 可行性分析 .73.2 需求分析 .73.2.1 功能需求 73.2.2 数据流分析 83.3 系统流程图分析 94 系统设计 .114.1 数
12、据库设计 .114.1.1 数据库概念结构设计 11VI4.1.2 数据库逻辑结构设计 114.1.3 数据库结构设计 164.1.4 数据库关系图 184.2 系统模块设计 .184.2.1 考生模块 194.2.2 管理员模块 195 系统功能介绍 .215.1 前台功能 .215.1.1 用户登录 215.1.2 用户注册 225.1.3 个人信息修改 235.1.4 在线考试功能 245.2 后台功能 .285.2.1 考试科目管理 295.2.2 基础信息管理 305.2.3 教师管理 315.2.4 学生信息管理 325.2.5 试卷管理 335.2.6 试题管理 365.3 本章
13、小结 .446 结论与展望 .456.1 结论 .456.2 不足之处及未来展望 .45致 谢 .47参考文献 .48附 录 .49基于.NET 的在线考试系统11 绪论1.1 本课题的研究内容和意义随着互联网的高速发展,网络已经成为人们不可缺少的一部分,各种网络应用层出不穷,这些应用很多已经取代了人们原来不完善的东西。传统的考试流程繁琐,而且极易出现错误,它必须要经过5个流程:人工出卷,学生考试,阅卷,成绩评估,和试卷分析。随着考试要求的不断提高和考试类型的不断增加,传统的考试方式已经越来越不适应现在的科技化教学环境。在此环境下,很多的开发者就研发出了在线考试系统,它的出现就是一个很好的远程
14、教育的开元,它的出现开辟了无纸化考试的新纪元。如今,这项开发已经广泛运用到了各大高校和教学机构,比如全国计算机考试,会计上岗证考试,现在都采用了在线考试。它提高了考试的质量,减轻了老师的工作负担,是考生越来越趋于公正,客观,提高了效率,节约了成本,即适合基于Internet的大规模考试,也满足了学校、培训机构的考试要求。现阶段,在线考试系统是一个研发的热点,它一共分为 2 类:客户机/服务器模式(C/S)架构和 B/S 模式。前者的主要缺点是维护和升级比较困难,而后者可以让用户通过浏览器直接访问位于服务器上的试题以及对系统进行远程维护。在线考试系统将传统的教育理论与基于 Internet 的计
15、算机协同工作软件系统有机结合起来,基本上满足了各种规模的考试要求。该在线考试系统可以协助考试机构对考试进行科学的分析、评价,而且该考试系统实现了自动评分,实时统计,优化并改变了传统考试的运行模式。它主要将系统分为考生和管理员两种身份。考生申请注册后,登陆系统进入考试答题界面。考生可以选择考试科目,答题结束后可以查看正确的答案。在管理员界面主要分为 6 模块:考试科目、基础信息、教师管理、学生管理、试卷管理、试题管理。综上所述,要实现基于.Net 的在线考试系统需实现客户端于数据库的连接以及题库的编辑试卷、自动出卷、自动成卷。其中,与数据库的连接是本系统的核心,也是我主要解决的问题,我主要通过使
16、用 ADO 对象,通过 ODBC 驱动程序来访问数据库,使 SQL 语句获得数据并传送到Web 服务器上,最后通过编译,将结果传送到浏览器。1.2 国内外的发展概况1.2.1 国内发展状况在90年代,计算机技术的高速发展也给传统的考试带来了一次翻天覆地的改革。它的先例是应用在1994年的全国计算机考试中,其目的在于更好的促进学习,向社会普及计算机知识,也通过客观公正的考试来合理的选拔人才。从1994年开考以来,一直沿用到现在,已顺利通过近20次的考试,使用范围遍布30多个省市。目前全国各大高校也陆续研发出了属于自己学校的考试系统,有复旦大学、同济大学、清华大学、北京大学等高校。国家信息产业部也
17、开发了办公自动化证书CEAC远程考试系统、红旗Linux远程考试系统 1。但现在国内的技术跟西方国家相比还是有一点差距的,诸如绝大部分考试系统都是以客观题为主,让学生从多个选项中进行选择,这样下来,学生的随意性强,存在侥幸的心里。另一方面,由于缺少主观题,这对学生的主观综合能力无法进行考究。这些问题还要新一代的年轻人去解决。无锡太湖学院学士学位论文21.2.2 国外发展状况在线考试系统最先发源于美国,历经了多年,已经在国外广泛使用。著名的考试机构有美国思而文学习系统有限公司,它是一家计算机化考试服务和从事教育的专业公司,在全球已经有了两千多个专业公司。美国还有世界上最大的考试机构美国教育考试服
18、务中心。从 1993 年开始在 CRE(研究生入学考试)采用自适应考试模式,它是逐步减少笔试考试 2。2000 年以后,国外考试特别是技术资格认证的考试,都采用在线考试系统。总而言之,国外在线考试系统的发展时间较早,应用范围也很广,已经充分得到了群众的认可与支持。 1.3 本课题应达到的要求在线考试系统用于专业、科目和试题的录入、修改删除和参加考试的 ASP 应用程序,他最大的特点是实用性和方便性。它要实现用户注册,用户信息管理,试题库管理,试卷生成,在线考试,自动验卷功能。系统最终实现的主要功能如下: 题库管理设置部分:包括管理员对题库的增删改操作。 考试科目的设置部分:包括管理员对考试科目
19、的增删改操作。 试卷的信息的设置:由管理员设置考试信息,包括试卷的难度、题型,考生考试时能根据该设置自动生成试卷。 在线测试用户模块,具体有登录,注册,在线测试,修改自身资料, 用户管理部分:由管理员浏览所有用户信息,并管理员能够添加、删除和修改用户信息。基于.NET 的在线考试系统32 开发工具及环境2.1 开发工具工欲善其事,必先利其器,所以开发工具的选择和使用也决定这一个程序的好坏。在开发工具上,选择 SQL Server 2005 和 VS2005,在语言上,选择 ASP.NET 和 C#,下面用具体文献介绍这些开发工具和语言。2.1.1 ASP.NETASP.NET 是大家熟知的一个
20、新版本,并且它还提供了一个统一的 Web 开发模式,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。 ASP.NET 的语法与 ASP 的语法可以相互兼容,同时它还提供了更加稳定可靠的安全保护,并且它提供一种全新的编程模式和结构,利用这种新的模式,可生成伸缩性和稳定性更好的应用程序。另外,ASP.NET 是一种基于.NET 环境的,编译的,可以用任何与 .NET 兼容的语言编程的应用程序。开发人员可以方便地取得这些技术的优点,这其中就包括托管的公共语言类型安全、继承、运行环境等 3。ASP.NET 2.0 使用一种分级的配置系统,字符基础的,使服务器环境和应用程序的设置更为简单。因
21、为配置信息都保存在简单文本当中,新的设置有可能无需要启动本地的管理员工具就可以实现。一个 ASP.NET 2.0 的应用程序如果需要在一台服务器系统的安装,那么要简单的拷贝一些必须的文件,不需要重新启动系统,所有的过程只需要这么几步的步骤。ASP.NET 2.0 已经被设计成为一种可以应付突发事件性的开发工具,并且可以用于多处理器的开发工具,它特殊的无缝连接技术,将很大的提高运行速度。即使你现在的 ASP.NET 2.0 应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的功效,但现在的 ASP 的确做不到这一点。ASP.NET 优越性主要体现在以下几个方面: 效率:A
22、SP.NET 的速度和效率要比那种只能用 JavaScript 或 VBScript 这样的非模块化编程语言来编写的脚本编程语言提高了很多。ASP.NET 是建立在.NET Framework 上的,可使用类似 C+,Visual Basic 这样的模块化程序设计语言,在初次执行之后不须重新编译即可直接运行。 可重用性:传统的 ASP 将 ASP 代码与 HTML 混合在一起,但 ASP.NET 是把代码与实现内容的完全分离,可重用性非常强。 代码量: ASP 对所有要实现的功能通过编写代码来实现,而 ASP.NET 只须预先说明,就可自动实现,所以,实现同样的功能,ASP.NET 要比 AS
23、P 代码量小的多。2.1.2 C#微软给 C#语言定义是“C#是一种源于 C 和 C+语言之上的,简单的、现代的和类型安全的面向对象的编程语言。C#的目的是综合 VB 的高效的制作效率和 C+的灵活性“。作为微软下一代新式面向对象语言,它能够在.NET 平台上快速并且高效地创建应用程序。同时,在.NET 平台的支持下,开发人员能够使用 C#语言创建强大而灵活的 Web应用程序。由于 C#语言源自 C 和 C+,因此三者在语法上基本保持一致,但是,C#语言抛弃了C 和 C+语言中难懂的表达方式和表达语言。无锡太湖学院学士学位论文4在默认的情况下,C#语言中不具备指针操作,在 C+中含有大量的操作
24、符诸如”.”,而 C#是没有的,原因在于 C#语言代码所运行的受控环境下运行框架是由.NET 提供,并且不允许直接内存操作。另外,使用 C#创建应用程序不必记牢那些基于不同处理器框架的隐含类型。用传统程序设计语言设计程序时,都是通过先编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须结束编译后再次运行程序才能观察。如果对界面的效果不满意,还必须要回到程序中修改。有时候,这种编程-编译-修改的操作可能需要经过反复多次修改,这就非常影响了软件开发速度和效率。C#语言在.NET 的IDE(集成环境)下提供了可供使用者直接查看设计界面的设计工具,把 Windows 界面设计的复杂性
25、“封装”起来,开发人员不必为界面设计去编写大量繁琐的程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,选择各种“控件” ,并通过设置这些控件的属性去达到使用者想要的效果,.NET 会自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。C#通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用.NET 设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个
26、微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员进行编程工作,也能极大的提高工作效率 4。2.1.3 SQL SERVER 2005 SQL Server 2005 是微软较新版本的数据库软件,他被视为跃上企业数据库的舞台的代表作品。SQL Server 2005 是微软公司的下一代数据库管理和分析软件系统,他将为用户带来更加强大的可用性、可伸缩性、对企业数据库管理和分析等方面的安全性,更加容易进行建立,配置和管理。SQL Server 2005 是一个非常全面的数据库平台,使
27、用集成的商业智能 (BI) 工具提供了达到企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。它不仅仅只是一个完整的数据库,而且具有强大的扩展性。它是 Windows 操作系统最为流行的数据库,适合各种类型的应用程序的后台数据库。它同时也适用于电子商务、数据仓库、和在线商业应用程序等。SQL Server 2005 是在SQL Server 2000 的基础上扩展升级的产品。它在继承了 SQL Server 以前版本优点的同时,还增加了许多新的功能,诸如该软件与微软公司的其他产
28、品之间有良好的兼容性。它提供的几十种向导,覆盖了几乎所有的数据库操作(数据库的创建、维护、警告、作业、转换数据、复制等) 5。SQL Server 2005 支持 B/S 模式的体系结构。SQL Server 2005 的关系数据引擎是为 Windows DNA 环境下的应用程序提供的基本报务之一,是一个具有高度可靠性、安全性、和可伸缩性的数据存储引擎 6。SQL Server 2005 是一种高性能的关系型数据库管理系统,在 SQL Server 2000 的基础上大大扩展了系统的性能、可靠性和易用性,逐渐成为 OLTP(在线事务进程)、DW(数据仓库)和 E 商务应用最好的数据库平台 6。
29、 基于.NET 的在线考试系统52.1.4 Microsoft Visual Studio 2005Microsoft Visual Studio 2005 是开发 ASP.NET 应用程序的环境,它将多种.NET 编程语言及所需的工作集中在一开发平台上,而且在自定义方面相当的灵活。集成开发环境(IDE )是一个将程序编辑器、编译器、调试工具等集成在一起的用于开发应用程序的软件系统,VS 2005 提供了一个创建应用程序的集成开发环境(IDE) ,程序员可以使用一种或者多种.NET 编程语言编写程序代码 7。VS 2005 吸收了多种编程工具的优点,提供了很多更加有效的工具,很大程度的简化了
30、Web 和 Windows 应用程序的建立过程,如拖拉式。还提供了很多之前不具备的新特性,其中包括非常完整的开发环境、动态的帮助、丰富的扩展模型等。另外,基于网络的客户端、丰富的客户端口和形成智能设备的统一一致的设计模型,使开发人员在应用程序中能够使用同一实例。Visual Studio 2005 和 .NET Framework 2.0 将在应用程序开发的所有方面取得大幅进展。首先,Visual Studio 2005 根据开发人员个人的需要调整软件开发需求,设置新的开发人员工作效率标准。这一“个性化工作效率”将在开发环境和 .NET Framework 类库中提供相应的功能,可以帮助开发人
31、员在最短的时间内适应工作需要。其次,Visual Studio 2005 使开发人员能够通过与 Microsoft Office System 和 SQL Server 2005 的更好集成,在更广泛的应用程序开发方案中应用现有的开发方式。最后,Visual Studio 2005 将提供一组新的工具和功能,以满足目前大规模企业的应用程序开发需求。2.2 开发环境2.2.1 软件环境操作系统:Windows 7 旗舰版浏览器:Internet Explorer (IE )编程软件:Microsoft Visual Studio 2005数据库:SQL SERVER 2005 2.2.2 硬件环
32、境服务器:CPU: Inter(R)Core(TM)2 DUO内存:1.99GB硬盘:250GB客户机:CPU:1G内存:64MB 或以上硬盘:20G 或以上 2.3 系统架构目前,市面上的在线考试系统架构一共分为 2 种,分别是客户机/服务器(C/S)模式和浏览器/服务器(B/S)模式。采用 C/S 架构模式即是把数据库内容放在远程的服务器上,每台需在线考试的电脑上都需安装该应用程序,而且数据库还要配置,因此,每次考试的安装配置都比较繁琐。因此,该模式很难适 应现在的考试需要,都采用 B/S 模式。无锡太湖学院学士学位论文6B/S 结构,是 WEB 兴起后的一种新的网络结构模式,客户端最主要
33、的应用软件是WEB 浏览器。这种模式简化了系统的开发、维护和使用,将系统功能实现的核心部分都集中到服务器上了。客户机上只要安装一个浏览器,如 IE,服务器安装 SQL Server2005等数据库就可以实现软件了。在线考试系统在这种 B/S 模式下的具体实现是考试人员可以通过浏览器向服务器发送请求,通过网络远程访问。这种体系结构简化了客户机的工作,是管理员对系统数据集中管理,维护简单,便于考试人员的使用。这样就大大减轻了系统维护与升级的工作和量成本,简化了客户端电脑载荷,降低了用户的成本。B/S 结构最大的优点就是在任何地方不用安装任何的软件就可以进行操作运行系统,条件只是需要一台能上网的电脑
34、,客户端不需要任何维护。此外,系统的扩展性非常容易,只要能上网,使用者能有一个登录的用户名和密码,就可以使用了。甚至可以注册,认证通过后也可以进入系统。但是,B/S 架构还存在一个致命弱点,就是限制于程序运行环境。并且在运行的速度以及图形的表现能力上低于 CS 架构。此外网页的兼容性也比较差,原因在于 B/S 架构依赖浏览器,但浏览器的版本繁多,各浏览器核心架构差别也很大,尤其是在 CSS 布局,JAVASCRIPT 脚本执行等方面,会有很大影响。基于.NET 的在线考试系统73 系统需求分析3.1 可行性分析在线考试系统的可行性研究,是指在调查的基础上,通过技术分析,操作分析和财务分析,对这
35、个项目的合理性进行综合的评估,可行性研究的目的在于用最小的代价在尽可能短的时间内确定问题是否能解决。在线考试系统的可能性研究主要包括下面三个方面:技术可行性:技术可行性主要分析技术上的条件是否能满足该项目的执行。在技术方面,本系统主要使用.NET 进行开发,.NET Framework3.5 框架作为微软公司已经成熟的产品,能足够胜任该系统的运行,在软件方面,该系统需要数据库服务,SQL Server 2005 能够存储处理大量的数据,同时能保持数据的完整性和提供更多的管理功能。在硬件方面,高速的计算机技术使现在的电脑存储量越来越大,处理速度越来越快,大多数电脑都能成功搭建该系统的硬件平台,因
36、为,该系统在技术上室可行的。操作可行性:目前,随着网络进入了更多的家庭,电脑价格越来越低,满足了学校内的各学院,各职能部门,各教育单位的上网需求,只要有电脑和网络的地方,在线考试系统就不再是神话。良好的网络环境和设备为无纸化的考试系统奠定了基础。而且,该系统操作简单,用户只需在自己的电脑上,通过 web 浏览本页面,同时,所有的操作都是基于 web 的操作方式,诸如:链接,按钮,文本框等,操作者不需要培训,只要稍微提示下便可独自完成。与传统的考试相比,省去了很多的步骤。所以,该系统在操作上是可行的。经济可能性:在经济上,现在大多数校园都是有校园网的,只要将该该程序上传到服务器,并不要额外的支出
37、。而且该程序作为实训的一个项目,所有的开发人员的经费是不需要的,并且,学校老师都是无偿进行辅导的,在经费方面是完全可以接受的。所以,在线考试系统在经济上市可行的。3.2 需求分析要实现一个在线考试系统,首先应该进行需求分析,这样才能开发出满足用户需求的软件。3.2.1 功能需求在线考试系统的功能需求分析具体体现在试卷的生成和抽取、评分及查询、题库的增删改和维护以及用户的管理等。通过对上述系统功能的分析,针对在线考试系统的需求,总结出如下需求信息。1 用户登录时进行身份验证并且有注册功能。 2 用户可以根据需要修改密码和个人信息。管理员可以增删改用户。3 管理员可以设置试题每种题型的数量,分值及
38、考试时间 。 4 管理员能对不同题型的试题库管理。5 要求系统根据试卷的题目数量、难度、范围等要求在题库中自动生成一份试卷。6 考生能进行在线考试,实行时间的监控和权限的控制,在规定时间交卷。无锡太湖学院学士学位论文87 考试结束能进行自动评卷,并马上显示出考生分数,能保存每个学生的试卷及答案。8 要求考虑界面设计的简洁、美观、具有屏蔽其它操作等功能。3.2.2 数据流分析数据流图(DFD) ,他从数据的加工和传递的角度,以图形的方式来表达系统的逻辑功能、数据在系统内部的逻辑转换和逻辑流向的过程,是结构化系统分析法的主要表达工具及用于表示软件模型的一种图示方法。绘制数据流图的基本要求:系统的顶
39、层图是用来表示系统的功能结构。随着数据分析逐渐深入,较高抽象级别上的复杂转换可以进化为一系列的相关联的数据流和子转换 8。数据流图(DFD)数据流图描述系统的逻辑模型,在设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需考虑如何具体地实现这些。图例如图 3.1 所示:外部项信息流或数据流数据存储加工图 3.1 数据流图图例经过详细分析得出在线考试系统的顶层数据流程图,如图 3.2。该顶层数据流图的起点是考生和管理员,考生经过考生信息数据流输入到在线考试系统,在线考试系统中的数据经过考生成绩数据流又流向考生。管理员经过管理员信息数据流输入到在线考试系统中。在线考试系统考生管理员考生信息考
40、生成绩管理员信息图 3.2 顶层数据流图为了便于理解,现在对顶层数据流进行自顶而下的逐层分解,一级数据流如下图3.3。基于.NET 的在线考试系统9考生 注册管理员选择试卷登录考试试题管理学生管理试卷管理注册登录用户管理考生信息表试卷库成绩表 试题库管理员表评分考生成绩注册成功考试结束标准答案提取试卷图 3.3 一级数据流图3.3系统流程图分析为了方便用户的操作,开发了系统流程图分析,如图 3.4 所示。首先,用户登录系统,输入用户名和密码,系统判断是否为学生,如果是学生的话,进入学生页面,可进行修改信息和在线考试。如果是管理员的话 ,则进入管理员操作页面,可进行后台操作。无锡太湖学院学士学位
41、论文10开始是否是学生是否为管理员选择科目考试 修改信息退出进入后台管理页面提示错误信息输入用户名 , 密码NY图 3.4 系统流程图基于.NET 的在线考试系统114 系统设计4.1 数据库设计在分析在线考试系统的结构后,还要考虑系统的数据库设计,规范化的数据库设计能衡量一个数据库应用系统的成功,下面的具体内容就是详细说明各个实体的属性及相互之间的关系,还有对数据库结构设计的相关说明即需要哪些数据表,数据表中包括哪些字段,这些字段用来做什么。4.1.1 数据库概念结构设计本系统的用户一共有学生和管理员,管理员模块是为了灵活的维护系统,通过管理员权限可以方便地对整个系统进行维护。基础的数据表有
42、:管理员表、班级信息表、课程表、填空题表、多选题表、试卷表、试卷详细信息表、成绩表、单选题表、专业表、学生表、判断题表。4.1.2 数据库逻辑结构设计E-R 图也称实体- 联系图,提供了表示联系、实体和属性的方法,是用来描述现实世界的逻辑模型。它是由联系、实体和属性三个基本要素组成,其表示方法如下。实体型:具有相同属性且具有相同的性质和特征,用实体名及其属性名集合来形象地表示同类的实体,实体用矩形框来表示,矩形框内写实体名。属性:实体具有的某一个特性,一个实体可由多个属性来刻画。在 E-R 图中用椭圆形表示,并用无向边将属性与相应的矩形实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是
43、多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。联系:联系即关系,在信息世界中反映实体之间或实体内部的联系。实体之间的联系通常是指不同实体之间的联系;实体内部的联系通常是指组成实体的各属性之间的联系。联系在 E-R 图中用菱形表示,框内写明联系名,并用无向边连接有关实体,同时在无向边旁标上联系的类型(1 : 1,1 : N 或 M:N) 。 比如管理员与学生存在管理关系,考生与考试试卷存在答题关系。如果是弱实体的联系则在菱形外面再套菱形 9。本系统的总E-R 图如图 4.1 所示。无锡太湖学院学士学位论文12管理员管理考试试卷答题 组成考生 科目组成单选 多选 填空题
44、判断题NNN1属于班级11NN NN1图 4.1 总 E-R 图 在线考试系统涉及不同身份登录,而考生又比较多,为了区别用户,规划出用户信息实体,其实体及其属性如图 4.2 所示:U s e r s学生名 学生班级学生 I D 学生学号 学生专业学生密码图 4.2 用户实体及其属性 在线考试系统还有管理员身份登录,其实体及其属性如图 4.3 所示:基于.NET 的在线考试系统13A d m i n管理员号 用户名 用户密码 用户邮箱 用户电话图 4.3 管理员实体及其属性 学生比较多,所以设置班级这个实体对学生甲乙区别,其实体及其属性如图 4.4所示:C l a s s班级号 专业号 班级名图
45、 4.4 班级实体及其属性 所有的学生都有各自的专业,其实体及其属性如图 4.5 所示:S u b j e c tI D 号 名字图 4.5 专业实体及其属性 所有的试卷试题都有各自的课程,其实体及其属性如图 4.6 所示:C o u r s e课程号 课程名图 4.6 课程实体及其属性无锡太湖学院学士学位论文14 每份试卷都有填空题类型,包括试题,答案,难度,所属课程等属性,其实体及其属性如图 4.7 所示:F i l l B l a n k P r o b le m题目号 课程号 题目 答案图 4.7 填空题实体及其属性 每份试卷都有多选题类型,包括试题,各选项答案,难度,所属课程等属性,
46、其实体及其属性如图 4.8 所示:M u l t i P r o b l e m课程号选项 A 答案题目号题目答案选项 D 答案选项 C 答案选项 B 答案图 4.8 多选题实体及其属性 每份试卷都有单选题类型,包括试题,各选项答案,难度,所属课程等属性,其实体及其属性如图 4.9 所示:S i n g l e P r o b l e m课程号选项 A 答案题目号题目答案 选项 D 答案选项 C 答案选项 B 答案图 4.9 单选题实体及其属性 每份试卷都有判断题类型,包括试题,答案,难度,所属课程等属性,其实体及其属性如图 4.10 所示:T e s t P r o b l e m题目 答案
47、I D 号 图片 课程号图 4.10 判断题实体及其属性 试卷比较多,为了对试卷信息进行记录,试卷这个实体包括试卷号,课程号,试卷名称,考试时间等属性,其实体及其属性如图 4.11 所示:P a p e r课程号 试卷状态试卷号 试卷名 考试时间基于.NET 的在线考试系统15图 4.11 试卷实体及其属性 每份试卷的抽取信息都记录在 PaperDetail 中,包括试卷号,题目类型,题目号,分值等几个属性。其实体及其属性如图 4.12 所示:P a p e r D e t a i l试卷号 题目I D 号 题目类型 分值图 4.12 试卷细节实体及其属性 每个学生考试结束后的分值都记录在 S
48、core 实体中,包括用户号,试卷号,分值,考试时间等属性。其实体及其属性如图 4.13 所示:S c o r e用户 I D 考生成绩I D 号 试卷 I D 考试时间图 4.13 分数实体及其属性4.1.3 数据库结构设计在本系统中,涉及到的数据项和表结构如下:表 4-1 管理员表列名 数据类型 长度 允许为空 备注Id int 4 否 管理员号UserName char 50 否 用户名UserPwd varchar 50 否 用户密码userEmal varchar 50 否 用户邮箱userTel varchar 50 否 用户电话表 4-2 班级信息表列名 数据类型 长度 允许为空 备注Id int 4 否 班级号SubjectId varchar 50 否 专业号ClassName varchar 50 否 班级名表 4-3 课程表列名 数据类型 长度 允许为空 备注Id Int 4 否 课程号Name varchar 50 否 课