UML图 - 协作图

UML图 - 协作图

 

协作图(合作图,通信图)(Collaboration Diagram/Communication Diagram)描述对象与对象之间消息连接关系的,侧重于说明哪些对象之间有消息传递(着重描述系统成分如何协同工作).

协助图 = 交互的参与者 + 通信链 + 消息

 

协作图建模对象 : 对有交互的对象 和 这些对象之间的关系建模, 不参与交互的对象及它们的关系忽略;

协作图内容 : 协作图中表现了类操作中用到的参数, 布局变量, 操作中的永久链;

 

协作图内容

(1) 对象(Object)

对象 : 代表协作图交互中的主体, 协作图中对象无法创建和撤销, 因此对象在协作图的位置没有限制

(2) 链(Link)

链的表示 : 链的符号用来连接两个类角色的实线;

--  : 创建对象之间的通信路径;

--  : 显示对象可以调用自己的属性;

--  : 在两个对象之间 或 一个对象本身增加消息;

--  : 在两个对象之间 或 一个对象本身 从反方向增加消息;

--  : 显示两个对象之间的信息流;

--  : 在反方向显示两个对象之间的信息流; 

(3) 消息 (Message)

消息概念 : 对象间通过链接发送的就是消息;

-- 消息传递方向 : 对象之间的箭头表明对象间交换的消息流, 一个对象发出消息, 链指向的对象接收消息, 链用于实现消息传输;

-- 消息标识 : 消息流标有消息的序列号 和 对象间发送的消息名称;

-- 消息结果 : 每条消息否会触发接收对象的一系列操作;

消息序号 : 为了表明消息顺序, 需要为消息添加序号;

 

 

 

例子:汽车租赁流程;

对象 : Customer (客户), Order (订单), Worker (工人), Record (记录), Car (汽车);

流程简介 : 客户写好订单, 工人核对订单, 核对后订单存在, 允许客户取车, 工人填写记录, 并将车取出;

 

 

 协作图建模策略

协作图使用场景 : 对系统动态行为建模, 按组织对控制流建模使用协作图;

协作图管理策略 : 

-- 单个协作图 : 单个协作图 只能 显示一个控制流;

-- 多个协作图 : 描述复杂系统的时候, 需要许多协作图共同描述, 一些图是主干协作图, 还有许多分支路径的控制流的协作图, 使用包管理这些协作图;

 

协作图的建模策略 : 

-- 设置语境 : 设置 协作图所在的环境 , 如 系统, 子系统, 类, 操作, 用例 或 用例脚本;

-- 对象顶点 : 识别对象在协作图中扮演的角色, 协作图中, 对象是图的顶点;

-- 变化修改 : 每个对象最初都会设置初始值, 如果期间对象发生了变化, 修改的方式是 : 协作图中放置一个复制对象, 更新复制对象, 同过后造型 become copy 连接二者;

-- 确定链接顺序 : 先确定关联链接, 哪些对象相互链接; 在确定消息链接, 路径构造型等 表示对象间如何连接;

-- 消息顺序 : 从引起交互的消息开始编号, 将编号信息 和 描述信息 附到链接上, 描述了对象之间的传递次序;

-- 时间空间约束 : 可以为每个消息附加 时间 和 空间 上的约束;

-- 前置后置条件 : 可以为每个消息附加 前置 和 后置 条件;

 

posted @ 2018-03-23 17:56  Charonnnnn  阅读(383)  评论(0编辑  收藏  举报