转载:UML学习(三)-----序列图(silent)

原文:http://www.cnblogs.com/silent2012/archive/2011/09/14/2172219.html

UML的模型中可分为两种,动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模型的其中一种就是交互视图,它描述了执行系统功能的各个角色之间相互传递消息的顺序关系。序列图就是交互视图的一种形式。

1、序列图的定义

  序列图是对对象之间传送消息的时间顺序的可视化表示。序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。

2、序列图的结构

  序列图(Sequence Diagram)是由对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Messages)、分支与从属流等元素构成的。

2.1、对象

  对象就是指类的实例。我认为在序列图中对象有三种状态:激活、运行(存在)和销毁。

2.2、生命线

  生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。见上图。

2.3、激活

  序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程。在UML图中通过一个窄长的矩形来表示,矩形的高度表示对象存在的过程。

2.4、消息

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

  在UML中消息分为5类:递归调用、普通操作、返回消息、异步调用的消息、过程调用的消息。

2.5、分支与从属流

  在UML中存在两种方式可以来修改序列图中消息的控制流,分别是:分支和从属流。

  分支是指从同一点发出的多个消息并指向不同的对象,根据条件是否互斥,可以有条件和并行两种结构。

  从属流指的是从同一点发出多个消息指向同一个对象的不同生命线。

3、综合示例

原文地址:https://www.cnblogs.com/huiy/p/8552671.html

时间: 2024-10-10 18:00:08

转载:UML学习(三)-----序列图(silent)的相关文章

UML中的序列图(时序图)

序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线.消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列. 序列图中涉及的元素: 生命线 生命线名称可带下划线.当使用下划线时,意味着序列图中的生命线代表一个类的特定实例 同步消息 发送人在它继续之前,将等待同步消息响应. 异步消息 在发送方继续之前,无需

UML学习三

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

【转载】NIO客户端序列图

步骤一:打开SocketChannel,绑定客户端本地地址(可选,默认系统会随机分配一个可用的本地地址),示例代码如下: SocketChannel clientChannel = SocketChannel.open(); 步骤二:设置SocketChannel为非阻塞模式,同时设置客户端连接的TCP参数,示例代码如下: clientChannel.configureBlocking(false); socket.setReuseAddress(true); socket.setReceive

Python学习三---序列、列表、元组

一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. 从后向前,最后一个索引是-1,-2,.... python包含6种内建序列.最常用的两种类:列表和元组,其它内奸序列类型有字符串.Unicode字符串.buffer对象和xrange对象. 列表和元组的主要区别在于,列表可以修改,元组不能修改. 添加元素就用列表. 由于 一些原因不能修改时就用元组.

UML学习(一)——类图学习

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

浅谈UML学习笔记动态图之状态图和活动图

Trufun Plato Trufun Plato是新一代的UML建模软件,它将为您的软件分析设计提供高效快捷的建模工具.Trufun是在OMG发布UML2.2规范之后同步发布UML2.X工具的CASE工具厂商,是基于全新理念的.中国人自己的先进的企业级UML工具.   原文转自trufun.net网站,更多UML资料和项目模型,可以到网站下载. 状态图 我先简单的理解一下,什么是状态机?① 在日常生活中,状态机,我们理解为记录下给定时刻状态的机器,根据不同的输入对每个给定的变化而改变其状态或引

从 Java 代码逆向工程生成 UML 类图和序列图

from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM? Rational? Software Architect 从 Java? 源代码来逆向工程生成 UML 类和序列图. 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品. 作者详细说明了使用 IBM Rational Sof

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

Thinking in UML 学习笔记(三)——UML核心视图之类图

类图的作用:用于展示系统中的类及其相互之间的关系. UML在解决面向对象的方法中对类理解为三个层次,分别是:概念层.说明层.实现层.在UML中,从开始的需求到最终设计类,类图也是围绕这三个层次的观点进行建模的. 一.概念层类图 在概念层上类图着重于对问题领域的概念化理解,而不是实现,因此类名称通常都是问题领域中实际事物的名称. 网上购物主要由商品.订单.支付卡这几个关键类构成,这几个类的交互能够完成网上购物这个业务目标. 二.说明层类图 这一层是类的接口而不是实现,类图中表达类和类之间的交互接口