chapter09协作图_第1页
chapter09协作图_第2页
chapter09协作图_第3页
chapter09协作图_第4页
chapter09协作图_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、郑州大学软件学院郑州大学软件学院2021-5-7 1 李鹏飞李鹏飞 郑州大学软件学院郑州大学软件学院2021-5-7 2 重点内容: lreviewreview l什么是协作图什么是协作图 l组成协作图的元素组成协作图的元素 l使用使用roserose创建协作图创建协作图 l在项目中创建协作图及案例分析在项目中创建协作图及案例分析 l协作图与序列图的区别与联系协作图与序列图的区别与联系 l协作图与序列图的相互转换协作图与序列图的相互转换 郑州大学软件学院郑州大学软件学院2021-5-7 3 重点内容: lreviewreview l什么是协作图什么是协作图 l组成协作图的元素组成协作图的元素

2、l使用使用roserose创建协作图创建协作图 l在项目中创建协作图及案例分析在项目中创建协作图及案例分析 l协作图与序列图的区别与联系协作图与序列图的区别与联系 l协作图与序列图的相互转换协作图与序列图的相互转换 郑州大学软件学院郑州大学软件学院2021-5-7 4 为什么要进行动态分析为什么要进行动态分析 reviewreview 郑州大学软件学院郑州大学软件学院2021-5-7 5 动态分析的任务动态分析的任务 reviewreview 郑州大学软件学院郑州大学软件学院2021-5-7 6 v序列图 v协作图 v状态图 v活动图 reviewreview 郑州大学软件学院郑州大学软件学院

3、2021-5-7 7 v序列图 v协作图协作图 v状态图 v活动图 动态分析模型包括下列模型图:动态分析模型包括下列模型图: reviewreview 郑州大学软件学院郑州大学软件学院2021-5-7 8 重点内容: lreviewreview l什么是协作图什么是协作图 l组成协作图的元素组成协作图的元素 l使用使用roserose创建协作图创建协作图 l在项目中创建协作图及案例分析在项目中创建协作图及案例分析 l协作图与序列图的区别与联系协作图与序列图的区别与联系 l协作图与序列图的相互转换协作图与序列图的相互转换 郑州大学软件学院郑州大学软件学院2021-5-7 9 所谓协作是指在一定的

4、语境中一组对象以及用以实现某 些行为的这些对象间的相互作用。它描述了一组对象为实现 某种目的而组成相互合作的“对象社会”。 郑州大学软件学院郑州大学软件学院2021-5-7 10 协作图(collaboration diagram)就是表现对象协作关 系的图,它表示了协作中作为各种类元角色的对象所处的位 置,在图中主要显示了类元角色(classifier roles)和关 联角色(association roles)。 郑州大学软件学院郑州大学软件学院2021-5-7 11 类元角色(classifier roles) 表示参与协作执行的对象的描述,系统中的对象可 以参与一个或多个协作 关联角

5、色(association roles) 表示参与协作执行的关联的描述 郑州大学软件学院郑州大学软件学院2021-5-7 12 在uml的表示中, 协作图将类元角色表 示为类的符号(矩 形),将关联角色表 现为实线的关联路径, 关联路径上带有消息 符号。 郑州大学软件学院郑州大学软件学院2021-5-7 13 协作图是动态分析模型的另一种表现形式 协作图强调发送和接受消息的对象之间的结构组织的交 互图,显示对象、对象之间的链接以及对象之间的消息 郑州大学软件学院郑州大学软件学院2021-5-7 14 协作图作为一种在给定语境中描述协作中各个对象之间的组 织交互关系的空间组织结构图形化方式,在使

6、用其进行建模时, 可以将其作用分为以下三个方面: 1 1 通过描绘对象之间消息的传递情况来反映具体的使用语境 的逻辑表达。一个使用情境的逻辑可能是一个用例的一部分,或 是一条控制流。这和序列图的作用类似。 郑州大学软件学院郑州大学软件学院2021-5-7 15 协作图作为一种在给定语境中描述协作中各个对象之间的组 织交互关系的空间组织结构图形化方式,在使用其进行建模时, 可以将其作用分为以下三个方面: 2 2 显示对象及其交互关系的空间组织结构。协作图显示了在 交互过程中各个对象之间的组织交互关系以及对象彼此之间的链 接。与序列图不同,协作图显示的是对象之间的关系,并不侧重 交互的顺序,它没有

7、将时间作为一个单独的维度,而是使用序列 号来确定消息及并发线程的顺序。 郑州大学软件学院郑州大学软件学院2021-5-7 16 协作图作为一种在给定语境中描述协作中各个对象之间的组 织交互关系的空间组织结构图形化方式,在使用其进行建模时, 可以将其作用分为以下三个方面: 3 3 协作图的另外一个作用是表现一个类操作的实现。协作图 可以说明类操作中使用到的参数、局部变量以及返回值等。当使 用协作图表现一个系统行为时,消息编号对应了程序中嵌套调用 结构和信号传递过程。 郑州大学软件学院郑州大学软件学院2021-5-7 17 重点内容: lreviewreview l什么是协作图什么是协作图 l组成

8、协作图的元素组成协作图的元素 l使用使用roserose创建协作图创建协作图 l在项目中创建协作图及案例分析在项目中创建协作图及案例分析 l协作图与序列图的区别与联系协作图与序列图的区别与联系 l协作图与序列图的相互转换协作图与序列图的相互转换 郑州大学软件学院郑州大学软件学院2021-5-7 18 郑州大学软件学院郑州大学软件学院2021-5-7 19 协作图中的对象和序列图中的对象的概念相同,同样都 是类的实例。 一个协作代表了为了完成某个目标而共同工作的一组对 象。对象的角色表示一个或一组对象在完成目标的过程中 所应起的那部分作用。 在协作图中,不需要关于某个类的所有对象都出现,同 一个

9、类的对象在一个协作图中也可能要充当多个角色。 郑州大学软件学院郑州大学软件学院2021-5-7 20 协作图中对象的表示形式也和序列图中的对象的表示方式一样, 使用包围名称的矩形框来标记,所显示的对象及其类的名称带有 下划线,二者用冒号隔开,使用“对象名 :类名”的形式,与 序列图不同的是,对象的下部没有一条被成为“生命线”的垂直 虚线,并且对象存在多对象的形式。 郑州大学软件学院郑州大学软件学院2021-5-7 21 在协作图中,可以通过一系列的消息来描述系统的动态行为。 在协作图中,消息使用带有标签的箭头来表示,它附在连接 发送者和接收者的链上。 链连接了发送者和接收者,箭头的指向便是接收

10、者。每个消 息包括一个顺序号以及消息的名称。 郑州大学软件学院郑州大学软件学院2021-5-7 22 顺序号是消息的一个数字前缀,是一个整数,由1开始 递增,每个消息都必须由唯一的顺序号。嵌套消息使 用点表示法。 郑州大学软件学院郑州大学软件学院2021-5-7 23 在协作图中的链和对象图中链的概念和表示形式都相同, 都是两个或多个对象之间的独立连接,是对象引用元组(有 序表),是关联的实例。 链是关联的实例,当一个类与另一个类之间有关联时,这 两个类的实例之间就有链,一个对象就能向另一个对象发送 消息。所以链是对象间的发送消息的路径。 郑州大学软件学院郑州大学软件学院2021-5-7 24

11、 在协作图中,链的表示形式为一个或多个相连的线或弧。在 自身相关联的类中,链是两端指向同一对象的回路,是一条 弧。为了说明对象是如何与另外一个对象进行连接的,我们 还可以在链的两端添加上提供者和客户端的可见性修饰。如 图所示,是链的普通和自身关联的表示形式。 郑州大学软件学院郑州大学软件学院2021-5-7 25 为了说明一个对象如何与另一个对象连接,可以在链的末 路上附上一个路径构造型。如构造型,表示指定 对象对发送方而言是局部的。 object1object2 l 郑州大学软件学院郑州大学软件学院2021-5-7 26 重点内容: lreviewreview l什么是协作图什么是协作图 l

12、组成协作图的元素组成协作图的元素 l使用使用roserose创建协作图创建协作图 l在项目中创建协作图及案例分析在项目中创建协作图及案例分析 l协作图与序列图的区别与联系协作图与序列图的区别与联系 l协作图与序列图的相互转换协作图与序列图的相互转换 郑州大学软件学院郑州大学软件学院2021-5-7 27 创建一个新的协作图,可以通过以下方式进行。 右键单击浏览器中的use case view(用例视图)、 logical view(逻辑视图)或者位于这两种视图下的包。 在弹出的菜单中,选中“new”(新建)下的 “collaboration diagram”(协作图)选项。 输入新的协作图名称

13、。 双击打开浏览器中的协作图。 郑州大学软件学院郑州大学软件学院2021-5-7 28 使用菜单栏中添加对象的步骤如下: 使用工具栏时,在菜单栏中,选择“tools”(工具)下 的“create”(创建)选项,在“create”(创建)选项中选择 “object”(对象),此时光标变为“”号。 在协作图中单击选择任意一个位置,系统在该位置创建一 个新的对象。 在对象的名称栏中,输入对象的名称。这时对象的名称也 会在对象上端的栏中显示。 郑州大学软件学院郑州大学软件学院2021-5-7 29 在协作图中创建链的操作与在对象图中创建链的操作相同, 可以按照在对象图中创建链的方式进行创建。同样我们也

14、可以在 链的规范对话框的“general”选项卡中设置链的名称、关联、角 色以及可见性等。 郑州大学软件学院郑州大学软件学院2021-5-7 30 链的可见性是指一个对象是否能够对另一个对象可见的机制。 郑州大学软件学院郑州大学软件学院2021-5-7 31 在协作图中添加对象与对象之间的简单消息的步骤如下: 1 选择协作图的图形编辑工具栏中的图标,或者选择菜单栏 “tools”(工具)中“create”(新建)下的“message”选项,此 时的光标变为“+”符号。 2 单击连接对象之间的链。 3 此时在链上出现一个从发送者到接收者的带箭头的线段。 4 在消息线段上输入消息的文本内容即可。

15、郑州大学软件学院郑州大学软件学院2021-5-7 32 重点内容: lreviewreview l什么是协作图什么是协作图 l组成协作图的元素组成协作图的元素 l使用使用roserose创建协作图创建协作图 l在项目中创建协作图及案例分析在项目中创建协作图及案例分析 l协作图与序列图的区别与联系协作图与序列图的区别与联系 l协作图与序列图的相互转换协作图与序列图的相互转换 郑州大学软件学院郑州大学软件学院2021-5-7 33 1 根据系统的用例或具体的场景,确定协作图中应当包含的 元素。 2 确定这些元素之间的关系,可以着手建立早期的协作图, 在元素之间添加链接和关联角色等。 3 将早期的协

16、作图进行细化,把类角色修改为对象实例,并 且链上添加消息并指定消息的序列。 郑州大学软件学院郑州大学软件学院2021-5-7 34 仓库管理员将生产的产品入库的基本工作流程步骤如下: 1 仓库管理员将通过库存管理子系统将生产的产品处理入库 2 仓库管理员通过库存管理子系统中的产品入库界面获取产 品信息。 3 产品入库界面根据产品的编号将产品类实例化并请求该类 产品信息。 4 产品类实例化对象根据产品的编号加载产品信息并提供给 产品入库界面。 5 仓库管理员通过产品入库界面增加产品数目。 6 产品入库界面通过产品类实例化对象修改产品信息。 7 产品类实例化对象向产品入库界面返回修改信息。 8 产

17、品入库界面向仓库管理员显示添加成功信息。 郑州大学软件学院郑州大学软件学院2021-5-7 35 从已经描述的用例中,我们可以确定需要“仓库管理员”和 “产品”二个对象。 对于本系统来说,我们需要一个提供仓库管理员与系统交互 的场所,那么我们需要一个“界面”对象。仓库管理员通过“产 品入库的界面”对象才能将产品放进仓库。将将这些对象列举到 协作图中。 郑州大学软件学院郑州大学软件学院2021-5-7 36 创建协作图的下一步是确定这些对象之间的连接关系,使用 链和角色将这些对象连接起来。在这一步中,我们基本上可以建 立早期的协作图,表达出协作图中的元素如何在空间上进行交互。 郑州大学软件学院郑

18、州大学软件学院2021-5-7 37 郑州大学软件学院郑州大学软件学院2021-5-7 38 根据“学生信息管理系统”的一个简单用例“教师查看 学生成绩” ,创建该用例的协作图。 郑州大学软件学院郑州大学软件学院2021-5-7 39 确定协作图的元素 从已经描述的用例中,可以确定需要“教师”、“学 生信息”、“学生成绩”对象 对于本系统来说,需要一个提供教师与系统交互的场 所,那么就需要一个“用户界面”,如果“用户界面” 对象需要获取“学生信息”和“学生成绩”对象的信息, 那么需要一个数据库的对象 郑州大学软件学院郑州大学软件学院2021-5-7 40 确定元素之间的结构关系 创建协作图的下

19、一步是确定这些对象之间的连接关系, 使用链和角色将这些对象连接起来。 郑州大学软件学院郑州大学软件学院2021-5-7 41 细化协作图 创建协作图的最后一步就是将早期的协作图进行细化。 郑州大学软件学院郑州大学软件学院2021-5-7 42 重点内容: lreviewreview l什么是协作图什么是协作图 l组成协作图的元素组成协作图的元素 l使用使用roserose创建协作图创建协作图 l在项目中创建协作图及案例分析在项目中创建协作图及案例分析 l协作图与序列图的区别与联系协作图与序列图的区别与联系 l协作图与序列图的相互转换协作图与序列图的相互转换 郑州大学软件学院郑州大学软件学院2021-5-7 43 取100元人民币的时序图 郑州大学软件学院郑州大学软件学院2021-5-7 44 取100元人民币的协作图 郑州大学软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论