软件工程中的顺序图(时序图)详解
创作时间:
作者:
@小白创作中心
软件工程中的顺序图(时序图)详解
引用
CSDN
1.
https://blog.csdn.net/wnrun/article/details/121341969
顺序图(时序图)是软件工程中用于描述对象之间动态交互关系的重要工具,它通过二维图的形式展现了对象间消息传递的时间顺序。本文将详细介绍顺序图的各个组成元素及其具体含义,帮助读者更好地理解和应用这一工具。
时序图的组成
时序图包含了5个核心元素:
- 参与者:参与交互的实体,可以是人、硬件设备或其他系统。
- 对象(Object):系统中的具体实例,可以是类的实例或其他实体。
- 生命线(Lifeline):表示对象在时间轴上的存在状态。
- 消息(Message):对象间传递的信息,可以是方法调用、信号等。
- 激活(Activation):表示对象正在执行某个操作的状态。
- 约束(Constraint):对交互过程的额外限制条件。
对象
对象在时序图中的位置和表示方式有以下特点:
- 如果对象位于时序图的顶部,说明在交互开始之前该对象已经存在。
- 如果对象是在交互的过程中创建的,那么它应当位于图的中间部分。
对象可以分为三种类型:
- 指定类名和对象名的对象:
objectName: className
- 指定类名但没有对象名的对象(匿名对象):
:className
- 指定对象名但不指定类名的对象:
objectName
对象的撤销
如果需要撤销一个对象,可以在其生命线的终止点放置一个“X”符号,通常是对删除或取消消息的回应。
生命线
生命线是对一条垂直的虚线,表示时序图中的对象在一段时间段内的存在。每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从顺序图的顶部一直延伸带底部,所用的时间取决与交互持续时间。
消息
消息定义的对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。消息是对两个对象之间的单路通信。消息可以用于在对象间传递的参数。消息可以是信号的,也可以是调用的。
激活
激活表示该对象被占用以完成某个任务,去激活指的则是对象处于空闲的状态、在等待消息。在UML中,为了表示对象是激活的,可以将该对象的生命线拓宽成为矩形。其中的矩形称为激活条或控制期。
消息类型
- 同步消息:发送者要发送一条消息且接收者已经做好接收这个消息的准备才能传送的消息叫同步消息。实心箭头。消息的名称是被调用者的方法名。
- 异步消息:发送者不管接收者是否做好准备都可以发送的消息叫异步消息。
- 返回消息
- 创建对象
- 撤销对象
- 自关联消息
约束
约束条件可以添加在消息前,通常包括条件约束和循环约束。条件约束格式为[条件]
,只有在符合条件时,才发送消息。循环约束格式为*[条件]
。
约束片段包括以下类型:
- 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:可选分支,是满足一定条件则执行该分支,否则就跳过。
热门推荐
里程a和里程b是什么意思
权威主机性能评测:全面解析,一览无遗
如何从《人间词话》看到康德哲学对王国维的影响
空腹状态是指什么
吃了早饭后多久算空腹
如何理解黄金期货平仓的操作及意义?这种操作在市场波动中存在哪些风险?
艺考培训机构职责全面解析:资质要求和运营内容概览(2024版)
泛二次元消费“泛”到你了吗?
转经筒下的香巴拉时轮坛城:揭秘十一层文化神秘面纱
期货交易中的委托单是什么?如何正确理解和使用委托单?
女人为什么怕冷:深度解析女性体质与寒冷感知的关系
开放浪潮涌动渤海之滨——天津打造北方都市型开放新高地
股票下跌如何进行风险应对?这种风险应对有哪些具体措施?
血小板低吃什么好得快
IHCD观点:提高供应链韧性,应对欧盟“碳关税”
三七粉丹参粉同食的功效是什么
鸡眼、跖疣和胼胝有什么区别
身体出现这些变化一定要重视 或是癌症的预警信号
北京电子科技学院有哪些院系?
棕鹪鹩:南美洲特有鸟类的生态特征与保护现状
羊肉煲汤怎么做好吃又简单
员工合同续签的权利与法律保障
京剧脸谱艺术:邮票上的窦尔敦
我被港中文学姐骗了近30万!诈骗犯瞄准了这些人...
签租房合同怎么注意防止被骗
最高法离婚共同债务如何界定
国际武联:推动中国武术走向世界
跳绳运动的五大好处:从头到脚的全面锻炼
飞蚊症可以手术治疗吗
半飞秒手术后出现飞蚊症该如何处理