互动图uml描述如何对象的描述在系统交互动作 。

废话不多说,还是来张图:

概念

         交互图,主要描写叙述的是系统中的一组对象的消息的传递的。为对象间的交互定义了一个可视的表示方法。

构成

         交互图并非一个图。而是一些图的统称,就像我们在类图里说的超类一样。顺序图、通信图、定时图等都能够说是交互图。就像男人和女人都能够称为人类一样。

 
       当中,应用的最多的就是顺序图和通信图(也有称为合作图、协作图)。有趣的是。这两种图是能够相互转换的,并且转换时不会丢失信息。而定时图和交互概述图是两种变体。

顺序图

 
                
 
              图片引用自卓家进师哥的博客:http://blog.csdn.net/zhuojiajin/article/details/27358017?

reload

 
       顺序图强调的是消息的时间顺序,把參与交互的对象写在最上方如上图的刘备。把发起交互的写在最左边(普通情况下)依次放在右边。这样控制流随着时间推移就能够清晰的展示。

         这里的向下的虚线就是对象的生命线,当关羽败走麦城被孙权处死后,关羽的这条虚线就会结束。这就是对象的销毁。
 
       在生命线上的长条矩形,就是控制焦点,表示对象运行一个动作所经历的时间。
 
       一个箭头,加一条线。再在线上写上内容就是消息的传递。消息主要有五种类型:调用、返回、发送、创建和销毁。下图是这几种消息的表示方式。
 
                
 
       在三国的图中。每一个消息前面都有一个数字。这就是消息的序列,消息就是依照序列进行的传递。

通信图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl5YXNvbmc2NjY4ODg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="font-size:18px">

                图片引用自卓家进师哥的博客:http://blog.csdn.net/zhuojiajin/article/details/27358017?reload

 
       通信图的重点是说的联系,在这里,对象还是那个对象,消息也还是那个消息,只是是把原来的故事换了一种方式来提现罢了。顺序图主要说的是打仗的步骤,而通信图却是側重于打仗时各个对象的关系。

 
       链:假设非要说多了什么的话,那就是相关连的对象之间多了一条线。表示消息的路径。
         通常情况下。我们都是使用顺序图来表示我们的系统的交互。

这样更加的清晰。

 时序图:给uml的顺序图的控制焦点加上时间限制就是时序图。

 
       交互概况图:交互的顺序图和活动图的结合就是交互概况图。

绘制交互图

 
       交互图一般是在分析模型或设计模型中提现,分析模型側重于分析类的职责分配和交互流程。而设计模型中的交互图側重于设计类的引入和实际方法的调用与流程控制。
 
       交互图的设计思路是:先确定对象。然后确定消息的交互流程,然后完好交互图。

交互图的应用

         交互图在分体阶段主要用于确定业务的逻辑流程。交互模型后,能够引入基础的类,然后优化设计。以便于提高代码的质量。在设计极端的交互图的作用主要是精化交互模型,然后使其与实际代码更加吻合。

交互图与活动图

 
       交互图与活动图都是描写叙述系统动态的关系。这两种模型的差别是:交互图强调的是对象的控制流。而对象图强调的是活动流程。比方。张三让他儿子去买酒。

交互图强调的是:买酒的信息由张三发出,由他儿子接受;而活动图强调的是:张三先找到他儿子。然后他儿子去买酒。




版权声明:本文博客原创文章,博客,未经同意,不得转载。

uml系列(七)——互动图的更多相关文章

  1. [UML]UML系列——状态机图statechart diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  2. [UML]UML系列——协作图(通信图)collaboration diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  3. [UML]UML系列——时序图(顺序图)sequence diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  4. [UML]UML系列——类图Class

    相关文章       [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...

  5. [UML]UML系列——类图class的关联关系(聚合、组合)

    关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...

  6. [UML]UML系列——类图class的依赖关系

    相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列—— ...

  7. [UML]UML系列——类图class的泛化关系

    系列文章       [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图C ...

  8. [UML]UML系列——类图class的实现关系Realization

    系列文章 [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图Class   ...

  9. [UML]UML系列——包图Package

    系列文章 [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图Class   ...

随机推荐

  1. HDU 1405 The Last Practice 数学水题

    http://acm.hdu.edu.cn/showproblem.php?pid=1405 题目大意: 给你一个数,让你分解素因子,输出它的各次幂. 如60 输出:2 2 3 1 5 1 (60=2 ...

  2. [Node.js] Testing ES6 Promises in Node.js using Mocha and Chai

    Writing great ES6 style Promises for Node.js is only half the battle. Your great modules must includ ...

  3. js 字符串操作函数有哪些

    js 字符串操作函数有哪些 一.总结 一句话总结:js字符串函数都是字符串对象的方法,是通过调用字符串方法的方式调用,和java,php里面不一样. 1.字符串替换函数怎么用? 这里的正则表示是加双引 ...

  4. Python 奇葩语法

    a = 1, 2, 3 赋值后的结果,a == (1, 2, 3),将一个元组(tuple)赋给了变量 a (1, 2) + (3, ) ⇒ (1, 2, 3),并不能说明 tuple 可以添加新的元 ...

  5. 【2005】N只猴子选大王

    Time Limit: 3 second Memory Limit: 2 MB N只猴子选大王.选举办法如下:从头到尾1.2.3报数,凡报3的退出,余下的从尾到头1.2.3报数,凡报3退出:余下的又从 ...

  6. 什么是uuid以及uuid在java中的使用

    什么是UUID?UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.UUID具有以下涵义: 经由一定的算法机 ...

  7. 百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源

    个人官网.公司项目都需要 可视化编辑器,百度UEditor做得很不错,就用的这个.项目后台用到了SpringMVC.Freemarker,开发过程中部署在Jetty,线上部署用Tomcat,最后可能配 ...

  8. Java8获取参数名及Idea/Eclipse/Maven配置

    在Java8之前,代码编译为class文件后,方法参数的类型固定,但是方法名称会丢失,方法名称会变成arg0.arg1.....而现在,在Java8开始可以在class文件中保留参数名,这就给反射带来 ...

  9. 数据局部性(data locality)

    信息处理的典型模式是,将所有数据项视为一个集合,并将其组织为适宜的数据结构(或者说使用适宜的数据结构对之进行存储以及组织),进而借助操作接口高效访问. 为了考查和评价各操作接口的效率,除了从最坏情况的 ...

  10. js 复制文本的四种方式

    js 复制文本的四种方式 一.总结 一句话总结:js文本复制主流方法:document的execCommand方法 二.js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.c ...