简介

交互概述图是将不同交互图衔接在一起的图,属于UML2.0的新增图。交互概述图并没有引入新的建模元素,其主要元素来自于活动图和时序图。交互概述图侧重从整体上概览交互过程中的控制流,包括交互图之间的事件或消息流。

当前交互概述图主要应用于活动图与时序图之间的协作,主要有两种形式:交互和交互应用,前者适用于控制流相对简单的场景,后者适用于控制流相对复杂的场景。

交互概述图建模步骤

    

    - 熟悉系统业务流程,确定交互概述图中需要覆盖的重要交互控制流

    - 确定作为主线的交互图以及作为细化的另一种交互图

    - 确定主线交互图中的主要交互节点,根据复杂度和重要性需要细化哪些节点

交互概述图主要元素

交互概述图中未引入新增元素,所有元素都来自于活动图和时序图,参见活动图主要元素部分和时序图主要元素部分

交互概述图主要形式

交互概述图理论上可以应用于不同交互图之间的整合及衔接,但在实际项目中应用并不是很广,常见场景为在活动图和时序图的协作。根据场景的复杂度采取两种不同的协作形式:

  • 交互(Interaction):活动图控制流中内嵌具体时序图的交互过程

适用于相对简单的交互概述图场景,在以一种交互图为主线的图中内嵌另一种交互图的具体实现。比如以活动图的控制流为主线,同时内嵌时序图细化活动图中重要活动节点或分支。

    UML表示法

    

    操作指引

       - 打开Visual Paradigm,切换到Diagram菜单

          

       - 点击“New”按钮,在弹出的对话框Search栏中输入"Interaction Overview Diagram",如果你最近使用过该Diagram就会默认显示在最前面(LRU算法)

        

       - 选中"Interaction Overview Diagram",点击"Next"进入下一个页面,输入Diagram Name,也可以使用默认设置,然后点击"OK"

          

       - 进入Interaction Overview Diagram编辑页面,点击左侧"Interaction"按钮,在右边的编辑框中创建新的Frame

      

          

  • 交互应用(Interaction Use):活动图控制流中以ref的方式引用时序图中的交互过程

适用于相对复杂的交互概述图场景,在以一种交互图为主线的图中复用ref格式的交互节点。比如以活动图的控制流为主线,同时ref另一种交互图中的节点达到整体概览不同交互图之间协作过程的目的。

     UML表示法

    

    操作指引

        - 参见交互(Interaction)处步骤

        - 进入Interaction Overview Diagram编辑页面,点击左侧"Interaction Use"按钮,在右边的编辑框中创建新的Frame

        

交互概述图示例

以网购为例

    主线活动图

      

    细节时序图

       

      

      

交互概述图注意事项

    

    - 交互概述图中的流程应详简得当,既能够体现出交互控制的主要过程,又能够覆盖到关键的逻辑判断

    - 对于重要的交互控制流,如果内部流程不是太复杂的话,建议在概述图中以交互(Interaction)格式完整展示,便于阅读

    - 对于内部流程较为复杂的交互节点可以考虑使用ref格式引用到交互概述图中,同时把ref引用到的详细流程在另一个子图中展示出来

    - 使用交互概述图的目的是使系统从整体上看更直观、更清晰,如果一些比较复杂的场景使用了交互概述图之后反而让系统看起来更繁杂,不如不用

Python设计模式 - UML - 交互概述图(Interaction Overview Diagram)的更多相关文章

  1. UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图

    状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...

  2. Python设计模式 - UML - 总览

    说到设计模式就不得不涉及建模思想,说到建模思想自然而然会应用UML,目前业界开源的UML工具很多,用起来也非常便捷.近几年来随着软件应用领域开发模式转向快速迭代试错,UML在敏捷开发,尤其是web及m ...

  3. 【UML】NO.52.EBook.5.UML.1.012-【UML 大战需求分析】- 交互概览图(Interaction Overview Diagram)

    1.0.0 Summary Tittle:[UML]NO.52.EBook.1.UML.1.012-[UML 大战需求分析]- 交互概览图(Interaction Overview Diagram) ...

  4. Python设计模式 - UML - 对象图(Object Diagram)

    简介 对象图和类图的基本概念是类似的,可以看作类图在系统某一时刻的镜像,显示了该时刻系统中参与交互的各个对象以及它们之间的关系. 对象图的元素包括对象.链接.包,元素之间的关系和类图相似. 对象图建模 ...

  5. Python设计模式 - UML - 类图(Class Diagram)

    简介 类图是面向对象分析和设计的核心,用来描述系统各个模块中类与类之间.接口与接口之间.类与接口之间的关系,以及每个类的属性.操作等特性,一般在详细设计过程中实施. 类图本身就是现实世界的抽象,是对系 ...

  6. Python设计模式 - UML - 时序图(Sequence Diagram)

    简介 时序图表示参与者与对象之间.对象与对象之间的动态交互过程及时序关系. 时序图详细而直观地展示了对象随时间变化的状态.调用关系和消息时序,时序图中的主要元素有:参与者(Actor), 对象(Obj ...

  7. Python设计模式 - UML - 通信图(Communication Diagram)

    简介 通信图表示对象之间的消息往来,是表述时序图中信息交互的另一种UML图,介绍完时序图就要对照学习一下通信图,二者是一体两面的. 通信图和时序图可以相互转换,二者的侧重点不同,通信图侧重哪些对象发送 ...

  8. Python设计模式 - UML - 定时图(Timing Diagram)

    简介 定时图也是一种交互图,用来描述对象或实体随时间变化的状态或值,及其相应的时间或期限约束.定时图应用较广,并不局限于软件工程领域. 定时图侧重与时间线相关的值或状态的改变,这些改变可能来自于收到消 ...

  9. Python设计模式 - UML - 组件图(Component Diagram)

    简介 组件图又称构建图,用于显示系统各组件及各组件关系的物理视图. 组件图通常包括组件.接口.关系.端口和连接器,用来显示程序代码中相应的模块.源文件或源文件集合之间的依赖和泛化关系. 组件图中的组件 ...

随机推荐

  1. qnx i2c 学习 二

    File still Updating.... many errors have been FOUND , need big change  qnx i2c structure  --written ...

  2. Centos 6.4 安装Python 2.7 python-pip

    1. 准备工作 下载源码包 wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 查看是否安装make工具 ~#rpm -qa|gr ...

  3. Mono的CustomConditionAttribute使用

    1.Mono的CustomConditionAttribute使用有诸多的限制,没有在XML中定义来的灵活 2.CustomConditionAttribute定义的子类必须和ExtensionAtt ...

  4. bat批量修改图片的名字实现(两种方法)

    问题描述: 业务中遇到需要批量修改大量图片的名字. 如下图,需要修改为图片名字“u=”之后和“,”之前的那一串 解决思路1: bat批处理,网上查找相关代码如下: @echo off SetLocal ...

  5. 微信小程序是怎么运行的?

    微信客户端在打开小程序之前,会把整个小程序的代码包下载到本地. 紧接着通过 app.json 的 pages 字段就可以知道你当前小程序的所有页面路径 而写在 pages 字段的第一个页面就是这个小程 ...

  6. Android View转为图片保存为本地文件,异步监听回调操作结果;

    把手机上的一个View或ViewGroup转为Bitmap,再把Bitmap保存为.png格式的图片: 由于View转Bitmap.和Bitmap转图片都是耗时操作,(生成一个1M的图片大约500ms ...

  7. iOS应用图标AppIcon

    应用图标需求:(像素px) 29pt:      58*58 ( @2x ) 87*87 ( @3x ) 40pt:      120*120 ( @2x ) 180*180 ( @3x ) 60pt ...

  8. postgresql 创建gin索引

    1.创建gin类型的索引 postgresql 创建gin索引遇到的问题:1.ERROR: operator class "gin_trgm_ops" does not exist ...

  9. [持续交付实践] Jenkins Pipeline 高可用设计方法

    前言 这篇写好一段时间了,一直也没发布上来,今天稍微整理下了交下作业,部分内容偷懒引用了一些别人的内容.使用Jenkins做持续集成/持续交付,当业务达到一定规模的时候,Jenkins本身就很容易成为 ...

  10. .net core 自动生成文档

    如下图自动生成显示接口文档注释