共计 1785 个字符,预计需要花费 5 分钟才能阅读完成。
上一次写过一篇 UML | 类图 相干的文章,平时标准开发会用的上,或者是写什么文档,就还是须要画图,就像毕业设计就是如此。心愿可能帮忙到大家。
注:本文中所用画图软件为 Microsoft Visio .
一、概述
时序图更多只是一种叫法,平时咱们所说的程序图、序列图也是在称说它。
时序图是基于交互的对象行为建模,是 UML 用于形容对象之间信息的交互过程的办法,是形容对象间协作关系的模型。
时序图用于捕捉零碎运行中对象之间有工夫程序的交互,是由生命线和音讯组成。
时序图将交互关系示意为一个二维图。纵向是时间轴,工夫沿竖线向下延长。横向轴代表了在合作中各独立对象的类元角色。类元角色用生命线示意。当对象存在时,角色用一条虚线示意,当对象的过程处于激活状态时,生命线是一个双道线。音讯用从一个对象的生命线到另一个对象生命线的箭头示意。箭头以工夫程序在图中从上到下排列。
二、组成元素
2.1、角色
这个角色能够是用户、内部零碎、机器等等。
在 visio 软件中用下图示意:
2.2、对象和生命线
对于对象的命名:
- 对象名和类名,例如:<u>dispatcherServlet:DispatcherServlet</u>
- 只显示类名,即示意它是一个匿名对象,例如:<u>:DispatcherServlet</u>
- 只显示对象名不显示类名,例如:<u>dispatcherServlet</u>
生命线:在时序图中示意为从对象图标向下延长的一条虚线,示意对象存在的工夫。
2.3、流动条
在生命线的虚线上能够用流动条来示意某种行为的开始和完结,个别用小矩形来示意。
在 visio 软件上称之为激活。
注:然而在这里我须要强调的是在生命线上并非肯定要用流动条来示意执行的产生,流动条的退出是的执行产生更形象化,然而在繁多简单的时序图中,流动条也会使图示变得更加简单难以绘制,这种状况下,偏向于不应用流动条。
2.4、音讯
什么是音讯?
在面向对象的剖析和设计中,对象的行为也被称为音讯,因为对象之间的行为的交互擢用也能够看成是对象之间发送音讯实现的。通常,当一个对象调用另一个对象中的行为时,即实现了一次消息传递。
时序图中关注生命线之间的通信,这些通信就是对象发送的音讯。UML 用生命线间带有实心箭头的实现示意音讯,每条音讯从发送对象指向接管对象。
例如:
另外音讯中还细分为了简略音讯、同步音讯和异步音讯。
简略音讯:就示意管制如何从一个对象发送给另一个对象,并不蕴含管制的细节。
同步音讯:意味着阻塞和期待。如:A 向 B 发送一个音讯后,对象 A 必须始终等到 B 执行实现后返回能力持续往下执行。这就是同步音讯。
异步音讯:就意味着是非阻塞。如:A 向 B 发送音讯后,间接能够执行上面代码,无需期待 B 的执行。
同步音讯用实心箭头示意,异步音讯用开放式箭头示意。
自我调用音讯:
音讯的返回值:
2.5、交互框
UML 在 2.0 时在时序图中退出了交互框。交互框用来解决交互执行的条件和形式,它容许在序列图中间接示意逻辑组件,用于通过指定条件或子过程的利用区域,为任何生命线的任何局部定义非凡条件和子过程。组合片段共有 13 种,名称及含意如下:
然而咱们只抽取几个罕用的进去说一下,但实质上的用法是一样的。
2.5.1、alt (抉择片段)
简略说就是 将 if/else 在图示中示意进去了。
2.5.2、opt
蕴含一个可能产生或不产生的序列;
只有当我问题 score 小于 60 时,老妈打我这件事件必定会产生。
大于就不会产生。
2.5.3、Loop(循环)
片段反复肯定次数,能够在临界中批示片段反复的条件。
2.5.4、并行(Par)
实践就说到这里哈,咱们来接着说个例子。
三、【实例】
下图简述了 SpringMVC 的执行流程,这次咱们的工作就是将它转换为时序图来示意。
画成时序图如下:
四、喃喃自语
集体认为画图真的很有作用,尤其是关乎咱们本人设计什么货色时,画出相干图之后,思路会清晰很多。
明天的文章就到这里了。
你好,我是博主
宁在春
如若在文章中遇到纳闷,请留言或私信,或者加主页联系方式,都会尽快回复。
如若发现文章中存在问题,望你可能斧正,不胜感激。
如果感觉对你有所帮忙的话,来个一键三连👍啦,🙇xdm
参考:
UML 序列图总结:http://www.trufun.net/UML/UML…
对立建模语言 UML(第二版)清华大学出版社
博客园 | 宁在春
简书 | 宁在春
CSDN | 宁在春
掘金 | 宁在春
知乎 | 宁在春