开源软件开发协作创新云

来源 :中国教育信息化·高教职教 | 被引量 : 0次 | 上传用户:a20090907
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着开源软件工程的蓬勃发展,已有教师带领学生借助版本控制等工具构建协作开源软件教研云-端平台,多个教研单位共同参与开源软件的应用、开发和测试。本文以GitHub、开源中国等代码托管平台发布开发的竞赛作品为例,论述开源项目学习和开发持续集成过程,阐释这种开源平台的构建有助于培养知识产权意识,激发创新意识和创业精神,同时为开源社区大数据小数据分析决策打下基础。
  关键词:GitHub;配置管理;开源软件;数据分析;小数据
  中图分类号:G434 文献标志码:A 文章编号:1673-8454(2018)07-0082-04
  一、引言
  软件开源的思想和相关技术已经深入了目前的IT领域。比如国外的Git、SVN等软件版本控制平台,MyCollab等商务平台和LibrePlan等项目管理平台。一些企业如微软、IBM也在逐渐推出软件集成开源计划,比如Visual Studio跨平台项目等;国内华为、阿里巴巴等公司也开发了许多项目,比如F2etest平台号称可以面向前端、测试、产品等岗位提供多浏览器兼容性测试。与开源软件的蓬勃发展相比较,开源软件工程教育在欧美发达国家已经得到较大较快的发展,据对希腊的一些二级学院的调查统计,被采访教师中298人占88.4%的认为开源软件学习更自由,78.6%认为容易获得。[1]相比之下,开源软件工程教育在中国的各类院校还很缺乏。比起传统软件工程教育,开源软件开发使学生能够更深入地参与软件开发乃至构建发布的整体过程。如果教师和学生能共同搭建一个开源软件教研平台,平台的运用将更好地培养学生参与软件开发的意识,锻造团队精神和学生的知识产权意识,为将来进一步的协作创新创业和开源社区大数据分析打下良好基础。
  二、开源软件的作用和教育意义
  近年来,开源软件的发展成为软件工程的一种发展趋势。开源软件的使用与推广不仅是一种技术,同时也是一种理念和精神。现实是,在学校软件工程教学中,传统教学体系下的教师学生宁愿选择传统教学方法,使用商业化的DEMO 版甚至是盗版软件,原因是这些软件文档已经建立了完善的培训体系。而教科书上开源软件的使用方法和教学内容很少,教师和学生不愿意花时间去学习开源软件。其实开源软件具有开放的本质,随着某些开源软件社区生态化,在互联网以及大数据的环境下,若软件没有外在可扩展性,则基本上不会有人使用。因此,对学生的软件开发教育的开源化引导就变得十分迫切,对传统软件工程教育的改革也就势在必行。
  另一方面,目前出现了许多新型的教育方式和新学说,例如云教育、移动教育、慕课(MOOC)、在做项目中学习(边做边学)、社交网络中的点对点学习等。云平台下的教育资源十分丰富,比如知识地图云(concept map or knowledge map cloud)[2]是一种专业的知识导航系统云平台,关键在于教师如何引导培养学生对云平台资源的连续关注度[3],是云平台教育最重要的影响因素之一。还有一些新型的校企合作平台,这些都可以在开源的软件工程教育上使用。比如,著名的Piazza 的开源项目是一个师生网络交流平台,已经在美国多所大学推广应用。与此类似,中国也有类似的discuz社区项目,许多企业高校合作建立了移动和云软件开发项目、高校大数据支撑计划等大学生创新创业平台。这些教育平台和技术的推广将推动开源技术在教育教研中得以深入廣泛应用。
  三、开源软件的代码托管平台
  开源软件的代码和整体架构的开放性,要求其需要一个网络发布平台。目前国外的代表包括GitHub等,国内的包括开源中国等,这些平台都已经有成千上万的开源项目和开源爱好者在参与。这些平台采用的代码和文档配置管理工具有GIT、码云等,代码由社区中开源爱好者共同参与开发和维护。
  1.教研使用的开源托管平台
  传统的代码管理常采用局域网存储,配置工具通常为小型版本控制工具VSS;在广域网环境下,依据需求可以采用开源工具SVN,建立学习开发用户、局域网和WEB托管服务器之间的三层系统架构。[4]现在的开源托管平台常常需要构建一个托管社区,作为学校开源软件教学使用的托管平台,可以采用类似的代码托管工具和其他技术进行集成实现。
  2.云服务下的开源测试配置管理系统
  目前开源软件在一些课程平台中已经开始应用,[5]甚至采用开源软件Moodle 构建网络教学平台。[6、7]我们构建了云平台下的开源测试软件配置管理系统,采用MFS云存储系统(由9台服务器100片硬盘整列构成mfsChunkServer集群,OpenStack 技术构建的云计算基础构架,开源数据库Mysql支持的WEB服务和存储服务)构建了大学云教育桌面系统,实现云资源移动客户端、ftp和开源测试软件配置系统等异构系统的集成访问。如图1所示。
  在传统的软件测试体系课程中,学员完成一个项目的测试过程,需要满足软件需求、性能、功能和安全等多方位的测试要求。而且测试实践过程中包含了大量工具的使用,产生多个文档与实验结果。这就需要对软件测试的实践平台进行配置和管理。这也使学生容易掌握软件测试过程中的管理方法、软件测试配置流程、标准体系和相关配置管理工具。两个或者多个学生共同完成一项任务,如测试程序合并修改、测试文档的书写与提交、项目测试日志的归纳整理等。
  如果软件测试教学能够在云代码文档托管平台上进行,如图1所示的云环境下使用开源的测试工具和测试框架,便于实现测试过程的开源化管理。同时学生能够更深入地学习掌握测试技术。在项目测试过程中可以培养学生的沟通技巧,加强协作意识(网上实时技术动态更新和交互),这种云环境下的移动开源技术的集成必将发挥更深远的影响。PC 测试平台下开源软件测试管理工具包括单元测试工具、性能测试工具、Web测试工具等。移动测试平台包括Android Appium, 从JUnit单元测试,到Instrumentation 进行全方面的集成测试。此外,测试平台还和internet上的百度开发者中心、Testin等云测试中心,mooctest慕测软件测试竞赛平台建立耦合。开源项目突出创新性,需要对原有模块进行深入理解,并且提出改进,难度更大,适合于高年级或者研究生参加研发和竞赛活动。   开源软件项目应用开发目前分四个层次,即使用、阅读、开发和改进。第一层次:使用开源代码。大部分人在项目开发过程中简单地学习开源文档资料,可以较容易地掌握开源代码的用法。如应用eclipse开发工具学习和编写java程序。第二层次:阅读开源代码,理解其实现原理深入应用。不仅包括开源代码本身的核心逻辑及其架构设计,还能掌握软件开发过程中的一些最佳实践法则。比如单元测试、利用travis进行自动编译测试等。第三四层次:对eclipse开发插件、sdk进行改造吸收并将开源代码的设计理念应用到自己的软件开发过程中去。从看得懂到会灵活应用中间还需要大量的时间去思考和实践。重新构造IDE。目前,我们的教学应用通常停留在第二层次,第三第四层次的内容理解即可。我们在开源软件社区和业内的广大爱好者一起合作努力,并贡献自己的力量和创新。
  四、效果分析
  开源托管云平台与传统平台相比有许多不同之处,优劣如表1所示。
  开源的平台对成员间知识共享的影响程度很大,大量用户创新对于促进开源软件项目绩效意义非凡。[8]这种平台对教育的作用同样重大,可以增强师生相互的影响力和知识产权意识。这是一种强调学生、教师、教学平台三者信息分享和互动的全新教育模式,在此基础上进行社交网络拓展,可以实施点对点学习,甚至应用在青少年阶段。[9]例如某案例的社区群讨论互动时,一方面可以深入推敲例子本身;另一方面可以外延扩展相关知识领域。从而激发学生的学习兴趣,引导学生掌握方法,提高学生学习成绩。引领现代教育方向,回归教育本质,塑造移动互联网环境下的教育生态。开源平台下的软件开发项目的学习架构流程如图2所示。
  开源软件项目的学习首先是对其开放架构的理解,特别是其跨平台的共性的技术。例如MVC体系结构的比较分析,关键在其应用API的分析与使用。XML数据的解析API包括很多,如DOM、JDOM、SAX。可以通过分析比较他们的优劣来学习。例如对外扩展、项目对数据库、云服务器存储、数据库的host链接的分析比较(国外的talking Dava、国内的Bmob等),数据处理方式的对比等。也可以让学生在实践中学习理论知识,例如项目程序中应用到的一些原理算法。该范例中的音频文字解析就属于操作系统线程调度问题,这种探讨将非常有助于学生深入领悟相关技术。
  另一方面,开源软件技术的开发涉及著作权、专利等知识产权问题。在协议选择上就有非常详细的规定,比如从Apache到GPL,再到AGPL越来越严格的开源协议。 这些理念有助于培养学生的知识产权意识。
  该开源教学平台引导学生在学习的同时,以团队方式参加模拟的或实际的项目和竞赛演练,加强学生的协作动手能力和合作意识,在一些计算机竞赛和实训中把项目做得更深入和完美,为深入学习有关研发技术和成长为卓越工程师打下基础。以参加软件开发竞赛、使用人数、采用的开源软件为例,如表2所示。
  教师带领学生参加创新项目,专业竞赛是目前国内外普遍的教学创新活动。例如,大学生创新项目中开发和应用的大量JAVA EE开源项目。在我们参与的竞赛项目中,大胆地使用ios/android等平台下的开源项目,一方面培养了学生使用开源软件、掌握开源技术,一方面体现作品的创新意识,取得了很好的效果。
  隨着开源软件产品数据的巨量增加,我们借助一些大数据分析工具和平台,如开源项目成熟度分析工具Ospaf(open source project analyze framework)(tomcat支持的Mac os和win版本)、Orange(python开发),bug tracking system (BTS)的 Bugzilla、云创的大数据实验平台等。[10、11]在开源社区进行挖掘统计分析可以了解到大量软件或者某软件下载量的大数据和小数据,具体技术关注度和使用的程度,参与人和时间量的交互互动信息的节点数、连接度、网络密度、版本分时平均度,从而把握开发热点问题和预测开发技术方向,做出面向软件大数据和小数据更精确的分析和决策,构建在线学习分析模型[12-14],加强引导学生的连续关注度,从而促进开源软件工程教育的发展。
  五、结束语
  目前开源软件人才是IT业内需求最强和最有前景的,比如开发运营开源技术是行业最受欢迎的技术之一。教师指导学生开源教学平台的建设,得到了校内外多人的参与,提升了其技术和潜在的商业价值。开源项目的成败由技术热度、公司支持、教育引发等多方面因素决定,不论结果如何,都使许多学生能尽快融入公司的项目开发过程。学生敢于尝试,通过大赛等各方面的锻炼,具备综合的创新能力与素养,因而能够通过许多公司的实习与考核,培养他们的创业创新意识。新开源教学体系的提出,督促教师不断学习进取,积极参与平台的改进与提高,编写具有针对目前社会需求的教材和讲义,搭建相应实验平台,设计实验项目,从而提高了师生的创新研发水平,促进产学研的共同发展。
  参考文献:
  [1]Sakellariou P. FREE AND OPEN SOURCE SOFTWARE IN COMPUTER EDUCATION: EXPLORING THE CURRENT SITUATION IN GREEK SECONDARY SCHOOLS[C].Technologies Contect Pilsen,2016:41-46.
  [2]Ju D, Shen B. Internet of Knowledge Plus Knowledge Cloud–A Future Education Ecosystem[J].Ieri Procedia,2012(2):331-336.
  [3]Huang Y M. The factors that predispose students to continuously use cloud services:Social and technological perspectives[J].Computers
其他文献
当春姑娘第一次降临人间的时候,花娘娘也领着她的孩子——牡丹、荷花、菊花、腊梅和山苏花来到大地上。她嘱咐孩子们要争取在人间开放出最美丽的花朵。于是牡丹、荷花、菊花、腊梅都争先恐后,要力争向人间献出第一枝鲜花。但是山苏花却没有这个决心,她想:“何必抢着第一个开花呢,迟开早开还不是一样开。何况大地上从来就没有开过花,要做一个发明家,我可没有这种兴趣。”   在花姊妹中,牡丹是优胜者:她在春光明媚的时节,
摘 要:以用户服务、应急维护、系统保障、数据管理为代表的IT运维服务体系对高校教育信息化建设具有重要意义,出于成本、人力、组织发展等多种因素考虑,各高校纷纷选择将IT运维服务外包。因不同高校信息化建设各有其特点及侧重,需探索具有本校特色的IT服务外包之路。文章介绍了北京师范大学在IT服务外包方面的实践,并对其三种不同外包形式(外包公司人员驻场、勤工助学学生岗位、其他部门人员兼职)进行了效益分析。 
《3-6岁儿童学习与发展指南》中提出“幼儿的学习是以直接经验为基础,在游戏和日常生活中进行的。要珍视游戏和生活的独特价值,创设丰富的教育环境,合理安排一日生活,最大限度地支持和满足幼儿通过直接感知、实际操作和亲身体验获得经验的需要。”我国著名教育家陶行知先生曾说:“生活教育是生活所原有,生活所自营,生活所必需要的教育。”在他看来,生活教育就是以生活为中心的教育。随着我园规模的不断增长,教师队伍日益
近日,韩国设计师设计出了一款神奇的概念取色笔,这款概念取色笔可以对周围任何物体的颜色进行扫描,然后使用所扫描出的颜色进行绘画创作。你只需要将取色笔放
走进大自然  梁冬妮    乘着彩虹,走向蓝天:  跟着小鸟,走进密林;  追逐蝴蝶,走到花丛;  我们融进大自然。  让小锤去敲醒每一条溪流,  让画笔去绘下每一朵花儿。  高高扬起我们的双臂,  去拥抱一个绚丽的春天。  把自己变成蝴蝶吧,  去呼吸花儿的芳香,  去倾听花儿成长的经历:  把自己变成小鸟吧,  去欣赏大树的绿意,  去聆听大树古老的故事。  只有将自己融进大自然,  才会明白
刘谦出生于台湾高雄市,是家中的独子。童年时的他,常常幻想自己能够像电影里的超人一样,拥有不可思议的超能力,或者像机器猫也行,能掏出许许多多神奇的玩具……7岁那年,刘谦在台北百货公司的魔术专柜前流连,用零花钱买下了自己的第一个魔术道具——“空中来钱”,并从此与魔术结缘。12岁那年,因为天天到魔术专柜报到,他与一个负责魔术道具专柜的大男孩汤文龙成为了好朋友。汤文龙鼓励他去参加儿童魔术大赛,并陪他一起编
从中国第一颗人造卫星“东方红一号”,到中国第一颗返回式卫星,再到中国首颗月球探测卫星“嫦娥一号”……作为这些重要航天工程的技术总负责人,孙家栋正在为越来越多的人所熟识。2010年1月11日上午,年逾八旬的孙家栋凭借众多的“第一”登上了中国国家最高科学技术奖的领奖台。  孙家栋1929年4月出生于辽宁省瓦房店市。1935年,孙家栋上学后,由于是左撇子而不被学校接受,两周以后便遭到退学处理。他不气馁,
四月,花开的季节,  春姑娘写下了一首诗。  小蝌蚪摆动着长长的尾巴,  说:“我来打上逗号。”  小蘑菇探出圆圆的脑袋,  说:“我来画上句号。”  吃桑叶的春蚕拉长了身子,  那多像一个破折号。  小鸭子,摇摇摆摆,  脖子弯成一个漂亮的问号。  笋芽儿上挑着水珠,  哦,那是倒了个儿的叹号!  小雨点儿沙沙地下,  洒下无数省略号……
摘 要:本文以提高语言应用能力为目标,在中学语文教学课外活动的案例中,运用计算机技术采集学生学习过程的数据,展开学习测量与学习分析,并不断跟进及时调整,构建了网络环境下的引导式教学,为学生提供与之相适应的个性化学习资源与帮扶;从引导式教学的特点、教学策略等方面深入分析,探讨网络环境下采用引导式教学模式的架构和运行的可能性,最后通过实证研究对学生的学习效果进行分析。结果表明:在网络环境下开展引导式教
摘 要:新冠疫情爆發后,教育信息化生态被重构,融合创新应用被置于前所未有的重要位置,催生各级各类教育教学理念的转变、教育教学方式的改革、教育治理方法的优化。基于此背景,针对区域教育信息化推进中较大程度上存在的部门职能交叉重叠或割裂、沟通成本过高、经验式主导、粗放式实施等问题,文章以设计理论、复杂适应性系统理论、协同论等为依据和行动指引,对国家课程数字教材规模化应用全覆盖项目进行研究,提出以“人人为