毕业设计(论文)基于Flex的CAI课件设计与制作

上传人:仙*** 文档编号:80434869 上传时间:2022-04-25 格式:DOC 页数:26 大小:1.31MB
返回 下载 相关 举报
毕业设计(论文)基于Flex的CAI课件设计与制作_第1页
第1页 / 共26页
毕业设计(论文)基于Flex的CAI课件设计与制作_第2页
第2页 / 共26页
毕业设计(论文)基于Flex的CAI课件设计与制作_第3页
第3页 / 共26页
点击查看更多>>
资源描述
本科毕业设计说明书(论文) 第26页 共26页1 CAI概述随着计算机技术的发展,以多媒体技术和网络通讯技术为核心的现代教育技术,引起了人们的广泛关注。计算机辅助教学(CAI)是现代教育技术的重要内容,它被认为是继文字的出现、学校创立、活字印刷之后的第四次教育革命,随着教育改革的发展和社会信息化的推进,要求大力推广和普及计算机辅助教学1。1.1 CAI相关概念1.1.1 CAI及CAI课件简介计算机辅助教学(Computer Assisted Instruction简称CAI),是利用以计算机为中心的丰富的教学资源,改进传统教学模式,以人机交互对话方式学习,为教学提供一个逼真形象的教学环境2。CAI课件是根据教学目标,把特定的教学内容,包括教学目的、内容、实现教学活动的方法、教学的顺序、控制策略等,用计算机语言描述,经调试可运行的程序。其特点是,实现交互操作;提供丰富的资源,适应学习策略,能自测反馈。CAI课件设计依据现代教育思想,把教学设计、知识结构设计、交互界面设计、显示设计等多种设计,利用计算机综合设计、开发的过程3。1.1.2 CAI的历史发展与现状CAI的前身是机器教学,源于美国心理学家斯金纳(BFSkinner)1958年发表的教学机器。同年,教学机器理论被IBM公司沃斯顿研究中心应用于计算机上,并设计了世界上第一个计算机教学系统,标志着CAI的诞生4。后在美国政府及军事部门的支持,大批CAI项目被开发、应用。这些教学系统的设计思想完全超越了教学机器的限制,形成了智能化CAI。与此同时Logo程序语言的出现,标志着CAI另一个分支的形成将计算机用作认知工具,它的迸一步发展最终形成了今天作为生成学习环境(computer as learning environment)的计算机辅助教学思想。随着多媒体计算机的出现,CAI进一步发展。人机教育方式上,用图片、文字、声音、视频等多种形式表达教学信息;信息组织方式上,通过超文本技术,形成超媒体系统,能较好地适应学生的思维过程。随着Internet新兴发展,CAI产生了飞跃发展,进入到新的发展阶段。这时虚拟现实在教育中得到了应用,国外许多学校中进行了虚拟现实应用的实验,在建构主义学习理论的应用和多媒体、计算机网络的广泛使用等方面上取得了引人注目的效果。由于多媒体和Internet在教育中的广泛应用,CAI有效促进教育改革、提高教学质量。我国80年代初,开始CAI的研究和应用开展。1996年,我国成立“全国中小学计算机教育研究中心”对CAI的发展起到了巨大的推动作用5。90年代之后,随着计算机普及,CAI很快被多数学校接纳,在这之后与之相关的研究更加丰富。后来Internet在学校中的应用有了较大发展,2000年己有500多所高校、科研单位和中小学入网。CAI才真正开始起步发展。目前多媒体技术、网络通讯技术日趋成熟,现代信息技术迅速发展,信息化时代即将来临。世界各国政府都在积极采取措施,以适应信息化社会,而加强信息技术教育成为共识。各国都在加强本国的信息技术教育,我国政府也认在采取有效措施。教育部作出了“从2001年起用5到10年左右时间,在全国中小学基本普及信息技术教育,全面实施校校通工程,以信息化带动教育的现代化,努力实现基础教育的跨越式发展”的决定6。在国家的教育政策支持下,学校设备的不断完善、教师培训的广泛开展,多媒体技术与学科正在逐步整合。加强了列CAI软件的开发和管理,包括对CAI软件的规范化和评价工作。CAI在学方面的应用也越来越深入,呈现了良好的发展势头。1.2 CAI课件设计分析1.2.1 CAI课件的模式课件模式反映了利用计算机进行教学活动时,完成各个教学子目标所表达教学内容的交互方式。合理地选择模式,可使制作出的课件质量及应用在教学上的效果都得到提高。常用的7种模式:操练与练习、单元指导、游戏智力、模拟观察、发现学习、问题求解、辅助测试7。无论何种类型的课件, 都是教学内容与教学处理策略两大类信息的有机结合。具体讲,课件包括:向学习者提示的各种教学信息;用于对学习过程进行诊断、评价、处方和学习引导的各种信息和信息处理;为了提高学习积极性,制造学习动机,用于强化学习刺激的学习评价信息;用于更新学习数据、实现学习过程控制的教学策略和学习过程的控制方法。1.2.2 CAI课件的设计流程CAI课件是科学、艺术、技术相结合的产物,其设计与制作涉及到多种学科的知识和技能,一般由课程专家、教学设计人员、心理学家,有经验的学科教师、教育科研人员、美术人员、软件设计人员,有时还需要音乐工作者、摄录像人员等共同参加,组成课件开发小组8。CAI课件的开发过程,并不是简单的课堂搬家、文字教材的翻版和各种媒体的汇集,一个好的课件是要通过课件的整体策划和编制,能映射出设计者的教学思维过程,以学生的学习过程为中心,运用计算机的特殊功能,体现出对教学辅助的呈现要素、动机要素、过程要素、互动要素。课件的制作程序:(1) 设计课件的系统结构:(a) 课件标题要简炼,导言要阐明教学目标,呈现课件基本结构;(b) 根据课件的主要框架和教学目的,确定课件的菜单及实表达教学内容;(c) 将教学内容划分成若干个知识单元,每个单元所达到的教学目标。(2) 脚本的编写:CAI课件要在教材内容中加入声音和画面,明确主题、素材美观、生动直观、层次分明,文字稿本的画面要具体、有可视性、解说词正确,既要通俗易懂又要精练概括。脚本的编写就是重新再次创作、再加工和再组织教学内容;对教学内容进行分解;通过创意和构想,确定课件设计的最佳方案。(3) 素材的采集:包括文字、图形、动画、声音等,并把素材制作成计算机能使用的格式文件保存。(4) 课件的创作:一般可运用多媒体创作工具,其特点是方便、灵活、操作简单或结合程序设计语言编程创作。(5) 课件调试:可以检查以下几点:能否从制作电脑中移到其他电脑上使用;能否在不同环境的多台电脑上运行;课件通过投影仪投在屏幕上,颜色、线条和图形会失真,文字大小也要变化,应注意调整。1.2.3 制作课件平台的选择目前CAI课件开发技术落后,系统设计不合理,开发过程多少都存在一些问题:可复用性低,大部分课件的开发技并不支持面向对象开发方法,或提供较低级的支持,导致程序代码的可复用性低;可维护性差,CAI课件学习内容规模庞大,运行环境复杂,大部分课件开发不支持面向对象,同时缺少软件工程思想和方法的应用,因此维护困难;开发成本高,CAI课件大多为针对具体教学内容的一次性开发9。课件需求增加和交互性提高,其开发周期就越长,成本也越高;界面呆板,互动性交互性不强,不能满足学生自主学习的要求,而且功能较单一,对学生主动学习的吸引力不够。寻求新的技术解决方案解决CAI课件存在的问题是课件开发者们亟待解决的重要问题。而随着富互联网应用(RIA,Rich Internet Applications)的发展,各种RIA技术的不断出现,为CAI课件的开发提供了有效可行的技术路线和解决方案。其中Adobe Flex作为用于开发RIA客户端的主流技术,其构建的RIA应用提供内容丰富的用户界面,且完全支持面向对象的开发,完全符合课件开发的需求。2 开发工具Flex简介2.1 Flex的编译原理Flex的编译过程就是通过把MXML文件转换成面向对象的AS类,然后结合程序中指定的图片和声音等一些信息,统一编译成二进制的SWF文件,当用户向服务器发出MXML文件的HTTP请求后,服务器执行如下步骤:将MXML文件编译成SWF文件;将编译后的SWF文件保存到服务器的缓存里;将SWF文件返回客户端。2.2 Flex框架(1) Flex框架等同于Flex类库,是ActionScript类的集合。(2) Flex框架是基于ActionScript类写成的,定义了空间,容器和管理器等,用于简化RIA的构建。(3) Flex可以应用于J2EE和.net平台,Flex开发者使用只管的基于XML的MXML来定义丰富的用户界面,由Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。(4) Flex中结合了标准的语言、各种扩展用户界面及数据组件。发人员能够快速构建具有丰富数据演示,强大客户端逻辑和集成多媒体的Flex应用程序。使用Flex构建的应用程序能够在常见的桌面平台上运行,支持对应用程序外观进行完全自定义,并支持各种连接到后端数据和服务的方法11。2.3 Flex元件2.3.1 MXML(1) MXML是flex中用来布局用户界面组件的一种XML语言,主要功能是用来描述屏幕布局,标识用户界面组件。(2) 这种标记语言还可以来声明程序中的非可视化组件,即描述各种效果、定义数据模型以及数据绑定与访问12。(3) MXML提供开发人员一个无需写代码的“所见即所得”的编程方式,用来快速构建Flex程序,甚至可以用来构建完整的应用程序。2.3.2 ActionScriptActionScript是Flex的脚本语言,与JavaScript相似的面向对象的编程语言,主要用来扩展RIA应用,能够实现Flex程序交互性、数据处理等功能13。(1) 虽然MXML标签很大程度地简化了屏幕布局和许多基本任务,但实际上都是通过AS脚本语言来实现的14。而且复杂功能只能通过AS语言来编写实现。(2) 单纯使用MXML和ActionScript都有可能构建出应用程序,但两者兼用是更为普遍和明智的15。(3) MXML适用于屏幕布局和基本数据功能16;AS最适合用于用户交互,复杂的数据功能,以及任何FLex类库中没有的数据功能。(4) ActionScript完全由Flex Player提供本地支持,并且运行不需要加载任何附加的库17。所有本地类都封装在“flash”包的最顶层包中。Flex在编译时,那些类都会包含在一个.swf文件中,同时,所有Flex框架的类都在“.mx”包中。2.4 Flex组成元素Flex表现层服务器包含Flex应用框架和Flex运行服务,而Flex框架又包含MXML描述语言和ActionScript程序语言和Flex类库;MXML是基于xml的标记语言,用于应用程序用户界面的布局;ActionScript定义客户逻辑和程序控制,是一种类似于javascript的墙类型面向对象语言,可用于定义事件监听器和处理器,设置或检索组件属性值,处理回调函数等;ActionScript是Flash Player可以理解的编程语言,也是Flex应用的基础18。ActionScript也是MXML的基础,可以完成MXML所不能完成的任务(如控制事件,控制错误,绑定数据对象到Flex控件,定义用户组件);Flex类库提供可扩展的组件(如容器和控件),数据绑定,行为以及其他功能,Flex类库则包含了Flex组件,管理器和行为控制19。2.5 Flex应用Flex的具有跨平台物性,而且还能像桌面应用程序一样有着较好的响应性与丰富性,器生成的.Swf文件能在Web广范传播,所以有着非常广的应用领域。目前已广泛应用于各种商业领域,如电子商务、游戏开发,Web应用服务,如网页站点建设,教学系统,企业业务流程自动化等方面20。3 操作系统进程控制实验的CAI设计本次CAI课件设计的主要目是用来辅助学习操作系统的进程的,CAI课件不仅有层次讲述了要学习的知识结构,还可以模拟进程的实验,形象逼真的展示了进程的几种基本状态。本章节主要讲述CAI课件的设计目的、相关素材的收集与编辑、课件设计的思路与步骤及课件功能的实现。3.1 知识单元的教学内容3.1.1 有关进程概念(1) 进程的定义与特征较典型的进程定义有:进程是程序的一次执行;进程是一个程序及其数据在处理机上顺序执行时所发生的活动;进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位;在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。其特征包括以下几点:(a) 结构特征:程序段、相关的数据段、PCB构成了进程实体。(b) 动态性:进程是进程实体的一次执行过程。(c) 并发性:多个进程实体,同存于内存中,能在一段时间内同时运行。(d) 独立性:独立运行和资源调度的基本单位。(e) 异步性:各自独立的、以不可预知的速度向前推进。(2) 进程的三种基本状态 进程执行是的间断性,决定了进程可能具有多种状态。实际上,运行中的进程有三种基本状态:(a) 就绪状态:进程一旦获得CPU就可以投入运行的状态。(b) 执行状态:进程获得CPU正在运行的状态。(c) 阻塞状态:进程由于等待资源或某个事件的发生而暂停执行的状态。进程的这三种状态在一定条件下可以相互转换。处于就绪状态的进程在分配处理机后就转为当前执行进程,即变成执行状态;如果正在执行的进程的分配的时间片被暂停执行,它便又回到就绪状态;如果以为某件事件使进程执行受阻,就进入了阻塞状态。(3) 进程控制块进程控制块(PCB,Process Control Black),是OS中最重要的记录型数据结构,PCB中记录了操作系统需要的、描述进程情况及控制进程运行所需的一切信息。在PCB中主要包括四个方面的信息:进程标识符;处理机状态;进程调度信息;进程控制信息。3.1.2 进程控制(1) 进程的创建(Creation of Process)首先申请空白PCB,其次为新进程分配资源,然后初始化进程控制块,最后将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。(2) 进程的阻塞与唤醒正在执行的进程,由于某事件无法继续工作,进程便调用阻塞原语block把自己阻塞;当阻塞进程期待的事件出现时,则由有关进程调用唤醒原语wakeup,等待唤醒。3.2 进程控制模拟实验的课件设计3.2.1 功能模块介绍与设计该模拟实验课件用超媒体结构,可以分为以下课件学习、进程管理、其他的辅助和对话框部分。(1) 课件学习部分主要利用媒体技术展示了本课程要学习掌握的知识结构。该模块要能够让学生可以按照教材的内容一步步学习进程相关的概念,了解进程特征,掌握进程的几种基本状态及他们之间的互相转换,并且通过学习能掌握进程创建(creat)、堵塞(block)、唤醒(wakep)的模拟实验操作方法。(2) 进程管理部分主要是进程的操作和对话框。该模块建立及操作进程,学生能够自己模拟创建进程,堵塞进程,唤醒进程和杀死进程的实验操作,更好掌握巩固所学知识。(3) 其他辅助部分还能显示当前执行进程、堵塞进程、子进程的各种信息:包括进程号、名称、运行时间、优先级。(4) 对话框主要有创建对话框、唤醒对话框和杀死对话框。对话框主要用来判断或提示来对学生如何正确操作窗口。3.2.2 素材收集与编辑按照上述的功能模块及其开发工具,通过多种途径(如互联网、课本教材、图书馆)收集关于开发工具相关具体使用方法、相关的教学课件,还有图片、动画,文字的编辑等。利用各种工具编辑所收集的素材。(1) 图片编辑:图片对课件非常重要,要做出好的课件就要做好图片编辑。分一下几步骤:(a) 根据课件选取的操作系统内容选择相关的图片,图片的内容要清晰简洁;(b) 要根据flex舞台大小、容大小、组件的大小以及各种组件的布局需要编辑相应的图片尺寸,调整图片的像素;(c) 还要根据视觉美观效果修改图片颜色、边框,还要转换flex能使用的图片格式;(d) 不要有太复杂图的片。(2) 声音与动画编辑,要选取与课件设计相关的声音与动画,要编剪其播放播放时间,还要调整格式能够让flex调用;在一用的时候要能够重复播放。(3) 文字的编辑,课件中包含大量的文字信息,是学生知识获取重要途径。设计时要注意文字表达的内容,简洁、突出重点。能够高效地把操作系统的进程管理知识点传授给学生;文字尽量简单,提纲为主,方便学生记忆;文字的内容逐步引入,随着讲课进度一次展示操作系统的知识结构。3.3 课件设计创作3.3.1 主页面布局与设计根据功能需要,分为学习巩固部分和进程实验两个部分。课件的整个页面用TabNavigator(导航标签)来显现各功能界面跳转,界面用Canvas(画板)主要用MXML标签语言和CSS样式语言来实现。学习巩固页面主要有学习课件和学习视频构成;进程实验部分由进程管理(执行进程、就休进程、阻塞进程、杀死进程)、查看子进程和说明窗口组成。而每个界面通过各自的按钮,单击触发功能。如图3.1所示:图3.1 主系统界面3.3.2 学习部分(1) 学习课件把制作好的与教学内容相关个教程视频在此页面展示(如图3.2所示),并能通过右下方控件块来控制教程视频的播放,可以暂停、后退、播放。这部分主要通过课件展现了教学内容,让学生自主学习操作系统的进程管理部分的内容。有结构有层次的展示了教学内容的结构,知识点及重点、难点,讲述了进程的相关概念,进程控制和进程的几种状态及进程状态。图3.2 主系统界面把已编辑好的素材有关学习的内容按照学习的进度,制作成一个个单独页面,在每个页面上单独编辑。通过控件来实现播放、跳转,并用flex将其转换成swf格式。跳转代码如下:= picName.pic.length()this.num = picName.length()-1;if(direction = prev)this.num-;if(this.num (2) 学习视频主要向学生播放一段有关操作系统讲座视频,活跃课堂气氛,生动形象地帮助学生学习巩固所学知识点。直接用已经编好的讲座视频。实现方法如下:3.3.3 用ActionScript定义相关行为、事件完成课件的学习部分制作后,在制作课件实验部分之前要先定义相关行为、动作、事件,为后面编写程序做准备。(1) 建立pcb区,用来盛放每个进程数组,部分代码如下:public class PCB /定义PCBpublic var Id:int;/用进程号public var Pid:int;/标识各进程的父子关系public var Name:String=new String();/进程名public var State:String=new String();/进程状态public var Priority:int;/优先级public var SumTime:int;/开始时间public var StartTime:String=new String();public function PCB()Name=NULL;Id=-1;State=NULL;Priority=-1;SumTime=0;StartTime=NULL;Pid=-1;(2) 定义进程数组,包括各进程的父子关系二维数组、所有进程数组、阻塞进程数组、就绪进程数组,部分代码如下:public var Matrix:Array=new Array();/用二维数组标识各进程的父子关系public var AllPCB:Array=new Array();/所有的进程public var BlockPCB:Array=new Array();/阻塞的进程public var ReadyPCB:Array=new Array();/就绪的进程(3) 定义各类操作事件,创建、阻塞、唤醒、杀死进程等基本操作,部分代码如下:/创建进程/public function Add(Id:int,pId:int,newPCB:PCB):voidMatrixpIdId=1;/将父进程数组的相应子进程位置上置为1AllPCB.push(Id:newPCB.Id,Name:newPCB.Name,Pid:newPCB.Pid,Priority:newPCB.Priority,StartTime:newPCB.StartTime,State:newPCB.State,SumTime:newPCB.SumTime,ProcessTime:0);/将进程放入所有进程的数组中ReadyPCB.push(Id:newPCB.Id,priority:newPCB.Priority);/移入就绪数组ReadyPCB.sortOn(priority,Array.NUMERIC);/就绪数组进程按优先级排序/阻塞进程/public function block():voidfor(var i:int=0;iAllPCB.length;i+)if(AllPCBi.Id=OperPCB)break;/找到执行进程在pcb数组中的位置AllPCBi.State=阻塞;BlockPCB.push(Id:OperPCB);/放入阻塞队列OperPCB=ReadyPCB.pop().Id;/优先级最高的弹出,并记录的进程id给执行进程for(i=0;iAllPCB.length;i+)if(AllPCBi.Id=OperPCB)break;/找到执行进程在pcb数组中的位置AllPCBi.State=执行;/唤醒进程/public function awake(Id:int):voidfor(var i:int=0;iAllPCB.length;i+)if(AllPCBi.Id=Id)/找到该进程AllPCBi.State=就绪;/从阻塞队列中删除,将Id进程从阻塞数组中剔除for(var p:int=0;pBlockPCB.length;p+)if(BlockPCBp.Id=Id)/在阻塞数组中找到指示Id进程的位置BlockPCB.splice(p,1);break;/加入就绪队列ReadyPCB.push(Id:Id,priority:AllPCBi.Priority);/进程放入就绪数组ReadyPCB.sortOn(priority,Array.NUMERIC);/进程按优先级排序break;/找到了就无需继续循环/杀死进程/public function kill(Id:int,Pid:int):voidMatrixPidId=0;/从其父进程的子进程中去除,将i进程从就绪数组中剔除for(var k:int=0;kReadyPCB.length;k+)if(ReadyPCBk.Id=Id)/找到i进程ReadyPCB.splice(k,1);break;/将i进程从阻塞数组中剔除for(var p:int=0;pBlockPCB.length;p+)if(BlockPCBp.Id=Id)/找到i进程BlockPCB.splice(p,1);break;/将Id进程从所有进程数组中剔除for(var q:int=0;qAllPCB.length;q+)if(AllPCBq.Id=Id)/找到进程AllPCB.splice(q,1);break;(4) 自定义组件,用as编写了四个组件,包括ForkWnd组件(用来弹出创建进程对话框)、BlockWnd组件(用来阻塞进程对话框)、AwakeWnd组件(用来唤醒进程对话框)和KillWnd组件(用来杀死进程对话框)。组件最后用mxml页面来装载。3.3.4 进程的管理操作(1) 创建进程调用自定义的ForkWnd组件,若当输入相应的进程号、名字时间和优先级,提示创建成功,如图3.3-3.5所示:图3.3 创建进程图图3.4 创建成功提示框图3.5 结果若输入的信息不合法弹出提示对话框,如图3.6-3.8所示:图3.6 创建错误提示框1图3.7 创建错误提示框2图3.8 创建失败提示框(2) 阻塞进调用自定义的BlockWnd组件,将要阻塞执行的进程从就绪队列中找到相应执行进程,并将其移入阻塞队列。由于0号进程默认创建的优先级最低的进程,该进程不能阻塞,否则报错。代码见附录,界面如图3.9-3.10所示:图3.9 错误提示框图3.10 阻塞成功提示框(3) 唤醒进程调用自定义的AwakeWnd组件,将要唤醒进程从阻塞队列中找到相应阻塞进程,并将其移入就绪列,与阻塞进程功能相似。注意0号进程不允许阻塞,故0号进程不会出现唤醒。(4) 杀死进程序调用自定义的KillWnd组件,杀死进程时,把当前执行的进程就绪,杀死完成后在从就绪中取出相应进程执行。3.3.5 执行界面显示当前正在执行的进程,自动从程序内部读取当前执行的进程的所有信息,实现代码如下,界面如图3.11所示:图3.11 执行界面3.3.6 查询子进程输入相应的进程号,程序自动查找,显示进程,界面如图3.12所示,其实现代码如下。图3.12 进程查询图public function OnFindSon():voidwhile(1)if(FindSonInput.text=)Alert.show(请输入要查找的进程序号,错误提示);break;if(FindSonInput.errorString!=)Alert.show(唤醒的进程序号需要在0-98间,错误提示);break;var temp:int=myListPCB.AllPCB.length;for(var i:int=0;itemp;i+)if(myListPCB.AllPCBi.Id=int(FindSonInput.text)break;/找到了if(i=temp)/正常循环完,说明没有找到该BlockIdAlert.show(输入的进程未建立,错误提示);FindSonInput.text= ;break;var i:int=int(FindSonInput.text);SonInfor=new ArrayCollection();for(var j:int=0;j100;j+)if(myListPCB.Matrixij!=0)/j号进程为其子进程for(var s:int=0;smyListPCB.AllPCB.length;s+)if(myListPCB.AllPCBs.Id=j)break;/找到j进程在pcb数组中的位置SonInfor.addItem(myListPCB.AllPCBs);/将j号进程放入绑定的datagridbreak;/end while3.3.7 数据的访问与绑定进程的创建、阻塞、换醒、杀死及查询产生的所有内部程序数据及自定义的数据用DataGrid组件来绑定数据,利用器属性dataProvider提供数据,将我定义的各类进程数组内容作为数据源直接访问,进行各类数据的操作。DataGrid的数据源是一个ArrayCollection类型的集合,有多个元素,其中每一个元素里又有一个集合对象,对象里有属性。想得到元素里的对象的属性只需要用集合里的dataField属性,部分代码如下:4 SQL查询功能的仿真实验的设计本次仿真实验课件设计的CAI课件的另一模式的应用-计算机模拟仿真实验。利用计算机语言编写的程序模拟演示SQL Server查询分析器的查询功能。本章节主要讲述仿真实验课件的设计目的、课件设计的思路与步骤及简单的功能的实现。4.1 SQL仿真实验分析SQL Server即结构化查询语言,是关系数据库的标准语言。在学习一门语言学科的时候一定要多加练习、操作。所以在SQL数据库是时候一定要多练习多实践,可是在教学过程中并不是所有计算机都安装有SQL环境,给教学带来诸多不便。而CAI课件的另一种重要的模式-计算机模拟,恰好解决了这个问题。仿真实验基于Flex工具的开发,模拟了SQL查询分析器的查询功能,主要在没有安装SQL环境的的计算机中演示SQL Server查询分析器的部分查询功能。4.2 实验设计过程4.2.1 主页面与布局设计本次仿真实验课件设计的CAI课件分为学习巩固部分和SQL Server实验两个部分。课件的整个页面用TabNavigator(导航标签)来显现各功能界面跳转,界面用State(状态)来切换不同的功能。由于本课件的局限性,只实现模拟SQL的查询语句,显示表面结果,所以,以SQL查询分析器的截图为背景,采用图层方式来实现操作。即用透明图层在其表面组织、布局组件。查询过程、显示正确查询结果、错误提示用三种不同的状态来描述。主界面如图4.1-4.2所示:图4.1 主界面1图4.2 主界面24.2.2 数据的处理因使用目的的明确性,事先知道只用来模拟特定的select查询语句,故课件并没有使用后台数据库,所有数据多是事先写在程序内部的。如:学生输入“select * from student”,通过判断与原先定义在程序内部的语句是否一致,一致的就输出已经定义好的结果,不一致的就输出错误。4.2.3 程序编写(1) 考虑如何接受用户输入的信息及程序输出数据信息,在flex中利用文本框组件来接受SQL语句和输出查询结果和错误。(2) 输入、输出信息的判断,当点击查询按钮是,触发定已义函数clickHandler(),痛过if语句来判断学生输入信息和定义的信息是否一致,部分代码,如图4.3、4.4所示:private function clickHandler(event:MouseEvent):voidif(username.text=) currentState = index1;else if(username.text=select * from student)currentState = index;/查询正确的状态else currentState = index1;/查询错误的状态 图4.3 查询图图4.4 错误提示图5 总结与展望本设计主要运用Flex制作创建CAI课件,利用CAI课件进行教学,帮助教师提高讲课效率,增强学生学习效率方面,最大限度实现多媒体教学的有效性。本论文设计的CAI课件采用面向对象开发方法,可复用性高;在开发过程中,融合了软件工程思想和方法,比较容易维护。在页面响应时间方面,使用Flex 制作的教学软件由于处理机制的不同,不需要过于频繁的等待页面的刷新和跳转,与学习者的交互可以更加友好和迅速。基于Flex技术开发的CAI课件将图像、声音、视频更好地整合在一起,界面美观、友好,页面响应时间短,节省带宽,将桌面应用程序的丰富互动体现在Web应用程序中,更好地帮助教师和学生进行知识的学习。但是,基于Flex技术开发教学CAI课件需要开发人员对MXML,ActionScript,及Flash相关技术进行学习,一定程度上增加了开发的成本和复杂度,所以目前传统的Web应用程序仍将占据主流位置,但基于Flex 的RIA技术开发的优点和需求的推动使它具有很好的应用前景。参 考 文 献1 张兴华,卢凤伟.CAI课件制作的基本理论N.黑龙江畜牧兽医职业学院学报,2008(1):11-20.2 夏文秀.CAI课件的开发策略与方法J.软件导刊,2009(11):23-253 翟登攀,薛勇,李春丰,张海军,穆丹.试谈CAI课件的开发设计与制作遵循原则J,消费导刊,2009(6):32-45.4 文节,王森,王臻臻.谈制作CAI课件J.科教文汇(中旬刊),2009(4):12-32.5 林坚,陈茜娜.教学型CAI课件应用探析J.现代商贸工业,2010(19):56-65.6 王楠,姜爽,刘辉.数据结构CAI课件的设计与制作J.消费导刊,2009(4):76-78.7 杨春晖.计算机辅助教学的利弊分析与对策研究J.考试周刊,2010(23):34-56.8 孙秀娟,柳延东.走出CAI课件制作的误区J.黑河教育,2008(3):54-78.9 涂东芳.CAI课件中的不足及改进方法J.科技资讯,2007(3):32-34.10 钱钰,陈志云.基于Flex的RIA技术在教学软件中的应用J.计算机与数字工程,2009(5):67-78.11 刘坤林,李扬.基于Flex的RIA应用设计与实现J.电脑知识与技术,2010(8):12-32.12 向模军.基于Flex的RIA应用系统的设计和研究J.信息与电脑(理论),2010(2):23-45.13 顾汉杰,沈国珍,郭彩虹.基于Flex的教育类网页游戏设计与实现J.现代教育技术,2010(1):56-78.14 罗天抒.基于Flex的无纸化考试系统的设计与实现J.企业家天地下半月刊(理论版).2009(7):34-56.15 薛东海.基于Flex的英语课件框架开发研究D.中国科学技术大学,2008(6):3.16 李捷,吴敏.基于Flex的英语课件数据模型设计与实现R.新闻世界,2010(7):5-6.17 邓慧仪.基于FLEX构建RIA应用的研究与实现J.电脑与电信,2010(3):23-24.18 赵子云,孙力.基于FLEX技术的网络课件设计与应用研究J.计算机光盘软件与应用,2010(2):1-5.19 陈燕,邱鹏瑞,罗玉梅,宋伟.基于XML和Flex的网络考试系统的设计与实现J.电子商务,2010(6):6-9.20 何晓桃,郑文丰.Flex与XML技术在RIA中的集成应用J.电脑与电信,2010(10):7-9.
展开阅读全文
相关资源
相关搜索

最新文档


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


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!