一、前言

时序图建模工具,推荐一个工具 https://www.zenuml.com/

时序图是一种强调消息时序的交互图,他由对象(Object)消息(Message)生命线(Lifeline)Combined Fragments 组成,它主要描述系统中对象和对象之间的交互,它将这些交互建模成消息交换。

时序图将交互关系展示成了一个平面二维图,其中纵向标示时间轴,时间沿竖线从上向下进行。横向轴标示了交互中各各个对象。对象的的用生命线表示。消息从一个对象的生命线到另一个对象生命线的箭头表示,箭头以时间顺序在图中从上到下排列,从左到右排列。

二、时序图

1.对象(Object)和生命线(Lifeline)

生命线头上那个方正的框里面存放的就是对象,对象有自己的名字,生命线其实就是从上到下的一个虚线。生命线标示一个对象存在的生命周期,两条生命线中间通过消息连接起来,

对象名 :实例名

2.消息(Message)

消息用于对象间传递信息,对象之间的信息互通就是通过消息,消息按照分类可分为:同步消息(Synchronous Message)异步消息(Asynchronous Message)返回消息(Return Message)自关联消息(Self-Message)

消息类型 描述
同步消息 发送消息的对象在发送消息后会挂住,等消息接受对象接受消息返回后才会解除挂住的状态继续自己的工作
异步消息 发送消息的对象在发送消息后会继续自己的工作,而不等消息接受对象接受消息返回
返回消息 标示发送消息后返回的动作
自关联消息 一个对象内自调用的情况

3.Combined Fragments

标示有一定条件的消息发送

Alternative fragment(denoted “alt”) 标示 if…then…else

Option fragment (denoted “opt”) 标示Switch

Parallel fragment (denoted “par”) 标示同时发生

Loop fragment(denoted “loop”) 标示for

Break标示退出循环

3.1 loop

循环

当没有指定循环边界,默认范围为[0,无穷大]:

如果只指定了一个值,那么默认执行该值次数:

指定了循环边界,则最少执行最小值值,最多执行最大值次数:

实现dowhile方式,至少执行一次,如果size<0则退出:

3.2 alt

条件判断

如果n>0,则执行agree函数

否则,执行reject函数

3.3 opt

switch,当满足不同条件执行不同方法:

3.4 break

n=10时候执行save并退出循环

3.5 par

同时进行,比如多个线程同时执行任务

三、实例

1.示例1

四、参考资料

  1. https://www.uml-diagrams.org/
  2. UML教程-w3cschoolUML教程-w3cschool
  3. UML建模图实战笔记-ifeve

UML_04_时序图的更多相关文章

  1. [UML]UML系列——时序图(顺序图)sequence diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  2. 使用Astah制作UML时序图

    Astah制作UML图--详解 时序图的制作 开篇语: 本文为光荣之路原创文章,欢迎转载,但请注明出处. 做测试的难免看到开发画出各种设计图,都很羡慕,比如: 帅么,漂亮么,其实我们测试人员也可以轻松 ...

  3. SPI总线协议及SPI时序图详解

    SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚 ...

  4. GIT FLOW 时序图

    git flow sequence md link: git branching model master->master branch: use default branch Note rig ...

  5. [转载]UML时序图总结

    前言 在我的工作中,用的最多的就是时序图了.可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过 ...

  6. 看懂UML类图与时序图

    看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...

  7. UML系列04之 UML时序图

    概要 本章对UML的时序图进行介绍,主要内容包括:时序图介绍时序图组成 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523355.html 时序图介绍 ...

  8. 使用网站websequencediagrams在线画时序图

    在线画时序图的网站:https://www.websequencediagrams.com/ 该网站提供拖拉图形和编写脚本代码2个方式来制作时序图,同时提供多种显示风格. 实例: 1.脚本代码: ti ...

  9. 安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)

    时序图 用例图

随机推荐

  1. spark restful 作业提交

    spark1.4起,在启动master进程时候,同时会有一个restful的服务器,可以接受RESTFUL的请求, 以下是提交应用的示例 curl -X POST http://tssloginsig ...

  2. iOS 学习 RESTful 中 Http 的幂等性

    一. RESTful  RESTful (Representational State Transfer) 是一种常用流行的软件架构,设计风格或协议标准.提供了一组设计风格和约束条件.主要用于客户端和 ...

  3. python将一些朋友的姓名存储在一个列表中,访问该列表中的每个元素,从而将每个朋友的姓名都打印出来

    """ 3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为 names . 依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. "&quo ...

  4. Linux Java环境搭建

    -------------------------网络配置-------------------------------1.配置DNS:vi /etc/resolv.confnameserver 19 ...

  5. JS知识点简单总结

    JS(JavaScript) 是一种解释性语言 是弱/动态 最开始用于表单验证的 JS的五个部分: 1.核心语言定义 2.原生对象和内置对象 5boolean 3.BOM 4.DOM 5.事件处理模型 ...

  6. [日志] spring boot + logback 日志输出配置

    一.输出日志到控制台 springboot有很多starter(参考starter)方便快速构建项目依赖组件,logback是springboot默认的日志组件,启动即可看到打印在控制台输出的info ...

  7. linux 登录数据库

    -h   地址 (例如:127.0.0.1,localhost) mysql -h 127.0.0.1 -u root -p

  8. IDEA 安装mybatis 插件 可以通过mapper定位到xml

    在使用IDEA的时候 ,通过mapper类定位到 xml文件是让人很头疼的问题! 无意中发现了这个插件!可以通过类方法直接定位到xml中!比较强大!哈哈! 这玩意好像是付费的! 不过不破解也能用! 哈 ...

  9. XML CDATA是什么?

    XML CDATA是什么? 投稿:mdxy-dxy 字体:[增加 减小] 类型:转载   这篇文章主要为大家介绍下XML CDATA是什么,学习xml的朋友可以参考下     All text in ...

  10. 【网络结构】Deep Residual Learning for Image Recognition(ResNet) 论文解析

    目录 0. 论文链接 1. 概述 2. 残差学习 3. Identity Mapping by shortcuts 4. Network Architectures 5. 训练细节 6. 实验 @ 0 ...