软件生命周期模型
- 瀑布模型
- 快速原型
- 增量模型
- 迭代模型
- 螺旋模型
瀑布模型
瀑布模型:最早提出的软件测试开发的过程名模型
- 存在问题:
- 强调时间顺序的严格执行,前阶段不完成,后阶段不开始。
- 将测试放在了编码之后,没有体现出测试贯穿生命周期的原则,可以避免的需求问题一直延续到代码完成才暴露或则被发现
- 不适应用户需求的变化
- 优点
- 为项目提供了按阶段划分的检查点
- 当前阶段完成后,只需要去关注后续阶段
- 缺点
- 各个阶段划分完全固定(太严格了),阶段之间产生大量的文档,极大的增加了工作量。
- 线性开发,用户等到整个过程的末期才能见到开发成果,从而增加了开发的风险。
- 瀑布模型不适应用户需求变化。
螺旋模型
螺旋模型是一种演化软件开发过程的模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统haul严格监控。
- 引入其他模型不具备的风险分析,使软件在无法排出重大风险时有机会停止,以减少损失
- 螺旋模型更适合大型的昂贵的系统级的软件应用
迭代模型
- 迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必须的所有其他元素,强调开发的深入
- 在某种程度上,开发迭代是一次完整的经过所有工作流程的过程:需求分析,设计,实施和测试工作流程。
- 迭代过程具有以下优点:
- 降低了在一个增量上的开支风险。
- 降低了产品无法按照既定进度进入市场的风险。
- 加快了整个开发工作的进度。
- 迭代过程这种模式使使用需求的变化会更容易些。