简介

交互概述图是将不同交互图衔接在一起的图,属于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. Elisp 中变量赋值函数 set 与 setq 辨析

    在 Elisp 中,为变量赋值的函数有 set 与 setq,但是,两者存在很大的差异. 使用 set 赋值: 如果我们想为变量 flowers 赋值为一个 列表 '(rose violet dais ...

  2. 读取excel 文件到datatable

    上一篇文章介绍了将datatable 内容导出到excel 文件,这里介绍如何将一个excel 文件读取出来,并保持到datatable 中,实际这样的应用场景也是经常遇到的. 这里继续使用了Micr ...

  3. Arrays和String单元测试

    20175227张雪莹 2018-2019-2 <Java程序设计> Arrays和String单元测试 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关 ...

  4. numpy和matploptlib

    numpy Numpy介绍 编辑 一个用python实现的科学计算,包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实 ...

  5. 从9x9矩阵中抽取中间菱形区域打印 - perl

    起因: 源自于c的练习题,打印diamond,因为perl不需编译,方便调试,故先用perl实现一下 关键: 没有想到好的思路,只能借助于上一篇打印上下三角矩阵的方法,把菱形拆成上下左右4个三角矩阵区 ...

  6. IIS Express 域认证问题(https://stackoverflow.com/questions/4762538/iis-express-windows-authentication)

    option-1: edit \My Documents\IISExpress\config\applicationhost.config file and enable windowsAuthent ...

  7. 初识git(17/8/21)

    git是一个分布式的版本管理系统 通过廖雪峰的官方网站(maybe2017)来学习的,比较详实跟着操作就行,记录基本的一些命令还有学习是遇到的一些问题和收获,方便下次查阅. git的安装 -. win ...

  8. vs2017安装和使用教程(详细)

    借鉴:https://blog.csdn.net/qq_36556893/article/details/79430133#一.官网下载

  9. vue2.0插件--loading

    loading效果很常见,常见到我们任何一个项目中,都可以见到他的身影.今天就以loading作为切入口,唠叨一下vuejs的插件的写法. 看vuejs官方文档关于插件的说明,关于使用插件和写插件,V ...

  10. PHP语言入门的学习方法十要素

    对于PHP程序设计语言来说.每个人的学习方式不同,写这篇文章的目的是分享一下自己的学习过程,仅供参考,不要一味的用别人的学习方法,找对自己有用的学习方式.经常在某些论坛和QQ群里看到一些朋友会问“怎样 ...