小项目实施软件配置管理探析[2]
作者:ITPUB 来源:ITPUB论坛
二、软件配置管理
软件配置管理(SCM,Soft Configure Management)的目的是在整个项目的软件生存周期内,建立和维护软件项目产品的完整性。
软件配置管理包括在给定时间点上及时地标识软件的配置,系统地控制对配置的更改,并在整个软件生存周期中维护配置的完整性和可跟踪性。置于软件配置管理之下的工作产品包括交付给客户的软件产品(如软件需求文档和代码),以及与这些软件产品一同标识的或为产生这些软件产品所要求的产品项(如编译程序)。
通过软件配置管理的更改控制和配置审核职能,项目能系统地控制对基线的更改和由软件基线库构造的软件产品的发布。
关键过程域包括实施软件配置管理职能的有关实践。标识特定配置项/单元的实践则包含在描述各配置项/单元开发和维护的关键过程域中。
1.SCM的关键活动
CMM中的软件配置管理包括了多项相关活动,包括版本控制、建立软件配置库系统、配置项变化的控制、软件基线记录报告等等。如果将SCM作为一个配置管理模型,应当强调以下几点:
(1)任务清晰,责任明确
为了确保软件开发过程中开发人员之间各种信息交流的顺畅和准确,首要问题是确立一个实施架构。通常是以“组”的概念细分一项工程中各类任务的执行单位,明确各组在开发和管理过程中各自的职责、需要完成的工作,管理层面可由此清晰地了解产品的完成情况。总体设计者利用任务的展开方式进行任务分配,用网络图的方式控制各组之间的关系,包括时间进度计划和各组之间的接口等等。
软件开发过程中的任务管理是配置管理的基础,如果任务定义不明确,配置管理的实施也将难以保证。通过对任务的详细定义,把每一个子任务具体分配给某一个人去完成,这样就将对集体管理的任务细化到对个人的管理层面上了。
(2)建立软件配置管理库系统
建立软件配置管理库系统的主要目的是用来存放软件基线。它可以对软件配置管理进行多级控制,譬如在产品开发周期中,不同阶段有着不同力度的配置管理,随着产品不断成熟,控制力度也随之增强;提供对库中配置项的存储和修改的功能,支持在相关组之间和库中不同控制级间共享和传输配置项;支持生成软件配置管理的报告文档及软件基线内容的报告文档;有助于确保从软件基线库中发布的相关文档和软件产品的正确性。
(3)版本管理
版本控制是软件配置管理的基本要求,它可以保证在任何时刻恢复任何一个中间产品的任意版本。版本管理记录了所有库中代码和文档的开发历程,可以保证产品的可追溯性,为调试代码、清除缺陷提供很大的帮助。同时,版本管理支持并行开发和维护,为协同开发打下了基础。产品开发过程中版本状态的改变如图2所示。
(4)变化控制
在有配置管理概念的软件产品开发过程中,所有的改变都是在有效控制下的,包括软件基线的改变、配置项的改变。改变管理的一个基本项就是改变请求(CR,Change Request),在一个软件系统中描述逻辑上改变的实体。改变请求是由开发计划变化和错误报告生成的。在开发过程中,CR主要收集有关系统改变的信息。开发人员将一个新建或修改过的文件写入库中时,要指出相关的CR,文件名称和版本需在CR中登记。CR的最终版本包括逻辑改变的描述和所有修改的文件版本信息。由SCM组和SCCM(软件配置控制委员会)审核要写入配置管理库中的新的软件基线。
文章来源于领测软件测试网 https://www.ltesting.net/