软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。
软件开发模型
名称 特点 缺点 扩展 瀑布模型
1)为项目提供了按阶段划分的检查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
-
1)在项目各个阶段之间极少有反馈。
2)只有在项目生命周期的后期才能看到结果。
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
-
4)惧怕用户测试中的反馈,惧怕需求变更
瀑布V模型 螺旋模型
限制条件:
- 适应于内部的大规模软件开发:螺旋模型强调风险分析,许多客户都无法接受和相信这种分析因此
- 适合于大规模软件项目(执行风险分析将大大影响项目的利润,进行风险分析就毫无意义)
- 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险
优点:
- 设计上的灵活性,可以在项目的各个阶段进行变更.
- 以小的分段来构建大型系统,使成本计算变得简单容易
- 客户始终参为保证了项目不偏离正确方向以及项目的可控性
- 客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互.
- 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品.
不足
与用户见面晚,成功率比较低
与系统要求明确的系统;
各种应用软件的开发均可以使用。
快速原型模型 演化模型 渐增模型 喷泉模型
参考: