时序图是一种强调消息时序的交互图,他由对象(Object)、消息(Message)、生命线(Lifeline)和Combined Fragments组成,它主要描述系统中对象和对象之间的交互,它将这些交互建模成消息交换。
时序图将交互关系展示成了一个平面二维图,其中纵向标示时间轴,时间沿竖线从上向下进行。横向轴标示了交互中各各个对象。对象的的用生命线表示。消息从一个对象的生命线到另一个对象生命线的箭头表示,箭头以时间顺序在图中从上到下排列,从左到右排列。
对象(Object)和生命线(Lifeline) 生命线头上那个方正的框里面存放的就是对象,对象有自己的名字,生命线其实就是从上到下的一个虚线。生命线标示一个对象存在的生命周期,两条生命线中间通过消息连接起来,
image.png
消息(Message)
消息用于对象间传递信息,对象之间的信息�互通就是通过消息,消息按照分类可分为:同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message) 自关联消息(Self-Message)
image.png
Combined Fragments 标示有一定条件的消息发送,
1.loop: 当没有指定循环边界默认范围为[0,无穷大]:
image.png
如果只指定了一个值,那么默认执行该值次数:
image.png
指定了循环边界,则最少执行最小值值,最多执行最大值次数:
image.png
实现dowhile方式,至少执行一次,如果size<0则退出:
image.png
2. alt: 条件判断,如果n>0则执行agree函数否者执行reject函数
image.png
3. opt: switch,当满足不同条件执行不同方法:
image.png
4. break: n=10时候执行save并退出循环
image.png
5. par: 同时进行,比如多个线程同时执行任务
image.png
一个例子
image.png