系统和企业领域中的大多数软件开发组织都意识到了模型驱动开发(MDD)和统一建模语言(UML)的优势,并通过使用IBM®Rational®Software Architect产品家族来利用它们。 IBM®Rational Team Concert™是设计用于敏捷开发的下一代配置管理环境。 它基于IBM®Rational®Jazz™和Eclipse平台,通过整合最新的协作技术,软件开发计划,源代码控制和变更管理功能,为在全球分布的组织中取得成功提供了必要的资源。
双方都通过利用Eclipse Shell共享来提供Rational Software Architect和Rational Team Concert之间的集成。 可以将Rational Team Concert Eclipse客户端安装到Rational Software Architect Eclipse外壳程序中,该外壳程序将允许您使用Rational Team Concert功能,包括源代码控制,工作项管理以及Rational Software Architect中的管理。 在Rational Software Architect方面,您可以在源代码控制下对UML模型使用可视化的比较和合并功能,根据验证模型产生的问题创建工作项,并将UML资源跟踪到Rational Team Concert工作项。
以下各节详细说明了如何通过模仿两个用户之间的实际并行开发方案来进行集成。 当用户使用安装在其Rational Software Architect Eclipse Shell中的Rational Team Concert Client集成其工作时,这种并行工作将导致冲突的更改,需要进行处理。 这两个用户将在一个包含单个模型的UML项目中工作,然后他们将使用逻辑模型。
您需要对UML建模有基本的了解才能跟随本文并完成示例。 假定您对Rational Team Concert的配置管理有概念上和实践上的理解。 Rational Team Concert环境已配置好,可用于协作开发。
在这种情况下,两个假定的用户必须可以使用以下软件:
WebSphere®7.5.5版或更高版本的Rational Software Architect 将Rational Team Concert版本2.0.0.2或更高版本安装到Rational Software Architect外壳中要完成集成,您将需要访问Rational Team Concert服务器上的项目区域。 在本示例中,两个Rational Team Concert用户User1和User2对项目区域具有适当的读/写访问权限。 有关如何设置Rational Team Concert的信息,请参阅信息中心中的“ 入门”部分。
在新的工作空间中启动Rational Software Architect for WebSphere。 从主菜单中,选择窗口>显示视图>其他 。 选择“ 团队”>“团队工件” ,然后单击“ 确定” 。当使用诸如Rational Team Concert之类的配置管理工具时,由于并行开发,开发人员会在日常活动中比较和合并文件。 当团队使用更具协作性的敏捷开发方法时,这一点变得尤为重要,这通常要求开发人员将其工作与其他项目成员的工作不断集成。
与基于文本的文件(例如C ++和Java™代码)相比,对UML模型执行比较和合并操作要复杂得多。 Rational Software Architect对其模型使用基于XML的格式,以满足对其互连和语义的UML2.0要求。
Rational Software Architect中有两种类型的模型: single和逻辑 。 单个模型驻留在单个文件(.emx)中; 然而, 逻辑模型分为物理上分离但在逻辑上相关的子单元。 在Rational Software Architect中,子单元称为片段,并存储在主模型(* .emx)引用的* .efx文件中。 当使用Rational Team Concert源代码控制时,Rational Team Concert版本2.0.0.2或更高版本支持Rational Software Architect逻辑模型。
User1将从Rational Software Architect样本库中导入一个名为PiggyBank UML模型的样本项目。 稍后,示例项目将与Rational Team Concert源代码控制库共享。
在主菜单栏中,选择“ 帮助”>“帮助目录”。 打开示例> PiggyBank应用程序> PiggyBank UML模型。 单击导入样本链接。 单击“ 完成”按钮导入示例PiggyBank UML模型项目。 PiggyBank UML项目将出现在Project Explorer视图中,如图3所示。现在您已经有了样本项目,User1首先将创建一个新的Rational Team Concert工作区,其中的服务器上带有一个组件。 该工作空间将用于与Rational Team Concert源代码控件共享上一部分中导入的项目。
右键单击项目,然后选择团队>共享项目 。 选择Jazz Source Control ,然后单击下一步按钮。User1将PiggyBank UML模型项目交付到项目区域的流中,以便该项目可供其他团队成员使用。 在以下部分中,User1将项目从主流导入到他的Rational Team Concert工作空间中。
启动将由User2使用的Rational Software Architect的新实例。 按照与“ 连接到Rational Team Concert存储库”部分中相同的步骤,以User2身份登录到存储库。 从主菜单栏中选择显示视图>其他 。 选择团队>团队工件 ,然后单击确定按钮 在“ 团队工件”视图中,右键单击MyProjectArea>源代码管理> Team 1 Stream(Team1) ,然后选择新建>存储库工作区 。 根据您的配置选择项目区域和流名称。 本示例使用MyProjectArea作为项目区域名称,并使用Team 1 Stream作为流名称。 为您的存储库工作区命名,例如User2Workspace 。 单击完成。 选择“ 查找并加载Eclipse项目 ”,如图5所示,然后单击“ 完成”。小费:
PiggyBank Models项目已加载到本地工作区中。
User2将对模型进行一些更改,并将其交付给主流。 由于User1尚未修改模型,因此更改不会冲突。 User2将传递到源代码控制存储库的更改还将创建模型验证问题。
右键单击模型,然后选择Refactor> Fragment All Sub-Packages ,为用例模型中的包创建片段。 单击确定按钮以更新引用。 现在,您将角色的名称从Customer更改为Client 。 右键客户端,并选择用例模型>帐户操作>客户 , 钕然后从下拉菜单中选择重构>重命名 。 在对话框中输入Client以替换客户,然后单击确定 。 现在,您将为项目创建一个新模型,该模型不会添加到Rational Team Concert存储库中。 右键单击并在Project Explorer视图中选择PiggyBank Models> Models ,然后从下拉菜单中选择Create Model 。 选择标准模板,然后单击下一步按钮。 通过选择需求类别和用例包模板来创建一个用例包模型,如图6所示。您刚刚创建的需求模型会自动添加为候选对象,以检入Rational Team Concert源代码管理中。 现在,您将模型添加到“忽略”列表中,以使该模型不会被检入或交付给源代码控制存储库。
右键单击模型,然后选择团队>添加到忽略列表 。 保留以下默认选择: 忽略什么:具有选定名称的资源 忽略位置:仅忽略同一目录中的项目 在图7所示的对话框窗口中单击OK 。现在,User1将其工作空间与主开发流同步。 现在,主要开发流包含User2在先前步骤中提供的模型更改。 User1将接受User2传递到其工作区的那些更改。 最后,User1将验证模型并根据模型验证错误创建Rational Team Concert工作项。
在User1的Rational Software Architect窗口中,打开Pending Changes视图,然后单击Refresh按钮。 扩展您的工作区/组件。 单击带有箭头的A图标,接受所有传入的更改 在“ 待更改”视图中。 在项目浏览器中打开PiggyBank模型>用例模型 。 您将看到一条错误消息,指出模型包含一个可能自动修复的损坏的参考。 单击忽略按钮。 通过在Project Explorer中选择模型并单击主菜单栏上的Modeling> Run Validation来验证用例模型 。 在“ 问题”视图中,选择验证引起的错误。 右键单击并选择创建工作项目 。注意: 您的工作项类型列表可能与图10的列表不同,因为它取决于您的Rational Team Concert服务器的工作项模板配置。
在工作项编辑器中填写必填字段。 选择此工作项的所有者为User2 。 单击拥有者字段,然后选择更多 。 搜索User2,然后单击“ 确定”将用户设置为工作项所有者。 通过单击保存按钮保存工作项。您已经学习了如何比较和合并无冲突的更改。 在接下来的步骤中,您将学习如何使用Rational Software Architect的“比较并合并”功能来合并冲突的模型更改。
通过打开“ 团队工件”视图并选择MyArea>工作项目>共享查询>预定义>打开分配给我的工作,找到分配给User2的工作项目 。 在工作项视图中,如图11所示,双击工作项将其打开。现在,我们将进行更改,以在UML模型中产生冲突。
使用User1的工作区启动Rational Software Architect。 重复步骤6和7,但是这次将图重命名为PiggyBank User1 Design 。 这将与应手动合并的User1所做的更改产生冲突。 保存模型。 打开“ 待处理的更改”视图时,应该同时看到“未解决的更改”和“传入的更改”。 右键单击“ 未解决” ,然后从主菜单中选择“ 全部 签入”。为了能够在Rational Software Architect中将UML模型与Rational Team Concert进行比较和合并,需要启用特殊选项。 完成以下步骤后,您将能够在Rational Team Concert中使用逻辑模型。
从主菜单栏中选择窗口>首选项 。 选择“ 团队”>“ Jazz Source Control”>“模型启用” 。接下来,User1和User2将在逻辑模型中创建冲突。 以后,这些冲突将得到解决。
以User1的身份,右键单击用例并选择Refactor> Rename,在用例模型>帐户操作包下重命名Cash Check用例。 为它重新命名为“ Deposit Check ,然后单击“ 确定”。 将尚未解决的更改传递到流。 重复“传递无冲突的更改”部分中的步骤16-18,以完成此操作。 以User2的身份重复上述步骤,从“检查允许...”到“选择重构>重命名”,但将用例命名为Cash Check (或Cash Cheque ) 。 这将在逻辑模型中产生冲突。 打开“ 待处理的更改”视图,并检入您在上一步中创建的所有未解决的更改。 接受来自User2的所有传入更改。 单击自动解决冲突的更改。 当出现“逻辑合并”对话框时(图17),双击“ 逻辑模型”>“ PiggyBank模型”>“ IBM Rational逻辑模型[根文件:Use Case Model.emx]”(完整上下文合并)。有关Rational Software Architect和Rational Team Concert的更多信息,请参见参考资料部分中的引用。
翻译自: https://www.ibm.com/developerworks/rational/library/10/integrating-rsa-with-rtc-merge-uml-models/index.html
相关资源:25个经典网站源代码