您现在的位置: 范文先生网 >> 教学论文 >> 信息技术论文 >> 正文

教学软件开发思想和模式

时间:2007-4-1栏目:信息技术论文

学程序,功能上能较好的覆盖课堂教学需求又能独立于教学过程而存在,以便于广泛适用于相关课堂教学的软件开发思想。

1.面向专题的软件选题

软件开发要超越具体的教学过程,首先要改变其设计的面向对象,由面向教学过程转为面向教学专题。因此软件选题的对象不是一堂课,而是一个任务;可以是一个章节的教学内容,也可以是跨章节的相关要素,我们统称为专题。针对专题的软件就可以形成课堂教学的平台型软件,可以充分支持课堂教学而不局限教学过程。

比如,数学中的图像变换问题,物理中的落体与抛体问题,生物中细胞分裂问题等,都是一些典型的重点和难点内容,有必要作为专题来研究,同时是一些能够“可视化”的适宜媒体表现的专题。

软件选题对于成功的开发具有关键意义,需要进行必要性、可能性和软件价值的论证。在严格的大型开发管理中要形成“软件计划任务书”。

2.教学需求分析作为软件设计的依据

教学需求就是预期在课堂教学中,都需要什么样的媒体、什么的媒体组织形式、什么样的操作方式、对象或参量间什么样的动态变化关系等。它不对应某个具体的教学过程,但可以对所有教学设计中可能被用到的特性(内容的或功能的)加以分析,对教学需求要素尽可能的发掘,筛选其中有意义的要素,尽可能在设计中加以涵盖。

有了对软件需求的界定,才能够根据目标进行软件的设计。包括界面和风格设计,模块结构设计,功能设计,主要对象或参量之间动态变化的描述等。

需求分析和软件设计原则上要形成“软件需求规格说明书”和“软件设计说明书”,但在实际的开发中可以只体现为一份说明书。甚至在较小的软件开发过程中,软件的的需求和雏形就在设计者的头脑中形成,用口头交流的方式传递。

对于说明书,在专业领域需要用专门的形式化语言来描述,但这对于很多专业计算机人员可能都存在着困难。通常用自然语言加直观图示的描述是被许可的,有可能的话可以给出程序的模块结构图或流程图。

3.共同参与的渐增型开发模式

软件开发最常用的两种模式是瀑布型和渐增型。

瀑布型开发模式遵循软件开发生命周期的划分,大致是“计划——需求分析——设计——编码——测试——维护”这些阶段,每一阶段完成确定的任务后就交给下一阶段。“教学设计——脚本编写——编码实现”的开发流程也试图体现这一模式。但显然,瀑布型开发模式比较适合于软件需求比较明确、开发技术比较成熟、工程管理比较严格的场合下使用,基层教育软件的开发显然达不到这样的要求。

渐增型开发模式并不要求一开始就有一个完整的软件需求定义,通常是从部分需求出发,先建立一个不完全的系统,由需求者和设计者充分体验和交流,加深对软件需求的理解,反复扩充和完善。学科教师作为软件的需求者,由于对计算机媒体缺乏深刻的理解,往往不能结合计算机的表现形式提出很好的软件需求任务,需要专业人员的帮助和在开发过程中不断认识、不断发掘有意义的需求要素去丰富和完善系统。最初完成的不完善系统称之为原型,可以是界面或模块结构的躯壳,或主要的媒体表现形式的示范,能够有效的成为学科教师和专业人员结合的媒介。因此,渐增型开发模式更适合于基层教育软件任务的特点。

渐增型开发模式实际上并不需要严格按软件生命周期的各个阶段来划分,其有关的软件文档也并不要求一开始就是完善的,可以在开发过程中逐渐形成。

此外,软件的测试、修改和维护等,是软件开发的应有之意,此处不再讨论。

五、“超越具体课堂教学过程”的教学软件的基本特征

1.交互性

交互性主要指人机之间的交互,用户通过交互界面输入信息进行控制和请求,计算机则通过交互界面提供信息和动作。从某种意义上来讲,人机交互能力的强弱,是计算机软件能否被使用者接受和信任的关键。“超越具体课堂教学过程”的教学软件首要特征就是很强的交互性,主要体现在以下方面:

(1)用户对软件进程控制能力

对软件的运行状态,用户必须有很高的控制能力,如动作的启动、停止、重放,内容的跳转,速度的控制,参量的选择等等。绝不能出现播放媒体时无法中断,进入一个练习后答案不正确就陷入死循环等。

媒体的线性组织方式是降低用户控制权的方式,即便是为用户提供翻页结构,仍不能保证直达目标。

(2)功能特性自由取舍

在软件设计中,对于有意义的教学需求都尽可能地体现在软件的功能特性中,但是,并不是每一位教师或每一节课都可能用到这些特性,使用的时机、方式也不尽相同。因此,软件应设置若干特性的唤起方式,如开关项按钮等,以保证除主体内容外,多数的功能特性都可由用户自由取舍。

(3)友好的用户界面

友好的用户界面是软件易于学习、使用的关键,同时能大大提升与用户的亲和力。友好的用户界面应简单明了,符合常规,风格一致,反馈提示丰富得当,有良好的容错性。

如缺少明显的交互提示标志,让用户盲目寻找功能特性;画面自动变化,没有用户干涉的机会;按钮或提示方式、部位频繁变化,用户不容易掌握规律;过多的用户键盘输入,又缺少缺省值;误操作将导致软件出错或锁死等等常见现象,都是界面不够友好的表现。再如用滑块拖动或数字增减按钮,就比直接输入大量参数友好得多。

2.智能性

软件的智能性相对于软件简单刺激的媒体展现方式。如果要求软件的采用有助于学生意义建构的过程,就首先要体现软件内部诸因素、诸对象之间的互动关系。

比如事物的运动变化总是受特定因素或参量的影响,而参量变化和事物运动之间的关系往往是教学的关注点。如果软件中对象自动变化就成为简单展现;而通过用户主动干涉参量变化,导致对象的运动变化,就体现了事物内部的联系。

3.界面集成化

界面集成化是针对推崇多级分支和多层页面的程序结构而言的。多级分支结构的教学软件的缺点前文已有论述。
主张尽可能减少页面层级,在单一的界面内集成更多的对象、功能和特性。过多的对象不可能,而且也不主张在单一界面上平铺堆砌,而应该给用户随时激发、唤起、打开和关闭有关对象的权限,不转换界面就能实现更多的操作。同时,因为对象在同一界面内存在,就有可能通过算法实现交互技术,实现对象间的互动,体现事物内在的联系和运动规律。实现这样的互动远比对象素材本身要难得多。

六、基层教学软件开发适宜的组织方式

这里所说的软件开发的组织方式指的是参与开发的人员之间的关系。目前最为常见的是学科教师同专业人员(如计算机教师)的合作开发。如果强调“超越具体课堂教学过程”的思想,那么对于开发工作的参与者,都会产生新的要求。

1.以项目任务为核心,突出双方的主体性

以项目任务为核心,即指向一定的教学专题,而非特定的教学过程。这样,学科教师不再是教学过程的记录者或教案的搬家者,专业人员也不再是脚本的实现者,双方都成为共同任务的创造者,双方的主体地位才能得以发挥。

2.将软件设计过程看作交流协作过程

通常成功的教学软件制作过程并不是一个信息沿“教案——脚本——软件”单向流动的过程,而是“基本需求——软件原型——新的需求认识——新的软件模型……”这样一个循环提高的过程。这个过程需要学科教师和专业人员深入持续的交流、对软件反复体验尝试来实现。

3.专业人员要善于理解学科教师的思路,善于指导和提升教师的思想

让一个学科教师提供一个成熟的书面软件任务说明是不现实的,即便教师能提供,专业人员能否深入理解还存在很大问题。专业人员要善于在协作交流中领会教师的思路和意图,对于软件教学性、科学性的要求必须有学科教师的认同。同时,教师对于计算机的特有功能领会不深,提出的要求往往不能体现计算机的特点和优势,这时,专业人员就应该提出建议,帮助教师扩展思路,优化设计。

4.学科教师必须投身软件开发的过程,才能有发展和突破

提出一个任务或完成一个脚本,就等着软件被生产出来,这种期望是不现实的。投入开发过程,不但是保证软件质量的需要,同时是学科教师在开发领域发展和突破的需要。学科教师投身软件开发过程,可以体验软件任务的形成过程、软件的设计过程、素材的收集过程、功能的设想和实现过程,以及相关文档的形成过程,才能深入理解软件技术的特点,学会教学软件需求分析和软件设计的方法。

更进一步,如果学科教师能够较好地掌握开发技术,则更有可能成为优秀的教学软件开发人才。

七、“超越具体课堂教学过程”的教学软件开发实例

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页