UML时序图

Posted

tags:

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

  时序图是显示对象之间交互的图。它通过描述对象之间消息交互的时间顺序显示多个对象之间的动态协作。

  时序图用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或者状态机中引起转换的事件;时序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的;时序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的;时序图可以用来描述用例,寻找类的操作。

  时序图中包括的建模元素主要有:对象、生命线、激活、消息等

  三国演义的赤壁之战的时序图:

技术分享

 

一、角色

  图中的小人,就表示一个角色,可以是人,或者是其它的系统或者子系统。

  技术分享

二、对象

  对象就是类或者类对象。命名方式为:对象名:类名,可以省略其中任意一个。

  对象的左右顺序并不重要,但是为了画图画的清晰整洁起见,通常应遵循一下两个原则:

  (1)把交互频繁的对象尽可能地靠拢。

  (2)把初始化整个交互活动的对象(有时是一个参与者)放置在最左边。

  技术分享

三、生命线

  生命线是从对象图标向下延伸的一条虚线,表示对象的生存时间。

  技术分享

四、激活(控制焦点)

  控制焦点是顺序图中表示时间段的符号,在这个时间段内对象执行相应的操作。用每条生命线上的小矩形表示。

  当一个对象没有被激活时,该对象处于休眠状态,什么事都不做,但它仍然存在,等待新的消息来激活它。当一条消息被传递给对象的时候,它会触发该对象的某个行为,这就是说该对象被激活了。当一个对象处于激活期时,表明该对象正处于执行某个动作。

  矩形框的高度表示对象执行一个操作所经历的时间段,矩形的顶部表示动作的开始,底部表示动作的结束。

  对象接收消息后可以由自己的某个操作来完成,也可以通过其他对象的操作来完成。

  技术分享

五、消息

  消息是对象间的一种通信机制。由发送对象向另一个或其他几个接收对象发送信号,或由一个对象调用另一个对象的操作。

  对象之间的交互是通过相互发消息来实现的。一个对象可以请求或要求另一个对象做某件事件。

  消息从源对象指向目标对象。时序图中,消息的阅读顺序是严格自上而下的。

  技术分享

  消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。

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

  异步消息:消息发送者把消息传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

  返回消息:返回消息表示从过程调用返回

  自关联消息:表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。

  技术分享

  有的地方也把消息分为普通消息、同步消息、异步消息、返回消息。

  技术分享

六、Combined Fragments

  表示带有一些特定条件发送的消息。

  技术分享

  如上图,就表示,循环发送GetProperty消息获得属性。在画时序图时,选择一个Combined Fragments之后,可以在其对应的属性面板更改对应的发送条件。例如:
1.Alternative fragment (denoted "alt") 与 if…then…else对应
2.Option fragment (denoted "opt") 与 Switch对应
3.Parallel fragment (denoted "par") 表示同时发生
4.Loop fragment (denoted "loop") 与 for 或者 foreach对应

七、其他

  执行者,表示这个对象是由谁来操作的。

  进入窗口,代码从这里开始。

  接口,表示跟其他应用程序交互的接口

  丢失消息

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

UML时序图学习

UML时序图学习

程序时序图 Sequence Diagram(序列图) UML图(数据流程图)的绘制

PlantUML 快速入门 UML 时序图

如何绘制UML顺序图

UML建模之时序图(Sequence Diagram)