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.用例的内容: 用例编号 用例名 执行者 前置条件 后置条件 基本路径 扩展路径 字段列表 业务规则 ...
随机推荐
- 【Contest Hunter 5302】金字塔
[原题链接]传送门 [题解思路] 1.考虑如何将序列与树相对应,想到类似dfs序和欧拉序,同一个子树对应序列连续 2.暴力分子树过于复杂,考虑简化(划重点: 若当前区间为[l,r],考虑第一颗子树所在 ...
- UVA1030 Image Is Everything
思路 如果两个面看到颜色不同,则这个正方体一定要被删掉 然后依次考虑每个面即可 注意坐标的映射 代码 #include <cstdio> #include <algorithm> ...
- Linux mint 下开发设置
切换thinpad Home-Pgup End-Pgdn sudo vim ~/.Xmodmap keysym Prior = Home keysym Next = End 禁用鼠标中间粘帖功能 su ...
- win10家庭版安装Docker for Windows
0. 背景 硬件:小米笔记本 Air 13/Inter Core i7-7500U 操作系统:Windows 10 家庭中文版 补丁:截止2019/1/25最新稳定补丁 Docker:Docker W ...
- vue 打开新窗口
const {href} = this.$router.resolve({ name: 'foo', query: { bar } }) window.open(href, '_blank')
- leecode第五百五十七题(反转字符串中的单词 III)
class Solution { public: string reverseWords(string s) { string res; stack<char> sta; string:: ...
- java中循环遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...
- springboot 启动报错
有一个警告 :** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the d ...
- python-Excel读取-合并单元格读取
python-Excel读取-合并单元格读取(后续会补充python-Excel写入的部分) 1. python读取Excel单元格 代码包含读取Excel中数据,以及出现横向合并单元格,以及竖向合并 ...
- 自动生成CHANGELOG.md
$ npm install -g conventional-changelog-cli $ cd my-project $ conventional-changelog -p angular -i C ...