系列文章目录

移动端UML图应用之UML图简述
移动端UML图应用之UML行为图——用例图、活动图和状态机图
移动端UML图应用之UML交互图——顺序图和通信图
移动端UML图应用之UML结构图——包图、部署图和组件图
移动端UML图应用之UML结构图——类图


文章目录

  • 系列文章目录
  • 前言
  • 一、顺序图与通信图的优缺点
  • 二、常用的UML交互图表示法
  • 三、顺序图的基本表示法
  • 四、通信图的基本表示法

前言

大部分UML初学者知道类图,并且通常认为类图是面向对象设计中唯一重要的图形。但实际上并非如此!UML使用交互图来描述对象间通过消息的交互,交互图可以用于动态对象建模。当我们要考虑真正的面向对象设计细节时,就必须要“落实”发送哪些消息、发送给谁、以何种顺序发送等具体问题。应该花费时间使用交互图进行动态对象建模,而不仅是使用类图进行静态对象建模。

顺序图和通信图都能够表示类似的交互。交互总览图是在UML2中新出现的表示法,为在逻辑和过程流方面相关的一组交互图提供了全景总览,今天只讨论顺序图跟通信图。


一、顺序图与通信图的优缺点

在这两种类型的交互图中,顺序图具有更丰富的符号标记,更容易查阅,但是通信图也有其独特的功能,尤其适用于在墙上画草图。
在表示法选项方面,UML规范更多是以顺序图为核心,对其表示法和语义投入了更多的精力。因此,顺序图对工具的支持更好,并且有更多有效的表示法选项。
在阅读顺序方面,采用顺序图可以更方便地表示调用流的顺序,仅需要由上至下阅读即可,而对于通信图,我们则必须查阅顺序编号。因此,顺序图在文档化方面更胜一筹。
在空间效用方面,通信图更具有优越性,因为可以在任何位置(水平或垂直)方便地放置或擦除框图。相比之下,在顺序图中添加的新对象时必须总是位于纸(或墙)的右边,因而右边的空间会很快被占用;垂直方向的空余空间不能得到有效利用。因此,用通信图绘制的墙上草图更易于修改,在墙上绘制顺序图时很快会感觉到不如使用通信图方便。

下图是具有相同含义的顺序图和通信图。

二、常用的UML交互图表示法

参与者框图

UML中定义了参与者框图的以下几种表达:

消息表达式
交互图展示了对象之间的消息,UML对于这些消息表达式具有标准语法:

return = message(parameter : parametreType) : returnType

没有返回值时,返回值可省略,没有参数时,圆括号可省略,类型信息不重要时也可省略。

异步和同步调用

UML利用刺形箭头消息表示异步调用;常规同步(阻塞)调用用实心箭头表示(如下图所示)这种箭头上的区别是细微的,画UML草图时,通常使用刺形箭头表示同步调用,因为这样对绘制来说更为简便。因此,在阅读UML交互图时,不要假设箭头的形状的正确的!

实例的创建

表示创建对象时,UML要求使用虚线,且UML中约定使用名为create的消息来表达(如上图所示),create消息也可包含参数。

三、顺序图的基本表示法

参与者的生命周期

参与者框图之下的垂直延伸线表示生命线,新创建的对象,被置于其创建的“高度”上,若需要显式地表示对象的销毁,用大X和终止于大X的生命线表示。

位于生命线上的方框称为活动条,用来表示控制期,该活动条是可选的,绘制草图时往往不会绘制活动条。

消息

在垂直生命线之间,用带箭头的线并在线的上方附以消息表达式的方式表示对象间的每个消息,生命线自上而下表示消息调用的时间顺序。嵌套的活动条表示对象发送给自身的消息。

最开始的消息在UML中称为创始消息,创始消息没有特定发送者。带返回值的消息既可以使用消息表达式来表示,也可以通过反方向的虚线箭头表示应答线,应答线上应标记返回值。

UML顺序图中的图框表示法

UML使用图框表示特殊含义(循环、有条件消息等)的片段。图框中有操作符,还有条件子句。
下表概括了一些常见的图框操作符:

有条件消息的图框表示法

下图左侧是以图框操作符opt表示的"“有条件消息”,右侧是以图框操作符alt表示的"互斥的有条件消息"。互斥的有条件消息的图框用虚线分为上下两部分,条件子句为真时,走上方的消息路径,否则走下方的路径。

循环消息的图框表示法

下图是循环消息的两种表示法。

四、通信图的基本表示法

消息图的核心元素是参与者框图以及连接参与者框图的实线。连接参与者的实线称为链,指明了对象间的关联。消息沿着链流转。所有消息都会沿一条线路传输,就像一条允许双向消息传输的线路一样。

对象间的每个消息都可以使用消息表达式和指明消息方向的小箭头来表示,消息表达式前面增加顺序编号表示当前控制线程中消息的次序。起始消息不要编号。嵌套消息要使用附加数字来编号,譬如1.1、1.2。

可以在顺序编号后使用带有方括号的条件子句来表示有条件消息,只有在子句为真时才发送该消息。而消息编号1a、1b表示了带有互斥条件路径的顺序编号。


参考书籍

[1] UML和模式应用(原书第3版)作者:拉曼

移动端UML图应用之UML交互图——顺序图和通信图相关推荐

  1. UML 交互图 (顺序图、通信图、鲁棒图、定时图)

    •交互与交互图 交互的概念 •一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为 消息 UML中的4种交互图 •顺序图:顺序图是一种强调消息时间顺序的交互图 ...

  2. uml通信图画法_UML 交互图 (顺序图、通信图、鲁棒图、定时图)

    交互与交互图 交互的概念 一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为 消息 UML中的4种交互图 顺序图:顺序图是一种强调消息时间顺序的交互图,为读 ...

  3. plc与python之间实现通信的结构框图_Python设计模式 - UML - 通信图(Communication Diagram)...

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

  4. UML协作图(通信图)——软件需求分析与设计

    通信图的概念:通信图(协作图)是表现对象交互关系的图,它展现了多个对象在协同工作达成共同目标的过程中互相通信的情况,通过对象和对象之间的链.发送的消息来显示参与交互的对象. 首先通信图一样是一种交互图 ...

  5. 软件设计师备考(三)——UML(关系和UML图)

    软件设计师备考(三)--UML 一.事物 二.关系 三.UML中的图 1.类图 2.对象图 3.用例图 4.交互图 (1)序列图 (2)通信图 5.状态图 6.活动图 7.构件图 8.部署图 9.包图 ...

  6. UML及其应用之通信图

    目录 7.2 通信图 7.2.1 通信图的概念 1.定义 2.通信图的作用 3.通信图的组成元素 7.2.2 通信图的表示 1.对象: 2.链: 3.消息 4.消息编号: 5.迭代标记和监护条件 7. ...

  7. uml通信图画法_UML通信图参考.ppt

    UML通信图参考 通信图 课程内容 概念 通信图组成元素- 对象.链和消息 顺序图与通信图的比较 顺序图与通信图的互换 通信图建模技术 实例--图书馆管理系统的通信图 概念 通信图描述的是和对象结构相 ...

  8. UML顺序图和通信图

    转自:http://blog.csdn.net/q547550831/article/details/50525673 UML顺序图和通信图 基本概述 当流程涉及到多个角色,并且通过多对角色交互展开时 ...

  9. UML软件建模之UML的构成

    UML是一种通用的建模语言,其表达能力相当的强,不仅可以用于软件系统的建模,而且可用于业务建模以及其它非软件系统建模.UML综合了各种面向对象方法与表示法的优点,至提出之日起就受到了广泛的重视并得到了 ...

最新文章

  1. C++ RBTree(红黑树) 算法(附完整源码)
  2. Nginx与Lua开发
  3. WinXP中快捷方式加箭头
  4. 对short类型,输出结果不一样?
  5. python word2vec 移植_真实资讯语料下的Word2Vec的迁移实践:Tag2Vec
  6. 拼多多api接口php算法,PHP 调用 拼多多 API 模板
  7. 117. Populating Next Right Pointers in Each Node II 计算右边的附属节点
  8. 温故知新ASP.NET 2.0(C#)(1) - MasterPage(母版页)
  9. IntelliJ IDEA 常用设置 主题颜色模式、字体、样式、背景自定义颜色及其背景图片(图文步骤)
  10. C++PrimerPlus 第七章 函数-C++的编程模块-7.3 函数和数组
  11. 360木马云查杀结果(非常有讽刺意义)
  12. sicp in python 资源
  13. 道闸系统 无法连接消息服务器,道闸系统常见故障处理
  14. 可以批量制作吊牌标签上的条码标签打印软件
  15. CSDN20181218博客黑板报
  16. ABAP CDS(Core Data Service)的创建和使用
  17. IBinder对象在进程间传递的形式(二)
  18. cae分析_CAE有限元分析软件的比较
  19. 2.Prometheus读书笔记:深入Prometheus设计
  20. 在macOS上运行PSCN-debug

热门文章

  1. COCI2014 KLOPKA
  2. 微软拼音输入法 2010 Beta 2 开放下载
  3. 热血传奇 祖玛阁路径搜索
  4. 2023年电大秋季招生截止日期 什么时候开始报名
  5. [NLP] 自然语言处理基础任务介绍
  6. 一战,二战,再战,最后尘埃落定,缘定美团
  7. 每日一面 - JVM 何时会 Stop the world
  8. c++库函数reverse函数用法
  9. VisualStudio
  10. 若依框架对接LDAP