UML设计系列(3):时序图

动态的建模

在前面,初步了解了UML及其中之一:java之类图

类图可以视为是一种静态的建模,时序图则是一种动态的建模。

一般根据时间的先后顺序,包括一组对象及它们之间的消息。比如一个很普通的用户登陆时序图

时序图

从上面的图可以看到,一个时序图包括涉及到的对象:用户,登陆系统,数据库,会员界面。

以及对应的消息:用户发起的登陆操作,系统发起的数据库查询及页面跳转等。

参加者对象

可以把所有涉及到的系统统一称为参加者对象或者直接叫对象。比如用户对象,数据库对象,用户系统对象。

生命线

其中对应的竖线称为生命线。从上面看到,不同的对象参与的时机是不一样的,用户对象参与了整个登陆操作,而数据库只在查询时才参与。而且一个对象可以在一个时序图中多次参与,比如用户登陆成功之后,进行会员信息查看,也会再次发生在数据库对象上。如图下红色部分

消息

上面的对象间的操作传递,发送消息-Send Message:实线+实心箭头,箭头指向消息接收方。

接收方回传消息-Replay Message:虚线+箭头。上面的第3步,其实画的并不准确,应该是replay message,而不应该是Send message。

同步/异步消息

有时候消息还是有区别的。多线程或者消息中间件的时候,可能会突出消息的类型。(可惜我用的VP上未能找到连续的区别,其它工具是可以的)

比如上面的例子,用户登陆之后,会给用户发送站内信。既用户可以执行其它操作,但是不会由于发送站内信而阻塞等待。如下紫色表示

站内信的返回时机是不定的,因为是异步的,可能返回在4-7步的之间的任何时候,但是都不会影响其它操作的进行。

条件/循环等

alt

上面流程里面有一个alt框选项,表示如果用户合法(用户存在+通过检查等),就会跳转到会员页面;否则就会返回前端错误信息(框中虚线下面部分),这就是一个条件操作:

这有点类似if...else,if条件为真,则走到虚线上面,else否则就走虚线下面

opt

opt是一种特殊的alt选项,它只有一条线路,可以理解为if条件,没有else;如果条件为真就,就走到里面执行。比如如果用户登陆时,密码安全性不够,就提示用户进行修改,如下绿色背景图

循环

循环也是一个很重要的操作,顾名思义,只要符合条件,可多次执行。

比如用户查看相册,取出图片地址,前端进行渲染(只是为了作说明,例子不一定恰当)

除了上面几个以外,还有其实的操作符,下面的解释来自网上

操作符含义
par并行;每一片段都在运行
alt提供多重片段;根据条件执行
opt只有一个片段的alt选项,条件为真时执行
loop循环;在条件内,片段可以执行多次
region临界区域;片段只能有一个线程对它立即执行
neg否定;片段示明一次无效交互
sd顺序图;可以用它来围绕整个顺序图

其中,要说明一下sd,它表示整个顺序图,比如上面的登陆

VP工具

如果你和我一样,用的VP,前面一个文章有介绍,并附下载地址

时序图

对象及消息

操作符

这里面可以设置操作符类型及条件

  • 19
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值