[转载]UML时序图总结

前言

在我的工作中,用的最多的就是时序图了。可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过的了。

时序图简介

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

时序图中的元素

时序图中包括的建模元素主要有:角色、对象、生命线、控制焦点、消息和Combined Fragments。接下来,分别介绍每一个元素,以及展现它们在Astah中的表现形式。

角色

如下图:

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

对象

如下图:

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

  1. 显示实例名和类名,方式:实例名:类名;
  2. 只显示类名,方式::类名;
  3. 只显示实例名,方式:实例名。

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

生命线

没有什么多说的,从上面的两张图中,我们都可以看到一条向下延伸的虚线,而这条虚线就是表示的生命线,表示一个对象存在的时间。

控制焦点

控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示。如下图表示:

消息

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

同步消息就是指消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。 异步消息就是指消息发送者通过消息把信号传递给消息的接收者,然后自己继续活动,不等待接收者返回消息或者控制。异步消息的接收者和发送者是并发工作的。 返回消息就是指消息从过程调用返回。

自关联消息

表示方法的自身调用以及一个对象内的一个方法调用另外一个方法,如下图:

Combined Fragments

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

http://images.cnitblog.com/blog/405273/201307/06155657-732b73868c65429f8fba164931377107.png

如上图,就表示,循环(loop)发送GetProperty消息获得属性。在使用Astah画时序图时,选择一个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建模之时序图(Sequence Diagram) 》。

博客转自:《UML时序图总结

时间: 2024-10-11 22:51:10

[转载]UML时序图总结的相关文章

UML时序图

现在是二月,并且到现在你也许已经读到.或听到人们谈论UML 2.0 -- 包含若干进步的 UML 的新规范,所做的变化.考虑到新规范的重要性,我们也正在改动这个文章系列的基础,把我们的注意力从 OMG 的 UML 1.4 规范,转移到 OMG 的已採纳 UML 2.0草案规范(又名 UML 2).我不喜欢在一系列文章的中间,把重点从 1.4 变为 2.0 ,可是 UML 2.0 草案规范是前进的重要一步,我感觉须要扩充文字. 因为一些理由,OMG 改良了 UML .基本的理由是,他们希望 UML

uml时序图的初印象-------Day64

最近有好多想法迫不及待的想去实现,可是事实上是在那些最开始想的非常明白,感觉会没问题的地方也总是会出现问题,导致略微有些急躁,还是要淡定啊,又到了周末,明后天要收拾东西搬家,不知道宽带能不能顺利的给挪过去,想提前来记录下这周的工作吧. 总的来说,这周完成了界面的初始设计,然后就是这概要设计了,结果整合下来,word文档都有近百页了,太多时序图了,画的我都有些头昏脑涨.其实,在很久之前的某公司,我面试的第一道问题就是时序图,结果当时的我是可怜的一片茫然,结果也就自然而然了.这次再看时序图,又理解了

积跬步,聚小流-------关于UML时序图

uml时序图的存在 在上一篇中记录了uml类图,用类图来描述代码中所需要的类以及相互之间的关系,也就立体的将整个程序框架展现在了我们面前,像一幅画,有山有水有人. 一张照片只能定格当时的美好,等物是人非,再看时却往往不是欣喜,而是惆怅和失落,那些念念不忘的,终究还是跟着时间走了,哪怕依依不舍,也只能在回忆里沉醉. 如果说类图就是一张张照片,那回忆就是一幅幅时序图,走过,也可能错过,笑过,也可能哭过,可不论怎样,是我们让这个世界一点点改变,一点点动起来. 如果说类图是一张张曾经规划的图纸,那时序图

UML时序图---添加用户

UML之八——时序图小练习(添加用户) 添加用户:打开添加用户的界面,在界面上选择一个组(可以通过一个下拉选择框来选择),然后向后台提交,后台系统保存用户的信息(并同时建立用户和组之间的关联)

[转载]UML类图总结

前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明类图的重要性. 对类图的基本认识有以下两点: 类图是以反映类的结构(属性.操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法: 类图中的类与面向对象语言中的类的概念是对应的,是对现实世界中的事物的抽象. 我们基于以上两点,来对类图进行更详细的学习. 类图中基本语法学习 在UM

(转载)UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类         2.

UML时序图总结

前言 在我的工作中,用的最多的就是时序图了.可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过的了. 时序图简介 首先,时序图用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或者状态机中引起转换的事件:其次,时序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的.时序图属于动态建模:最后,时序图的重点在消息序列上,也就是说,描述消息是如何在对象间

UML它 时序图

在本文中,我们重点谈谈UML时序图,UML包括在主时序图的建模元素:对象(Actor).生命线(Lifeline).聚焦控制(Focusofcontrol).消息(Message)等等. 一.UML时序图简单介绍(Briefintroduction) 时序图(SequenceDiagram)是显示对象之间交互的图,这些对象是按时间顺序排列的.顺序图中显示的是參与交互的对象及其对象之间消息交互的顺序.时序图中包含的建模元素主要有:对象(Actor).生命线(Lifeline).控制焦点(Focus

UML之 时序图

本文和大家重点讨论一下UML时序图,UML时序图中包括的建模元素主要有:对象(Actor).生命线(Lifeline).控制焦点(Focusofcontrol).消息(Message)等等. 一.UML时序图简介(Briefintroduction) 时序图(SequenceDiagram)是显示对象之间交互的图,这些对象是按时间顺序排列的.顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序.时序图中包括的建模元素主要有:对象(Actor).生命线(Lifeline).控制焦点(Focus