【UML】 之 顺序图 & 协作图

来源:互联网 发布:java oa项目源代码 编辑:程序博客网 时间:2024/05/28 09:32

顺序图


概念:


   顺序图是两种类型的交互图之一。顺序图用来建模以时间顺序安排的对象交互,并且把用例行为分配给类。它是用来显示参与者如何采用若干顺序步骤与系统对象交互的模型。

 

 

元素:


   活动对象:活动对象之间发送的消息是顺序图的关键。消息说明了对象之间的控制流,对象是如何交互的,以及说明条件会改变控制流。活动对象可以是系统的参与者或者任何有效的系统对象。

 

   消息:用来说明顺序图中不同活动对象之间的通信。它可在一个对象需要取消不同对象的进程时或者需要向另一个对象提供服务时,使用消息。消息从活动对象生命线到接收对象生命线的箭头表示。箭头上面标记要发送的消息。

 


作用:


   顺序图与活动图具有类似的作用。其中重要的理由就是实现用例。任何用例都可以使用顺序图进一步阐明和实现。

   顺序图是一种动态建模方法。顺序图一般用于:确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的逻辑描述,或是动作的基本过程的一部分再加上一个或多个的备用情境的逻辑描述。

 


实例:



 

 

 

 

 

 

 

协作图



概念:


   协作图,又叫做“通信图”,强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。

 

 

元素:


   对象:协作图与时序图中的对象的概念是一样,只不过在协作图中,无法表示对象的创建和撤销,所以对于对象在图中的位置没有限制。

  :协作图中的链的符号和对象图中所用的符号是一样的,即一条连接两个类角色的实现。为了说明一个对象如何与另一个对象连接,可以在链的末路上附上一个路径构造型。

   消息:协作图中的消息类型与时序图中的相同,只不过为了说明交互过程中消息的时间顺序,需要给消息添加顺序号。

 

 

 

作用:

 

   协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。设计员使用协作图和序列图确定并阐明对象的角色,这些对象执行用例的特定事件流。它们是主要的信息来源,用于确定类的职责和接口。

使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。

   协作图的格式决定了它们更适合在分析活动中使用。它们特别适合用来描述少量对象之间的简单交互。随着对象和消息数量的增多,理解协作图将越来越困难。此外,协作图很难显示补充的说明性信息,例如时间、判定点或其他非结构化的信息,而在序列图中这些信息可以方便地添加到注释中。

 

 

 

实例:

 


 

 


 

时序图 VS 协作图

 

   顺序图和协作图都是交互图,交互图表示类(对象)如何交互实现系统行为。

   顺序图:它描述对象按时间顺序的消息交换过程,它体现出系统用例的行为。

   协作图:它描述对象间的组织协作关系,它也可以体现出系统用例的行为。

 

   顺序图和协作图都可以表示对象间的交互关系,但它们的侧重点不同。顺序图用消息的几何排列关系来表达对象间交互消息的先后时间顺序。而协作图则建模对象(或角色)间的通信关系。

   协作图显示对象之间的关系,它更有利于理解对给定对象的所有影响,也更适合过程设计。

   时序图描述了交互过程中的时间顺序,但没有明确的表达对象之间的关系。

   如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。

 

 

0 0
原创粉丝点击