您的位置:首页 > 其它

UML之协作图

2014-02-19 15:28 155 查看
一、基础概念


协作图强调发送和接受消息的对象之间的结构组织的交互图,显示对象、对象之间的链接以及对象之间的消息,还可以显示当前模型中的简单类实例和类实体实例。

协作图,它描述了系统中,对象间通过消息进行的交互,强调了对象在交互行为中承担的角色。下图就是一个典型的协作图。

从订单生成订货单的协作图。



二、作用

协作图常用来描述业务或软件系统中,每个对象在交互发生时承担的角色,即强调了交互发生时,每个对象承担的职责。

使用协作图可以显示对象相互协作时充当的角色。如果需要强调时间和序列,最好选择顺序图建模;如果需要强调上下文相关,最好选择协作图建模。

协作图用于显示对象之间如何进行交互,以实现特定用例或用例中特定部分的行为。设计员使用协作图和顺序图确定并阐明对象的角色,这些对象执行用例的特定事件流。这些图提供的信息主要用来确定类的职责和接口。
三、元素及标识

UML中,表示一个协作图,主要是标识系统中的对象、对象间交互的消息、对象间的链。

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

表示对象之间的语义关系,链是关联的一个实例。协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个对象的实线。

3.消息

协作图中的消息类型与时序图中的相同,只不过为了说明交互过程中消息的时间顺序,需要给消息添加顺序号。顺序号是在消息的前面加一个整数。每个消息都必须有唯一的顺序号。

4.消息编号:

消息的编号有两种,一种是无层次编号(按顺序编号),它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系.

5.迭代标记和监护条件

(1)迭代标记

迭代标记用*号表示,表示循环,通常还有迭代表达式,用来说明循环规则。

迭代是通过在顺序编号前加上一个迭代符“*”和一个可选的迭代表达式来表示。对于迭代表达式,UML没有强制规定什么语法,因此可以使用任何可读的、有意义的表达式来表示。常用的迭代表达式如表所示。

迭代表达式
语义
[i:=1..n]
迭代n次
[I=1..10]
I迭代10次
[while(表达式)]
表达式为true时才进行迭代
[until(表达式)]
迭代到表达式为true时,才停止迭代
[for each(对象集合)]
在对象集合上迭代
(2)监护条件

监护条件通常是用来表示分支的,也就是表示“如果条件为true,才发送消息”的语义,在UML中,监护条件是以“【条件表达式】”的格式表示的。
现在来看一下它在交互图中的应用。

例如,在图中,消息“1.3:create(prddleryid)”的前面就添加了一个监护条件【peddeleryidnotexist】,它说明只有当peddeleryid不存在时才调用create方法来创建新的送货单。如果已经存在,那就不必创建,直接调用1.4方法,将订单项中的产品添加到相应的送货单即可。



相关阅读:
UML(5)——协作图
UML图之六——协作图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: