UML之时序图(Sequence Diagram)

在我们开发系统的时候我们都要知道这件事情是怎么干的,时间顺序是怎么着的,哪个进行完了之后进行哪个,时序图发挥的就是这个作用。

在面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) ,其中,“顺序图”与“协作图”表述的是相似的消息。

接下来说时序图

UML之时序图(Sequence Diagram)_第1张图片

一、概念

 时序图,英文名曰:Sequence Diagram,也称顺序图和序列图,是一种行为图,她通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。她可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机引起转换的触发事件。

二、时序图的元素

生命线、角色、对象、控制焦点、消息

1、生命线

每条生命线上都关联着一个对象,上图中有三条生命线,可以看到有三个对象,但是三个对象的命名方式都是不一样的。选择一个对象,在属性中可以更改这种命名,分别介绍一下这三种命名方式:

UML之时序图(Sequence Diagram)_第2张图片

显示实例名和类名,方式:实例名:类名;
只显示类名,方式::类名;
只显示实例名,方式:实例名。
其实,三种命名方式,没有特别的要求,哪一种能让阅读该时序图的人一眼就能看明白,就使用哪种,而我一般使用的是第一种和第二种,第一种信息量多,在单例时,可以用来表示;第二种,画时序图时不用刻意的去强调实例名,只需要作出类名就好了;但是,第三种,我一直不知道存在的意义,给你一个实例名,其实从图中真的看不出其的类名。所以,我个人还是建议大家使用第一种和第二种。

2、控制焦点
控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作

3消息

消息一般分为同步消息、异步消息和返回消息;如下图表示

UML之时序图(Sequence Diagram)_第3张图片

(1)同步消息

就是指消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。
(2)异步消息

就是指消息发送者通过消息把信号传递给消息的接收者,然后自己继续活动,不等待接收者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
(3)返回消息

就是指消息从过程调用返回。
同步消息=调用消息(Synchronous Message
 
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

(4)自关联消息
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法,如下图:

UML之时序图(Sequence Diagram)_第4张图片

三、如何阅读时序图
首先,时序图用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或者状态机中引起转换的事件;
其次,时序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。时序图属于动态建模;
最后,时序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传递消息的时间顺序。

四、机房实例

UML之时序图(Sequence Diagram)_第5张图片

UML之时序图(Sequence Diagram)_第6张图片


小结:在软件开发的过程中时序图是非常重要的一个UML图,要倍加重视。

你可能感兴趣的:(时序图)