在线考试系统网络考试系统的开发设计毕业设计论文.doc

上传人:laozhun 文档编号:3937696 上传时间:2023-03-28 格式:DOC 页数:47 大小:765.50KB
返回 下载 相关 举报
在线考试系统网络考试系统的开发设计毕业设计论文.doc_第1页
第1页 / 共47页
在线考试系统网络考试系统的开发设计毕业设计论文.doc_第2页
第2页 / 共47页
在线考试系统网络考试系统的开发设计毕业设计论文.doc_第3页
第3页 / 共47页
在线考试系统网络考试系统的开发设计毕业设计论文.doc_第4页
第4页 / 共47页
在线考试系统网络考试系统的开发设计毕业设计论文.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《在线考试系统网络考试系统的开发设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《在线考试系统网络考试系统的开发设计毕业设计论文.doc(47页珍藏版)》请在三一办公上搜索。

1、在线考试系统第一章 考试系统背景知识 1 Internet Internet 是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连成一个整体。作为Internet上一直先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速。成为目前世界上最大的信息资源宝库。因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。 我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站

2、的部分内容感兴趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示器个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。我们对登陆的用户进行追踪,分析,发掘用户奠基的规律,即用户先后点击的关联规则,这样在用户点击一个主题(链接)之后,系统能自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无需用户做出任何额外工作的情况下实现了为用户量身定做的个性化页面。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主体层次信息,分析得出的关联规则表等大量的数据都由数据

3、库管理系统管理。本文中数据库服务器端采用了Microsoft Access数据库作为ODBC(Open Database Connectivity)数据源,并以先进的ADO(Active Data Object)技术进行数据库存取等操作,使Web与数据库紧密联系起来。 2 ASP技术综述 2.1 ASP的产生 近年来随着Internet技术的飞速发展及用户需求的不但升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供服务种类越来越繁多。从HTML,Client Scrip 到CGI,从JAVA的诞生到Active X,Web页面设计人员不断受到冲击,微软公司在总结了以

4、往技术,重新思考Web页面的真正需要后,推出了Active Server Pages(ASP),一种用以取代CGI(Common Gateway Interface,通用网关接口技术)。简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行交互式Web服务器端应用程序,如交互式的动态网页,包括使用HTML表单收集和处理信息,上传和下载等等。更重要的是,ASP使用的Active X基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快

5、捷的访问数据库,从而使得开发基于WWW的应用系统成为可能。2.2 ASP与IIS2.2.1 IIS简介Web服务器使Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Windows NT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务器脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。2.2.2 IIS与ASP的结合在过去,客户机/服务器结构的设计与Web的想换

6、技术几乎处于平行线上,两者相互独立并无法做出集成性的设计。现在我们利用IIS+ASP构成三层Web结构(如下图所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。利用IIS+ASP技术来集成Web前后端带来的强大效益可归结为以下几个方面:1. 减少构件和维护成本2. 加快联机过程3. 应用软件集中在服务器端开发管理4. 前端可使用任何浏览器(IE、Netscape.)5. 后端可存取任何数据库(SQL、Access)6. 可使用脚本语言开发(VBScrip、JavaScrip.)数据服务器后端数据库 ActiveX

7、 Server元件程序和计算逻辑Micriosoft IIS + ASP前端浏览器浏览器2.3 ASP2.3.1 ASP内部6大对象 ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集和(Collection)与事件(Event),他们共同完成Web中的一些重要工作。这6大对象及其功能描述如表所示。 对象名称功能描述Request从客户端取得信息Response将信息送给客户端Server提供一些Web服务器工具Session储存一个Session内的用户信息,该信息仅可被该用户访问Application在一个ASP-Appl

8、ication中让不同的客户端共享信息ObjectContext配合Microsoft Transactionf服务器进行分布式事务处理合理的运用这些对象可以使原本复杂,繁琐的工作般的简洁而条理清晰。 我们可以利用下面的语法直接使用这些对象: 对象.属性/方法/数据集合2.3.2 Global 文件 每一个以Active Server Pages 为基础的一应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Applicatio 的缩写),它位于每一个应用程序的基点目录之下。当Active Server Pages坐下两个动作时,Server便会去读Glo

9、bal.asa文件:1 Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。2 不具有任何Session的客户端向Server请求一个ASP文件时。3 利用ADO访问数据库 ADO(Active Data Objects)是一种操作Microsoft.所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单一点说,使一系列的对象,应用这些功能强大的对象,既可以轻松完成对数据库复杂得的操作。本文中个性化页面的实现便大量的用到了ADO技术。具体操作步骤可以归纳为以下几步:1. 创建数据库

10、源名(DSN)2. 创建数据库链接(Connection)3. 创建数据对象4. 操作数据库5. 关闭数据库对象和链接 每一步的做法如下:1. 创建数据源名 DSN(Data Source Name)既数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改纪录。而且我们根本不用知道这个数据库时放在哪里的。我们只要写出SQL语句,ODBC驱动成就会帮助我们做一切事情。我们给

11、ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没有变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。2. 创建数据库链接(Connection)链接用以保持一些关于正在访问的数据的一些状态信息,以及链接着信息。ASP文件中如果要访问数据,必须首先创建于数据库的连接,其语法如下:set mConn = Server createObject(“ADOBD CONNECTION”)这条语句创建了链接对象mConn,接下来:mC

12、onn.Open “dsn1”, “vsername”, “password”这条语句打开链接,用到了DSN,本例为”dsn1”。其后的两个参数分别是访问数据库的用户名和口令,为可选参数。以上两个步骤缺一不可,因为链接对象的创建于打开是两回事,只有打开了才真正的可以使用。3. 创建数据对象(Record Set)ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的纪录,并标有一个当前纪录。以下是创建方法: Set Record Set = mConn.Execute(sqlStr) 这条语句创建并打开了对象R

13、ecord Set,其中mConn是先前创建的链接对象,sqlStr是一个字串,代表一条标准的SQL语句。例如: sqlStr = “SELECT * FROM tab1” Set Record Set = mConn.Execute(sqlStr) 这条语句执行后,对象Record Set中就保存了表tab1种的所有纪录。4. 操作数据库我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:sqlStr = “INSERT INTO tab1 VALUES(1,2)”mConn.Execute(sqlStr)/执行插入操作5. 关闭数据对象和链接

14、对象在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。Record Set.closeSet Record Set = Nothing/关闭创建的数据对象mConn.closeSet mConn = Nothing/关闭创建的链接对象 第二章 考试系统的开发与设计 1 考试系统可行性研究 试题库与在线考试系统采用ASP、HTML、Frontpage2000/98、VBScript编程语言、图形编辑与数据库等工具,通过基于WEB服务器访问纯WEB页面,实现在线组卷与考试等各项相关的功能。用户相关规则采掘关联规则关联 数据准备记录点击页面生

15、成 Database 服务器Web服务器 2 需求分析 该考试系统程序可广泛运行于互联网即Internet,也可适用于内部的局域网。其运行要求和逻辑结构分别如下: 客户端:Windows2000,Internet Explorer(IE)等 服务器端:Windows NT/Windows2000,Internet Information Server (IIS)4.0及其以上版本,IE等;或者Windows98,Personal Web Server(PWS),IE等。数据库:采用Acess2000,运行于服务器端。 系统界面整齐、美观,操作简单、方便。另外,支持按权限对系统进行操作,即不同类

16、型的用户拥有相异的权限对题库执行不同的操作。主要是在首页通过两种不同的方式进入相异的操作界面,以确保整个数据库中数据的安全性及完整性。其主要特点体现在以下三个方面:(1) 自主设计数据库 自主调用数据库 自主管理数据库自主设计数据库是指用户能够根据自己的需要创建新科目数据库(即系统实现了自动建表的功能),让数据库真正成为用户自己的数据库。不过,只要库中已存在该科目名称及表名,则不予重建,这样就保证了数据的统一性;自主调用数据库即允许用户能自由地从数据库中抽取试题组成试卷,试卷中有几道大题和小题以及是否提供查看答案均由用户自行设置并选题。并且在形成一份完整的试卷之前,允许任意调整该试题的次序。在

17、组卷时,还可以多份试卷选取同一试题或同一知识点的试题,但严禁一套试卷中出现知识点相同(似)且难度一致的试题不过,其最大的缺陷在于目前只实现了试卷中的客观题部分,即包括单选和多选题。而且,还没有实现客观题部分和真正的多媒体试卷;自主管理数据库指一般用户具有添加、修改和检索数据的权力,实现数据库的可扩充性和开放性。而管理员则另具有删除数据的权力,从而达到了系统数据统一性和一致性的。3 总体设计 通过对考试系统的需求分析及其可行性研究我们用功能层次图的模式对其进行介绍。 系统从总体上分为教师端应用模块和学生端应用模块。教师端模块有:安全管理学生管理,题库管理,试卷管理,考试(教师统计分析等功能模块使

18、用系统模块的教师应用部分,可以根据教学的需要增减或编辑试题,手工或智能组卷,组织学生在网上考试,对练习和考试结果进行科学的统计分析。 这样教师可以从出题、准备考试、评卷、分析成绩的繁重劳动中解脱出来,从而进一步提高教学质量和管理水平。学生端模块有:考试(学生端)。根据上述的功能模块图本系统所需表单如下: 考生登陆模块的表(studentinfo):字段名称字段说明数据类型是否为索引ID登陆次序号长整型有Student登陆学生姓名字符型无Pass登陆密码长整型无 题库表(ks):字段名称字段说明数据类型有无索引ID考题编号长整型有Kstypeid考试类型长整型无Title考试题目长整型无A试题被

19、选答案长整型无B试题被选答案长整型无C试题被选答案长整型无D试题被选答案长整型无Da 正确答案字符型无考生答题表(ksa):字段名称字段说明数据类型有无索引ID考生登陆次序号长整型有Ksid考试题号长整型有Kstypeid试卷类型长整型有Student学生姓名字符型无Da学生答案字符型无yes判断对错无无考试类型表(kstype):字段名称字段说明数据类型是否为索引ID考试类型号长整型无Kstype考试类型名称字符型无Kstime考试限定的时间长整型无KK考试判断答案无无记录答题考生表(kb):字段名称字段说明数据类型是否为索引ID等陆序号长整型有Ksid考试类型号长整型有Student考生姓

20、名字符型无4 详细设计4.1 试题(客观题部分)设计单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;另外,多选题跟单选题在根本上没什么区别,只是供选的答案和标准答案多一些。因而,本系统中所涉及的单选题和多选题大体相同,并且假设多选题一般情况下也是最多提供六个备选答案,标准答案至少有一个。故各题型的样题设计如下:单选题-如:HUB是指: (A)网桥 (B)集线器 (C)网关 (D)路由器多选题-如; Internet上使用的网络协议是: (A)IPX/SPX兼容协议 (B)TCP/IP协议 (C)NetBEUI协议 (D)X.25协议 (E)ATM LAN仿真用户 (F)快速红外线

21、协议 4.2 数据库设计 4.2.1 试题结构 通常,每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间已经不受物理空间的限制。因此,我们采用按科目而不按试题类型方案来建立数据表,更不把所有科目的全部试题集中在一起,只是每道客观题均有六个备选答案项,还有一个表用来记录各科目数据表的相关属性。这样,查询起来较方便,可能会节约时间,也不致于造成数据十分杂乱等。详细设计如下表所示:说明:1. 按科目(一般以1个学期为标准)分别定义各表,表名一律由中文名汉字拼音首字母构成。例如,软件工程-RJGC;计算机网络-JSJWL;数据库-sjk2.字段名是指该字段的中文名3.字符标识一般由中文名拼音首字

22、母构成,外键字段最好与主表对应字段同名4.若该字段为字符型,则对应的长度栏填最大允许长度,若为固定长度则加定字5.若该字段可以为空,则对应的NULL栏填Y,否则不填6.若该字段为主键,则对应的主键栏填Y,否则不填4.2.2试卷结构 试卷一般包括客观题(单选题或多选题)观题部分.在此表中只存贮该科目试卷相应的试题编号,其试题内容则在调用时到相应科目中查询获得。 4.2.3 用户信息结构 A、超级用户:即系统管理员。他具有一般用户所没有的至高无上的权力,即具有删除用户、留言、试题以及试卷等信息的权力。它不需注册,在数据库没有它的任何相关信息,但可由管理员自己更改用户名和密码。确保万一数据泄密而造成

23、系统的危害。 B、一般用户:主要是指学校的学生. 4.2.4考生答案成绩表结构实际考试日期可能因某种原因推迟考试而与试卷表中的考试日期有所不同。因而,此表应与用户、试卷及试题库等多表相关联,关系比较复杂。 4.3 功能模块详细设计下面,按照录入试题-出卷-进行考试等流程就各个模块分别进行详细讨论,具体情况见系统源程序及演示。考虑到数据的保密与安全问题,凡进入系统的用户,必须先注册,然后通过验证才能进入。4.3.1 录入模块 许可的用户根据自身教学目的和要求,可以向库中添加各种类型且符合要求(对不符合的将给出提示和警告,并且不予保存!)的试题和试卷以及各自的意见与疑难问题等。一旦添加成功,只有管

24、理员才能删除。 试题录入 首先,用户选择试题所属科目。若下拉菜单中没有该科目,则点击右边的新增科目,即进入这一页面,只要输入新增科目详细名称和表名(最好由汉语拼音首字母组成),即可由系统根据已设定好的字段自动建立新的科目试题表。返回、刷新一次页面,即可看到新增的科目名称。而且,在本系统中其它需要选择科目的地方也会自动更新。其次,每道试题有类型、难度系数、选自书籍及章节、试题内容与答案和标准答案等栏目。用户一一输入完(对于该试题不需要的答案项,则默认为不填),按提交后,即可看到预览效果。如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。 试卷录入 此子模

25、块包括两个部分,即标识试卷的基本信息录入和手工组卷部分。其基本信息有试卷编号、标题、套数、难度、科目名称、考试性质与日期等,而卷中试题将通过后面的手工组卷模块予以实现。对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。4.3.2 查询模块系统中的所有用户均可检索试题、试卷、用户及留言等信息。只是试题检索界面较复杂,但它已实现了多种条件的组合查询,非常适合于数量繁大的试题库。而后三者相对来说比较简单,默认或空白的情况下,则按该表中的系统默认的字段显示其全部信息。使用起来比较灵活、方便。 4.3.3 组卷模块 在组卷过程中,我们肯定会遇到有许多题目是关于同一个教学内容的,这里称之为关于同

26、一考核点的试题。因此,在组装一份试卷时,对于同一考核点的试题只能出一道题。这里设计一种快速选题算法,该算法只需经一次比较,便可判定是否已选过该考核点的试题,且又可以有针对性地重点选取某个考核点的试题。即每一道题都设有一个相关码,对于同一章、同一节、同一考核点的题,则相关码相同,显然,前面章节的相关码都要小于后面章节的相关码。故在组卷时,同一试卷中不允许出现相关码相同的试题。所以,在选题过程中每选出一题,就要与已经选出的题的相关码逐一进行比较,若该题的相关码与已选各题的相关码均不相同,则可将该题加入到试卷中,否则,放弃该题,重新进行选题。下面,在只考虑最佳情况下,即每次选出的题都恰好是尚未选过的

27、,每选一道题就要与已选出的各题逐一比较,假设已选出了M题,再选下一题时,则需比较M次,不妨设一份试卷的总题数为N,在最佳情况下,则总的比较次数为:0,1, 2,N-2,N-1 即时间复杂度为O(N),这样,就可保证下面算法中选择出来的试题编号都合法。5 ADO-ActiveX Data Object操作数据库的步骤第一步数据库数据来源设定。若要访问数据库,需在控制面板中的ODBC Data Sources,建立数据库名称(选择Users DSN),点击Add按钮,选定数据库所用的驱动程序和文件等。第二步使用Server.CreateObject建立连接的对象,并使用Open打开待访问的数据库。

28、set adocon=Server.CreateObject(ADODB.Connection);adocon.Open zxtest 第三步设定SQL命令,使用Execute命令,即可开始执行访问数据库的动作。sqlstr =select * from jsjwl where stbh like PD order by stbh ASC set rs = adocon.Execute(sqlstr) adocon为第二步所设定的对象名称 第四步使用Recordset对象的命令,显示结果,其中rs为第三步所定义。rs.fields.count:记录的字段数;rs(i).name:第i(指针)个

29、字段名,i由0算起到rs.fields.count-1;rs(i):读取第i(指针)个字段的记录,i由0算起到rs.fields.count-1;rs(字段名):读取指定的字段的记录;rs.eof:是否已指定最末条;rs.movenext:将指针移到下一条;rs.moveprev:将指针移到上一条;rs.movefirst:将指针移到第一条;rs.movelast:将指针移到最末条;第五步使用后关闭数据库:rs.close;adocon.close6 数据的安全与保密由于此系统的特殊性,数据的安全与保密显得尤为重要。保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的内容是互相

30、保密的。安全性是指用户参加一次活动是一个安全的过程,对于所有用户的动作,服务器都加以跟踪。为了确保其安全与保密性,一要确保考生不能联网作弊;二要在试卷上实时加以监控;三要在时间上加以严格的控制等。主要通过下列两种途径予以实现: 其一,凡进入在线考试的用户,都要通过用户身份验证才能进入。而且,不同用户具有不同的操作权限,支持按权限进行操作,确保数据的公共性与私有性。不允许用户执行非法的操作,防止用户无意或有意的破坏。其二,禁止登陆考试页面答题的用户再次登陆该页面答题1 第三章 源程序列表由于源代码繁多,限于篇幅,无法一一列举,现只公布部分代码,具体以系统实物为准。下面是登陆模块.asp文件: 登陆模块考试系统考试系统 考生姓名: 考生密码: 使用提示 1.输入相应学号、密码即可进入网络考场开始考试。 2.进入后可随机选题进行考试,每张卷子为100分。 3.考试中用户可以随时保存自己的考试进度。下次进入时可以继续测试。 4.考试结束之后可以进行判分和成绩的纪录。 错误 - 发生错误 错误原因:     以下是录入试题模块.asp文件编辑试卷 增加试题 所属分类: option selected value= 试题: (100个字符以内) 答案A: B: C:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号