【UML建模】(4) UML建模之时序图

简介: 时序图是按照时间顺序显示对象交互的图。它显示了参与交互的对象和所交互信息的先后顺序,用来表示用例图中的行为,用例图是一种交互图

时序图的介绍

时序图是按照时间顺序显示对象交互的图。它显示了参与交互的对象和所交互信息的先后顺序,用来表示用例图中的行为,用例图是一种交互图

在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, 表示退出循环

综合例子

下面以客人到餐厅就餐为例进行说明:

客人到餐厅就餐,服务员提供菜单,

客人点菜后把菜单交给服务员。服务员向客人确定菜单后,将菜单提交给大堂经理。

大堂经理把菜单提交给大厨,大厨完成菜品后传递给大堂经理,大堂经理安排服务员传菜。有的客人可能需要酒水,有的客人不需要酒水。

客人结束用餐后,服务员提供账单,客人结账。

1.确定对象

这里的对象有: 客人,服务员,大堂经理,后厨。

2.确定交互消息

就餐, 提供菜单,确定菜单,将菜单提交大堂经理等都是消息

3.要考虑到一些结构化控制

比如有的客人可能需要酒水,有的客人不需要酒水。

4.画时序图

参考

UML之时序图

UML官网

相关文章
|
7月前
|
测试技术 uml
UML之时序图
UML之时序图
146 1
|
7月前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
153 0
|
7月前
|
程序员 uml
【程序员小知识】使用PlantUML画UML(下) 时序图
【程序员小知识】使用PlantUML画UML(下) 时序图
317 0
|
6月前
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
922 1
|
3月前
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
7月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
100 0
|
7月前
|
程序员 uml
UML图 | 时序图(顺序、序列图)绘制
UML图 | 时序图(顺序、序列图)绘制
762 0
|
7月前
|
程序员 数据库 uml
UML—时序图是什么
UML—时序图是什么
183 0
|
7月前
|
iOS开发
UML-时序图
UML-时序图
84 0
|
缓存 网络协议 前端开发
HTTP请求UML时序图--(POST)图和(GET)图源码分析及代码分析和MIME 介绍--常用的状态码说明
HTTP请求UML时序图--(POST)图和(GET)图源码分析及代码分析和MIME 介绍--常用的状态码说明
262 0