简介
本文简单介绍了几个传统的软件生命周期(Process Model),在后续文章会对这些生命周期差异对比,并介绍影响软件生命周期发展的主要因素,并大胆的预测未来。
什么是软件生命周期
用一句话总结软件生命周期就是指软件从生产到报废的全部过程,早期的软件生命周期往往是指——计划、需求分析、设计、实现、部署、维护、报废——这主要是收到第一个软件生命周期瀑布模型(Waterfall Model)所影响。随着不同的开发需求逐渐演化了许多不同的生命周期,其中V模型(V Model),螺旋模型(Spiral Model), 迭代式模型(Rational Unified Process),敏捷开发(Agile Model)等最为流行。
瀑布模型(Waterfall Model)
瀑布模型是许多软件生命周期的原型,主要分为七个阶段: 需求分析,设计,实现,集成,测试,安装部署,维护。每个阶段都完全不同并且没有重叠,各个阶段都有独立的交付,列如需求分析文档,设计文档,测试文档等。这种直线步骤的模型需要每一步都完全交付才能开始下一步,因为这种直线模型是没法回到之前的步骤的。
瀑布模型的最大优势是简单直接,因为他的每个阶段都有明显的交接和里程碑,所以非常方便管理和使用。如果需求很清晰并且不会变更,使用瀑布模型会相对安全。而且瀑布模型非常节约成本,因为使用瀑布模型可以雇佣新手程序员和相对短的开发周期可以缩减预算。
然而瀑布模型的缺陷也很明显,