任何一项组织认为在进行过程定义和维护软件方面有用的实体均可成为过程财富的组成成分。软件过程财富能够为软件项目在制定、裁剪、维护和实施软件过程时提供了全面的指导。
总体上,组织的软件过程财富包括以下5个方面内容:
● 组织批准的软件生命周期;
● 组织标准软件过程;
● 裁剪指南;
● 组织的软件过程数据库;
● 组织的软件过程有关的文档库。
一般情况下,只有达到了CMM Level 3成熟度的组织,才会建立上述包括5个方面内容的、完整的软件过程财富。
由于CMM Level 2仅关注项目级的一些管理过程,因此组织通常在CMM Level 2时只实现了对特定类型项目的管理控制,实现了同类项目的可重复性。在持续的SPI工作中,组织会基于CMM Level 3的要求对特定项目的软件过程进一步升华,针对组织的所有项目建立一个共同的软件过程,并逐步建立其他的软件过程财富。
组织能够以多种方式来组织软件过程财富,具体取决于组织建立其标准软件过程的方法。例如,软件生命周期的描述可以是组织标准软件过程的一个组成部分。此外,软件过程有关文档库中的一些部分也可以存放在组织的软件过程数据库中。东软股份则是将软件生命周期的描述和裁剪指南作为组织标准软件过程的组成部分,对组织的程序文件进行统一管理。
本文结合东软股份在这方面的工作经验介绍软件过程财富的含义及其具体应用。
软件生命周期
软件生命周期是指一段时间,指从设想一软件产品开始到软件不再供使用为止的时间间隔。软件生命周期一般包括:概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装和调整阶段、运行和维护阶段,有时还包括退役阶段。
选择一个适当的软件生命周期对项目来说至关重要。在项目策划的初期,就应该确定项目所采用的软件生命周期,统筹规划项目的整体开发流程。为了做好这项工作,组织需要预先识别并总结出可供项目选择的软件生命周期,同时,还需要提供指导原则(这部分通常在裁剪指南中)帮助项目选择适当的软件生命周期。
一个组织通常为多个客户生产软件,而客户的要求也是多样化的。一种软件生命周期往往不能适合所有的情况,因此组织可以规定多种软件生命周期供项目使用。这些软件生命周期一般从软件工程文献中获得,并可加以修改,使之适于组织的情况。在制定项目定义软件过程时,这些软件生命周期可以和组织标准软件过程结合在一起使用。
东软股份依据组织内各个项目的需求特点和开发周期等特征,总结了如下表所示的几种供不同项目选择的软件生命周期。
表 软件生命周期东软股份在组织的程序文件中详细描述了每个软件生命周期,包括原理、优缺点、适合哪些类型的项目等,通过这些描述可帮助项目人员很好地理解和运用组织已批准的软件生命周期。