聊聊UML(10)交互图-时序图

Posted 与小婧同行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊UML(10)交互图-时序图相关的知识,希望对你有一定的参考价值。


 

1

 

今天想要来聊聊时序图。

时序图也称顺序图,Sequence Diagram。

BA其实用的不是很多,但是开发在做详设的时候基本上都会用到。

 

不知道大家是否记得我之前讲的,根据目的的不同,在使用UML建模的时候可以抽象到不同的层级。

对于BA来说,掌握UML建模的关键是通过UML实现现实世界的模型抽象。


所以,对于时序图,我们首先需要可以看得懂,这样才能理解开发的设计与我们的业务解决方案是否理解一致。

更高的要求就是可以将现实世界也就是业务通过时序图抽象表达出来。


2


 


时序图用来确定对象职责和接口,强调消息事件的发生顺序,更方便于阐述事件流的过程,但是很难表达对象之间的关系。

——大象Thinking in UML


 

接下来,我们来看看时序图的一些重要定义。

 

The most common kind of Interaction Diagram is the Sequence Diagram, which focuses on the Message interchange between a number of Lifelines.

——UML2.5

从官方给出的定义来看,时序图主要强调的是消息在对象生命线之间的传递和交互。

聊聊UML(10)交互图-时序图


下面这段官方的描述更加具体了。

A sequence diagram describes an Interaction by focusing on the sequence of Messages that are exchanged, along with their corresponding OccurrenceSpecifications on the Lifelines.

——UML 2.5

 

3

 

 

聊聊UML(10)交互图-时序图

时序图有四个主要元素:对象,生命线,消息,和激活。

 

对象

这个在之前的“聊聊UML(2)”就说过了,这里的对象表示参与交互的对象。

 

聊聊UML(10)交互图-时序图

 

生命周期线

每个对象都有一条生命周期线,对象被激活(创建或者被引用)的时候,生命周期线上会出现一个长条(会话),表示对象的存在。

聊聊UML(10)交互图-时序图


 

消息

消息是由一个对象的生命周期线指向另一个对象或自身的生命周期线。

消息分成4种。

聊聊UML(10)交互图-时序图


简单消息

不强调消息的类型,仅仅表示一个交互。

我们在不强调消息的其他特殊用途和作用时,用这个就够了。


 

返回消息

不是创建一条新的消息,而是源消息的返回体。

在实际应用的过程中,除非强调返回消息,否则不会进行特别的标识。

 

同步消息

发出消息的对象暂停后续动作,一直等到接收消息方响应。

同步消息非常常用。

例如,我们双击一个图标,要等应用程序打开后才会进行下一步操作。

 

限时消息

属于同步消息的一种特殊情况,在等待响应的过程中,可以规定一个等待时间,如果超过则执行后续操作。

比如,我们访问一个网站,在2分钟后仍然连接不成功,则会告知你“无法访问”。

 

异步消息

在发出消息后,不用等待响应,可以继续执行其他操作。

 

销毁

销毁绘制在生命周期线上,表示生命周期的终结。


一般来说,也是在特别强调的时候才会绘制。

 

4

 

什么时候用

在任何时候需要表达对象之间的交互时,或者想分析一下对象的职责和接口的时候都可以使用时序图。

尤其是在进行设计的时候,所以我们会发现,程序猿GG使用时序图的频率会远高于BA。


一般来说,时序图是不会拿给业务用户进行读图的,因为对象这个概念本身比较抽象。

所以如果要读图的话,还是使用活动图比较符合业务习惯和理解。


 


小婧是一名行走在实践路上的资深业务分析师(BA),如果想与我同行,就请关注我吧!




以上是关于聊聊UML(10)交互图-时序图的主要内容,如果未能解决你的问题,请参考以下文章

UML时序图

UML建模(时序图)

UML时序图Sequence diagram(交互图)(转)

产品经理必备之UML时序图

如何绘制UML顺序图

时序图怎么画