系统分析设计实验05交互图(时序图协作图)_May5
软件工程---交互建模之交互图,顺序图与协作图
2.5 消息
格式
[前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
带返回值的嵌套消息
[x<0] 4: invert(x, color) 条件消息
3.1 *[x = 1..10] : update() 循环消息
[ 条件子句 ] 条件子句一般用来表示分枝而不是用作守卫条件[x<0]是两个可
以用来分枝的条件子句这两个条件只能有一个为真因而只有一 个分枝被执行(即发送与分枝有关的消息) 条件子句和循环子句都可以用伪代码或真正的编程语言来表示 序列表达式用冒号结束
返回值、消息名和参数表
返回值表示一个操作调用(即一个消息)的结 果
顺序图中消息编号可显示,也可不显示。 协作图中必须显示Procedure Call) 异步(Asynchronous) 返回(Return) 自关联消息(Self Message)
2.5 消息
UML三种消息:
调用(Procedure Call) 发送者把消息发送后,等待直到接收者返回控制, 可以表示同步(synchronous message); 实心箭头符号
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时 间内的存在
垂直的虚线 如果对象生命期结束, 则用注销符号表示 对象默认的位置在图 顶部,表示对象在交互 之前已经存在 如果是在交互过程中 由另外的对象所创建, 则位于图的中间某处。
顺序图
面向时间描述对象交互的图
协作图
时序图-协作图-详解
动态图概念:从静态图中抽取瞬间值的变化描述系统随时间变化的行为,动态图包括交互图活动图状态图,这篇博客研究交互图包括时序图和协作图;-- 时序图:显示对象之间的关系,强调对象之间消息的时间顺序,显示对象之间的交互;--协作图:描述对象之间的交互关系;~一.时序图(Sequenee Diagram)1. 时序图的概念时序图定义:描述了对象之间传递消息的时间顺序,用来表示用例中的行为顺序,是强调消息时间顺序的交互图;时序图描述的事物:时序图描述系统中类和类之间的交互,将这些交互建模成消息交换,时序图描述了类以及类之间的交换以完成的期望行为的消息,时序图中每条消息都代表了类的一个操作或者引起状态机改变的触发事件;时序图表示:参与交互的对象在时序图顶端水平排列,每个对象的底端绘制了一条垂直虚线,对象A像对象B发送消息,用一条带箭头的实线表示,该实线起始于对象A底部的虚线,终止于对象B底部的虚线;实线箭头水平放置,越靠近顶端越早被发送时序图轨迹:时序图提供了随时间推移的,清晰的可视化的轨迹;2. 时序图组成时序图组成:时序图包括四个元素对象(Object),生命线(Lifeline) ,激活(Activation) ,消息(Message)(1)对象(Object)对象:时序图中的对象在交互中扮演的角色就是对象;对象的符号:时序图中的对象与对象图中的表示方法一样,使用矩形将对象名称包含起来,并且对象名称下有下划线对象创建时机:对象可以在交互开始的时候创建,也可以在交互过程中进行创建;--处于顶部:如果对象的位置在时序图顶部,说明在交互开始的时候对象就已经存在了;--不在顶部:如果对象的位置不在顶部,那么对象在交互过程中创建的;(2)生命线(Lifeli ne)生命线:生命线是一条垂直的虚线,这条虚线表示对象的存在,在时序图中,每个对象的底部都有生命线生命线作用:生命线是一个时间线,从时序图顶部一直到底部都存在,其长度取决于交互的时间;对象的生命线:对象与生命线结合在一起就是对象的生命线,这个概念包含对象图标以及对象下面的生命线图标如上图;⑶激活(Activati on)LilIii激活(Activation) :代表时序图中对象执行一项操作的时期,激活期可以理解为语义中{}中的内容,表示该对象被占用以完成某个任务去激活(Deactivation) :指对象处于空闲状态,在等待消息激活这个对象;激活的表示:当对象处于激活时期,生命线可以拓宽为矩形,这个矩形条成为激活条;激活去激活的时机:--激活:对象激活是在激活条的顶部激活;--去激活:激活条的底部去激活,通常发生在一个消息离开对象生命线;⑷消息消息概念:定义交互和协作中交换信息的类,对对象之间的通信内容建模;消息动作:--动作种类:消息允许在实体间传递信息(传递参数),允许实体请求其它服务,对象之间通过发送和接收消息进行通信;--产生结果:消息可以触发操作,唤起信号,或使目标对象创建或销毁;消息的异步和同步通信:--异步通信:消息是信号的时候,发送信号之后,等待对方触发相应方法,这是明确的命名的对象间的异步通信;--同步通信:直接调用对象的方法,执行方法返回结果,这种具有返回控制机制的操作是同步通信;时序图和协作图中消息的区别:时序图中的消息强调顺序,协作图中的消息强调交换消息的对象间的关系;消息类型:两个对象间绘制消息3. 时序图示例示例简介:--使用场景:汽车租赁公司;-- 使用的对象:Customer ( 客户),Worker ( 工作人员),Order ( 请求),Record ( 记录),Car ( 汽车); --工作流程:①客户 向工人 提出租车要求,②工人 检查 请求,③客户 付款,④工人 填写 记录,⑤工人 取车;时序图:4.对象的创建和撤销对象位置:--顶部:时序图中对象的默认位置是在时序图顶部,这表明对象在交互开始之间就已经存在 --中间:如果对象在时序图中间部分,说明对象时在交互过程中创建的; 交互过程中创建对象的方法:--消息指向对象:消息是构造方法,箭头指向对象所代表的的矩形;过程调用中返回的消息E)两个对象之间的过程调用两个对象之间的异步消息绘制反身消息d!:□3 ok.. ...... ->I ... .....U .....5 wrrteReGQird()6 gfllCenf)CUSM men Gustomer--消息指向激活条:消息是构造方法,箭头指向对象下面的激活条撤销对象:如果想要在时序图中撤销一个对象,因为如果同时有几个对象,如果不进行特殊操作其生命周期将会一样长--效果图:下图中将Customer 和Order对象撤消了,因为它们基本没有参与后期的交互口njgr 砒record Record[]~ru■: 2 chackO,― __________-> 1 i: a■•'il J'n •>a »■a aii 11a Ha *!tl "a *■a »J "3: nkA\*y[)u 5 writeRacorci:]X■;£ g机盹* :• ■iu1 日(hew: OrdBr(J5.时序图建模技术时序图使用时机:对动态行为建模,强调时间展开信息的次序的时候,使用时序图;时序图管理策略单一控制流:一个单独的时序图只能显示一个控制流--多个时序图:完整的控制流很复杂,可以绘制多个时序图,一个主干时序图,多个分支时序图,使用包对这些时序图进行管理 时序图建模策略:--设置交互语境:交互所在的环境,包括哪些对象,属于什么系统,子系统,相关的操作类用例等; --对象排列顺序:根据对象重要性,从左到右排列在时序图中;--对象生命线:对象通常存在于交互的整个过程,也可以在交互过程中被创建和撤销;--消息排列:引发交互信息之后,消息按照时间顺序从上向下画出,先发出的消息 在后发出的消息上面; --激活期设置:可以将实际操作发生的时间点 消息 明确的显示出来;--时间空间约束:每个消息都可以附加合适的时间 和空间约束;--前置后置条件:每条消息可以附加前置 或 后置 条件;(1) 创建时序图新建时序图:在 视图浏览器 中 右键点击 Logical View (逻辑视图),选择New (新建)-> Sequence Diagram (6. Ratio nal Rose时序图操作时序图);添加对象:时序图中有两种对象,一种是参与者Actor, 一种是普通的对象;--参与者对象:在类图中创建一个对象,将其Stereotype 修改为Actor, 就变成了参与者,然后在视图浏览器中将这个元素拖到时序图中即可;(luiiti tied)三 口 Use Cast Vi 關Main 三AsEociati&ns竝血J B帼 $¥.*■rj艮發 UnitsAs 5 0 亡IMIEI帼 HerD i agr SJB 3 Component View €Jl Main Il^ploymeJit Vi &w Modal FropsrtiesCl BS EClass ytility tfse Case [nt trftce :F&cktg«CI BSS Ci agrw Use Case Dxa ■耳raai Ih 电虽Ssq.uftnc« Di Mchart Vi agramActivi t^- DiagramFilfeBL(2)添加对象鞍务人员设置对象属性:双击对象,在弹岀的General 对话框中修改对象属性--Name :对象名称,不输入也可以; --Document : 描述对象的文档;載务人员-- 普通对象 直接在时序图中点击按钮,在界面中创建对象--两种对象效果 学位管理nu ....null:对象保存在数据库或其它形式的永久存储体中 对象保存在内存中知道程序终止; :短时间内保存在内存中;⑶添加消息消息作用:消息用两个对象生命线之间的箭头表示,一个对象可以通过消息请求另一个对象执行某个操作 增加消息:--发送消息:将从发送消息对象的生命线拖到接收消息对象的生命线上;-- 显示取消编号和激活条:菜单栏Tools -> Options -> Diagram 选项卡,Sequence numbering 是消消息编号 of control 显示激活条;设置对象持续性--持续(Persistent) --静态(Static) --临时仃 ransient)Focus协作图(Collaboration Diagram)1. 协作图概念协作图:协作图是一种类图,包含类元角色和关联角色,不仅仅是类元和关联;--强调:强调参与交互的各个对象的结构信息和组织;协作图建模对象:对有交互的对象和这些对象之间的关系建模,不参与交互的对象及它们的关系忽略协作图内容:协作图中表现了类操作中用到的参数,布局变量,操作中的永久链;对象图扩展:协作图可以看做对象图的扩展,该图展示了对象之间的关联,显示岀了对象间的消息传递2. 协作图内容(1) 对象(Object)对象:代表协作图交互中的主体,和时序图中对象的概念类似;协作图和时序图中对象区别:协作图中对象无法创建和撤销,因此对象在协作图的位置没有限制(2) 链(Link)链的表示:链的符号和对象图中链所用的符号是一样的,用来连接两个类角色的实线;/)-- :创建对象之间的通信路径;-- :显示对象可以调用自己的属性;在两个对象之间或一个对象本身增加消息在两个对象之间或一个对象本身从反方向增加消息-- :显示两个对象之间的信息流;-- :在反方向显示两个对象之间的信息流;路径构造性:对象之间的连接可以由链末尾附加的路径构造型表示--添加方式:双击链,选择visibility 属性即可;⑶消息(Message)消息概念:对象间通过链接发送的就是消息;--消息传递方向:对象之间的箭头表明对象间交换的消息流,一个对象发出消息,链指向的对象接收消息,链用于实现消息传输--消息标识:消息流标有消息的序列号和对象间发送的消息名称;--消息结果:每条消息否会触发接收对象的一系列操作;消息序号:协作图与时序图中的消息类型是一样的,为了表明消息顺序,需要为消息添加序号;3. 协作图示例示例简介:汽车租赁流程;-- 涉及到的对象:Customer (客户),Order (订单),Worker (工人),Record (记录),Car (汽车);--流程简介:客户写好订单,工人核对订单,核对后订单存在,允许客户取车,工人填写记录,并将车取岀;114. 协作图建模策略协作图使用场景:对系统动态行为建模,按组织对控制流建模使用协作图;协作图管理策略:--单个协作图:单个协作图只能显示一个控制流;--多个协作图:描述复杂系统的时候,需要许多协作图共同描述,一些图是主干协作图,还有许多分支路径的控制流的协作图,使用包管理这些协作图;协作图的建模策略:--设置语境:设置协作图所在的环境,如系统,子系统,类,操作,用例或用例脚本;--对象顶点:识别对象在协作图中扮演的角色,协作图中,对象是图的顶点;--变化修改:每个对象最初都会设置初始值,如果期间对象发生了变化,修改的方式是:协作图中放置一个复制对象,更新复制对象,同过后造型become copy 连接二者;--确定链接顺序:先确定关联链接,哪些对象相互链接;在确定消息链接,路径构造型等表示对象间如何连接;--消息顺序:从引起交互的消息开始编号,将编号信息和描述信息附到链接上,描述了对象之间的传递次序;--时间空间约束:可以为每个消息附加时间和空间上的约束;--前置后置条件:可以为每个消息附加前置和后置条件;5. Rati onal Rose 绘制协作图13(1)创建协作图创建流程:视图浏览器-> Logical View ( 逻辑视图)-> New ( 新建)-> Collaboration Diagram (协作图);链)Cunt i tied ) E Cl Use Case Vi ew 里 Main 玄 Asscci at i ons o Ma: Cor IS 固 Niodal Froparti es ClassClass Utility Use Cas€InterfaceFackAg®Class Di agram ; Sequence Diagram Statfrchar t Di agr un Activi tjr Diagram Die URL(2) 添加对象协作图中添加对象:与时序图基本类似; --添加参与者对象:在类图中创建好类,然后将类型设置为Actor, 然后在视图浏览器中将 Actor拖到协作图中--添加普通对象:直接点击工具栏中的图标设置即可 ; ⑶添加消息添加对象间消息:在两个对象之间添加消息--添加消息:使用在通信路径上添加消息--设置消息名称:双击消息箭头,可以在弹岀的对话框中修改消息名称(4) 添加数据流数据流概念:数据流是一个对象向另一个对象发送消息返回的消息;--使用场景:没必要在每个消息上都加上数据流,只要在中药消息上附加数据流即可;I Q Q数据流添加方法:选择或按钮,单击要返回的数据消息,数据流箭头就会被添加到这个消息上-- 建立通信路径使用/I连接两个对象,建立两个对象间的通信路径添加反身消息:选择象添加消息;QI点击对象,就会岀现指向对象本身的路径可以为该对选择点击这个指向本身的路径6.时序图与协作图转换各自侧重点:时序图和协作图是等价的,可以任意转换,而不丢失信息--时序图:描述交互过程中的时间顺序,没有明确表达对象间关系;--协作图:描述了对象间的关系,但是时间顺序必须从消息的序号中获取转换示例--场景介绍:学生毕业管理--对象介绍:教务人员,学位评价,成绩管理,奖惩管理,信息打印;--控制流介绍:①教务人员输入学号进入学位评价模块,②学位评价模块会向成绩管理模块查询成绩,③向奖惩管理模块询奖惩记录,④学位评价模块会将结果打印到信息打印模块,⑤信息打印模块将结果返回给教务人员;时序图151学号协作图学位萱理nu::成绩管理2学号---------- >奖焦官理nu::3成绩6结果信息打印17信息打学位管印w ------ 理6■结果7.时序图和协作图对比时序图和协作图 共同点:都是有 消息和类角色组成 接口方法由消息发送对象触发 --支持消息:时序图和协作图都支持消息时序图和协作不同点--衡量工具 时序图和协作图可以作为衡量系统耦合性的工具耦合性就是系统中模型之间的依赖性两个模型之间的依赖关系通过查看两个模型之间的消息数量和类型就可以看岀,消息交互少的耦合性高;--规定责任 时序图和协作图 都规定了消息发送对象 和消息接收对象 的责任,每个接收对象都有消息对应的接口这个--对象创建撤销侧重点:时序图侧重描述对象的创建和撤销,新创建的对象放在对象生命线上对应的时间点,撤销的对象在结束的地方放一个X表示该对象不能再继续使用;协作图中创建撤销的概念不存在,对象时始终存在的,只能通过消息描述或约束来说明对象的创建和撤销;--链接侧重点:时序图中的链没有表示岀来,可以随意绘制消息,有些逻辑交互可能不会发生;协作图的消息是映射在链上的,消息和链平行放置,如果想要通过消息查看对象之间的关联使用协作图最好;--激活和去激活:时序图表现有激活和去激活,协作图上没有时间概念的描述,无法清晰地表示对象的激活和去激活;实例-图书管理系统1. 管理员为图书添加类别控制流说明:-- 涉及到的对象:Admin (管理员),BooklnfoWindow (图书信息窗口),Tittle (图书类别),Item (图书条目);--流程:管理员查询图书信息窗口,查看有没有相应的图书类别,如果有插入该图书条目;时序图:192. 管理员删除图书协作图BooktafaVViidoTittleVVnu::nu ........ .1添加图书2查询粪别 3类别有在 < .控制流说明:-- 涉及到的对象:Admin (管理员),BooklnfoWindow (图书信息窗口), Tittle (图书类别),ltem(图书条目); --控制流程:管理员登陆图书信息窗口删除图书,查表图书类别是否存在,查找图书是否存在,如果都返回true, 删除图书条目;时序图:Admin菅理员Be oh Info'//in dowTjttb协作图:AdminWJf 员3. 管理员借书时序图nu';nu. ................................... 1刪除團书 ------------ >nu2查找圈书类别丨 -------------------------------- ---- -------------- --- ------------------------3存在< ................ 4查找由书条目I~~i~■5存在< --------------- -:---- G删除歯书衆目nu……r 1睛除图毛Booklnfo ItemWindow控制流说明:21-- 参与的对象:Admin ( 管理员),BooklnfoWindow (图书信息窗口 ), Tittle ( 图书类别),Borrower ( 借阅者),Loan(借书记录),item ( 图书条目); --流程:管理员登陆图书信息窗口,查询图书类别是否存在,查询图书条目是否存在,查询借阅者是否存在,创建借书 记录; 时序图:3存在 < -----------5存在7有在3创建倍阅记录:协作图 Booklnfo'A'indcTit" BorrowerLoan□ □ 0 t □1借书请或 2査询娄别------------ - -----------。
时序图、活动图、状态图、协作图的区别
时序图、活动图、状态图、协作图的区别时序图时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.ATM 用户成功登陆的时序图时序图中的基本概念对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线.消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.激活: 时序图可以描述对象的激活和钝化. 激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化.对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.练习:孙中山的……活动图在 UML 中, 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.活动图中的基本概念动作状态: 原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变. 在 UML 中动作状态用圆角矩形 表示, 动作状态所表示的动作写在圆角矩形内部.分支与合并: 分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和合并表达.在活动图中, 分支用空心小菱形 表示. 分支包括一个入转换和两个带条件的出转换, 出转换的条件应该是互斥的, 须保证只有一条出转换能够被触发. 合并包含两个带条件的入转换和一个出转换.状态图状态图: 通过建立对象的生存周期模型来描述对象随时间变化的动态行为.状态图中的基本概念状态: 用圆角矩形表示. 状态名称表示状态的名字, 通常用字符串表示. 一个状态的名称在状态图所在的上下文中应该是唯一的.转换: 用带箭头的直线表示. 一端连着源状态, 一端连着目标状态.初始状态: 每个状态图都有一个初始状态. 此状态代表状态图的起始位置. 初始状态只能作为转换的源, 不能作为转换的目标, 并且在状态图中只能有一个. 初始状态用一个实心圆表示.终止状态: 模型元素的最后状态, 是一个状态图的终止点. 终止状态在一个状态图中可以有多个.协作图协作图(也叫合作图)是一种交互图.时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。
第5章 交互图
Design阶段
交互图(interaction diagram)
在对软件密集型(software-intensive)系统建模时,如 何对它的动态方面建模?怎样才能可视化一个运行 的系统? 交互图(interaction diagram)是一种详细表示对象 之间以及对象与系统外部的参与者(actor)之间动态 联系的图形文档。
14
调用消息(Procedure call)。调用消息的发送者把 控制传递给消息的接收者,然后停止活动,等待消 息接收者放弃或返回控制。 调用消息也可以用来表示同步的意义。
例:调用消息的表示符号。
说明: 1. 调用消息的接收者必须是一个被动对象(passive object), 即它是一个需要通过消息驱动才能执行动作的对象。 2. 一般调用消息必有一个配对的返回消息。
[x < 0] 4: invert (x, color) 条件消息 3.1*: update ( ) 循环消息
A3,B4/ C2: copy(a,b)
线程间同步
21
消息的语法格式: [predecessor] [guard-condition] [sequenceexpression] [return-value :=] message-name ( [argumentlist] )
协作(Collaboration)图
协作图包含一组对象和链(link),用于描述系统的行 为是如何由系统的成分协作实现的。 A collaboration diagram is a diagram that shows interactions organized around roles—that is, slots for instances and their links within a collaboration.
Chapter 06-交互图(顺序图与协作图)共48页文档
层次编号的顺序图示例
提示
Order类的
dispath () 方法,作用 是根据供应 商户的不同 将一个订单 分拆到多个 送货单中
电子商务网站 “将订单生成送货单”用例的顺序图
消息类型
调用(call),调用某个对象的操作
格式:“对象名.成员方法”
顺序图中的循环和分支
其它操作符
break 定义含有监护条件的片段,若条 件为“真”执行子片段,而不执行 子片段后面的其它交互;若条件 为“假”,那么就按正常流程执行
critical critical表示子片段是“临界 区域”,区域中生命线上的 事件序列不能和其他区域 中的任何其他事件交错 通常表示一个原子性的连 续操作,例如事务性操作
顺序图中的循环和分支
控制器
发动机
其它操作符
loop:表示片段的多次执行, 由循环次数和监护条件说明 loop(1,n),loop(10)
loop [for each Item]
assert、consider、ignore assert表示执行过程中,唯一的有效行为 consider包含一个子片段和一个消息类型列表,只 有列表中的消息类型可以出现在子片段中;其它类型 可以出现,但是交互会忽略它们 ignore也包含一个子片段和一个消息类型列表,列 表中的消息类型可以出现在子片段中,但交互会忽略 它们
强调消息交互在时间轴上的 先后顺序
顺序图的组成元素
自动车锁系统
对象:矩形,符号与对象图相同 “ 锁 车 ” 用 例 的 顺 序 图
生命线:虚线,表示对象生存期
控制焦点:矩形条,表示对象正在执行一些活动
消息:箭头线,表示对象间消息通讯
时序图和协作图
时序图的最大特点是:它以二维的平面上 的一维来表示时间进度,在时间维上定义 各个对象所执行的操作以及它们之间所传 送的消息。从而能够在逻辑上清晰的刻画 这些操作和消息的时序关系乃至因果关系。
简单时序图
7.2 时序图元素及表示法
在UML中,时序图用一个二维图描述系统 中各个对象之间的交互关系。其中,纵轴 是时间轴,时间沿竖线向下延伸,由上至 下表示时间的先后顺序。横轴代表了参与 相互作用的对象。 当对象存在时,生命线由一条虚线表示; 当对象的过程处于激活状态时,生命线上 用一个激活条表示。消息用从一个对象到 另一个对象生命线的箭头表示,箭头以时 间顺序从上到下排列。
时序图(Sequence Diagram)也被称为 顺序图,是一种详细地表示对象之间行为 交互关系的图,主要用来描述对象之间信 息交换时的时间顺序。因此可以清晰而直 观的表示对象之间的行为交互关系以及操 作和消息的时序关系。
时序图的主要用途把用例表达的要求转化 为更进一步的精细表达。它还能用来记录 一个存在系统的对象现在如何交互。 用例常常可被细化为一个或多个时序图。
7.2 时序图元素及表示法
时序图有4种基本图形元素,包括:
对象(object) 生命线(lifeline) 激活(activation) 消息(message)
1. 对象
时序图中的对象在概念上和它在对象图中 的定义是一致的,其图形表示也相同。 每个对象显示在单独的列里,用一个矩形 框代表一个对象,框内填写对象名和它所 属的类名,中间用一个冒号隔开。
2.链接
链接是两个对象间的连接。 它的图形符号也是用一条连接在两个对象间 的实线表示。在连接线上可以标明对象名。
3.消息
第5章 交互图
第5章 交互图·交互图(Interaction Diagram):交互图是用来描述对象之间以及对象与参与者(actor)之间的动态协作关系以及协作过程中行为次序的图形文档。
其中:交互图通常用来描述一个用例的行为,显示该用例中所涉及的对象和这些对象之间的消息传递情况。
交互图包括两种视图:顺序图(sequence diagram)协作图(co11aboration diagram)5·1 顺序图(Sequence Diagram )·顺序图:也称时序图。
它是描述对象按照时间顺序进行交互的消息交换图。
·顺序图组成:主要由横向轴和纵向轴两个轴。
其中:横向轴排列的是参与交互的对象,纵向轴表示时间。
例如:说明:1.对象间的排列顺序并不重要,但一般把表示参与者的对象放在图的两侧,主要参与者放在最左边,次要参与者放在最右边(或表示人的参与者放在最左边,表示系统的参与者放在最右边);2.纵向轴按时间顺序列出各对象所发出和接受的消息。
·顺序图建模元素:对象(object ),注:actor 也使对象 生命线(lifeline )控制焦点(focus of control )或激活期(activation ) 消息(message ) 其中:1.对象的命名方式主要有以下三种:其中:第一种命名方式包括对象名和类名;第二种命名方式只显示类名不显示对象名,即表示这是一个匿名对象;第三种命名方式只显示对象名不显示类名,即不关心对象属于什么类。
2.生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。
如图所示:3.激活期是顺序图中表示时间段的符号,在这个时间段内,对象将执行相应的操作。
控制焦点表示为在生命线上的小矩形:4.消息包含调用消息、异步消息和返回消息等多种 (1)调用消息(procedure call)调用消息:指发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。
交互作用图
sd 成绩转换 : Contrl : Transcript : Grade
1 : getgrade(studentID)
alt [grade>=90] 2 : setgrade(studentID,A)
[79<grade<90] 3 : setgrade(studentID,B)
[69<grade<80]
交互作用图
(顺序图和协作图)
1 交互图概述
交互图(interaction diagram)是用来描述对象之间以及对 象与参与者之间的动态协作关系以及协作过程中行为 次序的图形文档. 交互图通常用于描述一个用例的行为, 显示该用例中所 涉及的对象及对象之间消息传递情况. 交互图包括: (1)顺序图(sequence diagram), 描述对象按照时间顺序的 消息交换; (2)协作图(collaboration diagram), 描述系统成分如何协同 工作.
• 添加借阅者
• findTitle(isbn:String):OID • 返回指定ISBN的Title对象的 OID • getTitle(oid:OID):Title • 返回Title对象 • getAvaliableBook():OID • 返回第一个可借阅的Book对 象的OID
• 类Borrower • borrowerID:String • loans:OID[ ]
调用消息必有一个与之配对的返回消息, 但是可以不 用画出.
(1). 同步消 息 同步消息(synchronous message)代表一个操作调用的控制流。 同步消息的发送者把控制传递给消息的接收者,然后暂停活动,等 待消息接收者的应答,收到应答后才继续自己的操作。
(2).异步消息 异步消息(Asynchronous message)消息的发送者把控制传递给 消息的接收者,然后继续自己的活动,不需等待接收者返回信息或控 制。下面示例演示了如何在登录文件的情况下使用异步消息。
顺序图和协作图
顺序图和协作图第4章顺序图和协作图4.1 交互图概述在一个待开发的系统中,任何对象都不是孤立存在的,系统中的这些对象都是通过传递消息进行交互的。
因此在设计系统时,就免不了对交互进行缄默,并用交互图展现出来。
4.1.1 交互的定义当需要对类操作、类、构件、用例乃至整个系统的控制流进行建模时,一定离不开“交互”。
交互:一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为。
交互图:是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。
通常用来描述一个用例的行为,显示该用例中所涉及的对性和这些对象之间的消息传递情况在大多数情况下,消息通常是指启动一个操作或发送一个信号,以及创建或销毁一个对象。
4.1.2 UML交互图的类型顺序图:是一种强调消息时间顺序的交互图,着重描述对象按照时间顺序的消息交换,为读者提供了控制流随着时间推移的清晰的可视化轨迹。
协作图(UML 2.0中的通信图):强调的是参加交互的对象的组织,着重描述系统成分如何协同工作,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹。
顺序图和协作图从不同的角度表达了系统中的交互和系统的行为,它们可以相互转化,并且转换过程不会丢失信息。
定时图(UML 2.0中新增):采用了一种带数字刻度的时间轴来精确地描述消息的顺序,而不是像顺序图那样只是指定消息的相对顺序,而且它还允许可视化的表示每条生命线的状态变化,当需要对实时时间进行定义时,采用定时图可以很好的满足。
交互概述图(UML 2.0中新增):是交互图和活动图的混合物。
定时图和交互概述图是两种特殊的变体。
4.1.3交互图和类(图)4.2 顺序图顺序图:显示的是参与交互的对象及对象之间消息交换的顺序,用来表示用例中的行为顺序。
图显示的是汽车租赁系统中客户取车的顺序图,涉及5个对象:客户、预定请求、工作人员、工作记录和汽车。
系统分析交互图
2021/4/15
上海理工大学
28
3.6 消息/4
消息的发送是有顺序的,此顺序由它在顺序图垂直方向上的位置决
定,垂直方向靠近顺序图的顶端的消息先执行,靠近顺序图底部的 消息后执行,因此每一消息都有一顺序号
消息的顺序号,此顺序号可前缀于消息的名字前面,它们之间用冒
如果一个对象改变了它的属性值、状态或角色,
则需在生命线上该对象的改变点处放置该对象的 一个图标副本,并标出有关的变更
2021/4/15
上海理工大学
23
3.6 消息/1
对象间的互相合作与交流表现为一个对象以某种
方式启动另一个对象的活动,这种交流在UML里 被定义为消息
消息是对对象间的一种信息的通讯的描述,此信
交互图中的这些对象(实例)可以处于一个或多
个场景中,以实现相应的用例所规定的任务
通过用交互图进行建模,可以对这些对象涉及的
各对象的动态特性进行:
视化 说明 建造 建档
2021/4/15
上海理工大学
8
2.2 交互图/3
在考察一个系统的对象的交互时,通常从顺序图
开始,然后将顺序图转换为协同图,以分析系统 在结构方面应该具备的特点
间接地执行一个动作的那段时间
绘制:它由位于对象生存线上的一个窄长方形代
表,控制焦点长方形的顶端代表动作的开始时刻, 底端代表动作的结束时刻。
控制焦点可以理解为是C语言中一对花括弧
(“{}”)内的内容
2021/4/15
上海理工大学
18
3.4 控制焦点的嵌套
动作的执行过程可以引起其它消息的发送,从而
顺序图和协作图ppt课件
UML1.4后定义的消息有:
Ø 调用消息 procedure call Ø 异步消息 asynchronous Ø 返回消息 return
UML1.3前的消息还有:
Ø 简单消息 simple
Rose扩充的消息
Ø 阻止消息 balking Ø 超时消息 time-out
例的参与者往往排在最左边,接收消息的参与者则 排在最右端; l 对象从左到右按照重要性排列或按照消息先后顺序 排列; l 将对象置于顺序图的顶部意味着在交互开始的时候 对象就已经存在了,如果对象的位置不在顶部,那 么表示对象是在交互的过程中被创建的。
对象的命名方式有三种:
Ø 包括对象名和类名 Ø 类名(匿名对象) Ø 对象名(不关心类)
赤壁之战的顺序图
顺序图的组成元素 l 参与者(actor)或者 对象(object) l 生命线(lifeline) l 激活期(activation)/ 控制焦点(focus of control) l 消息(message)
时间维
对象/参与者
对象维
控制焦点
生命线 消息
参与者或对象
l 参与者和对象按照从左到右的顺序排列; l 一般最多两个参与者,他们分列两端。启动这个用
以通过约束{10ms}来限制执行时间的长短。
顺序图中的消息
面向对象方法中,消息是对象间交互信息的主要方式。 结构化程序设计中,模块间传递信息的方式主要是过
程(或函数)调用。 对象A向对象B发送消息,可以简单地理解为对象A调
用对象B的一个操作(operation)。
l 顺序图中,尽力保持消息的顺序是从左到右排列的。 l 一个顺序图的消息流开始于左上方,消息2的位置比
实验五--1 顺序图和协作图
实验五—1 顺序图、协作图一、实验目的1.理解顺序图的基本概念。
2.理解协作图的基本概念。
3.掌握在Rational Rose 中绘制顺序图、协作图的操作方法。
二、实验器材1.计算机一台。
2.Rational Rose 工具软件。
三、实验内容通过对课堂学习和前面的实验,使我们完成了图书馆的管理系统的需求分析,并从业务对象中抽象出了类。
现在需要对前面所给出的用例进行实现,而用例的实现主要由顺序图来描述系统的动态特性,协作图与顺序图是同构的,Rose 可自动转换。
现指派你运用课堂所学的相关知识,完成如下任务:1.对图书管理功能中的借书用例、还书用例进行动态建模。
四、实验步骤4.1 分析阶段的动态建模1.分析:在分析阶段,绘制的顺序图中,所有消息可以使用便于理解的自然语言来描述,并且可以仅在实体类中识别对象职责,而不涉及边界类和控制类。
根据课堂讲授,参见教材P213 可完成借书用例和还书用例分析阶段的动态建模。
2.绘图步骤:(1)鼠标右击导航窗口“Logicl View”节点,选择“New——Package”,建立1 个子包:“Sequence Di ag ra m”(用于存放顺序图、协作图),完成后如图 3.1 所示。
(2)如图 3.2 所示,鼠标右击“Sequence Diagram”子包,选择快捷菜单项“New——Sequence Di ag ram”,创建一张新的顺序图,取名为“借出图书”(注意:为了好对应,顺序图名称最好与相应的用例名称相同)。
鼠标双击新建的顺序图,在右边绘图窗口中将其打开,如图 3.3 所示。
(3)设置支持嵌套消息的环境:选择主菜单项“Tools——O ptions”,打开Rose 环境设置的对话框,点击“D i a g r a m”选项卡,在如图3.4所示界面中,将“D i s p l a y”下的“Hierarchical Message”选中,点击“确定”即可。
图 3.1图 3.2图3.3图3.4(4)绘制类:从导航窗口中,将“Use Case View”节点下的参与者“图书管理员”拖到绘图窗口;将“Class Diagram”包下“BO”实体包中的相关类“Reader”、“ResourceItem”、“ResourceTitle”和“Loan”拖到绘图窗口中,如图3.5 所示。
交互图之时序图
Fra bibliotek 选课事件流: 1.进入选课主界面,用例开始。 2.学生点击选课。 3.系统显示所有课程信息。 4.学生选择课程。 5.系统验证课程是否可选。 A1:课程不可选 6.系统提示课程选择成功,提示学生交费。 7.用例结束。 其他事件流: A1:课程不可选 1.系统提示课程不可选及原因 2.学生重新选课 3.重新验证直至成功。 4.转选课事件流第6步。
序列图的基本概念
序列图是一种强调消息的时序交互图。它 由参与者,对象,消息,生命线和控制焦 点组成。 在 UML 中,对象表示为一个矩形,其中对 象名称标有下划线;消息在序列图中由有 标记的箭头表示;生命线由虚线表示;控 制焦点由薄薄的矩形表示。
序列图的基本概念
序列图将交互关系表示为一个二维图,纵向是时 间轴,时间沿竖线向下延伸。横向轴代表了在协 作中各独立对象的类元角色。类元角色的活动用 生命线表示。当对象存在时,生命线用一条纵向 虚线表示,当对象的过程处于激活状态时,生命 线是一个双道线。 消息用从一个对象的生命线到另一个对象的生命 线的箭头表示。箭头以时间顺序在图中从上到下 排列。
交互图之序列图
交互图的作用
一旦定义了一个工程的用例,就可以用它 们来指导对系统的进一步开发。 给出系统用例的实现,是从外部视图转到 内部结构的第一步。 在UML中,用例的实现用交互图来指定和 说明。交互图通过显示对象之间的关系和 对象之间处理的消息来对系统的动态特性 建模。
有两种交互图:序列图(sequence diagram)和 协作图(collaboration diagram)。本章介绍序列 图及其实现。 交互图一步一步地显示用例的实现流程。它包括 流中需要什么对象,对象之间发送什么,什么角 色启动流,消息按什么顺序发送等。 系统要求实现的所有不同情形都在交互图中记录 。通过从用例建模得到的用例文档说明,词汇表 和用例图,活动图来创建交互图。
uml实验-时序图与协作图
实验四时序图与协作图[实验目的和要求]1、掌握时序图与协作图的概念及作用。
2、掌握UML中静态图形和动态图形的区别和联系。
3、掌握UML时序图与协作图的基本图形,了解它们各自的组成元素、特定作用和适用场合。
4、重点掌握时序图的画法以及其中元素所代表的意义。
[实验内容和步骤]1、UML中的时序图与协作图之间各有什么区别和联系?答:时序图:强调消息的时间顺序,强调交互的时间。
协作图:强调的是发送和接收消息的对象之间的组织结构联系:都是描述对象之间的交互。
2、在顺序图和协作图中,应如何表示“循环”,“判断”等结构?答:循环:一条连接两个角色的实现路径来表示。
判断:增加消息进行判断。
3、什么是消息?消息在交互中扮演什么角色?答:消息是对象之间某种形式的通信,在垂直生命线之间,用带有箭头的线段并附以消息表达式方式表示。
他可以激发某个操作、唤起信号或导致目标对象的创建和撤销。
4、交互图中有哪几种消息?它们之间具体有何分别?应如何表示?答:表示5、已知某一个用例实现的类图如下,画出一个能和该类图对应的时序图。
6、假设有一系统得协作图局部如图所示,print方法的功能是将传入的参数的值打印在屏幕上,fact方法是计算阶乘,如果test的初值为1,那么最终将打印出什么?(写出计算过程)1: print(test)答:消息执行三次:1、test=1+1=2;2、test=2+2!=4;3、test=4+4!=28;所以最后打印的是28.[分析与讨论]1、讨论并总结在建模过程中运用交互图的重要作用及意义答:作用:准确的描述各个对象之间的关系及各种消息。
意义:用于对系统中多个对象的相互作用的过程进行建模。
2、画出网上书店系统购书的时序图。
答:3、下图是购物网站的“编辑购物车”用例中的部分的类图基本事件流:用户在Shopping Cart页面上修改购物车中商品数量,然后单击Update按钮。
系统存储新的数量,然后计算并显示该商品的新价格。
协作图+顺序图
学生宿舍管理系统——协作图协作图又名“通信图”。
即Communication Diagram,而“协作”作为一个结构事物用于表达静态结构和动态行为的概念组合,表达不同事物相互协作完成一个复杂功能。
协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构。
一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。
对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。
使用协作图来说明系统的动态情况。
协作图使描述复杂的程序逻辑或多个平行事务变得容易。
协作图显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。
使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。
如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。
画图步骤:(1)在双击打开软件start UML选择empty project,出现如图1.1所示。
(2)新建model1,然后新建一个协作图。
(3)在图中的工具栏选取协作图图 Object图标,在右边的图中添加一个Object,并输入名称。
(4)根据题目需求,在左边的工具栏中,选取其他协作图所需图标,在右边的图中画出。
添加开始和结束标志,然后用横线把它们连接起来。
即画出一个完整的协作图。
宿舍管理员学生基本信息表宿舍分配界面床位宿舍住宿情况表打开修改住宿信息查询空床位显示空床位基本信息确认学生信息学生显示学生具体信息输入学号查询学生信息图1 系统协作图学生宿舍管理系统——顺序图顺序图是将交互关系表示为一个二维图。
纵向是时间轴,时间沿竖线向下延伸。
横向轴代表了在协作中各独立对象的类元角色。
类元角色用生命线表示。
当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
UML顺序图一般用于:确认和丰富一个使用情境的逻辑。
表示用例的实现,系统的动态分析.画图步骤:(1)在双击打开软件start UML选择empty project,出现如图1.1所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交互图建模
内 容
基本概念 时序图 协作图 时序图和协作图共有的元素 对象规范与应用 消息规范与应用 消息编号 协作图特有的要素——链 时序图所特有的元素——控制焦点 时序图与协作图之间的转换
引
言
交互图可以用于对一个用例的事件流程进行 建模,也可以单独使用,用于可视化、详述、构造 和文档化一个特定对象群体的动态方面。交互图显 示一个交互,由一组对象和它们之间的关系构成, 其中包括:需要什么对象、对象相互发送什么消息、 什么角色启动消息以及消息按什么顺序发送。
一个例子
1 基本概念
1.1 交互图
分类
交互图分为两种:时序图和协作图
时序图强调消息发送的时间顺序 协作图则强调接收和发送消息的对象的组织结构
时序图和协作图语义等价
时序图和协作图在语义上是等价的,共享相同的基本 模型 两个图都可以表示另一个图所不能表示的某些东西 时序图和协作图可以实现两者之间的等价转换,而不 丢失任何信息
撤销方法
选择脚本和消息中的任意一项; 选择Edit > Detach Script。
2 时序图
2.4 时序图的删除
方法步骤
右键单击浏览器中的顺序框图名; 在快捷菜单中选择“Delete”。
2 时序图
2.5 时序图工具箱
12种常见工具按钮 可以定制
时序图注意事项
2 时序图
2.1 时序图中的要素
时序图包含的内容 1)对象 2)对象生命线 3)消息 4)控制焦点 对象、对象生命线和控制焦点 表示方法
对象向下方垂直伸展的虚线称为该对象 的生命线 ,表示该对象存在的时间长度 大“X”标记表明生命的结束 在生命线上的窄矩形条称为控制焦点, 控制焦点表示该对象正在执行某个操作。 窄矩形的长度表示操作的持续时间。
例:用餐时序图
1 : 顾客 1: 进门 2: 领顾客入座 3: 送上菜单 4: 选菜 5: 点菜 6: 上菜 7: 用餐 8: 要求结账 9: 送上账单 10: 付款 11: 找零 12: 出门 2 : 服务员
例:用餐时序图(增加厨师)
: 顾客 1: 点菜
: 服务员 2: 下单
: 厨师
3: 做菜 4: 菜 5: 上菜 6: 用餐
Persistent:对象保存到数据库或者其 他形式的永久存储体中 Static:对象保存在内存中直到程序中 止 Transient:对象只在短时间内保存在 内存中
3)多实例(Multiple instances)
选中该复选框之后,协作图中的对象图 标将显示为多实例图标。但在时序图中, 对象图标仍然是单个对象的图标。
时序图练习
图书借阅 图书预订 ATM取款
3 协作图
协作图强调发送和接受消息的对象之间的
结构组织的交互图,显示对象、对象之间的链
接以及对象之间的消息,还可以显示当前模型 中的简单类实例和类实体实例。
3 协作图
3.1 协作图包含的元素
对象 链 消息
3 协作图
3.2 协作图的创建和删除
1)Detail标签 消息频率(Frequency)
消息频率可以让消息按规 定的时间间隔发送 不定期(Aperiodic):将 消息设定为不定期发送的 消息、只发送一次,或者 不规则时间间隔发送 定期(Periodic) :将消 息设定为定期发送的消息
7 消息编号
消息编号用来表示一个消息的时间顺序,通过消 息的顺序编号可以更清楚地看出各消息之间的时 间顺序以及相互之间的关系。 在交互图中可以选择显示消息编号。在时序图中, 消息可以按两种方式编号: Top-Level(顶级编 号)方式,如1、2、3;或者Hierarchical(等级 编号)方式,如1.1、1.1.2、1.1.3。在协作图 中,消息只能采用Top-Level 编号,但如果协作 图是由时序图转换而来,图中也可以使用 Hierarchical 编号。
2在时序图中添加脚本
对消息增加说明
移动时序图中的消息时,相应的脚本也将随之移动到新的位 置 要避免在框图中放入太多的逻辑条件,以保持框图的简洁 性
添加方法
选择工具箱中的文本图标; 单击框图中要放入脚本的位置,通常将脚本放在框图左边; 在文本框中键入脚本文本; 选中脚本文本框,按下shift键后选中脚本所描述的消息; 选择Edit > Attach Script。
Balking
Timeout
Asynchrono应答,可以直接继续自 身的操作。
过程调用。客户发出消息,等待处理消息的整 个嵌套顺序完成之后才能继续。 返回。从过程调用返回。返回箭头可以省略, 因为这种消息隐式地表示一个活动的结束。
Return
6 消息规范与应用
6.1 消息规范
1)General标签 Name:消息名 Documentation:对消息 的附加说明
6 消息规范与应用
6.1 消息规范
1)General标签 Name:消息名 Documentation:对消 息的附加说明
6 消息规范与应用
6.1 消息规范
2 时序图
时序图是描述消息时间顺序的交互图。在 图形上,时序图是一张表,其中显示的对象沿横 轴排列,从左到右分布在图的顶部;而消息则沿 纵轴按时间顺序排序。创建时序图时,以能够使 图尽量简洁为依据布局。
职责驱动设计对象协作建模(设计与代码)
:A doOne doTwo doThree
myB : B
协作图例子
1 基本概念
1.2 对象
对象是类的实例,具有特定的属性和操作。在 交互图中,属性展示了对象的信息和状态,操 作展示了对象的行为和功能。
1 基本概念
1.3 消息
消息是从一个对象到另一个或者几个其他对象的信息传 递,简单地说,消息就是对象与对象、参与者与参与者, 或者对象与参与者之间的某种通信方式。 消息可以是一个信号或一次操作调用,收到消息即为事 件。可以有两种消息,一种是从发送者向接收者发送信 号,另一种是由调用者调用接收者的操作 对象之间的协作通过相互发送消息实现。
2 时序图
2.1 时序图中的要素
消息的表示方法 用消息线(消息图标)表示。一个对象到另一个对象 的消息用跨越对象生命线的一条消息线表示出来,包 括反身消息。 三种表示消息的方法
消息线本身 消息线加消息编号 消息线加消息编号加消息名
2 时序图
2.1 时序图中的要素
消息的分类 UML的消息分为:
创建一个新协作图的步骤如下:
1)单击Browse > Interaction Diagram。弹 出Select Interaction Diagram对话框; 2)在对话框左边选择预建立协作图的包,单击 OK。弹出New Interaction Diagram对话框; 3)在Title字段输入新框图的名字,单击 diagram type中的Collaboration,单击OK按 钮。
表示消息doOne的接收者A类为完成这个消息赋予的职责,对应有一个方法: doOne, 为完成这个责任,这个方法需要与B类对象myB协作 Public class A {private B myB = new B(); Public void doOne() { myB.doTwo(); myB.doThree();}}
之后才能继续其本身的进程,在执行操作 的这段时间内,客户一直处于等待状态, 直到它收到从操作提供者那里返回的消息。
阻止。客户只能在操作提供者能立即接收消息 的情况下发送消息。如果操作提供者没有准备 好接收消息,则客户将放弃该消息。 超时。客户发出消息并指定等待时间,如果供 应者不能在指定时间内处理消息,则客户将放 弃该消息。 异步。客户发出消息后,不等待消息是否接收,
4 时序图和协作图共有的元素
4.3 消息编号
Rose中默认时序图中不显示消息编号,协作图 显示消息编号。时序图中,消息根据对象生命 线从上往下从1开始进行编号;协作图中,消息 根据建立的顺序从1开始进行编号。删除消息时, Rose自动将其余消息重新编号。
4 时序图和协作图共有的元素
4.3 消息编号
改变消息指定的操作:
双击框图中的消息; 在消息规范窗口“Name”字段列表框中选择新的 操作名 。
5
对象规范与应用
5.1 对象规范
1)映射类(Class)
在Class下拉列表框中选择类名; 或者, 将浏览器中的类拖动到框图中的对象上。
2)对象持续性(Persistence)
4 时序图和协作图共有的元素
4.2 消息
3)将消息加进协作图
单击工具箱中的 按钮; 单击框图中对象间的链接; 输入消息名。
4)删除消息
选择要删除的消息; 选择Eddit > Delete from Model或按Ctrl+D。 注意:在协作图中消息删除后,链接仍然存在于模 型中
打开或关闭消息编号:
选择Tools > Options; 选择Diagram标签; 复选或取消Collaboration Numbering 或者 Sequence Numbering。
4 时序图和协作图共有的元素
4.4 为消息分配操作
要给消息分配操作:
双击框图中的消息图标; 从弹出的列表中选择一个操作。或者单击 <new operation>定义一个新操作。
删除一个协作图的步骤如下:
1)右键单击浏览器中的协作框图名; 2)在快捷菜单中选择“Delete”。
3 协作图
3.4 协作图工具箱
13种常见工具 可以定制