基于IRT的计算机测试系统设计.doc_第1页
基于IRT的计算机测试系统设计.doc_第2页
基于IRT的计算机测试系统设计.doc_第3页
基于IRT的计算机测试系统设计.doc_第4页
基于IRT的计算机测试系统设计.doc_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于IRT的计算机测试系统设计摘 要:教学测评是教学过程中的一个重要环节,也是教育质量保证体系中的一个最主要手段。作为教学测量和评价的重要工具的考试,其特有的评定、检测、诊断、反馈和激励五大功能,直接关系到教学测评的准确性和客观性,也影响到教学质量的好坏。本论文对一种新形式的考试方式基于项目反应理论(Item Response Theory简称IRT)的计算机测试系统进行了大量的研究工作。关键字:项目反应理论;测试系统Abstract: teaching evaluation of the teaching process is an important aspect of education quality assurance system is also in a major means. As a measurement and evaluation of teaching an important tool for the examination and its unique assessment, detection, diagnosis, feedback and encouragement five major functions is directly related to the teaching evaluation of the accuracy and objectivity, but also affect the quality of teaching is good or bad. This paper on a new form of means test - based on item response theory (Item Response Theory as IRT) computer system to test a lot of research work. Keyword: item response theory; Testing System第一章 绪 论1.1选题背景以计算机技术及其网络技术为核心的信息技术的不断发展,为教育改革提供了物质基础,它将对人们的学习、生活产生重大的影响,促使教育领域发生一系列的深刻变革。在信息时代,生产力的发展主要靠知识,大量生产知识,不断更新知识,信息时代是知识爆炸的时代。信息社会的教学活动不应该再以发展人的记忆力为主要目的,而应发展人的智力和创造力为目的,教育方式应由“维持性学习模式”转变成“创造性学习模式”。1.1.1自主学习的困难性信息技术的发展扩展了学生的学习方式,学习将不再局限于课堂,学生将有更多的学习自主权,根据自身特点和需要选择学习的内容、时间和地点,远程教育将广泛运用于各种非学历教育中。在学生有了更多学习主动权的同时,也带来了一些问题,由于没有教师的及时指导帮助,学生只能凭自己的个人经验选择学习的内容和方式,同时也没有评价自己学习效果的考试手段,学生课外主要是以松散的方式进行学习,有很大的随意性。在远程教育模式下,由于教师和学生的时空分离,这个问题更突出。这要求教育工作者对这种学习模式进行深入研究,建立自主学习的支持系统,即适应性学习的支持系统。其中适应性练习或测试就是这种支持系统中不可缺少的一部分,它要求系统能够准确的测量学生的学习效果并提供适合学生当前水平的练习题目。但是目前市面上练习软件的题目抽取方式往往过于简单,不能很好的实现这些功能,因此在这方面需要进行深入研究和探索。1.1.2题库运用中存在的问题题库在教学中的意义是很明显的,通过它可以评价教师的教学效果,比较各种教学方法的效果,为进一步改进教学工作提供参考,可以考察学生的学习情况,教学过程中进行测量和评价,以促进师生间进行更好地交流,但是在实际运用过程中却存在如下问题:1.题库中题目参数的准确性。题目中的参数主要有两个:难度、区分度。这两个参数的获取要通过实际的使用数据通过不同的测量理论来分析获取,仅仅根据专家的经验判断是不够准确的。由于题库一般仅仅是在期末考试中使用,仅仅靠几次使用的数据是不能保证参数是准确的。参数的不准确必然影响了生成试卷的质量。2.题库没有在平时的学习中起到促进作用。目前的高等院校和各种教育机构一般都已经建立有自己相关领域的题库,但是题库的用途一般仅仅是学校的达标考试,没有运用在平时的学习过程中,辛辛苦苦建立的题库却没有促进教学,这是一种资源的浪费。1.2开发适应性练习系统的意义1.2.1对课堂教学效果的促进在传统的教学中,往往强调题海战术,其中有许多是重复性的劳动,停留在相同难度的题目上,这样只是增加学生的劳动量,并没有提高学习的效率。在远程教育中,由于没有教师的及时指导,学生只能凭个人主观判断选择题目进行练习。在适应性学习中,练习和测试是其不可缺少的组成部分,在没有教师参与的情况下要求支持系统为学习者提供学习业绩的评价并提出恰当的学习建议。对于适应性练习,还没有提出完善的模型。目前的练习支持系统有两种:一是课本之后的测试题目,二是以计算机为硬件基础的练习软件。前者无法对学习者进行业绩评价并提供恰当的练习题目(在IRT理论中称为项目)。后者的抽题方式一般也是课本题目的迁移,采用的抽题算法过于简单,通常为指定一定范围后随机抽取。1.2.2.对适应性学习的支持适应性学习是通过学生自身原有知识经验与适应性学习系统进行交互活动来获取知识,获得能力的过程。在这个过程中,学生能够自我组织、制订并执行学习计划,自主选择学习策略,并能控制整个学习过程,对学习进行自我评估,它充分地考虑到教学行为的个人化与学习行为的个人化特征,打破了传统学习的群体结构,把学生作为单独个体,置于一个更为个人化的情景之中。因此,建立自适应学习是教育改革的方向之一。自适应性学习在本质上突破了传统学习的内涵,它是一种全新的学习理念与学习方式,是今后远距离教育模式发展的大趋势。主流的适应性学习模式的关键环节是:学习诊断、学习内容的动态组织、学习策略。学习诊断就是利用一些经过测量理论校定的测试练习题对学生进行测试,并根据学生的反应情况来估测学生能力以及对领域知识的掌握程度,它是系统对学习内容进行动态组织的重要依据。它可以发生在学习的开始、学习的结束或学习的过程之中,在学习开始时进行测试,可以了解学生的原有知识水平、认知水平,结合学生学习过程的历史记录,便可以对学生的知识水平和能力进行估测,从而可根据学习者的能力,组织和呈现与他能力最适应的学习内容,并给出相应的学习建议;在学习过程中进行测试,主要是做针对性的测试,为学生发现薄弱环节并进行巩固性练习提供依据,而且练习与测试也是一种学习手段。在学习结束时进行测试,主要是对学生学习结果的成就性检测,检测学生是否达到预期教学目标的要求,若己经达到,则建议学生终止学习或开始新一轮学习过程,若未达到相应的教学目标,则建议学生进行补习单元的学习。在适应性学习中,学习诊断是至关重要的一环,因为它是适应性学习系统了解学生学习能力、认知能力的重要依据,没有这个依据,适应性学习模式系统根本无法了解个别学生的学习需求,那就更谈不上适合学生需求进行适应性教学了。因此,适应性学习系统对教学诊断测试具有非常严格的要求,它要求这种测试具有极高的效率,尽可能以最少的测试内容诊断出学生的真实能力,而且在不同环境、不同时间内所诊断的结论是一致的。1.2.3练习和题库的完善相互促进在学校里,学生平时的练习题目往往是一批,而期末达标测验使用的题目又是另外一批,导致了平时练习和期末考试不能紧密联系,抑制了学生课外学习的主动性,如果学生期末测试的题目能够从平时的练习题库中抽取适当的题目组成试卷,也就是说学生平时练习和考试共用一个题库的题目,期末考试的试题是根据学生平时使用的情况从中抽取,这样必将可以提高题库的使用率,同时也刺激了学生课外学习的主动性。在上述方式下,题库一方面可以促进学生的学习积极性,另一方面学生平时的练习也为题库的完善提供了使用数据。标准化题库是教育测量的基础,题库中的参数要求有较高的准确性,题库要有淘汰机制,排除不合格的题目。这种淘汰仅仅靠专家的经验判断是不能够完成的,需要在一定的理论指导下对题目实际运用数据进行统计分析,只有这样才能正确量化确定题目优劣。但是由于缺少实际使用的数据,这种统计分析无法完成。通过练习可以为其提供使用的数据。当然,要使二者能够结合起来、相互促进,系统对题库的要求也要高一些,我们在建立题库的过程中必须要考虑到以下几点:1.使用方式学生是在线使用还是下载后单独使用,不同的方式对题库的建立技术有不同的要求。如果是在网络使用,需要充分考虑网络的硬件条件,服务器能支持多少用户同时使用,能提供多大的吞吐量。对于后者,需要考虑用户的软硬件支持,更重要的是需要考虑题库的安全性,如果直接暴露在开放的未知环境下,任何人都可以窃取题库中的题目,所以需要有相应的保护措施。2.题量的要求从理论上讲,题库中的题目越多越好,但事实上往往受人力、物力和建库时间的限制,只能适可而止。不同的用途对题目的数量有不同的要求,题库是属于试题库还是习题库,还是试题、习题二者综合的题库。对于单纯为了练习的题库,基本要求是保证覆盖教学中的各个知识点,如果除了练习功能外,还用于达标测试,那么题量的要求就比较高,考虑题目是否准备反复使用,对于无法保密的试题库,题库必须不断补充,只有这样才能保证题库的较低曝光量。使用计算机拼题,条件越多,互相限制就越大,需要的题量也越多。3.正确的建库步骤一个练习系统的建立离不开题库的支持,题库是进行测试的基础,高质量的题库应具有优质、量大、等值、动态可扩充等特点。CAT题库的建立有以下几个步骤:a.选择模型,题目的主要参数有两个:难度、区分度,难度是指测试试题的难易程度;区分度表示测试题目对学生学业水平鉴别的程度。题库中每一道题的参数的准确估计是科学抽题的基础,在不同的理论指导下,有不同的测量手段和参数计算方法,同时,不同的理论也决定了不同的抽题算法。b.题目的开发,开发应按题库命题的规格标准进行,应注重不同知识内容与能力层次、不同难度和不同题型的结合,对开发的试题应组织审查,确保题目的质量。c.题目参数的确定,主要是对题目IRT各参数值的确定,一般有两种途径:一是经试测后统计分析,另一种是由专家进行评估后,再采用统计方法确定参数。d.题库的动态维护,基于经典真分数模型的题库在建库完成后,一般无法再进行题库的扩充,而基于项目反应模型的题库却由于其理论具有参数不变性等优点,使得题库的扩充变的更为容易,只需安排一些连接题目与新题目相混合进行试测,就可以将新题目的参数值与旧题目的参数值统一到一张量表中来。1.3国内外研究现状和发展趋势适应性学习系统的开发与研究,国外正处于研究的热潮之中,美国国家标准与技术协会高技术研究项目national Institute Standards and Technology Advanced Technology Program)98年资助研究的主题就是“适应性学习系统”(Adaptive Learning System),共资助了十几个相关研究,投入研究资金数千万美元,该项目研究的主要目标是:加速部署以网络为中心,基于WEB的学习系统,加快建设全国性的学习基础设施,使得教育与培训既能得以最为广泛的普及,又能精确地满足个别教育者与学习者的需求。在我们国内,研究基于WEB的教学系统的热潮正在兴起,但多以专题网站的形式出现,有关自适应测验(练习)的计算机软件极为少见,其中比较成熟的是东软的凯思英语考试,其每道试题都有3方面的统计数字,题目的难度、识别度(题目对个人能力的适合度)、偶然性(偶然答对的可能性),凯思英语考试最终题库中题目参数是在20万人次的测试后确定的,主要运用在高校新生分班考试、大学英语期末考试,它最大的特点是可以将在其考试系统中测量得到的分数等值到其他考试中。全国大学英语四、六级考试委员会一直致力于项目反应理论和“机助自适应测验”的研究和开发。目前项目反应理论已成功的用于CET分数等值处理过程中,但自适应测验软件正在研究建设过程中,目前还没有成品的软件模型问世。第二章自适应考试的理论基础和开发技术2. 1自适应考试理论 与自适应考试相近的概念有:分支考试(branched testing)、个别化考试(individualized testing)、程序化考试(programmed testing)、连续题目考试(sequential item test)、反应权宜考试(response contingent testing)等。名称虽多,意义大同小异,都具有下列一些特征:(1)有一个由一定量精选而来的测试题所组成的题库作为支持:(2)按照一定的策略进行选题并根据被试的作答情况不断地调整测试题;(3)按一定的规则终止测验,评分在实施测试的过程中进行。 目前大多数人认为自适应考试的一般原则首先是由艾尔弗雷德比内特(Alfred Binet)提出并应用于比内智力测验。这种智力测验诞生于二十世纪初期的法国,后来在使用英语作为母语的国家中又发展成斯坦福一比内(Stanford-Binet)智力测验。在这个测验中,研究者根据不同年龄段的学生事先编制好不同难度等级的题库,向被测试者呈现出和他年龄段相对应的试题题目,如果被测试者答对了该年龄段水平的测试题目,则继续给被测试者提供更高年龄段的题目,如果被测试者没有答对该年龄段的有关题目,则给被测试者出较低年龄段的题目。这是一种由人为干预和控制的基于固定分支的自适应测验。它使用了固定的出题策略,有一个相对可变的入口点和一个有限可变的测验结束标准,由此比内测验确定了自适应考试的一些基本原则。 上个世纪80年代初,洛德(Lord)进行了一种称之为“灵活测验”的实验,测验的试卷中包括了一系列难度从极易到极难做等距离分布的试题。在测验开始时,应试人需先回答中等难度的试题,如果回答正确率达到要求则接着提出先前没有出过的、具有更高难度的试题,如果回答正确率不能达到要求则出相对容易一些的试题。对该项测试特性具有高水平的人会接受最难的试题,而具有低水平特性者接受最低难度试题的50%,在这两者之间的应试人则接受一组能覆盖其特性水平的试题。这个实验最大的贡献是尝试通过一种灵活可变的分支结构来选择试题。到此时,全部自适应考试的基本原则都己经建立起来。由于自适应考试需要根据学生对试题的反应来选择下一道测试题,它需要实时对学生的反应做出判断,并需要根据一定的规则策略来选择下一道试题。这对传统的人工控制并实施的测验来说,是十分困难的。但近年来,随着项目反应理论(Item Response Theory)的提出和计算机技术的飞速发展,为灵活分支的自适应考试的计算机实现提供了可行性。项目反应理论能够将考试试题的难度、区分度和猜测参数综合成一个信息函数,并根据信息函数值的大小来选择下一个应该显示的考试题目。通常是在被测试者仅回答了少数几个题目后,系统就会通过使用最大似然法对他们的能力进行估计,并根据信息量最大的原则去选择下一题目,即该题目能够在被测试者此能力水平上得到最多的信息。这样就可以用相对较少的题目达到所需的测量精度。2.2项目反应理论(Item Response Theory)概述2.2.1项目反应理论的发展 项目反应理论的基本思想起源于上世纪30年代末至40年代初,在1946年,塔克(Tuker)正式提出了“项目特征曲线”概念,把表征被测试者的能力或特质水平与其对一个测验项目的正确反应概率之间的关系描述为二维的曲线图。 1952年,美国心理和教育测量学家洛德(Lord)提出了著名的正态卵形模型以及该模型的参数估计方法,并成功地将他的模型应用于实际测验。随后,在1957年,伯恩鲍姆(Birnbaum)提出了易于处理的逻辑斯蒂(Logistic)模型以及相应的统计处理方法,取代了洛德的正态卵形模型,即一步推动了项目反应理论的发展。自上个世纪70年代以来,项目反应理论在其各个主要领域,如测验设计、能力估计、测验等同化、自适应测验等方面,都取得了相当大的进展。目前人们对项目反应理论的研究工作,在理论方面集中在连续变量测验资料和多维情况下的数学模型探索上;而在应用方面,则集中在模型资料拟合良度检验方法和参数估计方法的改进,以及项目反应理论在测验编制、题库建设、测验参数等值等实际问题中的应用上。2. 2. 2项目反应理论的基本原理 我们都知道,考试的目的在于将被测试者不能直接测量的内部潜在特质用测验分数来进行估计,从而推断和评估其发展水平。项目反应理论是建立在潜在特质理论的基础上的,它通过建立一定的项目反应模型来描述这种关系的。项目反应理论的最大特点是:它找到了一条项目特性曲线并且以多种数学表达式(即数学模型)来描述它和逼近它。显然,不同的数学模型对曲线有不同程度的逼近,也含有个数不同的参数。项目特性曲线的数学模型一般都包含两方面的参数:对测验项目的特征进行刻画的项目参数;对考生的特征进行刻画的潜在特质或称能力参数。根据这些参数,可以对测验项目的质量做出评价,也可以测算出考生个体在任一测验项目上的反应,从而估计出潜在特质的量数,即考生完成测验项目时所具有的能力或特质。从理论上说,有效解决了经典测验理论无法建立考生得分与测验项目参数之间的函数关系的问题。1.基本假设项目反应理论的基本假设主要有三条:(1)单维性假设单维性假设指测验只测量被试者的某一种能力(如计算能力),而可以忽略其他能力对测试结果的影响(如阅读能力)。也就是说,被试者对测验项目的反应只受一种能力水平的支配而不受其他能力水平的束缚。 实际上,任何测验都不可能是单维的。影响被试者对测验项目反应的因素,除了该测验所测量的能力或特质外,通常还包括认知、个性以及测验情景等方面的因素,如动机水平、测验焦虑等。因而,项目反应理论的关于测验的单维性假设并不是严格意义上的单维性假设,只要在所有影响被试者反应的因素中只有一个占主导地位,且该因素正是测验所要测量的能力或特质,那么这样的测验可认为是单维性测验。(2)局部独立性假设 所谓局部独立性假设,是指同一能力或特质水平的被试者对不同测验项目的反应在统计上是独立的。也就是说,被试者对某一测验项目的反应不受对其他测验项目反应情况的影响,只与该测验项目本身的性质有关。同样,在某一项目上各被试者的作答也是彼此独立的,仅由被试者的潜在特质水平决定,一个被试者的成绩不影响另一个被试者的成绩。(3)项目特性曲线 项目反应理论认为,被试者对项目所作的反应概率遵循一定的函数关系,这种函数关系可以用项目特性曲线表述出来。2.项目反应模型不同的项目特性曲线假设对应着不同的项目反应模型,目前应用最广的项目反应模型二级评分的单维非线性模型,以伯恩鲍姆提出的逻辑斯蒂模型为代表。连续性模型与多维模型比较复杂,都还处于研究阶段。下面重点介绍两种二级评分项目反应模型:最优量表模型和逻辑斯蒂模型。(1)最优量表模型最优量表模型是古特曼提出的,所以又称为古特曼模型。古特曼认为,对于一个测验项目,如果被试者的相应能力或特质达到或超过了难度水平b;那么被试者就能对此项目作出正确反应,反之则不能。如图2-1所示,古特曼模型的相关被试曲线是一条阶梯曲线,图中的b通常被称为项目难度。图2-1 古特曼模型 在实际测量中,大量的分析和统计结果表明,大多数情况下,即使被试者的能力或特质水平达到或超过了某个水平b,被试者也不一定能对难度为b的项目作出正确的反应;反之亦然。因此,古特曼模型存在很大的局限性,在实际中很少应用(2)逻辑斯蒂模型逻辑斯蒂模型是伯恩鲍姆于1957年提出的。他假定的项目特性曲线如图2-2所示。图2-2 逻辑斯蒂模型 项目特性曲线描述的是各种特质水平的被试者(一般用表示),对某一测试项目的正确反应概率(一般用表示)。一定能力或特质水平的被试者对某一项目的正确反应概率只与该项目的质量有关。 一般来说,被试者的特质水平可视为连续变化的,因此,反映各特质水平上被试者的答对概率的连线就一定是一条平滑的曲线。由于特质越高的被试者答对概率越大,所以这条曲线应该是单调递函数曲线。经研究,被试者的答对概率与其特质水平之间的关系是非线性的,即当特质水平大或小到一定程度以后,答对概率随之变化的速度显著变小。研究表明,这种曲线的形状,是一条以其拐点为中心的S型曲线。一般地,对某一测验项目的质量,我们可采用项目难度、项目区分度和猜测参数三个指标来描述。从图中可以看到,项目特性曲线下部的渐近线离坐标轴的零点有一定距离,这表明由于存在猜测因素,能力或特质水平很低的被试者仍有可能答对。该项目的猜测参数,一般用c来表示,它是凭猜测答对该题的概率。前面己经提到,项目特性曲线是一条以拐点为中心的曲线,因而其拐点在纵轴上的投影正好落在c与1的中心上,即拐点的纵坐标为(1+c) /2。这表明特质水平为b(拐点在横轴上的投影)的被试者与答对、答错该项目的概率,排除猜测因素不计,恰好彼此相等。所以b通常被定义为项目的难度参数。项目特性曲线拐点处的斜率刻划了曲线的陡峭程度,这与项目划分被试者特质水平的能力有关。很显然,曲线越陡,答对概率对特质水平的变化就越敏感,即项目区分被试者水平的能力越强。因此,曲线拐点处的斜率被称为项目的区分度参数,一般用a来表示。用来描述项目反应模型的数学函数称为项目反应函数。从以上的分析可以看出,项目反应函数实际上是描述被试者答对概率与项目的参数a. b, c和被试者的特质水平在数值上的关系。伯恩鲍姆选择用来描述项目反应模型的数学函数是逻辑斯蒂拱形函数族,逻辑斯蒂模型正式由此得名。常用的是三参数的逻辑斯蒂模型,它的数学表达式为: (21)去处猜测因素,令猜测参数C=0,就得到双参数逻辑斯蒂模型的数学表达式 (22) 如果令C=0,同时假定各题目的区分度相同,比如a=1,这时项目只在难度上有变化,对应的逻辑斯蒂模型成为单参数逻辑斯蒂模型,其项目反应函数为 (23) 另外,有不少题目即使高水平的被试者,也难以绝对完善地作答,反映在项目特性曲线上就是曲线的尾部并不以1. 00为极限,而是略低于1. 00。因此,有人又提出了第四个参数r,这就得到了四参数逻辑斯蒂模型。其表达式为 (24) 洛德提出的项目反应函数是正态卵形函数,其表达式为 (25) 实际上,洛德提出的正态卵形函数与逻辑斯蒂函数相比,在计算结果上并无大的区别,所绘制的曲线也大体相同。然而,在实际中大多采用后者,其中主要有以下两个方面原因:首先是它在形式上简洁,更具有数学模型的特点;其次是它便于用对数关系作处理,因而模型的项目质量参数和能力参数估计起来更方便。3.项目的测验信息函数 题目信息函数(item information function)是项目反应理论的核心概念,它是项目反应理论中用来刻画一个测验或一道试题有效性的工具。它是用来直接反映一种测验分数对被试者能力或特质水平的估计精度的指标。信息函数越大,这种估计就越精确。在项目反应理论中,对于某个特定的测验目标i,它的信息函数可用下面的表达式来表示。 (26)其中Qi=1-P,i P是答对概率,Pi是Pi的对的一阶偏导数。若以三参数逻辑斯蒂模型为例来说明,则 (27) 从上述项目信息函数的表达式来看,我们至少可以得出以下两个结论: (1)对于一个测验项目而言,其质量指标是一定的,因而信息函数的值就只与被试者的特质水平有关。因此,项目信息函数可以用来描述在所测被试者特质的每一个水平上某道试题的测量有效性。 (2)对于某特定的被试者而言,其特质水平是一定的,这时某一试题项目信息函数的大小就取决于该试题的质量。若猜测参数c越小,信息函数的值就越大;项目的区分度a越大,信息函数值也就越大。由以上分析可见,项目信息函数是反映题目优劣的一个综合指标。信息函数还具有可加性。假定某测验有n道试题,则测验信息函数是测验所含有的各道题目的信息函数Ii的简单相加: (28)即在测验中,每一个测验项目对测验信息函数的作用都是独立的,与所有其他项目无关。这是局部独立性假设提出的。由信息函数的可加性可知,组成测验的各个项目的质量越高,它们所能提供的信息量就越大,从而根据整个测验所获资料而估出的被试者的特质水平就越精确,越可靠,越接近其真值。信息函数的可加性有力地说明了测验信息函数是反映测验有效性的一个客观而精确的指标。2. 3网络考试系统的开发技术2. 3. 1 Web应用程序的体系结构Web应用程序的体系结构描述了构成Web应用程序的逻辑功能模块,它直接影响到Web应用程序的系统设计,技术方案以及编程方法。通常,Web应用程序可以采用几种基本的体系结构:两层结构,三层结构以及多层结构。1.两层体系结构采用两层体系结构的Web应用程序由Web浏览器与Web服务器两部分组成,如图2-3所示。Web浏览器与Web服务器之间的通信遵循HTTPo Web浏览器向Web服务器请求文档,Web服务器则根据该请求返回相应的文档。如果该文档不在,Web服务器将返回错误提示信息。在Web发展早期,由于Web服务器中的文档是事先编写好的,任何用户请求文档时返回的结果都一样,这种网站被称为“静态网站”。随着Web技术的发展,人们开始提出一些增强Web浏览器功能的新技术,比如让浏览器执行一些简单的脚本程序。这样一来,Web浏览器从Web服务器接收到文档后,就可能根据用户的操作呈现不同的结果。无论是简单的HTML文档,还是嵌入脚本程序的HTML文档,两层体系结构的Web应用程序的基本逻辑结构都一致。Web服务器的任务就是响应Web浏览器的文档请求。图2-3 两层体系结构Web应用程序2.三层体系结构采用三层体系结构的Web应用程序由Web浏览器,Web服务器和数据信息三部分组成,如图2-4所示。图2-4 三层体系结构Web应用程序其中,最典型的数据信息是数据库。Web浏览器与Web服务器之间的通信仍然遵循HTTP; Web服务器与数据信息(比如数据库)之间的通信遵循CGI (Common Gate way Interface)或者Server API (Application Interface)规范。在采用3层体系结构的Web应用程序中,Web浏览器向Web服务器请求某个HTML文档或者请求执行某个CGI脚本程序。Web服务器根据Web浏览器请求文档的类型执行相应的操作:如果Web浏览器请求的是某个HTML文档,Web服务器就返回该文档;如果Web浏览器请求的是某个CGI程序或者API程序,Web服务器则执行(或调用外部程序执行)该程序。然后将程序执行结果返回给Web浏览器。 通过CGI脚本或者Server API程序来扩展Web服务器的功能可以说是Web技术发展史上的一个里程碑。因为,CGI脚本或者Server APT程序可以根据用户的不同请求,返回不同的结果。习惯上,我们把采用这种体系结构的Web网站称作“动态网站”。目前,互联网中绝大部分网站和大多数Web应用系统都采用了这种体系结构。由于采用3层结构的Web应用程序基本上可以实现传统桌面软件的绝大部分功能,所以Web就不仅是发布信息的平台,而且也是软件开发的平台。2. 3. 2 C/S结构和B/S结构 常用的网络应用程序的系统结构主要有C/S结构和B/S结构。1. C/S结构,即Client/Server(客户机/服务器)结构,它通过将任务合理分配到Client端和Server端,降低了系统的通讯开销。但随着Internet的不断普及和应用的迅速升级,C/S的应用感到有些力不从心,C/S结构带来的限制:(1)客户端很庞大,维护困难,耗资巨大。(2)客户端应用系统依赖于其应用平台。(3)服务器端所做的任何变动都会对每个客户端产生连锁影响。2. B/S结构,即Browser/Server(浏览器/服务器)结构。采用三层分布结构,即:浏览器Web服务器数据库服务器。该结构的核心是Web服务器,它负责接收浏览器的Web页请求和数据请求,并处理Web页请求,同时将数据请求通过数据库接口程序转换成数据库服务器能够接受的形式,之后送到数据库服务器,数据库服务器执行相应的数据库操作,并将结果通过数据库接口程序的转换送回Web服务器,Web服务器将结果处理成浏览器能够接受的形式后,送回发出请求的浏览器,显示结果。B/S结构的三层体系结构是为新一代分布式计算方案设计的应用软件体系结构,使用户可建造一个能在任何网络上实现的、可伸缩的多层应用,减少对信息技术专家的依赖,使用户能够集中精力解决实际问题。开发位于中间层的Web服务器端的应用软件,无需考虑客户端的兼容性,并且后台数据库系统的改变或者数据库结构的改变不会对客户端产生影响,形成“瘦客户胖中间层瘦服务器”。基于三层结构的组件,还可以通过继承、封装、组装,增加软件开发的灵活性、稳定性,同时极大地提高了软件重用性。B/S的三层体系结构如图2-5所示:图2-5 B/S三层结构体系Web应用系统B/S结构具有如下特点: (1)客户端只需要安装浏览器,不需要安装应用程序,大大减轻了管理负担。 (2)实现了开发环境与应用环境的分离,提高了系统的可扩展性、安全性和可重用性。 (3)数据库结构的改变不再对客户端产生连锁影响,只需修改服务器端的应用程序即可,极大地提高了系统的维护效率。2. 3. 3 Web动态开发技术 .客户端脚本程序 最初的Web浏览器只能显示文本,图片等静态内容。后来,为了扩展网页的功能,人们在网页中引入了嵌入脚本程序。相应地,Web浏览器也加入了执行这些脚本程序的解释器。常用的脚本语言有JavaScript, VBScript, Jscript以及Perlscript,其中JavaScript最为流行。通过在网页中嵌入脚本程序,就可以实现许多动态特性。必须注意,由于网页中嵌入的脚本程序是由请求该网页的Web浏览器解释执行的,所以Web浏览器的差异可能导致脚本程序不能正常运行。这就是采用客户端脚本程序所带来的风险。 .DOM (Document Objects Model) DOM即文档对象模型。文档对象模型的基本思想是将Web浏览器窗口以及其中的内容都看作对象。根据面对对象的思想,每一对象都具有特定的属性和方法。通过调用对象的方法,Web开发人员就可以执行相应的文档操作。另外,借用面对对象编程中的“事件驱动”概念,DOM为网页定义了一些事件,主要包括鼠标事件,键盘事件和系统事件3类。这样一来,Web程序员就可以在程序中利用这些事件来响应用户的操作。不过,不同的浏览器定义的DOM有所区别。 .DHTML (Dynamic Hypertext Markup Language) DHTML实际上不是一种具体的技术,也不是一种编程语言,它是一个标准,一个Web客户端程序开发的标准。DHTML和HTML的区别就在于Dynamic一词。DHTML的主要思想就是增加HTML文档的吸引力和与用户的“交互性”。用脚本程序来操纵HTML文本的样式和内容是DHTMI最主要的实现方式。 .ActiveXActiveX是微软公司提出的一项增加Web浏览器功能的新技术。其基本原理是利用一些专门的Web浏览器插件来实现网页中的某些特殊效果,这些插件就被称作ActiveX控件。显然,它要求用户的计算机中必须首先安装这些插件。如果没有安装这些插件,系统将提示用户从互联网上下载并安装。这就明显存在个问题:如果这些插件中包含了恶意的攻击代码,那么用户的计算机就可能遭受损害。 .Java 尽管许多从网络下载的插件都经过了安全检查,但是仍然存在安全风险。Java语言的横空出世给网络开发带来了巨大影响,其独特魅力就在于跨平台性。Java语言的跨平台原理:与传统的高级语言不同,Java程序编译后,并不形成可执行的二进制代码,而是形成一种中间代码,中间代码最终交给JVM (Java虚拟机)去执行。因此,无论何种平台,只要安装了JVM,就可以执行编译后的Java程序。 .CGI (Common Gateway Interface)CG工一般被翻译为公共网关接口。CGI实际上是一种标准,它提供了一种使Web服务器可编程扩展的方法。这种扩展程序通常被称作CGI程序。CGI代码给Web服务器增加了许多新功能,从而使之具有无限的灵活性。从理论上讲,CGI程序可以用任何一种语言编写,比如VB, C, Pascal, Delphi等。但实际应用中,由于Perl语言在字符串处理方面有独特优势,因此成为CGI编程中最流行的语言。CGI程序的运行原理是:Web浏览器请求Web服务器执行某一CG工程序,Web服务器启动一个进程,调用CGI解释程序(如Perl解释器)执行该程序,然后把执行结果返回给Web浏览器。CGI程序的运行原理也就决定了CGI程序的缺陷:Web服务器将为每个CGI程序请求启动一个进程,当存在大量用户请求时,Web服务性能就会显著下降。 .ISAPI (Internet Server Application Programming Interface) ISAPI即Internet服务器程序接口,虽然微软公司的Internet Information Server(工IS)完全支持这一标准,但是工SAPI并不是特别为微软公司开发的。它是一个通过使用DLL允许你扩展服务器功能的通用标准。ISAPI程序与CGI程序的主要区别在于:ISAPI程序一旦被载入,就会一直运行在Web服务器的内存空间中,直到Web服务器退出服务。这就避免了使用CGI时不断调用CGI程序而带来的负载问题。当然,ISAPI也有自己的局限性。由于工SAPI程序运行在服务器内存空间中,所以ISAPI程序的运行错误可能导致Web服务器的崩溃。也就是说,ISAPI的高性能是以牺牲Web服务器的稳定性为代价的。 .ASP (Active Server Page)在ASP推出之前,Web开发只能通过CGI和ISAPI程序来扩展Web服务器的性能。而Perl编程与工SAPI编程都比较复杂。工SAPI一般都用VC+十开发,技术台阶相对比较高。利用ASP, Web开发者只需调用一个简单的对象方法就可以实现十几行甚至几十行Perl程序才能实现的功能,这不仅降低了开发难度,而且也加快了程序开发速度。ASP最初是为Windows平台设计的,近年来,已经有Linux/UNIX平台下ASP版本问世,但是其性能大打折扣。 .JSP Java最初就是针对网络开发而推出的,所以Web开发中自然也少不了它的参与。Java Applet是增强Web浏览器功能的。Jsp则是在Web服务器端开发Java。Jsp与ASP有许多相似之处,它们都支持Request, Response等内置对象。一般来说,Jsp开发可分为4种方式:直接使用Jsp, Jsp+Servlet, Jsp+Java Beans,Jsp+Java Beans+Servleto Jsp可以跨平台使用,加上其运行速度很快,安全性很好,所以是目前最流行的Web开发技术之一。 .ASP. NET ASP.NET是微软新推出来的体系结构.NET中的一部分,它在利用.NET提供的新功能来创造功能更强大的Web页的同时,完全继承了ASP的众多有点。虽然ASP.NET是在ASP的基础上发展而来的,技术上有质的区别。ASP.NET基于组件和模块化,是对ASP的革命性发展。并且,ASP.NET借助Java, VB等语言的开发优势,加入了许多新的特色。2. 4数据库建模2.4.1统一建模语言UML (Unified Modeling Language)概述 众所周知,面向对象的软件开发与设计(OOA & D)己取代面向过程的软件开发而成为当今软件工程领域中的主流。设计巧妙、功能强大的软件产品必须以清晰、充分体现用户需求的模型为基础。传统的建模语言有OMT, Booch, OOSE等。面对众多的建模语言,用户由于没有能力区别不同语言之间的差别,因此很难找到一种比较适合其应用特点的语言;并且众多的建模语言实际上各有千秋,虽然不同的建模语言大多类同,但仍存在某些细微的差别,极大地妨碍了用户之间的交流。因此,有必要在精心比较不同的建模语言优缺点及总结面向对象技术应用实践的基础上,组织联合设计小组,根据应用需求,取其精华,去其糟粕,求同存异,统一建模语言UML(Unified Modeling Language)就是在这种背景下产生的。UML结合了当时流行的面向对象方法Booch - 93,OMT2和OOSE方法,并被OMG正式接纳为基于面向对象技术的标准建模语言。UML不仅支持面向对象的分析和设计,而且支持从需求分析到系统实现的软件开发的全过程。实际上,UML作为一个通用的、标准的建模语言,可以广泛地应用面向对象的方法描述任何类型的系统。 UML作为一种标准建模语言,几乎适用于所有的应用领域,它具有语言和过程无关性。UML成为现今国际软件工业的标准。它为软件系统的设计与开发提供了丰富的、功能强大的模型,可以对整个系统做全面地描述。UML表示法是UML语义的可视化表示,是用来为系统建模的工具。UML定义了八类图形来表示各种模型的各个方面。从模型的不同描述角度来划分,UML可以由下列四类图(共八种图形)来定义:用例图(use case diagram )、类图(class diagram )状态图(state diagram )、活动图(activity diagram )行为图(behavior diagram )交互图(interaction diagram )顺序图(sequence diagram )、合作图(collaboration diagram )、实现图(Implementation diagram )、组件图(component diagram )、配置图(deployment diagram )。 UML的目标是易于使用、表达能力强,进行可视化建模;与具体的实现无关,可应用于任何语言平台和工具平台;与具体的过程无关,可应用于任何软件开发的过程;简单可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改;为面向对象的设计与开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用:与最好的软件工程实践经验集成;可升级,具有广阔的适用性和可用性;有利于面向对象工具的市场成长。2.5系统的设计原则 基于Web的网络考试系统是一个集教育测量学、网络、数据库及信息管理于一体的综合系统,在进行设计时就要充分考虑相关的理论及其指导作用。综合前面的分析,网络考试系统应遵循以下几个设计原则:1.以测试理论为指导 题库是考试系统的重要组成部分,题库的开发必须以相应测试理论为指导。2.以提高教学效果为宗旨。网络考试是课程教学的组成部分,考试的目的是教、学双方了解学习的效果,进一步调整以达到教学最优化。3.以个性化学习为中心 在考试中要充分体现学生的个性化,充分发挥学生的学习主动性。同时在计算机的用户界面上应尽量符合学生的年龄认知心理,尽量营造一种宽松的环境。4.以系统稳定、安全运行和保密性为手段系统的设计必须要与软、硬件支撑环境协调一致,保证系统运行过程的稳定、安全。第三章 基于IRT的网络自适应考试系统功能分析及总体设计3.1系统的功能需求分析网络自适应考试系统是整个教学过程的重要组成部分,其宗旨是为教学服务,因此在对系统进行设计时,必须完整地考虑系统的软硬件环境及教学功能需求。综合前面对成人教育自身特点、考试理论及网络开发技术的分析,我们认为科学、安全、适用的网络自适应考试系统应满足以下需求:1.允许用户(学生或教师)通过Internet使用浏览器访问系统,实现各项功能;2.方便的完成数据库的维护、管理工作;3.具有完善的考试控制功能。系统应具备科学的组卷策略,完备的考试过程控制以及试题的自动评判功能;4.完善的数据记录、统计和分析功能;5.具有良好的用户界面以最大程度地排除影响考试结果的因素;6.具有良好的扩充性;7.具有良好的安全保密机制。3.2系统的体系结构 基于第二章中对C/S, B/S的Web体系结构的分析,系统采用BlS三层的体系结构。结构模型如图3-1所示: 表示层和UI (User Interface用户界面)层位于学生、教师及管理员的算机上,事务服务层位于Web服务器及应用服务器上,数据服务层位于数据库服务器上。这种结构有利于考试系统模型的开发,系统的负载平衡和系统的维护,同时也保证了信息安全。1.表示层和UI层表示层和UI层都是一些GUI窗体,用户通过此层进行交互。它提供一组标准的界面来发布、编辑和接受数据,并维护用户界面的一致性和完整性。这一层的客户端代码通过调用事务服务层所封装的事务处理接口来激活事务。在这层里用户通过IE, Netscape等浏览器进行网上考试、数据维护等。表示层和UI层的独立,减少了系统的祸合,便于系统的开发和维护。2.事务服务层事务服务层包含了业务逻辑层和数据访问层,它为应用程序提供所有业务规则、验证、操作、处理和安全设置,同时封装和包含了所有的数据库访问技术、数据库和数据结构的知识。业务逻辑层结合了编辑校验、登陆验证、数据库查询、政策和算法变换等构成系统运作的各种操作。实际应用中业务逻辑层通常也包含UI层的主要代码。在Web自适应考试系统中,系统的主要操作如选身份验证、题策略、考试控制等都在这一层,它与用户直接接触的表示层的分离,有效地保证了系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论