UML之序列图
一 序列图概述:
序列图主要用于展示对象之间交互的顺序。
序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。
横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时。生命线是一个双道线。
消息用从一个对象的生命线到还有一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
二 序列图中涉及的元素:
1. 角色(Actor)
系统角色, 能够是人、其它系统或者子系统
2. 对象(Object)
有三种命名方式:
(1)包含对象名和类名
(2)仅仅显示类名。不显示对象名。即表示他是一个匿名对象
(3)仅仅显示对象名不显示类名
3. 生命线
生命线在序列图中表示为从对象图标向下延伸的一条虚线, 表示对象存在的时间。
4. 控制焦点(Focus of Control)
控制焦点是序列图中表示时间段的符号, 在这个时间段内对象将运行对应的操作,用小矩形表示。
5. 消息
消息一般分为同步消息(Synchronous
Message)。异步消息(Asynchronous
Message)和返回消息(Return
Message)
(1)同步消息:消息的发送者把控制传递给消息的接收者。然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。
(2)异步消息:消息发送者通过消息把信号传递给消息的接收者。然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
(3)返回消息:返回消息表示从过程调用返回
6. 自关联消息(Self-Message)
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。
三 储户取款的样例:
用序列图表示用户从ATM机上取款的样例:
四 心得总结:
1. 先用序列图画出主要流程, 用注解或文字说明特殊流程。
2. 假设特殊流程也非常重要。 那么能够再用一个序列图来表达。
3. 假设分支非常多而且都比較重要时, 首选活动图而不是顺序图。
原文: http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html
UML之序列图的更多相关文章
- UML 之 序列图和协作图
序列图(Sequence Diagram) 亦称为时序图或循序图,是一种UML行为图.它通过描写叙述对象之间发送消息的时间顺序显示多个对象之间的动态协作.它能够表示用例的行为顺序,当运行一个用 ...
- UML: 序列图
摘自http://www.umlonline.org/school/thread-37-1-1.html 大家都进过餐馆吃饭吧?你是如何和餐厅服务员“眉来眼去”的呢?回忆一下从你进餐馆开始到你离开餐馆 ...
- UML - EA 序列图
序列图中的 Fragment 的类型(Loop.Opt.Par和Alt) (还有: ) 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向 ...
- UML学习(三)-----序列图
UML的模型中可分为两种,动态模型和静态模型.用例图.类图和对象图都是UML中的静态结构模型.而在UML系统动态模型的其中一种就是交互视图,它描述了执行系统功能的各个角色之间相互传递消息的顺序关系.序 ...
- UML精粹3 - 类图,序列图,CRC
类图Class diagram 类图描述系统中的对象类型,以及它们之间的各种静态关系.类图也展示类的性质和操作,以及应用于对象连接方式的约束.UML中的特性feature,涵盖了性质property和 ...
- 从 Java 代码逆向工程生成 UML 类图和序列图
from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Sof ...
- UML序列图参考资料
UML各个图的说明:http://www.uml.org.cn/oobject/201509015.asp?artid=16901 UML类图的说明:https://www.cnblogs.com/a ...
- UML 序列图
序列图 序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互.显示不同的业务对象如何交互,对于交流当前业务如何进行很有用.序列图是一个用来记录系统需求,和整理系统设计的好图.序列图 ...
- 转载:UML学习(三)-----序列图(silent)
原文:http://www.cnblogs.com/silent2012/archive/2011/09/14/2172219.html UML的模型中可分为两种,动态模型和静态模型.用例图.类图和对 ...
随机推荐
- 前端换行显示,后端返回<br>
- NodeJS学习笔记 (3)域名解析-dns(ok)
域名解析:dns.lookup() 比如我们要查询域名 www.qq.com 对应的ip,可以通过 dns.lookup() . var dns = require('dns'); dns.looku ...
- luogu P1405 苦恼的小明(欧拉定理)
题意 求a1^a2^a3^...^an(mod10007)n<=1000000,a[i]<=10000 题解 明眼人一眼就可以看出是欧拉定理的推论. 首先这个题是错的,没说保证互质. 然而 ...
- BZOJ 2246 [SDOI2011]迷宫探险 (记忆化搜索)
题目大意:太长了,略 bzoj luogu 并没有想到三进制状压 题解: 3进制状压陷阱的状态,0表示这种陷阱的状态未知,1已知危险,2已知不危险 然后预处理出在当前状态下,每种陷阱有害的概率,设为$ ...
- Java XSSF 导出excel 工具类
参数解释: title:导出excel标题.headers 导出到excel显示的列头. columns 对应数据库字段 .list 导出数据1.pox中添加依赖 <dependency> ...
- python学习--导入自己的包
定义一个自己的方法包: def myFunc(x): if x > 10: return x else: return -x 在需要的地方导入包: # 导入自定义的方法包 from learn ...
- Html学习(三) 分类学习
代码: <h1>这是一级分类吗</h1> <h2>这是二级分类吗</h2> <h3>这是三级分类吗 </h3> 效果: 介绍: ...
- 利用 border 实现的图片选区效果,只需一层图一蒙层
<html> <style> #p { background: url("http://soso5.gtimg.cn/sosopic_j/0/436416703332 ...
- php冒泡排序函数
$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588); function maopao($arr,$value){// ...
- node05---模块
Node.js开发服务器,数据.路由.本地关心的效果,交互: Node.js实际上是极客开发出的一个小玩具,不是银弹.有着别人不具备的怪异特点: 首先,Node不为每个用户开辟一个线程,所以非常单线程 ...