您的位置:首页 > 其它

UML之交互图(序列图与协作图)

2017-02-26 19:57 381 查看
前言:

交互是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为。交互图就是用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的。

用于描述协作的动态行为方面,当对交互建模时,通常包括对象,又包括消息。

这种互动行为表现为UML中的两个图,被称为序列图和协作图。这两个图的基本宗旨是相似的。序列图强调消息传递的时间顺序;协作图注重发送和接收消息的对象的组织结构。

序列图(Sequence Diagram)



1.概念:



描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图。

序列图(顺序图)描述系统中类和类之间的交互, 将这些交互建模成消息交换, 其中每条消息都代表了类的一个操

作或者引起状态机改变的触发事件

2.构成:

1、对象(object)

对象即类的实例,具有特定的的属性和操作。命名规范为:对象名:类名



2、生命线(Lifeline)

对象下面虚线即为该对象的生命线,表示该对象的生命周期即存在的时间,“X”标记表示生命结束。如下图所

示:



3、激活(Activation)

概念:序列图可以描述对象的激活,激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的

过程

激活期

当一个对象没有被激活时,该对象处于休眠状态,什么事都不做,但它依然存在,等待新的消息来激

活它。

当一条消息被传递给对象的时候,它会触发该对象的某个行为,这是就说该对象被激活了。

当一个对象处于激活期时,表明该对象正在执行某个动作。



4、消息(Messages)

概念:消息是从一个对象(发送者)向另一个或其他几个对象(接收者)发送信号,或由一个对象(发送者或调

用者)调用另一个对象(接收者)的操作。

对象之间的交互是通过互发消息来实现的。消息从源对象指向目标对象,消息一旦发送便将控制从源对象转

移到目标对象。

类型:



同步和异步的区分:

同步:你叫我去吃饭,我听到了就去吃饭;没听到你就一直喊 直到我听到了才一起去吃饭

异步:我叫你去吃饭,叫一声后你是立马走还是一会走或者根本没听到,我都不管自己吃去了这就是异步。

3.实例:

后续 暂无



协作图(Collaboration Diagram)



1.概念:

协作图是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置。

2.构成要素:

对象(Object):协作图中对象的表示形式和序列图中对象的表示形式一样

链(Link):在协作图中的链与对象图中链的概念以及表示形式都相同,都是两个或多个对象之间的独立连接,

是关联的实例。

消息(Messsages):在协作图中可以通过一系列的消息来描述系统的动态行为。

3.序列图与协作图的区别与联系:

a.顺序图更强调时间和顺序,而协作图强调联系,即对象之间的交互。

b.两则都表示对象间的关系,但是表述的方式不同,协作图更有利于理解对给定对象的所有影响。

c.在顺序图上,对象的初始化和消亡的时间是很清楚的,但是协作图中无法显示。

d.提倡在分析中使用顺序图,在设计中使用协作图。

e.随着对象和消息数量的增多,理解协作图将越来越困难。

f.两者在语意上是互通的,可以互相转换。

4.实例:

后续暂无

小结:

两种图在本质上是相同的,存在很多的共通点。在我们学习的过程中要注重两者间的对比,可以方便我们的理

解,在总结中不断查漏补缺。加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: