软件工程-顺序图(时序图)
- 用来描述对象之间动态的交互关系。着重提现对象之间消息传递的时间顺序。
- 顺序图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在协作中各位独立的对象。
时序图的组成
时序图包含了5个元素:
①参与者
②对象(Object)
③生命线(Lifeline)
④消息(Message)
⑤激活(Activation)
⑥ 约束(Constraint)
1.对象
- 如果对象位于时序图的顶部,说明在交互开始之前该对象已经存在额。
- 如果对象是在交互的过程中创建的,那么它应当位于图的中间部分。
对象包括三种:
- 指定类名和对象名的对象 objectName: className
- 指定类名但没有对象名的对象 (匿名对象) :className
- 指定对象名但不指定类名的对象 objectName
图形表示:
第一类:
第二类:
第三类:
创建对象的两种方法:
1.1对象的撤销
- 如果要象的撤销一个对象,只要在其生命线终止点放置一个“X”符号即可,该点通常是对删除或取消消息的回应。
2.生命线
- 生命线是对一条垂直的虚线,表示时序图中的对象在一段时间段内的存在。每个对象的底部中心的位置都带有生命线。
- 生命线是一个时间线,从顺序图的顶部一直延伸带底部,所用的时间取决与交互持续时间。
3.消息
- 消息定义的对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。
- 消息是对两个对象之间的单路通信。
- 消息可以用于在对象间传递的参数。
- 消息可以是信号的,也可以是调用的。
4.激活
- 激活表示该对象被占用以完成某个任务,去激活指的则是对象处于空闲的状态、在等待消息。
- 在UML中,为了表示对象是激活的,可以将该对象的生命线拓宽成为矩形。其中的矩形称为激活条或控制期。
5.消息
1. 同步消息:
- 发送者要发送一条消息且接收者已经做好接收这个消息的准备才能传送的消息叫同步消息。实心箭头。消息的名称是被调用者的方法名。
2. 异步消息
- 发送者不管接收者是否做好准备都可以发送的消息叫异步消息。
3. 返回消息
4. 创建对象
5. 撤销对象
6. 自关联消息
6.约束
- 约束条件
- 消息前加约束条件。通常有条件约束、循环约束。
- 条件约束:[条件],只有在符合条件时,才发送消息。
循环约束:*[条件]
约束片段
片段类型 | 名称 | 说明 |
---|---|---|
Opt |
选 项 |
包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。 |
Alt |
抉 择 |
包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。 |
Loop |
循 环 |
片段重复一定次数。 可以在临界中指示片段重复的条件。Loop 组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。 |
Break |
中 断 |
如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。 |
Par |
并 行 |
并行处理。 片段中的事件可以交错。 |
Critical |
关 键 |
用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。 |
Seq |
弱 顺 序 |
有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。 |
Strict |
强 顺 序 |
有两个或更多操作数片段。 这些片段必须按给定顺序发生。 |
Consider |
考 虑 |
指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。在“Messages”属性中键入该列表。 |
Ignore |
忽 略 |
此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。在“Messages”属性中键入该列表。 |
Assert |
断 言 |
操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。 |
Neg |
否 定 |
此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。 |
- 循环分支属于业务流程中比较常见的特殊结构。
- loop,也叫循环,是满足循环条件的前提下,不断地重复做某些事情;
- alt,条件分支,是根据不同的条件选择不同的分支;
- opt,可选分支,是满足一定条件则执行该分支,否则就跳过。
如下图:
软件工程-顺序图(时序图)相关推荐
- UML顺序图/序列图/时序图
UML顺序图/序列图/时序图 UML时序图 什么是顺序图 基本元素 参与者 对象 生命线 激活框 消息 绘制工具 visio 亿图 UML时序图 什么是顺序图 为了实现系统功能,若干个对象之间需要交互 ...
- UML之顺序图(时序图)
UML学习之顺序图(时序图绘制) 1. 什么是时序图 时序图(Sequence Diagram),又名顺序图.序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的 ...
- UML 建模步骤 用例图 类图 对象图 包图 顺序图/时序图 状态图 活动图 协作图
统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明.可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言. UML是面向对象设计的建 ...
- UML 类图-时序图-用例图
文章目录 1. UML类图 1.1 泛化(Generalization) 1.2 实现(Realization) 1.3 关联(Association) 1.4 聚合(Aggregation) 1.5 ...
- 机械动作时序图怎么画_快速学习时序图:时序图简介、画法及实例
原标题:快速学习时序图:时序图简介.画法及实例 时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中.下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做 ...
- 火车购票系统服务器端uml活动图,火车购票完整系统UML类图时序图状态图协作图活动图对象图用例图.doc...
火车购票完整系统UML类图时序图状态图协作图活动图对象图用例图 <UML面向对象分析>课程 实践项目报告 项目名称: 网上订购火车票系统 项目组成员: 学 号: 班 级: 指导 教师: 2 ...
- UML 顺序图(时序图) sequence diagram
1. 什么是顺序图 是强调消息时间顺序的交互图.时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换.时序图是一个模型,用于描述对象间如何随着时间在某些行为方面进行协作.(强调的是消息的时间 ...
- 什么是序列图/时序图?
前言 UML Sequence Diagrams是交互图,详细说明了如何执行操作. 它们捕获协作环境中对象之间的交互. 序列图是时间焦点,它们通过使用图表的垂直轴来直观地显示交互的顺序,以表示消息的发 ...
- 火车购票系统服务器端uml活动图,火车购票标准软件系统UML类图时序图状态图协作图活动图对象图用例图.doc...
文档介绍: <UML面向对象分析>课程实践项目报告项目名称:网上订购火车票系统项目组成员:学号:班级:指导教师:2008年11月10日目录1 需求分析 1个人收集整理勿做商业用途1.1 需 ...
- 火车购票系统服务器端uml活动图,火车购票系统uml类图-时序图-状态图-协作图-活动图-对象图--用例图.doc...
文档介绍: <UML面向对象分析>课程实践项目报告项目名称:网上订购火车票系统项目组成员:学号:班级:指导教师:2008年11月10日目录1 需求分析 11.1 需求概述 11.2 需求分 ...
最新文章
- spring中怎么访问MySQL过程_【FunnyBear的Java之旅 - Spring篇】7步连接MySQL
- C/C++ 语言获取文件大小
- 安装oracle11g后plsql访问,64位Oracle_11g_R2安装+32位Plsql成功登录连接
- 089-袁佳鹏-实验报告1
- LC77 Combinations
- 实现auto_ptr的两种方法
- 用户对OA实施的一些认识误区
- 巨人网络:已组建研发团队对元宇宙游戏开展自研探索
- 2016-2017-2 20155117实验二《Java面向对象程序设计》实验报告
- c #include如何找到文件_使用 MATLAB Function 模块集成 C 代码
- python 服务端判断客户端异常断开
- Python游戏开发入门3 Pygame屏幕绘制机制
- 使用js实现简单的动画效果
- Mybatis CRUD操作和多表查询
- Web3 来临前的准备工作
- (转载)解决电脑同时使用有线网上内网,无线网上外网的冲突
- 【学习笔记】URL和DOI是什么?有什么区别?
- 祝贺|蚂蚁金服技术人许寄入选2018 MIT TR 35全球榜单
- git 合并远程分支
- Leetcode练习 2.双指针