軟體生命週期管理 軟體生命週期管理Software Development LifeCycle Management是软件生命周期中的管理計劃软件生命周期Software Development LifeCycle是指软件的产生直到成熟的全部过程软件开发过程 生命周期是事物发展的客观规律软件同样存在生命周期早期的软件生命周期往往是说软件从计划需求开始经历分析设计实现部署维护直到最后逐渐消亡的这是受到了第一个软件生命周期模型瀑布模型影响上述语句实质上简要的描述了瀑布型生命周期 现在的软件生命周期不再只考虑瀑布型生命周期另外常见的软件生命周期模型有原型模型螺旋模型迭代模型所以现在的软件生命周期说明应当不再包括瀑布型生命周期中的典型阶段 因此现在对软件生命周期及软件生命周期模型采用如下定义 软件生命周期是指软件的产生直到成熟的全部过程 软件生命周期模型是指人们为开发更好的软件而归纳总结的软件生命周期的典型实践参考 最近几年来给软件生命周期带来最多活力的是敏捷软件开发使得这个领域呈现出勃勃生机出现了一些更好响应变化迎接竞争的生命周期模型 敏捷软件开发明确对生命周期模型提出了要求短迭代开发迭代模型的历史可以追溯到上世纪年代但以往的迭代模型并没有对迭代周期长度提出要求而在敏捷软件开发中迭代周期长度一般不超过个月而常见的迭代周期是周到周因此可以称之为短迭代 有些敏捷软件开发在主开发过程前安排有预研或计划或架构或需求阶段等等在主开发过程后安排有系统集成测试或验收测试或试运行等等这样做并不违反敏捷开发原则但其主开发过程应当采用短迭代开发而且主开发过程的工期应当占有显著的比例形成多个短迭代 敏捷开发讲究固定的节奏建议按照固定的节奏开发所以短迭代的周期长度在开始选定之后一般不作改变同样的原因敏捷迭代与迭代之间一般不安排缓冲期上个迭代未完成的内容放到下个迭代中进行处理 敏捷开发迭代与瀑布生命周期的阶段是不同的瀑布型中需求分析阶段的产物一般是需求规格说明书不同阶段的产物是不同的而敏捷开发迭代的产物是软件本身前期迭代的产物也许不完整但各个敏捷开发迭代的产物是一致的逐步改进完善的软件本身