- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML学习复习PPT协作图
协作图 高天迎 协作图 1 概述 2 对象、链和消息 3 顺序图与协作图的比较 4 顺序图与协作图的互换 5 协作图建模技术 6 实例——图书馆管理系统的协作图 1 概述 协作图包含一组对象和链(link),用于描述系统的行为是如何由系统的成分协作实现的。 协作图是顺序图之外的另一种表示交互的方法 协作图对交互中有意义的对象和对象之间的链建模 在UML中,协作图用几何排列来表示交互作用中的对象和链,附在链的箭头代表消息,消息的发生顺序用消息箭头处的编号来说明。 1 概述 协作图示例: 2 对象、链和消息 协作图包含了3个元素: 对象(Object) 链(Link) 消息(Message) 2.1 对象 协作图与时序图中的对象的概念是一样,只不过在协作图中,无法表示对象的创建和撤销,所以对于对象在图中的位置没有限制。 协作图中的多对象(multiobject) 多个对象的集合,往往是同类的对象 如果消息同时发送给多个对象,则用多对象表示 在时序图中仍然显示为单对象一样的图标 多对象图例: 主动对象 主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)。 说明: 除含有主动服务外,主动对象的其它方面与被动对象没有什么不同。 目前并无商品化的OOPL能支持主动对象的概念,需要程序员在现有的语言条件下设法把它实现成一个主动成分。 主动对象的表示 (1) UML中的表示:加粗的边框 (2) Rose中的表示 2.2 链 协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个类角色的实线。 为了说明一个对象如何与另一个对象连接,可以在链的末路上附上一个路径构造型。 2.2 链 协作图中用链(link)来连接对象,而消息显示在链的旁边。 链是association(关联)的instance(实例) 一个链上可以有多个消息。 链的两端不能有多重性(multiplicity)标记。 2.3 消息 协作图中的消息类型与时序图中的相同,只不过为了说明交互过程中消息的时间顺序,需要给消息添加顺序号。 顺序号是消息的一个数字前缀,是一个整数,由1开始递增,每个消息都必须由唯一的顺序号。可以通过点表示法代表控制的嵌套关系。 嵌套可以具有任意深度。与时序图相比,协作图可以显示更为复杂的分支。 协作图中重复和条件分支的表示 和顺序图中的表示方法类似 用*[i:=1..n]或*表示要重复发送的消息; 用类似[x 0]的条件语句表示消息的分支。 UML并没有规定[ ]中的表达式的格式,因此可以采用伪代码的格式或某种程序设计语言的语法格式。 3 顺序图与协作图的比较 3.1 相同点 3.2 不同点 3.1 相同点 1. 规定责任 规定了发送对象和接收对象的责任 2. 支持消息 支持所有的消息类型 3. 衡量工具 衡量耦合性的工具 3.2 不同点 顺序图强调消息的时间顺序,协作图强调参加交互的对象的组织,两者可以相互转换。 顺序图不同于协作图的两个特征: 顺序图有对象生命线 顺序图有控制焦点 协作图不同于顺序图的两个特征: 协作图有路径 协作图必须有消息顺序号 顺序图可以表示某些协作图无法表示的信息;同样,协作图也可以表示某些顺序图无法表示的信息。 4 顺序图与协作图的互换 顺序图与协作图都表示对象之间的交互作用,只是它们的侧重点有所不同: 顺序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系。 协作图描述了对象之间的关系,但时间顺序必须从顺序号获得。 两种图的语义是等价的,可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。 5 协作图建模技术 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。 对每个对象设置初始特性。 描述对象之间可能有信息沿着它传递的链。 从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。 如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。 如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。 6 图书馆管理系统的协作图 6.1 使用Rational Rose绘制协作图的步骤 6.2 图书馆管理系统的协作图 6.1 使用Rational Rose绘制协作图的步骤 1. 创建协作图 2. 协作图工具栏按钮简介 3. 添加对象 4. 添加消息 5. 添加数据流 6.2 图书馆管理系统的协作图 1. 系统管理员添加书籍的协作图 2. 图书管理员处理借书的协作图 3. 图书管理员处理还书的协作图 4. 系统管理员删除书籍的协作图 5. 借阅者预留书籍的协作图 1. 系统管理员添加书籍
文档评论(0)