1、1软件配置管理软件配置管理一、配置管理基本概念二、ClearCase基本概念三、ClearCase操作演示四、配置管理员的职责2配置管理基本概念三个基本概念:配置项 配置管理 基线3配置管理基本概念 配置项:在软件生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、程序及其数据形成一个集合。该集合中的每一个元素称为一个配置项(configuration item)。这个集合称为软件配置。4配置管理基本概念 配置项的例子 需求文档 设计说明书 源代码 测试案例 编译器 数据库5配置管理:软件配置管理是软件项目开发的一项支持性活动,就是在软件项目整个生命周期范围内,对配置的完整
2、性进行维护的基本项目管理机制。它标识软件配置项,并定义基线;控制配置项的修改和发布;记录和报告配置项的状态和修改申请;保证配置项的完整性、一致性和正确性。配置管理既管理代码,也管理文档配置管理基本概念6配置管理基本概念 配置管理中应至少管理以下内容:客户需求 软件需求 设计文档 源代码 测试计划和测试案例7配置管理基本概念 什么是基线?基线是经过正式评审和批准,并且只能通过正式的变更控制机制才允许变更的配置项的集合。在项目的不同阶段会建立不同的基线 一般情况下推荐建立两条基线:需求基线;产品发布基线;8ClearCase基本概念Rational ClearCase LT简称或 CC 或 Cle
3、arCase,C/S结构四大功能:版本控制 工作空间管理 过程控制 建立管理(x)9ClearCase基本概念ClearCase结构:客户/服务器结构:ClearCase是运行在分布式Client/Server结构中的“组件”产品。图形用户界面:ClearCase包含传统的命令行界面及图形用户界面与Windows资源管理器的集成:ClearCase操作对于用户简单有效 10ClearCase基本概念版本控制:ClearCase的核心功能是版本控制。控制任何文件的版本在版本树中组织元件发展的过程对目录和子目录进行版本控制使用常见的检出/编辑/检入范例 丰富的注释信息和版本数据的报表 通过分支功能
4、支持并行开发 自动的比较和版本间的归并 11ClearCase基本概念工作空间管理:快速、有效的工作空间建立对于提高个人和团队的效益是非常重要的。通过视图(View)的使用,ClearCase提供了一套独立的工作空间管理设施。ClearCase可以让开发者和应用者以一种标准文件目录树的形式访问VOB。这种透明的访问使得版本控制系统具有良好的可视化。12ClearCase基本概念工作空间管理:用户可以指定版本选择规则,视图可以让开发者对任何元素的任何版本进行透明的、文件级的访问。ClearCase的视图具有灵活性、可调性、有效性并可随时自动更新。ClearCase支持规范的开发环境,它可以维护公
5、有和私人两种数据存储类型。13ClearCase基本概念过程控制:ClearCase提供了过程和策略控制机制以提高软件质量,缩短产品投放市场时间,以及调控整个软件开发过程。可以利用元数据抓取状态信息,如定义分支,事件触发器,属性,锁,以及“通知”特性能自动进行交流信息等。ClearCase可以自动记录重要的状态信息,当对象发生变更的时候,它会收集谁、何时、为什么、用户注释、以及其它的重要数据。14ClearCase基本概念VOBView元数据分支合并配置规格 15ClearCase基本概念VOB:VOB是版本对象库,是数据的永久存储仓库。VOB中储存的对象也叫元素,可以是文件、文件夹或者元数据
6、。服务器上可以有多个VOB库。一个项目可以根据其大小,创建一个VOB,或者创建几个较小的VOB。不能直接访问VOB,可以通过视图来访问VOB。16ClearCase基本概念View即视图:视图就是一个工作空间,也就是一个目录树。用户通过创建视图访问VOB中的数据,可以有任意数目的视图。视图中不仅可以存放VOB中各种版本的文件元素、目录元素,也可以存放不受ClearCese 控制的文件,即用户的私有文件。任何ClearCese用户都可以创建视图,而且可以创建多个视图,用户的多个视图之间没有关联关系。视图中要存放哪些文件的版本,是根据视图的配置规格进行选择的。17ClearCase基本概念View
7、即视图:VOB中的数据是不能直接访问的,只能通过视图访问。创建视图时,要尽可能创建短期的、面向任务的视图,任务完成后即删除该视图,释放它所占用的空间。无用的视图要及时删除。有两种类型的视图,快照视图(snapshot view)、和动态视图(dynamic)。18ClearCase基本概念Metadata(元数据):标签(Label)属性(Attribute)超链接(Hyperlink)锁(Lock)触发器(Trigger)19ClearCase基本概念Metadata:元数据 标签、属性、超链接、锁、触发器(Label、Attribute、Hyperlink、Lock、Trigger)统称为
8、元数据。元数据是与对象有关的数据,用于补充对象的文件系统信息。可以利用这些元数据对象来实现特定的功能。20ClearCase基本概念标签:标签是一个标签类型的数据对象的实例。标签可以关联到元素的一个版本上,也就是说,可以给元素的任何一个版本打上版本标签,便于记忆。也可以在一组元素(可以是文件和文件夹)的版本上打标签,从而维护元素间的相互关系。当一组文件的版本经过整合、测试后认为稳定时,可以打上标签,作为下一步工作的基线。21ClearCase基本概念属性:属性是由一对名称-值构成的对象,也就是说,当创建一个属性时,既要创建一个属性名称,还要给该属性赋予一组不同的值。属性的值可以是整数、实数、字
9、符串等类型。可以用属性来注释说明项目的进展情况和监视项目的状态。22ClearCase基本概念属性:例如,可以创建一个属性名称为commentDensity,值是unacceptable,low,high或 medium的属性,赋给一组源代码,说明这组源代码的性质。23ClearCase基本概念超链接:可以定义对象之间的关系。例如可以把需求文档与代码连接起来,或设计文档与可执行文件连接起来等。锁:可以防止对象被修改。锁可大可小,可以锁整个VOB,也可以只锁一个branch、一个文件。24ClearCase基本概念触发器:是用户定义的事件,当某些clearcase操作发生时被激活。触发器有两种类
10、型,事前触发和事后触发。事前触发的触发器在clearcase事件发生前被激活,例如,当点击checkin命令时,可以提示开发人员输入适当的注释;事后触发的典型应用是通知。例如,一个事件出现后,发送e-main通知项目组。25ClearCase基本概念用户和组:ClearCase本身不实现自己的用户和组的账号。它依赖于操作系统,通过用户在操作系统中的登录鉴别用户,得到用户身份和组成员的资格,并由此得到用户进行ClearCase操作的权限。26ClearCase基本概念用户和组:在Windows 2000操作系统中,用户登录系统必须要有自己的用户名,ClearCase就把该用户名作为用户身份或叫做
11、用户ID。一个用户ID可以是一个或多个组的成员,在这些组中有一个组叫做用户的主要组(Primary Group)区别与其它所有组。ClearCase同时根据用户ID和用户的主要组来决定用户对ClearCase对象的访问权限。27ClearCase基本概念锁定VOB对象:用户和组设置,是一种长期的访问控制机制。ClearCase还通过加锁提供一种短暂的访问控制。可以给整个VOB加锁,以防止任何对VOB的修改。在对象被加锁之后,任何用户包括特权用户和加锁的用户都无法修改该对象。但特权用户和加锁的用户可以去锁。利用Lock命令加锁时,可以指定某些用户在加锁后仍然可以修改对象。28ClearCase基
12、本概念锁定类型对象:可以将Main分支对所有用户加锁,但项目经理除外,则项目经理可以对所有元素的Main分支进行整合或者清理和发行相关的工作。其它用户可以继续工作,但这可以在其它分支上进行,而不是在Main分支上。锁定一个标签类型,防止任何用户创建和删除该标签。对某个发行版本的所有元素生成标签,然后锁定该标签,这样下次重新生成该发行版本就非常容易了。29ClearCase基本概念分支:分支的概念是为了支持并发。一个项目是否需要并行开发,是根据实际情况确定的。如果需要并行开发,也就是说,两个以上的人,对同一个或同一组文件同时进行修改,则项目经理要定义分支策略,包括为什么分支,什么时间产生,分支上
13、将发生什么行为,以及分支最终如何消亡等。30ClearCase基本概念 版本树:在clearcase 中,置于版本控制下的每个元素,都以一个主分支和一个不包含任何内容的零版本开始,即/main/0。每一次checkin操作,都会创建该元素的一个新版本,版本号自动加。第一次新版本checkin 创建主分支上的版本1,即/main/1。31ClearCase基本概念 版本树:当并行开发时,元素的版本被组织成不同的分支即Branch。分支代表着一个元素的一系列版本,每一个元素都有一个main branch,代表该元素的主要开发线,可能还会有几个子分支。元素不同分支的多次修改所形成的版本,很象一棵树,
14、称为版本树。版本树上的版本号是自动形成的,记录了它在版本树上的位置。版本的分支组织方式按时间顺序表现对每个元素的历史。3233ClearCase基本概念 合并:和分支相对应的概念就是合并,即Merge。合并就是将文件的多个版本组合成一个新版本的过程。最简单的合并通常称为两两合并。两两合并就是合并两个文件产生第三个。有分支的开发其目的是,在某一时刻将分支上的开发合并回源主干。合并时需要开发人员进行沟通和协商。34ClearCase基本概念 工作流:工作流是一个ClearCase对象,它维护一组活动和基线的列表,并确定元素的哪些版本出现在开发人员的视图中。工作流是创建和记录配置的一种机制。UCM用
15、基线和活动来描述工作流的配置。当创建工作流时,其初始配置就是选择的基线。流的配置就是一个给定的基线加上一个或几个活动。35ClearCase基本概念 活动:活动是一个ClearCase对象,用活动来记录完成开发任务所需要进行的工作。例如,一个活动可能是改变图形用户界面,要完成这种改变可能需要编辑几个文件。UCM在变更集中记录为了完成这个活动所创建的版本序列。因为活动与有意义的项目任务相关,因此可以更容易跟踪项目的进展。例如,可以确定哪个活动是在哪个基线中完成的。36ClearCase基本概念37ClearCase基本概念配置规格:在创建视图时,需要通过配置规格挑选文件夹和文件的版本,这些指定版
16、本的文件夹和文件,构成了该视图的个人私有工作空间。缺省的配置规格如下:(这也是标准配置规格)element*CHECKEDOUT (1)element*mainLATEST (2)38ClearCase基本概念配置规格:规则(1)选择本人checkout出来的文件,在该视图中显示,并且当取出文件时,会将它设为可写属性,如果忽略该规则,则在取文件时会产生告警信息。规则(2)指定了在checkout文件时,从main分支的最新版上checkout。如没有该规则,则当添加新文件时,文件在视图中不可见。39ClearCase基本概念配置规格的格式规则如下:元素范围 路径名模式 版本选择 可选语句 元素
17、范围 用来确定该配置规格适用的元素对象。例如:element 指适用于所有的元素;element file 指适用于文件元素;element directory 指仅适用于目录元素;40ClearCase基本概念配置规格的格式规则如下:元素范围 路径名模式 版本选择 可选语句 路径名模式 路径名中可以包含通配符,例如:*匹配所有的元素路径名;*.c 匹配所有的以.c为扩展名的元素路径名;srcsrc/util.c/util.c 匹配在src目录下名称为util.c的任何一个元素;srcsrc/./.匹配任意src目录树;41ClearCase基本概念配置规格的格式规则如下:元素范围 路径名模式
18、 版本选择 可选语句 版本选择 可以使用版本标签,或者分支名称。例如:/main/4 元素main分支中的版本4;REL2 贴有REL2标签的版本;./mybranch/LATEST mybranch分支的最新版本。表示mybranch分支可在元素版本树的任意位置发生;/main/REL2 在main分支下贴有REL2标签的版本;CHECKEDOUT 所有由checkout命令取出的版本;42ClearCase基本概念配置规格的格式规则如下:元素范围 路径名模式 版本选择 可选语句 可选语句 补充或修正配置规则的含义。例如:time time date-time 取 出 在 给 定 时 间 前
19、 创 建 的 最 后 一 个 版 本。/main/LATEST time 10Jul.19:00 表示在main分支中7月10日下午7点前创建的最新版本;time 11:23:00 今天11:23前创建的最新版本;time now 今天此刻前创建的最新版本;43ClearCase基本概念配置规格的格式规则如下:元素范围 路径名模式 版本选择 可选语句 time time date-time 中日期和时间的格式为:date-可以是today|yesterday|Sunday|.|S a t u r d a y|S u n|.|S a t ,或ddmonth yyyy,month是January|
20、.|December|Jan|.|Dec time-hh:mm:ss 以24小时的方式指定时间。44ClearCase基本概念配置规格的格式规则如下:元素范围 路径名模式 版本选择 可选语句 mkbranchmkbranch branch-type-name 自动创建一个分支。,当使用该规则checkout元素的某个版本时,会在该版本上创建一个新的分支,新分支上的版本0被checkout出来。element*CHECKEDOUT (1)element*.rel2_bugfixLATEST (2)element*REL2-mkbranch rel2_bugfix (3)45ClearCase基本
21、概念配置规格的格式规则如下:元素范围 路径名模式 版本选择 可选语句 上 面 的 配 置 规 则 可 以 从 R E L 2 版 本 创 建 一 个rel2_bugfix branch,并在此解决REL2版本中的BUG。这一规则的关键之处在于:所有修改的文件都是属于rel2_bugfix分支的。(2)中的统配符.使得rel2_bugfix分支可以在任何元素的版本树上的任意位置 形 成。(3)中 的 命 令 m k b r a n c h 创 建 了rel2_bugfix分支。46ClearCase基本概念根据配置规格选择版本的过程:有一个视图服务器负责版本的选择。1 对于每一个元素,视图服务器
22、首先试图找到一个与第一条规则相匹配的版本,如果这样的一个版本存在,则把它放入视图;如有多个版本同时和第一条规则匹配,则报出错信息,视图中不载入任何版本;47ClearCase基本概念根据配置规格选择版本的过程:有一个视图服务器负责版本的选择。2如果没有找到匹配第一条规则的版本,则继续向下查找,即查找满足第二条规则的版本。并依次按照这种方式,直至查到最后一条规则。3如果没有找到与任何一条规则相匹配的版本,则在视图中不载入任何版本。48ClearCase基本概念配置规格的语法要求:1.一条规则只能占一行,不能续行。2.多条规则可以在同一行上,每一条之间用;号隔开。3.大小写敏感;4.顺序敏感,排序
23、不当会影响版本的选择。例如,如果element*/main/LATEST出现在第一条规则的位置,则后面的其它规则都将形同虚设,视图服务器只访问第一条,永远不会访问其它规则。49ClearCase基本概念理解VOB的存储目录:每一个VOB都有一个存储目录。VOB的存储目录及其所有的内容都是通过clearcase工具管理的。不要使用任何非clearcase工具改变或修改VOB存储目录及其内容,也不要使用非clearcase工具改变它们的保护模式。从资源管理器中看到的VOB中的内容都是一些数字、字母组成的符号。50从资源管理器中看VOB51admin 目录,包含VOB所使用的磁盘空间的数据;s 目录
24、,VOB的源存储池位于该目录中;c 目录,VOB的缓冲存储池位于该目录中;d 目录,VOB的导出对象(如编译产生的中间结果)存储池位于该目录中;db 目录,是VOB的内置数据库。数据库中存放的是版本控制信息、元数据、类型对象、以及用户进行clearcase操作的事件记录。Clearcase控制下的文件的内容,存放在源存储池中,而不是数据库中。52从资源管理器中看VOB53ClearCase基本概念Lost+found目录:每一个VOB存储目录都包含一个特殊的目录Lost+found。它相当于一个回收站。Clearcase用这个目录来存放那些不属于任何目录版本的元素。有两种情况:1、当check
25、out 一个目录,创建一个新的元素,然后又取消了该目录的checkout操作,即undo checkout,这时,创建的那个新元素,就会被放到lost+found目录。54ClearCase基本概念Lost+found目录:2、在 clearcase中有一个命令rmname,即删除一个元素的名称。这个操作并没有真正删除文件,只是从目前的目录版本将该文件的名字除掉(uncatalogued)。这个文件是可以恢复到原来的目录上的。delete 某个文件时,所运行的操作实际上是rmname 元素被移到lost+found目录后,其名称会发生变化。55ClearCase基本概念VOB与View的关系:
26、当用户创建视图时,实际上是从VOB中取得了元素的指定版本的一份拷贝,在自己的机器上生成了一个目录树。当执行update命令时,视图服务程序根据视图的配置规则,将VOB中元素的最新版本拷贝到用户的本地视图中。当执行checkin命令时,实际上是在直接更新VOB。当执行checkout命令时,视图服务程序会把用户视图中的版本与VOB中的版本进行比较,如果用户视图中的版本比VOB中的版本旧,则会提示用户进行选择。56ClearCase基本概念什么情况下会出现“被劫持的”文件:很多不同的情况下会出现 Hijacked 文件。出现Hijacked 文件是因为一个loaded,uncheckout的文件的
27、size或最后修改的时间戳与视图数据库中所记载的不一致。最常见的情况是,如果没有做checkout,而是改变文件的只读属性进行文件修改时,会出现 Hijacked 文件。还有,如果VOB Server 端,View Server 端和客户端的时间相差太多也会出现hijacked file。另外一个常见的情况是在Windows/Unix 混合环境上使用ClearCase。57ClearCase基本概念如何处理 Hijacked 文件?对于Hijacked 文件有两种处理方法:1)Check out the file.然后可以继续修改,在适当的时候做checkin;2)Undo the hijac
28、k,然后重新装载原来的版本。58ClearCase基本概念配置库分区:一般情况下,建议配置库至少分为3个区,也就是说,在项目的根目录下,建立3个子目录:开发区;测试区;工程区;59ClearCase基本概念配置管理中的角色和职责:角色 职责项目经理 制定开发策略、分支策略、合并策略技术管理部 项目启动时,创建项目,分配 访问权限,的备份。配置管理员 项目配置库的策划、建立、管理和维护;元数据类型的创建和使用,确定配置规格等开发人员 文件的checkin、checkout、merge60?61ClearCase操作演示1 安装2 设置主要组3 创建视图4 开发人员的常用操作:加文件;Checkout;Checkin;Undo checkout;删除元素;处理hijacked文件62ClearCase操作演示5 管理员的常用操作:修改访问权限;加锁;创建标签类型;贴标签;创建分支;使用分支;63ClearCase操作演示步骤见操作指南64配置管理员的职责 负责项目配置管理库的策划、建立、管理和维护 指导项目组人员使用配置管理工具 元数据类型的创建和使用,如打标签 确定配置规格 负责产品的编译和构造(Build)
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。