使用 IBM Rational Software Architect、Rational ClearCase Remote Client 和 UCM 来比较和合并分段的模型
 

2009-09-25 作者:Hongyan Huo,Magda Bologa 来源:IBM

 
本文内容包括:
本文提供了使用 IBM Rational Software Architect,Rational ClearCase Remote Client 和 UCM 的并行开发工具和技巧。

关于模型片段

所谓的逻辑模型就是一个拥有多个子单元的模型。换句话来说,它就是逻辑上相关但是物理上分离的 UML 元素的集合。与逻辑 UML 元素相关的物理资源叫做片段。IBM® Rational® Software Architect 中的逻辑模型由 Rational Software Architect 模型文件 (其扩展名为.emx)以及一个或者多个片段组成(其扩展名为.efx)。

配置管理系统,例如 IBM® Rational® ClearCase®,能够进行并行开发,就是多个团队成员可以同时处理一个模型。在并行开发期间,不协调的更高可以影响到一个文件,以及文件代表的逻辑模型或者模型子集。您必须在保存合并模型文件到配置管理系统中之前就解决所有的冲突。在变更并不发生冲突时,就会出现平凡的合并;因此,模型合并工具会自动的合并变更。当多个人交付冲突性的变更,而处理合并的人必须决定接受什么变更时,就会发生非平凡的合并

确定您考虑了分解 UML 模型的以下原则:

  • 将必须保持的项目分组然后隔离这些分组。
  • 如果您的分解包含了太多的项目,那么将这些项目分组到 UML中。
  • 将由许多单元共享的项目分组到一个共同的包中,并关注普通的项目。

另外考虑一下将模型分区到以下状况下的多个文件:

  • 模型的包架构的规模变得失去控制。
  • 超过两个用户会有规律的向导致非频繁合并的建模文件交付变更。
  • 只是在抽象层次下将您的模型分解为片段。
  • 在您的模型的顶级子系统变得成熟和稳定之后,您将可以将其分解为支持并行开发的部分,并提高模型打开的速度。当个人子系统的内容稳定之后,您就可以分解子系统了。

如果您分解的是仍然有大量附件的模型,那么您就有两个选择:

  • 向共享一个物理区域的小型团队分配项目,它的成员只是在他们所作的变更影响到其他团队成员的产品时,才会进行沟通。
  • 计划有规律的执行非平凡的合并。

ClearCase Remote Client 的目的

当您在家想要在相同的 ClearCase 视图工作,或者出行期间想在办公室内一样使用,ClearCase Remote Client 是 ClearCase 客户机的一个选择。对于在小型卫星式办公的人来说也是十分有用的。

从 ClearCase Remote Client V7.0 和 ClearCase Web 服务器 V7.0 开始,它支持逻辑合并这样模型文件和它们的片段就可以在逻辑上合并了,而不是基于文件的合并(ClearCase Remote Client V6 及其相应的网络服务器版本并不支持逻辑合并;因此,模型文件和片段合并成文件)。基于文件的合并可以导致产生带有不能解决片段和元素的模型,因为.emx.efx在检入,交付或者重新设底操作期间,是一个一个合并的。

如果您想要得到关于 ClearCase Remote Client 和 Rational Software Architect 的更多信息,您可以查看“在一个团队开发环境中进行工作的场景: 使用 Rational Software Architect 和 ClearCase Remote Client”,其作者是 Magda Bologa。

前提条件

客户机工作站上必须安装以下的软件:

  • Rational Software Architect(或者 IBM® Rational® Software Modeler) 7.0 或者更新的版本
  • 安装到 Rational Software Architect 或者 Rational Software Modeler 的ClearCase Remote Client Plug-in for Eclipse (见于稍后的安装和升级 ClearCase Remote Client for Eclipse 部分)。

不需要在客户机上安装一个原始的 ClearCase 客户端。ClearCase Remote Client for Eclipse 需要支 ClearCase Web 服务器,它向客户提供了对远程 ClearCase 储存库的访问机会,并支持本地的 ClearCase 视图。ClearCase Remote Client 是在 HTTP 协议上工作的。

安装并升级 ClearCase Remote Client for Eclipse

当您使用 基于 IDE 的 Eclipse 3.3 时(或者基于更早版本的 IDE),查看“Installing or updating CCRC for Eclipse and RSA”,以得到 ClearCase Remote Client 安装指导。

对于将基于 Eclipse 3.4 的程序安装到 ClearCase Remote Client 上的过程指导信息,您可以查看“Guidelines to install ClearCase Remote Client for Eclipse in Eclipse 3.4 with Equinox Update and Installer (P2)”

安装并配置 ClearCase 服务器构件

  1. 当您的团队存储源代码控制储存库时,您可以创建一个共享服务器。如果您选择使用 ClearCase Remote ClientV7.0.1,那么 ClearCase Web ServerV7.0.1必须和 ClearCase Remote Client Components 一起安装和配置;如果您选择使用 ClearCase Remote ClientV7.1,那么 ClearCase CM Server for Rational ClearCase Remote Client V7.1 必须按照。如果您想得到关于 ClearCase Remote Client and Web Server 协调性的更多信息,请访问 Rational ClearCase Information Center
  1. 在 ClearCase Web 服务器上参加一个统一的变更管理(UCM)。查看“Scenarios of working in a team development environment: Using IBM Rational Software Architect and UCM”,作者是 Dejan Custic,这篇文章向您介绍了怎样创建初始的项目 VOB 和 UCM 项目。

创建 ClearCase Remote Client 和模型到集成片段中

接下来的例子模拟了两个用户通过使用 ClearCase Remote Client for Eclipse,同时变更 Rational Software Architect 中相同的源控制模型文件。当两个变更源对相同的 UML 模型做出变更时,图解合并部分会部分接受来自 UML 模型元素或者 UML 图表元素任一方所做的变更。

在这个方案中,用户 1 创建了一个新的网络视图并载入位于 ClearCase Web 服务器上的 UCM ClearCase VOB。用户 1 会共享一个建模项目,这样其他的团队成员也可以对其作出变更。用户 1 和用户 2 处理的是同一个模型。两个用户对相同的模型元素和图表做出冲突性的变更。当第二个用户尝试检入文件时,该用户就必须执行一次合并操作,以解决差异性问题。Rational Software Architect Compare/Merge 功能使您可以比较和追踪不同的模型元素和图表视图,识别它们与合并模型之间的差异。

启动客户机上的 Rational Software Architect

在这个章节中,用户 1 将会启动 Rational Software Architect,导入一个建模项目,并共享项目以方便其他团队成员使用 (通过使用 ClearCase Remote Client for Eclipse)。

按照以下步骤,来启动 Rational Software Architect 并创建一个初始化的工作区域(在 Microsoft® Windows® 平台上):

  1. 点击 Start>Programs>IBM Software Development Platform>IBM Rational Software Architect>Rational Software Architect
  2. 在 Workspace Launcher 窗口中,Workspace 区域里,选择一个工作区并点击 OK
  3. 如果您需要变更自动配置到您的工作区路径,那么点击 Yes

您的 ClearCase 视图位置和您的工作区位置应该总是分开的。

注意:
为每一个 Rational ClearCase 或者 ClearCase Remote Client 视图维持一个单独的 Rational Software Architect 工作区,是一个很好的操作方法。为了将 Rational Software Architect 工作区域 ClearCase(或者 ClearCase Remote Client)视图联系起来,您可以创建一个新的与 ClearCase 或者 ClearCase Remote Client 视图相对应的工作区存储目录。

使用 Rational Software Architect 中的 ClearCase Remote Client

按照以下操作来使用 Rational Software Architect 中的 ClearCase Remote Client 。

  1. 选择 Window>Preferences
  2. 在 Preferences 视图下,展开 General>Capabilities
  3. 在右边的窗格下,选择 Advanced。
  4. 在 Advanced 视图中,展开 Team 并选择 ClearCase Remote Client(如图 1 所示),然后点击 OK。

提示:
当软件配置管理(SCM)适配器没有使用时就关闭它,这样您就不会对 ClearCase Remote Client 菜单的 SCM Adapter (ClearCase)菜单出错了。确定 ClearCase Remote Client 选项处于开启状态而 SCM Adapter 选项处于关闭状态(如图 1 所示)并点击 OK。请注意在远程客户端并不是所有的 SCM 操作都是可用的。

图 1. 在 Advanced 视图中选择 ClearCase Remote Client
为功能所列的复选框选项
  1. 在 Preferences 视图下,点击 OK。

打开 ClearCase 视角

按照下面的步骤来打开 Rational Software Architect 客户机上的 ClearCase。

  1. 选择 Window>Open Perspective。
  2. 在 Select Perspective 视图下,点击 Show All 复选框。
  3. 选择 ClearCase。
  4. 在如图 2 所示的 Open Perspective 视图上点击 OK
图 2. Open Perspective 视图
选中的 ClearCase

设置 ClearCase Remote Client 偏好

按照以下步骤来设置 Rational Software Architect 客户机上的 ClearCase Remote Client 偏好:

  1. 点击 Window>Preferences
  2. 在 Preferences 视图下,展开 Team 然后点击 ClearCase Remote Client
  3. 点击 Editors Preference (或者 Editors/Workspace Preference in V7.0.1)
  4. 选中 Decorate workspace project names with viewtags 复选框(见于图 3)。

注意:
通过设置 Rational Software Architect Project Explorer 中的这个偏好,如果一个项目与 ClearCase Web 视图有关,那么它就会在项目名的旁边显示。这就可以有效的预防在错误的视图中作出变更。

  1. 点击 Preferences 视图中的 OK
图 3.工作区偏好的选择
Preferences 视图

注意:

Compare/Merge 功能可在 Rational Software Architect V7.0.0.7 及其后续版本,Rational Software Modeler V7.0.5.2,Rational Software Architect V7.5 及其后续版本中获得。

  1. 两个强调显示的选项(图 4)处理的是 ClearCase Remote Client 7.1,CVS,以及 IBM® Rational® Team Concert Version 1.0。
  2. 切换至 Preferences 页面(图 4)并选择 General > Compare/Patch > Modeling Compare/Merge。
  3. 确定 Logical Model Settings (“Disable Logical Model Synchronization”和“Enable Sparse Logical Model Merge”)没有被选中(默认设置就是没有选中)。
图 4. Preferences 视图中逻辑模型设置
两个设置的复选框都没有选中

您可以在以下条件下变更这些默认设置:

  • 当您个人想要更新,指定或者同步化 .emx 和 .efx 工件时,使用 Disable Logical Model Synchronization
  • 当您处理使用逻辑模型的大型模型时,开启 Sparse Logical Model Merge 偏好。这可以显著的提高合并的速度,因为只有那些变更过的片段会载入(还有它们的逻辑模型的父类容器)。所有没做变更的文件被忽略了。

加入一个 UCM 项目并创建一个 ClearCase 开发流程和网络视图

ClearCase Remote Client 包含了两个视图创建向导:

  • 创建基底 ClearCase 视图的人
  • 使您加入一个 UCM 项目并创建一个或者多个 UCM ClearCase 视图的人,在视图中可以处理项目中的各项活动。

在这个方案中,您可以在 UCM ClearCase 视图下工作。

ClearCase Remote Client 通过 URL 来访问 ClearCase Web 服务器。为了连接到一个 ClearCase Web 服务器,您必须确保您的用户名和密码在该服务器上是有效的。

  1. 在 Rational Software Architect Client 机上,从 ClearCase 视角的菜单中,选择 ClearCase>Join a UCM Project
  2. 输入您所需要的用户信息,输入您所提供用户有效的密码,并点击 Next
  1. 选择与您的 UCM VOB 相关的 Rational 项目并点击 Next(图 5)。
图 5. 选择一个 UCM 项目
加入 UCM Project 视图
  1. 添加开发流程名并点击 Next(见于图 6)。
图 6. 添加 ClearCase 开发流程名
指定 UCM 流程视图
  1. 添加开发视图名(注释是可选的)并点击 Next(图 7)。
图 7. 添加 ClearCase 开发视图名
Create a ClearCase UCM development 视图界面
  1. 添加集成视图名(注释是可选的)并点击 Finish(图 8)。
图 8. 添加集成视图名
Create a ClearCase UCM integration 视图界面
  1. 在回应“Show the tool now?”的“Join UCM Project”确认对话框中点击 Yes
图 9. “Join UCM Project”对话框
弹出的对话框界面
  1. 在 ClearCase configuration 窗口(图 10 )中,选择 Show All VOB,切换至并选择 UCM 项目,然后点击 OK
图 10. ClearCase View Configuration 界面
选中复选框, 选择 UCM 项目

ClearCase 视角应该显示载入您的网络视图的 UCM VOB 工件以及 ClearCase View Configuration 的界面(见于图 11)。

图 11. UCM VOB 工件现在载入了
项目与细节

导入已存在的建模项目

在本章节中,用户 1 会导入一个名为 Piggy Bank 的已存在的建模项目。

范例 Piggy Bank 分为三个 UML 模型。每一个都描述了系统的不同方面,例如用例模型,分析模型以及设计模型。

按照以下步骤来导入 Piggy Bank 建模项目:

  1. 选择 Help>Samples Gallery
  2. 在 Contents 窗格内,切换至 Application samples>Piggy Bank Application>Piggy Bank Models(图 12 )。
  3. 在右边的窗格中,点击 Import the sample
  4. 在 Piggy Bank Models 页面的 Sample Banking Models 向导中,接受默认的项目名并点击 Finish
  5. 在被询问时切换至 Modeling Perspective。
  6. 关闭 Samples Gallery。

接下来的图向您展示了 Piggy Bank 建模项目是怎样在 Model Explorer 视图中显示的。

图 12. Piggy Bank 建模项目架构
Project Explorer 部分视图
  1. 您可以展开这些 Piggy Bank 模型以更好的理解范例项目。

使用 ClearCase Remote Client 来共享项目

用户 1 会共享项目以方便其他团队成员访问。

  1. Project Explorer 视图下,右击 PiggyBank Models 项目然后选择 Team>Share Project
  2. Share Project 向导中,Share Project 页面上(图 13),选择 ClearCase Remote Client 然后点击 Next。
图 13.选择 ClearCase Remote Client 这样您就可以共享项目了
Share Project 视图
  1. 在 Move Project to ClearCase 视图(图 14)中,选择 ClearCase UCM Component VOB,user5_ucm_stream3_webview3,然后点击 Next。
图 14. 选择 ClearCase 视图
选中的 CCRC 视图
  1. 在“Select a folder”之下,选择 UCM Component VOB 文件夹以保存项目的根本,然后点击 Next(见于图 15)。
图 15. 为项目的根本选择文件夹
选中的文件夹
  1. 点击 Finish 以向源控制添加项目。

然后您就会遇到 ClearCase“Add Resources to Source Control”对话框,此处所有的建模项目工件默认条件下都是选中的 (见于图 16)。

图 16. Add Resources to Source Control 对话框界面
显示所有选中复选框的屏幕截图
  1. 用户 1 在 Add To Source Control Dialog 中会添加一个新的 Create a new ClearCase 活动,然后点击 Add To Source Contro 建模工件上的 Apply 按钮。
  2. 建模工件应该检出。如果没有,那么现在就检出您的模型。
  3. [用户 1 ] 在 Modeling 视角下,打开所有的 UML 模型,并通过右击每一个 UML 包元素,并选择 Create Fragment(自 Rational Software Architect 的7.5 版本开始)Refactor > Create Fragment,来为三个 UML 模型(包括嵌套的包)中的所有 UML 包元素创建片段。不要去管默认的位置,但是让 Element Name 与 Fragment Name 保持同步化(例如:Account Operations UML Package 元素的 Account Operations.efx 片段)。[用户 1] 在这里的提示符中,向 Source Control Model 片段工件添加;在受到询问时就重新使用相同的 Activity 名。
  4. [用户 1] 通过右击每一个 UML 标识符元素并选择 Create Fragment,来为这三个 UML 元素(包括嵌套的元素)中的所有标识符(类,用例等等)以及 UML 图表(如果图表片段得到支持的话)创建片段。保持默认的片段名和位置。用户 1 应该向 Source Control Model 片段工件添加这些片段。
  5. [用户 1] 向 Source Control Model 片段工件添加元素。
  6. [用户1] 保存 Piggy Bank Models
  7. [用户1] 通过从下拉菜单中选择 Team>Check in,来同时选择模型文件和片段并检入所有的 Piggy Bank Models 文件。(确定文件得到检入,就算在 Check-in 对话框中选择相同的文件也需这样,如图 17 中的范例所示)。
  8. 点击 Apply
图17. 选择的“就算与前面的版本相类似也要检入”选项
检入视图

用户 1 从 ClearCase 视角检入所有的文件

完成以下步骤来确保所有的文件在您工作之前就已经检入:

  1. 在您的 ClearCase Remote Client 客户机上,Rational Software Architect,切换至 ClearCase Perspective
  2. 在 ClearCase navigation 视图下,右击您的 UCM 构件 VOB 并选择 Tools>ClearCase Search(如图 18 所示)。
图 18. ClearCase 目录和下拉菜单
显示所做的选择
  1. 选择 Check-out files 选项以从选择的视图中选择所有检出文件。

注意:
最好选择所有三种选项,这样 ClearCase 也会搜索所有的 “View private files”以及“Hijacked”文件,而不仅仅是检出的文件。您可以选择 Add to Source Control(在 Undo Hijack 文件中)并查看私人文件(各自的 hijacked 文件)您可以与之相似的处理 ClearCase 选项。

  1. 同时选择 ClearCase Search Results 视图下的所有文件,右击以打开下拉菜单,为所有检出的文件选择 Basic>Check-in(确定您在 Check-in 对话框中选中了 Check-in even if identical 选项),然后点击 Apply

用户 1 向基层流程提交变更

  1. 在 Rational Software Architect 中的 ClearCase Remote 客户机上,切换至 ClearCase Perspective
  2. 在 ClearCase Navigator 视图下,右击您的 UCM 组件 VOB,并选择 UCM>Deliver
  3. 如果连接超时,您可能会遇到重新认证对话框。如果您遇到了这种情况,就输入您的密码并点击 OK
  4. 在“Delivering from stream ”界面上点击 OK(图 19)。
  5. 如果提交成功的话,您会收到确认信息。
  6. 点击 OK。您的合并项目和模型应该像 ClearCase Integration 视图中所预期的那样(确定所有的一切顺利)。
  7. 当您的需求得到满足时,您可以通过点击 Complete Delivery 按钮来在 Integration 视图中检入您的文件。
图 19. “complete the deliver operation”的图标
屏幕片段
  1. 当您遇到显示“Deliver[y] Competed”的确认对话框时,点击 OK。

现在您的所有工作都应该得到合并和检入,这一点您可以在 Integration 视图下检查。

创建并推荐一条新基线

您需要 ClearCase Admin 特权来创建和推荐一条基线。

  1. 启动 ClearCaseProject Explorer
  • 在 Linux® 操作系统中,转至 /usr/atria/bin 并启动 clearprojexp
  • 在 Windows 平台下,选择 Start>Programs>Rational ClearCase>ClearCase Home Base>Projects Tab>Project Explorer
  1. 在 Project Explorer 中,选择您的集成流程,并右击并选择 Make Baseline
图 20. 选择哪一个集成流程使用基线
ClearCase Project Explorer 视图
  1. 命名基线为 B1,在 Activity 项上,确认活动已经包含在内。
  2. 在创建新的基线时,在 Make Baseline 对话框中点击OK,然后在确认对话框中点击 OK
  3. 在 Project Explorer 中,再次选择您的集成流程,右击,并选择 Recommend Baseline
  4. 添加您的最新基线(B1)并在 Recommend Baseline 对话框中点击 OK

提示:
您还可以选择,在 ClearCase Remote Client Version 7.1 或者其后续版本中,您可以使用 Rational Software Architect 中 ClearCase Explorer 视图下的 Navigator 项,以创建并推荐集成流程中的基线(见于图 21)。

图 21. Rational Software Architect 中的 ClearCase Explorer 视图
从 ClearCase Navigator 视图推荐基线

为并行开发创建环境

在这个章节中,用户 2 将会通过创建一个网络视图,并将 Piggy Bank UML 项目导入到工作区域来创建私人工作区域。

创建一个远程客户这样用户 2 也能处理项目

按照以下步骤创建一个视图,并导入共享的 Piggy Bank 建模项目:

  1. [用户 2] 在您的 ClearCase Remote Client 客户机上启动 Rational Software Architect。
  2. 当得到询问时,选择您的工作区或者创建一个新的工作区。
  3. 开启 Rational Software Architect 中的 ClearCase Remote Client。如果您想要得到更多信息,查看前面章节中的 Enable the ClearCase Remote Client (用户 1 执行)。
  4. 加入 Rational Software Architect 中的 UCM 项目(遵循前面执行的 Join UCM Project 的步骤)。
  5. 在远程客户端 Client 2 上,在 Rational Software Architect 的 ClearCase Explorer中右击您的 ClearCase Web View 2 (ClearCase Perspective)并选择UCM > Rebase
  6. 在 Rebase 视图的菜单栏中选择 Complete Rebase 按钮complete rebase button
  7. 当您得到 Rebase Complete 的确认信息时,点击 OK
  8. 从 Rational Software Architect 的 ClearCase Navigator View 中右击网络视图并选择 Tools > Update Resources,来更新您的 ClearCase Web View2。
  9. 在 Update Resources 中点击 Apply

UML 项目工件应该载入到 User2 Web View2 的位置,它们会出现在 ClearCase 视角的 ClearCase View Configuration 视图中。

从用户工作区中导入 Piggy Bank 项目

  1. 点击 File>Import
  2. 在 Import 向导中,选择 General>Existing Project into Workspace并点击 Next
  3. 在 Import Project From File System 页面的 Project contents 区域中,指定 User2 ClearCase Web 视图中的 Piggy Bank 模型的位置(例如 C:\CCRC\ccrcviews\ccrc_view2\ucmvob_ccrctest1\Piggy Bank Models)。
  4. 在 Import 对话框中点击 Finish

UML 模型和模型片段将会显示在用户 2 的工作区中的 Project Explorer 中。

选择:

您可以通过右击建模项目并选择 Import>Import Project into Workspace,来导入这些 ClearCase Navigator视图中的项目,如图 22 所示。

图 22. 导入项目的另一种方法
文件目录及下拉菜单中所做的选择

在提交操作期间比较和合并模型以及片段

当人们处理相同的包和图表时,模型元素冲突就是不能避免的。当元素层次的冲突发生时,SCM 系统就不会进行自动的合并。而一个可视的合并会启动,这时就需要用户的干预了。

在本段中,开始执行并行开发。当您推出对储存库模型的新版本(在使用 Base ClearCase 时或者交付 UCM 用例时检入),以及储存库中已经存在的相同模型的新版本时,一般会执行合并操作。如果只有非冲突性的差异发生,合并就是平凡的,这样您就执行了一次 寂静的合并(差异性自动得到了解决和合并)。但是如果有冲突性的变更存在,那么您就必须通过选择接受变更的模型的版本,来手动解决剩余的冲突问题。在您解决剩余的冲突之后,您就可以存储合并的模型并关闭合并编辑器了。

接下来的步骤描述了本段中需要做的工作:

  • 用户 1 检出建模文件( .emx.efx文件)并作出变更。所有的文件都会被检入并提交到流程中。
  • 用户 2 检出相同的建模文件(.emx.efx文件),对一些文件作出冲突性以及非冲突性的变更,然后检入所有的文件,并试着将开发流程变更提交到集成流程中。用户 2 需要合并提交操作期间的变更文件。

用户 2 在 Rational Software Architect Workspace2 中所做的变更:

  1. [用户 2 ] 切换至 Modeling 视角,右击 UML 元素中的模型片段,并选择 Check –out。用户 2 应该尽快检出所有相关的文件(模型片段以及 UML 模型)。
  2. [用户 2] 检出片段以及 UML 元素。
  3. [用户 2 ]添加一个新的 UML 元素(例如,一个 UML 元素以检出 UML 片段),并变更模型文件或者片段文件中已存在的 UML 元素。确定保持对变更的追踪。
  1. [用户 2] 检出其他的两个元素,并对模型和片段做出变更(例如:重构重命名/移动 UML 元素,但是 不是模型片段),或对图表做出变更(例如,变更图表中一些形状的颜色,并移动一些图形,或者从模型中而不是模型片段中删除 UML 元素)。
  2. 追踪所有的变更。用户 2 应该尽快检出 UML 模型中所有的引用元素。注意:默认条件下,在您使用逻辑模型时,所有的片段都会随模型而得到检出(或者相关的片段)。
  3. [用户 2] 检出 UML 模型中的所有引用片段并作出变更。
  4. [用户 2] 保存所有的变更,并检入所有检出的文件,但是 不要向集成流程提交开发流程。

用户 1 在 Rational Software Architect Workspace1 中所做的变更:

  1. [用户 1] 如果还没有对流程重定基底,那么现在就做,然后检出 ClearCase Web 视图 1 中的 UML 模型和片段。
  2. 用户 1 对 UML 模型和片段做出了一些调整,这导致了一些冲突性或者非冲突性变更的产生,您可能将形状颜色变更为用户 2 对图表中同一形状所设置的不同的颜色。用户 1 应该尽快检出 UML 模型中的所有引用片段。
  3. [用户 1] 检出 UML 模型中的 unreserved 引用片段并作出变更。
  4. 追踪所有的变更。
  5. [用户 1] 保存所有的变更。
  6. [用户 1] 通过同时选择 Rational Software Architect Project Explorer 中的文件并选择 Team>Check-in,来检入所有的 UML 模型文件(.emx文件)以及片段文件 .efx文件)。

(可选择)您可以选择单个文件并检入所有相关的模型文件。Fragments 和.emx文件将会包含到检入对话框中。

  1. [用户 1] 通过执行前面 Deliver Stream 章节中的操作,来向集成流程提交变更的流程。模型和片段将会在集成流程中静静的得到合并,因为变更是平凡的,毕竟用户 1 是第一个向流程提交变更的。
  2. [用户2] 通过执行相同的操作,来向集成流程提交变更的流程。

Compare and Merge Graphical Merge 将会为模型启动((.emx)和片段(.efx)文件拥有冲突性的变更。

注意:

  • 对于 ClearCase Remote Client V7.0 及其后续版本,应该支持逻辑性的模型合并,这样您就能够对 UML 模型文件合并使用 比较和合并功能了。
  • 对于 ClearCase Remote Client V6,我们仍然会有基于文件的合并,对于 ClearCase 视图,对于模型和片段文件您都有合并部分。
  • 对于 ClearCase Remote Client V7.1,您可以选择通过 Preferences 设置来忽略逻辑性的资源。
  1. [User2]解决模型中的冲突,以及 Compare-and-Merge 部分中的片段,然后为每一个 UML 模型指定合并部分(各自的片段)。

注意:
如果您有冲突性的变更,那么您就不能完成提交操作,除非您在 Compare Merge 对话框中解决了冲突。为了达到这个效果,您可以在 Compare Merge 对话框中选择 Conflicts 项(图 23),检查它们,并解决冲突(见于图 24)。

图 23. 在 Structural Changes 视图中选择 Conflicts 项
Shows the Conflicts 项

图 24. 接受或者拒绝解决方案
接受所有的解决方案
  1. [用户 2] 在所有的模型和片段得到合并之后完成提交

创建并推荐一个新的基线并为流程重设基底

  1. 按照 Create Baseline 一节创建并推荐一个名为 B2 的新基线。
  2. 按照 Rebase Stream 一节中的步骤来为用户 1 和用户 2 重设基底。

选择:

如果您选择 Merge Elements Graphically in Rebase Dialog,那么三方比较-合并操作将会对您打开,以手动合并重设基底过程中的变更。您可以检查并点击工具栏图标,选择 Accept all Non-Conflicting Changes 然后选择 Commit Merge Session(见于图 25)。然后您就可以在完成一次合并之后,重新载入模型。

图 25. 另一个选择:使用图标来合并元素
提到的图标在工具栏上
  1. 按照前面 Update View 章节中的步骤,更新您的 ClearCase Web 视图,这样您就可以看到用户 1 和用户 2 提交和合并的最新变更。
  2. 在 ClearCase Web View 得到更新之后,打开两个工作区中的 Modeling 视图(用户 1:ClearCase Web View1,用户 2:ClearCase Web View2),以查看模型和片段中所做的变更(选择 Windows>Open Perspective>Modeling)。
  3. 在 Project Explorer 中,双击您的模型或者片段以打开模型。

来自两个变更源的变更(用户 1 和用户 2 )应该按预期的那样显示在合并模型和片段中。

参考资料

学习 获得产品和技术 讨论

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织