对瀑布模型的一个关键性的改进,是所谓增量模型的出现。增量模型是指首先构建部分系统,再逐渐增加功能或者性能的过程。它降低了取得初始功能之前的成本,强调采用构建方法来帮助控制更改需求的影响,也提高了创建可操作系统的速度。
增量模型是综合了瀑布模型和原型化的产物,提倡以功能渐增方式开发软件,经验表明,这种增量模型在特大型项目和小型项目中同样适用。增量模型描述了为系统需求排定优先级然后分组实现的过程,每个后续版本都为先前版本增加了新功能。
在生命周期的早期阶段(计划、分析、设计),需要建立一个考虑了整个系统的架构,这个架构应该是具有强的可集成性的,后续的构件方式开发,都是建立在这个架构之上。剩下的生命周期阶段(编码、测试、交付),来实现每一个增量。
首先创建的应该是一组核心的功能,或者对于项目至关重要的最高优先级的系统,或者是能够降低风险的系统。随后基于核心功能反复扩展,逐步增加功能以提高性能。
增量模型的优点:
- 整个项目的资金不会被提前消耗,因为首先开发和交付了主要功能和高风险功能。
- 每个增量交付一个可操作的产品。
- 每次增量交付过程中获取的经验,有利于后面的改进,客户也有机会对建立好的模型作出反应。
- 采用连续增量的方式,可把用户经验融入到细化的产品,这比完全重新开发要便宜得多。
- “分而治之”的策略,使问题分解成可管理的小部分,避免开发团队由于长时间的需求任务而感到泪丧。
- 通过同一个团队的工作来交付每个增量,保持所有团队处于工作状态,减少了员工的工作量,工作分布曲线通过项目中的时间阶段被拉平。
- 每次增量交付的结为,可以重新修订成本和进度的风险。
- 便于根据市场作出反应。
- 降低了失败和更改需求的风险。
- 更易于控制用户需求,因为每次曾两开发的时间很短。
- 由于不是一步跳到未来,所以用户能逐步适应新技术。
- 切实的项目进展,有利于进度控制。
- 风险分布到几个更小的增量中,而不是集中于一个大型开发中。由于用户能够从早期的增量中了解系统,所以更加理解后面增量中的需求。
增量开发必须注意的问题:
- 良好的可扩展性架构设计,是增量开发成功的基础。
- 由于一些模块必须在另一个模块之前完成,所以必须定义良好的接口。
- 与完整的系统相比,增量方式正式的回顾和评审更难于实现,所以必须定义可行的过程。
- 要避免把难题往后推,首先完成的应该是高风险和重要的部分。客户必须认识到总体成本不会更低。
- 分析阶段采用总体目标而不是完整的需求定义,可能不适应管理。
- 需要更加良好的计划和设计,管理必须注意动态分配工作,技术人员必须注意相关因素的变化。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!