软件过程模型指的是把软件生存周期中各项开发活动的流程用一个合理的框架(开发模型)进行规范描述。软件过程模型 是一种抽象的过程表示,主要由软件的类型、规模、开发方法、开发环境等多种因素决定。
经过软工课程的学习,我大致了解到两大类软件过程模型,现叙述如下:
一、传统软件过程模型
1、瀑布模型
瀑布模型是最早也是应用最广泛的软件过程模型,它提供了软件开发的基本框架,它的基本过程是接受上一步骤的工作结果为输入,并将该过程的工作结果作为输出给下一过程,同时,检测审核该过程的工作结果是否合格,若合格,则进行下一项,不合格,则退回上一过程。
瀑布模型将软件生存周期划分为软件计划、需求分析、软件设计、软件实现、软件测试、运行和维护六个阶段,规定了他们自上而下、相互衔接的固定顺序。瀑布模型的开发过程是通过一系列阶段顺序展开的,从需求分析到产品开发维护,每个过程都会有相应的审查过程,若发现有内容为被覆盖或者发现其他问题,会回到上一步骤进行修改。
传统的瀑布模型开发软件具有以下特点:顺序性和依赖性、推迟实现、质量保证。顺序性和依赖性指的是瀑布模型后一阶段的开始必须在前一阶段工作完全完成的基础上展开。推迟实现指的是瀑布模型在编码之前设置了很多系统分析和系统设计阶段,不涉及编程实现,可以减少 前期因为分析不足而导致的损失。质量保证指的是瀑布模型每一阶段的完成都需要完成对应的文档,要交出合格的文档才能进行下一阶段。
瀑布模型的优缺点:瀑布模型可以保证整个软件产品较高的质量,保证缺陷可以被提前发现和解决,但对于前期需求不明显的项目会存在较大风险,在早期所有人员就投入项目中,导致编码人员的空闲,对人力资源的浪费。
2.原型模型
原型模型又叫快速原型模型,它是指在软件正式编码之前,先建立一个较为简单的工作原型,和最后交付的软件相比,该工作原型功能十分有限,可靠性不高,相当于一个客户需求的粗糙版本。原型模型通过用户对简单的工作圆形的反馈,使开发出的软件能够真正的合乎用户的需求,同时,通过原型来加快对最终版本的软件的开发,可以有效减少原先传统瀑布模型的冗长过程带来的风险。
原型模型的优缺点:开发人员和客户在原型上达成一致,这样可以减少设计中的错误和开发中的风险,提高客户的满意程度,能够缩短开发周期,加快工程进度。但在告诉用户还要重新生产该产品时,这往往是很难让人接受的,所以在使用原型模型进行开发时,必须让用户和开发者达成一致。
3.增量模型
增量模型融合了瀑布模型的基础结构和原型模型的原型特点,按照一定的现行序列进行开发,每一个序列将会是一个可以提交的基础版本,即将每一个过程的最终产品作为一个增量,第一个增量为最核心产品,之后逐步提升完善,直到获得最完善的产品。他引入了一个增量包的概念,在每一个小需求出现后,可以提前进行开发,即使之后这个需求改变,只要这个增量包对应的需求足够小,就不会产生过大的影响。
增量模型的优缺点:增量模型可以有效控制人员成本,在开发前期,只需要做一个核心产品,人员需求并不会很高,如果核心产品受欢迎,那就可以加大人员投入,增量模型可以有效的管理人员风险。但由于各个部分需要能够完美的组合在一起,需要软件具备开放性的体系结构,虽然增量包影响会被控制的比较小,但有可能会导致最终边改需求边改模型的情况出现,使开发过程失去整体性。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删