[UML] 时序图介绍 —— 程序员(灵魂画手)必备画图技能之一

Posted 削尖的螺丝刀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[UML] 时序图介绍 —— 程序员(灵魂画手)必备画图技能之一相关的知识,希望对你有一定的参考价值。

 
 

 
统一建模语言(Unified Modeling Language,UML) 可分类成:

  • 功能模型:从用户的角度展示系统的功能,包括用例图。
  • 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
  • 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。
     
                                                    ——本文将主要针对时序图进行讲解

 
 
 
 

时序图


  注意时序图的关键是整体按时间流程从上到下依次递减,观看的时候也要按整体递减的顺序一行一行看,而不是专注某一列递减来看 而且这个时序图的 复杂程度完全取决于你想展示多少细节,和其他UML图一个道理

 
 

[ 时序图主要分为以下这七个因素 ]

 

  • 角色 —— 时序图开始的主角,可以是电脑、主机、小人等任意图标,一般以小人做为角色图标。
     
     

  • 对象 —— 对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:

    • 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService;
    • 只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
    • 只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。
       
       
  • 生命线 —— 就是每个对象or角色下面那条垂直的虚线。
     
     

  • 控制焦点(也叫激活框) —— 代表一段服务的运行时长。
     
     

  • 消息 —— 有的人没有分那么细,就是实现就代表请求,虚线就代表返回结果,箭头没有特殊含义。但是也有人分的很细,这时候箭头就代表同步异步的意思,比如细分的话意思如下:

    • 实线+实心箭头: 主动类型的同步调用或者请求

    • 实现+大于号箭头:主动类型的异步调用或者请求

    • 虚线+实心箭头: 收到请求后同步的返回过程

    • 虚线+小于号箭头:收到请求后异步的返回过程
       
       

  • 自关联消息 ——表示对自身内部的一个调用。以一个半闭合的长方形+下方实心剪头表示。
     
     

  • 组合片段 —— 标示循环、判断、中断…的框框 专业的组合片段共有13种,名称及含义如下:
     
     

组合名称组合含义
ref引用其他地方定义的组合片段
alt在一组行为中根据特定的条件选择某个交互
opt表示一个可选的行为
break提供了和编程语言中的break类拟的机制
par支持交互片段的并发执行
seq强迫交互按照特定的顺序执行
strict明确定义了一组交互片段的执行顺序
neg用来标志不应该发生的交互
region标志在组合片段中先于其他交互片断发生的交互
ignore明确定义了交互片段不应该响应的消息
consider明确标志了应该被处理的消息
assert标志了在交互片段中作为事件唯一的合法继续者的操作数
loop说明交互片段会被重复执行

 
 
 
 
 
 

[ 时序图的概念其实并不复杂,这里举两个常见的时序图例子供大家学习 ]


 
 
 
 
 
 
 

 

[ 普通时序图展示 ]

 
 
 
 


 
 
 
 
 
 
 

[ 稍复杂点的时序图展示 ]

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
🎏 你学废了吗?如果有帮助的话请不要吝啬免费的赞哦~
 
 


 
 
 
 
​🍹​ 为辅佐您成为更强的灵魂画手, 这里再额外送您两张机票 :

 
 
 


 
 
 
 
 
 
参考资料:

https://www.cnblogs.com/54chensongxia/p/13236965.html
https://www.bilibili.com/video/BV12f4y127pp?from=search&seid=17891937048133807028
https://baike.baidu.com/item/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80/3160571?fromtitle=UML&fromid=446747&fr=aladdin

以上是关于[UML] 时序图介绍 —— 程序员(灵魂画手)必备画图技能之一的主要内容,如果未能解决你的问题,请参考以下文章

[UML] 类图介绍 —— 程序员(灵魂画手)必备画图技能之一

[UML] 流程图介绍 —— 程序员(灵魂画手)必备画图技能之一

[ 设计模式 ] 彻底搞懂建造者模式 —— 全网最透彻理解

[ 设计模式 ] 彻底搞懂建造者模式(生成器模式) —— 透彻理解

[ 设计模式 ] 彻底搞懂建造者模式(生成器模式) —— 透彻理解

UML之类图时序图用例图 粗略版介绍