基于Flash的智能题库系统开发

更新时间:2024-02-19 作者:用户投稿原创标记本站原创 点赞:3644 浏览:10074

摘 要:随着互联网与移动设备的不断发展,移动学习已成为一大亮点,课堂教学已经无法满足学生需求.然而,传统的远程教学和网络多媒体课件,存在诸多不足,如教材搬家现象、不宜修改、无法适应复杂的课堂教学,不能很好地实现个性化交互式的学习.针对这些情况,运用Flash的AS3代码和组件技术设计模块化、积件化课件的思想,开发了一个智能题库系统.实践表明,这一种基于流媒体技术的教学系统不仅组合方便、调用灵活、播放流畅,而且交互性强,适合学生自主学习.

关 键 词:Flash;XML;MOOC;智能题库;交互式

中图分类号:TP3文献标识码:A文章编号:1009-3044(2014)19-4472-04

DevelopmentofIntellectualTest-baseSystemBasedonFlash

LVGuang-jin1,RUITing-xian2,YUWei-guang1,HEShi-chan1

(1.DepartmentofInformationManagement,ZhejiangCollegeofShanghaiUniversityofFinanceandEconomics,Jinhua321015,China;2.CollegeofInformationManagementandEngineering,ShanghaiUniversityofFinanceandEconomics,Shanghai200433,China)

Abstract:WithcontinuousdevelopmentoftheInterandmobilefacilities,classroomteachinghaailedtomeetthestudent’sneeds;instead,mobilelearninghasgraduallygainedpopularity.However,therearemanydisadvantagesoftraditionaldistanceeducationandworkmultimediacourseware,suchasthemoveoftextbooks,inconvenienceofrevision,beingunabletoadjusttoplicatedclassroomteaching,not-so-goodinteractiveandpersonalizedstudy.Therefore,itdevelopsanintellectualtest-basesystem,usingAS3codeofFlashandtheconceptofmodularizationandintegrablewareinmoduletechnicaldesign.Itisconcludedthoughpracticethatitiitforaninitiativestudyforitsconvenientbination,flexibletraner,fluentplayingandgoodinteraction.

Keywords:flash;XML;MOOC;intellectualtest-base;interactive

1概述

多媒体网络教学与开放课程已经发展了多年,虽然弥补了传统教学的部分不足,创新了教学形式,但是并没有得到跨越式的发展.随着互联网技术与移动学习设备的不断发展,移动学习、泛在学习等应用正进一步改变着远程教育模式[1].学生对学习的方法与途径发生了巨大变化,师生之间面对面的课堂教学已经很难满足学生的学习现状与学习需求.

从2012年起,开放课程出现了重大的突破,即出现了大规模在线开放课程[2-4](MOOC,MassiveOpenOnlineCourse).MOOC作为一种新兴的教育模式,它更加注重教学的互动.这种开放式的授课,主要是以视频教学录像为主,每一个视频的长度不等,有些视频甚至被切割成小于10分钟的“微课程”[2],但它有一个完整的知识点,有白板演示和教师讲解.MOOC非常注重互动,在视频中间还会穿插各种小测试,用以检验学生对所学课程的掌握情况,教师和学生还可以在论坛中进行交互问答.MOOC具有极大的优点[3-4],如名师教学、资源丰富、费用低廉、自主学习、不受时空限制等等.

MOOC的出现给大学的教学带来了巨大的冲击,但更多的是机遇,一线教师可以充分学习与借鉴MOOC的成功经验,开发出更优秀的多媒体课件、微课程进行辅助教学,尤其是可以将MOOC中的小测验部分设计得更优秀、更实用、交互性更强.

因此,该文分析了Flash开发课件的优势,提出了运用Flash的组件技术和AS代码,开发一个智能题库系统[5]应用于教学.实践表明,这一种模式符合互联网时代下大学生的学习现状与学习需求,方便了学生利用碎片时间、利用各种移动终端(如手机、PDA、IPAD等)进行随时随地学习与互助.

2系统开发软件介绍

在设计软件的选取时,该文选用FlashCS5软件平台作为开发工具,是因为FlashCS5具有开发多媒体软件的优势,其中的ActionScript3.0(以下简称AS3)脚本编程功能非常强大,可以设计出各种交互应用.而且,使用Flash开发的课件小巧灵活、基于流媒体技术,在播放动画课件时感觉不到停顿,非常适合网络教学.FlashCS5具有丰富的第三方素材和类库,提供了17个UI组件,开发者通过修改组件的属性和行为等相关内容,就可以创建出符合个性需求的系统界面[6].组件技术非常适合开发题库系统,例如,运用RadioButton组件可以设计出单选题,运用CheckBox设计多选题,利用List或TileList组件设计多项列表,运用TextArea组件设计问答题等.

AS3中使用LoaderInfo类和Loader类来处理预加载过程,采用组件调用的技术,负责对外部文本文件、图片文件、可执行文件、其它形式的课件灵活调用.因此,FlashCS5对外部答案、解析文件、重要知识课件的调用容易实现.

FlashCS5支持XML技术.如果教师或学生在使用课件时有一些问题和建议,可以利用FileReference类存取本地文件,也可以结合XML技术结构化地存储课件中的一些动态信息[6],如学生的档案、成绩、管理内容等.

3系统设计思路

以往的Flash题库主要采用一帧一题的方式,即每一帧上运用了相应的组件设计一个题目,并设置了一个[下一题]的按钮.用户做完题目点选该按钮,系统使用Nextframe语句跳转到下一帧继续答题.这一种方式虽然直观,但是系统集成后容量较大,题库单一死板,而且不易修改,只有比较精通flash的教师才能修改.

因此,在本系统中,为了方便教师建立题库和及时更新题库,将考试题目设计成文本型文件存储在系统外,考试时系统运用Loadvariables和LoadvariablesNum命令调用文本文件的变量和内容.教师在设计与修改题库时,只需要打开文本编辑器(如写字板)即可实现试题库的增加、删除、修改等工作.学生输入相应的姓名和学号即可进入考试系统参加考试或自测.

之所以称为智能题库,是因为在本系统中,题库与考试系统界面分离,教师可以随时对试题库的内容进行增、删、改操作;系统在组卷时体现了智能化,运用随机函数在多套试题文件夹内任意跳转进行抽题与组卷,从而保证每次组卷的题目不一致;系统有智能检测功能,能够及时统计与评判考生的得分情况,考试结束时能够将考生测评情况写入XML文件.

4系统程序实现

4.1系统框架

智能题库系统框架如图1所示.

图1智能题库系统

4.2程序设计

4.2.1设计场景时间轴

如图2所示.系统共用了六个图层和四帧.第一帧标签命名为“设置”,第二帧标签命名为“载入”,第三帧标签命名为“答题”,第四帧标签命名为“结束”.各图层的名称从上到下依次为帧标签、动作脚本、成绩公布、答题、登录界面、背景.

图2智能题库系统设计场景时间轴

4.2.2设置帧的设计

设置帧也即第一帧,主要是设计登录界面.需要建立一个静态文本框,用于显示考试标题(如图3计算机应用一级考试);再建立两个静态文本框,分别显示着姓名和学号;两个输入文本框,分别用于输入姓名和学号,变量名分别为xm和xh;另有一个[进入]按钮,点按后进入第二帧开始载入题目,题目载入结束后自动进入第三帧开始答题.设置帧的程序代码如下.


varflag等于0;

varright等于0;

varwrong等于0;

varqnumber等于0;

vareof等于0;

tq等于1+Math.floor(Math.random()*10);

//随机取得10套题目中的某1套.

loadVariablesNum("text"+tq+"/questionN.txt",0);

an_begin.onRelease等于function()

{gotoAndPlay("载入");};

stop();

4.2.3载入帧的设计

载入帧实现载入外部题库的文本文件功能.程序代码如下.

eof等于0;

qnumber等于qnumber+1;//题目计数器

if(qnumber>totalQuestions)

{gotoAndStop("结束");}

else{curQuestions等于"第"+tq+"套题"+"(共"+totalQuestions+"题)";

loadVariablesNum("text"+tq+"/question"+qnumber+".txt",0);}

4.2.4答题帧的设计

答题帧的界面设计比较复杂.需要建立四个UI组件类中的RadioButton组件,在属性栏中,将它们的groupName都命名为group1,Label分别命名为A、B、C、D;再建立七个动态文本,从上到下依次将它们的变量名命名为:curQuestions、viewanswer、question、answerA、answerB、answerC、answerD,分别用于显示第几套题共几题、标准答案、题目内容、四个答案的内容.答题帧界面设计如图3所示.

图3答题帧界面设计

该帧程序代码如下.

question等于qnumber+"."+q;

//以下是针对[下一帧]按钮的代码

an_next.onRelease等于function(){

if(_root.group1.getValue()等于等于correctanswer&&flag等于等于0){right等于right+1;}

else{wrong等于wrong+1;}//如果答题正确并且没有查看过答案则加1分

output等于"";flag等于0;

gotoAndPlay("载入");};

//以下是针对[答案]按钮的代码

an_view.onRelease等于function(){output等于"正确答案是:"+correctanswer;flag等于1;};

//以下是针对[结束]按钮的代码

an_end.onRelease等于function(){

if(_root.group1.getValue()等于等于correctanswer&&flag等于等于0){right等于right+1;}

else{wrong等于wrong+1;};output等于"";flag等于0;

gotoAndPlay("结束");};stop();

4.2.5结束帧的设计

在结束帧上,需要建立四个动态文本框,它们的实例名分别命名为name、score、dotrue、dofalse,用于显示姓名、成绩、做对的题目数、做错的题目数.程序代码如下.

name.text等于xm.text;

cj等于int((right/totalQuestions)*100);

score.text等于"你的成绩是"+cj+"分";

dotrue.text等于"共做对了"+right+"题";

dofalse.text等于"做错了"+wrong+"题";

curQuestions等于"";

an_exit.onReleasefunction(){fand("quit",true);};

stop();

4.2.6外部题库的建立

为了方便教师编辑与修改题库,必须把试题作为独立的文件放在系统的主程序之外[6].例如,在该系统中总共设计了十套试卷,分别放在十个文件夹test1至test10中.每套试卷又有一百个题目,教师将每个题目编写成一个文本文件,分别以question1.txt、question2.txt等question100.txt命名;例如,question1.txt文件中的内容是“q等于Ja是一种:&answer1等于程序设计语言&answer2等于计算机硬件设备&answer3等于数据库软件&answer4等于应用软件&correctanswer等于A&eof等于1”.

在每个文件夹内还有一个questionN.txt文件,以记录题目总数,它的内容为“totalQuestions等于100&eof等于1”.如果教师要修改题库,只需修改这些文本文件即可.另外,必须注意在保存文本文件时,应该设置编码类型为“Unicode”,从而避免导入Flash系统时出现乱码.

5结束语

由于篇幅原因,关于考生登录信息验证、成绩保存等内容的设计不作描述,它需要结合XML的存取技术,具体涉及建立考生信息的XML文件、访问XML文件的值、运用Se()方法和FileReference类存取计算机本地文件,修改和更新XML文件的内容(姓名、成绩等).另外,在题库的设计中,从交互性的角度出发,还应该有填空题、是非题、多选题、连线题等,这些题型的设计并不难,但更多的用到了Flash中的UI组件和AS脚本的编写.

运用Flash进一步开发完善该系统,如增加了部分课件与视频作为答案解析和重点知识复习,在投入教学应用之后,学生对该系统的评价较高.一是学生对课堂上掌握不好的学习内容,能够运用手机、IPAD等移动手持设备随时随地学习,通过题库答案的解析文件和知识集锦巩固学习,增强了学习的趣味性,有效地提高了学习效益.二是提供智能化的在线测评与考试功能,交互功能强大,能及时将学习情况反馈给学习者.