-
2018-11-26 15:42:06
协作图的基本概念
含义:协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色和关联角色。类元角色和关联角色描述了对象的配置和当一个协作的实例执行时可能出现的连接。当协作被实例化时,对象受限于类元角色,连接受限于关联角色。
作用:协作图作为一种在给定语境中描述协作中各个对象之间组织交互关系的空间组织结构的图形化方式,在使用其建模时,可以将其作用分为以下三个方面:通过描绘对象间消息的传递情况来反映具体的使用语境的逻辑表达;显示对象及其交互关系的空间组织结构;协作图的另外一个作用是表现一个类操作的实现。
协作图和序列图虽然都表示出了对象间的交互作用,但它们的侧重点不同。序列图注重表达交互作用中的时间顺序,但没有明确表示对象间的关系。而协作图却不同,他注重表示对象间的关系,但时间顺序可以从对象流经的顺序编号获得。序列图常常被用于表示方案,而协作图则被用于过程的详细设计。
组成协作图的元素
对象、消息和链这三个元素构成了协作图。协作图通过各个对象之间的组织交互关系以及对象彼此之间的连接表达对象之间的交互。
对象:协作图中的对象与序列图中的对象的概念相同,同样是类的实例。一个协作代表为了完成某个目标而共同工作的一组对象。对象的角色表示一个或一组对象在完成目标的过程中所起到的那部分作用。对象是角色所属类的直接或者间接实例。在协作图中,不需要关于某个类的所有对象都出现,同一个类的对象在一个协作图中也可能要充当多个角色。
消息:在协作图中,我们可以通过一系列的消息来描述系统的动态行为。和序列图中的消息概念相同,都是从一个对象向另一个或其他几个对象发送信号,或由一个对象调用另一个对象的操作,并且都由三部分组成,分别是发送者、接收者和活动。
链:协作图中的链与对象图中的链的概念和表示形式都相同,都是两个或多个对象之间的独立连接,是对象引用元祖,也是关联的实例。在协作图中,关联角色是与具体语境有关的暂时的类元之间的关系,关联角色的实例也是链,其寿命受限于协作的长短,就如同序列图中对象的生命线一样。
更多相关内容 -
实用StarUML建立协作图(英文)
2021-02-21 20:45:18Thefollowingelementsareavailableinacollaborationdiagram.ObjectLinkSelfLinkStimulusFrameObjectProcedureforcreatingobjectInordertocreateObject,Click[Toolbox]->[Collaboration]->[Object]button.... -
UML协作图编写规范
2021-03-03 21:49:56协作图是一种交互图(interactiondiagram),强调的是发送和接收消息的对对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也... -
火车购票系统UML类图_时序图_状态图_协作图_活动图_对象图
2021-05-06 07:00:161 需求分析 1 1.1 需求概述 1 1.2 需求分析 2 1.3 需求模型(用例图) 5 2 静态模型 6 2.1 类图 6 2.2 对象图 6 2.3 包图 7 ...3.3 协作图 8 3.4 活动图 8 4 项目组成员分工说明 9 5 总结 10 6 参考资料 11 -
UML实践----用例图、顺序图、状态图、类图、包图、协作图
2021-02-21 21:02:32UML中有九种建模的图标,即:用例图类图对象图顺序图协作图状态图活动图组件图配置图本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。为什么UML很... -
UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图
2021-02-26 01:08:33UML中有九种建模的图标,即:用例图类图对象图顺序图协作图状态图活动图组件图配置图本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。为了回答这个... -
UML期中大作业的所有图-类图/用例图/活动图/状态图/顺序图(协作图)
2021-01-21 20:55:34期中作业 -
时序图、活动图、状态图、协作图的区别
2020-08-20 22:00:23本文主要简单介绍了时序图、活动图、状态图、协作图的区别 -
基于网络商城的协作图
2014-12-24 19:45:39基于网络商城的协作图设计,使其设计上更清楚,更完整。代码方面更简单 -
学生选课协作图
2013-10-22 12:58:59学生选课协作图 -
采购、入库、出库、销售、物流等部门协作图2.pdf
2020-07-17 14:20:19描述整个跨境电商流程中的采购、仓库入库、出库、前端销售、支付、物流发货等模块的协作流程、为新入行的电商小伙伴提供基础知识储备。 -
图书馆理系统_用例图、时序图、协作图
2013-07-03 09:41:40图书馆理系统_用例图、时序图、协作图本实验目的在于灵活运用用例图、类图、对象图、活动图、顺序图、通信图、时序图、状态图完成图书管理系统的分析与设计。在图书管理系统设计中,使用各种UML图,从各个侧面分析... -
uml图书馆协作图
2013-01-09 13:38:02后置条件: 如果是一次新的借书活动,检查图书否是被预订,检查读者是否可借阅, 可借阅,则一个借阅信息实例被创建(实例创建), 如果是一次新的借书活动,新生成的借阅信息实例与图书馆发生关联(形成关联) ... -
顺序图和协作图
2012-12-06 20:27:22这是UML的顺序图和协作图的介绍,希望对大家有帮助 -
一个基于UML协作图的集成测试用例生成方法(三)
2021-03-23 14:57:213、基于协作图生成集成测试用例的方法3.1研究假定为了有针对性地解决从协作图生成测试用例的问题,本文作出如下假定和要求:(1)假定协作图描述的协作与用例图描述的规约是一致的。模型本身的验证是通过非形式化的... -
powerdesigner12.5里创建顺序图、协作图、状态图、组件图和配置图
2014-05-30 10:06:10资源是作者本科时,使用power designer 12.5工具,在里面创建顺序图、协作图、状态图、组件图和配置图。大家感兴趣的话欢迎下载。 -
用Rational Rose设计时序图和协作图
2012-05-02 18:02:09使用Rational Rose设计时序图和协作图的一些简单例子! -
简单选课系统uml用例图、协作图、序列图
2012-05-10 22:24:11涵盖了用例图、协作图、序列图中各种典型的元素,可用作初学者参考 -
UML网购系统序列图和协作图
2012-12-06 11:50:20UML网购系统序列图和协作图,思路比较清晰,分类详细,容易明白,请大家多多指教。 -
软件工程导论_顺序图和协作图_艾孜尔江·艾尔斯兰著.docx
2020-01-01 21:39:07本文主要讲述了通过软件工程导论的形式创建顺序图和协作图的过程,由艾孜尔江·艾尔斯兰亲自实践并执笔撰著,后续仍有更新,尽情关注! 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的... -
UML--协作图详解
2019-10-23 11:37:20协作图 协作图包含一组对象和以消息交互为联系的关联,用于描述系统的行为是如何由系统的成分合作实现的。在协作图中,类元角色描述了一个对象,关联角色描述了协作关系中的链,并通过几何排列表现交互作用中的各个...协作图
协作图包含一组对象和以消息交互为联系的关联,用于描述系统的行为是如何由系统的成分合作实现的。在协作图中,类元角色描述了一个对象,关联角色描述了协作关系中的链,并通过几何排列表现交互作用中的各个角色。
协作图的含义
所谓协作,是指在一定的语境中一组对象以及用以实现某些行为的这些对象间的相互作用。它描述了这样一组对象为实现某种目的而组成相互合作的“对象社会”。在协作中,它同时包含了运行时的类元角色(Classifier Roles)和关联角色(Association Roles)。类元角色表示参与协作执行的对象描述,系统中的对象可以参与一个或多个协作;关联角色表示参与协作执行的关联的描述。
协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色和关联角色。类元角色和关联角色描述了对象的配置和当一个协作的实例执行时可能出现的连接。当协作被实例化时,对象受限于类元角色,连接受限于关联角色。
-
从结构方面来讲:
协作图和对象图一样,包含了一个角色集合和它们之间定义行为方面的内容的关系,从这个角度来说,协作图也是类图的一种,但是协作图与类图这种静态视图不同的是,静态视图描述了类固有的内在属性,而协作图则描述了类实例的特性,因为只有对象的实例才能在协作中扮演自己的角色,它再协作中起了特殊的作用。 -
从行为方面来讲:
协作图和序列图一样,包含了一系列的消息集合,这些消息在具有某一角色的各对象间进行传递交换,完成协作中的对象则为达到的目标。可以说在协作图的一个协作中描述了该协作所有对象组成的网络结构以及相互发送消息的整体行为,表示潜藏于计算过程中的三个主要结构的统一,即数据结构、控制流和数据流的统一。
协作图的作用
协作图作为一种在给定语境中描述协作中各个对象之间组织交互关系的控件阻止结构的图形化方式,在使用其建模时,可以将其作用分为以下三个方面。
- 通过描绘对象间消息的传递情况来反映具体的使用语境的逻辑表达。一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流,这个序列图的作用类似。
- 显示对象及其交互关系的控件阻止结构。协作图显示了在交互过程中各个对象之间的阻止交互关系以及对象彼此之间的连接。与序列图不同,协作图显示的是对象之间的关系,并不是侧重交互的顺序,它没有将时间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺序。
- 协作图的另外一个作用是表现一个类操作的实现。协作图可以说明类操作中使用到的参数、局部变量以及返回值等。当使用协作图表现一个系统行为时,消息编号对应了程序中的嵌套调用结构和信号传递过程。
组成协作图的元素
对象(Object)、消息(Message)和链(Link)这三个元素构成了协作图。协作图通过各个对象之间的组织交互关系以及对象彼此之间的连接表达对象之间的交互。
对象:
协作图中的对象和序列图中的对象的概念相同,同样都是类的实例。对象的角色表示一个或一组对象在完成目标的过程中所应起的那部分作用。对象是角色所属类的直接或者间接实例。在协作图中,不需要关于某个类的所有对象都出现,同一个类的对象在一个协作图中也可能要充当多个角色。协作图中对象的表示方式也和序列图中对象的表示方式一样,使用包围名称的矩形框来标记,所显示的对象及其类的名称带有下划线,两者用冒号隔开,使用“对象名:类名”的形式,与序列图不同的是,对象的下部没有一条被称为“生命线”的垂直虚线,并且对象存在多对象的形式。
消息:
在协作图中,可以通过一系列的消息来描述系统的动态行为。和序列图中的消息概念相同,都是从一个对象(发送者)向另一个或几个其他对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作,并且都由三部分组成,分别是发送者、接收者和活动。在协作图中,消息使用带有标签的箭头表示,它附在连接发送者和接收者的链上。链连接了发送者和接收者,箭头的指向便是接收者。消息也可以通过发送给对象本身的方式,依附在连接自身的链上。在一个连接上可以有多个消息,它们沿着相同或不同的路径传递。每个消息包括一个顺序号以及消息的名称。消息的名称可以是一个方法,包含一个名字、参数表和可选的返回值表。消息的各种实现的细节也和“交付商品”两步。
链:
协作图中的链与对象图中的链的概念和表示形式都相同,都是两个或多个对象之间的独立连接,是对象引用元组(有序表),也是关联的实例。在协作图中,关联角色是与具体语境有关的暂时的类元之间的关系,关联角色的实例也是链,其寿命受限于协作的长短,就如同序列图中对象的生命线一样。在协作图中,链的表示形式为一个或多个相连的线或弧。在自身关联的类中,链是两端指向同一对象的回路,是一条弧。为了说明对象是如何与另外一个对象进行连接的,可以在链的两端添加上提供者和客户端的可见性修饰。
-
-
时序图和协作图
2018-11-28 11:42:40时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作 或者 引起状态机改变的触...一. 时序图 (Sequence Diagram)
1.时序图的概念
时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图;
时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作 或者 引起状态机改变的触发事件;
时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象A像对象B发送消息, 用一条带箭头的实线表示, 该实线起始于对象A底部的虚线, 终止于对象B底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送.
时序图轨迹 : 时序图提供了随时间推移的, 清晰的 可视化的轨迹;
2. 时序图组成
时序图组成 : 时序图包括四个元素 对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);
(1) 对象(Object)
对象 : 时序图中的对象在交互中扮演的角色就是对象;
对象的符号 : 时序图中的对象与对象图中的表示方法一样, 使用矩形将对象名称包含起来, 并且对象名称下有下划线;
对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进行创建;
-- 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;
-- 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的;
(2) 生命线(Lifeline)
生命线 : 生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象的底部都有生命线;
生命线作用 : 生命线是一个时间线, 从时序图顶部一直到底部都存在, 其长度取决于交互的时间;
对象的生命线 : 对象与生命线结合在一起就是对象的生命线, 这个概念包含对象图标 以及 对象下面的生命线图标 如上图;
(3) 激活(Activation)
激活(Activation) : 代表时序图中对象执行一项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表示该对象被占用以完成某个任务;
去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;
激活的表示 : 当对象处于激活时期, 生命线可以拓宽为矩形, 这个矩形条成为激活条;
激活去激活的时机 :
-- 激活 : 对象激活是在激活条的顶部激活;
-- 去激活 : 激活条的底部去激活, 通常发生在一个消息离开对象生命线;
(4) 消息
消息概念 : 定义 交互 和 协作 中 交换信息 的类, 对 对象之间的 通信内容 建模;
消息动作 :
-- 动作种类 : 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过 发送 和 接收 消息 进行通信;
-- 产生结果 : 消息可以触发操作, 唤起信号, 或使目标对象创建 或 销毁;
消息的异步和同步通信 :
-- 异步通信 : 消息是信号的时候, 发送信号之后, 等待对方触发相应方法, 这是明确的 命名的 对象间的异步通信;
-- 同步通信 : 直接调用对象的方法, 执行方法返回结果, 这种具有返回控制机制的操作是同步通信;
时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;
消息类型 :
--
: 两个对象间绘制消息;
--
: 两个对象之间的过程调用;
--
: 两个对象之间的异步消息;
--
: 过程调用中返回的消息;
--
: 绘制反身消息;
3. 时序图示例
示例简介 :
-- 使用场景 : 汽车租赁公司;
-- 使用的对象 : Customer (客户), Worker (工作人员), Order (请求), Record (记录), Car (汽车);
-- 工作流程 : ① 客户 向 工人 提出租车要求, ② 工人 检查 请求, ③ 客户 付款, ④ 工人 填写 记录, ⑤ 工人 取车;
时序图 :
4. 对象的创建和撤销
对象位置 :
-- 顶部 : 时序图中对象的默认位置是在时序图顶部, 这表明对象在交互开始之间就已经存在;
-- 中间 : 如果对象在时序图中间部分, 说明对象时在交互过程中创建的;
交互过程中创建对象的方法 :
-- 消息指向对象 : 消息是构造方法, 箭头指向对象所代表的的矩形;
-- 消息指向激活条 : 消息是构造方法, 箭头指向对象下面的激活条;
撤销对象 : 如果想要在时序图中撤销一个对象, 因为如果同时有几个对象, 如果不进行特殊操作其生命周期将会一样长;
-- 效果图 : 下图中将 Customer 和 Order 对象撤消了, 因为它们基本没有参与后期的交互;
5. 时序图建模技术
时序图使用时机 : 对动态行为建模, 强调时间展开信息的次序的时候, 使用时序图;
时序图管理策略 :
-- 单一控制流 : 一个单独的时序图只能显示一个控制流;
-- 多个时序图 : 完整的控制流很复杂, 可以绘制多个时序图, 一个主干时序图, 多个分支时序图, 使用包对这些时序图进行管理;
时序图建模策略 :
-- 设置交互语境 : 交互所在的环境, 包括哪些对象, 属于什么系统, 子系统, 相关的操作 类 用例等;
-- 对象排列顺序 : 根据对象重要性, 从左到右排列在时序图中;
-- 对象生命线 : 对象通常存在于交互的整个过程, 也可以在交互过程中被创建和撤销;
-- 消息排列 : 引发交互信息之后, 消息按照时间顺序从上向下画出, 先发出的消息 在 后发出的消息上面;
-- 激活期设置 : 可以将实际操作发生的 时间点 消息 明确的显示出来;
-- 时间空间约束 : 每个消息都可以附加合适的时间 和 空间约束;
-- 前置后置条件 : 每条消息可以附加 前置 或 后置 条件;
6. Rational Rose 时序图 操作
(1) 创建时序图
新建时序图 : 在 视图浏览器 中 右键点击 Logical View (逻辑视图), 选择 New(新建) -> Sequence Diagram(时序图);
(2) 添加对象
添加对象 : 时序图中有两种对象, 一种是参与者Actor, 一种是普通的对象;
-- 参与者对象 : 在类图中创建一个对象, 将其 Stereotype 修改为 Actor, 就变成了参与者, 然后在 视图浏览器中将这个元素拖到时序图中即可;
-- 普通对象 : 直接在 时序图中 点击
按钮, 在界面中创建对象;
-- 两种对象效果 :
设置对象属性 : 双击对象, 在弹出的 General 对话框中修改对象属性;
-- Name : 对象名称, 不输入也可以;
-- Document : 描述对象的文档;
设置对象持续性 :
-- 持续 (Persistent) : 对象保存在数据库 或 其它形式的永久存储体中;
-- 静态 (Static) : 对象保存在内存中知道程序终止;
-- 临时 (Transient) : 短时间内保存在内存中;
(3) 添加消息
消息作用 : 消息用两个对象生命线之间的箭头表示, 一个对象可以通过消息请求另一个对象执行某个操作;
增加消息 :
-- 发送消息 : 将
从发送消息对象的生命线 拖到 接收消息对象的生命线上;
-- 显示取消编号和激活条 : 菜单栏 Tools -> Options -> Diagram 选项卡, Sequence numbering 是消消息编号 , Focus of control 显示激活条;
时序图和协作图可以使用F5进行相互转换。
二. 协作图 (Collaboration Diagram)
1. 协作图概念
协作图 : 协作图是 一种 类图, 包含 类元角色 和 关联角色, 不仅仅是 类元 和 关联;
-- 强调 : 强调参与交互的 各个对象的结构信息 和 组织;
协作图建模对象 : 对有交互的对象 和 这些对象之间的关系建模, 不参与交互的对象及它们的关系忽略;
协作图内容 : 协作图中表现了 类操作中用到的参数, 布局变量, 操作中的永久链;
对象图扩展 : 协作图可以看做对象图的扩展, 该图展示了对象之间的关联, 显示出了对象间的消息传递;
2. 协作图内容
(1) 对象(Object)
对象 : 代表协作图 交互 中的主体, 和时序图中对象的概念类似;
协作图 和 时序图中对象区别 : 协作图中对象无法 创建 和 撤销, 因此 对象在协作图的位置没有限制;
(2) 链(Link)
.
链的表示 : 链的符号 和 对象图中 链所用的符号是一样的, 用来连接两个类角色的实线;
--
: 创建对象之间的通信路径;
--
: 显示对象可以调用自己的属性;
--
: 在两个对象之间 或 一个对象本身增加消息;
--
: 在两个对象之间 或 一个对象本身 从反方向增加消息;
--
: 显示两个对象之间的信息流;
--
: 在反方向显示两个对象之间的信息流;
路径构造性 : 对象之间的连接 可以由 链末尾 附加的 路径构造型表示;
-- 添加方式 : 双击链, 选择 visibility属性即可;
(3) 消息 (Message)
消息概念 : 对象间通过链接发送的就是消息;
-- 消息传递方向 : 对象之间的箭头表明对象间交换的消息流, 一个对象发出消息, 链指向的对象接收消息, 链用于实现消息传输;
-- 消息标识 : 消息流标有消息的序列号 和 对象间发送的消息名称;
-- 消息结果 : 每条消息否会触发接收对象的一系列操作;
消息序号 : 协作图 与 时序图 中的 消息类型 是一样的, 为了表明消息顺序, 需要为消息添加序号;
3. 协作图示例
示例简介 : 汽车租赁流程;
-- 涉及到的对象 : Customer (客户), Order (订单), Worker (工人), Record (记录), Car (汽车);
-- 流程简介 : 客户 写好 订单, 工人 核对 订单, 核对后 订单 存在, 允许 客户 取车, 工人 填写 记录, 并将车 取出;
4. 协作图建模策略
协作图使用场景 : 对系统动态行为建模, 按组织对控制流建模使用协作图;
协作图管理策略 :
-- 单个协作图 : 单个协作图 只能 显示一个控制流;
-- 多个协作图 : 描述复杂系统的时候, 需要许多协作图共同描述, 一些图是主干协作图, 还有许多分支路径的控制流的协作图, 使用包管理这些协作图;
协作图的建模策略 :
-- 设置语境 : 设置 协作图所在的环境 , 如 系统, 子系统, 类, 操作, 用例 或 用例脚本;
-- 对象顶点 : 识别对象在协作图中扮演的角色, 协作图中, 对象是图的顶点;
-- 变化修改 : 每个对象最初都会设置初始值, 如果期间对象发生了变化, 修改的方式是 : 协作图中放置一个复制对象, 更新复制对象, 同过后造型 become copy 连接二者;
-- 确定链接顺序 : 先确定关联链接, 哪些对象相互链接; 在确定消息链接, 路径构造型等 表示对象间如何连接;
-- 消息顺序 : 从引起交互的消息开始编号, 将编号信息 和 描述信息 附到链接上, 描述了对象之间的传递次序;
-- 时间空间约束 : 可以为每个消息附加 时间 和 空间 上的约束;
-- 前置后置条件 : 可以为每个消息附加 前置 和 后置 条件;
5. Rational Rose 绘制 协作图
(1) 创建协作图
创建流程 : 视图浏览器 -> Logical View (逻辑视图) -> New (新建) -> Collaboration Diagram (协作图);
(2) 添加对象
协作图中添加对象 : 与时序图基本类似;
-- 添加参与者对象 : 在类图中创建好类, 然后将类型设置为Actor, 然后在视图浏览器中将Actor拖到协作图中;
-- 添加普通对象 : 直接点击工具栏中的图标设置即可;
(3) 添加消息
添加对象间消息 : 在两个对象之间添加消息;
-- 建立通信路径 : 使用
连接两个对象, 建立两个对象间的通信路径;
-- 添加消息 : 使用
或
在通信路径上添加消息;
-- 设置消息名称 : 双击消息箭头, 可以在弹出的对话框中修改消息名称;
添加反身消息 : 选择
点击 对象, 就会出现指向对象本身的路径, 选择
点击这个指向本身的路径, 可以为该对象添加消息;
(4) 添加数据流
数据流概念 : 数据流是一个对象向另一个对象发送消息返回的消息;
-- 使用场景 : 没必要在每个消息上都加上数据流, 只要在中药消息上附加数据流即可;
数据流添加方法 : 选择
或
按钮, 单击要返回的数据消息, 数据流箭头就会被添加到这个消息上;
.
6. 时序图 与 协作图 转换
各自侧重点 : 时序图 和 协作图 是等价的, 可以任意转换, 而不丢失信息;
-- 时序图 : 描述交互过程中的时间顺序, 没有明确表达对象间关系;
-- 协作图 : 描述了对象间的关系, 但是时间顺序必须从消息的序号中获取;
转换示例 :
-- 场景介绍 : 学生毕业管理;
-- 对象介绍 : 教务人员, 学位评价, 成绩管理, 奖惩管理, 信息打印;
-- 控制流介绍 : ① 教务人员 输入学号 进入学位评价模块, ② 学位评价模块 会向 成绩管理模块查询成绩, ③ 向奖惩管理模块 查询 奖惩记录, ④ 学位评价模块 会将结果打印到 信息打印模块, ⑤ 信息打印模块 将结果返回给教务人员;
时序图 :
协作图 :
7. 时序图 和 协作图 对比
时序图 和 协作图 共同点 : 都是有 消息 和 类角色组成;
-- 规定责任 : 时序图 和 协作图 都规定了 消息发送对象 和 消息接收对象 的责任, 每个接收对象都有消息对应的接口, 这个接口方法由消息发送对象触发;
-- 支持消息 : 时序图 和 协作图 都支持消息;
-- 衡量工具 : 时序图 和 协作图 可以作为衡量系统耦合性的工具, 耦合性就是 系统中模型之间的依赖性, 两个模型之间的依赖关系通过查看两个模型之间的消息数量 和 类型就可以看出, 消息交互少的 耦合性高;
时序图 和 协作 不同点 :
-- 对象创建撤销侧重点 : 时序图侧重描述对象的创建 和 撤销, 新创建的对象放在对象生命线上对应的时间点, 撤销的对象在结束的地方放一个 X 表示该对象不能再继续使用; 协作图中 创建 撤销的概念不存在, 对象时始终存在的, 只能通过消息描述 或 约束 来说明对象的创建和撤销;
-- 链接侧重点 : 时序图 中的链 没有表示出来, 可以随意绘制消息, 有些逻辑交互可能不会发生; 协作图 的消息 是映射在链 上的, 消息 和 链 平行放置, 如果想要通过消息 查看 对象之间的关联 使用协作图最好;
-- 激活和去激活 : 时序图表现有激活 和 去激活, 协作图上没有时间概念的描述, 无法清晰地表示对象的激活 和 去激活;
-
rational rose 图书管理系统 用例图 时序图 协作图等全部图
2013-11-27 17:18:13rational rose 图书管理系统 用例图 时序图 协作图等全部图 -
一个基于UML协作图的集成测试用例生成方法(二)
2021-03-23 14:57:192、协作图与集成测试2.1协作图的语法和语义UML协作图[7]就是用来表示一组通过交互来实现某些行为的对象,可以用来可视化、详细描述、构造和文档化一个特定的对象群体的动态方面,也可以用来按交互中的角色及其关系对... -
UML教程5:协作图
2020-07-24 09:22:15文章目录五、协作图5.1 概要5.2 协作图中的事物及解释5.3 协议图中的关系及解释5.4 消息标签5.5 协作图与顺序图的区别和联系5.6 协作图例子 本文转载自:https://www.cnblogs.com/leafsunshin/p/11495300.html 作者...本文转载自:https://www.cnblogs.com/leafsunshin/p/11495300.html
作者:许东明
大纲
UML教程1:模型图的构成和功能说明
UML教程2:用例图
UML教程3:类图
UML教程4:顺序图
UML教程5:协作图
UML教程6:状态图
UML教程7:活动图
UML教程8:构件图 部署图 附录
五、协作图
5.1 概要
- 协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。
- 协作图主要描述协作对象间的交互和链接,显示对象、对象间的链接以及对象间如何发送消息。
- 协作图可以表示类操作的实现。
5.2 协作图中的事物及解释
5.3 协议图中的关系及解释
5.4 消息标签
消息标签的Format: [前缀] [守卫条件] 序列表达式 [返回值:=] 消息名
- 前缀的语法规则: 序列号,序列号,…,序列号 ‘/’
(前缀用来同步线程,意思是在发送当前消息之前指定序列号的消息被处理.例:1.1a, 1.1b/) - 守卫条件的语法规则: [条件短句]
说明:条件短句通常用伪代码或真正的程序语言来表示。 例:[x>=0] - 返回值和消息名:返回值表示一个消息的返回结果,消息名指出了消息的名字和所需参数。 例:x:=calc ( n )
- 下面是一个完整的消息标签:
5.5 协作图与顺序图的区别和联系
- 协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。
- 顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。
- 协作图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。
- 协作图和顺序图可以相互转化。
5.6 协作图例子
1.打印操作的协作图
2.乘坐电梯的协作图
图中存在的事物有: 参与者 按钮对象 电梯控制对象 命令对象 工作队列 电梯对象 图中存在的关系有: 链接
参与者需要乘坐电梯,他从系统外部按下按钮,让电梯到达他想去的楼层。此时,电梯系统的操作被启动,电梯控制对象以循环的方式检查所有的电梯,从中选择一个工作队列长度最短的。然后,它创建一个作业命令,并将该命令放入对应电梯的工作队列,接着激活队列。电梯对象并发运行,从它的队列中选择一个作业并执行。电梯是一个活动对象,它与它的控制线程并发执行。
-
UML--协作图
2021-04-27 10:58:07协作图(Collaboration Diagram /Communication Diagram,也叫合作图、通信图)是另一种交互图(interaction diagram)。它强调的是对象之间的交互关系。表示了协作中各元素所处的位置。在一个协作中,描述了该协作中...