UML建模 UML建模之时序图
Posted 码农飞哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML建模 UML建模之时序图相关的知识,希望对你有一定的参考价值。
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。
😁 1. 社区逛一逛,周周有福利,周周有惊喜。码农飞哥社区,飞跃计划
💪🏻 2. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通
❤️ 3. Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当,持续更新中 。python爬虫入门进阶
❤️ 4. Ceph实战,从原理到实战应有尽有。 Ceph实战
❤️ 5. Java高并发编程入门,打卡学习Java高并发。 Java高并发编程入门
关注下方公众号,众多福利免费嫖;加我VX进群学习,学习的路上不孤单
文章目录
时序图的介绍
时序图是按照时间顺序显示对象交互的图。它显示了参与交互的对象和所交互信息的先后顺序,用来表示用例图中的行为,用例图是一种交互图。
在UML中,时序图将交互关系表示为一张二维图。其中,纵向标示时间轴,时间沿竖线从上向下进行,按照时间依次列出各个对象所发出和接受的消息,横坐标标示了交互中的各个对象。
基本元素
时序图中包含如下几个元素: 对象,生命线,激活,消息,结构化控制
对象
时序图中的对象其实就是功能需求的各个参与者,在时序图中可以被激活的参与者都可以作为对象。UML中对象的名称默认放在生命线顶部的方框中。
生命线
生命线标示一个对象存在的生命周期,具体来说,在生命线所代表的时间内,对象一直都可以被访问,可以一直给对象发消息,两个对象之间通过消息连接起来。
消息
消息用于对象之间传递信息,对象之间互通信息就是通过消息,消息分为:
同步消息(Synchronous Message):用于对象间同步调用
异步消息(Aynchronous Message):用于对象间异步调用
返回消息(Return Message):用于一个对象对另一个对象的响应
自关联消息(Self-Message): 自关联消息用于对象内部自己调用
如下图所示,展示了各种消息的示例。
激活
当一个对象发出消息或者接收到消息,则该对象就会被激活。
结构化控制
结构化控制主要用于表示代码中判断,循环,终止等情况,在时序图中的结构化控制有如下几种:
-
Alternative fragment(denoted “alt”) 标示 if…then…else 表示一种多条件分支
表示当 balance>0 时执行accept()方法,否则执行 reject()方法 -
Option fragment (denoted “opt”) 标示Switch, 表示一种单条件分支
当参数校验正确时则调用 保存数据的接口。
3. Parallel fragment (denoted “par”) 标示同时发生,表示并发执行
表示save(),notify()以及entrypoint()三个方法同时并发执行。
- Loop fragment(denoted “loop”) 标示for,表示循环的意思
-
不限制次数的循环
-
限制次数的循环
该循环最少执行5次,最多执行10次,当保护条件 size<0 条件为假时循环终止执行。
- Break fragment(denoted “break”) 标示break, 表示退出循环
综合例子
下面以客人到餐厅就餐为例进行说明:
客人到餐厅就餐,服务员提供菜单,
客人点菜后把菜单交给服务员。服务员向客人确定菜单后,将菜单提交给大堂经理。
大堂经理把菜单提交给大厨,大厨完成菜品后传递给大堂经理,大堂经理安排服务员传菜。有的客人可能需要酒水,有的客人不需要酒水。
客人结束用餐后,服务员提供账单,客人结账。
- 确定对象
这里的对象有: 客人,服务员,大堂经理,后厨。 - 确定交互消息
就餐, 提供菜单,确定菜单,将菜单提交大堂经理等都是消息 - 要考虑到一些结构化控制
比如有的客人可能需要酒水,有的客人不需要酒水。 - 画时序图
参考
粉丝专属福利
软考资料:实用软考资料
面试题:5G 的Java面试题
学习资料:50G的各类学习资料
脱单秘籍:回复【脱单】
并发编程:回复【并发编程】
👇🏻 验证码 可通过搜索下方 公众号 获取👇🏻
以上是关于UML建模 UML建模之时序图的主要内容,如果未能解决你的问题,请参考以下文章