增量模型
增量和迭代的概念 例:某软件分为ABCD四个模块
增量:把软件按模块划分,依功能的重要程度定义它的开发顺序
AB——〉CD——〉ABCD
迭代:把软件(全部模块)的基本功能实现之后再进一步完善
ABCD的基本功能——〉ABCD的全部功能
增量模型的优点:
1. 可以尽早的让用户接触到产品
2. 逐步增加功能给与用户逐渐适应产品的时间
3. 可并行开发构件,加快开发的进度
增量模型的缺点:
1. 要求开发人员足够的技术能力来协调软件整体与构件之间的矛盾
并行开发构件有可能遇到不能集成的风险
螺旋模型沿着螺线旋转,如下图所示,在笛卡尔坐标的四个象限上分别表达了四个方面的活动,即: ·制定计划──确定软件目标,选定实施方案,弄清项目开发的限制条件; ·风险分析──分析所选方案,考虑如何识别和消除风险; ·实施工程──实施软件开发 ·客户评估──评价开发工作,提出修正建议。
沿螺线自内向外,每旋转一圈便开发出更为完善的一个新的软件版本。例如,在第一圈,确定了初步的目标、方案和限制条件以后,转入右上象限,对风险进行识别和分析。如果风险分析表明,需求有不确定性,那么在右下的工程象限内,所建的原型会帮助开发人员和客户,考虑其它开发模型,并对需求做进一步修正。客户对工程成果做出评价之后,给出修正建议。在此基础上需再次计划,并进行风险分析。在每一圈螺线上,风险分析的终点做出是否继续下去的判断。假如风险过大,开发者和用户无法承受,项目有可能终止。多数情况下沿螺线的活动会继续下去,自内向外,逐步延伸,最终得到所期望的系统。
螺旋模型的优点:
1. 强调风险
2. 强调阶段质量
3. 提供纠错的机会
螺旋模型的缺点:
1. 每个阶段都要提出被选方案,进行风险分析,研发周期长,效率低
2. 必须要转业的风险分析人员的参与
螺旋模型的适用范围:内部开发的大型项目
RUP流程的优点:
1. 任何功能开发后就进入测试过程,及早进行验证
2. 早期风险识别,采取预防措施
RUP流程的缺点:
1. 需求必须在开始之前完全弄清楚,否怎有可能在架构上出现错误
2. 必须有严格的过程管理,以免使过程退化为原始的试-〉错-〉改模式
如果不加控制的让用户过早接触没有测试完全,版本不稳定的产品可能对用户和开发团队都带来负面的影响