转自>>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. IOS中设置状态栏的状态

    IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时 ...

  2. php variance

    function variance ($a) { /** variable and initializations */ $the_variance = 0.0; $the_mean = 0.0; $ ...

  3. Object转换为JSON格式字符串

    简介: 把JS的Object转换为Json字符串. 代码: function ObjectToJson(object) { // Object转换为josn var json = "&quo ...

  4. Big Number

    问题陈述: 杭州电子科技大学 HANGZHOU DIANZI UNIVERSITY Online Judge Problem - 1018 问题解析: 公式一: n! = 10^m => lg( ...

  5. A Simple Task

    A Simple Task Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  6. Can someone explain Webpack's CommonsChunkPlugin

    I get the general gist that the CommonsChunkPlugin looks at all the entry points, checks to see if t ...

  7. Sql Server专题一:索引(上)

    写在前面的废话:索引问题已经是老生常谈的问题,虽然被经常说起,但作为我来说,至今没有用过索引(很可怕吧),我作为MS-BI实施工程师居然没用过索引,说话自然没底气.之前对索引的了解停留在“知道”的地步 ...

  8. pack布局

    Chapter 2. Geometry Management 第2章 布局管理: 显示部件在屏幕上,他们必须被传递给布局管理器. 布局管理器 控制部件的位置和大小 在显示窗口,几个布局管理器是可用的在 ...

  9. web开发(Java&Jquery)实现验证码

    1. Ajax Fancy Capcha 一个支持 Ajax 又很炫的 jQuery Captcha 插件,它使用了很人性化的验证机制. ​ from : http://www.webdesignbe ...

  10. ios控制器modal跳转

    1. http://www.cnblogs.com/smileEvday/archive/2012/05/29/presentModalViewController.html 2012年5月- Pre ...