




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Web的在线考试系统 组 员:邵海燕 王文静 学 号: 1110800915 1110800927班 级:11工商9班指导教师:胡 昌 龙 湖北工业大学管理学院 二一三年十二月二十日基于web的网络考试系统的设计与实现摘 要利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序,基于web的网络考试系统。它的运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分以及简单的主观题型,但已具有试题(卷)录入、修改和查询,以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,前台主要用于考生注册和登录系统、在线考试、查询成绩以及修改个人资料等;后台主要用于管理员对考生信息、课程信息、考题信息和考生成绩信息、智能出卷等进行管理。本系统的实现有利于提高网络教学的质量同时大大拓展了考试的灵活性,阅卷效率,以及保证了考试的公平性、答案的安全性。关键词:考试系统;B/S模式;网络;ASP应用 目录第1章 引言1 1.1 基本介绍1 1.2 运行环境与系统结构2 1.3 系统特点2 1.4 一个完整的网络考试系统项目分析3第2章 ASP技术介绍5第3章 需求分析9 3.1 问题定义9 3.2 系统目标9 3.3 可行性分析9 3.3.1 传统的数据库应用程序的分层结构9 3.3.2 现有的数据库应用程序的分层结构11 3.4 本系统的方案选择12第4章 系统详细设计13 4.1 系统结构13 4.2 开发工具13 4.3 数据流程图14 4.4 数据字典15第5章 数据库16 5.1 数据库需求分析16 5.2 数据库中的表结构及数据16 5.2.1 管理表(admin)17 5.2.2 学生信息表(student)17 5.2.3 试题类型信息表(type)18 5.2.4 学生成绩表(score)18 5.2.5 专业信息表(Special)18 5.2.6 专业科目基本信息表(Subject)19 5.2.7 专业班级基本信息表(class)19第6章 程序设计与实现20 6.1 系统功能模块20 6.1.1 考试登陆模块设计20 6.1.2 考试界面设计21 6.1.3 后台管理设计21 6.1.4 成绩查询设计21 6.2 系统测试21 6.2.1 管理员登陆测试21 6.2.2 学生登陆测试23 6.2.3 考试页面测试24 6.2.4 管理员后台功能测试24 6.2.5 学科管理页面测试24 6.3.6 班级管理测试25 6.2.7 添加试卷测试25总结26致谢27参考文献28附 录30附录A: 主要代码程序30附录B: 系统使用说明书34III第1章 引言现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟教学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。1.1 基本介绍基于web在线考试系统采用ASP、HTML、Dreamweaver CS4、Photoshop 、Javascript、VBScript、Java编程语言、图形编辑与数据库等工具,通过基于WEB服务器访问纯WEB页面,实现在线出卷与考试等各项相关的功能。它是专门用于试题(卷)录入、查询、修改、删除和参加在线考试的ASP应用程序。其最大的特点是开放性、方便性和灵活性。主要是指一般的管理员用户不仅可以轻松地向题库添加、修改和查询试题(卷),而且还可以自动新增科目并建立相应的数据表;它还允许用户根据自己的需求,从现有的试题库中灵活地抽取各类试题,以组建适合于自身所需的试卷。而且,试卷的难易程度和形式以及各大题分数等都由管理员根据具体需要确定。考生通过浏览器进行有效的身份验证登录后,输入正确的选择试卷信息,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提交。一旦考生做完后便能立即看到预先记录在库中的标准答案和自己的平时成绩(正规考试试卷不得随意更改以及答案将不及时提供),并且其答案和分数将被记入库中以供审核和查阅,并作为成绩评估和试卷分析的历史数据;另外,还可完全由计算机自动按照”难度系数”灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,不妨把它称之为实时的互动的试卷。用户对象主要是大、中、小学及职业学校等单位的教师及学生和企事业单位的教育部门(因企事业单位每年要对员工进行素质、安全教育与技能等方面的培训及考试等)。1.2 运行环境与系统结构基于web的在线考试系统是基于ASP开发的一套网络考试系统,正常使用该系统您必须保证您的服务器满足如下要求:(1) 硬件环境:已配置好IIS7的win7系统或者已配置IIS5.0以上的XP系统及window NT 2003等服务器。(2) 数 据 库:Access2007。(3) 其 他:服务器必须安装 微软IE浏览器5.0+。本系统在Windows7+ACCESS2007下调试通过。1.3 系统特点系统联为一体,界面整齐、美观,操作简单、方便。另外,支持按权限对系统进行操作,即不同类型的用户拥有相异的权限对题库执行不同的操作。主要是在首页通过两种不同的方式进入相异的操作界面,以确保整个数据库中数据的安全性及完整性。其主要特点体现在以下三个方面:(1) 自主设计数据库 (2) 自主调用数据库 (3) 自主管理数据库自主设计数据库是指用户能够根据自己的需要创建新科目数据库(即系统实现了自动建表的功能),让数据库真正成为用户自己的数据库。不过,只要库中已存在该科目名称及表名,则不予重建,这样就保证了数据的统一性;自主调用数据库即允许用户能自由地从数据库中抽取试题组成试卷,试卷中有几道大题和小题以及是否提供查看答案均由用户自行设置并选题。通常来说,一份高质量的试卷,需要用户反复推敲、比较和琢磨,用户就像进超市买东西一样能方便地把看中的取出来,也可反悔把不需要的退回去,并且在形成一份完整的试卷之前,允许任意调整该试题的次序。在组卷时,还可以多份试卷选取同一试题或同一知识点的试题,但严禁一套试卷中出现知识点相同(似)且难度一致的试题。不过,其最大的缺陷在于目前只实现了试卷中的客观题部分,即包括判断、单选和多选题。而且,还没有实现客观题部分和真正的多媒体试卷;自主管理数据库指一般用户具有添加、修改和检索数据的权力,实现数据库的可扩充性和开放性。而管理员则另具有删除数据的权力,从而达到了系统数据统一性和一致性的目的,具体情况请见系统演示。1.4 一个完整的网络考试系统项目分析网络考试系统的构成(一)考生考试子系统考试子系统是网络考试系统的核心部分,它的工作流程如图2所示,由于采用Web技术实现,所以从理论上讲,考试可以在任何时候、任何地方进行,但是为了使考场易于组织和管理,所以本系统对考生是否参加过该科目的考试作了严格的限制,因此在进入网站时首先判断该考生是否已经参加过该科目考试,如果已经参加过该科目的考试,则不准在重复参加考试。当前时间是否为申请试卷时制定的考试时间,由于判断的时间是服务器端的时间,所以跟考试机器的时间无关,即使考生修改所在机器的时间,也无济于事。为了方便将学生集中起来考试有利于监考,系统也可以通过判断考生是否在规定时间内已经参加过考试,如果该考生已经在规定时间内参加过考试系统会限制学生再次参加考试。考生在考生登录页面输入自己的信息,如学号、密码等等,单击“登陆”后进入信息处理程序(在服务器端执行),试卷页面上的试题内容根据与现有考试中心管理员申请好的。同时在页面上动态地显示考试状态,考试开始的时间、结束的时间和剩余时间,当考试时间到或考生点击“提交试卷”按钮时,系统会自动将试卷提交,后台自动进行阅卷。1、考生登陆:考生正确输入账号信息,进入系统后,系统会显示该考生的考试信息,若未参加该科考试,则可点击试卷标题在规定时间内完成考试。若该考生已经完成该科考试,则会在试卷标题后面显示“已考”字样,如图1.4。图1.1 考试信息2、密码修改:修改密码可以确保系统的安全性,考生应该定期对登陆密码进行修改。3、开始考试:考生登录成功后,如果考生未参加该科目考试,考生可点击试卷题目开始考试,此时会弹出相应的时间,考生可根据给出的时间做相应的答卷。4、答案修改:做完试卷后,对试卷答案进行检查,对答案不正确的可以在相应的答案出修改。5、提交试卷:检查无误后可对试卷进行提交,提交后系统会根据系统预先给出的答案进行对比,对比后给出相应的正确答案后试卷评分,如果在系统给定时间仍没有完成答卷的,系统会自动结束考试,给出相应的答案及考试分数。6、成绩查询:通过成绩查询,可以查看已考科目的相应成绩。7、退出系统:当考试结束后,考生应该退出系统,以免被其他人修改你的信息。(二)管理子系统1 考试系统管理员登陆:未了更好的管理学生信息,增加试卷信息,为系统管理员提供的管理接口,管理员可以通过管理员登录页面登录系统对系统进行维护,比如管理考生信息,试卷信息等。2 学生管理:对学生信息进行管理。3 增加考生:对考生的不同信息作了不同的限制,学号是考生的唯一标识,不允许重复,可以一次为考生一次申请任意多个科目的试卷,(一个科目一个考生只能申请一份试卷,第二次申请其他科目的试卷是必须提供相同的姓名和准考证编号),注意这里为考生指定相应的考试。4 考生信息查询:查询已注册了的考生,可以修改考生的注册信息,删除考生等。5 成绩管理:成绩信息查询:可以通过科目选择和考试名称查询考生的考试成绩。6 删除成绩:可以通过删除功能删除该生的考试成绩。7 用户管理:修改管理员密码。8 试题管理:在试题管理下,管理员可以对单选题、判断题、填空题进行增加、修改、删除等操作。9 试卷管理:通过试卷管理,管理员可以对试卷进行管理。10 综合管理:在综合管理下,管理员可以对专业、班级、学科、学科章节进行管理。11 退出系统:为了系统安全,管理员在完成所有维护后,应该退出系统。(三)后台功能系统(整个考试系统的核心所在)1 管理员出卷:管理员通过增加单选题、判断题、填空题等组织试卷。2 自动阅卷:考生提交试卷(系统也会根据考试时间)系统自动进行。第2章 ASP技术介绍Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了ASP所独具的一些特点:1.使用VBScript 、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。2.无须编译,容易编写,可在服务器端直接执行。3.使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。4.与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript 、Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。5.ASP能与任何ActiveX scripting语言相容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。6.ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。7.可使用服务器端的脚本来产生客户端的脚本。8.物件导向(Object-oriented)。9.ActiveX Server Components(ActiveX服务器元件)具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C+ 、COBOL等编程语言来编写你所需要的ActiveX Server Component。10.另外,ASP技术的处理速度相当快,并且其安全性也很高。ASP最重要的优点是能够建立对诸如时间、地点、用户标志、以前的选择和活动等因素敏感的页面。换句话说,可针对每个用户的个别需求,用ASP定制网页,能够满足用户的各种需求。总之,ASP包含三方面含义:1.Active:ASP使用了微软的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。2.Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBSCRIPT,所以最好不要在客户端使用VBSCRIPT。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面。3.Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。由此可以看出,ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。 运行 ASP 所需的环境如下:Microsoft Internet Information Server version 3.0/4.0 on Windows NT ServerMicrosoft Peer Web Services Version 3.0 on Windows NT WorkstationMicrosoft Personal Web Server on Windows 95/98与一般的程序不同,ASP程序无须编译。ASP程序的控制部份,是使用VBScript、JScript等脚本语言来设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样,ASP程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写ASP程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装ASP时,系统提供了两种脚本语言:VBSrcipt和JScript,而VBScript则被作为系统默认的脚本语言。ASP程序其实是以扩展名为.asp的纯文本形式存在于WEB服务器上的,可以用任何文本编辑器打开它,ASP程序中可以包含纯文本、HTML标记以及脚本命令。只需将.asp程序放在Web服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP程序了。要学好ASP程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令Web服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如VBScript。脚本语言是一种介于HTML和诸如JAVA、Visual Basic、C+等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述ASP所提供的脚本运行环境可支持多种脚本语言,譬如:JScript、REXX、PERL等等,这无疑给ASP程序设计者提供了广泛的发挥余地。ASP的出现使得广大Web设计者不必在为客户浏览器是否支持而担心,实际上就算在同一个.asp文件中使用不同的脚本语言,都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在文件中声明使用不同的脚本语言即可。ASP的对象和组件:1.ASP有7个固有对象这7个固有对象分别是Request、Response、Server、Application、Session、ASPError和ObjectContext。Request对象用来处理用户做出的请求,就是处理用户要求浏览器查看特定的网页或Web应用时做出的请求。此请求可以HTML的形式输入或仅以URL的形式作出。Response对象用来处理从Web服务器向用户发送信息并对此信息进行控制。Serve对象用来代表服务器自身。因此它提供几个与Web服务器可能要完成的任务相关的常用功能,诸如建立新对象和设置脚本的超时特性等。还有通过将不合法字符转化为合法字符,把字符串转换为URL和HTML正确的使用格式的方法。Application对象用来代表应用,可用它来管理诸如应用目录这一类的东西。Session对象用来代表用户会话,并存储该会话的信息。可利用Session对象来管理如Web服务器在用户“请求”之间等待的时间等。ObjectContext对象用来管理事务处理。它目前已经集成到Windows2000操作系统中了。它包含了所有ASP其他对象,可通过ObjectContext引用ASP的每个对象。ASPError对象包含ASP脚本或asp.dll本身产生的任何错误的详细内容。2.Microsoft Data Access ComponentMDAC作为操作系统的组成部分的组件,与ASP一起提供。此组件中包含一组称为ActiveX Data Object(ADO)的对象,他们对于查看不同平台上的各种数据(数据库、表单、文本文件)是必不可少的。ADO主要有3个对象,分别是Connection、Command和Recordset。Connection对象就是使ADO与数据库之间建立一个通道,也就是实现与数据库的连接。Command对象就是对数据库进行发号施令,比如建立新的索引,执行查询等,它可以通过标准的SQL数据库操作语言得以实现。Recordset对象是一个数据记录集,它包含了我们检索出来的记录数据,通过它可以直接对数据库进行修改。3.活动服务器组件活动服务器组件是与ASP一起免费带来的组件或DLL,他们有着广泛的用途。主要包括AD Rotator、Browser Capabilities、Content Link、Content Rotator、Counters、logging Utility、MyInfo、Page Counter、permission Checker、tools等组件。由于本次设计用到的不多,在此就不详细介绍了。4.ASP脚本对象他们分别是Dictionary、FileSystemObject和TextStream.由于本设计用到的也不多,在此就不详细介绍了。第3章 需求分析3.1 问题定义现在网络正在改变着传统的教育方式,网络教育也越来越多,就算是传统的教育方式下,把考试搬到网络上也是一种趋势。考试的无纸化网络化不仅能有效减少老师的工作量,减少资源浪费,保护环境。很好的利用计算机的优势,提高工作效率,也能使考试更加公平、公正。所以就一定要构建一个性能良好安全可靠的可以满足大量学生同时使用的网络考试系统。本原型系统主要功能如下:学生可以在网上进行考试,考试结束后由计算机批改试题给出分数,并记录成绩。学生在还可以在网上查询自己的考试成绩,修改密码等个人资料。老师可以在网上出题,修改密码等个人资料。3.2 系统目标本网络考试系统应该能满足学校几千学生在任何地方、任何时间都能参加考试。本系统要让学生、老师在网络上可以维护自己的个人资料。学生也可以在网络上通过本系统查询自己考试的成绩;老师能通过网络生成试卷管理学生信息等。3.3 可行性分析3.3.1 传统的数据库应用程序的分层结构图3.1 二层结构图u 传统二层结构传统的二层式程序,也就是客户/服务器(Client/Server)结构,这种程序相对简单、清楚、开发容易,其结构如图1。客户机都通过网络连接到同一个数据库上,不过这样结构问题很多,最主要的就是性能较差维护困难已经不适应在因特网(Internet)上使用。数据同一性和完整性难以控制。同时由于每一个客户机都必须安装特定的软件,且这种客户端软件体积还比较大,用户使用起来非常不方便,所以目前已经面临淘汰。不过这样的系统开发比较简单,对开发人员的技术要求也不高,在内部局域网上使用还有一定的市场,其结构如图3.1。u 三层数据库应用结构三层结构是目前用得最多的,这种结构比传统的C/S结构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,更由于业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以他的可靠性、稳定性和效率都比较好。当然开发这样的系统在技术上和成本上要求就要多一些。(其结构如图3.2)图3.2 三层结构图u 多层分布式数据库系统近年来随着因特网的快速发展,许多企业都开始上网,因此基于网络的营销系统、MIS系统、ERP系统都快速发展起来了,这个时候仅仅三层的应用程序已经不能满足实际需求了。因此又发展出来了多层分布式的数据库系统。在多层分布式系统中,人们把中间的应用服务器再拆分为很多比较小的系统,均匀分散到多台计算机中处理,这样就能得到更好的性能并且降低了程序复杂度。在多层分布式数据库系统中必须要有一个所谓的中间件来支持和管理分散的业务处理程序。在Windows平台下微软公司推出了的Windows DNA(Distributed interNet Application Architecture,分布式网络应用结构)策略。把COM+作为Windows DNA策略中的中间件。在Windows2000以上操作系统中,COM+成为了系统的一部分。COM+为中间层提供了负载平衡、对象池(Object Pooling)、事务特性等一系列的强力支持,并且在COM+中工作的程序受到操作系统的保护,从而最大的保证了系统的安全、稳定和高效。当然开发这样的系统要求开发人员必须掌握COM(Component Object Model,组件对象模型)和COM+技术,开发难度和成本更大了。图3.3 多层分布式数据库系统3.3.2 现有的数据库应用程序的分层结构近几年来因特网飞速发展,人们的生活因为网络而在慢慢的改变。现在的个人电脑(PC)上都安装了浏览器(Browser)因此人们就利用浏览器来作为客户端程序,万维网服务器(Web Server)作为中间层和客户端沟通服务器,这就是现在流行的B/S(Browser/Server)结构方式。在这种结构下,本地的计算机无须安装任何客户端程序,只要有浏览器,可以使用因特网就可以使用系统了。他不仅仅减少了开发客户端带来的成本,最关键的是,大大减少了系统维护的成本和时间,当修改系统的时候不需要对客户做任何的改动。并且客户也可以在任何计算机上使用你的系统而不要做特别的设置。在B/S系统中以微软公司的IE浏览器、和IIS/ASP(Internet Information Server/Active Server Pages)服务器应用最为广泛,使用最方便,对中文的支持也是最好的。但是,ASP有一个天生的缺点,就是ASP代码是采用的VBScript、JScript或者PHP等脚本语言编写,运行速度相当的慢,而且和HTML代码是混在一起的,使ASP程序员既需要考虑与数据库打交道,又需要关心如何与HTML配合,有时还需要用ASP直接生成HTML代码。这样构建起来的系统当然是不能满足中、大型网络应用的需要。不过好在ASP可以通过脚本语言调用基于COM的程序,而得到功能和性能上的提升。在微软公司最新的IIS5.0系统上更可以让我们使用VC+、VB、Delphi等开发工具建立定制的运行于COM+环境中的ASP对象,这种对象,还可以和其他的COM+组件协同工作。这样一来我们就可以用B/S方式构建多层分布式的应用系统来满足大型网络应用。这也就是微软公司所推出的Web分布式多层应用程序结构(其结构如图4)也就是我们常听到的Windows DNA策略(Windows Distributed internet Application Architecture,视窗系统分布式网络应用结构)。不过开发这样的系统需要开发人员掌握更多的技术,如:ASP、VBScript、JavaScript、HTML/DHTML、ADO、COM/DCOM、MTS/COM+等等,同时学习这么多的技术这对程序员来说是一个不小的挑战!图3.4 分层结构图3.4 本系统的方案选择本系统应用于因特网,并且要满足一个学校几千学生考试的需要,因此本系统决定采用微软公司所推出的Web分布式多层应用程序结构是较好的方案,但是由于我的能力有限,只能用传统的二层结构进行设计。第4章 系统详细设计4.1 系统结构由于该系统面向总校和分布于全国各地的教学中心,因此在系统结构上采用B/S结构相结合的多层软件体系结构。域网内部快速的信息处理, B/S结构具有较好的网络扩展性和兼容性,以B/S结构能满足地理位置分散、通讯介质各异的应用。采用多层体系结构可以将数据库、业务逻辑、用户界面分离开,这样做的优点是:可伸缩性好、可管理性强、可重用性好、部署应用程序的代价比较小。系统的逻辑结构如图4.1所示:客户端程序浏览器应 用 逻辑数 据 库图4.1 网上考试系统结构图4.2 开发工具数据库平台采用Microsoft的Access 2007,Access 2007是一种关系数据库管理系统(RDBMS)。顾名思义,关系数据库管理系统是数据库管理软件,它的职能是维护数据库、接受和完成用户提出的访问数据的各种请求。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图像、声音等。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名为MDB。B/S结构用户界面的开发采用Adobe Dreamweaver。Adobe Dreamweaver 是一个用来进行客户/服务器开发的完全的可视化开发环境。通过Adobe Dreamweaver可以用一种可视的直观的方式来创建应用程序的用户界面和数据库接口。在C/S结构的应用中,Adobe Dreamweaver 具有描述多个数据库连接与检索的能力。特别是Adobe Dreamweaver能从大多数流行的RDBMS中存取数据,另外,各种应用程序又可以独立于RDBMS,因为Adobe Dreamweaver可以使用数据库的标准操作语言SQL(结构化查询语言)进行。相对于其他C/S开发环境,使用Adobe Dreamweaver开发更快、成本更低、质量更高、功能更强。ASP全名Active Server Page,是一个WEB服务器端A的开发环境,利用它可以产生和运行动态的、交互的、高性能的(都是微软说的)WEB服务应用程序。像它的名字所表示的,ASP属于ActiveX技术的一种。它是由微软公司开发的一个服务器端的脚本环境。当脚本运行在服务器端时,WEB服务器完成涉及回送浏览器HTML页的所有工作,并返回相应的HTML文本。以下罗列了 Active Server Pages 所独具的一些特点:(1) 使用 VBScript 、JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。 (2) 无须compile编译,容易编写,可在服务器端直接执行。 (3) 使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。(4) 与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML 码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。 Active Server Pages 所使用的脚本语言 (VBScript 、 Jscript) 均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 (5)Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或 JScript 语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如 REXX 、 Perl 、 Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model) 物件。 (6)Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。 (7) 可使用服务器端的脚本来产生客户端的脚本。(8) ActiveX Server Components(ActiveX 服务器元件 )具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C+ 、COBOL等编程语言来编写自己所需要的 ActiveX Server Components。4.3 数据流程图SD方法时20世纪70年代中期由Stevens Myers 与Constantine等人率先倡导的。20世纪70年代后期,Yourdon等人提出了在内的基于数据流的系统设计方法。由于到多数软件实际上都能表示为DFD图,这种方法在理论上可以适用于任何非并发软件的开发工作。数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。用户考试系统流程图,它是本网上考试系统的核心。如图4.2所示:返回用 户答题数据库写入数据库在线考试系统答 案图4.2 网上考试系统流程图4.4 数据字典数据流图仅描述了系统的“分解”,系统由哪几部分组成,各部分之间的关系,并没有对各个数据流、加工、数据存储进行详细说明,如数据流,数据存储的名字并不能反映其中的数据成分、数据项目内容和数据特性,在加工不能反映处理过程等等。分析人员仅靠“图”来完整的理解一个系统的逻辑功能是不可能的。数据字典(Data Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。前面已经对数据库、数据流图进行了详细说明这里我就不再阐述数据字典了。第5章 数据库5.1 数据库需求分析所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。针对一般考试系统的需求,设计的主要数据项和数据结构如下所示的:用户信息,包括的数据项有:用户编号、姓名、性别、院系等。试卷信息,包括的数据项有:试卷编码、考试科目、试卷总分、试题分布、分值分布、考试时间、设定审核人、已经审核人编号、已经过时间等。成绩信息,包括的数据项有:成绩编号、用户编号、开始考试时间、结束考试时间等。试题信息,包括的数据项有:试题编号、题目正文、正确答案等。本系统应该建立一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(用户信息、试题信息、试卷信息、考试信息等)。 为了从多方面来保障考生考试信息的安全性、可信性和考试成绩的可依赖性,本系统还应该建立一套机制,这套机制至少应该包括学生和教师的账号的安全机制、后台数据库的安全机制、考试过程的控制机制。5.2 数据库中的表结构及数据本次开发的数据库包括4方面。u 题库数据:包括了判断题、选择题和填空题3种类型题目。包括题目的题干、答案等信息。u 管理员、学生资料信息数据:包括姓名、密码、性别、班级和学号等基础数据。u 成绩资料表数据:包括学生学号、分数、等数据。u 考试题型数据:包括考题数据,每题分数等基础数据。本系统将使用Microsoft Access 2007作为数据库管理系统。安装Microsoft Access 2007,打开并新建一个数据库,将其命名为huahaisoft.mdb数据库中包含的数据表及其相应功能如表5.1所示。表 5.1 数据表数 据 表功 能admin存放管理员(教师)类用户基本信息student存放学生类用户基本信息score存放学生考试成绩基本信息Special专业基本信息Subject科目基本信息Class班级基本信息Type试题基本类型信息虽然Microsoft Access 2007建立的数据表中字段的名称可以支持中文,但是从以往经验来看,用于系统开发而建立的数据库最好不要使用中文,而是使用对应于中文意义的英文。这是基于以下两点:在某些不支持中文的系统中,字段名称含有中文的数据库将不能够被识别,这样数据库就不能够使用,从而使数据库的可移植性下降;即使是在支持中文的Windows操作系统中,在某些情况下中文字段也有可能会不能识别,或者不能很好地识别。5.2.1 管理表(admin)管理员(教师)信息表用于存放管理员(教师)类用户的基本信息,包括管理员(教师)姓名(AdminName)、管理员(教师)密码(AdminPass)两项基本信息。在已创建的Access 2007数据库huahaisoft.mdb中,右击“表”创建一个表,名为Admin。向表中添加字段AdminName和AdminPass。其中,admin(姓名)字段作为该表的主关键字(primary key),惟一标识了一个管理员(教师)用户记录的信息。管理员(教师)信息数据表结构如表5.2所示。表5.2 admin字 段 名数据类型及长度说 明备 注adminnamenvarchar(10)管理员姓名主关键字adminpassnvarchar(6)管理员密码不能为空5.2.2 学生信息表(student)学生信息表主要用于存放学生类用户的基本信息。包括学生学号(stunum)、学生姓名(stuname)、学生密码(password)、学生性别(sex)、学生班级(classname)和学生专业(special)6个字段。其中,stunum(学生学号)字段作为主关键字。学生信息表结构如表5.3所示。表5.3 student字 段 名数据类型及长度说 明备 注stunumrnvarchar(8)学生学号主关键字stunamenvarchar(10)学生姓名不能为空passwordnvarchar(6)学生密码不能为空sexchar(2)学生性别不能为空classnamenvarchar(30)学生班级不能为空specialnvarchar(10)学生专业不能为空5.2.3 试题类型信息表(type)每次考试之前,由管理员(教师)为用户创建本次考试的试卷,试卷信息被保存在试卷信息表中。包括试题科目(Subject)、试题章节(Chapters)、问题(Question)、答案选项(Text)、答案(Answer)5个字段。其中,id(试题编号)作为主关键字。id(试题编号)标识为“是”,标识种子为“1”,标识增量为“1”。考试题型信息表结构如表5.4所示。表5.4 type字 段 名数据类型及长度说 明备 注idint试题编号不能为空Subjectint试题科目不能为空Chaptersint试题章节不能为空Questionint问题不能为空Textint内容不能为空Answerint答案不能为空5.2.4 学生成绩表(score)考试成绩信息表主要用于存放学生类用户的考试成绩,是否获得补考及其补考成绩等基本信息。包括自动编号(id)、学生学号(stuid)、学生成绩(score)、考试编号(testid)4个字段。其中,id(自动编号)与stuid(学生学号)作为主关键字。考试成绩信息表结构如表5.5所示。表5.5 score字 段 名数据类型及长度说 明备 注idint自动编号主关键字stuidnvarchar(8)学生学号不能为空testidint考试编号不能为空scoreint学生成绩不能为空5.2.5 专业信息表(Special)专业信息表主要用于存放学生类用户的专业信息。包括专业编号(specialid)、专业名称(specialname)2个字段。其中,specialid(专业编号)与specialname(专业名称)作为主关键字。考试成绩信息表结构如表5.6所示。表5.6 special字 段 名数据类型及长度说 明备 注specialidint专业编号不能为空Specialnamenvarchar(8)专业名称不能为空5.2.6 专业科目基本信息表(Subject)专业科目信息表主要用于存放学生类用户的专业信息。包括科目编号(SubjectId)、科目名称(Subject)、专业名称(special)3个字段。其中,SubjectId(科目编号)与Subject(科目名称)作为主关键字。考试成绩信息表结构如表5.7所示。表5.7 subject字 段 名数据类型及长度说 明备 注SubjectIdint科目编号不能为空Subjectnvarchar(8)科目名称不能为空Specialnvarchar(10)专业名称不能为空5.2.7 专业班级基本信息表(class)专业科目信息表主要用于存放学生类用户的专业信息。包括班级编号(Classid)、班级名称(ClassName)、专业名称(special)3个字段。其中,ClassId(专业编号)与classname(班级名称)作为主关键字。考试成绩信息表结构如表5.8所示。表5.8 class字 段 名数据类型及长度说 明备 注ClassIDint班级编号不能为空ClassNamenvarchar(8)班级名称不能为空Specialnvarchar(10)专业名称不能为空在数据库设计中,表与表之间存在着不可或缺的关系。在所有关系中,主关键字(PK)和外部关键字(FK)最为重要。主关键字能惟一标识表中的每一列的一列或多列的组合,这样的列就成为主关键字。每个表都必须有且只能有一个主关键字,其值惟一地标识表中的每一行。外关键字用于建立和加强两个表数据之间的链接的一列或多列的组合,其值或是与主关键字相同,或是为空(NULL),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 最喜欢的季节作文(15篇)
- 初心依然600字初三作文9篇
- 我们的暑期生活记事作文(7篇)
- 人教版高一语文:故事里的叙事技巧教案
- 望庐山瀑布艺术手法赏析:古诗文美学鉴赏教学教案
- 八年级户外团建活动方案
- 文学理论入门:文学术语解释与教学教案
- 公交公司规范活动方案
- 读书笔记之三字经读后感11篇范文
- 公众号引流活动方案
- 加油站相邻企业安全应急救援互助协议
- 传媒公司合作合同
- 人工智能赋能教育教学变革的研究
- 思想道德与法治课件:第六章 第一节 社会主义法律的特征和运行
- 五年级数学下册测试题(高清打印版)
- 露天矿采坑边坡稳定性评价报告
- 《国际商务》课程
- 压力容器设计管理制度
- 比亚迪员工手册54
- 应力波理论复习资料
- 施工项目专项验收计划表
评论
0/150
提交评论