文档章节

UML之时序图(Sequence Diagram)

YuanyuanL
 YuanyuanL
发布于 2017/09/07 20:57
字数 635
阅读 31
收藏 0
点赞 0
评论 0

概念

    时序图(Sequence Diagram),亦称为序列图、循序图、顺序图,是一种常用的UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中。

作用

    1展示对象之间交互的顺序;

    2相对于其他UML图,时序图更强调交互的时间顺序;

    3可以直观的描述并发进程。

组成

参考:http://blog.csdn.net/ggibenben1314/article/details/8572431

1、角色Actor

     系统角色,可以是人、及其甚至其他的系统或者子系统。

2、对象Object

    对象包括三种命名方式:

      第一种方式包括对象名和类名;

      第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;

      第三种方式只显示对象名不显示类明。

3、生命线LIfeline

    表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图

 

4、控制焦点Focus of control

    表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示

5、消息Message

消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:

同步消息=调用消息(Synchronous Message)

  消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

异步消息(Asynchronous Message)

  消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

返回消息(Return Message)

  返回消息表示从过程调用返回

6、自关联消息

表示方法的自身调用以及一个对象内的一个方法调用另外一个方法

时序图实例

 

时序图与协作图的转化

时序图和协作图是可以相互转化的,只要按F5就可以轻松转化。

  

高级范例

参考:http://blog.csdn.net/tanxiang21/article/details/8222188

中央控制序列图

分布控制序列图

                           

范例:[自调用、调用、创建、销毁、自销毁、同步、异步消息]

                         

循环与条件:[loop 、alt、 opt、 guard警戒]

                 

 

 

© 著作权归作者所有

共有 人打赏支持
YuanyuanL

YuanyuanL

粉丝 151
博文 225
码字总数 187115
作品 0
济南
部门经理
使用Astah制作UML时序图

开篇语: 做测试的难免看到开发画出各种设计图,都很羡慕,比如: 帅么,漂亮么,其实我们测试人员也可以轻松搞定这样的图哦哦哦~ 下面会对UML进行简单介绍以及能够画出顺序图的工具Astah 一...

ycj7126168 ⋅ 05/07 ⋅ 0

关于UML图的总结

标准建模语言UML的重要内容可以由下列5类图来定义。 1、用例图(Use Case Diagram),从用户角度描述系统功能,并指出各功能的操作者。 2、静态图(Static Diagram),包括类图、对象图和包图...

开源蜗牛 ⋅ 2014/05/29 ⋅ 0

UML 时序图(Sequence Diagram)

时序图(Sequence Diagram)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换。...

晨曦之光 ⋅ 2012/04/24 ⋅ 0

Visual Studio 2010 Ultimate敏捷功能特性(上)

随着软件开发日趋国际化,对软件的质量要求和管理也随之增高。微软看到了应用程序生命周期管理在业界逐渐被接受认可的趋势,并宣称VSTS2010将会是一个革命性的.Net软件开发以及管理工具的产品...

高阳 ⋅ 2009/11/19 ⋅ 0

Android 架构师之路3 UML图之时序图

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:角色(Actor...

香沙小熊 ⋅ 01/19 ⋅ 0

软件设计之UML—UML的构成[上]

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

ibm_hoojo ⋅ 2013/08/30 ⋅ 0

UMLGraph 5.4 发布

UMLGraph是一个开源的,支持说明性规范 (Declarative Specification)、类图(Class Diagram) 、顺序图(Sequence Diagrams)的UML建模工具。目前,该项目正努力支持所有类型的UML图,并已实现了...

红薯 ⋅ 2011/01/09 ⋅ 0

UML建模工具--UMLGraph

UMLGraph是一个开源的,支持说明性规范(Declarative Specification)、类图(Class Diagram) 、顺序图(Sequence Diagrams)的UML建模工具。目前,该项目正努力支持所有类型的UML图,并已实现了...

匿名 ⋅ 2010/09/03 ⋅ 0

在线画时序图的工具:Web Sequence Diagrams ,支持实时生成预览图

因为工作需要,这两天在尝试着给手里壹些模块画时序图(Sequence Diagrams),壹般画这种图的时候,我们第壹反应会想到安装 IBM 的 Rational Rose,但是我不想为了画这种图就去安装壹個那麽庞...

苗哥 ⋅ 2014/02/21 ⋅ 6

UMLGraph 5.5 发布,UML建模工具

UMLGraph 5.5 发布了,该版本允许对关系进行聚合,同时生成的 UMLGraphDoc 文档兼容 JDK 7,另外从 5.5 版本开始,UMLGraph 的源码移到 Github 上。 UMLGraph是一个开源的,支持说明性规范 ...

oschina ⋅ 2012/05/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对于程序员的招聘问题,作为软件人的一些吐槽和建议

作为软件人,找工作有时候似乎挺苦逼的。 说真的,让我去掉前面这句中“似乎”二字吧。就是苦逼!很多人都曾抱怨处在招聘的一方很糟糕——我们没有任何可靠的方式来甄别会写代码并且写得好的...

老道士 ⋅ 33分钟前 ⋅ 0

HDFS原理学习

一、概述 1、 Hadoop整合了众多的文件系统,首先提供了一个高层的文件系统抽象org.apache.hadoop.fs.FileSystem。然后有各个文件系统的实现类。 2、Hadoop是JAVA编写的,不同文件系统之间的交...

cjxcloud ⋅ 37分钟前 ⋅ 0

Linux下MySQL表名不区分大小写的设置方法(抄袭别人的)

Linux下MySQL表名不区分大小写的设置方法 MySQL表名不区分大小写的设置方法 在用centox安装mysql后,把项目的数据库移植了过去,发现一些表的数据查不到,排查了一下问题,最后发现是表名的大...

随风而浮沉 ⋅ 42分钟前 ⋅ 0

ubuntu下安装宋体simsun

sudo cp simsun.ttc /usr/share/fonts cd /usr/share/fonts sudo chmod 644 simsun.ttc 更新字体缓存: 代码: sudo mkfontscale 代码: sudo mkfontdir 代码: sudo fc-cache -fsv 安装chrome扩......

wangxuwei ⋅ 43分钟前 ⋅ 0

利用 ssh 传输文件

Linux 下一般可以用 scp 命令通过 ssh 传送文件: #把服务器上的 /home/user/a.txt 发送到本机的 /var/www/local_dir 目录下scp username@servername:/home/user/a.txt /var/www/local_dir...

大灰狼时间 ⋅ 53分钟前 ⋅ 0

web3j教程:android和java程序员如何使用web3j开发区块链以太坊

如何使用web3j为Java应用或Android App增加以太坊区块链支持,本教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤...

智能合约 ⋅ 今天 ⋅ 0

web3j开发java或android以太坊智能合约快速入门

web3j简介 web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 可以通过它进行以太坊区块链...

笔阁 ⋅ 今天 ⋅ 0

一起读书《深入浅出nodejs》-异步I/O

异步I/O “异步”这个名词其实很早就诞生了,但它大规模流行却是在Web 2.0浪潮中,它伴随着AJAX的第一个A(Asynchronous)席卷了Web。 为什么要异步I/O 关于异步I/O为何在Node里如此重要,这与...

小草先森 ⋅ 今天 ⋅ 0

JVM各种问题

1、如果启动什么都不设,会怎样? 先来看一个命令 [root@localhost bin]# java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=29899008 -XX:MaxHeapSize=478384128 -XX:+PrintCo......

算法之名 ⋅ 今天 ⋅ 0

SAS笔记-宏2

宏是一种文本,一般来说其编译是在程序执行之前。 宏变量的创建 %let语句 %let macro_variables = text; %let是常见的宏变量建立方式,其编译就在执行前。如下例中,想要宏变量test等于数据集...

tonorth123 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部