UML软件工程组织

基于CMM和CMMI的配置管理(二)
51CMM.COM原创 作者:河清
  5 变更管理
  
在有效标示了配置并进行了管理之后,如何保证它们在复杂多变得开发过程中真正的处于受控的状态,并在任何情况下都能迅速的恢复到任一历史状态就要依赖有下的变更管理。
缺乏有效的变更请求管理会导致的问题:
软件产品质量低下,对一些缺陷的修正被遗漏
项目经理不了解开发人员的工作进展,缺乏对项目现状进行客观评估的能力
开发人员不了解手头工作的优先级别,可能出现将紧急的事情放在一边、而工作在一般优先级任务上的情况
可能错误使用和引用已经变更的产品,引起开发工作混乱
变更管理的流程:
(获得)提出变更请求;
由CCB审核并决定是否批准;
为(被接受)修改请求分配人员,提取SCI,进行修改;
提交修改后的SCI,并测试(或者评审);
重建软件的适当版本;
复审(审计)所有SCI的变化;
发布新版本。
  为了更好的指导变更范围的影响分析,可以通过两种表格来帮助发现受到变更影响的内容,一种是《需求跟踪表》,一种是《配置项依赖关系表》,分别如下:
  6 配置库管理
  在实际的开发活动中系统中,为了让每个开发人员和各个开发团队能更好的分工合作,同时又互不干扰,必须规划好工作空间的管理。主要的手段是设置配置库(即文件夹设置),和设置版本的分支,来实现对配置项权限管理。
  设置版本分支
  基本上要为每个配置项从建立开始就划分成3个不同的分支:私有分支、集成分支、公共(主干)分支。让它们分别对应3类工作空间。
私有分支:
私有分支对应的是开发人员的私有开发空间。开发人员根据任务分工获得对相应配置项的操作许可之后,他即在自己的私有开发分支上工作,他的所有工作成果体现为在该配置项的私有分支上的版本的推进,除该开发人员外,其他人员均无权操作该私有空间中的元素。
集成分支:
集成分支对应的是开发团队的公共空间。凡是要为同组人员共享的配置项都从该分支获得。即各开发人员必须将私有工作空间中的开发成果归并(Merge)到该分支后才能进入下一个开发活动。所有涉及多人协调的开发工作(如集成测试等)都必须工作在这一空间中。该开发团队拥有对该集成分支的读写权限,而其他成员只有只读权限。该分支的管理工作由系统集成员及相关指定人员负责。
公共(主干)分支:
公共分支对应的是整个软件开发组织的公共空间。各个开发小组在现阶段的任务完成后,将可以发布的版本归并到该分支上,将来需要查阅相关资料时,以该分支上的版本为准。该分支对组织内的全体软件人员开放只读权限。该分支的管理工作由系统集成员负责。
  上面定义的3类工作空间(分支)由配置管理员统一管理,根据各开发阶段的实际情况定制相应的版本选取规则,来保证开发活动的正常运作。在变更发生时,应及时做好基线的推进。
  配置库的设置
  决定配置库的结构是配置管理活动的重要基础。一般常用的是两种组织形式:按配置项类型分类建库和按任务建库。
  按配置项的类型分类建库的方式经常为一些咨询服务公司所推荐,它适用于通用的应用软件开发组织。这样的组织一般产品的继承性较强,工具比较统一,对并行开发有一定的需求。使用这样的库结构有利于对配置项的统一管理和控制,同时也能提高编译和发布的效率。但由于这样的库结构并不是面向和各个开发团队的开发任务的,所以可能会造成开发人员的工作目录结构过于复杂,带来一些不必要的麻烦。
  而按任务建立相应的配置库则适用于专业软件的研发组织。在这样的组织内,使用的开发工具种类繁多,开发模式以线性发展为主,所以就没有必要把配置项严格的分类存储,人为增加目录的复杂性。因此,笔者认为特别是对于研发性的软件组织来说,还是采用这种设置策略比较灵活。
  配置库的日常工作
  配置库的日常工作是一些事务性的工作,主要保证配置库的安全性,包括:
  对配置库的定期备份
  清除无用的文件和版本
  检测并改进配置库的性能等
  7 配置报告
  配置状态报告就是根据配置项操作的记录来向管理者报告软件开发活动的进展情况。这样的报告应该是定期进行,并尽量通过CASE工具自动生成,用数据库中的客观数据来真实的反映各配置项的情况。
  配置状态报告应着重反映当前基线配置项的状态,以作为对开发进度报告的参照。为了说明项目状态对变更的情况也应当进行报告。有时,对配置库的情况也进行说明,例如备份次数,磁盘占用空间等等。只要是关心的信息,均可作为状态报告的内容。这些信息进行有效记录,往往可以作为项目度量的重要数据来源。
  8 配置审计
  配置审计的主要作用是作为变更控制的补充手段,来确保某一变更需求已被切实实现。在某些情况下,它被作为正式的技术复审的一部分,但当软件配置管理是一个正式的活动时,该活动由SQA人员单独执行。 审计机制保证修改的动作被完整地记录,也就是说,记录了谁修改了这个工件,什么时候做的修改,为什么原因做出这个改动,以及修改了哪些地方。 在版本控制过程中,如果利用一些配置管理工具(或者版本控制工具)的支持,则可以自动地记录审计工作所需的四个“W”(Who、When、Why、What)。 同时配置审计工作应当可以说明如下信息。
配置审计应当说明的信息:
1. 变更要求被完成,并且对附加的修改已经执行了
2. 采用了正确的正式验证手段
3. 遵循了标准的要求
4. 变更的4W信息被完整记录,并和相关配置项关联

版权所有:UML软件工程组织