《Scrum敏捷方法在软件工程的应用.docx》由会员分享,可在线阅读,更多相关《Scrum敏捷方法在软件工程的应用.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Scrum敏捷方法在软件工程的应用灵敏方法是一种以人为核心的软件开发方法,这种方法不仅被应用在软件开发领域,更在软件工程教学之中得到了广泛应用。基于此,本文阐述了将灵敏方法引入软件工程项目的优势和挑战,分析了基于Scrum灵敏方法的软件工程试验框架设计方案,并对其具体实施路径进行了论述,该设计方案的讨论与实施能够为相关软件开发工作人员带来一个更为便捷的软件工程试验框架设计思路。软件工程课程的实践性相对较强,只有基于有效试验,才能保证理论与实际的有效联系,进而让教学质量得到提升。灵敏方法在软件工程项目中的应用存在诸多优势,但也同样为软件工程试验项目带来了挑战。为了提高项目教学成效,相关教师必需关
2、心学生有效理解灵敏方法,保证理论教学与试验内容同步,让基于灵敏方法的软件工程试验取得良好效果。1灵敏方法的应用优势和挑战灵敏软件开发方法是一种当前比较流行的用于应对快速改变需求的软件开发能力,它的核心是人,是一种遵循迭代和循序渐进的软件开发方法,应用时程序员与业务专家之间存在紧密协作关系和直接沟通渠道,还拥有紧凑而自我组织型的团队。它更多的是强调软件项目中组织团队的合作,从而有效提高了软件项目开发的效率,更能满足当下快速进展的项目开发体量大、工期紧等现实需求。1.1优势从软件工程灵敏开发方法自身看,分为思想、原则、流程、方法、工具、实施等,是软件即服务SoftwareasaService等软件
3、开发模式的一种良好的阐释。比方,在SaaS开发模式下,产品一旦发布就能立即部署到企业内部服务器上,用户随即就可以使用本软件的服务。和原有包装盒软件产品相比,SaaS开发模式下的软件迭代以及交付速度要快得多、并且软件交付本钱几乎为零,大大降低了软件迭代、缺陷修复的本钱,使软件产品持续交付成为现实。以往,软件工程课程基于软件开发过程的瀑布模型设置教学大纲。也就是说,在课程规划方面,大多以概念、需求分析、定义、系统设计、具体设计和编程测试为路线设置课程内容,试验课程将会穿插在理论教学当中并与后者保持同步和自然连接,因此试验教学特别简单实施。但基于这种方法培育的人才,与业内流行的灵敏开发方法要求不符,
4、所以将灵敏开发方法引入软件工程教学十分必要。现阶段,引入灵敏开发方法,有着如下优势:第一,以小团队方式开展实践教学,可给予学生充分参加实践的机会;第二,趣味性、参加性强,简单激发学生的学习兴趣和参加热情;无团队领导且强调自我管理,便于培育学生的集体荣誉感与责任感,有助于增添软件专业学生的自我管理能力;第四,关注工作产品的自身价值,学生可从中获得成就感与满足感,更能增添个人的软件开发与测试能力。1.2挑战从上文中我们不难看出,将灵敏开发方法引入软件工程教学,有助于提高教学质量。但在这一过程也为软件工程的试验教学带来了挑战。灵敏方法的重点在于快速迭代,迭代周期大多为2-4周/次,若仅让学生完成单个
5、迭代试验不利于学生理解该模式,只有让他们在学期内完成3-4个迭代并交付多个版本,才能较为完好地践行开发的灵敏过程。不过,从实际状况来看,若要完成多个迭代,则难以保证明验设计与理论教学的有效连接,二者的不同步也将阻碍软件工程的试验成效。2基于灵敏方法的软件工程试验设计与实施传统的试验环境是基于瀑布模型建设的,它并不能满足灵敏方法的实际要求。比方,基于灵敏方法,应通过UserStory用户故事和Productbacklog产品待办事项集合来描述Scrum需求;任务工作量则需要小组成员的灵敏估算扑克游戏来估算。而且,实践中,还需要基于BurndownChart即依靠燃尽图来掌握试验进度,让任务帖子由
6、“Todo向“Inprogress、“Testing和“Done等栏目转移的过程保持可控。软件工程灵敏方法的试验框架设计采纳Scrum过程框架,共分为3个阶段,每一阶段设定为1个月。第1阶段为软件开发的前期预备阶段,包括信息收集、认知启动、数据流分析等工作。而第2、3阶段,对应灵敏开发的2个迭代周期,即Scrum过程模式中Sprint。在完成产品的开发过程中,还需要把软件需求分析与需求定义、软件设计方法、持续构建与集成、单元测试、功能测试和非功能测试等内容融入到软件开发与迭代过程,表达软件工程思想、项目管理、质量管理等内容。基于Scrum灵敏开发过程模型如图1所示。2.1试验框架设计现阶段,有
7、关于测试驱动开发TestDrivenDevelopment即TDD、Scrum、结对编程、极限编程等灵敏方法的讨论相对较多,为基于灵敏方法的试验框架设计提供了参考。对于软件工程而言,实践性强、试验多且难度大是其课程设置的主要特点,只有基于有效试验才能保证理论学问与实践训练之间的有效融合,所以在教学过程中试验内容不行或缺。在进行基于灵敏方法的软件工程试验框架设计之前,相关工作人员需要对实践内容进行科学选定,从而保证课程的内容与软件工程课程具有同步性。比方,以Scrum过程框架作为软件工程试验教学的灵敏方法,用一学期的时间完成软件工程理论内容教学和相关试验。那么,Scrum框架的整体设计时限为4个
8、月,在设计时应依据前期预备、第一个迭代、第二个迭代和第三个迭代来划分框架设计的全部周期,从而保证软件开发的完好性。以每一个月为1阶段周期,以第一阶段为前期预备阶段,后三个阶段为学生实践阶段。2.1.1前期预备阶段在这一阶段,学生们需要完成软件开发前的全部预备工作。比方,产品定义、需求分析、数据结构和数据流分析、系统框架设计以及产品发布打算。此时,基于灵敏方法的软件工程试验教学内容应当与软件工程的基本概念、项目管理过程、软件过程、系统框架和需求工程等理论课程相对应。主要试验任务应当是建立团队、分析需求、估算工作量、定义产品、发布规划并设计系统架构。当然,分析基本业务流程和数据流、数据结构也可作为
9、试验任务。试验后,应交付产品愿景、团队分工和Productbacklog。2.1.2第一个迭代所谓第一个迭代,就是软件开发过程中有关于产品功能特性开发的第一个迭代,这是Sprint的第一个阶段。设计试验框架时,相关工作人员应当基于先易后难的原则作业。因此,首个迭代较为简洁,只要保证每一个Scrum环节都过一遍即可。比方,以制定Sprint打算、设计数据库、编程、进行仅限于功能测试的验收测试、开展产品Review和反思会议,完成Productbacklog维护等试验任务。在试验后,交付Springbacklog、燃尽图、会议记录和第一版产品,并提供修改后的Productbacklog。而且,试验
10、内容应当与系统建模、打算项目、测试基本方法等理论课程进行有效连接。2.1.3第二个迭代与第一个迭代相比,第二个迭代在试验内容上增加了单元测试和UI设计;在可选任务中增加了结对编程、重构代码、每日构建和搭建继承环境等内容;试验后的交付内容与第一个迭代相同;理论教学连接以案例分析、代码重构、结构化分析与设计和基础设施与部署等内容为主。2.1.4第三个迭代相比于前两个迭代,第三个迭代的试验应添加代码评审内容,其可选任务主要为自动化测试、缺陷分析、可测试性测试驱动开发等内容;试验后需提供最终版本的燃尽图、产品和会议记录。教学时,应与风险分析与掌握、持续改良过程、团队建设沟通、产品质量分析等理论课程内容
11、连接。2.2试验框架实施为了保证基于灵敏方法的软件工程框架设计的有效实施,教师应当以观看员的身份参加学生试验组的会议,但不宜参加商量;在必要时,可为学生提供指导和示范,但教师应合理支配实践,从而保证全部学生都能获得来自教师的辅导和支持。而且,教师还应充分敬重灵敏团队的自我管理特点,以开放、包涵、信任和鼓舞的看法面对学生,引导他们参加管理过程,提高管理能力。比方,鼓舞学生自主命题、组织学生参加试验辩论评定、引导自主确定团队分工等。综上所述,基于灵敏方法的软件工程试验教学,能够有效提升该专业学生的试验能力、学习能力和应用能力,可为增添学生学科兴趣和实践创新能力奠定基础。在实际作业环节,相关教师需要基于实际教学需要,基于灵敏方法开展软件工程试验框架设计,并且通过教师引导和师生协作保证设计方案的顺利实施。 孙德刚 单位:山东华宇工学院本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第8页 共8页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页第 8 页 共 8 页