[时序图笔记] 步步为营UML建模系列五、时序图(Squence diagram)【转】
概述
顺序图是一种详细表示对象之间以及对象与参与者实例之间交互的图,它由一组协作的对象(或参与者实例)以及它们之间可发送的消息组成,它强调消息之间的顺序。
顺序图是一种详细表示对象之间以及对象与系统外部的参与者之间动态联系的图形文档。它详细而直观地表现了一组相互协作的对象在执行一个(或少量几个)用况时的行为依赖关系,以及操作和消息的时序关系。类图对对象之间的消息(交互情况)表达不够详细;详细说明对消息的表达虽然详细,但不够直观;顺序图既详细又直观,但通常只能表示少数几个对象之间的交互。
时序图基本上包含四种元素:
描述操作流程的用例文本:位于时序图的左边,使用空白将文本分开,这样将容易知道哪句话对应于右边的哪个元素。
对象:使用包含两个名称的方框表示,是直接从健壮性图中搬过来的。这两个名称分别是类名和对象名(实例编号),格式为 class:object;可省略其中的任何一个名称。也可以使用健壮性图构造类型的方式来显示对象,这将有助于跟踪参与者,边界对象和实现对象之间传递的消息。
消息:对象之间的箭头。消息箭头可位于两条虚线,直线和方法矩形之间或两个方法矩形之间。
方法(操作):用位于虚线上的矩形表示,该虚线属于该方法所属的对象。可以使用矩形的长度来反映拥有控制焦点的时间。控制焦点在理论上很有用,但实际上并非如此,因为大多数可视化建模工具在这方面的功能都不太强。如果在时序图上显示控制焦点较难,只需关闭这种功能即可。
序列图的结构
序列图(Sequence Diagram)是由对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Messages)、分支与从属流等元素构成的。
1、对象
对象就是指类的实例。我认为在序列图中对象有三种状态:激活、运行(存在)和销毁。

2、生命线
生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。如下图TravelApplication就是Manage类New的一个新生命线,他在初始化后运行了CalculateDate()方法.

3、激活
序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程。在UML图中通过一个窄长的矩形来表示,矩形的高度表示对象存在的过程。

4、消息
消息(Messages)是对象间的一种通信机制。由发送对象向另一个或其他几个接收对象发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。

同步消息=调用消息(Synchronous Message)
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。
异步消息(Asynchronous Message)
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
返回消息(Return Message)
返回消息表示从过程调用返回
自关联消息(Self-Message)
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。如下图所示,在Context类里调用了自身DoAction方法,DoAction方法又调用了SubmitData方法,SubmitData方法又调用了SendRequest方法.

5、执行者
表示这个对象是由谁来操作的.如下图,都是由员工来操作的。

6、条件判断:用于描述代码中if…else…这种结构,标记为“alt”

7、Switch满足条件就运行。

8、Loop循环,跟.NET中的For 和Foreach一样.

9、Gateway 进入窗口,代码从这里进行。如果Client就是一个gateway

10、接口,表示跟其它应用程序交互的接口.

11、丢失消息,Lost Message.

最后再来看下总体的Sequence diagram


完整样例

完全参考
[时序图笔记] 步步为营UML建模系列五、时序图(Squence diagram)【转】的更多相关文章
- 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...
- UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...
- UML建模系列文章总结
本文转载:http://www.cnblogs.com/ywqu/tag/UML建模/ 本人总结: UML类图按照关系分为三大类:继承关系.拥有关系.整体与部分的关系. 继承关系:泛化.实现 拥有关系 ...
- Uml 建模 一(类图建模和startuml的使用)
本文将分三个部分介绍Uml建模:Uml建模的作用.类图.startuml的使用 Uml的作用 本文以java为例介绍Uml,在当前的软件开发中大多数使用面向对象开发(OO),面向对象的就是将现实世界中 ...
- UML基础系列:类图
类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,如关联.依赖.聚合等,还包括类的内部结构(类的属性和操作).类图描述的是静态关系,在系统的整个生命周期中都是有效的.对象图是类图的实 ...
- 机器学习&数据挖掘笔记_21(PGM练习五:图模型的近似推理)
前言: 这次练习完成的是图模型的近似推理,参考的内容是coursera课程:Probabilistic Graphical Models . 上次实验PGM练习四:图模型的精确推理 中介绍的是图模型的 ...
- UML建模——用例图(Use Case Diagram)
用例图主要用来描述角色以及角色与用例之间的连接关系.说明的是谁要使用系统,以及他们使用该系统可以做些什么.一个用例图包含了多个模型元素,如系统.参与者和用例,并且显示这些元素之间的各种关系,如泛化.关 ...
- 软件开发学习笔记 <一> UML
UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...
- 为什么需要学UML建模
今天在看<设计模式>的时候,看到了许多的UML模型图,案例中作者用极少的代码却能讲清楚讲好设计模式的背景和思想,抽象成一张张的UML图就能很好的review和复盘,这对于在工作中习惯用代码 ...
随机推荐
- flask简单登录注册
效果图 发布问答页面需要登录才能访问,没有登录会跳转到登录页面 模板继承,正则验证,数据库迁移,md5加密 mysql 5.7 登录页面 登录后的发布问答页面,右上角会显示用户名和注销 项目代码:码云
- MT【245】小概率事件
(2011年AAA测试)将一枚均匀的硬币连续抛掷$n$次,以$P_n$ 表示未出现连续3次正面的概率.求$\{P_n\}$.并讨论$\{P_n\}$单调性和极限. 分类讨论:第$n$次反面则未出现连续 ...
- 【LOJ6036】编码(2-sat)
[LOJ6036]编码(2-sat) 题面 LOJ 题解 很显然的一个暴力: 枚举每个串中的?是什么,然后把和它有前缀关系的串全部给找出来,不合法的连边处理一下,那么直接跑\(2-sat\)就做完了. ...
- nginx.conf(centos6, 1.12)主配置文件修改
#nginx1.12 centos6.xuser admin admin;worker_processes 4; error_log /data/services/logs/nginx_error.l ...
- multiset和set
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值:另外,还 ...
- Spring乱码问题解决方案
请求乱码 GET请求乱码: 原因:请求参数带在url地址上.url地址什么时候解析? tomcat收到请求对url进行编解码(ISO8859-1) 解决方案:在tomcat的8080端口配置出加上 U ...
- NOI 2002 贪吃的九头龙
树形dp #include<bits/stdc++.h> #define N 305 using namespace std; struct LEB{ int to,nxt,w; }e[N ...
- 收藏:H.264编码原理以及I帧B帧P帧
来源: https://www.cnblogs.com/herenzhiming/articles/5106178.html 前言 ----------------------- H264是新一代的编 ...
- plink: 等位型计数(allele count)
对genotype的等位型进行计数,需要用到以下参数: --freq Allele frequencies--counts Modifies --freq to report actual allel ...
- tensor flow中summary用法总结
对于用法的总结详细的参见博文https://www.cnblogs.com/lyc-seu/p/8647792.html