软件配置管理中的基线问题研究
姜文;刘立康
【摘 要】Baseline is an important concept in software configuration management. There are many different definitions of baseline,which is a vague concept of engineering. Each baseline definition reflects the connotation of the baseline from a profile,only needing to analyze the difference and inner link for various definitions between the baseline. In this paper,combined with the basic concept of configuration management,five different baseline definitions are summarized respectively. It describes the baseline level,baseline phase of software pro-ject,and baseline levels and granularity in implementation phase. Then it introduces the baseline management process and the advantages for baseline management in software development. Through a variety of related concepts of the baseline,the relationship between the con-cept of baseline and inner link is clarified. It focuses on the baseline related technical problems,which contributes to application and man-agement of the baseline. Practice shows that to understand the connotation of the con
cept of baseline in depth helps to grasp the difference and common of software configuration management tools,doing a good job of software configuration management in a variety of circum-stances.%基线是软件配置管理中的一个重要概念。基线有多种不同的定义,是一个比较模糊的工程概念。每种基线定义只反映了基线内涵的某个侧面,需要分析研究各种基线定义之间的区别和内在联系。文中结合配置管理的基本概念,分别归纳并给出了五种不同的基线定义;叙述了基线的层级、软件项目的阶段基线、实现阶段基线的水平等级和粒度;之后介绍了基线管理的过程和基线管理在软件开发中的优点。通过叙述各种基线的相关概念,理清了各种基线概念之间的关系和内在联系。集中介绍了基线相关的技术问题,有助于更好地应用和管理基线。工作实践表明,深入理解基线概念的内涵有助于掌握各种软件配置管理工具的区别和共同之处,从而在各种环境下做好软件开发的配置管理工作。
【期刊名称】《计算机技术与发展》
【年(卷),期】2016(026)006
【总页数】5页(P6-10)
【关键词】配置管理;配置项;版本;版本库;基线
【作 者】姜文;刘立康
【作者单位】西安电子科技大学 通信工程学院,陕西 西安 710071;西安电子科技大学 通信工程学院,陕西 西安 710071
【正文语种】中 文
【中图分类】TP391.41
软件配置管理是对软件配置项的管理。为了使软件配置项能够随项目的进展有序、准确的变化,为项目提供有效的参考,引入了“基线(Baseline)”的概念。在一个开发阶段结束或一组功能开发完成后,要对相应的配置项进行基线化,形成各类基线。
基线是软件配置管理[1-9]中的一个重要的基本概念。基线有多种不同的定义,也是一个比较模糊的工程概念。文中介绍了配置管理的基本概念,分别归纳并给出了五种不同的基线定义;叙述了基线的层级、软件项目的阶段基线、实现阶段基线的水平等级和粒度;介绍
了基线管理的过程和基线管理的优点。各种基线定义都反映基线内涵的某个侧面,文中厘清了各种基线定义的区别和内在联系。
1.1 配置项(Configuration Item)
配置项是配置管理的基本单位,可以分为三个主要类别:计算机程序(源代码和可执行程序)、文档和数据。配置项包含了软件开发过程中产生的各种信息。
配置项的识别是配置管理活动的基础,也是制定配置管理计划的重要内容。
1.2 元素(Element)
在配置管理工具ClearCase中,元素是版本控制下的文件和目录。文件元素可以是文件系统中的任何文件。目录元素可以包含文件元素及其他目录元素。
配置项和元素之间的关系:元素是软件配置项的载体,配置项以元素的形式保存在计算机中。配置项是元素存储的内容。
1.3 版本(Version)
版本亦称配置标识,是实例化了的配置项。在软件开发过程中,配置项的版本随项目进展而不断变化,会被赋予不同的版本号。
持续集成的概念
版本的演变一般有两种方式:串行演变和并行演变。版本的这两种演变形式通常结合在一起,形成更为普通的带分支的版本树。版本树反映了项目开发演变的历史。每个元素记录了它所代表的文件或目录的版本。
1.4 分支(Branches)
分支描述了元素的树状版本结构;每个元素都有一个主分支,代表开发的主线,可以有多个独立开发线的子分支,子分支还可以再有子分支。
1.5 版本库(VOB)
版本对象库(Version Object Base,VOB)简称版本库(VOB),也称为配置管理库。版本库是软件配置管理系统的核心,用来存储文件、目录和元数据的数据存储库。版本库以目录树结构形式的文件系统来保存信息。它存储了版本控制下所有的文件、目录和元数据等。
通常逻辑上版本库可以分为开发库—DL(动态库、程序员库、工作库)、受控库—CL(静态库、主库)、产品库—PL。版本库的实际物理存储结构可根据软件项目具体情况来确定。受控库和产品库是由配置管理员管理,所有的配置项经评审通过后才能入库。
版本库的结构见表1。
1.6 构件(Component)
构件通过一个根目录来定义。将开发团队进行开发的文件和目录组合在一起形成了构件。开发团队以构件为单位进行开发、集成和发布。一个VOB可以包含一个或多个构件。
1.7 软件项目
简单地说,项目就是实现某个目标的工作任务。一个软件项目要素包括软件开发过程、软件开发结果、软件开发资源和软件项目的客户。一个软件项目可以有多个版本库。
1.8 流(Stream)
流是一种ClearCase对象,UCM定义了两种流:开发流(Development Stream)和集成流(Inte
gration Stream)。开发流主要是单个开发工程师的工作流;集成流则是对项目中所有开发工程师的活动进行合并的流。
基线和流的相互关系:基线由流产生,流使用基线作为其配置。
基线[10-12]是软件配置管理中的一个重要的基本概念,有多种定义,大致分为如下几类。
2.1 基于产品
这种定义方式比较宽泛,不仅仅适用于软件配置管理。
IEEE的基线定义:己经通过正式评审和批准的某规约或产品,它可以作为进一步开发的基础,并且只能通过正式的变更控制过程进行变更。
基线定义1:基线是某个规约或者产品,具有三个特点:
(1)通过正式评审并得到认可;
(2)下一步工作的基础;
(3)基线变更需要通过严格的变更管理过程。
2.2 基于配置项
基线定义2:在软件配置管理过程中,一个配置项或一组配置项在不同时间点,通过正式评审而进入受控的一种状态,就是基线。
一些配置项成为相对稳定的逻辑实体,这个过程称为“基线化”。基线建立之后,该基线的内容被“冻结”,不能随意修改。基线是下一步开发的出发点和参考点。对基线进行修改将严格按照变更管理的过程进行。作为配置管理的基础,基线保证了后续开发活动所需信息的稳定性和一致性。
2.3 基于版本
基线定义3:基线是项目文档或者源代码等文件的一个稳定的版本。基线有名称、版本、标识符、日期等属性。它是进一步开发的基础,其变更必须通过正式的变更程序。
如果某一产品版本被定为基线,那么它就被冻结,要想变更基线必须建立一个新的版本。
2.4 基于里程碑(Milestone)
里程碑就是开发过程中的“阶段”。“阶段”强调的是过程,而“里程碑”则强调过程的终点和终点的标识。
基线定义4:基线是软件开发过程中的一个里程碑,其标志是一些软件配置项的交付,并且这些配置项通过技术审核获得认可。这些配置项纳入基线管理,作为后续工作的标准,标志着项目可以进入下一个过程。
2.5 UMC构件的基线和复合基线
在ClearCase UCM[11-17]中,一个构件表示一组元素,基线表示构件中的一组版本。基线确定了一个构件中的每个元素的一个版本,如图1所示。
基线定义5:基线是一个构件在某一特定时刻一组元素的集合,包含了该时刻所选取元素版本的集合,记录了软件开发过程中完成的工作。
UCM工程项目只有一个构件,该构件的基线就是该工程项目的基线。一般来说,工程项目可能有多个构件,工程项目基线包含每个构件的特定基线。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。