您好,欢迎访问三七文档
第10章时序图10.1概述10.2时序图的组成10.3对象的创建和撤销10.4时序图建模技术10.5实例-2-madebycnHexu第10章时序图在描述对象间的交互时,一般使用时序图与协作图,它们用来描述对象以及对象间的消息。时序图是以时间为序的表示方法,主要用来描述对象间的时间顺序。10.1概述时序图是强调消息时间顺序的交互图。时序图描述了对象之间传送消息的时间顺序,用来表示用例中的行为顺序。UML中,时序图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在协作中各独立的对象。-3-madebycnHexu第10章时序图10.1概述时序图示例:-4-madebycnHexu第10章时序图10.2时序图的组成时序图包含了4个元素对象(Object)生命线(Lifeline)消息(Message)激活(Activation)-5-madebycnHexu第10章时序图10.2.1对象时序图中对象的符号和对象图中对象所用的符号一样。对象的位置:将对象置于时序图的顶部意味着在交互开始的时候对象就已经存在了;如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的。-6-madebycnHexu第10章时序图10.2.2生命线生命线是一条垂直的虚线,表示时序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从时序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图标以及图标下面的生命线。-7-madebycnHexu第10章时序图10.2.3消息消息定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。消息序列的两种表示:时序图,强调消息的时间顺序;协作图,强调交换消息的对象间的关系。消息是两个对象之间的单路通信,从发送方到接收方的控制信息流。消息可以用于在对象间传递参数。消息可以是信号,也可以是调用。在UML中,消息使用箭头来表示,箭头的类型表示了消息的类型。-8-madebycnHexu第10章时序图-9-madebycnHexu第10章时序图10.2.4激活时序图可以描述对象的激活与去激活。激活表示该对象被占用以完成某个任务;去激活指的则是对象处于空闲状态、在等待消息。在UML中,为了表示对象是激活的,可以将该对象的生命线拓宽成为矩形。其中的矩形称为激活条或控制期,对象就是在激活条的顶部被激活的,对象在完成自己的工作后被去激活。-10-madebycnHexu第10章时序图10.3对象的创建和撤销如果对象位于时序图的顶部,说明在交互开始之前该对象已经存在了。如果对象是在交互的过程中创建的,那么它应当位于图的中间部分。对象在创建消息发生之后才能存在,对象的生命线也是在创建消息之后才存在的。-11-madebycnHexu第10章时序图10.3对象的创建和撤销创建对象的两种表示方法:-12-madebycnHexu第10章时序图10.3对象的创建和撤销如果要撤销一个对象,只要在其生命线终止点放置一个“X”符号即可,该点通常是对删除或取消消息的回应。-13-madebycnHexu第10章时序图10.4时序图建模技术设置交互的语境。通过识别对象在交互中扮演的角色,设置交互的场景。为每个对象设置生命线。从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。-14-madebycnHexu第10章时序图10.5实例——图书馆管理系统的时序图10.5.1使用RationalRose绘制时序图的步骤1.创建时序图2.时序图工具栏按钮简介3.添加对象4.添加消息10.5.2图书馆管理系统的时序图1.系统管理员添加书籍的时序图2.图书管理员处理借书的时序图(不包括预留书籍的情况)3.系统管理员删除书目的时序图4.借阅者预留书籍的时序图-15-madebycnHexu第10章时序图:Item:Administrator:MaintenanceWindow:Title1:additem()4:create(Integer,Title)Checkifcorrespondingtitleexist2:find(String)3:returntrue-16-madebycnHexu第10章时序图-17-madebycnHexu第10章时序图-18-madebycnHexu第10章时序图theBorrower:BorrowerWebApplicationtheTitle:Title1:Login2:find(String)3:Returntrue4:reserve()
本文标题:第10章 时序图
链接地址:https://www.777doc.com/doc-3369549 .html