简介

交互概述图是将不同交互图衔接在一起的图,属于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. Python 之 __new__() 方法与实例化

    原文链接:https://www.cnblogs.com/ifantastic/p/3175735.html __new__() 是在新式类中新出现的方法,它作用在构造方法建造实例之前,可以这么理解, ...

  2. Docker容器开机自动启动

     部署项目服务器时,为了应对停电等情况影响正常web项目的访问,会把Docker容器设置为开机自动启动. 在使用docker run启动容器时,使用--restart参数来设置: # docker r ...

  3. 傻瓜学编程之block_1

    1.引出 1.1.int pp = 3;for循环为dd赋值并 调用 finprint(int ,int)函数 获取pp*dd的乘积,输出 void finalValue(int d, int sca ...

  4. bootstrap 常用class

    导航中的折叠菜单 collapse 手机端折叠 navbar-collapse 电脑端展开 navbar-inverse 反色 navbar-default 默认的nav风格 sr-only 专门给屏 ...

  5. VS2017离线版的SSDT安装包(包括SSIS)

    VS2017离线版的SSDT安装包(包括SSIS) 装好SQL2016和VS2017后发现没有创建SSIS项目的接口,原来VS2017里是没有包含SSDT的安装包的. 下面是我整理好的包含中英文的VS ...

  6. udt的java实现

    udt协议是什么? 我就不回答了,可以网上搜索,一直都是c++的,java的实现已经很久没有修改了 经过测试,java版本有些一问题,现在已经将其修复,已经上传到csdn 另外自己根据实际的应用,再次 ...

  7. Promise的一点感悟~

    在什么大环境下? 今天要讨论的Promise,是js的同步|异步任务的概念下出来的 什么是同步?什么是异步? 我的理解: 一件事情Q 分三部分:Q1 ,  Q2  ,  Q3 同步方式完成: Q1 - ...

  8. 页面中dropDownListt的二级关联

    当下拉框选项不多,而且可以写死的情况下,用js在页面写可能更方便. 我的html代码如下,两个关联是下拉框:配件类型.子类型. <div class="col-md-3 col-sm- ...

  9. Spring MVC 集成Disconf

    1.Disconf:Distributed Configuration Management Platform(分布式配置管理平台),专注于各种「分布式系统配置管理」的「通用组件」和「通用平台」, 提 ...

  10. python正则表达式写[强口令检测]

    关于正则表达式,如果想跟深入学习,建议您看一下<python 核心编程>(第三版)这本书,第一章的内容就是正则表达式. 关于我的学习,我在看<python编程快速上手>这本书第 ...