flueky 2010-06-10
本节向大家介绍一下UML协作图创建方法,虽然在软件开发过程中UML协作图用到的不是很多,还是有必要向大家介绍一下,欢迎大家一起来学习UML协作图的创建。
UML建模:创建UML协作图
使用UML协作图
协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图显示了交互中各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系。另一方面,协作图没有将时间作为一个单独的维度,因此序列号就决定了消息及并发线程的顺序。协作图是一个介于符号图和序列图之间的交叉产物,它用带有编号的箭头来描述特定的方案,以显示在整个方案过程中消息的移动情况。
协作图具有以下用途:
通过描绘对象之间消息的移动情况来反映具体的方案。
显示对象及其交互关系的空间组织结构,而非交互的顺序。
创建UML协作图
本教程将使用UML建模:创建类图教程中创建的类图。在开始执行下列步骤之前,请首先完成类图教程。
本部分包含以下步骤:
1.生成协作图
2.完善生成的图
生成UML协作图
1.启动IDE(如果需要)。
2.在“项目”窗口中,展开"UMLTutorialProject">“模型”节点。
选择以下类节点:
ATM
Branch
Consortium
通过按住Ctrl键并单击每个类节点可以选择多个类。
右键单击最后选定的类,然后从弹出式菜单中选择“通过选定的元素创建图”。
将打开新建向导,其中显示“创建新图”页。
3.在“图类型”列表中,选择“协作图”。
4.在“图名称”字段中,键入CollaborationDiagram。
5.保留“名称空间”字段中的缺省设置,然后单击“完成”。
IDE将执行以下操作:
在“项目”窗口的“模型”节点下创建CollaborationDiagram节点
在图编辑器中显示新图(该图由三个表示为生命线元素的类构成)
打开建模组件面板
完善生成的图
单击并拖动元素以重新排列图,使其与下面的图类似。
1.在“项目”窗口中,选择标记为User的类节点。
2.将选定的类拖放到图编辑器中,使其位于ATM生命线元素的上方。
添加连接器链接
UML协作图中的每个元素均可通过连接器链接与其他元素建立连接。您可以标识这些链接,并在其中添加消息流。
从建模组件面板的“基本”类别中,选择"Connector"图标。
单击标记为User的生命线元素,然后单击ATM。
将在两个元素之间绘制一条连接器链接。
使用相同的步骤绘制以下链接:
从ATM至Consortium的链接
从Consortium至Branch的链接
从ATM至Branch的链接
在创建从ATM至Branch的链接时,请由ATM生命线向右水平拉出链接线,并在到达Branch生命线正上方时单击一下鼠标。这样便会在链接线上放置一个顶点,然后再垂直向下绘制链接以到达Branch生命线。
在图编辑器中的任意位置单击鼠标右键以取消选择"Connector"图标。
显示消息号
UML协作图通过使用带有编号的消息来表示特定的方案。缺省情况下,UML建模设置将隐藏这些编号。请使用以下步骤来显示消息号:
在CollaborationDiagram图编辑器的背景中单击鼠标右键。
从弹出式菜单中选择“显示消息号”。
这样当您插入操作流(在下一部分中介绍)时,便会显示消息号。整数表示消息在下一个更高级别的过程调用中的顺序。依据整数编号进行区分的消息按照其嵌套级别进行排序。例如,在激活3.1中,消息3.1.4排在消息3.1.3之后。
显示操作流
操作流在图中显示为与链接平行的带标记箭头。此链接用于向目标元素传输消息或实现这种传输。
在图编辑器中,选择User和ATM之间的连接器链接。
右键单击距ATM生命线最近的连接器链接部分。
从弹出式菜单中选择“操作”>"publicfloatgetCashOnHand"。
将在图中放置一个编号为1的操作流。单击“适应窗口大小”按钮以在图编辑器中查看整个图。
选择ATM和Consortium之间的连接器链接,然后右键单击靠近Consortium元素的链接部分。
从弹出式菜单中选择“操作”>"publicvoidvalidateAccountInfo"。
IDE会在此链接上放置选定的操作,并将其编号为1.1。
您可以根据需要选择并移动操作流。
向类中添加操作
在此过程中,您将向连接器链接添加一个新的操作。该操作还会被添加到ClassDiagram图的Branch类以及Java源代码中。
右键单击Consortium和Branch之间靠近Branch生命线元素的连接器链接。
从弹出式菜单中选择“操作”>“添加操作”。
图中将出现一个标签,并突出显示Unnamed一词。
键入verifyCardWithBank。
使用向右方向键将光标移至操作参数字段。
键入intstringCardStrip作为参数,然后按Enter键。
该链接将被标记为1.1.1:publicvoidverifyCardWithBank(intstringCardStrip),并且添加的操作会显示在ClassDiagram图的Branch类中。
在ATM和Branch之间的连接器链接上,右键单击靠近Branch生命线的链接部分。
从弹出式菜单中选择“操作”>"publicchargetConnected"。
该链接将被标记为1.2:publicchargetConnected()。
保存图