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的模型中可分为两种,动态模型和静态模型.用例图.类图和对 ...
随机推荐
- Spring 与CXF整合(spring3.2,cxf3.1.11)
1,jar包导入,从官网下载zip文件后里面会有很多jar包,哪些必须哪些不是必须,我能力有限,从其他人那参考了导入的一下jar包. 2.配置相关文件 web.xml中配置servlet <se ...
- python登录注册改良版
#在执行本脚本的时候,需要先注册,否则会报字符串不匹配sum=3while True: #如果条件为真,则一直循环 print("先注册,在登录") print("1.注 ...
- Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
解决方法: 1.进入启动文件目录 2.将用户加入到docker 组 sudo gpasswd -a ${USER} docker 3.使用root用户 sudo su 4. 切换当前用户 su ${ ...
- python 中i++、逻辑表达式
参考链接:https://www.cnblogs.com/yupeng/p/3345946.html i++运算符 python中没有类似i++之类实现+1的运算符,但是有++i,+-i.之类的,他们 ...
- pandas学习笔记 - 常见的数据处理方式
1.缺失值处理 - 拉格朗日插值法 input_file数据文件内容(存在部分缺失值): from scipy.interpolate import lagrange import pandas as ...
- HTTP——学习笔记(5)
我们通信的过程中会有哪些风险?: 1.HTTP不会对通信方的身份进行确认 因为HTTP协议中的请求和相应不会对通信方进行确认,就是不管发送或接收信息的人是不是之前的人,都不妨碍信息的发送或接收. 缺点 ...
- Java中四种复制数组的方法
JAVA语言的下面几种数组复制方法中,哪个效率最高? B.效率:System.arraycopy > clone > Arrays.copyOf > for循环 1.System.a ...
- iOS:界面上下空出黑条
启动图没有加入完整造成
- js绑定事件方法:addEventListener与attachEvent的不同浏览器的兼容性写法
js的事件绑定方法中,ie仅仅支持attachEvent,而FF和Chrome仅仅支持addEventListener,所以就必须为这两个方法做兼容处理,原理是先推断attachEvent仅仅否为真( ...
- MongoDB 的replicattion 复制集练习
replicattion 相当于 mysql 的主从复制的读写分离,共同维护相同的数据,提高服务器的可用性[假如主(PRIMARY)不能用时,mongo会迅速自动切到从(SECON ...