论文部分内容阅读
摘 要:本文分析了当前英语课件开发的普遍特点,指出现有的课件写作工具已很难满足英语课件开发的需求。通过对AIR技术的调研,本文提出了基于AIR技术的英语课件框架开发,并且对每个开发步骤进行了详细的说明,以期为同类开发提供借鉴。
关键词:英语课件 AIR 框架
中图分类号:G434 文献标识码:A 文章编号:1673-8454(2008)15-0082-03
一、背景
英语课件一般作为随英语教材配套发行的系列教学辅助光盘,近年来在英语教学过程中得到了广泛的应用,其教学辅助性和重要性有目共睹。笔者通过对几套主流英语教材的配套课件的开发工具、开发流程、开发趋势等方面进行调研分析,总结出其区别于一般课件的开发特点:
第一,程序规模大,复杂度高,对程序的可复用性要求高。一套英语课件一般涉及上百个练习,且重复题型居多。传统的逐个练习手工制作的方式显然无法满足开发需要,且重复制作更是费时费力。这使得可复用的开发成为必然。
第二,可持续开发。这里的可持续开发包含两层意思:一方面是指一套英语课件内部同一题型的可持续开发。对于一种题型其数据模型相对稳定,而界面表现则复杂多变。不同练习同一题型可能会以不同的表现方式来与用户交互。因此保持题型的数据模型与界面的独立发展至关重要;另一方面是指各套英语课件之间,虽然各自交互界面千差万别,但数据模型相对稳定。因此保持各套英语课件的可持续开发也不可忽视。
第三,可维护性要求高。由于英语课件发行量大,其用户的运行环境千差万别,程序的可维护性必然是衡量英语课件质量的一项重要指标。
第四,网络化的趋势。随着E-learning学习的日益普及,目前单机版的运行方式显然已不能满足用户和市场的需求,英语课件的网络化已成开发趋势。
仔细分析一套教材不难发现,它们都是有多个单元构成,每个单元又有若干个Part,每个Part又有一个练习或多个Section等等,以此类推。可以发现一套教材可以组成一棵练习树。树的中间节点是练习导航,叶节点则是具体的练习。在深一步分析练习树还会发现节点还可以分为有视图的和没有视图的。对于没有视图的则可以借助父层有视图节点进行管理。因此英语课件数据模型核心可以采用Composite模式实现。其结构如图3所示。
上图中左侧TAbstractExerModel定义练习树节点的抽象基类,其子类分别为导航节点基类和具体练习基类。中间TModelLocator为Cairngorm微框架中管理所有数据模型和ValueObject的单键类。TLoc类定义练习树路径,是所有视图绑定的对象。最右边则是用户数据模型,负责管理用户数据,并提供Command对象上传和下载用户数据的操作接口。
2.视图
视图是用户与英语课件交互的接口。它不像数据模型稳定,即使同一题型在不同练习也可能具有不同的视图。在这里英语课件框架仅定义视图的抽象基类和加载方式。视图的结构如图4所示。
所有视图均继承Module,通过ModuleLoader加载显示。各个子类分别定义英语课件不同模块的视图。ViewLocator是Cairngorm微框架中全局的ViewHelper对象的管理类,它负责向Command对象提供ViewHelper对象。ViewHelper对象封装具体视图,提供操作视图的接口。
3.服务
服务部分则直接扩展Cairngorm微框架的Service-Locator,添加文件服务的管理。Command对象借助具体的服务代理对象来调用服务,并返回结果。其结构如图5所示。
服务代理子类均继承自TDelegate类,它通过ServiceLocator获取具体服务。服务代理根据不同的服务向Command对象提供对应服务接口。
四、三层实现和测试开发
基于英语课件框架的开发可分为三层开发,分别是核心层、实现层和应用层。核心层定义练习抽象操作、抽象数据模型、视图结构、事件处理和服务管理类等。实现层具体实现各种题型数据模型、视图基本元素和具体服务接口等。应用层即是具体光盘开发的层面。其中核心层和实现层属于英语课件框架。对于数据模型部分,图中三直线以上的属于核心层开发,以下属于实现层开发。视图和服务部分也分别以不同的级别划分核心层和实现层。
开发的另一个方面是单元测试开发。本框架采用开源的FlexUnit测试框架。[5] FlexUnit可以提供图形化的测试界面。它通过BaseTestRunner引用TestSuite对象,并启动测试。TestSuite管理一个或多个TestCase,启动测试后逐个执行测试。TestCase则具体执行测试工作。
五、总结
笔者提出的基于AIR技术的英语课件框架定义了英语课件的架构和基本元素,避免了重复的系统设计。在应用框架的过程中依据各英语课件的技术问题不断补充框架,使之积累更多的通用模块,支持可持续的开发。另外设计良好的框架结构也使得开发的英语课件更易于维护和扩展。
当然,基于AIR技术的英语课件框架也有其自身的缺点。首先是源于其AIR技术本身的弊端。比如无法通过开发第三方插件扩展其功能。其次是基于框架的开发必然导致程序复杂度的提高,对开发人员的要求较高。因此在实际的开发过程中要根据具体的开发项目取长补短,尽可能地在最短的时间内以最小的代价开发出高质量的英语课件。
参考文献:
[1]AIR-Adobe Labs[EB/OL].http://labs.adobe.com/wiki/index.php/Apollo.
[2]中程在线.框架[EB/OL].http://www.itisedu.com/phrase/200603061723295.html.
[3]中程在线.MVC模式[EB/OL].http://itisedu.com/phrase/200604231324325.html.
[4]Cairngorm-Adobe Labs[EB/OL].http://labs.adobe.com/wiki/index.php/Cairngorm.
[5]Google Code.AS3 FlexUnit Lib[EB/OL].http://code.google.com/p/as3flexunitlib/.
关键词:英语课件 AIR 框架
中图分类号:G434 文献标识码:A 文章编号:1673-8454(2008)15-0082-03
一、背景
英语课件一般作为随英语教材配套发行的系列教学辅助光盘,近年来在英语教学过程中得到了广泛的应用,其教学辅助性和重要性有目共睹。笔者通过对几套主流英语教材的配套课件的开发工具、开发流程、开发趋势等方面进行调研分析,总结出其区别于一般课件的开发特点:
第一,程序规模大,复杂度高,对程序的可复用性要求高。一套英语课件一般涉及上百个练习,且重复题型居多。传统的逐个练习手工制作的方式显然无法满足开发需要,且重复制作更是费时费力。这使得可复用的开发成为必然。
第二,可持续开发。这里的可持续开发包含两层意思:一方面是指一套英语课件内部同一题型的可持续开发。对于一种题型其数据模型相对稳定,而界面表现则复杂多变。不同练习同一题型可能会以不同的表现方式来与用户交互。因此保持题型的数据模型与界面的独立发展至关重要;另一方面是指各套英语课件之间,虽然各自交互界面千差万别,但数据模型相对稳定。因此保持各套英语课件的可持续开发也不可忽视。
第三,可维护性要求高。由于英语课件发行量大,其用户的运行环境千差万别,程序的可维护性必然是衡量英语课件质量的一项重要指标。
第四,网络化的趋势。随着E-learning学习的日益普及,目前单机版的运行方式显然已不能满足用户和市场的需求,英语课件的网络化已成开发趋势。
仔细分析一套教材不难发现,它们都是有多个单元构成,每个单元又有若干个Part,每个Part又有一个练习或多个Section等等,以此类推。可以发现一套教材可以组成一棵练习树。树的中间节点是练习导航,叶节点则是具体的练习。在深一步分析练习树还会发现节点还可以分为有视图的和没有视图的。对于没有视图的则可以借助父层有视图节点进行管理。因此英语课件数据模型核心可以采用Composite模式实现。其结构如图3所示。
上图中左侧TAbstractExerModel定义练习树节点的抽象基类,其子类分别为导航节点基类和具体练习基类。中间TModelLocator为Cairngorm微框架中管理所有数据模型和ValueObject的单键类。TLoc类定义练习树路径,是所有视图绑定的对象。最右边则是用户数据模型,负责管理用户数据,并提供Command对象上传和下载用户数据的操作接口。
2.视图
视图是用户与英语课件交互的接口。它不像数据模型稳定,即使同一题型在不同练习也可能具有不同的视图。在这里英语课件框架仅定义视图的抽象基类和加载方式。视图的结构如图4所示。
所有视图均继承Module,通过ModuleLoader加载显示。各个子类分别定义英语课件不同模块的视图。ViewLocator是Cairngorm微框架中全局的ViewHelper对象的管理类,它负责向Command对象提供ViewHelper对象。ViewHelper对象封装具体视图,提供操作视图的接口。
3.服务
服务部分则直接扩展Cairngorm微框架的Service-Locator,添加文件服务的管理。Command对象借助具体的服务代理对象来调用服务,并返回结果。其结构如图5所示。
服务代理子类均继承自TDelegate类,它通过ServiceLocator获取具体服务。服务代理根据不同的服务向Command对象提供对应服务接口。
四、三层实现和测试开发
基于英语课件框架的开发可分为三层开发,分别是核心层、实现层和应用层。核心层定义练习抽象操作、抽象数据模型、视图结构、事件处理和服务管理类等。实现层具体实现各种题型数据模型、视图基本元素和具体服务接口等。应用层即是具体光盘开发的层面。其中核心层和实现层属于英语课件框架。对于数据模型部分,图中三直线以上的属于核心层开发,以下属于实现层开发。视图和服务部分也分别以不同的级别划分核心层和实现层。
开发的另一个方面是单元测试开发。本框架采用开源的FlexUnit测试框架。[5] FlexUnit可以提供图形化的测试界面。它通过BaseTestRunner引用TestSuite对象,并启动测试。TestSuite管理一个或多个TestCase,启动测试后逐个执行测试。TestCase则具体执行测试工作。
五、总结
笔者提出的基于AIR技术的英语课件框架定义了英语课件的架构和基本元素,避免了重复的系统设计。在应用框架的过程中依据各英语课件的技术问题不断补充框架,使之积累更多的通用模块,支持可持续的开发。另外设计良好的框架结构也使得开发的英语课件更易于维护和扩展。
当然,基于AIR技术的英语课件框架也有其自身的缺点。首先是源于其AIR技术本身的弊端。比如无法通过开发第三方插件扩展其功能。其次是基于框架的开发必然导致程序复杂度的提高,对开发人员的要求较高。因此在实际的开发过程中要根据具体的开发项目取长补短,尽可能地在最短的时间内以最小的代价开发出高质量的英语课件。
参考文献:
[1]AIR-Adobe Labs[EB/OL].http://labs.adobe.com/wiki/index.php/Apollo.
[2]中程在线.框架[EB/OL].http://www.itisedu.com/phrase/200603061723295.html.
[3]中程在线.MVC模式[EB/OL].http://itisedu.com/phrase/200604231324325.html.
[4]Cairngorm-Adobe Labs[EB/OL].http://labs.adobe.com/wiki/index.php/Cairngorm.
[5]Google Code.AS3 FlexUnit Lib[EB/OL].http://code.google.com/p/as3flexunitlib/.