[时序图笔记] 步步为营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和复盘,这对于在工作中习惯用代码 ...
随机推荐
- [洛谷P2627] 修剪草坪
传送门:>Here< 题意:不能有连续超过$k$个奶牛的一段,求最大的和 思路分析 Dp还是容易看出来的. 我的第一感觉是一维,$f[i]$表示前i头奶牛的最大效率.其实这也是可以解的,具 ...
- python打印log重复问题
本博客转载于:http://www.cnblogs.com/huang-yc/p/9209096.html,写得真不错 浅析python日志重复输出问题 目录 问题起源: 问题解析 解决办法 1.改名 ...
- 常用LaTeX随时更
连乘 \prod_{i=1}^n \[\prod_{i=1}^n\] 分数 \frac{a}{b} \[\frac{a}{b}\] 组合数 \tbinom{n}{r}=\tbinom{n}{n-r}= ...
- zabbix 自动发现端口并添加监控设置
自动发现端口并添加监控设置UserParameter=net.listen.discovery,sudo /etc/zabbix/scripts/discovery_listport.sh #!/bi ...
- IDEA+Springboot+JRebel热部署实现
步骤一:在IDEA中安装JRebel插件(File->settings->plugins->search in repositories),如下图 步骤二:安装完成之后,重启idea ...
- Hdoj 1312.Red and Black 题解
Problem Description There is a rectangular room, covered with square tiles. Each tile is colored eit ...
- ftp利用脚本添加本地用户
指定用户名,家目录,密码,顺序不可颠倒.eg: sh 脚本名 用户名 家目录 密码 #!/bin/bash # set -e ] //判断给定参数是否为三个 homepath=$ password=$ ...
- 【HDU1846】Brave Game(博弈论)
题面 HDU 题解 \(Bash\ Game\)模板题 #include<iostream> using namespace std; int T,n,m; int main() { io ...
- 【BZOJ5337】[TJOI2018]str(动态规划,哈希)
[BZOJ5337][TJOI2018]str(动态规划,哈希) 题面 BZOJ 洛谷 题解 就很呆... 显然按层\(dp\),如果能够匹配上就进行转移,直接哈希判断是否能够匹配就好了... #in ...
- 【BZOJ5294】[BJOI2018]二进制(线段树)
[BZOJ5294][BJOI2018]二进制(线段树) 题面 BZOJ 洛谷 题解 二进制串在模\(3\)意义下,每一位代表的余数显然是\(121212\)这样子交替出现的. 其实换种方法看,就是\ ...