10年间,致力于中国最专业的UML解决方案
UML一站式解决方案   Trufun QQ:344593239   咨询热线:029-62375359 13379288210  

软件的分阶段开发模型


时间: 2017-08-10    来源: 楚凡科技

  引言
  软件与硬件不同,软件的研制过程就其实质是生产过程。软件研制上的分阶段就等价于设备生产中的分工序、工步,是必须落实的。放弃了分阶段开发,也就抛弃了软件工程的根本。
实际上,软件的分阶段研制也是软件工程理论研究的一个主要成果。软件开发的瀑布模型、V字模型等都是分阶段研制的。
软件分阶段开发的优点是,正确描述了分析、设计、编码、测试等工作的相互关系,有助于打破以前那种一切以代码编写和调试为中心的开发和管理思想。
1 瀑布模型
  著名的“瀑布模型”于1970年由温斯顿·罗伊斯(WinstonRoyce)提出,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等6个基本活动,并且规定了它们自上而下、相互衔接的固定次序,开发进程从一个阶段“流动”到下一个阶段,如同瀑布流水,逐级下落。
这也是瀑布开发名称的由来。在该架构下,开发过程通过一系列开发阶段顺序展开,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。因此,如果有信息未被覆盖或者发现了问题,可以“返回”上一个阶段并进行适当的修改。
其核心思想是按工序将问题化简,将功能的实现与设计分开,即将逻辑实现与物理实现分开,便于分工协作。
瀑布模型的最大优点是提供了一种工作分解的机制和按阶段划分的检查点。前一阶段结束并经严格确认后,只需关注下一阶段的开发工作。目前大量存在的现象是:有些软件开发人员不进行严格的阶段确认,开发人员似乎进展迅速,很快做出一个个初具模样的软件,但之后就陷入了无穷无尽的修改、反复的过程。需求的变化、设计的变更、BUG的出现,导致软件代码无数次重写,生成的软件版本多到开发人员自己都搞不清楚。
这里面当然有用户需求变化或之前不明确的需求不断确认的因素,但不按阶段进行状态的确认、固化和控制是主要的原因。

2 V模型
  目前广泛使用的一种分阶段开发模型是所谓的V模型。V模型是将分阶段开发与对应进行的分阶段验证放在一个图中,从而将整个开发过程构造成一个V字形而得名,它将软件
实现和软件验证有机地结合起来。在V模型中,需求分析和功能设计对应验收测试。
在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例并策划测试活动。
当系统设计人员在做系统设计时,测试人员就可以了解系统是如何实现的,基于什么样的平台,开始设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。
因为这些准备工作要花去很多时间。当设计人员在做详细设计时,测试人员开始编制功能、性能等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。而在详细设计结束后,在开发人员进行编程实现的同时,测试人员同步启动单元测试的准备工作。
从中可以看出,V模型使我们能清楚地看到质量保证活动和开发活动同时展开。项目一启动,软件测试的工作也就启动了。而不是像单纯的瀑布模型那样,软件测试是在代码完成之后才进行的。
另一方面,需求分析、定义和验收测试等工作主要是面向用户,要和用户进行充分的沟通和交流。水平虚线下部的大部分工作,主要是技术开发工作,在开发组织内部进行,主要由工程师、技术人员、质量保证人员完成。
从垂直方向看,越往下白盒测试方法使用越多。在集成、系统测试阶段更多是将白盒测试方法和黑盒测试方法结合起来使用,形成灰盒测试方法。而在验收测试过程中,一般使用黑盒测试方法。
如同单纯瀑布模型一样,V模型也可以进行迭代,形成迭代的V模型。迭代的V模型目前在包括国防型号研制项目等广泛的领域内得到了应用。只不过从不同用户管理的角度,更突出强调了在各迭代之间的外部评审程序(方案评审、初样评审、正样评审)。
结束语
  软件的开发技术研究是没有止境的。软件开发模型随着软件设计思想的改变而发展。每次新的软件设计思想的突破都会出现新的软件开发过程模型,以达到提高软件的生产效率和质量的目的,提出新的解决“软件危机”问题的方案。在软件开发过程中采用分阶段的模型能起到事半功倍的效果。

Trufun十五年专注致力于软件工程全过程解决方案,提供从需求、分析、设计、开发到测试的完整管理开发过程,愿与各方进行科研、开发等方面的合作。
分享到: