UML之顺序图
一 定义
顺序图是将交互关系表示为一个二维图。纵向是时间轴(生命线),时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线;
二 顺序图的要素
活动者,对象、生命线、控制焦点、消息

活动者:活动的发起人活着活动的承受者。
对象:活动中交互的实体,三种表示如下:

生命线:描述对象的生存周期,对象下方的虚线就是生命线,如上图。
控制焦点:指活动者或对象执行状态的时间段:

消息:消息用于描述对象间交互的方式和内容:
1.同步消息:一个对象向另一个对象发出同步消息后,将处于阻塞状态,一直等到另一个对象的回应。
2.异步消息:一个对象向另一个对象发出异步消息后,这个对象可以进行其他的操作,不需要等到另一个对象的响应。
3.返回消息:同步消息的返回消息
4.自关联消息:用来描述对象内部函数的互相调用。

1.条件判断:用于描述代码中if…else…这种结构
标记为“alt” 例如:

2.可选:是一种特殊的“条件判断”,它只是一个if,没有else if或else
可选的标记为:opt 例如:

3.循环:是指代码中的for、while之类的语句块。
循环的标记为:loop
例如:下图中[m,n]是指至少执行m次,最多执行n次

4.同步:用于描述多线程的情况。
同步的标记是:par 例如:

顺序图的引用:
在一个顺序图中,可以引用另一个顺序图,其引用方式类似于复合片段,
标签为:ref 例如:

三:画顺序图的步骤
1. 确定交互的范围
2. 确定参与交互的活动者与对象
3. 确定活动者、对象的生存周期
4. 确定交互中产生的消息
5. 细化消息的内容
四:酒店预订的一个用例(寻找酒店)

代码实例:

五:用例图、活动图、时序图之间的关系

六 :类图与时序图之间的关系


类图描述系统的静态结构,时序图描述系统的动态行为。
若出现了一个新的消息(不是类中的操作),则需要为类添加一个新的操作。
UML之顺序图的更多相关文章
- (四)UML之顺序图(时序图)
一.概念 顺序图是交互图的一种形式,它显示对象沿生命线发展,对象之间随时间的交互表示为从源生命线指向目标生命线的消息.顺序图能很好地显示那些对象与其它那些对象通信,什么消息触发了这些通信,顺序图不能很 ...
- UML之顺序图(时序图)
1 顺序图 1.1 顺序图的概念 顺序图(sequence diagram): 用来描述为了完成确定事务,对象之间按照时间消息交互的顺序关系. 1.2 顺序图样式和元素 (1) 对象及命名 (2) 生 ...
- [UML]UML系列——时序图(顺序图)sequence diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- UML 用例图、顺序图、状态图、类图、包图、协作图、流程图
用例图.顺序图.状态图.类图.包图.协作图 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling La ...
- UML中的图的出现顺序
上接:UML从需求到设计--用例 从开始接触UML到现在对UML逐渐有了更深入的了解.刚开始,对于UML总是感觉UML就是图.一提起UML 就想着这个是画图的东西. 具体这些图都是干什么的.为什么会有 ...
- UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- 用Visio画UML顺序图
1.顺序图 顺序图又称为时序图,顾名思义,它着重表现的是对象间消息传递的时间顺序.顺序图描述的对象也是一个用例,即一组行为操作,而它表现的是这组行为的先后关系(纵坐标),以及每个行为是属于哪个对象的( ...
- (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- UML-状态图,顺序图,活动图
一.编写用例文档 1.用例的内容: 用例编号 用例名 执行者 前置条件 后置条件 基本路径 扩展路径 字段列表 业务规则 ...
随机推荐
- GP数据库 常用SQL语句
GP数据库 常用SQL语句 --1,查看列名以及类型 select upper(column_name) ,data_type from information_schema.columns wher ...
- etcd 启动错误
Apr 26 16:17:25 ceph-0 etcd: f281dc69fb4dd3d8 became candidate at term 3574Apr 26 16:17:25 ceph-0 et ...
- 【做题】ZJOI2017仙人掌——组合计数
原文链接 https://www.cnblogs.com/cly-none/p/ZJOI2017cactus.html 给出一个\(n\)个点\(m\)条边的无向连通图,求有多少种加边方案,使得加完后 ...
- 【做题】SRM701 Div1 Hard - FibonacciStringSum——数学和式&矩阵快速幂
原文链接 https://www.cnblogs.com/cly-none/p/SRM701Div1C.html 题意:定义"Fibonacci string"为没有连续1的01串 ...
- 关于win10环境下Anaconda python,用pip安装包及升级时SSL报错的问题
刚开始查完以为是网的问题,但是添加信任值\镜像网站\手动下载安装都失败了. 检查后发现python中无SSL模块,检查Anaconda后发现是少加了环境变量Anaconda3\Library\bin, ...
- 基于SVD的图像压缩
算法简介 算法实现 我只是简单处理了一下图像的灰度值,如果要处理RGB值的话,就需要分别进行SVD分解,最后再合起来即可. import numpy as np from PIL import Ima ...
- 10_bash_变量_条件判断及运算_sed_循环
shell编程: 编译器.解释器编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量):变量在使用前,必须事先声明,甚至还需要初始化 事先转换成可执行格式 C/C++.C#.Ja ...
- 2018.11.30开始学习shader
学习资料: 乐乐女神的<unity Shader入门精要>
- 使用loadrunner编写webservice接口请求
1.使用工具: loadrunner12,本实例截图中都是loadrunner12工具 2.操作步骤: 1).新建脚本,选择Web Services协议: 2).选择工具栏: 3).点击Import, ...
- PYTHON -- 基础3
1.数据类型 1.int 类型 用于计算 1.1 bit_length() 转换为2进制的最小位置 有效的 i = 5 print(i.bit_length()) i 二进制 i.bit_length ...