基于软件工程过程模型的在线课程并行开发设计与实现
龚玉清
摘 ?要 近年来,在线课程(慕课、网络课程等)發展呈现井喷之势,呈现配套课程专业化、类型多样化、教学服务个性化等特征。但如何高效开发建设在线课程,是一项紧迫而有重要意义的工作。参照软件工程的过程模型,通过在线课程开发的过程模型,按照软件开发并行性的粒度,将在线课程开发的并行性划分为五种类别,并以在线课程的子过程并行开发为重点,展开在线课程并行开发的实践。实践证明,推进在线课程并行开发,能够在保证开发的规范化和建设质量的同时,大大提高在线课程的开发效率。
关键词 在线课程;过程模型;软件工程;并行开发
中图分类号:G642.3 ? ?文献标识码:B
文章编号:1671-489X(2019)18-0041-03
Design and Implementation of Concurrent Development of On-line Course, based on Process Models of Software Engineering//GONG Yuqing
Abstract With the rapid development of online course, also named with MOOC or network course, professional courses, diversified types and personalized teaching service are characteristic of them. It
is an urgent and meaningful job how to develop online course, effec-
tively. This paper constructs the process model of online course,
development according to process models of software engineering,
puts forward five kinds of concurrence of online course, develop-ment, which are distinguished by the different granularity and then carries out the concurrent development of online course, which is mainly concurrent development of sub-process. It is proved that con-
currence of online course development could promote largelythe qua-lity and efficiency of development, while insure its standardization.
Key words online course; process model; software engineering; concurrent development
1 前言
当前高校在线课程以课程教师、技术人员为主,组成开发小组进行开发,大多为作坊式的个体或小组开发。当在线课程系列化、专业化大量开发时,这种开发模式显得力不从心,不仅开发效率低,而且质量无法得到保证。面对当前在线课程的专业系列化、视频微课化、应用开放化、制作精细化趋势[1-4],基于软件工程的过程模式,组织开发在线课程,深入细化展开在线课程的并行开发,能够有效提高在线课程的开发效率,加快建设系列化和专业化的在线课程建设。软件的并行开发是指软件开发事件同时发生进行,是软件开发的一个重要特性。充分利用各种粒度的并行性,能够使得软件开发在保证质量的同时,提高软件开发的效率[5]。在线课程具备同样的软件开发性质,表现为一定的软件形态,如网络课件、网络教学平台等,其开发过程也存在并行性。
2 在线课程开发的过程模型
从软件工程的角度看,在线课程表现为一定的教学软件形态,是计算机应用软件的一个子类,适用软件开发的一般性特点和模型,其生命周期过程具备从提出到开发、再到淘汰的全过程。在线课程开发区别于教学设计的过程,也区别于一般软件代码的编程,更侧重于基于一定教学平台的教学内容的媒体呈现和互动设计。
参照软件工程的过程模型[6],在线课程开发的过程模型可划分为四个阶段,即项目定义与计划阶段、设计阶段、实现阶段和评价维护阶段,每个阶段还可以进一步细化,如图1所示。该过程模型是在软件工程瀑布模型的基础上,根据在线课程的特性做了引申和改进,具有以下特色。
1)重构瀑布模型。按照在线课程的性质特点,对在线课程开发周期进行跟踪反馈,并细化每个阶段的重点内容,将开发步骤对应到人员职责,每个阶段均有反馈,能够对整体开发掌控到位。
2)增设阶段反馈(如图1虚线所示)。反馈是调整开发进度和效率的重要机制,既有相邻阶段的反馈,也有跨阶段的反馈,保证课程开发连续按计划进行,对质量控制也起到约束作用。
3)突出设计中心。将教学设计和结构设计有机融合,既服务于教学,也保证体系完整;按照层次区分为从总到分的概要设计及详细设计。设计是在线课程开发的关键所在,教学设计和结构设计不能彼此取代,而是相互促进、共同发展。
4)强调需求分析。需求分析是在线课程开发的逻辑起点,应该从教学目标和教学对象出发,针对性地细化需求层次,不能够笼而统之,要能够落到具体开发环节。在线课程的需求分析确定了在线课程的教学重点、难点和核心,是教学媒体呈现的依据,是教学内容设计的出发点。
这一在线课程开发的过程模型,虽未表达出课程开发的并行性,却是进行并行性分类的基础,从不同层次看,就能区分出不同粒度的并行性。
3 在线课程开发的并行性分类
并行是软件开发普遍存在的一类现象,也是在线课程开发中存在的现象。在实际在线课程开发过程中,重视结果但轻视过程,重视制作环节但轻视设计环节,重视技术运用但轻视使用系统方法,忽视课程开发过程的研究,其中的并行性就是受到忽视的重要特性,因此,实际开发效率低下,而质量也无法获得充分的保证。
事实上,在线课程开发有不同粒度的并行开发。如过程一级,开发过程和管理过程、文档编制过程是并行开发,粒度较大,多个角色之间的活动粒度较小。并行开发在线课程能够让各种并行成分统一协调进行,在保证课程开发质量的同时,加快课程开发的速度。在在线课程开发过程模型的基础上,将课程开发的并行性划分为五类。
1)过程并行。与在线课程开发过程相关的有管理过程、文档编制过程,在时间关系上存在并行甚至是同步。其并行关系如图2所示。
2)子过程并行。在线课程开发过程内部的活动之间存在并行性,如開发过程划分为各个开发小组,各开发小组的任务和活动可以是类同的,相互之间完全可以并行进行,如图3所示。
3)阶段并行。在线课程开发的各个阶段存在一定程度的并行和重叠(图4),使得开发的过程模型在时间上并非完全的线性的关系,避免了各阶段之间的过度依赖,有助于提高过程的开发效率。
4)版本并行。在开发在线课程的发行版本的同时,就进行下一个版本的开发,这是粒度最粗的并行(图5)。
5)活动并行。活动是较阶段更细的划分,是任务的集合或序列。活动并行是课程生存周期中粒度最细的一类并行,如在线课程开发过程的实现阶段,有媒体制作活动、不同的媒体制作成员,按照文本类、声像类、动画类等分组,同步展开制作(图6)。
在线课程开发要合理分组,分工明确,既要统整开发进度,又要合理编排人员;既要照度到人员素质水平,也要考虑各环节难易程度和工作量。在线课程开发毕竟是团队协作、相互促进的过程,补齐弱项与短板,找准差距与漏洞,才能够有效统一整体,协调推进。
4 在线课程并行开发实践
并行开发的软件工程模型,为在线课程开发启发了思路,提供了参考,尤其是对于系列化和专业化的课程,能够有效保证开发进度和质量。实践证明,充分利用在线课程并行开发的优势特点,发挥好课程专家、技术专家等专业人员的作用,可以在保证开发质量的前提下,大大提高在线课程开发的效率。
在线课程开发的背景 ?各高校开放学院开展在线教育,必然要开发适用不同学习终端、不同类别学习者的在线课程。各类优秀的在线课程平台纷纷涌现,国内的如学堂在线、网易云课堂、中国大学慕课、慕课中国等,国外的如Coursera、Udacity、edX、Stanford Online等。这些平台及学习者的加入,对在线课程开发的速度和质量提出更高要求。
在线课程的子过程并行开发 ?本文以开发在线课程教育技术概论为案例,挖掘在线课程开发中的并行性,在以子过程并行的粒度上进行开发(图7)。其主要特征如下。
1)步骤分解,模块推进。按照课程内容,分为相对独立的不同模块,内容不同但结构相似,每一模块对应一个子过程的开发。区分简单,从项目定义与计划到最后的测试和评价,可以在较短时间内完成,随时可以动态调整修改,反馈及时,修改便捷,开发速度和质量同步得到保证。
2)结构稳定,重复使用。通过一个初始的子过程,可形成在线课程相对稳定的结构和模板,这种模板可重复使用,增加了课件开发的可复用性,各个部分通过链接加入整个课件中并不破坏原有的结构体系。各类课件模板、音像素材、拓展功能等可复用,极大提高了在线课程开发的专业化和系列化进程。整个教育技术专业在线课程的开发实践证明,借助软件工程的并行开发模型,对于提高开发速度和质量具有巨大优势。
3)样本先试,循环推进。有了第一个子过程的顺利完成,为接下来的子过程提供了参考和样板,后续工作可以集中精力在教学内容设计上,因为不确定的因素此时已经明确了,各类样式的选择已经确定下了,后续的各子过程可以同步展开,并行性主要体现在初始子过程其后的子过程开发。
子过程按照开发流程区分为不同阶段,既保持了过程模型的线性序列的基本成分,又增加了阶段并行开发的特性,体现了开发过程的反复性和跨阶段的反馈特性,可以有效防范技术风险,避免后期发现问题付出巨大代价。
对在线课程并行开发的反思 ?在线课程开发的并行性分布于课程开发的不同阶段和过程,有效把握其并行性并不是一件容易的事情,人员编组分工、阶段明确区分、互动信息交流、统一整合进度等,是在线课程并行开发的重要因素。当然,在线课程开发要灵活组织,借助多种软件工程的工具,取长补短,合理利用,细化过程。由于在线课程开发远不同于一般软件开发,其教学性更是为一般软件所不具有的,因此,其并行开发具有不同的内容,如软件并行开发的编码活动在在线课程开发中极少存在,教学设计活动却常在。对于如此细粒度的并行性,尚需深入挖掘和探究。
5 结语
网络教育是现代远程教育的重要形态,在线课程开发一直是关注的核心和重点,但是目前绝大多数的在线课程开发很少关注并行性研究,更缺乏开发过程中不同层次的并行性探究,这也是高校在线课程专业系列化进程中在线课程开发效率不高的原因之一。从软件工程的角度出发,深入挖掘在线课程开发的并行性,提高软件的复用性[7],规范在线课程开发,提高开发效率和质量,是在线课程并行开发的目标,也是走出目前在线课程开发陷于质量和效率两难兼顾的困境的一条出路。
参考文献
[1]王庭槐.MOOC:席卷全球教育的大规模开放在线课程[M].北京:人民卫生出版社,2014.
[2]陈玉琨,田爱丽.慕课与翻转课堂导论[M].上海:华东师范大学出版社,2014.
[3]李曼丽,张羽,叶赋.解码MOOC:大规模在线开放课程的教育学考察[M].北京:清华大学出版社,2013.
[4]赵国栋.微课与慕课设计初级教程[M].北京:北京大学出版社,2014.
[5]李彤,等.软件并行开发过程[M].北京:科学出版社,
2003.
[6]张海藩.软件工程导论[M].北京:清华大学出版社,
1998.
[7]齐治昌,谭庆平,宁洪.软件工程[M].北京:高等教育出版社,2012.