【软件工程】常见的几种软件过程模型的比较
几种常见软件过程模型的比较 一、瀑布模型(Waterfall Model) 瀑布模型(经典生命模型)提出了软件开发的系统化的、顺序的方法。其流程从用户需求规格说明开始,通过策划、建模、构建和部署过程,最终提供一个完整的软件并提供持续的技术支持。 模型特点 : 必须等前一阶段的工作完成之后,才能开始后一段的工作; 每一阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。 前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确,后一阶段的工作才能得到正确的结果。 每个阶段结束前都要对所完成的文档进行评审,以便及早发现问题,改正错误。事实上越是早期阶段犯下的错误,暴露出来的时间就越晚,排除故障改正错误所需付出的代价也越高。因此,及时审查,是保证软件质量,降低软件成本的重要措施。 模型优点 : 强调了开发的阶段性,各阶段具有顺序性和依赖性 强调早期调研和需求分析,推迟编码实现的观点 提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。 模型局限 : 瀑布模型是一种线性模型,要求项目严格按规程推进,必须等到所有开发工作全部完成以后才能获得可以交付的软件产品。不能对软件系统进行快速创建,对于一些急于交付的软件系统的开发很不方便。 瀑布模型适合于需求明确,且无大的需求变更的软件开发(编译系统、操作系统等)