《第6章 通信图》由会员分享,可在线阅读,更多相关《第6章 通信图(32页珍藏版)》请在金锄头文库上搜索。
1、1第第6 6章章 通信图通信图活动图(从活动图(从用户的角度用户的角度描述用例)描述用例)用例用例顺序图(用顺序图(用对象间的交互对象间的交互描述用例)描述用例)用例图、活动图、顺序图之间的关系:用例图、活动图、顺序图之间的关系:用例用例顺序图(用顺序图(用对象间的交互对象间的交互描述用例)描述用例)顺序图与通信图之间的关系:顺序图与通信图之间的关系:通信图(用通信图(用对象间的交互对象间的交互描述用例)描述用例)共同点:二者都是用对象间的交互来描述用例的共同点:二者都是用对象间的交互来描述用例的通信图描述的是和对象结构相关的信息。通信图的用途是表示一个类操作的实现。通信图对交互中有意义的对象
2、和对象之间的链建模。在UML中,通信图用几何排列来表示交互作用中的对象和链,附在链的箭头代表消息,消息的发生顺序用消息箭头处的编号来说明。 通信图示例: 顺序图与通信图均显示了对象间的交互,但它们强调了顺序图与通信图均显示了对象间的交互,但它们强调了不同的方面。不同的方面。 顺序图强调交互的时间次序,但没有显式地指明对象间顺序图强调交互的时间次序,但没有显式地指明对象间的关系。的关系。 通信图清晰地显示了对象间的关系,但交互的时间次序通信图清晰地显示了对象间的关系,但交互的时间次序不明显,必须从消息的序号中获得。不明显,必须从消息的序号中获得。交互图交互图顺序图顺序图通信图通信图 顺序图按照顺
3、序图按照时间顺序时间顺序布图,而通信图按照布图,而通信图按照空间结构空间结构布图布图 通信图与顺序图在语义上是通信图与顺序图在语义上是等价的等价的,二者可以相互转换。二者可以相互转换。6.1 通信图的构成对象对象链接链接消息消息(序列号序列号,控制点控制点) 一、对象 二、链接1 1、链接的概念、链接的概念 链接用来在通信图中关联对象,链接的目的是让消息在不同链接用来在通信图中关联对象,链接的目的是让消息在不同系统对象之间传递。系统对象之间传递。2 2、链接的符号表示、链接的符号表示链接以连接两个对象的单一线条表示链接以连接两个对象的单一线条表示三、消息1、消息的概念、消息的概念消息是通信图中
4、对象与对象之间通信的方式消息是通信图中对象与对象之间通信的方式2、消息的类型与符号表示、消息的类型与符号表示简单消息简单消息同步消息同步消息异步消息异步消息反身消息反身消息6.2 对消息使用序列号与控制点一、序列号一、序列号消息的次序。由于通信图不能像顺序图一样从图的页面消息的次序。由于通信图不能像顺序图一样从图的页面上方流向下方,因此,上方流向下方,因此,序列号是必不可少的序列号是必不可少的二、控制点二、控制点是是一个条件一个条件,只有当条件为真时,才发送消息,只有当条件为真时,才发送消息6.3 迭代一、迭代的概念一、迭代的概念迭代可以在通信图用来指示迭代可以在通信图用来指示重复的处理过程重
5、复的处理过程。 二、迭代的表示方法二、迭代的表示方法 1 1、单个对象发送消息到、单个对象发送消息到一组其他对象一组其他对象时时 接收消息对象组用带有重叠的矩形框,这实际上接收消息对象组用带有重叠的矩形框,这实际上表示对象的表示对象的集合集合,将,将* *放置在消息的前面放置在消息的前面Rose表示方法这种迭代的用途:多态和广播消息这种迭代的用途:多态和广播消息(1)多态)多态多态:同一个操作(操作名相同,参数相同)被不同的对多态:同一个操作(操作名相同,参数相同)被不同的对象接收时,可产生不同的动作或执行效果。象接收时,可产生不同的动作或执行效果。消息的发送者不必知道接收消息的对象所属的类,
6、只提供消息的发送者不必知道接收消息的对象所属的类,只提供一个操作的请求,接收者知道如何处理这一请求。一个操作的请求,接收者知道如何处理这一请求。(2)广播消息)广播消息所谓广播消息是把多个对象作为它的目标对象的消息。广播所谓广播消息是把多个对象作为它的目标对象的消息。广播消息一般是异步消息,广播的发送者不必等待返回消息。消息一般是异步消息,广播的发送者不必等待返回消息。在消息前在星号(在消息前在星号(*)在消息后加在消息后加2、消息从一个对象到另一个对象的多次发送、消息从一个对象到另一个对象的多次发送6.4 顺序图与通信图的转换 顺顺序序图图和和通通信信图图在在语语义义上上是是等等价价的的,所
7、所以以顺顺序序图图和和通通信信图图可以彼此可以彼此转换而不会损失信息转换而不会损失信息。 对系统建模通信图最好的方法是将顺序图转换成通信图。对系统建模通信图最好的方法是将顺序图转换成通信图。6.5 通信图的Rose建模一、新建通信图一、新建通信图方法方法1:方法方法2:二、重命名通信图并双击打开二、重命名通信图并双击打开对象对象链接链接反身链接反身链接消息消息反向消息反向消息三、添加对象三、添加对象方法方法1 1:a.a.将事先创建的类从浏览器拖到通信图中将事先创建的类从浏览器拖到通信图中b.b.双击对象,在弹出的窗口中设置对象的名称双击对象,在弹出的窗口中设置对象的名称方法方法2 2:a.a
8、.通过工具栏的对象按纽在通信图中添加一个对象通过工具栏的对象按纽在通信图中添加一个对象 b.b.双击对象,在弹出的窗口中设置对象名和类双击对象,在弹出的窗口中设置对象名和类四、添加链接 用工具栏中的链接按纽进行连接用工具栏中的链接按纽进行连接五、添加消息方法方法1:a.用工具栏上的消息按纽点击链接线用工具栏上的消息按纽点击链接线b.双击消息,在弹出的窗口中设置消息的名称双击消息,在弹出的窗口中设置消息的名称方法方法2:a.双击链接线,弹出如下窗口双击链接线,弹出如下窗口b.b.切换到切换到messagesmessages页面页面在空白处右击,选择在空白处右击,选择六、设置消息的类型双击消息,在弹出的对话框选择双击消息,在弹出的对话框选择”detail”选项卡选项卡同步消息同步消息异步消息异步消息七、顺序图与通信图的相互转换七、顺序图与通信图的相互转换