软件的开发模型概述

来源:互联网 发布:丝绸抱枕淘宝 编辑:程序博客网 时间:2024/05/02 18:03

    软件的开发模型有很多种,瀑布模型,原型模型,螺旋模型,快速模型等等。但纵观其中的本质,都离不开瀑布模型,有的只是分阶段实施,阶段中间实质也是采用瀑布模型的开发模式,有的模型可以理解为简略化的瀑布开发模型,比如简化设计流程,强化测试流程等。中国古语说的好,万变不离其宗,瀑布模型就是软件开发模型的宗,只要掌握了这个宗,其他的开发模式就可以灵活运用。下面我们就对瀑布模型进行详细阐述。

    软件工程开发的瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一制造一测试系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型的由来。


    从上面的图上可以看出,设计阶段有需求分析,基本设计和详细设计合计3个工程,有些对品质要求非常高的场合,在详细设计后面还有一个程序设计的工程。把设计转化成代码就依靠制造工程。从需求分析到制造工程为止,我们称为BUG作入工程,所有的BUG都是在这个阶段作入的。到制造工程以后,就进入测试工程。从单体测试到验收测试合计5个测试工程,我们称为BUG检出工程。与设计工程对应,制造工程对应的是单体测试工程,负责检出制造工程中作入的BUG,详细设计工程对应的是结合测试工程,负责检出详细设计工程中作入的BUG,如果在这个阶段发现了本该在单体测试中发现的BUG,那就值得我们好好分析原因,详细的分析方法将在后续章节阐述。基本设计对应的是综合测试工程,需求分析对应的是系统测试工程,最后是验收测试,他负责确认最后的成果物是否符合客户的预想。同理,如果后道测试工程发现了前道应该发现的BUG,都需要提高警惕。

    笔者工作过的2件世界500强公司,均采用完善的瀑布开发模型,但在根据项目的特性,也会采取适当的裁剪。目前我们国内,小型公司的开发流程一般由于成本,人员等的限制,流程都有很大的裁剪,比如,设计阶段,在需求分析后就直接写代码,在测试阶段,就合为一个测试工程,这样做,当然能提高开发速度,节约成本,但最后产品的品质比较难保证。当然,偶然的品质合格是有的,但保证长时间内软件的品质都合格,就很困难了,往往随着开发的项目数越来越多,BUG发生的频度也越开越高,公司会变得越来越乏力。只有完善的流程控制,才能保证每一件软件产品的品质都合格,获得客户的认同,才能做成百年老店。目前,国内一些上了规模的大公司,也逐步认识到这个问题,流程也日趋完善,也借此逐步走向了世界。




0 0
原创粉丝点击