技术开发 频道

全职杀手:用VSTS2010进行软件生命周期管理

  【IT168 专稿】

  应用程序生命周期管理

  跟世界上的任何事物一样,软件研发也有其生命周期。通常,我们将一个软件的生命周期划分为分析、设计、开发、测试、部署、维护直至最后废止等这样几个阶段;而利用各种工具辅助每个关键环节进行管理,就称为应用程序生命周期管理(ALM: Application Lifecycle Management)。

  在应用程序的整个生命周期中,每—个关键环节都有其任务,同时产生—定的规格或是程序再交付给下—个环节。如果缺少管理,或者是流程中的某个环节建立在一个过程所产生的错误结果之上,整个软件工程极有可能面临失败的命运。应用程序生命周期管理的关注点就在于将软件研发的全部过程看做一个连续的、可重复的过程:定义、设计、开发、测试、部署和管理。过程中的每个部分都需要认真对待,进行监控,以确保整个流程能够顺利完成。

图1 应用程序生命周期管理

  通过实施应用程序生命周期管理,我们可以获得如下的好处:

  •提高生产率,整个团队共享开发和部署的非常好的实践(Best Practices)过程,而开发人员则只需要关注具体的业务需求(Business Requirement)
  •提高质量,使得最终交付的应用程序满足用户的期望(Expectation)
  •打破合作过程中的壁垒,尤其是技术人员和非技术人员之间的沟通障碍,使得项目中的各种信息流通畅
  •通过简化的集成方案加速开发
  •使设计与应用程序保持同步从而降低维护时间
  •使发生在技能(Skill)、流程(Process)、技术(Technology)方面的投资最大化
  •通过降低修改与构建程序所需时间提高应用程序应对业务变更的灵活性

  随着软件开发实践的不断深入,应用程序生命周期管理越来越被业界接受为一种经过实践检验的,可以创造高品质的应用程序的,可靠的软件开发模式。但是,要实施整个应用程序生命周期管理是非常复杂的,我们必须借助一些工具来帮助我们完成整个生命周期的管理。最初的时候,项目中的技术人员使用一些单独的开发工具进行软件开发,例如架构师使用Rose进行架构设计,而开发人员则使用Visual Studio进行编码。同时,项目中的非技术人员则使用一些通用的项目管理工具进行项目管理,例如项目经理使用Project,Excel等制定项目计划,进行任务划分和分配等。

  那个时代,这些软件被简单松散地集合在一起,各个软件之间无法进行信息流的沟通,软件开发流程和项目管理流程两者是完全分裂开的。导致信息在项目内部的阻塞。同时,由于软件开发的复杂度(Complexity)和混合度(Sophistication)的增长,最初以版本控制软件为核心的工具集合已经向外扩展到更多方面,从而对应用程序生命周期管理软件提出了更多的要求。

0
相关文章