专栏首页Java编程技术UML建模(时序图)

UML建模(时序图)

一、时序图

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

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

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

image.png

消息(Message)

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

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

image.png

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

  • Alternative fragment(denoted “alt”) 标示 if…then…else
  • Option fragment (denoted “opt”) 标示Switch
  • Parallel fragment (denoted “par”) 标示同时发生
  • Loop fragment(denoted “loop”) 标示for
  • Break标示退出循环

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

image.png

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

image.png

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

image.png

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

image.png

2. alt: 条件判断,如果n>0则执行agree函数否者执行reject函数

image.png

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

image.png

4. break: n=10时候执行save并退出循环

image.png

5. par: 同时进行,比如多个线程同时执行任务

image.png

一个例子

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分布式消息中间件 RocketMQ:概述与源码编译篇

    Apache RocketMQ 是一个分布式消息中间件,其具有低延迟、高性能和可靠性、万亿级容量、灵活的可扩展性特性;它是阿里巴巴在2012年开源的分布式消息中...

    加多
  • 你真的了解Netty中@Sharable?

    Netty 是一个可以快速开发网络应用程序的基于事件驱动的异步 网络通讯 框架,它大大简化了 TCP 或者 UDP 服务器的网络编程。Netty 的应用还是比较...

    加多
  • UML建模(类图)

    类图是面向对象系统建模中重要的图,是定义其它图的基础。类图主要是用来展现软件系统中的类、接口以及它们之间的静态结构。

    加多
  • “小 U”- UI自动化测试平台 [自动化测试平台开发实战 - 基于 Spring Boot + Kotlin]

    一个会写诗的程序员
  • 如何访问SAP Spartacus里的config数据

    App module里调用ConfigModule.withConfig注入配置,调用两次withConfig,传入的参数会进行合并:

    Jerry Wang
  • SuSE上配置DNS客户端方法

    在这个文件里增加DNS服务器的IP地址,格式为:nameserver  DNS服务器IP地址

    一见
  • 机器学习-R-特征选择

    特征选择是实用机器学习的重要一步,一般数据集都带有太多的特征用于模型构建,如何找出有用特征是值得关注的内容。 1. Feature selection: Al...

    机器学习AI算法工程
  • ios objc向一个对象发送消息时,发生了什么?

    根据对象的isa指针找到该对象所属的类,去obj的对应的类中找方法 1.首先,在相应操作的对象中的缓存方法列表中找调用的方法,如果找到,转向相应实现并执行。 ...

    赵哥窟
  • 机器学习-R-特征选择

    特征选择是实用机器学习的重要一步,一般数据集都带有太多的特征用于模型构建,如何找出有用特征是值得关注的内容。 1. Feature selection: All...

    小莹莹
  • 软件测试从何学起?

    首先要了解行业知识和软件测试的基础知识,练好扎实的基本功,其次要熟悉各种技术技能和工具使用。

    吾非同

扫码关注云+社区

领取腾讯云代金券