ClearCase功能概括(参见下图):版本管理,过程管理,工作空间管理,bulid管理。
基本概念:
Element
纳入配置管理的包括版本信息的对象,包括文件与目录。
VOB
Version Object Base,存放Element以及其他CC配置信息的库。
PVOB
Project VOB,用于存放UCM项目的VOB。一个UCM项目必须存放于一个PVOB中,而一个PVOB可以存放一个或者多个UCM项目。
UCM
Unified Changed Management的缩写,统一变更管理模式。在CC中有两种项目管理的模式:Base ClearCase 和 UCM。在UCM模式下所有的Check Out、Check In、Add to Source Control等引起对象发生变化的操作必须关联到一个Activity,因此UCM模式通过Activity来管理和控制对象的版本更新。而Base ClearCase模式下,由于没有Activity的概念,上述操作都将直接定位到一个特定的对象。一般情况下我们可以使用CC的UCM模式达到项目管理的需求。
Activity
Activity是ClearCase UCM模式中的一个概念。一个Activity包括一个标题和一个变更集(Change Set),标题用于简要描述Activity,变更集集中跟踪与此Activity相关的所有Element的版本变更。
Component
在一个UCM项目中由一些相关的文件或者目录组成的一个ClearCase对象。一个项目至少包含一个Component,而一个Component也可以由多个项目共享。
Baseline
就个人理解,基线就是表示一个Component到达某个开发阶段的标识,这个标识包含了Component内部各个Element所处的特定版本。Project可以通过配置它所包含的所有Component的基线来标识它目前所处的开发阶段。
View
一个ClearCase对象,能够为用户提供完成项目修改工作的工作空间。VIEW从VOB中选择各个元素特定版本来形成一个工作空间,用户通过VIEW存取、修改其中的元素。有两种类型的视图:快照视图和动态视图。
1.视图有两种类型:快照视图(snapshot view)及动态视图(dynamic view)。快照视图是将CC服务器中的视图内容拷贝到开发人员的机器中,开发人员需要经常与服务器同步以保持数据的一致性,快照视图的好处在于开发人员不必一直通过网络与CC服务器保持连接;动态视图则是动态的将 CC服务器中的内容同步到开发人员的机器中,这就要求开发人员一直保持与服务器的网络连接。一般来讲,由管理员决定选用哪种视图。
2.开发人员的开发涉及到两个视图:开发视图和集成视图。如果用户的名字为pat,参与的项目叫做test,那么两个视图缺省的名字为pat_test和pat_test_integration。开发视图用于开发人员的开发过程,开发人员在开发视图中完成软件的开发、修改、提交等工作;集成视图的作用是存放开发人员完成的工作,使得开发人员可以通过该视图中的内容对其开发进行验证。目前对于开发视图和集成视图的区别和功能本人还有很多疑问。
Stream
Stream记录了在Project中所有工作空间的活动历史,Stream同时也指定了某个时刻工作空间应该能够获取和使用的各个元素的版本。Stream分为Integration stream(集成流)和Development streams(开发流),一个UCM项目中只能有一个集成流,但可以包含多个开发流(项目组成员和开发流是一一对应的关系)。集成流记录了项目中公共的元素及其状态,而开发流记录了各个项目组成员私有的元素及其状态。
Branch
Branch分支,在元素的某个版本拉出一个枝干,用于并行开发或者修复一个bug。要给元素的某个版本创建分支实例,必须在vob的里面首先创建分支类型。
创建分支,可以手工创建或者系统自动创建(config spec里面设置-mkbranch)
创建了很多分支,可能有人想删除“垃圾分支数据”,不过这样违背了Clearcase的完整性目的。尽量不要删除
----------------------------------------------------------------------
UCM介绍(见下图):可以理解为IBM在软件工程领域的一个突破。他们称为的第三代理论,最佳实践。他们自己走的比较靠前。自定义了一套模型。通俗的讲就是把软件过程分为了:活动+变更集。有个经典的图,各个功能图里面说的很清楚了
UCM工作流程:
1. cc管理员创建vob
2. 项目经理创建ucm project
3. 开发人员加入ucm project
4. 开发人员进行开发
5. 开发人员deliver工作成果到共享区域(集成流)
6. 发布工程师构建发布产品
7. 项目经理创建基线
8. 项目经理在里程碑处提升基线等级
9. 开发区人员在私有空间获取最新的推荐基线
UCM工作流程:
推荐阅读:
http://www.ibm.com/developerworks/cn/rational/r-ucm-bp/5134.html