时序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。时序图中包括的建模元素主要有对象、生命线、激活、消息等。
1)对象
时序图中的对象可以是系统的参与者或任何有效的系统对象。
图6-2 对象的表示法
时序图中的对象表示法和对象图中的一样,使用包围名称的矩形框表示。名称带下划线,采用“对象名:类名”的形式,对象名和类名之间用冒号隔开,如图6-2所示。
通常将一个交互的发起对象(例如行为者对象)作为主角,主角对象通常由时序图中的第一条(最左侧)生命线表示,也就是把它放在模型的“可看见开始之处”。
2)生命线
生命线是一条垂直的虚线,用于表示在这段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。每个对象的底部中心位置都带有生命线。
生命线是一个时间线,从时序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间,如图6-3所示。
图6-3 生命线的表示法
3)激活
激活表示该对象被占用以完成某个任务;去激活指的是对象处于空闲状态,在等待消息。
图6-4 激活条(www.xing528.com)
在UML中,要表示对象是激活的,可以将该对象的生命线拓宽成为一个长条的矩形,称为激活条或控制期,对象在激活条的顶部被激活,在完成自己的工作后去激活,如图6-4所示。
4)消息
消息定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。消息是两个对象之间的单路通信,是从发送方到接收方的控制信息流,可以用于在对象间传递参数,可以是信号,也可以是调用。UML中的消息使用箭头来表示,箭头的类型表示了消息的类型。
案例学习
◎一个自助饮料机控制系统的时序图如图6-5所示。
图6-5 时序图中的消息传递示例
在该系统中,顾客从前端塞入钱币,选择想要的饮料,前端将钱送到钱币记录仪,记录仪更新自己的存储信息,分配器检查系统是否有存货,记录仪通知分配器分发饮料到前端。
5)创建对象和撤销对象
时序图中对象的默认位置是在图的顶部,如果对象在这个位置上,说明对象在交互开始之前已经存在了。如果对象是在交互的过程中创建的,那么它位于图的中间部分,即被创建的时间点上,调用的是被创建对象的类的构造器方法(该方法与类名相同,UML中常常用一个衍型《create》表示)。图6-6显示的是在交互过程中创建对象的两种常见表示方法,本书建议使用更直观的第一种表示方法。
图6-6 创建对象的表示方法
如果要撤销对象,只要在其生命线终止点放置一个“×”符号即可,该点通常是对删除或取消消息的回应,如图6-7所示。创建或撤销一个对象的消息通常是同步消息。
图6-7 撤销对象的表示方法
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。