技术开发站45793.com
UML-通信图和交互概览图(通信图和顺序图的区别与联系)
发布时间:
2024年01月15日
UML-通信图和交互概览图(通信图和顺序图的区别与联系)
一、通信图简介
1.消息
2.链接
二、通信图和[顺序图](https://blog.csdn.net/weixin_65032328/article/details/135587782)的联系与区别
三、交互概览图
四、顺序图转化为通信图练习
一、通信图简介
通信图从另一个角度描述系统对象之间的链接,强调的是发送和接受消息的对象之间的组织结构。
通信图由
参与者
、
对象
、
链接
和
消息
构成。
通信图使用
长方形框
表示对象,参与者使用
人型符号
来表示。
当两个对象间有消息传递时用
没有箭头的直线连接
,表示这两个对象之间的
链接
。而两个对象间传递的消息使用
带箭头的直线表示
,由消息发出方指向接收方。
顺序图通过激活期的垂直位置描述交互的时间顺序,但通信图是没有代表时间轴的生命线的,因此为表示发送消息的时间顺序,通信图的每个消息前都需要附加数字编号。顺序图中的消息编号可以省略,通信图不能省略。
1.消息
通信图中的消息与顺序图中的消息一样,用于描述元素间的交互明细。
通信图上的消息使用直线和实心箭头从消息发送者指向消息接收者。
与顺序图一样,通信图上的系统元素也能发送传递给自身的消息。传递给自身的消息需要一个从对象到其本身的协作链接,以便能够调用消息。
2.链接
链接是通信图特有的元素,是对象间发送消息的路径。链接以链接两个参与者的单一线条来表示。
消息是对象之间传递的数据,而链接时消息传递的基础,只有有着链接的对象才可以传递消息。
二、通信图和
顺序图
的联系与区别
通信图和顺序图在语义上是
等价
的,所以顺序图和通信图可以彼此转换而
不会损失信息
。
顺序图针对一个用例或子系统。
通信图描述对象间的协作关系及影响,针对的是整个过程中的对象。
顺序图
侧重于描述对象
交互序列
,通常能够表达系统执行中的工作流。
通信图
侧重于描述系统
各对象间的关系
。
顺序图适用于描述对象间复杂的交互。
通信图适用于描述多对象间的相互影响,适用于复杂的对象。
通信图用于组织复杂的对象群体,通过对象群体间的协作关系,实现系统行为和功能。通信图更有利于描述给定对象间的所有影响,也更适合过程设计。
通信图和顺序图的选择:
如果主要针对特定交互期间的消息流,可以使用顺序图。
如果集中处理交互所涉及的不同参与者与对象之间的链接,则可以使用通信图。
三、交互概览图
交互概览图是
活动图
和
顺序图
的混合版,其主要结构像
活动图
,表示一个功能的实现流程。但是参与流程的节点不是一般的动作,取而代之的是
交互
。
交互概览图是活动图的一种形式,它的
节点
代表
交互图
。交互图包含顺序图、通信图、交互概览图和时间图。大多数交互概览图标注和活动图一样。
交互概览图将系统内单独的交互结合起来,并针对每个特定交互使用最合理的表示法,以显示出它们如何协同工作来实现系统的主要功能。
交互概览图将活动图中的
动作
改为交互概览图的
交互关系
。
交互概览图的构成元素有
初始状态
、
终止状态
、
工作流中的顺序图
和
通信图
、
交互
以及
判定决策点
。
交互概览图将系统工作流中的每个过程使用顺序图或通信图来描述,并通过箭头和判定决策点将这些模型联系起来,构成一个完整的工作流。
交互概览图与活动图一样,都是从初始节点开始,并以最终节点结束。在这两个节点之间的控制流为两者之间的所有交互。
以交互概览图为用例建模时,首先必须将用例分解成单独的
交互
,并确定最有效表示交互的图类型。
四、顺序图转化为通信图练习
下图为某零售过程的顺序图,请根据此设计结果画出对应的通信图, 用于描述各个对象两两之间的协作关系。
文章来源:https://blog.csdn.net/weixin_65032328/article/details/135589439
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!
最新文章
Python教程
深入理解 MySQL 中的 HAVING 关键字和聚合函数
Qt之QChar编码(1)
MyBatis入门基础篇
用Python脚本实现FFmpeg批量转换
微信小程序开发学习笔记②组件和API
scratch的运算积木
Android/iOS APP备案流程指南
SpringBoot连接mysql数据库相关配置(druid连接池)
2024年【P气瓶充装】考试题及P气瓶充装考试资料
OpenAPI自助诊断-阿里云超好用的一个东西
P1262 间谍网络
超维空间S2无人机使用说明书——11、使用3维激光雷达实现ROS无人机的精准定位
Redis内存淘汰策略
JS数组函数 reduce() 的用法—包含基础、进阶、高阶用法