操作题评分(通用7篇)
操作题评分 篇1
一、概述
随着人工智能技术的不断发展, 基于人工智能的解决方案被应用到各个领域中。其中教学领域也在引入该技术不断改进教学手段, 如计算机辅助教学等。为了提高考试工作效率节约开支和避免教师为学生划定考试范围来应付考试, 利用基于题库的考试软件进行考试成为首选。考试系统可以很好地完成选择判断等客观题的考试评卷工作, 但在评阅主观试题时效率就显得比较低下。一是主观题往往答案不唯一, 利用简单字符匹配很难公平给出成绩。二是当有多个答案时难以逐一列举, 同样造成评判不公。
二、C程序设计操作题考试系统总体设计
该系统用户分为两类, 分别是学生用户和教师用户。教师用户具有出题评分等权限, 学生用户抽题和答题权限。本系统分为出题模块、评分模块、成绩处理和答题模块。当用户登录时可以利用数据库用户表的权限字段加以区分用户角色, 然后分配给不同权限。用户如果是教师则在主界面显示出题评分等操作, 如果是学生用户则显示试题抽取操作, 学生抽取试题后进入答题界面。学生答题结束则提交操作后的C源文件。具体层次图如图1所示。
三、阅卷算法的实现
在该系统中除阅卷模块外, 其他模块的功能在实现方法上有比较成形的技术都能够比较容易达到设计目标。但对于评卷模块来说, 它要完成的是主观操作题的评阅因此实现起来有一定的难度。经过多次的实验和资料查阅, 最后选用了人工智能技术来实现。
(一) 基本设计思想。
本系统中主要包含三类操作题分别是程序改错, 程序填空和函数编写。每类题的答题点都有可能出现多种答案。可以将每个答题点的答案存放到答案表中, 答案表也可以被称为阅卷知识库。
对于改错和程序填空题在知识库中每个答题点都可以有多个可选答案相对应, 并且不同的答案具有不同的得分权重, 由此每个答题点Point有多个带有不同权重w的答案Ans构成:
每个答题点的成绩最终为某个Ans的权重w成绩该答题点的分值得出, 因此权重w取值为[0, 1]。
对于函数编写题则在答案知识库中与改错和程序填空有一定差别, 在该知识库中将答案视为一个文本T, T应该由多个关键词Key构成。每个关键词Key组合成T, 每个关键词Key在答案文本中有一定的得分比例Percent。由此每个题的答案可以为:
该式中得分比例累积为1, 该题得分为最终得分比累加和乘以该题分值。
(二) 基本数据表设计。
对应上述设计思想, 设计如下两个表作为阅卷知识库。
对于改错程序和程序填空题阅卷知识库表结构设计如表1:
对于函数编写题阅卷知识库表结构如表2:
(三) 算法实现。
当学生完成答题后, 将答题结果提交到学生答题答案表。表中包含学生学号、姓名、试题套号、程序改错答题结果、填空题答题结果和函数编写答题结果。算法按照改错题评阅、填空题评阅和函数编写题评阅顺序进行。
1.改错题与填空题评阅算法。首先提取答案表中的一条记录, 然后提取该记录中的试题各个答题点结果, 提取后放入相应变量内。提取该试题套号, 以试题套号、类别号和具体答题点号为条件在评阅知识库表Testans中查找相关记录, 将提取的结果集中记录的具体答题点的具体答案与学生答题点的答案进行字符串匹配测试。当某个评阅知识库表中的某个具体答案与学生答题结果中的答案匹配成功时则提取该记录的权重值然后乘以该答题点分值。依照上述方法重复进行直至所有答案表中的相关答案全部进行了匹配运算的出具体分值为止, 将所有分值累加, 结果为该考生改错与填空题最终成绩。
2.函数编写题评阅算法。在考生答案记录提取后, 将其中的函数编写答案字段提取, 此字段中存储考生函数编写题的程序文本。同时以试题套号为依据在函数编写题评阅知识库表progans中搜索该套试题答案关键词记录。得到结果集为该题程序中应该出现的关键词结果集, 以每个关键词为依据在考生函数编写题答案文本中搜索该关键词, 一旦匹配成功则累加该关键词对应的权重。结果集每个关键词都进行以上算法后累加的权重值乘以该题的分值即为考生得分。
(四) 知识库知识累积实现。
上述算法基本解决了当主观题答案出现多种变化时不能公平给分的矛盾。但是由于出题者对知识库构建时难免发生遗漏, 因此评阅试题知识库最初的质量并不一定很高。为了能使知识库中知识更加丰富本算法中还增加了知识库知识累积处理。主要是通过人工干预评阅试卷, 当教师对考生答题点逐个人工查看时, 如果知识库中没有出现相应答案但又是正确答案时评阅教师可以将该答案加入知识库。添加到知识库后的答案同时给予一个适当的权重, 如果是函数编写题在加入新的评阅关键词后所有的关键词权重要重新分配使得权重累加结果为1。
这样经过几轮人工干预评阅试卷知识库中的内容将更加丰富, 对以后的评阅更加公平起到促进作用。
四、结语
本文主要阐述了基于人工智能原理的C语言操作考试题的评阅算法。算法中主要利用了知识库功能和简单字符匹配算法。为了解决知识库内容起初不够丰富的问题, 设计了知识库知识累积算法。经过测试表明在经过若干轮人工干预后基本实现了公平评阅试卷。
参考文献
[1].蒋秀莲.基于人工智能技术的智能教学系统研究与设计[J].Microcomputer Applications, 2009
[2].李闯, 常锐.基于人工智能原理的考试系统[J].长春工业大学学报 (自然科学版) , 2009
[3].洪力奋.基于人工智能原理的大学课表编排模型[J].合肥工业大学学报 (自然科学版) , 1999
操作题评分 篇2
关键词:API,FSO,自动评分,上机测试
目前, 计算机基础课程考核一般都包括理论测试和上机操作测试。在上机操作测试中Windows操作题是对学生必须考核的内容之一。Windows操作题分为控制面板操作和文件操作。为了减轻教师的工作量和提高评卷的准确性, 有必要实现自动评分。利用VB的API函数可以方便的读取控制面板中的取值;利用利用VB中的FSO对象模型可获取文件及文件夹的各项信息。利用这两项技术即可简单完成Windows操作题的自动评分工作。
一、API (Application programming interface)
API (Application programming interface) 即应用程序编程接口。它是一些用C语言编写的用来控制Windows的各个部件外观和行为, 在Windows环境中可提供Windows应用程序调用的一组函数集合。这些函数是Windows提供给应用程序与操作系统的接口, 他们犹如积木块一样。可以搭建出各种界面丰富, 功能灵活的应用程序。所以可以认为API函数是构筑整个Windows框架的基石, 在它的下面是Windows操作系统核心, 而它的上面则是所有的华丽的Windows。Win32API也就是Windows32位平台提供的应用程序编程接口, API函数是对可视化编程工具的扩充, 是充分发挥系统功能的重要手段。
一般情况下API函数总是包含在windows系统自带的或是其它公司提供的动态连接库DLL中。VB一个强大的特性就是它具有调用驻留在动态链接库 (DLL) 文件中的函数的功能, 可以在应用程序中利用Windows API提供的数百个API接口进行扩充。在Visual Basic中使用API函数之前, 必须在相应模块中使用Declare进行声明。在声明了过程之后, 调用该过程的方法与调用Visual Basic自身的过程相同。
Windows API中包含了成千上万的函数、例程、类型和常数定义, 在Visual Basic工程中可以声明并使用它们。API函数的声明是比较复杂的, 尽管也可以自己进行声明转换, 但最简单的办法是使用Visual Basic专门提供的预定义Window API进行声明。位于Visual Basic主目录下Win API子目录中的Win32API.txt文件中包含了Visual Basic中经常使用的许多Windows API的过程声明。要使用该文件中的函数类型等定义时, 只需将其从该文件复制到Visual Basic模块中即可。
API声明有两种格式, 没有返回值的使用API过程声明, 有返回值的使用API函数声明。
1、API过程声明格式:Declare Sub API函数名Lib“库名”[Alias“别名”] ([参数列表])
2、API函数声明格式:Declare Function API函数名Lib“库名”[Alias“别名”] ([参数列表]) as数据类型
二、FSO (File System Object)
FSO (File System Object, 文件系统对象) 采用object.method这种在面向对象编程中广泛使用的语法, 将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。
FSO对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除, 而且可以检测是否存在指定的文件夹以及这个文件夹位于磁盘上的什么位置。FSO对象模型可以获取关于文件和文件夹的信息, 如名称、创建日期或最近修改日期等, 以及当前系统中使用的驱动器的信息, 如驱动器的种类是CD-ROM还是可移动磁盘, 当前磁盘的剩余空间还有多少。
FSO对象模型包含在Scripting类型库 (Scrrun.Dll) 中, 它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。
●Drive用来收集驱动器的信息, 如可用磁盘空间或驱动器的类型;
●Folder用于创建、删除或移动文件夹, 同时可以进行向系统查询文件夹的路径等操作;
●File的基本操作和Folder基本相同, 所不同的是Files的操作主要是针对磁盘上的文件进行的;
●FileSystemObject是FSO对象模型中最主要对象, 它提供了一套完整的可用于创建、删除文件和文件夹, 收集驱动器、文件夹、文件相关信息的方法;
●TextStream对象则是用来完成对文件的读写操作的。
要创建FSO对象可以采用两种方法:
1、一个变量声明为FSO对象类型:
Dim fsoTest As New FileSystemObject
2、通过CreateObject方法创建一个FSO对象:
Set fsoTest=CreateObject (“Scripting.FileSystemObject”) 。
三、使用API自动评阅控制面板操作题的解决思路
控制面板操作常规题目知识点包括:墙纸的设置;屏幕保护的设置;桌面快捷方式的添加;Windows时间格式、日期格式、数字格式、货币格式的改变。使用Windows Api函数可以简化程序设计。
1、通过API函数直接获取需要的数据。
(1) Getuserdefaultcid () 函数。作用:取得当前用户的默认系统区设置。返回针对当前用户的默认地方ID。
(2) Getlocaleinfo () 函数。作用:取得与指定地方有关的消息, 通过使用不同参数, 可以获得与区域选项有关的设置。如:Getlocaleinfo (locale, LOCALE_SCUR-RENCY, lplcdatavar, 0) 可获得当前的货币符号。
(3) Systemparametersinfo () 函数。作用:获取和设置Windows系统参数如:Systemparametersinfo (SPI-GETSCREENSAVETIMEOUT, VBNULL, INTVALUE, 0) 可通过intvalue得到屏幕保护的设置时间。而使用函数Systemparametersinfo (SPI-GETSCREENSAVE-ACTIVE, VBNULL, LNRETURN, 0) 可通过LNRETURN判断屏幕保护程序是否被设置。
(4) Osfremoveshelllink () 函数。作用:删除已经创建的快捷方式
2、使用注册表函数
Windows控制面板与注册表中HKEY_CUR-RENT_USERScontrol panel子键对应。如子键desktop列出了桌面和外观的所有设置, 子键international列出了区域选项的设置。本部分也可以通过读取注册表相应的值来进行评分。
阅卷常用的注册表操作函数有:
(1) Regopenkeyex () 函数。作用:打开一个现有的注册表项, 成功返回ERROR_SUCCESS, 其他任何值表示错误。
(2) Regqueryvalue () 函数。作用:获取一个注册表项的设置值, 成功返回ERROR_SUCCESS, 其他任何值表示错误。
(3) Regclosekey () 函数。作用:关闭系统注册表中的一个项, 成功返回ERROR_SUCCESS, 其他任何值表示错误。
3、应用举例
例如要获取学生设置的短日期格式可用通过如下代码:
四、使用FOS自动评阅文件操作题
文件操作常规题目知识点包括:文件、文件夹的建立、删除、复制、更名、移动、属性更改等10个考点。
在文件操作题的阅卷中, 核心是文件及文件夹是否存在的判断, 文件、文件夹的各种属性的设置。利用VB中的FSO (FileSystemObject) 对象模型获取文件及文件夹的各项信息。
利用FSO对象模型中的GetFile方法获取指定路径中的文件名、GetBaseName方法得到文件的主文件名、GetExtensionName方法得到文件的扩展名;利用FSO对象模型中的ParentFolder属性获取指定文件或文件夹的父文件夹对象、Size属性得到文件的大小、Attributes属性获取文件及文件夹属性等。
文件操作题评分时, 若判断“操作类型”字段值为“Rf”, 则在考生文件的源文件夹下, 有目标文件存在, 同时不存在源文件即可得分。若判断“操作类型”字段值为“mf”, 则在考生目标文件夹, 有目标文件存在, 同时源文件夹下不存在源文件 (即目标文件为空) 即可得分。其它复制、属性、删除等操作也应按类似规则评分。
如:文件改名题目的自动评卷部分程序:
文件移动题目的自动评卷部分程序:
五、总结
VB简单易学但功能强大。利用API函数可以实现多种复杂的功能。上文中的文件操作题也可以使用API函数加以解决, 不过编程复杂, 容易出错, 利用FSO更加简单。
参考文献
[1]、Windows API开发详解:函数、接口、编程实例[M].范文庆编著.北京:人民邮电出版社, 2011
Word操作考核自动评分系统 篇3
1 技术基础
Office可以通过VBA的宏录制功能, 分析Word文档中对象的文档、表格、单元格与文字等相关属性。通过认真细致的研究这些对象模型和属性, 可以快速掌握对象属性的相关信息, 以及对象的获取方法和数据类型, 对于涉及到的Word对象还可以通过查询VBA的帮助文件, 进一步具体深入了解对象的方法、属性, 满足设计需求, 并将这些信息应用于自动评分系统中。
Word对象模型中含有多个对象, 经常设置的对象是文字、段落、表格、图形图像、页面等, 自动评分系统主要是对这些对象和属性的操作判断。如Document对象表示引用的文档, Active Document属性是引用处于活动状态的文档, Paragraph对象表示某一段落, Range对象引用文档中的某一连续区域, 可以利用With…End With、If语句调用Ative Document.Paragraphs (索引号) .Range对象来判断第几段文档中字体、字号、字型等属性的设置情况。Word中的图片对象有Inline Shape和Shape两种, Inline Shape为嵌入式的艺术字和嵌入式图片, Shape对象为文本框、自定义图形以及浮动型图片和浮动型艺术字。利用For Each语句对文档中的图形图像进行循环判断操作, 需要使用Shapes对象, 每个Shape对象代表图形层中的一个对象, 诸如自选图形、任意多边形、OLE对象或图片等, 可以利用Shapes (index) 返回单独的Shape对象。Shapes集合不包含Inline Shape对象, 艺术字对象被视为字符。如对某个艺术字的内容进行判断则可使用Active Document.Content.Inline Shape (1) .Text Effet.Text调用艺术字的文字属性。利用Page Setup对象对文档页面进行左边距、下边距、纸张大小等属性设置判断。
2 Word实现自动评分
为了使学生在操作过程中及时发现操作中出现的问题, 教师通过教学软件统一发布Word操作文件, 操作文件包括操作文字内容、要求以及评分过程。教师可通过录制宏命令录制操作过程, 对过程进行修改, 删除多余代码, 添加判断语句。关键步骤算法如下:
1) 进行逐条比对。
2) 判断成功记分, fenshu=fenshu+分值, 进行下一条比对, 不成功, chuowu=chuowu+错误信息+“/n”, 再进行下一条比对。
3) 比对结束, 则将分数和错误信息添加到文本框, 展示给学生。
3 自动评分系统的实现算法及部分代码
Word操作自动评分采用结果型评分, 即不考虑操作过程, 仅判断操作后的文档中涉及的Word对象的结果状态是否与试题要求一致, 进而对操作评分。其中最关键的技术是打开相应试题文档、对试题相关的Word对象属性和方法进行提取和转换。
3.1 声明全局变量:
Public wenjian As Object‘word文件对象
Public fengshu As Integer, linshi As Integer, chuowu As String‘计分和错误信息保存变量。
3.2 创建计分过程
在excel中创建评分按钮, 批量获取学生操作结果。首先, 通过获取学生作业文件名, 返回学生信息, 统计学生作业文件数, 循环打开学生文件, 并调用评分过程, 最终将每个学生的成绩和评分结果计入excel单元格中, 评分结束后, 释放对象, 关闭word对象。
4 结束语
对学生的作业利用评分系统, 可通过在Word文档中添加评分按钮, 当堂得出结论, 学生根据反馈进行及时更正, 同时学生通过教学软件将作业提交给老师, 老师也可进行批量批改, 形成评分报表, 提高了工作效率。通过对本系统的改进和完善, 可逐步实现Excel和Power Point的自动评分操作。
摘要:为解决考查学生Word上机操作技能评分问题, 设计了Word操作考核自动评分系统。系统功能包括自动评分、调用评分过程、自动显示操作结果、判断出错原因等。
关键词:自动评分,Word,Office,对象
参考文献
[1]邓秀兰, 李广振.基于VBA技术的Word自动判卷系统的实现[J].计算机与现代化, 2012 (9) :219-221.
[2]鞠阳.用Word宏指令开发计算机考试系统[J].电脑学习, 2011 (2) :14-15.
[3]邵小兵, 廖慧芬.Office实践操作自动评分的实现[J].计算机与现代化, 2005 (12) :135-136.
[4]廖恩扬.面向对象对Office文档操作自动评分[J].计算机应用, 2002, 22 (8) :119-120.
填空题命题规则与评分算法 篇4
在线考试系统中,对填空题评分主要有三种方式:① 人工评分;② 把填空题作为客观题自动评分,将考生答案与标准答案进行比较,如果精确匹配则计分,否则不计分;③ 把填空题作为主观题自动评分,根据考生答案与标准答案的贴近度或语句相似度给出不同评分结果。采用方式①,既耗费教师大量时间精力,也难以做到客观公正;采用方式②,那些与标准答案含义相近的考生答案无法得到公正评价,其弊端随着考试系统应用范围的扩大越来越明显[1];采用方式③,不仅耗时、复杂,而且准确性不高[2,3]。
填空题是一种很常见的题型,其答案既有客观性,也有主观性。如果不支持填空题,或者对填空题采用人工评分,考试系统的功能将大打折扣。对填空题采用计算机自动评分,既不能像对客观题评分那样要求精确匹配,也没有必要像对主观题评分那样给出不同结果。为了快速合理、准确有效地进行填空题自动评分,本文在研究相关文献的基础上分析填空题特点,给出填空题命题规则与评分算法。
1 研究现状
国内已有学者对填空题自动评分进行专题研究,胡凯等人[4]提出,教师先为每个空格建立标准答案同义词库,其中包含多个“答案因子”,对每个“答案因子”可以赋予不同的分值。计算机自动评分时,将考生答案与各个“答案因子”进行匹配,得到对应的相似度,其中相似度最大的“答案因子”所对应的分值就是该空格得分。
针对填空题答案的复杂多变,梁振球[5]提出,把一道填空题加入题库的同时,列出并保存该题的评分信息,包括每道题各个空格答案的各种关键字及分值,每个答案出现的次序是固定还是任意,评分策略是精确匹配还是模糊匹配等,需要建立的评分信息数组共有5个。
史娟[6]建立了录入填空题评分关键字的具体规则,采用不同符号分别标记一道题是否有多个空格,以及评分关键字之间的不同逻辑关系。计算机自动评分时,一道题有多个空格的,要求相应的评分关键字分别匹配才能得分;或具有逻辑或关系的评分关键字只要有一个匹配即可得分;或具有逻辑与关系的评分关键字必须全部匹配才能得分。
杨素锦等[7]提出,将填空题分为答案位置相对固定和答案位置不固定两种情况,在试题属性中进行标识。自动批改时,依据此属性建立只存放不同考生答案的数组,使得相同考生答案不重复参与评分,从而将两种情况归一。自动批改分两次进行,第一次在学生提交答案时由系统自动完成,第二次在考试结束、教师调整标准答案之后进行。
综观以上研究,胡凯等人基于标准答案同义词库评分,梁振球基于评分信息数组评分,这两种评分方法的处理流程都比较复杂,前期工作量较大,可操作性不强。其中,胡凯等人默认一个空格可以有多种评分结果,梁振球默认每个空格评分策略可以不同,二者共同默认每个空格可以具有不同分值。然而,在通用考试实践中,这些默认条件并不是必须的;史娟通过建立标准答案描述规则,直接基于标准答案评分,简捷、实用,但未能考虑答案位置可以互换的情况;杨素锦等人针对答案位置可以互换的情况,采用数组排除相同考生答案,避免了重复评分,但两次批改的做法现实意义不大。
在信息化条件下,要对填空题自动评分,单纯依靠设计评分算法是很难奏效的。只有从通用考试的现实需求出发,针对填空题所具有的特点,以快速合理、准确有效地自动评分为目标,建立填空题试题编制规则和标准答案描述规则,在此基础上确定评分策略,设计评分算法,才能给出整体解决方案。
2 命题规则
填空题命题规则包括试题编制规则与标准答案描述规则,前者是快速合理自动评分的基础,后者是准确有效自动评分的关键。
2.1 填空题的特点
通用考试中,填空题一般具有如下特点:
(1) 一题多空
一道填空题有多个空格,以适应考核内容的需要。
(2) 答案多值
一个空格的答案有多种表述方法,不具有唯一性。这是由于考核知识点具有表述的多样性,而考生思维方式和表达水平存在个体差异所致。
(3) 答案并列
一题多空时,相邻空格的答案是并列关系,位置可以互换。答案并列由考核知识点之间的逻辑并列关系决定,表述这些知识点不必区分先后顺序。
此外,考生在线解答填空题还容易发生输入错误,如在答案中输入多余空白,混淆中文和英文标点符号、全角和半角字符等[8]。
2.2 试题编制规则
借鉴通用考试中分类出题、同类试题分值固定的做法[9],根据填空题特点和自动评分要求,确定试题编制规则如下:
(1) 空格同分值
在同类填空题中,每个空格具有相同分值,以简化评分流程,快速地自动评分。空格具有不同分值的填空题可以置于不同类别中。
(2) 答案无标点
答案中不含标点符号,以减少考生输入错误,合理地自动评分。
(3) 答案无复合
一题多空时,不允许出现多个空格答案并列,同时又有空格答案多值的复合情形,以降低评分难度,准确地自动评分。
实际命题时,如果一道试题中有多个空格,教师必须缜密分析考核知识点之间是否有逻辑并列关系,各个知识点是否有多种表述方法。
例1:计算机程序的三种基本结构为_______、________和________。
此例答案是“顺序”、“选择”、“循环”,三者位置可以互换,即三个空格答案并列。因为选择结构还可以叫做分支结构或条件结构,所以其中有一个空格答案多值。对于这种复合情形,计算机难以自动评分。关于同一知识点的以下试题符合答案无复合规则:
例2:计算机程序的三种基本结构为顺序、________和循环。(仅出现答案多值情形)
例3:计算机程序的三种基本结构为_______、选择和________。(仅出现答案并列情形)
2.3 标准答案描述规则
解答填空题时,考生总是根据个人对考核知识点的理解程度和表述习惯给出答案。要准确有效地进行填空题自动评分,必须按照一定规则描述标准答案,该规则应具有简单性和一致性,便于实际应用。
(1) 使用核心词汇
为了简化标准答案,有效地自动评分,每个空格的标准答案应是与考核知识点模糊匹配的核心词汇。所谓核心词汇,可以理解为“凡是可以得分的考生答案中必须包含的词汇”。
(2) 使用竖线联结
当一个空格答案不唯一时,使用竖线“|”进行答案联结。具体规则是:如果一个空格答案多值,将多个答案联结在一起作为标准答案;如果相邻空格答案并列,将并列答案联结在一起作为每个空格的标准答案。
举例来说,解答例2时,考生输入“选择”、“选择结构”、“选择语句”、“分支结构”、“条件语句”等都可以得分,核心词汇分别是“选择”、“分支”和“条件”,因此其标准答案应描述为“选择|分支|条件”或其不同排列方式;解答例3时,两个核心词汇“顺序”与“循环”是并列关系,因此两个空格的标准答案都应描述为“顺序|循环”或“循环|顺序”。
3 评分算法
3.1 评分策略
通用考试中,对于填空题的每一个空格,答对则给分,不答或答错不给分。为了较好地满足通用考试的评分需求,确定评分策略如下:
(1) 进行混合匹配
遍历每一个空格,先判断考生答案与标准答案是否精确匹配,如果不是精确匹配,再判断是否模糊匹配。
(2) 只取两种结果
对于每一个空格,只取两种评分结果,即要么得分,要么零分。
3.2 算法描述
此算法的实质是获取标准答案数组和考生答案数组,将填空题自动评分过程简化为两个数组对应元素的比对过程。
4 算法实现
4.1 答案数组的实现
(1) 考生答案数组的实现
编辑试题过程中,不论有多少道填空题,每道题有多少个空格,将所有空格按出现的先后顺序编号,也就是将试卷中用于接收填空题答案的所有文本框标记为一个数组,提交答卷时这些文本框的值就会以数组形式传输到考试服务器中。评分程序由交卷动作触发后,直接从内存中读取这个数组,并删除数组元素中的多余空白,就得到考生答案数组。
(2) 标准答案数组的实现
编辑答案过程中,将所有空格的标准答案按照空格出现的先后顺序依次输入后,存放到数据表的答案字段中,其中各个空格的标准答案之间用符号分隔。自动评分时,评分程序先从数据表中提取答案字段的值,并将其转化为数组,就得到标准答案数组。
4.2 自动评分的实现
(1) 关键问题的解决
有了答案数组,要实现自动评分还需要解决两个关键问题:一是如何确定并列空格,二是如何确定重复答案。
第一个问题中,并列空格可以根据标准答案描述规则确定:如果某个空格的标准答案与前一个空格的标准答案相同,那么该空格就是并列空格。
第二个问题中,首先要明确,填空题重复答案不能狭义地理解为完全相同的考生答案,而应广义地理解为包含相同核心词汇的考生答案。例如,在解答例2时,“选择”、“选择结构”、“选择语句”应看作重复答案。要确定重复答案,可以将已经与考生答案匹配过的标准答案保存到临时数组中,如果当前考生答案与临时数组中的元素模糊匹配,那么该考生答案就是重复答案。
(2) 自动评分的流程
如果考生答案与标准答案精确匹配,直接计分。在考生答案与标准答案模糊匹配的前提下,先判断是否并列空格,如果不是并列空格,计分,同时创建临时数组并存入已匹配的标准答案;如果是并列空格,再判断是否重复答案,如果不是重复答案,计分,并将已匹配的标准答案加入临时数组中。填空题自动评分流程可以用图1表示。
举例说明如下:例3中两个空格的标准答案都是“顺序|循环”,由于标准答案相同,所以第二个空格是并列空格。假定考生想碰运气分别输入“顺序语句”和“顺序结构”,这两个答案都与标准答案中的“顺序”模糊匹配。自动评分时,先对第一个空格的考生答案“顺序语句”计分,并创建临时数组,存入已匹配的标准答案“顺序”;再考察第二个空格的考生答案“顺序结构”,由于该答案与临时数组中的元素“顺序”模糊匹配,所以是重复答案,不计分。结束此例评分,对下一个空格评分时,由于标准答案不再是“顺序|循环”,所以该空格不是并列空格,评分程序将创建新的临时数组。
(3) 编码实现
假设每个空格分值为a,基于PHP语言实现该算法的代码如下:
5 测试结果与分析
为了检验运行效率与评分效果,将包含填空题自动评分模块的考试软件部署在CPU为Intel酷睿2双核E7400、内存为4G的服务器中进行了测试。测试用例中填空题部分共7道题20个空,每空1分,答案特点及评分结果如表1所示。
两个班共101人参加测试,考生点击[交卷]按钮即可看到得分,运行效率较为理想。人工逐一检查所下载的带批阅记录的考生答卷,发现有1个空格因标准答案描述不完备导致10人出现评分误差,误差率为(1/20)×(10/101)=0.5%。
测试结果表明,空格的标准答案越完备,自动评分越有效。因此,教师描述标准答案时必须尽量预测可能出现的各种表述方法。考试实践中,尽管命题时教师很难将每一个空格可能出现的所有正确答案都预测到,但是,考试时只要还没有考生交卷,教师都可以根据现场答题情况更新标准答案,使之更加完备。
6 结 语
模式匹配是在线考试系统中实现自动评分的常用技术,其中精确匹配常用于客观题评分,模糊匹配常用于主观题评分。本文采用混合匹配技术给出的填空题命题规则与评分算法,能够快速合理、准确有效地对一题多空、答案多值或并列的填空题进行自动评分,现已实际应用于本人所研发的开放式考试平台中。经过几十位教师命题,逾万名学生考试验证,该平台对填空题自动评分的结果与教师人工评分得出的成绩无显著差异,较好地满足了通用考试的现实需求。
摘要:填空题答案既有客观性,也有主观性。为了快速合理、准确有效地自动评分,研究了相关文献,讨论了填空题具有一题多空、答案多值及相邻答案可以互换位置等特点。提出空格同分值和答案无标点、无复合的试题编制规则,使用核心词汇和竖线联结的答案描述规则,以及采取混合匹配和两种结果的评分策略。设计并实现了填空题自动评分算法。经实际应用验证,能够满足通用考试的现实需求。
关键词:填空题,命题规则,评分算法,混合匹配,通用考试,自动评分
参考文献
[1]杜利峰,牛永洁.字符串相似度在自动评分系统中的应用[J].电子设计工程,2011,19(7):42-44.
[2]李佳林.在线考试系统中主观题自动阅卷的设计[J].中国教育技术装备,2008,22(24):113-114.
[3]丁卫平,邓伟,顾翔.基于Web智能阅卷考试系统的设计与实现[J].电子电气教学学报,2007,29(3):102-105.
[4]胡凯,吕文志,任传成.基于同义词库的自动阅卷系统的设计与实现[J].福建电脑,2006,23(5):118,124.
[5]梁振球.填空题自动评分系统的研究与实现[J].计算机系统应用,2007,16(2):109-111.
[6]史娟.考试系统中填空题自动评分的设计与实现[J].计算机应用与软件,2010,27(9):197-199.
[7]杨素锦,刘辛.在线考试系统中填空题测试模块的设计与实现[J].现代电子技术,2010,34(24):68-70.
[8]张永宾,陈培友,高太光.数据库原理与应用课程网上考试改革与探索[J].电脑开发与应用,2011,24(8):64-65.
操作题评分 篇5
1 评分表的设计
1.1 测试对象分析
本评分表的主要测试对象为昆明市卫生职业教育学院医学检验专业学生, 主要用于测试在显微镜技能实训后学生技能的掌握及运用情况。测试对象决定了评分表的适用范围, 定位了评分表的考查层次, 所以评分表主要以专业水准为要求, 符合临床实际需要。
1.2 设计理念
医学检验专业培养目标中明确要求培养的医学检验专业人才应具有临床检验、生化检验等基本知识和基本技能[1], 若要掌握众多的专业技能, 就需要熟练掌握最基础的技能。而显微镜的操作属于检验专业技能中最基础的一项内容, 多项检验专业技能都需要熟练运用这项操作, 因此评分表的设计主要围绕熟练应用该项技能的级别而设计。
1.3 评分条目的确定
评分条目主要依据显微镜使用标准步骤的操作分解、初学者在技能实训中的操作情况及检验专业的技能需求进行设定, 并通过征求专业人员意见及实践应用修改完成。
1.3.1 显微镜使用标准步骤的分解
本院医学检验专业显微镜室有50台上海优浦XSP-BM-6C双目显微镜, 依据该显微镜的使用说明书, 对操作步骤进行分解, 主要步骤为“打开光源、调节瞳距、放置标本、低倍镜调焦、高倍镜调焦、油镜调焦、收装显微镜”, 与此对应设计了“光源开关、标本放置、瞳距调节、低倍镜调焦、高倍镜调焦、油镜调焦、收装显微镜”等评分条目。
1.3.2 学生技能实际操作情况
在幻灯片标准教授、实物示教及操作示教后, 学生进行实际操作。依据操作中学生易出现的问题对设计条目进行补充, 增加了“光强度调节、特发情况处理”条目, 并总结了常见特发情况如“视野中有脏物、物像不清晰”等细则。
1.3.3 检验专业技能需求
在本专业的医学检验技能中, 要求检验工作者利用显微镜的专业技术主要有:血细胞计数、白细胞分类计数、血细胞形态学观察及各类临床标本的形态学观察、微生物的观察等。由于观察不同的标本显微镜所需放大倍数及视野光强度要求不同, 而且实际工作中经常要求以不同的放大倍数观察目标, 所以补充了“物镜选择、查找观察目标”条目。1.3.4条目的修改经过以上途径初拟了11条评分条目, 整理成评分表后, 笔者及相关专业人员进行了试用。经过试用, 采纳了专业人员的建议, 增加了“标本移动器使用”条目, 删除了“光源开关”条目, 并把“低倍镜调焦、高倍镜调焦、油镜调焦”设为子条目归属于“镜头调焦”条目。在测试中出现了一些其他特发情况, 所以增加了“视野光线不均匀、物像消失”条目。重新整理为9个条目后, 根据使用说明, 详细描述了评分细则。
1.4 分值的确定
依据层次分析, 先进行了成对比较优选矩阵[2]分析, 用权重系数公式, 计算9个条目的权重系数, 并按公式Wi=计算归一化权重系数[2], 依据归一化权重系数, 结合分值设定习惯, 最终设置条目分值, 结果见表1。
2 评分表的质量评价
评分表质量常用信度、效度、成绩的正态性分布指标来进行评价[3]。在实践中, 本研究通过检验评分表的信度及成绩的正态性分布, 对该评分表的质量进行了评价。
2.1 信度评价
利用该评分表对昆明市卫生职业教育学院2005级医学检验专业30名学生进行了毕业前显微镜使用技能评分, 评分教师均具有相应专业技术, 严格按照评分标准对12个子条目评分。评分数据输入Excel后进行处理, 得到每个子条目分值的方差及总分方差, 并按克朗巴赫α系数公式[2]a=计算出评分表内部一致性信度, 结果见表2。
一般要求0.6≤信度系数≤1, 所以结果显示评分表信度较好。
2.2 成绩正态分布检验 (见表3、图1、图2)
利用SPSS13.0统计软件, 对30名学生的成绩进行统计学描述, 包括成绩的最大值、最小值、平均值、峰度系数、偏态系数;通过Q-Q图法检验成绩的正态分布性, 散点分布围绕第一象限对角线散布, 符合正态分布特点[2]。
经过信度、正态性检验, 可以确认该评分表的质量能够满足教学要求。
3 意义
3.1 科学地评价学生的技能水平
显微镜的使用是医学检验专业技能中最基础的技能, 它关乎其他技能的掌握程度, 是合格检验工作者所必须掌握的一项技能。通过较为规范的操作流程设计出的显微镜使用技能评分表能很好地检验学生对该项技能的掌握程度, 提高学生的专业技能水平。
3.2 技能培训标准化
在较为规范地制订出了评分表后, 教师可以依据评分表条目的内容有重点地进行技能培训工作, 提高教学效率, 并使教学工作规范化, 教学目标明确化, 教学内容标准化。同时也可以将其作为检验教学效果的客观指标, 以利于提高教学资源的利用率[4]及教学质量。
参考文献
[1]卫生职业教育教学指导委员会.医学检验专业教学计划和教学大纲[M].北京:人民卫生出版社, 2007.
[2]方积乾.卫生统计学[M].第5版.北京:人民卫生出版社, 2004.
[3]万金凤.关于试卷质量分析要求[J].山西师范大学学报 (自然科学版) , 2006, 20 (1) :23.
操作题评分 篇6
关键词:考试系统,填空题,自动评分
0 引 言
随着计算机应用技术和网络技术的不断发展, 利用计算机考试正在逐渐取代传统的考试模式。考试系统具有随机组卷、考试时间控制规范、系统自动评分、有效防止作弊的优点;它实现了考试功能与教育评估和教育管理功能的高度整合与集成;使考务工作自动化, 保证出卷、考试和考生管理各阶段的正常有序, 使考试更趋于客观、合理和公证。尤其是计算机学科, 其知识体系不同于其他学科, 如果采用传统考试, 仅仅通过书面答题的方式进行考核, 就很难客观公正地考查学生对所学知识的掌握程度[1], 特别是对计算机应用能力的考核[2]。
目前的考试题型分两大类, 一类是标准化题型, 如选择题、判断题等;另一类是主观题, 如简答、论述题、操作题等。标准化题型的评分利用计算机来实现非常容易, 而对主观题的评分要用计算机来实现则非常困难。
目前大多数考试系统的题型仅有单选、多选、判断等客观题, 这是由于这些题型的答案是唯一的, 使用计算机能快速准确地实现自动评分。仅有少数考试系统支持填空题等客观试题, 但也只能对答案是唯一的试题进行评分, 但在实际应用中, 大部分的填空题会有多个答案, 而且同一个答案不同的人会有不同的表达方式, 仅仅以标准化的方式进行简单地比较, 显然是不准确的。极少数题库系统尝试把填空题按主观题的方式来评分, 但又存在耗时、复杂、准确性不高的情况。
由于填空题是很常见的一种题型, 因此, 如不能实现对答案复杂多样的填空题进行高准确度的自动评分, 考试系统的功能将大打折扣。
针对这一现状, 本人利用Visual Foxpro 9.0作为开发工具[5,6], 利用面向对象的程序设计方法[3,4], 开发了可以自动组卷、自动评分的计算机应用基础课考试系统。开发过程中把重点放在了主观题的自动评分技术上, 在系统的研究和实现过程中, 涉及了程序运行跟踪、软件测试等技术, 为主观题的自动评分问题提出了解决方案。
为了检测学生计算机操作能力的掌握程度, 本人在考试系统中设计了“基础知识” (选择题、判断题) 、“填空题”、“汉字录入”、“Word文档编辑”、“Excel表格制作”等六种以考核学生动手能力为主的试题类型。本文主要介绍了“填空题”的自动评分技术。
1 填空题自动评分算法的思路
填空题带有一定的主观性, 学生的答案不一定要和正确答案完全相同才是正确的, 只要能回答出正确的含义就应该给分, 因此在录入填空时, 增加了评分关键字的录入, 目的是为了能更灵活地对填空题进行评分。在基础知识题库中, 评分关键字被存放在试题库中存放评分关键字的字段中, 录入评分关键字时需要设定一定的评分规则, 本考试系统中的具体规则如下:
(1) 如果评分关键字字段内容为空, 则说明此题评分时要求学生答案与正确答案全都相同时才可以得分。
(2) 如果评分关键字中含有“、”号, 说明此题有多个空, 而且每个空有不同的评分依据, 评分时要求每个填空中的学生答案要满足相应的评分关键字, 如若满足则给出相应的分数, 如若不满足, 则相应的空不给分。
如果评分关键字中没有“、”号, 则表示, 每一个空都使用相同有评分关键字进行评分。
(3) 如果评分关键字中含有“;”号, 说明评分关键字中的条件只要满足某一项即可以得分, “;”号相当于逻辑或的关系。
(4) 如果评分关键字中含有“, ”号, 说明评分关键字中的条件必须全部满足, 此空才能得分, “, ”号相当于逻辑与的关系。
下面给出具体的例子加以说明, 例如试题:一个完整的计算机系统包括____ 和____ 。它的评分关键字是“硬件系统;软件系统”, 这表明在这道题中的两个空都使用“硬件系统;软件系统”作为评分关键字, 这两个空中的学生答案只要满足硬件系统或软件系统这个关键字中的其一, 即“硬件系统”或“软件系统”就可以得到相应的分数。
试题:每个汉字机内码至少占______个字节, 每个字节最高位为______。 它的评分关键字是“2;两;二、1”, 关键字中间有“、”号分隔, 说明此题中的两个空各有自己的匹配关键字, 第一空中的学生答案只要满足符合2、两或二, 其中的一项即可得分, 第二个空中的学生答案是1才可以得分。
在进行评分时, 自动评分模块先从数据库中读取这些信息, 由于标准答案信息要与每个学生的答案进行比较, 即要循环重复使用, 为提高速度先以数组的形式装入内存, 再与每个考生填写的实际答案按照相关参数自动进行匹配及计算分数, 即可实现准确评分。教师对答案的评分条件设定得越细致, 则自动评分的效果就越好。
2 算法设计
步骤一 提取评分关键字
由于参考答案要反复与各考生的答案进行比较, 故应预先建立相关的信息数组, 包括答案关键词数组、关键词应出现的位置信息数组、关键词对应的得分比例数组、关键词对应的评分状态数组、关键词对应的匹配模式数组, 然后按照预定的评分规划提取出每个填空的评分关键字。
这样做的好处是把评分过程变为简单的顺序比较, 无须进行复杂的遍历。
步骤二 根据提取的关键字, 进行答案匹配对比
题目要求考生答案出现的次序不能颠倒, 只要考生的答案不在正确的位置上, 即认为是错误的。同时在比较答案后把评分状态标记为已评, 则该位置上的学生答案不可再参与下面的位置不定的答案匹配, 以防有的学生不懂而全部填上一个答案来碰运气。
评分时要依据已设定的评分规则, 即:
如果评分关键字中含有“;”号, 说明评分关键字中的条件只要满足某一项即可以得分;如果评分关键字中含有“, ”号, 说明评分关键字中的条件必须全部满足, 此空才能得分;如果关键字内容为空, 则说明此题评分时要求学生答案与正确答案全都相同时才可以得分。
步骤三 计算该题成绩, 准备对下一题进行评分
循环结束后, 即完成了这道题的评分过程, 应立即计算出该题的得分值, 即可得到考生在这一道填空题的实际得分并保存到数据库中。接着读取下一道填空题的答案并跳转到步骤一。
算法的流程如图1所示。
系统实现的关键代码如下:
if tkstlx=″填空题″
xx=tkxxs
wz=0
****取出关键词
gjc=″-″
gjci=ALLTRIM (tkdaa)
′gjci=′+gjci
IF !ISBLANK (gjci) &&用“、”号分隔多个题的关键词
IF ′、′ $ gjci
FOR m=1 TO 6
wzh=ATCC (′、′, ″&gjci″, m)
IF wzh!=0
ws=wzh
gjc (m) =SUBSTRC (gjci, wz+1, ws-wz-1)
wz=ws
ELSE
gjc (m) =SUBSTRC (gjci, wz+1)
exit
endif
ENDFOR
ELSE
FOR s=1 TO xx &&只有一种关键词
gjc (s) =gjci
ENDFOR
ENDIF
ELSE
gjc1=″-″ &&没有关键词
ENDIF
***填空题给分
IF ISBLANK (tkdaa) &&没有关键词必须全部匹配
if UPPER (ALLTRIM (&tkxsda) ) =UPPER (alltrim (&tkzqda) )
tktfs=tktfs+1
IF tkzsd=″基础知识″
jc=jc+1
ENDIF
IF tkzsd=″windows″
wi=wi+1
endif
IF tkzsd=″word″
wo=wo+1
endif
IF tkzsd=″excel″
ex=ex+1
endif
endif
ELSE &&有关键词
wz=0
wzh=0
gjc1=″-″
gjci=gjc (w) && W是选项
IF ′, ′ $ gjc (w) &&取出逗号分隔的关键词, 逗号是与的关系, 都要匹配
FOR k3=1 TO 6
wzh=atcc (′, ′, gjci, k3)
IF wzh!=0
ws=wzh
gjc1 (k3) =SUBSTRC (gjci, wz+1, ws-wz-1)
wz=ws
ELSE
gjc1 (k3) =SUBSTRC (gjci, wz+1)
sl=k3 &&取出逗号分隔的关键词的数量
EXIT
endif
ENDFOR
IF ′;′ $ gjc (w) &&取出分号分隔的关键词, 分号是与的关系, 有一个匹配即可
FOR k2=1 TO 6
wzh=atcc (′;′, gjci, k2)
IF wzh!=0
ws=wzh
gjc1 (k2) =SUBSTRC (gjci, wz+1, ws-wz-1)
wz=ws
ELSE
gjc1 (k2) =SUBSTRC (gjci, wz+1)
sl=k2 &&分号分隔的关键词的数量
EXIT
endif
ENDFOR
IF ′;′ $ gjc (w) =.f. AND ′, ′ $ gjc (w) =.f. &&没有分号和逗号, 表示只有一个关键词
gjc1 (1) =gjc (w)
IF UPPER (gjc1 (1) ) $UPPER (alltrim (&tkxsda) )
tktfs=tktfs+1
IF tkzsd=″基础知识″
jc=jc+1
ENDIF
IF tkzsd=″windows″
wi=wi+1
endif
IF tkzsd=″word″
wo=wo+1
endif
IF tkzsd=″excel″
ex=ex+1
endif
ENDIF
Endif
endif
3 应用效果分析
在填空题自动评分模块调试通过后, 为了检查实际的评分效果及运行效率, 进行了上机测试, 这次测试中填空题部分共20个空, 测试人数为50人。 在整体运行效率上较为理想, 而且用自动评分的方法得出的成绩与教师人工评分得出的成绩误差率仅为5%, 可见该自动评分模块较好地实现了对答案复杂多样的填空题进行高准确度的自动评分。
4 总 结
通过给出各种不同的评分要求, 对不同的学生答案进行验证, 本填空题自动评分系统均可进行高准确度的自动评分, 证明该自动评分是可靠的, 可以适合各种复杂的多答案多可能性的填空题自动评分的需要, 比现行大多数系统只能对单一的答案进行简单的比较评分是一大进步。
经过实际验证, 将该评分算法应用于Windows基础操作题的自动评分中也可以实现高效、准确的自动评分效果。
参考文献
[1]李春满, 易德成.通用考试系统开放题库与组卷评卷算法研究[J].计算机工程与设计, 2005 (10) :2743-2755.
[2]邓又明, 刘庆红, 董光.试题库管理系统的分析与设计[J].现代情报, 2005 (4) :157-158.
[3]臧铁刚, 冷晟, 钱晓明, 等.软件工程[M].中国铁道出版社, 2007.
[4]Timothy C Lethbridge Robert langaniere.面向对象软件工程[M].机械工业出版社, 2001.
[5]杨国清.中文Visual FoxPro9.0数据库应用与开发教程[M].研究出版社, 2008.
操作题评分 篇7
关键词:Visual Basic,考试系统,基本操作题目,工程文件,窗体文件
1 概述
计算机无纸化考试[1]现已在各个领域中得到广泛的应用,在整个无纸化考试系统中评分子系统是整个系统中最关键,也是难度最大的一部分内容,系统要快速的检测到考生的答题信息,根据标准答案进行评分,鞍山师范学院计算中心已将所有的计算机公共课程采用了无纸化考试,我就《Visual Basic程序设计》[2]考试系统中的基本操作题目的评分做如下个人阐述。
2 基本操作题目
本模块主要测试学生对《Visual Basic程序设计》课程中最基本操作题目掌握情况,根据考试大纲的要求,通过对本门课程的分析,我们将基本操作题分为以下几大类型:
新建工程、保存工程、添加窗体。
窗体相关属性的设置。
控件相关属性的设置。
简单事件过程代码。
3 VB文件特点
3.1 VB工程文件的特点
我们打开一个VB工程文件看看该工程文件的内容如下:
在这里我们就可以看出在工程文件中记载着常见的一些工程数据,如:工程文件的名称,启动窗体,工程文件的类型等。
3.2 VB窗体文件的特点
我们打开一个窗体文件看看该窗体文件的特点
在这里我们可以看出该窗体文件中记载着窗体及其上的控件的相关信息,包括窗体的相关属性、控件的相关属性、窗体的事件过程和控件的事件过程等。
4 基本操作题目的评分
基本操作题目主要涉及到学生对工程文件的创建、窗体的创建和添加、工程文件的保存、窗体文件的保存、窗体和相应控件的属性设置。通过上面我们知道工程文件和窗体文件的相应数据都保存在相应的文件中,只要我们打开相应的文件就可以找到我们所要的数据。
4.1 判断文件是否存在
对于工程文件和窗体文件是否建立我们可以通过文件查找函数直接判断出来。
判断文件是否存在的函数Find File(Filename$)[3]可以返回相应的逻辑值如果为真则表明文件存在,如果为假则文件不存在。
4.2 窗体和控件属性的判断
对于窗体和相应控件属性的设置是否正确,我们可以通过打开相应的窗体文件通过字符串的查找就可以得到准确的值,通过判断我们就可以知道学生所做题目是否正确。
如:要求将窗体的标题(Caption)设置为“窗体标题栏”,给窗体添加图标(图标文件在考生文件夹中),窗体文件名称为“myform.frm”。
对于这样的题目的评分,我们做如下分析:
将窗体标题设置为“窗体标题栏”,只要修改窗体的“Caption”属性,给窗体添加图标,只要修改窗体的“Icon”属性。
将上面两个属性修改完毕后,将文件存盘,其中窗体文件的名称为“myform.frm”。
当“myform.frm”生成完毕后,我们打开他看一看他的内容如下:
通过上面我们发现,考生所做的答案即在其中,我们可以直接打开相应的窗体文件,找到指定的行,判断其是否正确。
4.3 简单事件过程代码
对于简单事件过程代码的评分方法与窗体和控件属性的评分方法一致,在这里不另做分析。
参考文献
[1]张江,黄迪明,廖建明.通用考试系统的设计与实现[J].电子科技大学学报,2001,30(2):157-161.
[2](美)Harvey M.Deitel等.Visual Basic 6大学教程[M].北京:电子工业出版社,2003.