uml系列(七)——交互图

交互图是uml中描述系统中的对象如何进行交互动作的 。

废话不多说,还是来张图:

概念

交互图,主要描述的是系统中的一组对象的消息的传递的,为对象间的交互定义了一个可视的表示方法。

构成

交互图并不是一个图,而是一些图的统称,就像我们在类图里说的超类一样。顺序图、通信图、定时图等都可以说是交互图。就像男人和女人都可以称为人类一样。

其中,应用的最多的就是顺序图和通信图(也有称为合作图、协作图)。有趣的是,这两种图是可以相互转换的,而且转换时不会丢失信息。而定时图和交互概述图是两种变体。

顺序图

图片引用自卓家进师哥的博客:http://blog.csdn.net/zhuojiajin/article/details/27358017?reload

顺序图强调的是消息的时间顺序,把参与交互的对象写在最上方如上图的刘备,把发起交互的写在最左边(一般情况下)依次放在右边,这样控制流随着时间推移就可以清晰的展示。

这里的向下的虚线就是对象的生命线,当关羽败走麦城被孙权处死后,关羽的这条虚线就会结束。这就是对象的销毁。

在生命线上的长条矩形,就是控制焦点,表示对象执行一个动作所经历的时间。

一个箭头,加一条线,再在线上写上内容就是消息的传递。消息主要有五种类型:调用、返回、发送、创建和销毁。下图是这几种消息的表示方式。

在三国的图中,每个消息前面都有一个数字,这就是消息的序列,消息就是按照序列进行的传递。

通信图

图片引用自卓家进师哥的博客:http://blog.csdn.net/zhuojiajin/article/details/27358017?reload

通信图的重点是说的联系,在这里,对象还是那个对象,消息也还是那个消息,不过是把原来的故事换了一种方式来提现罢了。顺序图主要说的是打仗的步骤,而通信图却是侧重于打仗时各个对象的关系。

链:如果非要说多了什么的话,那就是相关连的对象之间多了一条线。表示消息的路径。

通常情况下,我们都是使用顺序图来表示我们的系统的交互。这样更加的清晰。

时序图:给uml的顺序图的控制焦点加上时间限制就是时序图。

交互概况图:交互的顺序图和活动图的结合就是交互概况图。

绘制交互图

交互图通常是在分析模型或设计模型中提现,分析模型侧重于分析类的职责分配和交互流程,而设计模型中的交互图侧重于设计类的引入和实际方法的调用与流程控制。

交互图的设计思路是:先确定对象,然后确定消息的交互流程,然后完善交互图。

交互图的应用

交互图在分体阶段主要用于确定业务的逻辑流程。交互模型后,可以引入基础的类,然后优化设计。以便于提高代码的质量。在设计极端的交互图的作用主要是精化交互模型,然后使其与实际代码更加吻合。

交互图与活动图

交互图与活动图都是描述系统动态的关系。这两种模型的区别是:交互图强调的是对象的控制流,而对象图强调的是活动流程。比如,张三让他儿子去买酒。交互图强调的是:买酒的信息由张三发出,由他儿子接受;而活动图强调的是:张三先找到他儿子,然后他儿子去买酒。

时间: 2024-10-19 00:00:23

uml系列(七)——交互图的相关文章

struts2官方 中文教程 系列七:消息资源文件

介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字段标签,并根据用户的语言环境将文本更改为特定的语言. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列七:消息资源文件  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 信息资源属性文件 在Struts2 we

Exchange Server2013 系列七:客户端访问服务器高可用性部署实战

杜飞 在前面的文章中我们介绍了客户端访问服务器的高可用性技术,从这篇文章开始,我们就来看一个详细的高可用性部署方案. 首先,看一下我们的服务器列表: 编号 服务名 IP地址 功能 1 HYV01 IP:10.41.3.6 \16  网关:10.41.1.254 宿主机 2 HYV02 IP:10.41.4.6 \16  网关:10.41.1.254 宿主机 3 DF-DC01 IP:10.41.4.210\16 网关:10.41.1.254 DNS:10.41.4.210   10.41.4.2

C语言快速入门系列(七)

C语言快速入门系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比如二级指针, 指针数组,内存分配和const修饰指针常量等!下面就请大家跟随笔者的脚步,对 C指针神秘的一面进行进一步的解析吧! 本节学习路线图: 函数与指针: ①指针作为函数的形参: ②指向函数的指针: ③指针函数: ④带参数的主函数 ps:该代码的运行:先要编译生成exe文件后,来到exe所在文件目

Maven 系列 七 :Maven的生命周期和插件

一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周期是抽象的,其中的具体任务都交由插件来完成.Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin.用户也可自行配置或编写插件. 1 . 三套生命周期 Maven定义了三套生命周期:clean.default.site,每个生命周期都包含了一些阶段(phase).三套生命周期相互独立,但各个生

7.oracle学习门户系列七---网络管理和配置

oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上呢-..咳咳-..我们继续往下走 数据库的网络配置是比較基础可是也是很重要的.假设一个数据库连不上外部的世界:那么他就是一个孤立的资源,基本上就能够确认这是个无用的数据库系统. 我们在数据库定义中以前讲过,数据库是须要有多用户分享的,没有网络何来分享呢?对不正确.那肯定不是数据库了嘛. 前面摘要已经

iOS流布局UICollectionView系列七——三维中的球型布局

摘要: 类似标签云的球状布局,也类似与魔方的3D布局 iOS流布局UICollectionView系列七--三维中的球型布局 一.引言 通过6篇的博客,从平面上最简单的规则摆放的布局,到不规则的瀑布流布局,再到平面中的圆环布局,我们突破了线性布局的局限,在后面,我们将布局扩展到了空间,在Z轴上进行了平移,我们实现了一个类似UIPickerView的布局模型,其实我们还可以再进一步,类比于平面布局,picKerView只是线性排列布局在空间上的旋转与平移,这次,我们更加充分了利用一下空间的尺寸,来

S5PV210开发系列七_Nand驱动实现

S5PV210开发系列七 Nand驱动实现 象棋小子    1048272975 Nand flash具有大容量.改写速度快.接口简单等优点,适用于大量数据的存储,为固态大容量存储提供了廉价有效的解决方案.各种电子产品中如手机存储器.sd卡.u盘等均采用Nand flash存储,笔者此处就Nand驱动实现作一个简单的介绍. 1.  Nand flash概述 东芝公司在1989年最先发表Nand flash结构,强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级.随着Nand技术

小编带你了解Netty 系列七(那些开箱即用的 ChannelHandler).

一.前言Netty 为许多通用协议提供了编×××和处理器,几乎可以开箱即用, 这减少了你在那些相当繁琐的事务上本来会花费的时间与精力.另外,这篇文章中,就不涉及 Netty 对 WebSocket协议 的支持了,因为涉及的篇幅有点大,会在下一篇文章做一个具体的介绍. 回到顶部二.SSL 协议SSL 协议是安全协议,层叠在其他协议之上.为了支持 SSL/TLS, Java 提供了 javax.net.ssl 包,它的 SSLContext 和 SSLEngine 类使得实现解密和加密相当简单直接.

Deep Learning(深度学习)学习笔记整理系列七

Deep Learning(深度学习)学习笔记整理系列 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除. 3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢. 4)阅读本文需要机器学习.计算机视觉.神经网络等等基础(如果没有也没关系了,没