Unified Model Language—交互图(顺序图和协作图)

来源:互联网 发布:生存模型算法 编辑:程序博客网 时间:2024/05/17 09:32

前言


  交互图属于动态图的一部分,之前写过的行为图也是动态图的范围。动态分析在系统中有什么作用呢?这点可以在本文的交互图中有所体现。静态模型确定了构成系统的类及其关系,属性,而动态图的任务就是来描述用例的行为实现的。


交互图


1.概念


交互图是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。

2.作用


通常用来描述一个用例的行为,显示该用例中所涉及的对象和这些对象之间的消息传递情况。

3.目的


帮助分析人员对照检查每个用例中所描述的用户需求。

4.包括


顺序图(sequence diagram)和协作图(collaboration diagram)两种形式。

顺序图着重描述对象按时间顺序的消息交换;协作图着重描述系统成分如何协同工作。


顺序图

1.概念


(1)描述对象之间的动态交互关系,着重体现对象间消息传递的时间顺序。展现了在一个特殊的用例场景中系统外部参与者发起的事件、事件的顺序一级各个系统之间的交互事件等。

(2)顺序图是二维图形:水平方向-对象维;垂直方向-时间维。

2.基本元素


♬对象:包括对象、对象的生命线、激活的对象和对象的删除。

主要有三种命名方式(与协作图中的对象命名方式一样)


生命线(lifeline):指角色的生命周期,一条垂直的线,在激活的时间段是双线,在状态保持的时间是虚线。


控制焦点(focus of control FOC):是顺序图中表示时间段的符号,在这个时间段内,对象将执行相应的操作。表示为在生命线上的小矩形,如图:(控制焦点he激活期activation事实上表示同一个意思。)


消息:表示为从一条生命线出发到另一条生命线的有向线,从上而下,表示消息的时间顺序。




条件、注释体和注释连接

3.几种消息


UML只规定了调用消息、异步消息和返回消息;

此外Rational Rose又做了扩充,增加了组织消息和超时消息等。

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




(2)异步消息(Asynchronous):它的发送者通过消息把信号传递给消息的接受者,然后继续自己的活动,不等待接受者返回消息或控制。它的接受者和发送者是并发工作的。




(3)返回消息(Return):表示从调用返回。

如果是从过程调用返回,则它是隐含的,所以返回消息可以不画出来;

对于非过程调用,如果有返回消息,必须明确表示出来。





(4)阻止消息(Balking):是指消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息。




(5)超时消息(Timeout):指消息发送者发出消息给接收者并按指定时间等待。如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。




4.示例图和对元素解释图








协作图


1.概念


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


2.两种主要角色


类元角色(Classifier Roles)

♪表示参与协作执行的对象的描述,系统中的对象可以参与一个或多个协作。

在协作图中类元角色表示为类的符号(矩形)。

关联角色(Association Roles)

♪表示参与协作执行的关联的描述

在协作图中将关联角色表现为实线的关联路径,关联路径上带有消息符号。




3.元素


♕对象(Object):类的实例,一个协作代表了为了完成某个目标而共同工作的一组对象。

 使用“对象名:类名”的形式。

(1)主动对象:是有一方法可以自动启动执行,框架粗。




(2)多对象:表示同属于一个类的多个对象集合。




消息(Messages):对象之间传输的信息




链(Link):连接对象的线段


4.特点


★结构方面,与对象图一样包含了一个角色集合和他们之间定义了行为方面的内容关系。

行为方面,与序列图一样,包含了一系列的消息集合。


5.作用


通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达;
显示对象及其交互关系的空间组织结构;
表现一个类操作的实现。





顺序图与协作图的关系


1.都属于交互图,用来描述对象之间的动态关系;
2.顺序图强调消息的时间顺序,协作图强调参与交互的对象的组织关系;
3.两者在语义上是等价的,可以相互转换。


小结


  两种图之间的共同点抓住,比较容易记忆,联系中找方法。其中每一个图的小细节知识还是需要进行了解的,总结之后对于之前不太了解的几种消息,有了进一步的认识。总结就是在回顾知识的同时拓展知识。

1 0
原创粉丝点击