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 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

Java虚拟机:Java内存区域及对象

为以后写文章考虑,也为巩固自己的知识和一些基本概念,这里要理清楚几个计算机中的概念。

14020
来自专栏同步博客

制作类似ThinkPHP框架中的PATHINFO模式功能

  搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大。

21130
来自专栏奇点大数据

你想要的Python面试都在这里了【315+道题】

再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?

20120
来自专栏L宝宝聊IT

Linux基础——正则表达式

30530
来自专栏林欣哲

Redis知识点速查

NoSQL概述 为什么需要NoSQL 高并发读写 海量数据的高效率存储和访问 高可扩展性和高可用性 NoSQL数据库分类 键值存储。Redis 列存储。HBas...

379110
来自专栏安恒网络空间安全讲武堂

二进制学习系列-格式化字符串got

加上运行过后整体了解到有一块检测登陆用户和三个模块函数,一个是编写文件'put',一个是显示文件'dir',还有一个是读取文件'get'。

43310
来自专栏云霄雨霁

Java虚拟机--内存模型

23550
来自专栏极客编程

Nodejs和Mongodb的连接器Mongoose

今天我们将学习Mongoose,什么是Mongoose呢,它于MongoDB又是什么关系呢,它可以用来做什么呢,介绍Mongoose之前,我们先简单了解一下Mo...

20240
来自专栏coder修行路

《深入理解计算机系统》阅读笔记--程序的机器级表示(上)

编译器基于编程语言的规则,目标机器的指令集和操作系统遵循的惯例,经过一系列的阶段生成机器代码。GCC c语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的...

12900
来自专栏Java架构沉思录

一文理清Java内存区域

Java虚拟机在执行 Java 程序的过程中会把它管理的内存划分为若干个不同的数据区域。根据《Java 虚拟机规范》将 Java虚拟机所管理的内存分为以下几个运...

12120

扫码关注云+社区

领取腾讯云代金券