配置管理的常用术语有四个:配置,配置项,基线,版本标识
1、配置和配置管理的概念
配置:配置是在技术文档中明确说明并最终组成软件产品的功能或物理属性,因此,“配置”包括了最终组成软件产品所有的文档,软件版本,变更文档,软件运行的支持数据,相对于硬件类配置,软件产品的”配置“包括更多的内容并具有易变性。
配置管理:配置管理就是通过对在软件生命周期的不同的时间点上所产生的文件进行标识,并对这些被标识的文件的更改进行系统控制,从而达到保证软件产品的完整性和可溯性。
2、配置项的概念
为了方便对“配置”进行管理,“配置”经常被划分为各类配置项,这类划分是进行软件配置管理的基础和前提。配置项是一组软件功能或者物理属性的组合,在配置管理过程中,配置项被作为一个单一的实体对待,一个系统包括的配置项的数目是一个与设计密切相关的问题。
3、基线的概念
在配置管理系统中,基线就是配置项在其生命周期的不同时间点上通过评审而进入正式受控的一种状态,而这个过程被称为“基线化”,每一个基线都是其下一步开发的基准。所以基线具有以下属性。
(1)通过正式的评审过程建立。
(2)基线存在于配置库中,基线的变更由变更控制委员会(CCB-Change Control Border)控制。
(3)基线是进一步开发和修改的基准。
4、版本和版本标识
版本:版本是表示一个配置项具有一组定义的功能的一种标识。随着功能的增加,修改或删除,配置项的版本随之演变,版本以版本号进行标识。
版本号:命名规则为了维护软件项目,我们提出了对版本进行管理控制的要求,而对于用户来说,版本直接体现在版本号的命名上。
1、版本号的三种命名方式:
版本号由二到四个部分组成。主版本号和子版本号是必须要有的,修正版本号和编译版本号可以自己选择
(1)GNU风格的版本号命名格式
主版本号 . 子版本号 [ .修正版本号 [ .编译版本号] ]
例如: 5.0.0 build-1234 主版本号 子版本号 修正版本号 编译版本号
(2)Windows风格的版本号命名格式
主版本号 . 子版本号 [ 修正版本号 [ .编译版本号] ]
例如: 1.12 主版本号 子版本号 修正版本号
(3). Net Framework风格的版本号命名格式
主版本号 . 子版本号 [ .编译版本号 [.修正版本号 ] ]
2、版本号的管理策略
(1)项目初版本时,版本号可以为0.1或0.1.0,当然也可以为1.0或者1.0.0。
(2)当项目在进行局部修改或者bug修正时,主版本号和子版本号都不变,修正版本号加1。
(3)当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加1,修正版本号复位为0(可以被忽略掉)。
(4)当项目进行了重大修改或者局部修改累积较多,而导致项目整体发生全局变化时,主版本号加1。
(5)编译版本号一般是编译器在编译的时候自动生成的,我们只定义其格式,并不进行人为控制。
5、配置库
配置管理活动需要在特定的数据库中完成,这个特定的数据库被称为软件配置库。
将软件配置项汇聚在一起,形成了配置库。
从广义上来讲,软件配置库可以包括开发库,受控库和产品库,从狭义上讲,软件配置库专指受控库。
6、主干和分支
分支的原因:
(1)团队协作的本质是分头工作并且相互配合。
(2)分支可实现并行工作,多头前进,最后汇合,减少等待和阻塞。
(3)分支可保证团队人员之间适当隔离,不可长期隔离。
(4)分支也可保证团队人员之间适当共享。
7、版本控制(Subversion工具)
配置管理伴随着软件开发的历史逐步发展,产生的主要原因是管理难度的加大。
(1)软件复杂度增加。
(2)参与协同作业的人员增加。
(3)工作方式更加国际化。
所以软件配置流程引入配置管理员CMO(Configuration Management Officer)用于管理变更控制。
工具的出现帮助配置管理员自动化处理,工具应具备如下特性:
(1)维护文件库。
(2)创建和存放文件的多个版本。
(3)提供锁定的机制。
(4)标识一组文件的版本。
(5)从配置库中提取、找回文件的版本。
下面我们就来介绍关于版本控制的软件工具。
8、版本管理软件--(Subversion工具)
(1)Subversion(简称SVN)的概念
Subversion(简称SVN)是近年来崛起的版本管理软件,它是一个通用系统,可以管理任何类型的文件集。Subversion的版本可以通过网络访问,从而使用户可以在不同的电脑上进行操作,从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。
(2)SVN基本结构
SVN服务器分为Windows和Linux版本,有两种运行方式:独立的SVN服务器和借助Apache。
SVN的版本库(Repository),也叫项目仓库,就是位于服务器统一管理和储存数据的地方,对Repository最常用的操作就是签入(commit/check-in)和签出(check-out),就像出库和出库一样。
(3)悲观锁VSS(串行)和乐观锁SVN(并行)
悲观锁:
乐观锁:
(4)SVN的应用。
SVN中常用的提交、签出、更新命令是什么?
*在SVN的配置管理模式下,如果两个人同时修改同一个文件的同一行,遇到了冲突可以如何解决?
*在SVN的配置管理模式下,两个人各自修改了不同的行。
同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺】免费领取软件测试资料!
2024年Python自动化测试全套保姆级教程,70个项目实战,3天练完,永久白嫖...
配置管理角色介绍
(1)项目经理(PM项目负责人)
(2)配置管理员(CMO)、
(3)软件开发工程师(SWE)
(4)软件测试工程师(STE)
(5)质量保证人员(QA)
(6)变更控制委员会(CCB)
根据IEEE的定义,配置管理的五大活动是指:
1、配置计划。
2、配置标识。
3、配置控制。
4、配置状态发布。
5、配置审计。