
通信图
通 信 图

课程内容 1 通信图的概念 2 通信图的表示 3 消良的分类
课程内容 通信图的概念 通信图的表示 消息的分类 Conclusion 1 2 3

1,通信图的概念 冬通信图(Communication Diagram)与顺序图一样 都是用来描述对象之间相互作用的建模工具 冬在UML1.x中,通信图又被称为协作图 (Collaboration Diagrams),它描述了系统中,对 象间通过消息进行的交互,强调了对象在交互行为 中承担的角色 冬通信图的消息发生顺序用图中的消息编号的方法来 表示 冬通信图和顺序图之间的语义是等价的,只是他们的 关注点有所不同而已,可以很容易的完成从顺序图 到通信图的转换
1.通信图的概念 ❖通信图(Communication Diagram) 与顺序图一样 ,都是用来描述对象之间相互作用的建模工具 ❖在UML1.x中,通信图又被称为协作图 (Collaboration Diagrams),它描述了系统中,对 象间通过消息进行的交互,强调了对象在交互行为 中承担的角色 ❖通信图的消息发生顺序用图中的消息编号的方法来 表示 ❖通信图和顺序图之间的语义是等价的,只是他们的 关注点有所不同而已,可以很容易的完成从顺序图 到通信图的转换

2.通信图的表示 冬通信图的表达方式为: 通信图=交互的参与者+通信链+消息 Communication Diagram=Participants Communication Links Messages 冬通信图的组成元素包括对象、消息、链(连接器) 消息表示了对象间的通信,对象通过链连接在 一起。 1:add item() 3:update() 天 Maintenance :Item Window Administrator :find(String) O V Title
2.通信图的表示 ❖通信图的表达方式为: 通信图 = 交互的参与者+通信链+消息 Communication Diagram= Participants + Communication Links + Messages ❖通信图的组成元素包括对象、消息、链(连接器) 。消息表示了对象间的通信,对象通过链连接在 一起。 : Administrator : Maintenance Window : Item : Title 1: add item( ) 3: update( ) 2: find(String)

2通信图的表示 交互的参与者(Participants)用一个对象符号表示 ,与顺序图中对象的概念一样,只不过在通信图 中无法表示对象的创建和撤销,所以对于对象在 图中的位置没有限制。 冬在通信图中可能出现四类对象 "·存在于整个交互作用中的对象 ·在交互作用中创建的对象 ·在交互作用中销毁的对象 ·在交互作用中创建并销毁的对象
2.通信图的表示 ❖交互的参与者(Participants)用一个对象符号表示 ,与顺序图中对象的概念一样,只不过在通信图 中无法表示对象的创建和撤销,所以对于对象在 图中的位置没有限制。 ❖在通信图中可能出现四类对象 ◼ 存在于整个交互作用中的对象 ◼ 在交互作用中创建的对象 ◼ 在交互作用中销毁的对象 ◼ 在交互作用中创建并销毁的对象

2通信图的表示 链表示对象之间的语义关系,表示两个对象间的 导航(Navigation)和可视性(Visibility)。链是关联 的一个实例。通信图中链的符号和对象图中链所 用的符号是一样的,即一条连接两个对象的实线 通信图中的消息类型与顺序图中的相同,只不过 为了说明交互过程中消息的时间顺序,需要给消 息添加顺序号。顺序号是在消息的前面加一个整 数。每个消息都必须有唯一的顺序号。 冬消息的编号有两种,一种是无层次编号(按顺序编 号),它简单直观;另一种是嵌套的编号,它更易 于表示消息的包含关系
2.通信图的表示 ❖链表示对象之间的语义关系,表示两个对象间的 导航(Navigation)和可视性(Visibility)。链是关联 的一个实例。通信图中链的符号和对象图中链所 用的符号是一样的,即一条连接两个对象的实线 。 ❖通信图中的消息类型与顺序图中的相同,只不过 为了说明交互过程中消息的时间顺序,需要给消 息添加顺序号。顺序号是在消息的前面加一个整 数。每个消息都必须有唯一的顺序号。 ❖消息的编号有两种,一种是无层次编号(按顺序编 号),它简单直观;另一种是嵌套的编号,它更易 于表示消息的包含关系

3.消息的分类 3.1自我委派消息 ·消息从一个对象发送到它自身,这样的消息被称 为自我委派(self Delegation)消息。 :Planner 1.mayPreserve()
3.消息的分类 3.1 自我委派消息 ❖消息从一个对象发送到它自身,这样的消息被称 为自我委派(self Delegation)消息。 :Planner 1.mayPreserve()

3.消息的分类 3.2控制消息 冬控制消息(Control Message)表示当控制条件为 真的时候消息才会被发送 1.1:[quantity MiniAmount]getPrice() SaleManagement Retail 1.2:[quantity>=MiniAmount]getPrice() :Wholesale
3.消息的分类 3.2 控制消息 ❖控制消息(Control Message)表示当控制条件为 真的时候消息才会被发送 :Wholesale : Retail 1.1: [quantity = MiniAmount]getPrice() : SaleManagement

3.消息的分类 3.3嵌套消息和子消息 当一个消息导致了另一个消息被发送的时候,第 二个消息被称为嵌套在第一消息里,这样的消息 称为嵌套消息(Nested Message) 通信图用多级消息号的形式表示这种消息的嵌套
3.消息的分类 3.3 嵌套消息和子消息 ❖当一个消息导致了另一个消息被发送的时候,第 二个消息被称为嵌套在第一消息里,这样的消息 称为嵌套消息(Nested Message) ❖通信图用多级消息号的形式表示这种消息的嵌套

3.消息的分类 3.4循环 冬在通信图中循环用”*” 号来表示,循环子句被放 在顺序号的后面,表示循环将按照给定的循环子 句重复 2.1.1.1:[i<n getName Order ProductMgt 冬循环通过在顺序编号前加上一个”*”和一个可选 的循环表达式表示。对于循环表达式,UML没有 强制规定什么语法,因此可以使用任何可读的、 有意义的表达式来表示
3.消息的分类 3.4 循环 ❖在通信图中循环用“*”号来表示,循环子句被放 在顺序号的后面,表示循环将按照给定的循环子 句重复 ❖循环通过在顺序编号前加上一个“*”和一个可选 的循环表达式表示。对于循环表达式,UML没有 强制规定什么语法,因此可以使用任何可读的、 有意义的表达式来表示。 : Order : ProductMgt 2.1.1.1: * [ i < n ] getName