軟體生命週期管理

维基百科,自由的百科全书
跳转至: 导航搜索
软件开发
软件开发步骤
需求分析 | 软件架构 | 软件设计 | 软件编程 | 软件测试 | 软件部署 | 軟體維護
软件开发模式
敏捷开发 | 無塵室 | 迭代式开发 | RAD | 统一过程 | 螺旋模型 | 瀑布模型 | 极限编程 | Scrum
软件开发辅助领域
配置管理 | 文档编写 | 质量管理 | 项目管理 | 使用者經驗設計
软件开发工具
编译器 | 除错器 | 性能分析 | GUI设计 | 集成开发环境

軟體生命週期管理(Application lifecycle management),簡稱ALM

软件生命周期[编辑]

软件生命周期(Software Development LifeCycle)是指软件的产生直到报废的全部过程。

生命周期是事物发展的客观规律,软件同样存在生命周期。早期的软件生命周期往往是说「软件从计划、需求开始,经历分析设计、实现、部署、维护,直到最后逐渐消亡的」。这是受到了第一个软件生命周期模型---瀑布模型[1]影响,上述语句实质上简要的描述了瀑布型生命周期。 现在的软件生命周期不再只考虑瀑布型生命周期,另外常见的软件生命周期模型有原型模型螺旋模型[2]迭代模型。所以现在的软件生命周期说明应当不再包括瀑布型生命周期中的典型阶段。

因此,现在对软件生命周期及软件生命周期模型采用如下定义:

  • 软件生命周期是指软件的产生直到报废的全部过程。
  • 软件生命周期模型是指人们为开发更好的软件而归纳总结的软件生命周期的典型实践参考。

最近几年来,给软件生命周期带来最多活力的是敏捷软件开发[3],使得这个领域呈现出勃勃生机,出现了一些更好响应变化、迎接竞争的生命周期模型。

敏捷软件开发明确对生命周期模型提出了要求:短迭代开发[4][5]。迭代模型的历史可以追溯到上世纪50年代,但以往的迭代模型并没有对迭代周期长度提出要求。而在敏捷软件开发中,迭代周期长度一般不超过2个月,而常见的迭代周期是2周到4周,因此可以称之为“短迭代”。

有些敏捷软件开发在主开发过程前安排有预研或计划或架构或需求阶段等等,在主开发过程后安排有系统集成测试验收测试试运行等等,这样做并不违反敏捷开发原则,但其主开发过程应当采用短迭代开发,而且主开发过程的工期应当占有显著的比例,形成多个短迭代。

敏捷开发讲究固定的节奏,建议按照固定的节奏开发,所以短迭代的周期长度在开始选定之后,一般不作改变。同样的原因,敏捷迭代与迭代之间一般不安排缓冲期,上个迭代未完成的内容放到下个迭代中进行处理。

敏捷开发迭代与瀑布生命周期的阶段是不同的。瀑布型中需求分析阶段的产物一般是需求规格说明书,不同阶段的产物是不同的;而敏捷开发迭代的产物是软件本身,前期迭代的产物也许不完整,但各个敏捷开发迭代的产物是一致的、逐步改进完善的软件本身。

ALM software suites[编辑]

Some specialized software suites for ALM are:

Name Released by
codeBeamer Intland Software
Coverity Development Testing Platform Coverity
Endevor CA Technologies
FogBugz Fog Creek Software
FusionForge FusionForge
Gemini Countersoft
GeneXus GeneXus - Artech
HP Application Lifecycle Management HP Software Division
IBM Rational solution for Collaborative Lifecycle Management IBM
IBM Rational Team Concert IBM
Mylyn Eclipse Foundation
Parasoft Concerto, Parasoft Development Testing Platform Parasoft
Protecode System 4 Protecode
Pulse Genuitec
SAP Solution Manager SAP
StarTeam Borland
Team Foundation Server Microsoft
TestTrack Seapine Software
uberSVN WANdisco
Visual Studio Application Lifecycle Management Microsoft
workspace.com workspace.com

延伸導讀[编辑]

  • Keuper, Frank; Oecking, Christian; Degenhardt, Andreas; Verlag, Gabler. Application Management: Challenges - Service Creation - Strategies. 2011. ISBN 978-3-8349-1667-9. 
  • Linnartz, Walter; Kohlhoff, Barbara; Heck, Gertrud; Schmidt, Benedikt. Application Management Services und Support. Publicis Corporate Publishing. 2004. ISBN 3-89578-224-6. 
  • Gartner Market Scope for ALM 2010. 
  • Hüttermann, Michael. Agile Application Lifecycle Management. Manning. 2011. ISBN 978-1-935182-63-4. 

参考资料[编辑]

  1. ^ Royce W W. Managing the development of large software systems[C]//proceedings of IEEE WESCON. 1970, 26(8).
  2. ^ Boehm B W. A spiral model of software development and enhancement[J]. Computer, 1988, 21(5): 61-72.
  3. ^ Manifesto for Agile Software Development
  4. ^ Principles behind the Agile Manifesto
  5. ^ Lindvall, Mikael, et al. "Agile software development in large organizations." Computer 37.12 (2004): 26-34.

相關[编辑]