资源描述
单击此处编辑母版标题样式,1,第八章 时序图(顺序图),(sequence diagram),用例图、类图、活动图、时序图之间是什么关系?,时序图有什么作用?,引言:赤壁之战的时序图,Public class,刘备,public void,应战,();,P,ublic class,孔明,public void,拟定策略,(),;,public void,联合孙权,(),;,private,void,借东风火攻,(),;,Public class,关羽,Public void,防守荊州,(),;,Public class,张飞,public,void,防守荆州前线,(),;,Public class,孙权,public void,领兵相助,(),;,活动图(从,用户的角度,描述用例),用例,时序图(从,计算机的角度,描述用例),对象间的交互,分析,1,:用例图、活动图、时序图之间的关系,分析,2,:类图与时序图之间的关系,思考:消息是什么?与类是什么关系?,类图,时序图,类,对象,操作,消息,类图描述系统的,静态结构,,时序图描述系统的,动态行为,需要在类,C,中添加操作“,K”,若出现了一个新的消息(不是类中的操作),则需要为类添加一个新的操作。,小结:时序图的作用,用对象间的交互来描述用例,寻找类的操作,第一节 时序图的概念,时序图描述了,对象之间传递消息的时间顺序,,它用来表示,用例的行为顺序,。,时序图的作用:,用对象间的交互来,描述用例,寻找类的操作,第二节 时序图的组成,一、对象,对象是类的实例,对象是通过类来创建的,我们可以把类看作是创建对象的模板。,1,、对象的符号,时序图中的每个对象显示在单独的列里。,匿名对象,2,、对象的左右排列位置,对象的左右顺序并不重要,但是为了图面的清晰整洁起见,通常应遵循以下两个原则:,(,1,)把,交互频繁,的对象尽可能地靠拢,(,2,)把,初始化,整个交互活动的对象(有时是一个参与者)放置在最左边,二、生命线,(,lifeline,),表示对象的生存时间。生命线从对象创建开始到对象销毁时终止。,对象在生命线上的两种状态:,休眠状态,激活状态,三、消息,1,、消息的概念,对象之间的,交互是通过互发消息,来实现的。一个对象可以,请求(要求)另一个对象做某件事件。,消息从源对象指向目标对象。消息一旦发送便,将控制从源,对象转移到目标对象,。,时序图中,消息的阅读顺序是严格自上而下的,2,、消息的类型与符号,简单消息(包括反身消息),同步,消息,异步,消息,返回消息(可选),实例:同步与异步,你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。,你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。,所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。,_!,(,1,)简单消息,简单消息是,没有区分同步和异步,的消息。,简单消息用从一对象的生命线指向另一个对象的生命线的直线箭头来表示,箭头上面标出消息名。,(,2,)同步消息,消息的发送者把进程控制传递给消息的接收者,然后,暂停活动,等待消息接收者的回应消息,。,你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。,(,3,)异步消息,消息的发送者将消息发送给消息的接收者后,不用等待回应的消息,即可开始另一个活动。,你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。,四、激活,1,、激活的概念,当一个对象没有被激活期时,该对象处于,休眠状态,,什么事都不做,但,它仍然存在,等待新的消息来激活它,。,当一条,消息被传递给对象的时候,,它会触发该对象的某个行为,这是就说该对象被激活了。,当一个对象处于激活期时,表明该,对象正在执行某个动作,。,2,、激活的符号,激活用一个细长的矩阵框(在生命线上)表示。,矩形框的高度表示对象执行一个操作所经历的时间,段,矩形的顶部表示动作的开始,底部表示动作的结束。,对象接收消息后可以由自己的某个操作来完成,也可以通过其他对象的操作来完成。,三个图有什么区别?,以,嵌套的形式,显示消息的序号:,选择菜单,【Tools-Options】,,弹出以下对话框,选择,Diagram,选项卡,选中,Hierarchical Message,第四节 时序图的,Rose,建模,一、新建一个时序图,方法,1,:,方法,2,:右击某个用例,如下图所示,这种便于将用例图与时序图衔接起来,二、重命名并双击该时序图,对象,消息,三、添加对象,方法,1,:利用已经存在(创建)的类,a.,从浏览器中将类,(,事先已创建,),拖到时序图中,b.,双击该对象以设置对象的名称,方法,2,:新建对象,然后给该对象指定一个类,a.,通过工具栏的对象按纽在时序图中添加一个对象,b.,双击对象,给该对象指定一个类或新建一个类,四、添加消息,1,、添加简单消息,a.,使用此按纽在两个对象之间拖动,b.,双击消息,在弹出的窗口中设置消息的名称,2,、添加同步消息,方法:双击简单消息,在弹出的对话框选择“,detail”,选项,卡,选中,”procedure a call”,3,、添加异步消息,方法:双击简单消息,在弹出的对话框选择“,detail”,选项,卡,选中,”Asynchronous”,4,、删除对象,方法,1,:在,”edit”,菜单中选择“,Delete from Model”,方法,2,:,ctrl+D,5,、时序图中的常用设置,以嵌套的形式显示消息的序号,取消或隐藏消息的编号,显示或隐藏激活条,(,1,)以,嵌套的形式,显示消息的序号,选择菜单,【Tools-Options】,,弹出以下对话框,选择,Diagram,选项卡,选中,Hierarchical Message,(,2,)取消或隐藏消息的编号,选择菜单,【Tools-Options】,,弹出以下对话框,选择,Diagram,选项卡,选中或取消,Sequence numbering,(,3,)显示或隐藏激活条,选择菜单,【Tools-Options】,,弹出以下对话框,选择,Diagram,选项卡,选中或取消,Focus of control,The End,
展开阅读全文