第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)

第二章:软件建设的过程和工具

第一节:软件的生命周期和配置管理


问题一:软件开发的生命周期

1.从无到有(从0到1)

2.从有到好(从1到n)

问题二:传统的软件过程模型

两种基本类型:

   1.线性过程

   2.迭代过程

存在的模型:

    1.瀑布过程(线性)

    2.增量过程(线性)

    3.V字模型

    4.原型过程   (迭代)

    5.螺旋模型(迭代)

问题三:各个模型的含义及特点

1.瀑布模型(线性)

  • 过程:线性推进、阶段划分清楚、整体推进、无迭代、管理简单、无法适应需求增加/变化
  • 模式:第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)

2.增量模型(线性)

  • 过程:线性推进、增量式(多个瀑布的串行)、无迭代、比较容易适应需求的增加
  • 模型:第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)

3.V型(略)

4.原型(Prototyping)(迭代)

  • 特点:在原型上持续不断的迭代发现用户变化的需求
  • 迭代:开发出来之后由用户试用/评审,发现问题反馈给开发者,开发者修改原有的实现,继续交给用户评审。
  • 循环往复这个过程,直到用户满意为止。时间代价高,但开发质量也高。
  • 模型:第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)

5.螺旋(迭代)

  • 特点:多轮迭代基本遵循瀑布模式、每轮迭代有明确的目标,遵循“原型”过程,进行严格的风险分析,方可进入下一轮迭代
  • 模型:第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)

问题四:敏捷开发(Agile development)

含义:通过快速迭代和小规模的持续改进,以快速适应变化。(是增量模型和原型的综合)

特点:

  1. 极限的用和参与
  2. 极限的小步骤迭代
  3. 极限的确认/验证

模型:第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)