- 07-24 728
- 01-30 2346
来源:http://blog.csdn.net/shift_wwx/article/details/79205187 一、前言 ...
- 08-07 820
- 下载 11-27
- 09-01 3275
- 下载 11-29
- 06-04 1341
-
EA&UML日拱一卒--序列图(Sequence Diagram)::交互和交互...
05-23 725 - 03-08 9343
- 03-28 6228
- 05-09 4516
- 05-24 464
-
UML 时序图元素(Sequence Diagram Elements)
06-01 2640 - 06-15 3.2万
- 02-05 6641
协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是另一种交互图(...
- 11-07 1275
原
UML图详解(七)交互图(时序图与协作图)
2016年06月14日 22:39:10 FXBStudy 阅读数:23584更多
所属专栏: UML-面向对象软件的标准化建模语言
一、概念
- 交互图描述对象之间的动态合作关系以及合作过程中的行为次序。
- 交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程。
交互图有顺序图和协作图两种形式。
- 时序图中描述对象按照时间顺序的消息交换。
- 协作图着重描述系统成分如何协同工作。
时序图和协作图从不同角度表达了系统中的交互和系统行为,它们之间可以相互转化。
- 时序图(Sequence Diagram)也称为顺序图。
- 通信图(Communication Diagram)也称为协作图。
二、时序图
2.1 概念
- 时序图是以时间为序的表示方法,主要用来描述完成某个行为的对象类和这些对象类之间所传递的消息的时间顺序。
- 时序图是强调消息时间顺序的交互图。
- 时序图描述了对象之间传送消息的时间顺序,用来表示用例中的行为顺序。
顺序图(Sequence Diagram)=生命线(Lifeline)+消息(Message)
时序图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在协作中各独立的对象。
时序图包含了4个元素:对象、生命线、消息、激活
顺序图的可视化图符:
UML异步消息:建模软件使用实线箭头表示。
2.2 生命线
每个对象及参与者都有一条垂直的生命线(Lifeline),表示了在交互过程中的生命期限。
表示方式:用矩形框和虚线表示生命线,矩形框中添加生命线的名称,虚线表示生命长度。
生命线名称语法:生命线对象名[选择器]:类名ref decomposition (蓝色表示可选选项)
选择器:同一个类的对象可以有不同的状态值,可以再此中标明。
ref:是引用(Reference)的英文缩写
decomposition:指明在另一个更详细的顺序图中展示了当前交互的参与者如何处理它所接收到的信息的细节
2.3 互动条
活动条(Activation Bar)也称为执行发生(Execution Occurrence),用来表示对象的某个行为的执行状态。
表示方式:虚线上的小矩形条。
2.4 消息
消息简介
对象的行为也称为消息(Message),通常当一个对象调用另一个对象中的行为时,即完成了一次消息传递。
表示方式
在生命线间的带有实心箭头表示消息
消息命名
信号或消息名(参数:参数类型):返回值
简单消息、同步消息、异步消息
消息分为简单消息(Simple Message)、同步消息(Synchronous Message)和异步消息(Asynchronous Message)
- 简单消息:指标是控制如何从一个对象发给另一个对象,并不包含控制信息。
- 同步消息:意味着阻塞和等待
- 异步消息:意味着非等待
表示方式如上《顺序图的可视化图符》图。
对象创建消息
参与交互的对象不必再整个顺序图交互的完整周期中一直存在,可以根据需要,通过发送消息来创建和销毁他们。
表示方式有两种:
- 在消息的上方添加构造型《create》来表示对象在交互过程中被创建。
- 消息的箭头直接指向被创建的对象生命线的头部,这样就不需要构造型《create》来表达了
对象的销毁
将构造型《destroy》放在消息的上方来表达对象销毁消息,同时在对象的生命线的结束部分画一个“×”来表示对象被销毁
无触发对象和无接收对象的消息
无触发对象消息(Found Message):用活动条开始断点上的实心球箭头来表示。(用在开始)
无接收对象消息(lost message):用箭头加实心球表示。(用在结束)
控制信息
1、条件控制信息
当表达式的条件为真的时候消息才会被发送
语法:[表达式]消息标签
2、重复(迭代)控制信息
消息多次发送给接收对象,迭代条件是表达式,当表达式的判定值为真结束
语法:*[表达式]消息标签
消息的返回值
表示方式:用虚线加开箭头的形式表示
2.5 交互框
UML2.0添加了交互框(Interaction Frame).
交互框指途中的一块区域(Region)或片段(Fragment),包含一个操作符(或称为标签),并包含一个警戒.
类型 | 参数 | 含义 |
---|---|---|
ref | 无 | 表示交互被定义在另一个图中。可将一个规模较大的图划分为若干个规模较小的图,方便图的管理和复用。 |
assert | 无 | 表示发生在交互框内的交互式唯一有效的执行路径,有助于指明何时交互的每一步必须被成功执行,通常与状态变量一起使用来增强系统的某个状态。 |
loop | min times,max times,[guard_condition] | 循环片段,当条件为真的时候执行循环。也可以写成loop(n)来表示循环n次,与java或者C#等中的for循环比较相似。 |
break | 无 | 如果交互中包含break,那么任何封闭在交互中的行为必须被推出,特别是loop片段,这与java中的break语句比较相似。 |
alt | [guard_condition1]… [guard_condition2]… [else] | 选择片段,在境界中表达互斥的条件逻辑,与if…else…语句相似。 |
neg | 无 | 展示了一个无效的交互。 |
opt | [guard_condition] | 可选片段,当警戒值为真的时候执行。 |
par | 无 | 并行片段,表达并行执行。 |
region | 无 | 区域,表示区域内仅能运行一个线程。 |
注意:下面的图判断都放在了居中位置(因为软件使用不会左对齐,明白就好,以后修正。)
alt
上图理解:
- 消息getPrice被发送给SaleManagement,然后根据quantity的值进行选择判断
- 如果quantity的值小于MiniAmount,那么SaleManagement将向Retail发送消息getPrice
- 否则,SaleManagement将向WholeSale发送消息getPrice
loop
par
可以理解为saveUserData()
和checkQualification()
将并行运行。
2.6时序图建模技术
- 识别交互的语境。
- 通过识别对象在交互中扮演的角色,设置交互的场景。
- 为每个对象设置生命线。
- 从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。
- 如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。
- 如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。
2.7 注意事项
对象不一定非得是类,还可以是参与者。
三、协作图
3.1 概念
协作图与时序图一样也是用来描述对象与对象之间消息连接关系的,侧重于说明哪些对象之间有消息传递。
协助图 = 交互的参与者 + 通信链 + 消息
通信图描述参与一个交互的对象的链接,它强调发送和接收对象之间的链接。
3.2 交互的参与者
表示方式:用对象符号表示,在矩形框中放置交互的参与者,显示交互的参与者的名称和它所属的类
语法:参与者名:类名
注意:虽然整个系统中可能有其他的对象,但只有涉及协作的对象才会被表示出来。
协作图中可能出现的4类对象:
- 存在于整个交互作用中的对象
- 在交互作用中创建的对象
- 在交互作用中销毁的对象
- 在加护作用中创建并销毁的对象
3.3 链接
表示方式:用直线表示。
- 一般情况下,一个链接就是一个关联实例。
- 消息可以通过链接进行流动。
3.4 消息
表示方式:依附于链接上的来由标记箭头和带顺序号的消息表达式表示。
- 箭头表示消息的方向。
控制消息
表示方式:采用中括号表示。
当控制条件为真的时候消息才会被发送。
嵌套消息和自消息
当一个消息导致了另一个消息被发送的时候(编号区分),第二个消息被称为嵌套在第一个消息里。
嵌套可以剁成嵌套。
循环
与时序图中的循环类同。
表示方式:用“*”星号表示。
并发消息
顾名思义,就是几个消息被同事发送,编号是前半部分可以一样,后面采用字母表示。
小细节
编号与后半部分用冒号隔开。
郝雨烁: 感谢博主的分享,收货多多。(06-16 20:16#2楼)
李建帅: 很有收获 谢谢分享(02-07 10:01#1楼)
交互图是描述对象之间的关系以及对象之间的信息传递的图,交互图分为:时序图和协作图...
UML的行为图是用来描述系统的动态模型和对象之间的交互关系,包括三种:活动图、状态图、交互图。 下面对这三种图进行介绍: 一、活动图: 1、定义:用来描述满足用例要求...
UML 交互图 (顺序图、通信图、鲁棒图、定时图) •交互与交互图 交互的概念 •一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行...
作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念...
时序图中包括的建模元素主要有:对象(Actor)、生命线...QVariant类的使用注意事项 Qt中SQLite3的增、删、...
其次,时序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。时序...信息同步信息带响应线点击选择同步还是异步.效果如下:注意事项:1. ...
交互图 用来描述系统中对象是如何进行相互作用(消息传递)的。(主要用于描述写作的动态行为方面。) 当对交互建模时,通常既包括对象(每个对象都扮演某一特定的角色),又包括消息(每个消息都...
交互图(Interaction Diagram)用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。 当交互图建模时,通常既包括对象(每个对象都扮演某一特定的角...
【UML】协作图Collaboration diagram(交互图)
相关热词
uml图 uml图继承关系 uml图组织 uml图软件 uml图在线
顺序图( Sequence Diagram )别称:“交互流程图” 或“时序图”或“序列图”...信息同步信息带响应线点击选择同步还是异步.效果如下:注意事项:1. ...
时序图是一种强调时间顺序的交互图,在时序图中,首先把参与交互...Android Sqlite数据库升级时注意事项 Android FlexboxLayout布局属性详解 ViewPag...
windows上面画时序图(timing chart)的工具 - CSDN博客
今天,导师们和我谈话了,主要说了一下我近期的任务,主要是能够读懂项目代码,能够顺利接下导师们掌管的模块,我的信心又重新被点燃了,今天首先为了看懂代码,学习了一...
粉丝
235
喜欢
86
评论
70
等级:
访问:
36万+
积分:
4704
排名:
8813
勋章:
若文章对您有帮助,望君打赏一二!
个人分类
- 时常更新6篇
- 待完善13篇
- Apache6篇
- Java38篇
- 构建工具14篇
- Web开发15篇
- Spring7篇
- Hibernate4篇
- Struts4篇
- JavaScript10篇
- 数据库2篇
- 测试14篇
- 表达式3篇
- IDE&软件8篇
- 其它15篇
- 专栏博文34篇
展开
博主专栏
-
阅读量:47948 篇
-
阅读量:12615514 篇
-
阅读量:273212 篇
-
阅读量:00 篇
最新评论
- UML 九种图详解
wangyunzhao007:总结的很好,感谢您的分享
- DbUnit使用简介
fanxiaobin577328725:【DbUnit数据库测试之备份与还原】https://blog.csdn.net/fanxiaob...
- DbUnit使用简介
qq_38363635:生成的备份xml怎么 恢复数据库数据?
- UML图详解(九)包图
zll_0405:讲解的很详细~
- 利用p6spy拦截并查看数据库执行...
z15732621582:感谢楼主分享
热门文章
- UML图详解(五)组件图
阅读量:26053
- UML图详解(八)状态机(状态图和活动图)
阅读量:25286
- UML图详解(七)交互图(时序图与协作图)
阅读量:23561
- 资源大放送 - 图书与视频教程!
阅读量:13465
- JavaDoc生成API详解
阅读量:13206
归档
- 2018年8月19篇
- 2018年3月2篇
- 2018年2月1篇
- 2018年1月4篇
- 2017年12月2篇
- 2017年10月5篇
- 2017年6月7篇
- 2017年5月4篇
- 2017年4月7篇
- 2017年3月17篇
- 2017年1月7篇
- 2016年12月14篇
- 2016年11月15篇
- 2016年10月18篇
- 2016年9月5篇
- 2016年7月5篇
- 2016年6月35篇
展开
最新文章
联系我们
扫码联系客服
扫码下载APP
©2018 CSDN版权所有
kefu@csdn.net400-660-0108
QQ客服客服论坛
官方公众号
区块链大本营
-
3