- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 顺序图和协作图 4.1 交互图概述 4.2 顺序图 4.3 顺序图中的消息 4.4 建立顺序图的步骤 4.5 协作图 4.6 建立协作图的步骤 4.7 顺序图和协作图的比较 4.8 工具支持 4.9 常见问题分析 4.1 交互图概述 交互图是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。 它通常用来描述一个用例的行为,显示该用例中所涉及的对象和这些对象之间的消息传递情况。 顺序图(序列图):着重描述对象按照时间顺序的消息交换 协作图:着重描述系统成分如何协同工作 交互图和类图可以相互补充,类图对类的描述比较充分,但对对象之间的消息交互情况表达不够详细;而交互图不考虑系统中的所有类和对象,但可以表示系统中某几个对象之间的交互。 交互图描述的是对象之间的消息发送关系,而不是类之间的关系。 4.2 顺序图 顺序图也称时序图。Rumbaugh对顺序图的定义是:顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的[RJB99〕。 特别地,顺序图中显示的是参与交互的对象及对象之间消息交互的顺序。 4.2 顺序图 顺序图是一个二维图形。 在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象。 顺序图中的垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。 4.2 顺序图 顺序图中包括的建模元素有: 对象(参与者实例也是对象) 生命线( lifeline) 控制焦点(focus of control,FOC) 消息(message)等。 顺序图中对象的命名方式主要有3种(协作图中的对象命名方式也一样 4.2 顺序图 顺序图中对象的命名方式主要有3种(协作图中的对象命名方式也一样 显示对象名和类名 只显示类名,不显示对象名(匿名对象) 只显示对象名,不显示类名(不关心属于哪个类) 4.2 顺序图 4.2 顺序图 控制焦点是顺序图中表示时间段的符号,在这个时间段内,对象将执行相应的操作。控制焦点表现为生命线是的小矩形。 4.2 顺序图 控制焦点可以嵌套,嵌套的控制焦点可以更精确地说明消息的开始和结束位置。 4.3 顺序图中的消息 4.3 顺序图中的消息 4.3.1.调用消息 调用(procedure call)消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。调用消息可以用来表示同步的意义,事实上,在UML规范说明的早期版本中,就是采用同步消息这个术语的。 4.3 顺序图中的消息 4.3.2 异步消息 异步(asynchronous)消息的发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制。异步消息的接收者和发送者是并发工作的。 与调用消息相比,异步消息在箭头符号上不同。在UML规范说明1. 3及以前版本中表示异步消息是采用半箭头的符号. 4.3 顺序图中的消息 4.3.2 返回消息 返回(return)消息表示从过程调用返回。如果是从过程调用返回,则返回消息是隐含的,所以返回消息可以不用画出来。对于非过程调用,如果有返回消息,必须明确表示出来。 4.3 顺序图中的消息 4.3.4 阻止消息 阻止消息是指消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息。Rose中用折回的箭头表示阻止消息。 4.3 顺序图中的消息 4.3.5 超时消息 超时消息是指消息发送者发出消息给接收者并按指定时间等待。如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。 4.3 顺序图中的消息 4.3.6 消息的语法格式 超时消息是指消息发送者发出消息给接收者并按指定时间等待。如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。 4.4 建立顺序图的步骤 1.确定交互过程的上下文(context)。 2.识别参与交互过程的对象。 3.为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤销。 4.从引发这个交互过程的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息。 5.如果需要表示消息的嵌套,或/和表示消息发生时的时间点,则采用控制焦点。 6.如果需要说明时间约束,则在消息旁边加上约束说明。(约束是UML的3种扩展机制之一)。 7.如果需要,可以为每个消息附上前置条件和后置条件。 4.5 协作图 协作图是用于描述系统的行为是如何由系统的成分协作实现的图,协作图中包括的建模元素有对象(包括参与者实例、多对象、主动对象等)、消息、链等。 对象这个概念前面已多次提到,这里主要强调多对象和主动对象的概念。在协作图中,多对象指的是由多个对象组成的对象集合,一般这些对象是属于同一个类的。当需
文档评论(0)