序列图和协作图都属于交互图,用来描述系统中的对象时如何进行相互作用的,即一组对象时如何进行消息传递的。
顺序图着重描述对象按照时间顺序的消息交换,并且把用例行为分配给类。协作图着重描述系统成分如何协同工作,情调对象间的结构关系。顺序图和协作图从不同角度表达了系统中的交互和系统行为,他们之间可以互相转化。
顺序图(Sequence Diagram)
1、构成
a、对象
对象命名方式
b、消息:对象之间的通信,可以是信号或者操作调用
几种消息形式
-call
-return
-send
-create
-destroy
消息类型:
c、生命线(激活):表示在某段时间内对象时存在的,是一条垂直的虚线。每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从顺序图的顶部一直延伸到底部,所用的时间取决于交互持续的长短。
协作图(Collaboration Diagram)
1、构成:
a、对象(多对象、多实例):多对象是指由多个对象组成的对象集合,用对个方框的重叠表示。
b、消息:与顺序图中的相同,但为旅客说明交互过程中消息的时间顺序,需要给消息添加顺序号。
c、链:一条链接两个角色的实线
两者比较:
两图构成不同,两者也各有特点。顺序图中有对象生命线和控制焦点,协作图没有;协作图中有路径,并且协作图中的消息必须有消息顺序号,顺序图中没有。在顺序图中,不能表示对象与对象之间的链,对于多对象也不能直接显示出来,在协作图中则可以表示;协作图不能表示生命线的分叉,在顺序图中则可以表示。
下图为两种图的比较: