第10章时序图(顺序图)-郭
- 格式:ppt
- 大小:2.00 MB
- 文档页数:81
时序图(序列图)⼀、什么是时序图?时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是⼀种UML交互图。
它通过描述对象之间发送消息的时间顺序显⽰多个对象之间的动态协作。
时序图是⼀个⼆维图,横轴表⽰对象,纵轴表⽰时间,消息在各对象之间横向传递,依照时间顺序纵向排列。
⼆、时序图的作⽤是什么?1、展⽰对象之间交互的顺序。
将交互⾏为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展⽰对象之间的交互;2、相对于其他UML图,时序图更强调交互的时间顺序;3、可以直观的描述并发进程。
三、组成元素有哪些?1. ⾓⾊(Actor)系统⾓⾊,可以是⼈、机器、其他系统、⼦系统;在时序图中⽤表⽰。
2. 对象(Object)(1)对象的三种命名⽅式第⼀种⽅式包括对象名和类名,例如:直播课时:课时,在时序图中,⽤“对象:类”表⽰;第⼆种⽅式只显⽰类名,即表⽰它是⼀个匿名对象,例如: :课程;在时序图中,⽤“:类”表⽰;第三种⽅式只显⽰对象名不显⽰类名,例如:讲师;在时序图中,⽤“对象”表⽰。
(2)命名⽅式的选择三种命名⽅式均可,哪种最容易让阅读该时序图的⼈理解,就选择哪种。
(3)对象的排列顺序对象的左右顺序并不重要,但是为了作图清晰整洁,通常应遵循以下两个原则:把交互频繁的对象尽可能的靠拢;2.把初始化整个交互活动的对象放置在最左端。
3. ⽣命线(Lifeline)在时序图中表⽰为从对象图标向下延伸的⼀条虚线,表⽰对象存在的时间。
4. 控制焦点(Focus of Control)⼜称为激活期,表⽰时间段的符号,在这个时间段内对象将执⾏相应的操作。
它可以被理解成C语⾔语义中⼀对花括号{ }中的内容;⽤⼩矩形表⽰。
5. 消息(Message)消息⼀般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。
除了提供一个图形化边框之外,用于图中的框架元件也有描述交互的重要的功能, 例如序列图。
在序列图上一个序列接收和发送消息(又称交互),能通过连接消息和框架元件边界,建立模型(如图2 所见到)。
这将会在后面“超越基础”的段落中被更详细地介绍。
UML 的生命线命名标准按照如下格式:除了仅仅显示序列图上的消息调用外,图4 中的图还包括返回消息。
这些返回消息是可选择的;一个返回消息画作一个带开放箭头的虚线,向后指向来源的生命线,在这条虚线上面,你放置操作的返回值。
在图 4 中,当getSecurityClearance 方法被调用时,secSystem组合碎片(变体方案,选择项,和循环)然而,在大多数的序列图中,UML 1.x“in-line”约束不足以处理一个建模序列的必需逻辑。
这个功能缺失是UML 1.x 的一个问题。
UML 2 已经通过去掉“in-line”约束,增加一个叫做组合碎片的符号元件,解决了这一个问题。
一个组合碎片用来把一套消息组合在一起,在一个序列图中显示条件分支。
UML 2 规范指明了组合碎片的11 种交互类型。
十一种中的三种将会在“基础”段落中介绍,另外两种类型将会在“超越基础”中介绍,而那剩余的六种我将会留在另一篇文章中介绍。
(嗨,这是一篇文章而不是一本书。
我希望你在一天中看完这部分!)变体变体用来指明在两个或更多的消息序列之间的、互斥的选择。
3 变体支持经典的“if then else”逻辑的建模(举例来说,如果我买三个,然后我得到我购买的20% 折扣;否则我得到我购买的10% 折扣)。
就如你将会在图8 中注意到的,一个变体的组合碎片元件使用框架来画。
单词“alt”放置在框架的namebox里。
然后较大的长方形分为UML 2 所称的操作元。
4 操作元被虚线分开。
每个操作元有一个约束进行测试,而这个约束被放置在生命线顶端的操作元的左上部。
5 如果操作元的约束等于“true”,然后那个操作元是要执行的操作元。
产品经理简称PM,是指在公司中针对某一项或是某一类的产品进行规划和管理的人员,主要负责产品的研发、制造、营销、渠道等工作。
产品经理是很难定义的一个角色,如果非要一句话定义,那么产品经理是为终端用户服务,负责产品整个生命周期的人。
产品经理需要考虑目标用户特征、竞争产品、产品是否符合公司的业务模式等等诸多因素。
近年来互联网产品经理火热,一起看下为大家精选的互联网产品经理学习文章。
上次介绍了活动图,这次UML 中,另一种流程分析利器——时序图。
以前每次要分析流程,我都会用活动图。
直到有一次,我面对一个业务流程,画活动图,画来画去,总觉得哪里不对,但又表达不出来,感觉如鲠在喉。
后来,我想起时序图,用时序图把流程梳理了一遍,豁然开朗。
原来,用不同的视图去描述同一个流程,能让我们看到自己未曾发现的问题。
就像看足球比赛,在多个不同位置的摄像镜头下,能看到球员更全面的表现。
此后,我用时序图甚至比活动图还多。
那么,它有啥特别之处,居然能替代活动图来分析流程?我们一起来看看。
01 解读时序图时序图,也叫序列图、顺序图,是UML 中常用的动态视图,用于描述多个对象参与实现业务目标时,彼此之间按时间顺序进行交互的过程。
时序图,用来表达对象或角色之间交互的信息传递和时间顺序,特别方便。
每次梳理流程,跟开发沟通,我都会借助它来描述。
绘制时序图,将一个个对象和其交互动作列出来,可以直观反映出,每个对象对其他对象、或其自身做的交互动作,让我们看到业务内部的运作、系统之间的互动,从而搞清楚业务规则、系统逻辑。
在《火球:UML 大战需求分析》一书中,作者总结特别好:“任何复杂的交互,都可以分解为自己与自己、自己与别人、别人与别人的多个简单交互”。
时序图正体现了这种逻辑,所以,它表达交互逻辑时,非常清晰简单。
客户用ATM 取款的时序图作为产品经理,如果我们能掌握这一利器,用来分析业务、定义需求,与开发沟通,定能大大提高效率。
时序图常见的应用场景,是在支付领域。