问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

软件生存期模型:从瀑布到敏捷的演变

创作时间:
作者:
@小白创作中心

软件生存期模型:从瀑布到敏捷的演变

引用
CSDN
1.
https://blog.csdn.net/lv_soso/article/details/139778695

软件生存期模型是软件工程领域的重要概念,它定义了开发高质量软件所需完成的一系列任务框架。本文将详细介绍几种典型的软件生存期模型,包括瀑布模型、增量模型、快速原型模型、喷泉模型、螺旋模型和敏捷开发模型,帮助读者理解它们的特点、优缺点及适用场景。

瀑布模型

1970年由Royce首次提出,20世纪80年代初被广泛接受。主要用于功能、性能明确且无变化的软件系统开发,如操作系统、财务系统等。

优点
缺点
迫使开发人员采用规范的方法
需求难于开始完全确定
每个阶段必须提交的文档
文档驱动,风险大
每个阶段的产品都必须质量验证
灵活性差,一旦修改损失惨重

快速原型模型

快速原型模型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成功能的子集。

该原型向用户展示待开发软件的部分功能和性能;用户对该原型进行测试评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件进行修改完善,直至用户满意认可之后,进行软件的完整实现及测试、维护。

优点
缺点
快速构建、容易修改
快速构建(弱功能)
取代规格说明阶段,容易适应需求的变化
资源规划和管理较为困难
用户参与
对开发环境要求高

增量模型

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。

优点
缺点
将待开发的软件系统模块化,可以分批次地提交软件产品
要求待开发系统能够被模块化
以构件为单位进行开发降低了软件开发的风险
开发顺序灵活
开发顺序灵活

螺旋模型

1988年,巴利·玻姆正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析。

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。

优点
缺点
风险分析
风险分析
质量保证
对开发人员要求高

喷泉模型

喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。

优点
缺点
提高软件项目开发效率
难以管理项目
节省开发时间

敏捷开发模型

2001年2月11日至13日,在美国犹他州瓦萨奇山雪鸟滑雪胜地,17个人聚到一起,交谈、滑雪、休闲,当然还有聚餐。他们试图找到共识,最终的成果就是《敏捷软件开发宣言》。

敏捷的核心思想

以人为本、适应变化。

敏捷12原则

  1. 最高优先级的是:通过尽早和持续交付有高价值的软件,满足客户。
  2. 欣然面对需求变化,即使是在开发阶段的后期,敏捷流程就是用变化来为客户获得竞争优势。
  3. 频繁交付可工作的软件,从数周到数月,交付周期越短越好。
  4. 在项目过程中,业务人员、开发人员必须每天在一起工作。
  5. 以受到激励的个体为核心构造项目,为他们提供所需的环境和支持,信任他们可以把工作做好。
  6. 最有效的、最高效的沟通方法是面对面的交谈。
  7. 可工作的软件是衡量进度的首要标准。
  8. 敏捷流程倡导可持续开发。客户、开发人员、用户要能够共同、长期维持步调(节奏)、稳定向前。
  9. 持续地追求技术卓越和良好的设计,以此增强敏捷的能力。
  10. 简单 -- 尽最大可能减少不必要的工作,简单是敏捷流程的根本。
  11. 最佳架构、需求和设计,来自自组织型的团队。
  12. 团队定期反思如何提升效率,并调节和调整自己的工作方式。

敏捷开发流程

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号