UML学习笔记之协作图

协作图:(collaboration diagram

         类图指示出系统中包含的类,类提供的功能,以及类之间的关联,但是没有告诉我们类之间是如何通信的。协作图就是完成这个任务的。

协作图建模对象或者角色,以及它们彼此之间的顺序的通信。

协作图中的对象或者角色之间的通信是通过沿着关联角色和连接各个角色的链接发送消息实现的。

         astah中类似的是Communication Diagram

 

协作图的标记符组件:

l         对象和角色

A.        对象实例的3种标记符:(矩形表示对象,名字写矩形里)第一,不带类名的对象,例如:ObjectA。第二,对象名和类名都有的,例如:ObjectB : ClassB。第三,不带对象名的类,例如:: ClassC。(对象名加下划线)

B.        对象实例角色的4种标记符:第一,例如:/RoleA。第二,例如,/RoleB : ClassB第三,例如:ObjectC/RoleC。第四,例如:ObjectD/RoleD : ClassD

C.        类角色的3种标记符:(类角色不加下划线)第一,例如:/RoleA。第二,例如::ClassB。第三,例如:/RoleC : ClassC

l         关联角色:(关联角色就是两个类角色之间的关系)关联可以通过关联角色从类图传递到协作图,关联角色用来连接两个类角色。

l         链接:用来在协作图中关联对象。可以代表一个来自类图的关联的实例。连接可以使用“parameter”和“local”固化类型(Stereotype)。

l         消息:对象和对象,类角色和类角色之间通信的方式。消息可以作为类的操作,这时它可以传递变量或者参数。在协作图中有3种消息类型:同步(Synchronous)、异步(Asynchronous)和简单(Flat)消息。

 

深入研究消息:

u       序列化:对消息进行排序

u       控制点条件:用来根据控制消息的表达式的计算结果来限制消息的发送。例如:[GuardA]

u       创建实例:用固化类型“create”可以表示创建实例。

u       迭代(Iteration):有两种方式表示:第一种:表示从一个对象向另一个对象发送多次消息,在消息上加多重性标记。第二种:表示消息从单个对象发送到一组其他对象。那一组对象使用重叠的矩形框表示,并且在矩形的坐下角标记多重性。

 

如何建模协作图:

1.         确定属于协作图的元素或者类。

2.         建模结构化关系:确定类之间的关系,在类角色之间添加链接和关联角色。(过度)

3.         建模实例层协作图:要把上一步建立的类角色修改为对象实例,并且指定执行的消息序列,增加控制点、迭代等标记符。

 

 

 

你可能感兴趣的:(UML学习笔记之协作图)