论文部分内容阅读
摘 要:功能型教育网站对于教育信息化创新具有重要意义。开源软件用于功能型网站的开发是“搭积木”与“嫁接”的混合。充分利用开源软件不仅可以降低成本,而且有助于人们反思项目目的、提高开发效率和项目质量、改进项目运作机制。本文以“智慧实践案例库”和“基于问题的学习课程开发系统”为例说明了开源软件的具体作用。实践表明,基于开源软件的网站开发能够更快速地响应教育实践、课题研究对于信息系统的需求。
关键词:功能型教育网站;开源软件;教育信息化;网站开发
中图分类号:TP31 文献标志码:A 文章编号:1673-8454(2014)21-0087-03
一、背景与问题提出
教育信息化应追求信息技术与教育教学的深度“融合”。[1]“融合”意味着教育系统中的信息技术要素不是孤立不变的,而是可以因需而变,能够和其他要素形成相互影响、共同“进化”的生态系统。这和教育信息化早期,仅关注信息技术对教育系统其他要素单向影响的理念与实践形成了鲜明对比。
“融合”对教育机构的教育信息化能力提出了更高的要求:教育机构不但应能够把信息技术制品(如硬件、平台、工具软件、文档等)合理地用于教育教学,而且还应能够创建、组合或改变信息技术制品,使其适应特定情境下教育教学活动的独特需求,即教育机构需要具备信息技术制品的开发能力。
技术与教育的深度融合,依赖于教育机构的实践创新。创新型教育信息化实践通常具有很强的情境性、独特性和不稳定性,一般规模很小,资源有限。多数情况下,人们能意识到创新的需要和大致方向,但很难清晰表述具体需求,新的工作流程和模式也不稳定,通常需要几轮“知—行”循环后,问题、方法才会相对明确、稳定。现有的应用程序/信息系统很难有效支撑创新活动,因此教育信息化创新常常会产生应用开发需求。
在信息技术迅猛发展、应用类型多样化的今天,什么样的应用可以低成本地满足教育信息化创新的需求?在开发教育教学应用时,是否有现成的资源可用?从目前的情况看,Web应用是很好的选择,基于开源软件的功能型网站是目前性价比和适应性最高的应用类型。
二、功能型教育网站是教育信息化“路”上的“国民车”
功能型教育网站指支持教育教学活动的功能型网站。功能型网站是指针对某一问题或需求,提供一定功能,以帮助用户完成特定任务而非获取信息为主要功能的网站。[2]有些功能型网站,用户通过浏览器直接使用,有些则隐藏在移动应用、桌面程序之后,为它们提供用户验证、数据存储、数据通信等服务。
从技术层面看,功能型网站具有如下优势:①交互性好。得益于浏览器性能的增强,网页可支持复杂的实时人机交互,用户体验已接近桌面应用。②天然支持多用户分布式应用。多数教育教学应用都需要支持多用户交流和数据共享,基于动态网站的分布式应用开发难度低、速度快。③跨平台多终端支持最好。当前的教育应用需要适应多种类型的终端。随着HTML5标准的逐步完善,Web应用的跨平台、多终端支持将更为出色。④开放性好。Web技术是开放的、标准化的,可在很大程度上独立于厂商。⑤开发门槛低,开发人才培养周期短。创新型教育信息化实践通常在小范围进行,对安全和性能的要求低,这类网站的开发难度低,上手快。
人们将教育信息化系统和交通运输系统类比,其中的“车”是指网络平台、软件工具等。信息世界“车”的类型很多,如桌面软件、移动应用、Web应用/网站、C/S应用等。从以上分析可以看出,功能型教育网站是教育信息化“路”上的“国民车”,物美价廉,适合经费紧张的教育机构。
由于存在大量开源Web项目,绝大多数功能型网站开发都无须从零开始,这是功能型教育网站特别适合创新活动的另一优势。
三、开源软件对功能型教育网站开发的价值
开源软件指许可证符合开源软件促进会所规定的“开放源代码”定义的软件,允许用户自由传播软件、自由获取与修改软件源代码。[3]开源软件对于功能型教育网站的开发,具有如下意义:
(1)开源软件可促使人们反思开发项目的目标和运作机制
开源软件的倡导者相信个体有享受技术发展成果的权利,也有促进技术发展的自由。[4]对这一观念的信奉,有助于教育应用共建共享机制的形成和数字鸿沟的消除,最终有助于教育公平的实现。许多开源软件项目本身就是“用户创新”、“创新2.0”的典范,对这些项目的深入了解,有助于改进项目运作机制,提升项目管理水平。[5]
(2)开源软件可提高项目参与者的知识产权保护意识
自由软件的倡导者利用现有的知识产权制度,通过专门的软件许可,保护个体的“软件自由”。[6]自由开源软件许可的传播,能够提高人们的版权意识,有利于教育信息化的可持续发展。
(3)开源软件可降低项目成本,使决策者更重视教育信息化中“人”的因素
采用开源技术,降低了项目的资金需求,促使决策者重新发现教育信息化中“人”的关键作用,实现教育信息化“投资从‘以物为中心’向‘以人为中心’的转变”。[7]
(4)开源软件可提高开发效率和代码质量,进而提高开发者素质
合适的开源项目能够极大提高开发效率,缩短项目周期。开源代码通常经过大量程序员审查、广泛的用户使用测试,有的还经过多次重构、对代码的研读,能够提高开发团队的开发能力。
四、基于开源软件的功能型网站开发模式——搭积木和嫁接
功能型网站的开发和运行通常需要多个开源软件的支持,开发模式类似“搭积木”和“嫁接”的混合。“搭积木”是指通过安装、配置或者少量“粘合”代码,将多个开源软件组合在一起,形成新的网站。“嫁接”是选择某个开源软件,编写代码扩展其功能:开源软件是“砧木”,提供大部分功能和运行环境;为实现项目独特功能而自行编写的代码是“接穗”,运行于“砧木”系统中。绝大多数项目中,搭积木和嫁接是并存的。 对于功能型网站,通常应选择某一动态网站作为“砧木”系统,该选择至关重要:它限定了编程语言、后台各种服务器及扩展模块的选择范围。
图1是基于开源软件的功能型网站的逻辑结构图。从整体架构的角度看,功能型网站由Web服务器、应用服务器、数据库服务器、砧木网站、程序功能模块组成。自行编写的代码量取决于项目功能的特殊性和复杂程度。一般而言,新编写代码(图中虚线框所示)所占的比例是很低的。
五、开源软件用于功能型教育网站开发案例
下面以我们设计、开发的两个功能型教育网站作为案例,说明开源软件的具体作用。网站是为了支撑美国教育部的“PBL-TECH:Web2.0工具和资源支持下基于问题的学习职前教师教育课程创新”项目①,项目主持人为美国印第安纳大学的Thomas Brush教授和奥本大学的John Saye教授。项目目标是提高师范生对基于问题的学习的理解和实施能力。
第一个网站是智慧实践案例库(简称案例库),目标用户为研究者、教师教育者、教师(在职教师和职前教师)。研究者和教师教育者可以独自或合作创建教学案例。案例包括元数据、视频片段、教学材料、学生作业、教师的教学反思、专家点评、对应的课程标准、教师和学生信息等材料。教师只能浏览特定案例集。网站采用的开源技术见表1。
第二个网站是基于问题的学习课程开发系统(简称课程开发系统),目标用户有研究者、教师教育者、教师和中小学生。系统提供了课程、单元、课时、活动和资源等五类课程元素开发工具,除学生外的其他用户可以独自或协同创建课程元素。系统提供了消息、聊天、论坛、组等交流工具,以支撑用户协同创建课程元素。学生只能访问教师发布的活动,可使用附属于活动的小组聊天室、Wiki页面。网站采用的开源技术见表1。
两个网站开发方式的差别为案例库是从零开始的,自行开发了用户管理、权限控制、上传文件管理等功能;课程开发系统基于开源内容管理系统Drupal。Drupal有活跃的开发者和使用者社区,功能丰富,使用广泛。[8]课程开发系统是个规范的Drupal模块,利用了Drupal的菜单、主题和块、用户权限管理、会话管理和文件上传等基础功能。
网站开发始于2011年10月。2012年3月网站核心模块上线。界面、功能调整持续到现在。两个系统独立开发、运行,2013年6月整合为一个网站(http://156.56.1.74/pbltec/)。截至2014年6月,网站用户包括大学研究者31人、教师教育者19人、中小学教师和师范生303人。学生通过公开的“活动”页面访问系统,不需要账号,故未统计学生用户数。课程开发系统中创建了34门课程、128个单元、284个课时、240个活动、998个资源;案例系统中创建了61个视频课例,其中1088个视频、701个文档、256个图像、16个声音和45个网页资源。
在使用过程中,用户持续提出新的需求,开发团队根据反馈,持续改进网站的可用性,增加新特性(如iPad支持、外部Web2.0协作工具管理、两系统深度整合等),保证了PBL-TECH项目的顺利实施。
六、小结
本文通过理论分析和实际案例展示了功能型网站对于教育信息化创新的价值和开源软件在功能型网站开发中的作用。实践表明,基于开源软件的网站开发能够更快地响应教育实践、课题研究对于应用程序(系统)的需求。在这一过程中,最关键的是系统实际用户和开发团队建立良好的互动机制,以便系统能够持续“进化”。在我们的项目中,多数开发团队成员就是系统的目标用户(这和大多数开源项目类似)。项目实践证明“吃自己的狗粮”这一策略对保证软件的有用性、可用性是行之有效的。这也是本文强调教育机构应该具备开发能力的原因之一:教育机构自己开发应用时,离最终用户最近,可以持续将最终用户纳入开发团队,这能够保证开发出有用、好用的系统。
当然,所谓教育机构应具备开发能力,并不意味着要求教育机构都配备专门的开发团队,这是不现实的,也没有必要。教育机构应该根据自身情况,通过各种途径,充分整合社会资源,建立起教育机构能够控制的“需求或问题发现——分析和设计——开发或改造——实施和评估”的循环开发机制。确保教育机构在开发过程中的话语权,保持开放的心态,充分利用现有资源,是信息技术与教育教学深度“融合”的前提,是教育信息化可持续发展的保障。
参考文献:
[1]中华人民共和国教育部.教育信息化十年发展规划(2011-2020年)[DB/OL]. http://www.moe.gov.cn/publicfiles/business/htmlfiles/moe/s3342/201203/xxgk_133322.html, 2014-05-15访问.
[2]J. J. Garrett,范晓燕译.用户体验要素:以用户为中心的产品设计[M].北京:机械工业出版社,2011:25-28.
[3]Open Source Initiative.The Open Source Definition[DB/OL]. http://opensource.org/docs/osd,2014-05-15访问.
[4]Wikipedia. Free Software Foundation.[DB/OL].http://en.wikipedia.org/wiki/Free_Software_Foundation,2014-05-15访问.
[5]宋刚,张楠.创新2.0:知识社会环境下的创新民主化[J].中国软科学,2009(10):60-66.
[6]Free Software Foundation. GNU General Public License[DB/OL].http://www.gnu.org/copyleft/gpl.html, 2014-05-15访问.
[7]王运武.教育信息化发展亟需转型[J].中国电化教育,2009(2):16-19.
[8]W3Techs. Usage statistics and market share of Drupal for websites[DB/OL]. http://w3techs.com/technologies/details/cm-drupal/all/all. 2014-05-15访问.
(编辑:王天鹏)
关键词:功能型教育网站;开源软件;教育信息化;网站开发
中图分类号:TP31 文献标志码:A 文章编号:1673-8454(2014)21-0087-03
一、背景与问题提出
教育信息化应追求信息技术与教育教学的深度“融合”。[1]“融合”意味着教育系统中的信息技术要素不是孤立不变的,而是可以因需而变,能够和其他要素形成相互影响、共同“进化”的生态系统。这和教育信息化早期,仅关注信息技术对教育系统其他要素单向影响的理念与实践形成了鲜明对比。
“融合”对教育机构的教育信息化能力提出了更高的要求:教育机构不但应能够把信息技术制品(如硬件、平台、工具软件、文档等)合理地用于教育教学,而且还应能够创建、组合或改变信息技术制品,使其适应特定情境下教育教学活动的独特需求,即教育机构需要具备信息技术制品的开发能力。
技术与教育的深度融合,依赖于教育机构的实践创新。创新型教育信息化实践通常具有很强的情境性、独特性和不稳定性,一般规模很小,资源有限。多数情况下,人们能意识到创新的需要和大致方向,但很难清晰表述具体需求,新的工作流程和模式也不稳定,通常需要几轮“知—行”循环后,问题、方法才会相对明确、稳定。现有的应用程序/信息系统很难有效支撑创新活动,因此教育信息化创新常常会产生应用开发需求。
在信息技术迅猛发展、应用类型多样化的今天,什么样的应用可以低成本地满足教育信息化创新的需求?在开发教育教学应用时,是否有现成的资源可用?从目前的情况看,Web应用是很好的选择,基于开源软件的功能型网站是目前性价比和适应性最高的应用类型。
二、功能型教育网站是教育信息化“路”上的“国民车”
功能型教育网站指支持教育教学活动的功能型网站。功能型网站是指针对某一问题或需求,提供一定功能,以帮助用户完成特定任务而非获取信息为主要功能的网站。[2]有些功能型网站,用户通过浏览器直接使用,有些则隐藏在移动应用、桌面程序之后,为它们提供用户验证、数据存储、数据通信等服务。
从技术层面看,功能型网站具有如下优势:①交互性好。得益于浏览器性能的增强,网页可支持复杂的实时人机交互,用户体验已接近桌面应用。②天然支持多用户分布式应用。多数教育教学应用都需要支持多用户交流和数据共享,基于动态网站的分布式应用开发难度低、速度快。③跨平台多终端支持最好。当前的教育应用需要适应多种类型的终端。随着HTML5标准的逐步完善,Web应用的跨平台、多终端支持将更为出色。④开放性好。Web技术是开放的、标准化的,可在很大程度上独立于厂商。⑤开发门槛低,开发人才培养周期短。创新型教育信息化实践通常在小范围进行,对安全和性能的要求低,这类网站的开发难度低,上手快。
人们将教育信息化系统和交通运输系统类比,其中的“车”是指网络平台、软件工具等。信息世界“车”的类型很多,如桌面软件、移动应用、Web应用/网站、C/S应用等。从以上分析可以看出,功能型教育网站是教育信息化“路”上的“国民车”,物美价廉,适合经费紧张的教育机构。
由于存在大量开源Web项目,绝大多数功能型网站开发都无须从零开始,这是功能型教育网站特别适合创新活动的另一优势。
三、开源软件对功能型教育网站开发的价值
开源软件指许可证符合开源软件促进会所规定的“开放源代码”定义的软件,允许用户自由传播软件、自由获取与修改软件源代码。[3]开源软件对于功能型教育网站的开发,具有如下意义:
(1)开源软件可促使人们反思开发项目的目标和运作机制
开源软件的倡导者相信个体有享受技术发展成果的权利,也有促进技术发展的自由。[4]对这一观念的信奉,有助于教育应用共建共享机制的形成和数字鸿沟的消除,最终有助于教育公平的实现。许多开源软件项目本身就是“用户创新”、“创新2.0”的典范,对这些项目的深入了解,有助于改进项目运作机制,提升项目管理水平。[5]
(2)开源软件可提高项目参与者的知识产权保护意识
自由软件的倡导者利用现有的知识产权制度,通过专门的软件许可,保护个体的“软件自由”。[6]自由开源软件许可的传播,能够提高人们的版权意识,有利于教育信息化的可持续发展。
(3)开源软件可降低项目成本,使决策者更重视教育信息化中“人”的因素
采用开源技术,降低了项目的资金需求,促使决策者重新发现教育信息化中“人”的关键作用,实现教育信息化“投资从‘以物为中心’向‘以人为中心’的转变”。[7]
(4)开源软件可提高开发效率和代码质量,进而提高开发者素质
合适的开源项目能够极大提高开发效率,缩短项目周期。开源代码通常经过大量程序员审查、广泛的用户使用测试,有的还经过多次重构、对代码的研读,能够提高开发团队的开发能力。
四、基于开源软件的功能型网站开发模式——搭积木和嫁接
功能型网站的开发和运行通常需要多个开源软件的支持,开发模式类似“搭积木”和“嫁接”的混合。“搭积木”是指通过安装、配置或者少量“粘合”代码,将多个开源软件组合在一起,形成新的网站。“嫁接”是选择某个开源软件,编写代码扩展其功能:开源软件是“砧木”,提供大部分功能和运行环境;为实现项目独特功能而自行编写的代码是“接穗”,运行于“砧木”系统中。绝大多数项目中,搭积木和嫁接是并存的。 对于功能型网站,通常应选择某一动态网站作为“砧木”系统,该选择至关重要:它限定了编程语言、后台各种服务器及扩展模块的选择范围。
图1是基于开源软件的功能型网站的逻辑结构图。从整体架构的角度看,功能型网站由Web服务器、应用服务器、数据库服务器、砧木网站、程序功能模块组成。自行编写的代码量取决于项目功能的特殊性和复杂程度。一般而言,新编写代码(图中虚线框所示)所占的比例是很低的。
五、开源软件用于功能型教育网站开发案例
下面以我们设计、开发的两个功能型教育网站作为案例,说明开源软件的具体作用。网站是为了支撑美国教育部的“PBL-TECH:Web2.0工具和资源支持下基于问题的学习职前教师教育课程创新”项目①,项目主持人为美国印第安纳大学的Thomas Brush教授和奥本大学的John Saye教授。项目目标是提高师范生对基于问题的学习的理解和实施能力。
第一个网站是智慧实践案例库(简称案例库),目标用户为研究者、教师教育者、教师(在职教师和职前教师)。研究者和教师教育者可以独自或合作创建教学案例。案例包括元数据、视频片段、教学材料、学生作业、教师的教学反思、专家点评、对应的课程标准、教师和学生信息等材料。教师只能浏览特定案例集。网站采用的开源技术见表1。
第二个网站是基于问题的学习课程开发系统(简称课程开发系统),目标用户有研究者、教师教育者、教师和中小学生。系统提供了课程、单元、课时、活动和资源等五类课程元素开发工具,除学生外的其他用户可以独自或协同创建课程元素。系统提供了消息、聊天、论坛、组等交流工具,以支撑用户协同创建课程元素。学生只能访问教师发布的活动,可使用附属于活动的小组聊天室、Wiki页面。网站采用的开源技术见表1。
两个网站开发方式的差别为案例库是从零开始的,自行开发了用户管理、权限控制、上传文件管理等功能;课程开发系统基于开源内容管理系统Drupal。Drupal有活跃的开发者和使用者社区,功能丰富,使用广泛。[8]课程开发系统是个规范的Drupal模块,利用了Drupal的菜单、主题和块、用户权限管理、会话管理和文件上传等基础功能。
网站开发始于2011年10月。2012年3月网站核心模块上线。界面、功能调整持续到现在。两个系统独立开发、运行,2013年6月整合为一个网站(http://156.56.1.74/pbltec/)。截至2014年6月,网站用户包括大学研究者31人、教师教育者19人、中小学教师和师范生303人。学生通过公开的“活动”页面访问系统,不需要账号,故未统计学生用户数。课程开发系统中创建了34门课程、128个单元、284个课时、240个活动、998个资源;案例系统中创建了61个视频课例,其中1088个视频、701个文档、256个图像、16个声音和45个网页资源。
在使用过程中,用户持续提出新的需求,开发团队根据反馈,持续改进网站的可用性,增加新特性(如iPad支持、外部Web2.0协作工具管理、两系统深度整合等),保证了PBL-TECH项目的顺利实施。
六、小结
本文通过理论分析和实际案例展示了功能型网站对于教育信息化创新的价值和开源软件在功能型网站开发中的作用。实践表明,基于开源软件的网站开发能够更快地响应教育实践、课题研究对于应用程序(系统)的需求。在这一过程中,最关键的是系统实际用户和开发团队建立良好的互动机制,以便系统能够持续“进化”。在我们的项目中,多数开发团队成员就是系统的目标用户(这和大多数开源项目类似)。项目实践证明“吃自己的狗粮”这一策略对保证软件的有用性、可用性是行之有效的。这也是本文强调教育机构应该具备开发能力的原因之一:教育机构自己开发应用时,离最终用户最近,可以持续将最终用户纳入开发团队,这能够保证开发出有用、好用的系统。
当然,所谓教育机构应具备开发能力,并不意味着要求教育机构都配备专门的开发团队,这是不现实的,也没有必要。教育机构应该根据自身情况,通过各种途径,充分整合社会资源,建立起教育机构能够控制的“需求或问题发现——分析和设计——开发或改造——实施和评估”的循环开发机制。确保教育机构在开发过程中的话语权,保持开放的心态,充分利用现有资源,是信息技术与教育教学深度“融合”的前提,是教育信息化可持续发展的保障。
参考文献:
[1]中华人民共和国教育部.教育信息化十年发展规划(2011-2020年)[DB/OL]. http://www.moe.gov.cn/publicfiles/business/htmlfiles/moe/s3342/201203/xxgk_133322.html, 2014-05-15访问.
[2]J. J. Garrett,范晓燕译.用户体验要素:以用户为中心的产品设计[M].北京:机械工业出版社,2011:25-28.
[3]Open Source Initiative.The Open Source Definition[DB/OL]. http://opensource.org/docs/osd,2014-05-15访问.
[4]Wikipedia. Free Software Foundation.[DB/OL].http://en.wikipedia.org/wiki/Free_Software_Foundation,2014-05-15访问.
[5]宋刚,张楠.创新2.0:知识社会环境下的创新民主化[J].中国软科学,2009(10):60-66.
[6]Free Software Foundation. GNU General Public License[DB/OL].http://www.gnu.org/copyleft/gpl.html, 2014-05-15访问.
[7]王运武.教育信息化发展亟需转型[J].中国电化教育,2009(2):16-19.
[8]W3Techs. Usage statistics and market share of Drupal for websites[DB/OL]. http://w3techs.com/technologies/details/cm-drupal/all/all. 2014-05-15访问.
(编辑:王天鹏)