UML动态建模中的UML协作图实现示例
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
1.1 UML动态建模中的UML协作图实现示例
1、UML中的协作图(Collaboration Diagram) (1)协作图概述
, 一组对象角色之间的协作关系
它
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示特定环境中相关的一组类对象之间的协作关系,以及一种交互关系------即为实现某个操作或达到某种结果而在对象间交换的一组消息。
, 主要的作用
协作图也是一种交互图,通过该种类型的交互图,可以显示出由一个用例定义的一个系统事件,其中的一组对象与其他组对象之间如何彼此进行协作。
, 协作图可以被视为对象图的扩展
但它除了展现出对象间的关联关系以外,还显示出对象间的消息传递。 (2)与序列图不同之处
顺序图和协作图描述的其实是同一种东西,即实现某种系统功能的一组对象和它们之间的消息传递。
不过在顺序图中,时间是作为一个显式的因素出现的,这是的顺序图在构造实时系统时特别有用。而在协作图中,没有显式的时间因素,但是对象之间的关联是一目了然的,这对我们在一组相互关联的对象的语境中考察它们的消息传递是很有帮助的。顺序图和协作图是对同一事物的不同角度的考察。
, 协作图不能体现消息的先后顺序
协作图主要显示对象角色之间的交互关系和链接关系,它并不将时间作为单独的一个维表示。因此,要对协作图中的消息编号以表明其先后顺序。
杨教授大学堂,版权所有,盗版必究。 1/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
, 两者的侧重点不一样
虽然顺序图和协作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序——顺序图常常用于表示
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,而协作图则着重体现交互对象间的静态链接关系——协作图用于过程的详细
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
。
, 在Rose工具中可以将顺序图直接转换成协作图
顺序图可以直接转换成协作图,在Rose里面只需要按一下F5键就可以从顺序图得到协作图。
(3)协作图的UML图示
1) 协作图中对象的外观与顺序图中的一样。
2) 如果一个对象在消息的交互中被创建,则可在对象名称之后标以{new};类似地,
杨教授大学堂,版权所有,盗版必究。 2/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
如果一个对象在交互期间被删除,则可在对象名称之后标以{destroy}。
3) 对象间的链接关系类似于类图中的联系(但无多重性标志)。
4) 通过在对象间的链接上标志带有消息串的消息(简单、异步或同步消息)来表达对
象间的消息传递。
2、为什么要应用协作图
(1)利用协作图
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
复杂交互操作
虽然用顺序图可以很好的表达操作和行为,而且时间关系也很清楚,但是,当关系非常复杂的时候,往往图就很复杂,这样反而不利于看清问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,所以,某些情况下使用协作图将会使表达更清楚。
(2)利用协作图简化对象间的关联建模
由于协作图只对相互间具有交互作用的对象和对象间的关联建模,这样我们在协作图中可以忽略其他对象和关联关系的描述。从而使得我们能够更好地描述出实现某个用例中所需要涉及的各个对象以及它们之间的关联关系。
注意:
我们并不需要对系统中所有的用例绘制出协作图,而一般只需要对最主要、最复杂的用例做这样的关联建模。
3、协作图中的消息流
在协作图的链接线上,可以用带有消息串的消息来描述对象间的交互。
, 消息的箭头指明消息的流动方向。
消息可以用依附于链接的带标记的箭头表示。每个消息包括一个顺序号、一张可选的前任消息的表、一个可选的监护条件、一个名字和参量表、可选的返回值表。
, 消息串说明要发送的消息、消息的参数、消息的返回值以及消息的序列号等信息。
杨教授大学堂,版权所有,盗版必究。 3/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
4、某个网上书店项目中的图书销售协作图
5、协作图的建模技术
使用协作图对系统建模时,可以遵循如下策略:
(1)设置交互的语境
这里所指的语境可以是系统、子系统、操作、类、用例或用例的脚本。 (2)通过识别对象在交互中所扮演的角色
开始绘制协作图,把这些对象作为图的顶点放在协作图中。 (3)在识别了协作图对象后,为每个对象设置初始值
如果某对象的属性值、标记值、状态或角色在交互期发生变化,则在图中放置一个复制对象,并用变化后的值更新它,然后通过构造型《become》或《copy》的消息将这两者连接。
(4)设置了对象的初始值后,根据对象间的关系开始确定对象间链接。
杨教授大学堂,版权所有,盗版必究。 4/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
一般先确定关联的链接;因为这是最主要的,它代表了结构的链接。然后需要确定的是其他的链接,用合适的路径构造型修饰它们,这表达了对象间是如何互相联系的。 (5)从引起交互的消息开始,按消息的顺序,把随后的消息附到适当的链接上,这描述了对象间的消息传递。可以用带小数点的编号来表达嵌套。
(6)如果需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。 (7)在建模中,如果想更详细的描述这个控制流,可以为交互过程中的每个消息都附上前置条件和后置条件。
1.1.1 在Rose工具中创建UML协作图的实现示例
1、在Rose中画协作图,可以根据顺序图来自动产生。
2、实现的过程
(1)打开对应的顺序图
(2)选择转换菜单或者直接按快捷键F5
(3)将创建出对应的协作图
杨教授大学堂,版权所有,盗版必究。 5/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
改名
(4)排版它
杨教授大学堂,版权所有,盗版必究。 6/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
1.1.2 在Rose工具中创建UML协作图的实现示例
1、在Rose中的协作图,可以根据顺序图来自动产生。 2、实现的过程
(1)打开对应的顺序图
杨教授大学堂,版权所有,盗版必究。 7/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
(2)选择转换菜单
(3)将创建出对应的协作图
杨教授大学堂,版权所有,盗版必究。 8/9页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
(4)排版它
杨教授大学堂,版权所有,盗版必究。 9/9页