免费论文查重: 大雅 万方 维普 turnitin paperpass

分析软件开发实训教学中Scrum敏捷开发方法应用

最后更新时间:2024-03-09 作者:用户投稿原创标记本站原创 点赞:14801 浏览:60500
论文导读:
【摘 要】在软件开发实训教学中实施Scrum敏捷开发策略,比使用传统的“瀑布模型”更有利于学生实践能力的培养。具体实施办法为:组建开发团队,实行双教师教学;约定开发规范,精简开发流程;结对编程,以强带弱,相互推动;持续集成、交换测试。
【关键词】Scrum 敏捷开发策略 软件开发 实训教学 应用
0450-9889(2014)12C-0059-03

一、理由的提出

1970年温斯顿·罗伊斯在软件开发中提出了著名的“瀑布模型”。该模型将软件生命周期划分为制订计划、需求分析、软件设计、程序编写、软件测试和运转维护等六个基本阶段,各阶段工作必须按次序自上而下开展,每个阶段要撰写大量文档,并对工作结果进行严格验证,只有上一阶段工作结束,才能开启下一阶段工作。这种开发模式应对上世纪60年代出现的软件危机理由,是一种很好的解决方案,成为了软件开发模型的经典。
当前,随着软件开发技术的进步,人们发现“瀑布模型”灵活性差,不适用于需求不明确的软件项目,很多软件企业已不再使用“瀑布模型”,但它作为软件开发模型的经典仍广泛应用在高校软件开发实训课堂中。实际上,应用“瀑布模型”进行教学的高校计算机软件开发相关专业学生毕业时的动手能力远远达不到企业的要求,这说明该教学策略和实训模式存在理由。为了提高学生实践能力,很多高校与计算机软件开发培训机构或企业进行联合办学,以弥补学校实训教学能力的不足。

二、“瀑布模型”实训教学存在的理由

应用“瀑布模型”进行的实训教学中主要存在如下理由:
首先,学生把握项目需求的能力差,难以达到“瀑布模型”对开发者的要求。“瀑布模型”适用于需求明确的项目,要求开发者具有很强的整体把握能力和前瞻性。但是对于初学开发的学生来说,需求再明确的项目,他们也不能很准确地把握细节,导致实训进程不能按计划正常开展,影响了实训效果。在实际教学中,虽然很多实训项目在以往的教材中有类似的解决方案,但是区别还是存在的,学生看不到软件在实际应用中可能出现的理由,到了项目开发后期才发现错误,导致实训项目失败。
其次,在“瀑布模型”开发的每一个阶段,都要求撰写细致准确的文档,这大大占用了学生的实训时间。据统计,如果严格按瀑布模型的要求来撰写文档,消耗的时间至少是整个实训时间的1/5。本来实训课堂留给学生实训的时间就不多,对一些效率低的学生来说,文档还没写完实训期就结束了,整个实训过程变成了纸上谈兵的演练。
最后,“瀑布模型”实训方式过时,学生不能学以致用,实训技能与企业要求脱节。当今的软件开发中,已经很难看见完全实施“瀑布模型”的企业,大家都已对“瀑布模型”进行了改善或者实施其他更先进的开发策略。教育部曾多次指出,高校教育应服务地方和行业,密切与行业、企业合作,为企业提供人才培养和技术服务支撑。这要求我们必须改革过时的实训模式,使教学与行业结合,与企业接轨。

三、Scrum敏捷开发策略概述

近年来,很多先进的软件开发模型在实际应用中得到了推广,这里要特别提出的是敏捷开发。著名IT组织VersionOne在2013年进行的敏捷目前状况调查结果显示,在全世界收集的3501份调查报告中,使用敏捷开发策略的占88%,其中使用Scrum敏捷开发策略或Scrum变种开发策略的占73%。这个调查数据充分说明了敏捷开发策略在行业中的主导地位。
敏捷开发(Agile development)是一种以人为核心、迭代、循序渐进的开发策略,它把项目分割分成多个子项目,各个子项目的成果都经过测试,具备集成和可运转的特征。敏捷开发策略包括Scrum、Crystal和极限编程(XP)等,是一组开发策略的总称。它也是软件开发的一个过程管理框架,遵循了敏捷开发的主要价值观:个人与交互重于开发过程与工具;可用的软件重于面面俱到的文档;与客户的合作重于对合同的谈判;响应变化胜过遵循计划。
Scrum敏捷开发过程是迭代的增量开发,整个开发过程由若干个短周期的迭代组成,每一个迭代周期称为Sprint(冲刺),每个迭代实现不同的特性,迭代中重大的、优先级高或风险高的特性优先实现。Scrum敏捷开发策略重视软件的可用性,强调与客户的沟通,开发过程能够快速响应用户需求变更,尽早处理风险理由。

四、Scrum敏捷开发策略在软件开发实训教学中的优势

相对于“瀑布模型”,Scrum敏捷开发策略具有更多适合软件开发实训教学的优势,主要表现在如下方面:
第一,能够快速响应需求变更。与实际开发相似,学生的实训项目都是在重复多次的修正需求、修改设计后才交付实现的。Scrum敏捷开发策略中的Sprint都很小,即使需求变更很大,也可以在短时间内修改设计完成开发。而“瀑布模型”希望需求是稳定的,但不变只是愿望,变化才是永恒。如果在软件设计后期提出需求变更,那会是一种灾难。这种影响小则使实训进度不可控,重则导致实训项目失败。
第二,Scrum敏捷开发策略要求尽早编码,尽快开发出系统原型,尽早使客户见到可运转的软件,暴露项目的技术风险,从而提出优化意见。这恰好迎合了学生开发实训时急切渴望进行编程实现的心理,激发了学生学习的积极性。而“瀑布模型”要迟实现,要尽可能把需求分析透彻,设计完整,完成文档编写后才能进行编码实现。这个过程对急切渴望编程的学生无疑是一种打击。
第三,Scrum敏捷开发策略不要求文档面面俱到,更注重于软件可用性设计。在敏捷开发中,很多文档只是一个草图,大部分文档在集成测试阶段产生,而且只写有必要的文档。所以实训团队不需要安排专人撰写完备的开发文档,从而使学生有时间专注于开发实训工作。 全文地址:www.7ctime.com/gzhxjxlw/lw47344.html上一论文:试议多媒体在小学数学应用题教学中的运用