转自>>http://blog.csdn.net/mingxuanyun/article/details/8572128

交互图用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的。

交互图由一组对象和它们之间的关系构成,其中包括:需要什么对象,对象相互之间发送什么消息,什么角色启动消息以及消息按什么顺序发送。

交互图的分类:

交互图主要分为这两种:顺序图和协作图。

  • 顺序图—强调消息的事件顺序
  • 协作图—强调对象之间的交互关系

顺序图描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序。

顺序图,包括时间顺序,不包括对象联系。也就是说我们在建立顺序图当中,只需考系统虑系统行为的先后顺序,而不需要考虑他们之间的关系。把对象之间的行为按照时间的先后顺序画出来就可以了。

在UML中,顺序图由一个二维图描述系统中各个对象之间的交互关系。其中,纵轴表示时间,横轴表示参与交互作用的对象。

顺序图的构成:

  1. —对象与角色:上面的矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代表现实世界中的某个东西。
  2. 生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在
  3. 消息:是对象之间的通信,可以是信号或者操作调用。

其中消息主要有这几种形式:

  1. 调用(Call):表示调用某个对象的一个操作。可以是对象间的调用,也可以使对象本身的调用。
  2. 返回(Return) 返回表示被调用的对象向调用者返回一个值。
  3. 发送(Send):对象发送信号,与调用不同,调用是同步的机制,而信号是一种异步的机制。也就是说,当对象A调用对象B时,A发送完消息之后是会等B执行完所调用的方法之后再继续执行的;如果说对象A发送了一个信号给对象B,那么A在发送完信号之后,就会继续执行,不会等待。
  4. —创建(Creat)创建意味着该对象生命线的开始,
  5. 销毁(Destory)通常连接着的是目标对象的生命终止符号

消息的表示方法:用消息线表示,一个对象到另一个对象的消息用跨越对象生命线的一条消息线表示出来,包括反身消息

消息的分类:

同步:在一定程度上可以看作是一个单线程,这个线程请求一个方法后,就待这个方法给他回复,否则他就不往下执行。

异步:在一定程度上可以看做是一个多线程。请求一个方法后,就不管了,继续执行其他的方法。

PS:一般情况下用简单消息就行了。

协作图:强调参加交互对象的组织。

协作图与顺序图的关系:

  • 二者在语义上等价
  • 二者可以相互转化
  • 二者的侧重点不同:
  1. 顺序图强调时间顺序
  2. 协作图侧重对象之间的关系。

UML中的交互图<转>的更多相关文章

  1. UML中的图的出现顺序

    上接:UML从需求到设计--用例 从开始接触UML到现在对UML逐渐有了更深入的了解.刚开始,对于UML总是感觉UML就是图.一提起UML 就想着这个是画图的东西. 具体这些图都是干什么的.为什么会有 ...

  2. UML中关联(Association)、聚合(Aggregation)和合成(Composition)之间的区别

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 现在,我们需要设计一个项目管理系统,目前我们收集到了如下这些需求: REQ1:一个项目内有多名项目成 ...

  3. 软件设计之UML—UML中的六大关系

    一.UML中的六大关系 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation), ...

  4. UML中的stereotype

    在使用rose的时候.rose的类里面有个stereotype的选项.选择了不同的选项类会呈现不同的图形效果.这里对stereotype做一点总结, Stereotyp英文的原意是印刷中的铅字.比如, ...

  5. UML中的关联关系

    UML中的关联关系其内在意思就是has a 如图:  相对于依赖关系,关联关系在代码中有所体现.上图中的关联关系在代码中体现为       其中water 中将Climate作为其中的属性. 当然,关 ...

  6. UML中的依赖关系

    UML中的五种关系和设计模式中的代码实现. 又重新听了一遍UML中的关系.感觉又是收获很大. UML中的关系有依赖,关联(聚合,组合),泛化(也叫继承),实现 现在一个一个的来实现: 一:依赖 依赖关 ...

  7. [译] UML中的关系之Dependency

    在UML中,依赖关系表示Client依赖于另一个元素,叫做Supplier. 通常来说,依赖关系不需要特殊的名字. 依赖的类别 抽象 abstraction, derive, refine, trac ...

  8. UML中的用例(Use Case)概念分析及StarUML实例

    在UML中use case似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用例描述.用例图由参与者(Actor).用例 (Use Case).系 ...

  9. UML 中的用例图解析以及starUML详细介绍

    UML中的用例(Use Case)概念分析及StarUML实例 在UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用 ...

随机推荐

  1. HDU 5794 - A Simple Chess

    HDU 5794 - A Simple Chess题意: 马(象棋)初始位置在(1,1), 现在要走到(n,m), 问有几种走法 棋盘上有r个障碍物, 该位置不能走, 并规定只能走右下方 数据范围: ...

  2. vs2012配置opencv及简单测试

    为visual studio2012搭建openCV平台,实现打开图片. 实现步骤: 1.1.配置环境变量 基于win7操作系统的环境配置步骤: 1.1.1 计算机—>属性—>更改设置—& ...

  3. 使用NODEJS+REDIS开发一个消息队列以及定时任务处理

    作者:RobanLee 原创文章,转载请注明: 萝卜李 http://www.robanlee.com 源码在这里: https://github.com/robanlee123/RobCron 时间 ...

  4. AngularJS如何使用ngRepeat过滤排序

    NG重复指令,带过滤器,像这样: <li ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitT ...

  5. [汇编语言]-第八章 div指令,伪指令dd,dup

    1- div除法指令 (1) 除数: 有8位和16位两种,在一个寄存器或内存单元中. (2) 被除数: 默认放在AX和DX或AX中 除数为8位, 被除数为16位, 默认在AX中存放. 除数为16位, ...

  6. iphone iOS7恢复到iOS6教程

    步骤一:首先根据您iOS设备型号,下载最新的iOS 6固件,您可以进入苹果官网下载,也可以以下网址下载. http://sj.zol.com.cn/ios613/

  7. PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

    原文: http://www.cnblogs.com/xnxylf/p/3288718.html 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示 ...

  8. java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项

    菜单放在菜单条里,菜单项放在菜单里1.MenuBar    在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条.    在Frame类中的setMenuBar(Menu ...

  9. QWidget 键盘事件 焦点(源代码级别研究)

    在Qt中,键盘事件和QWidget的focus密不可分:一般来说,一个拥有焦点(focus)的QWidget或者grabKeyboard()的QWidget才可以接受键盘事件. 键盘事件派发给谁? 如 ...

  10. 定时PING下IP地址,检测该服务器是否还活着。 smokeping

    http://oss.oetiker.ch/smokeping-demo/?displaymode=n;start=2014-10-16%2007:00;end=now;target=SIP