互动图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. WindowImplBase::OnSysCommand-------duilib在最大化和还原间切换

    virtual LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if( wPar ...

  2. Android入门——Bitmap和BitmapFactory

    我们都知道一个App的成败,首先取决于是否具有优秀的UI,而除了交互功能之外还需要丰富的图片背景和动画去支撑.在开发中我们应用到的图片不仅仅包括.png..gif..9.png..jpg和各种Draw ...

  3. php实现旋转数组的最小数字

    php实现旋转数组的最小数字 一.总结 1.题目描述定位法:掐准输入输出这两个关键词,然后题目意思就很清晰了 2.这个题目就是找数组的最小值 二.php实现旋转数组的最小数字 题目描述: 把一个数组最 ...

  4. [D3] Convert Dates to Numeric Values with Time Scales in D3 v4

    Mapping abstract values to visual representations is what data visualization is all about, and that’ ...

  5. HDU1575-Tr A(矩阵高速幂)

    题目链接 题意:A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. 思路:简单的矩阵高速幂 代码: #include <iostream> #i ...

  6. Java并发包探秘 (一) ConcurrentLinkedQueue

    本文是Java并发包探秘的第一篇,旨在介绍一下Java并发容器中用的一些思路和技巧,帮助大家更好的理解Java并发容器,让我们更好的使用并发容器打造更高效的程序.本人能力有限,错误难免.希望及时指出. ...

  7. LSH︱python实现局部敏感随机投影森林——LSHForest/sklearn(一)

    关于局部敏感哈希算法.之前用R语言实现过,可是由于在R中效能太低.于是放弃用LSH来做类似性检索.学了python发现非常多模块都能实现,并且通过随机投影森林让查询数据更快.觉得能够试试大规模应用在数 ...

  8. 为什么说 C/C++ 不适合做 Web 开发?(成本高,容易出错,apache等工具分担了大部分工作)

    因为大家在讨论用C#.Java,做出来的项目的时候,用C++的人们还在讨论语言特性 每种语言都有特定适用范围,对应着某类问题.web开发的重头戏不是计算,而是与用户交互和发送sql语句,当然以脚本语言 ...

  9. hosts 持续更新 - laod

    https://laod.cn/hosts/2017-google-hosts.html 2017 Google hosts 持续更新[更新于:2017-08-22] 4,347 2,367,079 ...

  10. 《Kinect应用开发实战》读书笔记---干货集合

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接: http://blog.csdn.net/cartzhang/article/details/45029841 作者:ca ...