首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2019-6-1-UML时序图

2019-6-1-UML时序图

作者头像
黄腾霄
发布2020-06-10 12:00:33
1.4K0
发布2020-06-10 12:00:33
举报
文章被收录于专栏:黄腾霄的博客黄腾霄的博客

在面向对象的软件分析及设计中,UML时序图描述了系统中各个组成部分的信息交互关系。


定义

UML时序图(Sequence Diagrams)是一种面向对象分析和设计中,描述被分析系统中各个组成部分之间消息相互传递的图形。它表现了系统中各个对象在某一个用例场景的行为执行顺序。

概念

在时序图中,有如下几种概念需要了解:

  • 生命线
  • 执行
  • 同步/异步调用
  • 回复
  • 片段

生命线

生命线(lifeline)在序列图中,参与对象的生命周期。使用一个简单对象+竖直虚线表示

例如在一个餐馆中,顾客可以使用如下图形表示

1559386877305
1559386877305

执行

执行是指在指定对象上进行的操作,使用生命线上的矩形表示

例如顾客的点单过程就是一个执行单元

1559386988227
1559386988227

例如我们可以提取一个Person的接口,它有名字,能吃。

同步/异步调用

调用是信息在不同生命线的传递。调用分为同步调用和异步调用。同步调用使用实心三角直线表示,异步使用箭头实线表示。

同步调用后,需要等待被调用对象执行完成;异步调用,可以直接返回

例如一个名叫黄腾霄的顾客。

1559387467289
1559387467289

回复

回复指在同步调用完成后的返回,使用虚线箭头表示

1559387637862
1559387637862

片段

片段是指诸如,选择、循环、并行等带有逻辑状态的片段

使用如下图形圈出,并在左上角标明片段类型

1559387722853
1559387722853

实践

这里给出了一个餐厅的时序图。

顾客向服务员点单,如果菜品还有,则服务员将订单传递给厨师。厨师做完之后,让服务员上菜,顾客进行食用。

如果菜品已经卖完,服务员则直接告知顾客,顾客结束点单

其中菜单中的项目是菜单的组成,因此食用组合。而顾客需要依赖于菜单,才能完成点菜。

1559388099944
1559388099944

参考链接:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/UML%E6%97%B6%E5%BA%8F%E5%9B%BE.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
    • 概念
      • 生命线
      • 执行
      • 同步/异步调用
      • 回复
      • 片段
    • 实践
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档