简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点(从项目特点、风险特征、人力资源利用角度思考)
瀑布模型
优点:
- 瀑布模型提供了一个使分析、设计、编码、测试和支持的方法有一个共同的指导,定义了软件开发基本流程与活动,有利于大型软件开发过程中人员的组织、管理。
- 瀑布模型的要求需求是明确的,在短期内可获取每个阶段是无差错的。所以在前一个阶段完成后,只需要去关注后续阶段。
- 使用项目的阶段评审和文档控制有效地整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中的缺陷,使质量达标
缺点:
瀑布模型中的软件活动是文档驱动的,所以当阶段之间规定过多的文档的时候,会增加系统的工作量。
由于开发模型是纯线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
通过过多的强制完成日期和里程碑来跟踪各个阶段
瀑布模型的突出特点是不能反映需求的变化。
增量模型
优点:
- 将开发的软件模块化,可以分批递交成品。客户易于跟踪进
- 以组件作为单位来开发降低了风险。一个开发周期内的错误不会影响到整个软件系统
- 开发次序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序调整。
- 一个开发周期内的问题不会扩散,降低了风险
缺点:
- 容易反工,如果需求没有考量好。
- 可能会超过组织管理能力
- 容