1 / 17
文档名称:

UML 交互图 (顺序图、通信图、鲁棒图、定时图).docx

格式:docx   大小:1,155KB   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

UML 交互图 (顺序图、通信图、鲁棒图、定时图).docx

上传人:wwlgqnh 2021/4/13 文件大小:1.13 MB

下载得到文件列表

UML 交互图 (顺序图、通信图、鲁棒图、定时图).docx

文档介绍

文档介绍:UML 交互图 (顺序图、通信图、鲁棒图、定时图)
 
2010-12-23 作者:佚名 来源:网络
 
   交互与交互图
   交互的概念
   一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为
   消息
   UML中的4种交互图
   顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹
   通信图:UML 1中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹
  
定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序
   交互概述图:是交互图和活动图的混合物
   如何阅读交互图
   阅读顺序图
顺序图的主要元素
对象与角色:最顶上一排矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代表现实世界中的某个东西。例如,aOrder作为类Order的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事件,则aOrder可以代表类Order的任何一个实例。
生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在
消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。当传送一个消息时,它所引起的动作是用一个通过对计算过程的抽象而得到的可执行语句(就是方法头)。
   消息分为五种:调用、返回、发送、创建和销毁
   调用:表示调用某个对象一个操作
顺序编号(第几步的编号):整个消息的传递过程就形成了一个完整的序列,因此通过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。除了顺序编号之外,还可以采用嵌套方案:
读图小结
第1步 在dispatchForm(分发窗体)中,对于某个已支付的Order进行分发时,就会调用该订单(一个Order类的实例对象aOrder)的dispatch()方法。
dispatch()方法将逐个调用 [for each orderitem] 该Order对应的所有OrderItem对象的getPeddleryId()方法获取供应商ID (PeddleryId), 而OrderItem对象则是通过其所对应的Product对象来的getPeddleryId()方法来获取供应商ID 。
,根据该值判断是否已经有相对应的DeliverOrder对象【if PeddeleryId Not Exist】,如果没有就创建它(调用 create(PeddleryId)),然后再将对应的Product添加到这个DeliverOrder对象中。[else ] 。
嵌套,由左向右,由上向下
循环与分支
   交互片断操作符
   片段就是指上面的框,
   左上角是片段操作符
   assert(断言)
   一定会发生
   交互片断操作符assert是用来表示内容所描述的行为是执行过程中那个时刻唯一的有效行为。如果执行到这个片断的前面,则说明该片断就一定会发生。它通常和ignore或consider一起使用,以断言某种特定种类的消息行为
break
   条件复合跳出?交互片断操作符break和循环语句的break有点类似,通常break用来定义一个含有监护条件的子片断。
   如果监护条件为“真”则执行子片断,而且不执行包含子片断的图中其它交互将不会执行,也就是跳出去;
   如果监护条件为“假”,那么执行将正常地继续进行
critical
   连续性的事物性的操作
   表示该子片断是“临界区域”,在临界区域中生命线上的事件序列不能够和其它区域中的任何其他事件交错。通常用来表示一个原子性的连续操作,例如事务性操作
par
   同时执行
   用来表示“并行”的,也就是用来表示两个或多个并发执行的子片断,并行子片断中单个元素的执行次序可以以任何可能的顺序相互操作
ref
   引用另一个片段到此处
   在一个交互图中,我们可以引用其它的交互图,其表示的方法是用一个矩形,加上ref操作符,并写明引用的交互图名称即可

表示法

表示法
类图
class
对象图
object
包图
package
用例图