




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
刘宝宝: 基于ASP的在线考试系统的设计与实现1 引言1.1 设计的目的和意义1.1.1设计的意义随着各级各类学校招生规模的不断扩大,教师的缺乏已成为一个普遍而严重的问题,为了减轻广大教师的劳动强度,提高教学质量,培养社会有用的人才。急切需要能在线考试和自动阅卷系统,使老师们从单调繁重的劳动中解脱出来,有更多的时间投身于教育教学的研究中去,提高教育教学质量。1.1.2设计的目的本文通过ASP编程技术,对试题编辑,在线考试,实时评判,成绩打印上传于一体的在线考试系统进行了设计和实现的研究。该软件运行在Windows操作系统环境下,以ASP为前台开发工具,用到了ASP 自带的后台数据库部分ACCESS;力求以准确、高速实现考试各个环节的自动化、科学化、和教学反馈信息的深度挖掘。通过提高测验考试的效率、揭示学生知识能力的缺陷,使教与学更有针对性,从而提高了教师的教学水平和学生的学习效果。1.2 设计的内容 该研究开发的考试系统是一个多功能辅助教学系统,它是集练习、测试自动化的全面解决方案。它将具有教学题库管理、在线测试、自动化评分、成绩登记等多项功能,将全面覆盖教学过程中练习、测试、教学信息反馈的所有环节。此系统可推广应用到网络教学环境中去,解决了远程教育系统的核心部分。这也将是该系统日后继续研究的方向。我的设计分为五大模块1、试题库的开发和管理;2、试题的编辑3、在线考试系统的设计;4、自动评分系统的设计。 2 需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。自动阅卷评分是大规模计算机考试的必然选择, 在具体的开发过程中,应针对不同题型的答题特点,设计并选取最适合的评分策略,以实现快速、准确的自动评分,最大限度地减少人为因素的不利影响,促进考试的规范化和科学化,促进计算机在我国的普及。下面就对在线考试系统的设计进行需求分析。2.1 系统需要解决的主要问题首先,老师可以提前对试题库进行编辑,为考生的在线考试提供试卷。 其次,当考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。在线考试与一般的单机考试有相同和不同之处,不同在于前者可实现多机化。鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回登录界面或继续考试。此外,应该能够方便、快捷的对在线考试系统管理。2.2 系统应该具备的基本功能学生信息编辑:对学生信息进行编辑、修改、删除以及添加的操作。试题编辑:对试题进行编辑、修改、删除以及添加的操作。成绩编辑:对成绩进行编辑、修改、删除以及添加的操作。试题模型设置:设置各科目试题的每种题型的数量和分值和试题内容。试题库管理:分科目,对单选、多选两种题型试题库的管理,使试题的增删、编辑更为简便。在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。2.3 考试系统现状分析考试系统主要分为网络版和单机版。随着网络技术的发展,运行在单机版上的考试系统基本上趋于淘汰趋势,主要是单机考试系统缺乏数据共享,集中管理等功能,但网络版的硬件设备要求比较高,也限于现在所学习的知识结构,我们做的是单机版的考试系统。这也为以后网络版的开发进行了一次试验,可以进一步的开发网络版的考试系统。2.4 自动评分系统的设计系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。我们开发的软件是在单机上进行。实现方法有两种。第一种方法:将整个系统(包括系统管理和考试系统) 都安装在单机中。有多少机器考试就要安装多少次系统,考试完毕用一张软盘或U盘逐个回收成绩,这种方法比较麻烦,而且系统安全性、保密性等较差,盘也容易损坏。考务工作量也相当大。但优点是保持了系统的完整性,对考试环境要求也较低,系统简单。全国计算机等级考试的单机版就是这样进行的,高校学生计算机科目考试常常采用这种方式。一般而论,自动评分就是要完成考生答案与标准答案的比较并据此给出分数。但不同的题型,其考生答案与标准答案的存在形式可能不同,在比较对象和比较方法上也会各有差异,因此在具体评分时需要针对不同题型的各自特点,采取不同的策略。包括选择、填空和判断三种题型,其考生答案与标准答案均分别以特定的字段保存在考生相应的试题库和系统的标答库中。由于每题的标答都具有唯一性,仅选择题在大、小写上有所区别 , 如选择题中的答案在题库中记载的是a、b、c、d,也可能是A、B、C、D,这些在自动评卷中都要考虑。因此对它们的评分采用一一对应的完全匹配策略,也就是将每题的考生答案县转化为大写的ABCD再与对应的标准答案一一进行比较,只有完全相等的考生答案才能得到满分。3 核心技术3.1 数据库系统概述数据库系统为我们提供了一种把与我们的工作和生活紧密相关的信息集合在一起的方法,它还提供了在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、 数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。 一般来说,DBMS和数据库应用程序都驻留在同一台计算机上并在同一台计算机上运行,很多情况下两者甚至结合在同一个程序中,以前使用的大多数数据库系统都是用这种方法设计的。但是随着DBMS技术的发展,目前的数据库系统正向客户/服务器模式发展。客户/服务器数据库将DBMS和数据库应用程序分开,从而提高了数据库系统的处理能力。数据库应用程序运行在一个或多个用户工作站(客户机)上,并且通过网络与运行在其它计算机上(服务器)的一个或多个DBMS进行通信。3.1.1 数据库管理系统(DBMS) 数据库管理系统(DBMS)是用于描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。其主要功能有:1. 描述数据库:描述数据库的逻辑结构、存储结构、语义信息和保密要求等。2. 管理数据库:控制整个数据库系统的运行,控制用户的并发性访问,检验数据的安 全、保密与完整性,执行数据检索、插入、删除、修改等操作。3. 维护数据库:控制数据库初始数据的装入,记录工作日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。4. 数据通信 :组织数据的传输。 DBMS主要有四种类型:文件管理系统、层次数据库系统、 网状数据库系统和关系数据库系统。因为目前关系数据库系统应用最为广泛,所以我们重点对关系数据库系统中的几个概念进行介绍。 关系数据库(Relational Database):一个关系数据库是由若干表组成。在ASP中,数据库概念对应到物理文件上是有一些不同的。对于dBASE、FoxPro、Paradox这三种数据库系统,数据库对应于某一个子目录,而其它类型如MS Access、Btrieve则是指某个文件。这是因为前者的表为单独的文件,而后者的表是聚集在一个数据库文件中的。 表(Table):一个表就是一组相关的数据按行排列,象一张表格一样。比如一个班所有学生的期末考试成绩,存在一个表中,每一行对应一名学生,在这一行中,包括学生的学号、姓名以及各门课程的成绩。 字段(Field):在表中,每一列称为一个字段。每一个字段都有相应的描述信息,如数据类型、数据宽度等。 记录(Record):在表中,每一行称为一条记录。 索引(Index):为了加快访问数据库的速度,许多数据库都使用索引。3.2 Access技术简介Microsoft Access for Windows是Microsoft公司推出的面向办公自动化、功能强大的关系数据库管理系统。自从1992年11月正式推出Access 1.0以来,Microsoft公司一直在不断地完善增强Access的功能,先后推出了Access 1.1、Access 2.0、Access 7.0、Access 97和Access 2000。1994年推出的Access 2.0相对于Access 1.0有了较大的改动,75%以上的内容都是新增的或是改进的。1995年随着Windows 95的推出,Microsoft公司又将Access 2.0升级为Access 7.0。1997年推出了Access 97,Microsoft公司首次对Access 97进行了汉化,推出了Access 97 中文版。目前Microsoft公司又将Access 97升级为Access 2000。 3.2.1 Access关系数据库Access 2000是一种关系数据库管理系统(RDBMS)。顾名思义,关系数据库管理系统是数据库管理软件,它的职能是维护数据库、接受和完成用户提出的访问数据的各种请求。Access 2000关系数据库是数据库对象的集合。数据库对象包括:表(Table)、查询(Query)、窗体(Form)、报表(Report)、数据访问页(Page)、宏(Macro)和模块(Module)。在任何时刻,Access 2000只能打开并运行一个数据库。但是,在每一个数据库中,可以拥有众多的表、查询、窗体、报表、数据访问页、宏和模块。这些数据库对象都存储在同一个以MDB为扩展名的数据库文件中。 Access是一个中、小型关系数据库管理系统。Access又是一个完全面向对象,采用事件驱动机制的最新关系数据库管理系统,使得数据库的应用与开发更加便捷、灵活。Access是一个同时面向数据库最终用户和数据库开发人员的关系数据库管理系统。Access是一个典型的开放式数据库管理系统。Access支持多媒体的应用与开发。 Access既可以在单用户环境下工作也可以在多用户环境下工作,并且具有完善的安全管理机制。Access内置了大量的函数。Access提供了许多宏操作。Access提供了联机帮助功能。3.2.2 Access 2000的数据库对象 Access 2000提供了七种数据库对象:表、查询、窗体、报表、数据访问页、宏和模块。1表(Table)对象表是有结构的数据的集合,是数据库应用系统的数据仓库。2. 查询(Query)对象 查询是根据用户给定条件在指定的表中筛选记录或者进一步对筛选出来的记录做某种操作的数据库对象。查询可以进一步分为选择查询和动作查询两种。用户可以使用选择查询从指定的表中获取满足给定条件的记录,也可以使用动作查询从指定的表中筛选记录以生成一个新表或者对指定的表进行记录的更新、添加或删除操作。 3.窗体(Form)对象窗体对象允许用户采用可视化的直观操作设计数据输入、输出界面的结构和布局。4.报表(Report)对象报表对象允许用户不用编程仅通过可视化的直观操作就可以设计报表打印格式。5.数据访问页(Page)对象数据访问页可以将数据库中的记录发布到Internet或Intranet,并使用浏览器进行记录的维护和操作。6.宏(Macro)对象宏对象是一个或多个宏操作的集合,其中的每一个宏操作执行特定的单一功能。用户可以将这些宏操作组织起来形成宏对象以执行特定的任务。 7.模块(Module)对象模块对象是将Visual Basic for Application(简称宏语言VBA)编写的过程和声明作为一个整体进行保存的过程的集合。 Access 2000提供的上述七种对象分工极为明确,从功能和彼此间的关系角度考虑,这七种对象可以分为三个层次:第一层次是表对象和查询对象,它们是数据库的基本对象,用于在数据库中存储数据和查询数据。第二层次是窗体对象、报表对象和数据访问页,它们是直接面向用户的对象,用于数据的输入输出和应用系统的驱动控制。第三层次是宏对象和模块对象,它们是代码类型的对象,用于通过组织宏操作或编写程序来完成复杂的数据库管理工作并使得数据库管理工作自动化3.3 ASP技术3.3.1 什么是ASP ASP是Active Server Pages的简称,中文意思是动态网页,它是一种在微软公司的WEB服务器IIS(Internet Infomation Server)上开发交互网页的新技术。微软公司最初在IIS3.0版上使用它以取代CGI。随着Windows NT在WWW上的使用日益增多,ASP已经成为了开发动态网站、构筑Internet和Intranet应用的最佳选择。Asp的特点是 :(1)使用Asp可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。(2)使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML标记,即可快速完成网站的应用程序。无须编译,容易编写。(3)使用普通的文本编辑器,如Windows的记事本,Word等都可以进行ASP程序的编辑设计工作。(4)ASP程序与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览Asp所设计的网页内容。(5)提高了程序的安全性, ASP的源程序不会传到用户的浏览器上,因而可以避免所写的源程序被他人剽窃。3.3.2、ASP的处理流程 当我们用浏览器查看一个ASP文件时,都发生了些什么呢?以login.asp为例:当我们在IE中输入http:/unicom./login.asp(unicom.为本计算机名),浏览器向WWW服务器发出请求要求返出login.asp的内容。WWW服务器在接收到请求后,发现它的后缀为.asp,于是将这个程序转交给专门的ASP处理程序,这个程序扫描login.asp,把其中的%和%括起来的代码解释并执行,最后把结果再传给WWW服务器,WWW服务器把结果通过HTTP协议传回到浏览器。当你用浏览器的查看源代码功能查看时,并不能看到%和%的标记,因为它们已经在服务器端处理掉了,浏览器秘获得的只是HTML标记。 编码器是一种简单的命令行工具,它使脚本设计者可以对最终的脚本进行编码,从而使 Web 主机和 Web 客户不能查看或修改它们的源代码。注意,这种编码只能防止别人在无意中查看到您的代码,并不能防止蓄意黑客查看您的编码内容及其方法。 设计者在 Web 页和服务器的 Active Sever Pages (.ASP)上编写脚本,足以在网页上添加您能想象到的所有功能。目前为止,使用脚本的一个缺点是它既不能保护脚本内的知识产权,又不能保证用户所看到的就是您所创造的成果。聪明的运算法则和精心设计的脚本总是能完全被看见,因为它们是作为普通文字储存的。因此,每一级的脚本用户都能看到脚本设计者的原始编码,并能取出、修改它们,从而据为己有。显然,如果您正想在某一竞争激烈的领域占上风,这对您是非常不利的。 本小程序的引进,保护源代码变得更加重要。脚本设计者都希望使用这一简单的部件层次结构,但却并不一定想与他人共享自己的源代码。只要脚本经编码后,改变结果文件的任一部分都会使得脚本无法执行,这样,就保证了您编码脚本的绝对完整。3.4、Web技术World Wide Web(Web、WWW 或称全球宽域网)中文译名为“万维网”,它是一种建立在Internet上的全球性、交互性、动态和分布式的图形信息系统。3W是基于超文本方式的信息检索服务工具,并且提供了友好的信息查询接口,用户只要提出查询要求,而怎么查询到什么地方查询则由3W自动完成。它为您提供了一个可以轻松驾驭的图形化用户界面,以查阅 Internet 上的文档,这些文档与它们之间的链接一起构成了一个庞大的信息网。Web 允许您通过跳转或“超级链接”从某一页跳到其它页。可以把 Web 看作一个巨大的图书馆,Web 节点就象一本本书,而 Web 页好比书中特定的页。页可以包含新闻、图象、动画、声音、3D 世界以及其它任何信息,而且能存放在全球任何地方的计算机上。一旦与 Web 连接,您就可以使用相同的方式访问全球任何地方的信息,而不用支付额外的“长距离”连接费用或受其它条件的制约。4 系统设计4.1基本简介该系统是专门用于考生参加在线考试以及管理员进行试题录入、修改、删除、的ASP应用程序。它应该具有开放性、方便性和灵活性。管理员可以轻松地向题库添加、修改和查询试题,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅。 用户可以是学校等单位的教师及学生和企事业单位的培训部门(因企事业单位每年要对员工进行素质、安全教育与技能等方面的培训及考试等)。4.2 系统结构图根据需求分析,在线考试系统的结构图如下:在线考试系统后台信息录入在线考试在线阅卷显示成绩自动阅卷输入答案用户登陆 图4-1 在线考试系统结构图4.3 详细设计4.3.1理论题的评分策略理论题包括选择和判断两种题型。答案与标准答案均分别以特定的字段保存在考生相考试被广泛采用,考试中通常都设有理论题和操作应的试题库和系统的标答库中。由于每题的标答都题。随着考试规模的不断扩大,自动阅卷评分势在必具有唯一性,因此对它们的评分采用一一对应的完全行。然而,理论题的自动评分虽可以方便地实现,但匹配策略,也就是将每题的考生答案与对应要实现全部操作题的自动评分却并不容易,对操作题的标答一一进行比较。4.3.2自动评分策略分析及实现点符号、特殊符号的能力,无需设置任何格式。因此对它的评分只需比较考生答题文本和标答文本,统计总体而论,自动评分就是要完成考生答案与标准出考生正确输入的字符个数,然后按照:考生得分= 答案的比较并据此给出分数。但不同的题型,其考生正确输入的字符个数本题满分分数标答文本中答案与标准答案的存在形式可能不同,在比较对象和字符总数计算出考生的得分。如此一来,文本的比较比较方法上也会各有差异,因此在具体评分时需要针就成为本题评分的关键。对于文本的比较有多种算对不同题型的各自特点,采取不同的策略。法,考虑到考生在答题时一般均是参照样文依次输入的,对于不会输入的字符,要么留出空位,要么直接输入下一个字符,因此只要考生输入的某个字符与标答中的某个字符相同,就应算作正确,而不必要求它们在位置上严格对应。于是对文字输入的评分采用一种动态的单向匹配策略,也就是依次选取标答文本中的各个字符,在考生答题文本中动态遍历,从而统计出考生正确输入的字符个数n 。详细设计是整个设计过程中,最重要的步骤之一。本人只要负责的是“自动阅卷系统的设计”4.3.3数据库中表的设计在这里我们需要建立4个数据库表,1.question表用于计算机基础题库的建立,将题目通过试题编辑系统输入其中,考题便来源与此。2. subject 表用于题库类别的建立3. student表用于学生信息的写入。4. score表用于系统自动评分以后,成绩的写入,有了score表就可以完成考试数据的上传。5。admin表,考生登陆表,下面对各表的结构一一介绍。通常,每一类型的试题都应有一个表结构,因此我们分了计算机基础和数学两个表。但考虑到目前系统存贮空间可以很大,也为了更加方便。我们采用把全部科目的试题答案集中在一起的方案来建立数据表,每道客观题均有四个备选答案项,每个试题均具有题型等数据段表示其属性。这样,查询起来较方便,会节约时间,也不致于造成数据十分杂乱等。详细设计如下表所示:字段名称数据类型ID自动编号question文本A文本B文本C文本D文本answer文本type文本subjectname文本表4-1 question 表字段名称数据类型multiper数字Singleper数字multinumber数字singlenumber数字subjectname文本testtime数字id自动编号表4-2 subject表字段名称数据类型Studentname文本studentpassword文本id自动编号表4-3 student 表字段名称数据类型studentname文本subjectname文本score数字id自动编号endtime日期/时间表4-4 score 表字段名称数据类型name文本password文本id自动编号表4-5 admin 表一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;多选题是在供选答案中有多个选择;而判断题实质上就相当于有两个选项的单选题。因而,本系统中所涉及的单选题和多选题大体相同,由于时间的关系,判断题部分没有做。并且假设多选题一般情况下也是最多提供四个备选答案,标准答案至少有一个。在这里我们向题库里输入了35道题目,包括30到选择题和5到填空题,选择题一道2.5分,填空题一道5分,总计100分,题目选择的全是计算机相关内容,也可以继续添加题目,考试。各题型的样题设计如下:单选题:password的意思是: A、密码 B、经过 C、单词 D、通路 正确答案为A。数学题库的编辑也以单项选择题和多项为主。1首先在课程一览中选择科目,以便对科目进行正确编辑,在Memo框中输入题目后,再给出标准答案,在选择分值和题型,在按添加按钮,会将该题目添加到所选择的科目数据表中。2对某题目想进行修改,只需让指针指向该题,题目会将各种信息显示在各个框架里,这时根据考试需要进行修改,修改完后,点击修改按钮便将原题目进行了修改。3同法,对某题目想进行删除,只需让指针指向该题,单击删除按钮就将该题目删除。如图4-1所示,在考试系统中,学生的答案会出现多种情况,如选择题中的答案在题库中记载的是a、b、c、d,也可能是A、B、C、D,这些在自动评卷中都要考虑。考生只需在答题区输入答案,输入完后单击确定按钮即可进行下一道题目的考试,考生在不会做时,可以单击确定按钮后进行下一道题的作答,直到完成交卷。 4.3.4在线考试系统的设计在实际考试系统设计过程中,根据考试系统分布地域的不同,考试系统划分为单机环境和网络环境两种。在这里只介绍单机环境。单机环境:即考试是在单机上进行。实现方法有两种。第一种方法:将整个系统(包括系统管理和考试系统) 都安装在单机中。有多少机器考试就要安装多少次系统,考试完毕用一张软盘或U盘逐个回收成绩,这种方法比较麻烦,而且系统安全性、保密性等较差,盘也容易损坏。考务工作量也相当大。但优点是保持了系统的完整性,对考试环境要求也较低,系统简单。全国计算机等级考试的单机版就是这样进行的,高校学生计算机科目考试常常采用这种方式。第二种方法:只将考试系统安装在考试计算机中,而将系统管理模块安装在管理员的一台专用计算机中,由它来生成考卷。这时,通常用一张盘存储相关考卷。考生的答卷就存放在盘中,考生考完以后,收回盘,再由管理员的专用计算机进行统一改卷。这种方法考务工作量大,由于考试信息存放在盘上,信息安全性较差,但其优点是便于管理,考试组织比较灵活,考试系统安装一次即可,管理人员不需要特别严格的培训,适应地域范围广。因此,这种方法还大量存在于一般的中、小型考试中。例如,省计算机等级考试就采用这种方式。在这里我们可以采取两种中的任何一种方式 4.3.5 在线阅卷系统的设计一般而论,自动评分就是要完成考生答案与标准答案的比较并据此给出分数。但不同的题型,其考生答案与标准答案的存在形式可能不同,在比较对象和比较方法上也会各有差异,因此在具体评分时需要针对不同题型的各自特点,采取不同的策略。1 理论题的评分策略理论题包括单项选择和多项2种题型,其考生答案与标准答案均分别以特定的字段保存在考生相应的试题库和系统的标答库中。由于每题的标答都具有唯一性(仅填空题在大、小写上有所区别) , 如选择题中的答案在题库中记载的是a、b、c、d,也可能是A、B、C、D,这些在自动评卷中都要考虑。因此对它们的评分采用一一对应的完全匹配策略,也就是将答题的考生答案先转化为大写的ABCD再与对应的标准答案一一进行比较,只有完全相等的考生答案才能得到满分,否则就为0 分。这也是我们现在研究的具体内容。2 操作题的评分策略对这一问题我们仅作探讨。对操作题的自动评分应遵循一个总的原则,即尽可能地模拟人工阅卷方式,按考生操作结果中正确的考核点来合理给分。这也就是主观题的评分系统的研究内容。文字输入题主要测试考生输入汉字、英文以及标点符号、特殊符号的能力,无需设置任何格式。因此对它的评分只需比较考生答题文本和标准答案文本,统计出考生正确输入的字符个数,然后按照:考生得分= 正确输入的字符个数本题满分分数标答文本中字符总数计算出考生的得分。如此一来,文本的比较就成为本题评分的关键。对于文本的比较有多种算法,考虑到考生在答题时一般均是参照样文依次输入的,对于不会输的字符,要么留出空位,要么直接输入下一个字符,因此只要考生输入的某个字符与标准答案中的某个字符相同,就应算作正确,而不必要求它们在位置上严格对应。于是对文字输入的评分采用一种动态的单向匹配策略,也就是依次选取标准答案文本中的各个字符,在考生答题文本中动态遍历,从而统计出考生正确输入的字符个数n。对这一问题我们仅作探讨。就到此为止,限于时间就不作进一步的研究了。阅卷系统的工作流程图如下:登陆点击自动评分按钮,在学生名单中选择要评阅的考生试卷点击左侧各题可以动态的看到考生每道题的答题情况得出成绩点击退出按纽,退出阅卷系统 图4-64.4模块设计4.4.1 考试界面当考生点提交按钮时,系统自动转到getresult.asp 得到考生的考试成绩。其代码如下:%dim yijiaoyijiao=session(yijiao)if yijiao=1 thenresponse.write 您是否按了浏览器上的后退按钮,你已经交过了试卷,请不要再按了。elsesubjectname=session(selectsubjectname)studentname=session(studentname)singlenumber=session(singlenumber)singleper=session(singleper)multinumber=session(multinumber)multiper=session(multiper)endtime=now()score=0selectstr1=request.form(hidQuestID1)selectstr2=request.form(hidQuestID2)len1=len(selectstr1)len2=len(selectstr2)str1=left(selectstr1,len1-1)str2=left(selectstr2,len2-1)dim id1,id2id1=split(str1,)id2=split(str2,)for i=1 to singlenumber result=request.form(no&id1(i-1) if not isempty(result) then sql=select * from question where id=& clng(id1(i-1) set rs=server.createobject(adodb.recordset) rs.open sql,conn,3,2 if result=rs(answer) then score=score+cint(singleper) end if rs.close set rs=nothing else end ifnext for i=1 to multinumber result=request.form(no&id2(i-1) if not isempty(result) then sql=select * from question where id=& clng(id2(i-1) set rs=server.createobject(adodb.recordset) rs.open sql,conn,3,2 if result=rs(answer) then score=score+cint(multiper) end if rs.close set rs=nothing else end ifnext sql=select * from score where studentname=&session(studentname)& and subjectname=&session(selectsubjectname)&set rs=server.createobject(adodb.recordset)rs.open sql,conn,3,2rs(endtime)=endtimers(score)=scorers.updaters.closeset rs=nothingcall endConnection()total=singlenumber*singleper+multinumber*multipersession(score)=scoresession(total)=totalsession(yijiao)=1response.redirect result.aspresponse.write(&studentname&你好!你的考试成绩为:&score&分,总分为&total&分)end if%4.4.2 成绩界面系统点击提交后,系统通过getresult.asp 计算成绩,并通过result.asp页面将计算结果返回给考生用户。其代码如下:考试界面成绩 %studentname=session(studentname)score=session(score)total=session(total)rate=score/totalwidth=150*ratewidth2=150*(1-rate)response.write(&studentname&您好!您的考试成绩为:&score&分,总分为&total&分)%img src=images/bar2.gif height=10 width=img src=images/bar1.gif height=10 width= %返回登录界面返回考试界面继续考试 5 系统测试为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。现将具体操作及过程举例说明如下:5.1测试项目在MIS开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是MIS开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占MIS开发总工作量的40%以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随不同阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作为测试对象的。(1)单元测试:单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。(2)组合测试组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试,而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。(3)确认测试确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上,确认测试的目的是表明软件是可以工作的,并且符合“软件需求说明书”中规定的全部功能和性能要求。确认测试是按照这些要求定出的“确认测试计划”进行的。测试工作是由一个独立的组织进行,而且测试要从用户的角度出发。(4)系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。(5)用户验收测试在系统测试完成后,进行用户的验收测试,它是用户在实际应用环境中所进行的真实数据测试。在具体的测试中,一般应遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作;集中测试容易出错的程序模块;对程序修改以后,必须重新进行测试。5.2测试方法一般来说,对程序测试有两种测试方法:如果已经知道了软件系统应具有的功能,可通过测试来对每个功能是否都能正常使用;如果知道程序的内部工作过程,可以通过测试来检测程序内部是否按照规格说明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025抵押借款合同协议模板
- 2025合作伙伴合同转让协议
- 汽修店雇工合同范本
- 遗失补签合同范本
- 装修顶房合同范本
- 2025电影特效制作服务合同
- 小区翻新清洗合同范本
- 配件合作合同范本
- 经委房屋出售合同范本
- 欠款个人担保合同范本
- 巡察整改工作课件模板
- 2025年事业单位工勤技能-河南-河南农机驾驶维修工一级(高级技师)历年参考题库含答案解析(5套)
- 医务人员职业道德准则理论试题
- 2025年幼儿园教师岗位聘任协议(含资格认证及薪酬激励)
- 成都东部集团有限公司招聘考试真题2024
- 银行收息管理办法
- 海外房产投资项目方案(3篇)
- 消防员心理健康课件
- 初中地理学科课程规划方案
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 电子束曝光机说明书
评论
0/150
提交评论