用对象间的交互来描述用例。(注意是对象间的)
寻找类的操作。
时序图的概念
时序图描述了对象之间传递消息的时间顺序,它用来表示用例的行为顺序。
时序图的组成
对象
对象是类的实例,对象是通过类来创建的,我们可以把类看作是创建对象的模版。
对象的符号
时序图中的每个大峡谷显示单独的列里。
对象的左右排列位置
对象的左右顺序并不重要,但是为了画图画的清晰整洁起见,通常应遵循一下两个原则:
(1)把交互频繁的对象尽可能地靠拢。
(2)把初始化整个交互活动的对象(有时是一个参与者)放置在最左边。
生命线lifeline
表示对象的生存时间。生命线从对象创建开始到对象销毁时终止。
对象在生命线上的两种状态:休眠状态、激活状态。
消息
消息的概念:
对象之间的交互是通过相互发消息来实现的。一个对象可以请求(要求)另一个对象做某件事件。
消息从源对象指向目标对象。消息一旦发送便将控制从源对象转移到目标对象。
时序图中,消息的阅读顺序是严格自上而下的。
消息的类型与符号
实例:同步异步
你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。
所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。^_^!
(1)简单消息
简单消息是没有区分同步和异步的消息。
简单消息用从一对下岗的生命线指向另一个对象的生命线的直线箭头来表示,箭头上面标出消息名。
(2)同步消息
消息的发送者把进程控制传递给消息的接收者,然后暂停活动,等待消息接收者的回应消息。
你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
(3)异步消息
消息的发送者将消息发送给消息的接受者后,不用等待回应的消息,即可开始另一个活动。
你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。
激活
激活的概念
当一个对象没有被激活期时,该对象处于休眠状态,什么事都不做,但它仍然存在,等待新的消息来激活它。
当一条消息被传递给对象的时候,它会触发该对象的某个行为,这就是说该对象被激活了。
当一个对象处于激活期时,表明该对象正处于执行某个动作。
激活的符号
激活用一个细长的矩阵框(在生命线上)表示。
矩形框的高度表示对象执行一个操作所经历的时间段,矩形的顶部表示动作的开始,底部表示动作的结束。
对象接收消息后可以由自己的某个操作来完成,也可以通过其他对象的操作来完成。