[工学]第7章 协作图通信图.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第7章 协作图通信图

UML建模技术 第 7章 协作图 本章学习要点: 1 概述 2 对象和类角色、链和消息 3 时序图与协作图的比较 4 时序图与协作图的互换 5 协作图建模技术 6 实例——图书馆管理系统的协作图 7.1 概述 协作图描述的是和对象结构相关的信息。 协作图的用途是表示一个类操作的实现。 协作图对交互中有意义的对象和对象之间的链建模。与顺序图一样,协作图也展示对象之间的交互关系。它绘制出对象与对象之间的消息连接。顺序图与协作图很相似,实际上这两种图表达的是同一种信息,并且可以将顺序图转换为等价的协作图,反之亦然。 在UML中,协作图用几何排列来表示交互作用中的对象和链,附在链的箭头代表消息,消息的发生顺序用消息箭头处的编号来说明。 协作图示例 协作图示例: 7.2 对象、链和消息 协作图包含了3个元素: 对象(Object) 链(Link) 消息(Message) 7.2.1对象和类角色 协作图与时序图中的对象的概念是一样的。在具体表示时分三类情况。 协作图中的对象表示;(类对象) 对象实例角色表示; (对象角色) 类角色表示。 (类角色) 7.2.2 链 协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个类角色的实线表示。 链接用来在协作图中关联对象,链接的目的是让消息在不同系统对象之间传递。没有链接,两个系统对象之间无法彼此交互。 链接可以使用parameter 或者 local 固化类型。 paramete :固化类型指示一个对象是另个对象的参数; local 固化类型指定一个对象像变量一样在其他对象中具有局部作用域。 7.2.3 消息 消息是协作图中对象与对象角色或类角色与类角色之间通信的方式。协作图上的消息用从消息发送者连接到消息接收者的实心箭头表示。 与顺序图一样,协作图上的参与者也能给自己发送消息。协作图中的消息也可以分为 3 种类型:同步消息、异步消息和简单消息。 对消息使用序列号和控制点 与顺序图上的消息类似,消息也可以由一系列的名称和参数组成。但是与顺序图不同的是,由于协作图不能像顺序图一样从图的页面上方流向下方,因此,在每个消息之前使用数字表示协作图上的次序。 在一个关联角色或链接之间还可以有多个消息,并且这些消息可以是同时调用,在协作图中为表示这种并发的多个消息,采用数字加字母的表示法。 7 . 3 迭代 迭代有两种标记符。第一种标记符用于单个对象发送消息到一组其他对象时,其表示法如图 6—19 所示。其中接收消息对象组用带有重叠的矩形框表示,这实际 上表示对象的集合,迭代的多重性可以是任意数值,由对象之间的链接和星号表示。在这种迭代中,星号具有非常重要的意义。如 1 . * : Message 指示对于每一个对象 ObjectB ,对象 objectA 都会发送一个 Message 消息。 第二种迭代标记符是指示消息从一个对象到另一个对象被发送多次。其表示法如图 6 — 20 所示。 迭代示例1 右面的示例中,为了实现学生一次可以借阅多本图书, BorrowDialog 对象需要向 Loan 对象和 Studentlnfo 对象发送多个消息。每当学生借阅一本图书,BorrowDialog 对象就会创建一个Loan 对象,并同时向 studentlnfo 对象发送 update 消息更新学生的借阅信息。 迭代实例1 有时按顺序发送消息是很重要的。例如,银行出纳员(bank clerk)要按照顾客排队的次序为每名顾客(customer)服务。可以用“while”条件表达出消息的顺序(例如line position=1…n)。 7 . 4 在协作图中创建对象 与顺序图中的消息相同,消息也可以用来在协作图中创建对象。为此,一个消自将会发送到新创建的对象实例。对象实例使用 new 固化类型,消息使用 create 固化类型,以明确指示该对象是在运行过程中创建的。 7.6 时序图与协作图的互换 时序图与协作图都表示对象之间的交互作用,只是它们的侧重点有所不同: 时序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系。 协作图描述了对象之间的关系,但时间顺序必须从顺序号获得。 两种图的语义是等价的,可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。 1协作图和顺序图的比较示例 4、状态变化和消息的嵌套 我们能够在协作图中表示状态的变化。在本例中,我们在一个汽车对象中给出 locked值。然后,我们复制一个带有不同locked值的汽车对象。把这两个对象连接起来,再表示出从第一个对象到第二个对象的消息。用关键字《become》标示出这条消息。 7.7 协作图建模技术(1) 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档