在软件配置管理中,随着开发活动的进展,会有越来越多的系统组件进入受控状态,为了便于对软件变更进行控制和管理,软件配置管理引入了“基线”这一概念。基线可以看作是软件配置项在其生命周期不同时间点通过正式评审,并进入正式受控的一种状态,此状态都是其下一步开发的参考点和出发点,该过程一般称为“基线化”。常见的软件项目基线见图。
在配置管理中,基线是项目库中每个工件版本的特定时间下的“快照(snapshot)”,它提供了正式的标准,后续的工作就要基于这个标准,基线是开发过程中的关键里程碑。在配置管理中,各个基线的管理都将受到严格地把控,基线中的配置项被“冻结”,不能再被任何人随意修改,对其的修改将严格按照变更控制要求进行。在一个软件开发阶段结束时,上一个基线加上增加和修改的基线内容,就形成了下一个基线。这一过程又称为“基线管理”。
基线的主要属性有名称、标识符、版本、日期等。通常交付给用户的基线被称之为“release”,为内部开发用的基线则被称为一个“build”。
基线的优势在于它的重现力,可追踪性和版本隔离。重现力指的是返回并重新生成软件系统给定发布版本的能力,或者是在项目的早些时候重新生成开发环境的能力。当认为变更不稳定或不可信时,基线为团队提供了一种取消变更的方法;可追踪性指的是建立项目工件之间的前后继承关系,目的是确保设计满足要求、代码实施设计以及用正确代码编译可执行文件;版本隔离指的是基线为开发工件提供了一个定点和快照,新项目可以从基线提供的定点之中建立。作为一个单独的分支,新项目将与随后对原始项目(在主要分支上)所进行的变更进行隔离。