瀑布模型(适合于客户的需求较明确的情况下)优点:1)、可强迫开发人员采纳法律规范的方法
2)、严格地规定了每个阶段必须提交的文档
3)、要求每个阶段交出的所有产品都必须经过质量保证小组的认真验证
缺点:由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发的软件产品不能真正满足用户的需要
快速原型模型(用户需求不明确、小型或是交互型的系统、大型系统的某个部分)优点:1)、可以得到比较良好的需求定义,容易适应需求的变化
2)、有利于开发与培训的同步
3)、开发费用低、开发周期短且对用户更友好
缺点:1)、所选用的开发技术和工具不一定符合主流的进展
2)、快速建立起来的系统结构加上连续的修改可能会导致产品质量低下
增量模型(技术风险较大、用户需求较为稳定的软件系统)优点:1)、短期内可以交付满足部分用户需求的功能产品
2)、逐步增加产品功能让用户去适应新产品
3)、开放式的软件可维护性比较好
缺点:1)、对现有产品功能造成破坏
2)、适用于中型软件的开发
3)、意义上矛盾
螺旋模型(适合于大型复杂的系统)优点:1)、对可选方案和约束条件的强调有利于已有软件的重用
2)、有助于把软件质量作为软件开发的一个重要目标
3)、减少了过多测试或测试不足所带来的风险
缺点:1)、迭代次数影响开发成本,延迟提价时间
2)、找不到关键改进点,人才、物力、财力时间引起无谓消耗
3)、由风险驱动的
喷泉模型(面对对象的软件开发过程)优点:可以提高软件项目开发效率,节约开发时间
缺点:不利于项目管理