- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
顺序图和协作图
面向对象分析与设计 UML 第4章 顺序图和协作图 4.1 交互图概述 4.2 顺序图 4.2 顺序图 4.2 顺序图 4.3 顺序图中的消息 UML1.4后定义的消息有: 调用消息 procedure call 异步消息 asynchronous 返回消息 return UML1.3前的消息还有: 简单消息 simple Rose扩充的消息 阻止消息 balking 超时消息 time-out 4.3 顺序图中的消息 4.3 顺序图中的消息 4.3 顺序图中的消息 4.3 顺序图中的消息 4.3 顺序图中的消息 4.4 建立顺序图的步骤 确定交互过程的上下文 识别参与交互过程的对象 为每个对象设置生命线 从引发这个交互过程的初始消息开始, 在生命线之间自顶向下依次画出随后的各个消息. 如果需要嵌套或(和)表示消息发生的时间点, 使用FOC. 如果需要说明时间约束, 则在消息旁边加上约束说明. 如果需要, 可以为每个消息设置前置条件和后置条件. 4.5 协作图 4.6 建立协作图的步骤 确定交互过程的上下文 识别参与交互过程的对象 如果需要, 为每个对象设置初始特性 确定对象之间的链, 及沿着链的消息 从引发该交互过程的初始消息开始, 将每个消息附到相应的链上 如果需要表示消息嵌套, 则有Dewey十进制表示. 如果需要说明时间约束, 则在消息旁边加上约束说明 如果需要, 可以为每个消息设置前置条件和后置条件 4.7 顺序图与协作图的比较 相同点 规定责任, 二者均直观地规定了发送对象和接收对象的责任. 支持消息, 二者均支持所有的消息类型. 衡量工具, 二者均是衡量耦合性的工具. 不同点 协作图强调参与交互的对象的组织结构; 顺序图强调消息的时间顺序. 顺序图可以反映对象的创建/激活/撤消; 协作图不能. 协作图能反应动作路径, 消息必须有顺序号; 顺序图没有. 4.7 顺序图与协作图的比较 4.7 顺序图与协作图的比较 4.8 工具支持(略) 4.9 常见问题分析 4.9 常见问题分析 4.9 常见问题分析 4.9 常见问题分析 4.9 常见问题分析 4.9 常见问题分析 4.8 实例分析:语音邮箱系统 4.8 实例分析:语音邮箱系统 作业 * 重庆文理学院 交互图(interaction diagram)是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档. 交互图通常用于描述一个用例的行为, 显示该用例中所涉及的对象及对象之间消息传递情况. 交互图包括: 顺序图(sequence diagram), 描述对象按照时间顺序的消息交换; 协作图(collaboration diagram), 描述系统成分如何协同工作. Rumbaugh的定义: 顺序图是显示对象之间交互的图, 这些对象是按时间顺序排列的. 它显示参与交互的对象及对象之间消息交互的顺序. 时间维 对象维 对象/参与者 生命线 控制焦点 消息 对象的三种命名方式: 生命线是对象图标向下延伸的虚线, 表示对象生存时间. 消亡点 控制焦点(Focus of Control)又称为激活期(Activation), 用生命线上的小矩形表示, 在这个时间段内, 对象执行相应的操作. FOC嵌套 调用消息:消息的发送者把控制传递给消息的接收者, 等待接收者返回或放弃控制. 调用消息必有一个与之配对的返回消息, 但是可以不用画出. 异步消息:消息的发送者把控制传递给消息的接收者, 然后继续自己的工作,不等待接收者返回或放弃控制. UML1.4及以后 UML1.3及以前 返回消息:表示从过程调用返回. 如果是过程消息返回, 则不用画出; 如果是非过程消息, 则必须画出. 返回消息 阻止消息:消息的发送者传递消息给接收者, 如果接收者无法立即接收, 则发送者放弃该消息. 超时消息:消息的发送者发出消息给接收者并按指定时间等待, 若接收者无法在指定时间内接收, 则发送者放弃该消息. 消息的语法格式 [前置消息列表][警戒条件][消息顺序号][返回值:=]消息名称([参数列表]) 例子: 线程间同步 A3, B4/ C2: copy(a, b) 循环消息 3.1 *: update() 条件消息 [x0] 4: invert(x, color) 嵌套消息, 有返回值 1.3.1 p:= find(specs) 简单消息 2:display(x,y) 协作图是用于描述系统的行为是如何由系统成分协作实现的图. 对象object 链 link 消息 message 协作图中的元素: 汽车租赁系统中”客户还车”的顺序图 汽车租赁系统中”客户还车”的协作图 (1) 如何在顺序图中表示消息的循环发送? 在消名前加循环条件,例如: 1.1 *[for
文档评论(0)