




免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南昌航空大学科技学院学士学位论文基于ASP的在线考试系统 学生姓名:* 班级:058061 指导老师:李天一摘要:随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、教育教学的平台。本文设计开发的考试管理系统也是其中重要的一个方面。该系统本着减轻教师工作负担、提高工作效率、优化学生考试的流程,增强参加考试学生的身份识别,比传统的考试模式节省人力财力和时间。 系统分为三大模块:用户注册模块、考试模块和系统管理模块。其中系统管理模块是进行题目的添加、存储和删除,是系统运行的基础;查询子模块实现了对学生考试信息远程查询。考试模块是客户端学生或教师通过自己的姓名和学号以及密码登陆系统,进入界面时由系统按照出题教师预先设置好的试卷结构从题库中随机抽取适合的题目,形成试卷。 本系统的开发采用结构化设计思想。系统说明书介绍了考试系统的开发初衷和背景,系统的开发工具,结构化开发的具体步骤,其中包括实体-联系模型,数据流图,功能结构图等必要的图形说明。关键字:考试 试卷自动系统 ASP 指导老师签名:Online exam systemStudent name:zhaochuan class:058061Supervisor:chenjianwenAbstract:Along with the fast development in computer technology, we have gotten big progress in school science and information management. So it needs equal development in every part. The school will be building an information management and educational plat from hardware and software two sides. I developed this system is in order to reduce the teachers pressure, enhance the work efficiency, optimize the process of students testing, enhance the students identity and papers secrecy. It can save more people money and time than tradition methods. The system is composed of three parts: subjecting module, running module, maintaining module. Subjecting module is in charge of questions adding saving and deleting. The subjecting is the base of the system; the second part is running module, student can log on the system by his name and number, and then turns into the examinations screen, the system will give random questions to student. Finally come into an exam paper. Maintaining modules work is to complete the students and teachers registration and deleting. Maintain the key points (key points is the choices when we input questions) which can be added or deleted in the maintaining module. The system chooses the software of development that use is ASP,and ACCESS2000. The system developments adopt idea of construction designing. The system manual introduced the original intention and background of this examination system, the tool of development of the system, the details process of construction development, it content the entity-model, the data stream chart, function and configuration chart, and other necessary chart explanations. Keywords: test paper auto system ASP Signature of Supervisor:目录前言.31 系统设计相关原理1.1 ASP技术介绍6 1.2 SQL语句介绍6 1.3 VBSCRIPT介绍.42 需求分析2.1 系统需要解决的主要问题.12.2 系统应该具备的基本功能23 系统设计3.1 系统需求分析.1 3.1.1考生使用在线考试系统流程.13.1.2 系统特点.13.1.3 系统目标.13.2 系统功能结构.13.2.1 系统总体结构设计.13.2.2 系统模块设计.13.2.3 前台功能模块.13.2.4 后台功能模块.13.3 数据库设计.13.3.1 系统E-R图.13.3.2 表设计.23.3.3 创建表间关系.24 系统的实现4.1 前台功能的实现14.1.1 登录页面24.1.2 注册页面.14.1.3 准考试页面.14.1.4 考试页面.14.1.5 客观题自动评分页面.14.1.6 查询以往成绩页面.14.2 后台功能的实现.14.2.1 后台登陆页面.14.2.2 后台管理页面.14.2.3 试题管理页面.14.2.4 成绩管理页面.14.2.5 试卷管理页面.14.2.6 学生管理页面.14.2.7 管理员信息修改页面.14.2.8 用户帮助页面.15 系统的发布与维护5.1 运行环境15.2 Web应用程序的测试环境IIS15.2.1 IIS简介.2参考文献.1致谢 .1前言随着技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了教学,通过计算机实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,教学软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到教学当中去,这就给软件设计人员提出了更高的设计要求。教学包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然教学已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,应用不断扩大,如教学和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!目前,应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用Access数据库系统和ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。利用和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用Active Server Page技术,我开发了基于B/S模式多用户在线考试系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端)。现阶段虽只实现了试卷的客观题部分,但已具有用户注册、多用户同时在线考试、动态随机出题、时间控制、自动判卷,试题录入、修改题库、用户管理、科目管理、管理员管理、分数管理等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。1 系统设计相关原理1.1 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.由于本设计用到的也不多,在此就不详细介绍了。1.2 SQL语句介绍SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。Structured Query Language包含4个部分:数据查询语言DQL-Data Query Language SELECT据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE 数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK 1.2.1 SQL的优点SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。1.非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。 SQL不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。 2.统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。 SQL为许多任务提供了命令,包括:查询数据在表中插入、修改和删除记录 建立、修改和删除数据对象 控制对数据和数据对象的存取 保证数据库一致性和完整性 以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。3.是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致开销。如果使用了 PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。 1.2.2 SQL的使用1.ASP与Access数据库连接:2.ASP与SQL数据库连接:建立记录集对象:setrs=server.createobject(adodb.recordset)rs.openSQL语句,conn,3,23.SQL常用命令使用方法:(1)数据记录筛选:sql=select*from数据表where字段名=字段值orderby字段名descsql=select*from数据表where字段名like%字段值%orderby字段名descsql=selecttop10*from数据表where字段名orderby字段名descsql=select*from数据表where字段名in(值1,值2,值 3)sql=select*from数据表where字段名between值1and值2(2)更新数据记录:sql=update数据表set字段名=字段值where条件表达式sql=update数据表set字段1=值1,字段2=值2字段n=值nwhere条件表达式(3)删除数据记录:sql=deletefrom数据表where条件表达式sql=deletefrom数据表(将数据表所有记录删除)(4)添加数据记录:sql=insertinto数据表(字段1,字段2,字段3)values(值1,值2,值3)sql=insertinto目标数据表select*from源数据表(把源数据表的记录添加到目标数据表)(5)数据记录统计函数:AVG(字段名)得出一个表格栏平均值COUNT(*字段名)对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名)取得一个表格栏最大的值MIN(字段名)取得一个表格栏最小的值SUM(字段名)把数据栏的值相加引用以上函数的方法:sql=selectsum(字段名)as别名from数据表where条件表达式setrs=conn.excute(sql)用rs(别名)获取统的计值,其它函数运用同上。(5)数据表的建立和删除:CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)DROPTABLE数据表名称(永久性删除一个数据表)4.记录集对象的方法:rs.movenext将记录指针从当前的位置向下移一行rs.moveprevious将记录指针从当前的位置向上移一行rs.movefirst将记录指针移到数据表第一行rs.movelast将记录指针移到数据表最后一行rs.absoluteposition=N将记录指针移到数据表第N行rs.absolutepage=N将记录指针移到第N页的第一行rs.pagesize=N设置每页为N条记录rs.pagecount根据pagesize的设置返回总页数rs.recordcount返回记录总数rs.bof返回记录指针是否超出数据表首端,true表示是,false为否rs.eof返回记录指针是否超出数据表末端,true表示是,false为否rs.delete删除当前记录,但记录指针不会向下移动rs.addnew添加记录到数据表末端rs.update更新数据表记录1.3 VBScript介绍Microsoft Visual Basic Scripting Edition是程序开发语言Visual Basic家族的最新成员,它将灵活的Script应用于更广泛的领域,包括Microsoft Internet Explorer中的 Web 客户机 Script 和 Microsoft Internet Information Server 中的 Web 服务器 Script。VBScript使用ActiveX Script与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script部件的特殊集成代码。ActiveX Script使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveX Script,语言厂商可以建立标准Script运行时语言。Microsoft将提供VBScript的运行时支持。Microsoft正在与多个Internet组一起定义ActiveX Script标准以使Script引擎可以互换。ActiveX Script可用在Microsoft Internet Explorer和Microsoft Internet Information Server中。VBScript只有一种数据类型,称为Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型,所以它也VBScript 中所有函数的返回值的数据类型。最简单的Variant可以包含数字或字符串信息。Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则VBScript会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则VBScript将按字符串处理。当然,也可以将数字包含在引号()中使其成为字符串。除简单数字或字符串以外,Variant可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。当然,从Boolean值到浮点数,数值信息是多种多样的。Variant包含的数值信息类型称为子类型。大多数情况下,可将所需的数据放进Variant中,而Variant也会按照最适用于其包含的数据的方式进行操作。声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。因此,最好使用Option Explicit语句显式声明所有变量。 1.过程 在VBScript中,过程被分为两类:Sub过程和Function过程。 (1)Sub过程Sub过程是包含在Sub和End Sub语句之间的一组VBScript语句,执行操作但不返回值。Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。(2)Function过程Function过程是包含在Function和End Function语句之间的一组VBScript语句。Function过程与Sub过程类似,但是Function过程可以返回值。Function过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Function过程无任何参数,则Function语句必须包含空括号()。Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant。2.VBScript中可使用下列循环语句:Do.Loop:当(或直到)条件为True时循环。While.Wend:当条件为True时循环。For.Next:指定循环次数,使用计数器重复运行语句。For Each.Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。3.在VBScript中可使用以下条件语句:If.Then.Else 语句Select Case 语句2 需求分析2.1系统需要解决的主要问题首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。在线考试于一般的单机考试是不同的。鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。在线考试基于环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回登录界面或继续考试。此外,应该能够方便、快捷的对在线考试系统管理,此外,用户还应能进行远程注册。2.2 系统应该具备的基本功能 用户注册:用户可以进行注册,然后登录。用户信息的管理:管理员可以增删用户试题模型设置:设置各科目试题的每种题型的数量和分值。试题库管理:分科目,对单选、多选两种题型试题库的管理,使试题的增删、编辑更为简便。试卷生成:可以指定试卷的各题型的数量,从试题库里随机抽取试题生成一份原始试卷。在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性要高,稳定性要强,能够满足人以上同时及进行在线考试。3 系统总体设计3.1 系统需求分析为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:(1) 统一处理的准确性和及时性处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将3.1.1 考生使用在线考试系统流程(1) 根据用户名和密码登录系统:如果用户名和密码正确,则允许登录,否则拒绝登录。(2) 选择考试:每一名考生每一期考试只允许考一次,但管理员可以在后台单独设置允许该考生参加该期补考或者一次性设置允许全部考生参加补考。3.1.2 系统特点本在线考试系统的主要优点包括:(1) 限时性强,保证学生必须在管理员规定的时间内完成试卷,否则将被强迫退出。3.1.3 系统目标本在线考试系统具体实现了以下功能:(1) 试题管理:实现试题的添加、查阅、编辑、删除功能,并支持excel文件格式导入数据表,题型包括:判断、单选、复选、填空、问答3.2 系统功能结构3.2.1 系统总体结构设计本系统整体上可以划分为数据库、数据访问层和业务逻辑层,如图3-1所示。图 3-1 系统总体架构设计图(1) 数据库是系统的最底层,存储系统的所有数据。3.2.2 系统模块设计根据在线考试的特点,可以将其分为前台和后台两个部分进行设计,分别对应普通用户即考生和管理员。前台主要用于考生在线考试和查询成绩;后台主要用于管理员对考试信息、学生信息等进行管理。系统功能模块如图3-2所示。图 3-2 系统功能模块划分图3.2.3 前台功能模块前台模块的功能:(1) 登录考试系统:在线考试的首页,只有登录才能进入其内部。考生可以根据需要选择直接登录或注册。(2) 学生注册:用于注册学生的一些基本信息,包括学生姓名、密码、性别、班号、学号,以便跟踪记录。其中,学生的学号为该学生的唯一身份标识,如果学生信息表中已有该学号的记录,则返回注册失败信息。3.2.4 后台功能模块后台模块的功能:(1) 后台管理登录:管理员选择后台管理入口,在登录界面输入管理员、密码和验证码。(2) 管理考试题目:主要包括考试题目信息列表、考试题目查询、考试题目添加、考试题目修改和考试题目删除五部分3.3 数据库设计3.3.1 系统E-R图通过对现实世界概念模型的抽象,确立在线考试的实体为:学生、管理员、考卷、试题(判断题、单选题、复选题、填空题、问答题)、成绩3.3.2 表设计考虑系统的实际需要,本系统数据库包含考卷信息表(test)、学生信息表(student)、管理员信息表(admin)、学生成绩表(report)、判断题信息表(type1)、(1)考卷信息表对于考卷信息表,必须包含期数、各种客观题的题量以及每道题目的分值、主观题总分和考试时间,据此建立数据表如表3-1所示。表 3-1 考卷信息表 (test)列名数据类型数据长度主键非空功能描述id自动编号8是否考试期数判断题数数字8否是本期判断题题量判断题每题分数数字8否是本期判断题每题分值单选题数数字8否是本期单选题题量单选题每题分数数字8否是本期单选题每题分值复选题数数字8否是本期复选题题量复选题每题分数数字8否是本期复选题每题分值主观题总分数字8否是本期主观题总分考试时间数字8否否考试时长设置日期日期/时间8否是设置日期(2)学生信息表对所有需要进行在线考试的学生信息进行处理,需要一个学员的编号和密码,以便登录进行考试3.3.3 创建表间关系要使一个表中的行与另一个表中的行关联时,可创建两个表间的关系,定义了主键,以及相应的表后,就可以制定各表之间的关系,从而建立起一个关系数据库。在本系统中,表间关系如图3-3所示:图3-3 表间关系图表间关系如表3-2所示。表 3-2 表间关系主键表外键表关系名称字段名名称字段名级联更新级联删除testidreport试卷id是是student学号report学生id是是4 系统的实现4.1 前台功能的实现前台是本系统的核心模块,该模块所有文件均存放于文件夹test_online的根目录下,功能包括考生注册、考生登录、在线考试、查询以往成绩等。4.1.1 登录页面登录页面是在线考试系统的首页,考生登录后才可进入内部。考生在相应的文本域分别输入用户名和密码后,点击【提交】按钮,系统会根据提交的信息判断其合法性而决定是否允许进入内部。登录验证的基本思想是:如果用户输入的用户名和密码均不为空,则对数据表进行搜索,若用户输入的以上两项数据与数据库中保存的数据相符,则表明用户登录成功,可以开放全部前台子系统;如果不符,则登录失败。登录流程如图4-1所示。图4-1 登录流程图该页面还有提供学生注册的超链接,考生可以点击“学生注册”超链接进行注册。在该页面顶部嵌入top.html文件,底部嵌入adv.html文件,并设置“后台管理入口”为超链接,管理员点击该超链接,就可以进入后台登录页面。这两个文件为公共文件,在前台各页面中均有嵌入,在下面的论述中不再重复介绍。登录页面效果如图4-2所示。 图4-2 前台登录页面图4.1.2 注册页面新考生在登录页面点击“注册”超链接,就可以进入注册页面进行注册。注册页面效果如图4-3所示。图图4-3注册页面图4.1.3 准考试页面考生登录成功后转到该页面。考生可以点击“进入考试”超链接进行考试,也可以点击“查询我以往考试成绩”超链接查阅以往考试成绩。4.1.4 考试页面考试页面是本系统的核心页面。每个考生每一期考试只允许考一次,管理员在后台可以设置任意一名考生参加该期补考或者一次性设置全部考生参加补考,所以在准考试页面点击“进入考试”超链接后,系统会先判断该学生该期考试是否已考过并且判断是否允许其补考。4.1.5 客观题自动评分页面考生答题完毕点击【提交】按钮转到该页面,对考生的客观题答
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PEP小学三年级英语辅助材料开发计划
- 班级里的英雄人物我的同桌写人5篇范文
- 奇数扫描多传感器融合-洞察及研究
- 回家的路900字小学六年级作文14篇范文
- 单招口腔护理考试题库及答案解析
- 智能传感器网络在固体废物监测中的应用-洞察及研究
- 三级安全生产培训试题及答案解析
- 医药公司内部质量管理职责
- 商业贸易融资服务合同书
- 语言魅力中华传统文化的传承-高中语文传统文化教学
- 2023九年级语文上册第一单元任务一学习鉴赏配套课件新人教版
- 出国留学高中成绩单最强模板
- 常用电力金具
- 职教高考《机械制图》复习备考题库大全-上(单选、多选题汇总)
- 《多彩的黄土高原》课程论文报告(4000字)
- 天麻蜜环菌、萌发菌母种生产技术
- 成都中医药大学辅导员考试真题2022
- 中铁四院syadjv423工程测量平差数据处理软件使用教程
- 校园一日安全巡查记录表【范本模板】
- 田英章楷书心经-高清米字格版
- 2021年成都中医药大学辅导员招聘考试题库及答案解析
评论
0/150
提交评论