赞
踩
移动和 Web 开发行业正在快速发展,开发人员可以使用新的工具和方法来创建更好的应用程序。
为取得成功,企业和开发人员必须紧跟软件开发生命周期和技术的最新发展。软件开发生命周期帮助公司高效地交付高质量的产品并减少错误。
这篇适合初学者的文章解释了迭代开发,这是一种典型的软件开发生命周期。
什么是迭代开发?
迭代开发是通过将软件开发过程分成更小的部分来简化软件开发过程的过程。
该功能的代码是在多个迭代或周期中开发和测试的。
迭代开发方法基于迭代的系统重复,迭代是微小的软件开发周期。
该过程从软件组件的规范和实现开始。每次迭代都会生成程序的新版本。完成此过程,直到获得最终结果。因此,迭代方法的目的不是从全面的需求规范开始。
简单来说,迭代开发是一种将广泛应用程序的软件开发划分为更小部分的技术。
迭代开发使用更小、更易于管理的项目迭代。像 Scrum 这样的敏捷技术使用迭代来生产可交付的产品。
什么是迭代?
也称为 Sprint,它是有时间限制的,用于指较短的开发周期。
这意味着开发人员有一定的时间来完成给定的开发周期。开发人员的工作只有在生成可用代码后才算完成。
迭代开发允许开发人员将修改合并到最终产品中。
如果采用传统的流程,可能只有在开发阶段才会发现不可预见的困难。只要将项目分解为多个阶段,并且团队可以在继续下一步之前评估每个步骤的进展或所做的修改,就可以通过迭代工作来避免这种情况。
迭代开发的历史
在 1950 年代,引入“看板方法”刻画了创建迭代 SDLC 模型的方法。该方法的核心思想来自精益生产,它侧重于效率、快速交付和迭代改进。因此,将其改进为迭代方法并不难。
它还适用于不属于本文的其他一些 SDLC 方法。
1999 年对迭代过程进行了充分研究。
顺便说一句,人类学习的过程被认为是一个反复试错的过程。
根据这个假设,人们认为可以应用相同的方法来更快地开发软件并减少错误。
同样的方法被认为与开发更好的软件有关。
因此,微软在 2004 年采用了软件开发的迭代策略,这激发了更多的开发人员加入。
在接下来的几年里,这一战略有了进一步的发展。例如,软件开发中的敏捷和精益方法使用迭代模型来确保更快、更高效的产品开发过程。
迭代开发与增量开发
迭代和增量开发是一种结合了迭代设计和增量开发模型的方法。它被软件工程师用来帮助项目管理。
迭代和增量生命周期之间的主要区别在于,迭代过程通过持续改进推进,而增量过程以小增量推进。
为了更好地理解这些策略,让我们将它们分解为两个组成部分:
增量策略将软件开发过程分成小的、可管理的块,称为增量。
每次迭代都建立在前一次迭代的基础上,以便获得增量收益。
迭代:迭代范式涉及软件开发周期的系统重复,称为迭代。每次迭代后,都会创建一个新的程序版本,直到获得最佳产品。
迭代和增量开发模型是互补的,这就是为什么它们经常被串联使用以提高效率和提供项目可交付成果的原因。
迭代与敏捷开发之间的区别
敏捷开发是指持续提供产品价值的产品生命周期方法。与从头到尾开发产品的项目方法相反,情况并非如此。相反,在敏捷开发中,每个产品增量都被视为产品持续发展中的一个独立阶段。
它是最流行的软件开发方法之一。敏捷开发是增量和迭代工作序列的组合,通过快速提供工作产品来优先考虑客户满意度和流程适应性。
以下是迭代开发和敏捷开发之间的区别:
序列号
迭代开发
敏捷开发
迭代模型是一种软件开发模型,其中实施从小部分开始,并通过功能团队的参与迭代到最终解决方案。
软件开发的敏捷方法论是一种模型,其中规范和解决方案通过职能团队的持续合作得到改进。
2.
在这个范例中;开发过程称为Sprint。
在此范例中,开发过程称为迭代。
3.
在 Sprint 期间,协作团队可以审查产品。
协作团队可以审查迭代基线产品。
4.
该范例有两个主要角色:Scrum Master 和 Team Member。
在这个范例中,有两个角色:项目经理和团队成员。
5.
Scrum Master 负责设施,而团队成员进行估算。
项目经理负责每个迭代的估计和完成。
6.
团队成员负责准备、识别和执行测试用例。
测试人员负责创建、识别和执行测试用例。
迭代开发:过程
与瀑布方法相反,迭代开发过程不遵循预定的路径。相反,要实现整体部署阶段,您必须完成初始规划,这不需要非常明确的定义,然后在每次迭代中重复其余阶段,并在其间进行严格的测试。
软件和系统集成在每个迭代周期开始时进行测试。在每个阶段,都会做出决定,而不管结果是为下一个周期保存还是丢弃。
此外,软件的较小部分在每次迭代中都在处理,称为增量原型制作。
使用这种 SDLC 模型,迭代概念允许开发人员审查和修改先前的周期,直到所有需求都已完成并且他们已经交付了成品。
为了更好地帮助您,让我们更详细地介绍这些阶段:
第 1 步:规划和分析
在规划阶段,开发人员和客户根据业务和利益相关者的需要确定软件需求。由于在后续的迭代中会重复这个过程,所以此时没有必要确定风险和质量。
但是,此阶段将在后续迭代中重复,以确保降低风险并保持质量。
确定所有需求后,进行分析以加快开发过程,例如识别数据库模型。
例如,假设您需要构建一个对时间敏感的电子商务应用程序。
您必须首先合并主页、购物车和结账/支付基础设施。
一旦您完成了每个需求的初始规划,您将在其中定义总体项目需求、您的目标受众、客户的需求等,您将继续下一步。
您将从第一次迭代开始,重点放在主页、购物车和支付系统模板上。
完成此级别后,您才能继续进入下一级别。作为迭代过程的结果,这就是发生的事情。
第二阶段:设计
在迭代开发中,设计与其他过程相比没有那么重要。尽管如此,继续这个阶段来建立软件的架构是有意义的。在本节中,设计团队开发服务、语言、数据层等技术需求。
关于前面提到的电子商务市场实例,在迭代开发的这个阶段,设计人员描述了构建三个功能的基本版本所需的业务规则、数据库、数据层、语言等。
完成后,继续执行。
第三阶段:执行
在此阶段,开发团队开始为软件的第一个版本编写代码。开发人员根据编码原则设计第一个迭代模块的技术架构、数据库和程序。
要编写代码,您将遵守编码原则并利用一组后端和前端技术,例如编译器、解释器和调试器。
在此阶段,您将构建第一个迭代模块的技术架构、数据库和程序。
请记住,实施和测试有时会同时重复进行,以保证不会再次出现缺陷。
因此,如果您怀疑您错误地编写了一部分代码,您可以修改它并继续下一次迭代。
第四阶段:测试和检查
在测试阶段,检查代码中的潜在缺陷。在单元测试期间检查各个代码单元。集成测试确认代码单元在组合时功能正确,而用户验收测试验证系统满足该迭代的用户需求。
测试团队还使用各种方法评估迭代模块的安全性,以抵御潜在攻击,包括黑盒(无法访问源代码)、灰盒(部分访问源代码)和白盒(完全访问源代码)。
第五阶段:评估
每次迭代后,您将评估项目。客户将检查项目的效率和真实性。
测试后,您的听众甚至您作为开发人员可能会遇到功能、UI 设计、UX 设计等方面的问题。
在此阶段,您将收集反馈并通过规划开始下一次迭代。
如果客户想要利用维护选项,您还将为客户提供每周或每月的维护服务
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。