UML中的交互图<转>
转自>>http://blog.csdn.net/mingxuanyun/article/details/8572128
交互图用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的。
交互图由一组对象和它们之间的关系构成,其中包括:需要什么对象,对象相互之间发送什么消息,什么角色启动消息以及消息按什么顺序发送。
交互图的分类:
交互图主要分为这两种:顺序图和协作图。
- 顺序图—强调消息的事件顺序
- 协作图—强调对象之间的交互关系
顺序图描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序。
顺序图,包括时间顺序,不包括对象联系。也就是说我们在建立顺序图当中,只需考系统虑系统行为的先后顺序,而不需要考虑他们之间的关系。把对象之间的行为按照时间的先后顺序画出来就可以了。
在UML中,顺序图由一个二维图描述系统中各个对象之间的交互关系。其中,纵轴表示时间,横轴表示参与交互作用的对象。
顺序图的构成:
- —对象与角色:上面的矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代表现实世界中的某个东西。
- 生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在
- 消息:是对象之间的通信,可以是信号或者操作调用。
其中消息主要有这几种形式:
- 调用(Call):表示调用某个对象的一个操作。可以是对象间的调用,也可以使对象本身的调用。
- 返回(Return) 返回表示被调用的对象向调用者返回一个值。
- 发送(Send):对象发送信号,与调用不同,调用是同步的机制,而信号是一种异步的机制。也就是说,当对象A调用对象B时,A发送完消息之后是会等B执行完所调用的方法之后再继续执行的;如果说对象A发送了一个信号给对象B,那么A在发送完信号之后,就会继续执行,不会等待。
- —创建(Creat)创建意味着该对象生命线的开始,
- 销毁(Destory)通常连接着的是目标对象的生命终止符号
消息的表示方法:用消息线表示,一个对象到另一个对象的消息用跨越对象生命线的一条消息线表示出来,包括反身消息
消息的分类:
同步:在一定程度上可以看作是一个单线程,这个线程请求一个方法后,就待这个方法给他回复,否则他就不往下执行。
异步:在一定程度上可以看做是一个多线程。请求一个方法后,就不管了,继续执行其他的方法。
PS:一般情况下用简单消息就行了。
协作图:强调参加交互对象的组织。
协作图与顺序图的关系:
- 二者在语义上等价
- 二者可以相互转化
- 二者的侧重点不同:
- 顺序图强调时间顺序
- 协作图侧重对象之间的关系。
UML中的交互图<转>的更多相关文章
- UML中的图的出现顺序
上接:UML从需求到设计--用例 从开始接触UML到现在对UML逐渐有了更深入的了解.刚开始,对于UML总是感觉UML就是图.一提起UML 就想着这个是画图的东西. 具体这些图都是干什么的.为什么会有 ...
- UML中关联(Association)、聚合(Aggregation)和合成(Composition)之间的区别
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 现在,我们需要设计一个项目管理系统,目前我们收集到了如下这些需求: REQ1:一个项目内有多名项目成 ...
- 软件设计之UML—UML中的六大关系
一.UML中的六大关系 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation), ...
- UML中的stereotype
在使用rose的时候.rose的类里面有个stereotype的选项.选择了不同的选项类会呈现不同的图形效果.这里对stereotype做一点总结, Stereotyp英文的原意是印刷中的铅字.比如, ...
- UML中的关联关系
UML中的关联关系其内在意思就是has a 如图: 相对于依赖关系,关联关系在代码中有所体现.上图中的关联关系在代码中体现为 其中water 中将Climate作为其中的属性. 当然,关 ...
- UML中的依赖关系
UML中的五种关系和设计模式中的代码实现. 又重新听了一遍UML中的关系.感觉又是收获很大. UML中的关系有依赖,关联(聚合,组合),泛化(也叫继承),实现 现在一个一个的来实现: 一:依赖 依赖关 ...
- [译] UML中的关系之Dependency
在UML中,依赖关系表示Client依赖于另一个元素,叫做Supplier. 通常来说,依赖关系不需要特殊的名字. 依赖的类别 抽象 abstraction, derive, refine, trac ...
- UML中的用例(Use Case)概念分析及StarUML实例
在UML中use case似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用例描述.用例图由参与者(Actor).用例 (Use Case).系 ...
- UML 中的用例图解析以及starUML详细介绍
UML中的用例(Use Case)概念分析及StarUML实例 在UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用 ...
随机推荐
- tablbView中section的间距
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { if (sect ...
- [Linked List]Reorder List
otal Accepted: 54991 Total Submissions: 252600 Difficulty: Medium Given a singly linked list L: L0→L ...
- U - 神、上帝以及老天爷(第二季水)
Description HDU 2006'10 ACM contest的颁奖晚会隆重开始了! 为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这样的: ...
- 去除除服串中的某些字符,不用String内置方法
import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { public static vo ...
- 用JavaScript将Canvas内容转化成图片的方法
上周我们花了半天时间开发下一个准备放进Mozilla Marketplace的应用.有一个应用现在非常的火热,那就是Instagram,Facebook花了100万美元收购了它.我们也想有100万美元 ...
- [汇编语言]-第九章 根据位移进行转移的jmp指令 段内短转移 段内近转移 段间转移(远转移) 转移的目的地址在指令中,在寄存器中,在内存中的jmp指令
1- jmp为无条件转移指令,可以只修改IP, 也可以同时修改CS和IP jmp指令要给出两种信息: (1) 转移的目的地址 (2) 转移的距离(段间转移, 段内转移, 段内近转移) 2- 依据位移进 ...
- 【maven学习笔记】 01 初见
想学maven,maven是ant的替代品. 1:下载 maven是apache的顶级项目,在http://maven.apache.org/可以直接下载. 2:环境变量 下载完要配置环境变量,把bi ...
- Amazon 解决下载文件乱码
大家在做多个站点的时候,可能会遇到下载下来的报告文件出现乱码. 法国站点和意大利站点均会出现这样的情况,那怎么解决呢? 这是由于编码的问题而导致,在我们读取数据插入到本地数据库的时候,不妨先将格式转成 ...
- (十二)boost库之多线程高级特性
(十二)boost库之多线程高级特性 很多时候,线程不仅仅是执行一些耗时操作,可能我们还需要得到线程的返回值,一般的处理方法就是定义一个全局状态变量,不断轮训状态,就如我目前维护的一个项目,全局变量定 ...
- PHP实现好友生日邮件提醒
我有一个想法是这样的,希望每天知道今天是我哪位好友的生日? 当然,我得首先保存我所有好友的生日信息 实现:在新浪申请免费服务器,并申请Mysql应用,然后建一张表保存好友的信息 我想,我已经完成第一步 ...


