一、软件配置管理(Software Configuration Management,
SCM):
1、是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。
2、配置管理是对工作成果的一种有效保护。
3、配置管理与任何一位项目成员都有关系,因为每个人都会产生工作成果。
4、配置管理是否有成效取决于三个要素:人、规范、工具

二、UCM的好处:
1、简单,易用:
UCM建立在Base
ClearCase之上,它定义了一种基于活动的变更管理方法,为项目开发提供了统一和简单易用的处理流程。任何需求和设计变更,以及缺陷修正,都以活动的方式展现在开发者面前,开发人员针对这些明确而实际的任务展开变动。通过直观的图形用户界面,无论是项目管理员还是开发人员,都可以在无需掌握Base
ClearCase中相对复杂的操作情况下,完成日常的变更管理工作。诸如项目的建立,开发人员工作空间的创建,针对活动的工作,项目的整合,变更的追溯等等,都可以在简便的图形用户界面上进行。
2、独立的工作空间
项目中每个开发者拥有一个或多个开发流(Stream),在每次项目整合之前,开发者均工作在自己的开发流上,通过关联到开发流上的视图(View),进行活动的选择,文件的检出,检入等工作,开发者相互不干扰。
3、任务清楚,明了
对于需求和设计的变更以及缺陷的修正,项目管理者首先在ClearQuest中提交相应活动并分配给相关开发人员。相关开发者在ClearCase
Explorer中,在自己的开发视图之My
Activivities下,可清楚地看到当前分配给自己的任务。另外,如果在ClearQuest中设置相应Email
Rule,相关开发者还可及时收到由ClearQuest自动发送的关于被分配任务的通知邮件,使得任何变更都可及时知会相关责任人。
4.
易于项目整合
每个项目除拥有多个开发流之外,还拥有一个集成流。集成流收集来自所有开发者所交付的成果。每个版本或Build需要整合与建立之前,项目经理决定需要包含哪些变更,然后通知各开发者提交相关活动,接下来开发者从自己的开发流上把已实施的活动提交到项目的集成流上,与活动对应的所有文件变更从而被交付到集成流。项目的整合与建立在对应到集成流上的视图上进行。通过在ClearCase及ClearQuest中的查询,测试人员可准确地知道所要测试的版本有哪些功能变更。
三、富有成效的软件配置管理的特征
1、任何项目成员都要对其工作成果进行配置管理,应当养成良好的习惯。不必付出过多的精力,最低要求是保证重要工作成果不发生混乱。
2、配置管理规范应当清晰明了,便于执行,不必在细节方面要求太多,不给项目人员添加过多的负担,不使人厌烦。
3、选择配置管理工具应当综合考虑价格、易用性和功能因素,而不是购买最先进的工具。
四、配置项
1、软件研发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,它们都应当被妥善地保管起来,以便查阅和修改。如果把所有文件一股脑地塞进计算机里,那么使用起来肯定很麻烦。毫无疑问,人们应当将文件分门别类、有条理地保存起来。
2、凡是纳入配置管理范畴的工作成果统称为配置项(Configuration Item,CI)。
配置项主要有两大类:
1)属于产品组成部分的工作成果,例如源代码、需求文档、设计文档、测试用例等等。
2)在管理过程中产生的文档例如各种计划、监控报告等等,这些文档虽然不是产品的组成部分,但是值得保存。
3、每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。所有配置项都被保存在配置库里,确保不会混淆、丢失。配置项及其历史记录反映了软件的演化过程。
五、基线
1、基线(Baseline)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被任何人随意修改(见变更控制规程)。
2、基线通常对应于开发过程中的里程碑(Milestone),一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版本、日期等。
3、通常将交付给客户的基线称为一个“Release”,为内部开发用的基线则称为一个“Build”。
六、(Partial) UCM Object Model
七、SQUID Object Association – UCM Activity
Each UCM activity in a CQ-enabled project will be
linked to a “UCM-ready” CQ record. The UCM activity and the CQ
record should always have the same name and
headline.

八、Which UCM objects are linked to CQ
objects?

九、Clear
case的四大功能
1、版本控制
2、工作空间管理
3、过程控制
4、建构管理
(clear case采用命令行的工具来方便向clear case和其他工具软件的集成)
十、UCM&VOB使用需要的注意点
1、VOB的规划相当重要建立UCM项目,首先要确定Component以及其下的目录结构,不当的Component规划会导致项目开发中不必要的新基线和rebase操作,也使得文档,模型,源程序和测试数据分布紊乱且不易查找。
2、创建UCM项目前,软件的系统架构应已确定。根据软件的子系统,模块来建立相应的vob,使得属于不同子系统,模块的开发人员相互之间不会有干扰。
3、不同客户版本的处理有时,开发的软件需要交付给不同的客户,这些客户对于产品有不同的需求。需要针对不同的客户创建不同的UCM项目,它们共享部份或全部的Component。
4、ClearCase命令行操作不可避免然UCM提供了简便的图形用户界面,但对于ClearCase管理员,仍然需要用到基于ClearCase命令行的操作。因为UCM在提供简单,易用性的同时,也隐藏了一些Base
ClearCase的内容。诸如license的管理,vob的备份和恢复,被损坏的view之删除,不同项目间的merge,等等,都需要项目的ClearCase管理员用ClearCase命令行来进行。
5、缺乏一定灵活性
UCM以活动和流的方式呈现给用户。每个UCM项目有一个集成流和多个开发流,开发者从其开发流交付活动到集成流,并从集成流更新其开发流以包含其他开发者的工作,各开发流相互之间无法归并。由ClearCase的分支被隐含,不少基于Base
ClearCase的灵活功能无法使用。例如,有一
20人的开发团队,开发者A要用到开发者B新的源程序,需要B先提交包含新的源程序的活动到集成流,然后由项目管理员建立新基线,再由A从新基线上更新其工作区以获得开发者B新的源程序。而很可能此源程序还处在调试阶段,却被提交到了项目集成流。
十一、统一变更管理是基于活动的

十二、将工件组织为版本化的构件
1、使用基于构件的体系结构是RUP 中的一个最佳经验
1)减少复杂性
2)有利于共享和重用
2、在 SCM
中使用构件有助于将逻辑设计和物理实现紧密结合在一起
3、提供了更加智能的创建和使用 SCM 基线的机制


十三、支持并行开发

十四、尽早和经常进行集成

1、项目都面临着集成和隔离的矛盾
2、在两者之间求得平衡是成功的关键
1)开发人员应该总是可以控制自己的工作空间
2)管理人员和集成人员必须在不牺牲个人生产率的前提下用一种可靠、可行的方式使开发人员同项目的进度保持一致
3、较晚或不经常进行集成会不利于迭代,进而引发更多风险
加载中,请稍候......