时序图和协作图PPT课件

上传人:工**** 文档编号:567675614 上传时间:2024-07-22 格式:PPT 页数:46 大小:229.50KB
返回 下载 相关 举报
时序图和协作图PPT课件_第1页
第1页 / 共46页
时序图和协作图PPT课件_第2页
第2页 / 共46页
时序图和协作图PPT课件_第3页
第3页 / 共46页
时序图和协作图PPT课件_第4页
第4页 / 共46页
时序图和协作图PPT课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《时序图和协作图PPT课件》由会员分享,可在线阅读,更多相关《时序图和协作图PPT课件(46页珍藏版)》请在金锄头文库上搜索。

1、第第7章章 时序图时序图v 系统或对象的系统或对象的动态模型动态模型主要包括主要包括状态模型状态模型和和交互模型交互模型。v 状态模型状态模型用来描述系统或对象的用来描述系统或对象的动态行为动态行为,用用状态图和活动图状态图和活动图进行描述,因此进行描述,因此状态图状态图和和活动图活动图又统称为又统称为行为图行为图;v 交互模型交互模型主要用来帮助人们观察和分析系主要用来帮助人们观察和分析系统的统的交互行为交互行为,用,用时序图和协作图时序图和协作图进行描述,进行描述,因此因此时序图时序图和和协作图协作图又统称为又统称为交互图交互图。 17.1 概述概述vv时序图(时序图(Sequence D

2、iagram)也被称为也被称为顺序图顺序图,是一种详细地,是一种详细地表示对象之间表示对象之间行为行为交互关系交互关系的图,的图,主要用来描述对象之间信主要用来描述对象之间信息交换时的息交换时的时间顺序时间顺序。因此可以清晰而直因此可以清晰而直观的表示对象之间的行为交互关系以及操观的表示对象之间的行为交互关系以及操作和消息的作和消息的时序关系时序关系。 2v时序图的主要用途时序图的主要用途把把用例用例表达的要求转化表达的要求转化为更进一步的精细表达。它还能用来记录为更进一步的精细表达。它还能用来记录一个存在系统的对象现在如何交互。一个存在系统的对象现在如何交互。 v用例常常可被细化为一个或多个

3、时序图用例常常可被细化为一个或多个时序图。v时序图的最大特点是:时序图的最大特点是:它它以二维的平面上以二维的平面上的一维来表示时间进度,在时间维上定义的一维来表示时间进度,在时间维上定义各个对象所执行的操作以及它们之间所传各个对象所执行的操作以及它们之间所传送的消息。送的消息。从而能够在逻辑上清晰的刻画从而能够在逻辑上清晰的刻画这些操作和消息的时序关系乃至因果关系。这些操作和消息的时序关系乃至因果关系。3简单时序图 47.2 时序图元素及表示法时序图元素及表示法 v在在UML中,时序图用一个二维图描述系统中,时序图用一个二维图描述系统中各个对象之间的交互关系。其中,中各个对象之间的交互关系。

4、其中,纵轴纵轴是时间轴,时间沿竖线向下延伸,由上至是时间轴,时间沿竖线向下延伸,由上至下表示时间的先后顺序。下表示时间的先后顺序。横轴横轴代表了参与代表了参与相互作用的对象。相互作用的对象。v当对象存在时,当对象存在时,生命线生命线由一条虚线表示;由一条虚线表示;当对象的过程处于激活状态时,生命线上当对象的过程处于激活状态时,生命线上用一个用一个激活条激活条表示。表示。消息消息用从一个对象到用从一个对象到另一个对象生命线的箭头表示,箭头以时另一个对象生命线的箭头表示,箭头以时间顺序从上到下排列。间顺序从上到下排列。 57.2 时序图元素及表示法时序图元素及表示法 v时序图有时序图有4种种基本图

5、形元素,包括:基本图形元素,包括:u对象(对象(object)u生命线(生命线(lifeline)u激活(激活(activation)u消息(消息(message) 61. 对象对象 v时序图中的对象在概念上和它在对象图中时序图中的对象在概念上和它在对象图中的定义是一致的,其图形表示也相同。的定义是一致的,其图形表示也相同。v每个对象显示在单独的列里,每个对象显示在单独的列里,用一个矩形用一个矩形框代表一个对象框代表一个对象,框内填写对象名和它所,框内填写对象名和它所属的类名,中间用一个冒号隔开。属的类名,中间用一个冒号隔开。 72.生命线生命线 v生命线是对象标识符在生命线是对象标识符在垂直

6、方向上拖出的一垂直方向上拖出的一条长虚线条长虚线,表示时序图中的,表示时序图中的对象在一段时间对象在一段时间内的存在内的存在。v每个对象每个对象的底部中心的位置的底部中心的位置都带有生命线都带有生命线。v生命线是一条时间线生命线是一条时间线,从时序图的顶部一直,从时序图的顶部一直延伸到底部,所用的时间取决于交互的持续延伸到底部,所用的时间取决于交互的持续时间。时间。83.激活激活 v当一条消息被传递给对象的时候,它会当一条消息被传递给对象的时候,它会触发触发该对该对象的某个行为,激活了该对象。象的某个行为,激活了该对象。v在在UML中,中,激活激活用一个在生命线上的用一个在生命线上的细长矩形框

7、细长矩形框表示。表示。v矩形本身被称为对象的矩形本身被称为对象的激活期激活期或或控制期控制期,对象就,对象就是在激活期顶端被激活的。是在激活期顶端被激活的。v激活期说明对象正在执行某个动作。激活期说明对象正在执行某个动作。当动作完成当动作完成后,此时对象的一个激活期也宣告结束。后,此时对象的一个激活期也宣告结束。 94.消息消息 v消息消息是用来说明时序图中不同活动是用来说明时序图中不同活动对象之间的通对象之间的通信信。v在时序图中,在时序图中,消息消息是由从一个对象的生命线指向是由从一个对象的生命线指向另一个对象的生命线的另一个对象的生命线的直线箭头直线箭头来表示的,箭头来表示的,箭头上面还

8、可以表明要发送的上面还可以表明要发送的消息名及序号消息名及序号。v在在各个对象之间消息的次序各个对象之间消息的次序由它们在垂直轴上的由它们在垂直轴上的时间顺序决定时间顺序决定。 10激活的应用激活示例11v当进行时序图建模时,所用到的消息主要当进行时序图建模时,所用到的消息主要包括以下几种类型:包括以下几种类型:u 简单消息(简单消息(Simple Message)u 同步消息(同步消息(Synchronous Message)u 异步消息(异步消息(Asynchronous Message)u 反身消息(反身消息(Message to Self)u 返回消息(返回消息(Return Mess

9、age)12(1)简单消息()简单消息(Simple Message)v简单消息是在同步和异步之间没有区别的简单消息是在同步和异步之间没有区别的消息。消息。v在在不知道消息的类型不知道消息的类型的情况下就的情况下就可以使用可以使用简单消息简单消息。v在对系统进行时序图建模时,可以在对系统进行时序图建模时,可以对所有对所有的消息都使用简单消息的消息都使用简单消息进行表示,然后再进行表示,然后再根据情况确定消息的类型。根据情况确定消息的类型。 13(2)同步消息()同步消息(Synchronous Message)v同步消息同步消息最常见的情况是调用,即最常见的情况是调用,即消息发消息发送者(对象

10、)在它的一个操作执行时调用送者(对象)在它的一个操作执行时调用接收者(对象)的一个操作接收者(对象)的一个操作,此时,此时消息名消息名称称通常就是通常就是被调用的操作名称被调用的操作名称。v当消息被处理完后,可以送回一个简单消当消息被处理完后,可以送回一个简单消息,或者是隐含的返回。息,或者是隐含的返回。 14(3)异步消息()异步消息(Asynchronous Message)v异步消息异步消息表示发送消息的对象不用等待回表示发送消息的对象不用等待回应的返回消息,即应的返回消息,即可开始另一个活动可开始另一个活动。v异步消息就是异步消息就是发送方发送方只负责将消息发送到只负责将消息发送到接收

11、方,至于接收方如何响应,发送方则接收方,至于接收方如何响应,发送方则不需要知道。对不需要知道。对接收方接收方来说,在接收到消来说,在接收到消息后它既可以对消息进行处理,也可以什息后它既可以对消息进行处理,也可以什么都不做。么都不做。 15(4)反身消息()反身消息(Message to Self)v反身消息是反身消息是一个对象将一个消息一个对象将一个消息发送给它发送给它自己的消息自己的消息。v如果一条消息只能作为反身消息,那么说如果一条消息只能作为反身消息,那么说明该操作只能由对象明该操作只能由对象自身的行为触发自身的行为触发。v这表明该操作可以被设置为这表明该操作可以被设置为private属

12、性,属性,只有属于同一个类的对象才能够调用它。只有属于同一个类的对象才能够调用它。16(5)返回消息()返回消息(Return Message)v返回消息是返回消息是表示控制流从过程调用后,处表示控制流从过程调用后,处理结果返回信息。理结果返回信息。v返回消息一般可以缺省返回消息一般可以缺省,隐含表示每一个,隐含表示每一个调用都有一个配对的调用返回。调用都有一个配对的调用返回。175.消息中的参数和序号消息中的参数和序号 v时序图中的消息除了具有消息名称之外还可以包含许时序图中的消息除了具有消息名称之外还可以包含许多附加的信息。多附加的信息。v消息可以与类中的操作等效,即消息可以带有可传递消息

13、可以与类中的操作等效,即消息可以带有可传递到被调用对象的参数列表,并且最多包含一个返回给到被调用对象的参数列表,并且最多包含一个返回给调用对象的返回值。调用对象的返回值。v当时序图中的消息比较多时,还可以通过对消息前置当时序图中的消息比较多时,还可以通过对消息前置序号表达式的方式指定消息的顺序。序号表达式的方式指定消息的顺序。v消息内容标识的格式为:消息内容标识的格式为: 序号序号监护条件监护条件*重复次数重复次数返回值表返回值表:=操作名操作名(参数表参数表) 表示消息在对象间交互的时间顺序号。一般表示消息在对象间交互的时间顺序号。一般用正整数用正整数1、2、3表示。嵌套消息用十进制表示。嵌

14、套消息用十进制数数1.1、1.2、2.1、2.2表示。序号在时序图中表示。序号在时序图中是可以默认的,但在协作图中是必不可少的。是可以默认的,但在协作图中是必不可少的。 可选项,以布尔表达式形式表示。满足监可选项,以布尔表达式形式表示。满足监护条件时才能发送消息。监护条件默认时,表示护条件时才能发送消息。监护条件默认时,表示消息无条件发送。消息无条件发送。 可选项,表示消息重复发送的次数。只有可选项,表示消息重复发送的次数。只有“*”号,无号,无重复次数重复次数时,表示消息多次发送,时,表示消息多次发送,次数未定。此项默认时,表示只发送一次。次数未定。此项默认时,表示只发送一次。 以以“,”区

15、分的名称列表,分别表示完成区分的名称列表,分别表示完成指定操作后返回的系列值。可默认。指定操作后返回的系列值。可默认。接收该消息的对象类角色中的操作名。接收该消息的对象类角色中的操作名。 参数表是以参数表是以“,”区分的实参表,实参的区分的实参表,实参的个数、次序、类型必须与该操作的形参一致。个数、次序、类型必须与该操作的形参一致。186.对象的创建和撤销对象的创建和撤销 v对象的创建有几种情况:对象的创建有几种情况:v时序图中的时序图中的对象的默认位置是在图的顶部对象的默认位置是在图的顶部,如果对象在这个位置上,那么说明在发送如果对象在这个位置上,那么说明在发送消息时,该对象就已经存在了;消

16、息时,该对象就已经存在了;v如果对象是如果对象是在执行的过程中创建的在执行的过程中创建的,那么,那么它的位置应该它的位置应该处在图的中间部分处在图的中间部分。 19v对象的创建有两种方法:对象的创建有两种方法: 20v在新创建的对象时,都可以发送在新创建的对象时,都可以发送“destroy”消息消息来撤销新创建对象。来撤销新创建对象。v要想说明某个对象被撤销,需要在被撤销对象的要想说明某个对象被撤销,需要在被撤销对象的生命线末端放一个生命线末端放一个“”符号进行标识。符号进行标识。 217.3 时序图建模时序图建模 v对系统动态行为建模的过程中,当强调按对系统动态行为建模的过程中,当强调按时间

17、展开信息的传送时,一般使用时序图时间展开信息的传送时,一般使用时序图建模技术。建模技术。v一个单独的时序图只能显示一个控制流。一个单独的时序图只能显示一个控制流。22v使用时序图建模时,可以参考以下策略:使用时序图建模时,可以参考以下策略:设置交互的语境设置交互的语境,这些语境可以是系统、子系统、,这些语境可以是系统、子系统、类、用例和协作的一个脚本。类、用例和协作的一个脚本。识别对象识别对象在交互语境中所扮演的角色,根据对象在交互语境中所扮演的角色,根据对象的重要性及相互关系,将其的重要性及相互关系,将其从左至右放置在时序从左至右放置在时序图的顶部图的顶部。设置每个对象的生命线设置每个对象的

18、生命线。通常情况下,对象存在。通常情况下,对象存在于整个交互过程中,但它们也可以在交互过程中于整个交互过程中,但它们也可以在交互过程中创建和撤销。创建和撤销。23标明消息。标明消息。从引发某个消息开始,从引发某个消息开始,在生命线之在生命线之间画出从顶到底依次展开的消息间画出从顶到底依次展开的消息,显示每个消,显示每个消息的内容标识。息的内容标识。设置对象的激活期设置对象的激活期,可视化消息的嵌套或可视,可视化消息的嵌套或可视化实际计算发生时的时间点。化实际计算发生时的时间点。如果需要设置时间或空间的约束,可以为每个如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。消息附上

19、合适的时间和空间约束。如果需要形式化的说明某控制流,可以为每个如果需要形式化的说明某控制流,可以为每个消息附上前置和后置条件。消息附上前置和后置条件。247.4 时序图建模实例时序图建模实例 例:例:例:例:图书管理系统时序图建模图书管理系统时序图建模图书管理系统时序图建模图书管理系统时序图建模 1. 1.添加借阅者添加借阅者添加借阅者添加借阅者 添加借阅者的过程为:添加借阅者的过程为:系统管理员系统管理员选择菜单项选择菜单项“添加借阅者添加借阅者”,弹出,弹出AddBorrowerDialog对话框。对话框。系统管理员可以在该对话框中输入借阅者的信息并系统管理员可以在该对话框中输入借阅者的信

20、息并提交,随后系统对管理员所提交的借阅者信息进行提交,随后系统对管理员所提交的借阅者信息进行验证,查看输入的借阅证号是否已经存在于系统中,验证,查看输入的借阅证号是否已经存在于系统中,若不存在,则为若不存在,则为借阅者借阅者创建一个账户,并存储借阅创建一个账户,并存储借阅者信息。者信息。 25262.修改借阅者修改借阅者273.删除借阅者删除借阅者4.添加书目添加书目5.修改书目修改书目6.删除书目删除书目7.添加图书添加图书8.删除图书删除图书9.添加管理员添加管理员 28第第8 8章章 协作图协作图v 时序图时序图和和协作图协作图都可以用来描述系统对象之间的都可以用来描述系统对象之间的交互

21、。交互。v 时序图时序图强调一组对象之间交互的强调一组对象之间交互的时间顺序时间顺序。v 协作图协作图则是描述组成系统的各个成分之间如何协则是描述组成系统的各个成分之间如何协作来实现系统的作来实现系统的交互行为交互行为。 298.1 8.1 概述概述 v协作图(协作图(Collaboration Diagram)是)是UML 1.x版本版本中的名称。在当时的认识中,认为它就是描述一个中的名称。在当时的认识中,认为它就是描述一个协作的,所以称之为协作的,所以称之为协作图协作图。vUML 2.0重新定义了协作的概念,并认为所谓协作重新定义了协作的概念,并认为所谓协作图与协作概念实际上没有什么必然联

22、系,为了避免图与协作概念实际上没有什么必然联系,为了避免误会,所以将它改名为误会,所以将它改名为通信图通信图(Communication Diagram)。因此,在很多参考书中使用通信图而)。因此,在很多参考书中使用通信图而不是协作图进行说明。不是协作图进行说明。 30v 时序图时序图强调的是强调的是交互的时间顺序交互的时间顺序;而;而协作图协作图强强调的是调的是交互的情况和参与交互的对象的整体组织交互的情况和参与交互的对象的整体组织。v从另一个角度来看,从另一个角度来看,时序图时序图按照按照时间顺序时间顺序布局;布局;而而协作图协作图按照按照空间组织空间组织布局。布局。 31简单协作图 32

23、8.2 8.2 协作图元素及表示法协作图元素及表示法 构成协作图的图形元素主要有构成协作图的图形元素主要有3种:种:对象(对象(object)链接(链接(link)消息(消息(message) 331.对象对象 v协作图中的对象与时序图中的对象类似,协作图中的对象与时序图中的对象类似,用用一个矩形框代表一个对象一个矩形框代表一个对象,框内填写对象名,框内填写对象名和它所属的类名,中间用一个冒号隔开。和它所属的类名,中间用一个冒号隔开。v协作图中协作图中无法表示对象的创建和撤销无法表示对象的创建和撤销,所以,所以对象在协作图中的对象在协作图中的位置没有限制位置没有限制。342.链接链接 v 链接

24、链接是两个对象间的连接。是两个对象间的连接。v它的图形符号也是用一条连接在两个对象间它的图形符号也是用一条连接在两个对象间的的实线实线表示。在连接线上可以标明对象名。表示。在连接线上可以标明对象名。 353.消息消息 v消息代表协作图中对象间通过链接发送的消消息代表协作图中对象间通过链接发送的消息。息。v消息由一个对象发出,由消息所指的对象接消息由一个对象发出,由消息所指的对象接收。形成消息流。收。形成消息流。v消息流上标有消息的序号和对象间发送的消消息流上标有消息的序号和对象间发送的消息,消息的序号表明了消息发送的先后顺序。息,消息的序号表明了消息发送的先后顺序。v一条消息会触发接收对象中的

25、一项操作。一条消息会触发接收对象中的一项操作。 36对象对象消息消息链接链接37协作图与时序图的互换(协作图与时序图的互换(F5) v协作图和时序图都是表示对相间的交互作协作图和时序图都是表示对相间的交互作用,只是它们的侧重点有所不同。用,只是它们的侧重点有所不同。v协作图和时序图在语义上是等价的,它们协作图和时序图在语义上是等价的,它们可以从一种形式的图转换成另一种形式的可以从一种形式的图转换成另一种形式的图,而不丢失任何消息。图,而不丢失任何消息。 38例:例:以图书管理系统中借阅图书为例:以图书管理系统中借阅图书为例: 时序图与协作图之间转换。时序图与协作图之间转换。F5 或在或在Rat

26、ional Rose中,在中,在 Browse菜单下菜单下选择:选择:Create Collaboration Diagram或或Create Sequence Diagram(1)根据时序图信息创建协作图)根据时序图信息创建协作图(2)根据协作图信息创建时序图)根据协作图信息创建时序图394041在使用协作图建模时,可以参考以下步骤:在使用协作图建模时,可以参考以下步骤:在使用协作图建模时,可以参考以下步骤:在使用协作图建模时,可以参考以下步骤:设置交互的语境,这些语境可以是系统、子系统、类、设置交互的语境,这些语境可以是系统、子系统、类、用例或其脚本。用例或其脚本。识别对象在交互语境中所扮

27、演的角色,将这些对象以节识别对象在交互语境中所扮演的角色,将这些对象以节点的形式放置在协作图中。点的形式放置在协作图中。根据对象间的交互关系建立对象之间的链接。根据对象间的交互关系建立对象之间的链接。从引起交互的消息开始,按消息的顺序依次将后续的消从引起交互的消息开始,按消息的顺序依次将后续的消息添加在适当的链接上。息添加在适当的链接上。如果需要设置时间或空间的约束,可以为每个消息附上如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。合适的时间和空间约束。如果需要形式化的说明某控制流,可以为每个消息附上如果需要形式化的说明某控制流,可以为每个消息附上前置和后置条件。前置和后

28、置条件。 8.4 协作图建模协作图建模 428.5 协作图建模实例协作图建模实例例:例:例:例:图书管理系统时序图建模(转化为协作图)图书管理系统时序图建模(转化为协作图)图书管理系统时序图建模(转化为协作图)图书管理系统时序图建模(转化为协作图) 1. 1.添加借阅者添加借阅者添加借阅者添加借阅者 添加借阅者的过程为:添加借阅者的过程为:系统管理员选择菜单系统管理员选择菜单项项“添加借阅者添加借阅者”,弹出,弹出AddBorrowerDialog对对话框。系统管理员可以在该对话框中输入借阅者的话框。系统管理员可以在该对话框中输入借阅者的信息并提交,随后系统对管理员所提交的借阅者信信息并提交,随后系统对管理员所提交的借阅者信息进行验证,查看输入的借阅证号是否已经存在于息进行验证,查看输入的借阅证号是否已经存在于系统中,若不存在,则为借阅者创建一个账户,并系统中,若不存在,则为借阅者创建一个账户,并存储借阅者信息。存储借阅者信息。 4344452.修改借阅者修改借阅者 46

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号