简介
UML(统一建模语言)定时图是一种交互图,专注于交互的时间约束。它们用于展示在特定时间段内对象之间的交互,强调随时间变化的条件变化。本指南将详细介绍UML定时图,包括其目的、关键要素以及如何创建和解读它们。

UML定时图的目的
UML定时图用于:
- 分析时间:分析和理解对象之间交互的时间方面。
- 展示时间约束:展示在特定时间区间内必须满足的条件。
- 建模实时系统:表示时间是关键因素的系统,例如嵌入式系统、通信协议和性能分析。
示例用例:
- 医疗领域:建模疾病的发展阶段及干预的时间。
- 用户体验:分析网站或应用程序的延迟和性能。
UML定时图的关键要素
生命线
生命线表示交互中的一个独立参与者。它可以是对象、参与者或任何参与交互的实体。生命线以水平条形表示,展示参与者在时间上的存在。
状态或条件时间轴
状态或条件时间轴表示对象的状态或必须满足的条件。它以带有分段的水平条形表示,显示随时间变化的不同状态或条件。
持续时间约束
持续时间约束指明条件必须满足的时间段。它以带有两条垂直线的水平条形表示,分别表示持续时间的开始和结束。
时间约束
时间约束指明条件必须满足的具体时间点。它以一条与生命线在特定时间相交的垂直线表示。
销毁事件
销毁事件表示对象被销毁的时间点。它以生命线末端的“X”表示。
符号表示
UML定时图中的符号包括标签和注释,用于提供有关时间约束和条件的附加信息。
创建UML定时图
创建UML定时图的步骤
- 识别参与者: 确定将参与交互的对象、参与者或实体。
- 定义生命线: 绘制水平条来表示参与者的生命线。
- 添加状态或条件: 将生命线划分为多个段落,以表示随时间变化的不同状态或条件。
- 指定持续时间约束: 添加带有垂直线的水平条,以表示必须满足条件的时间段。
- 指定时间约束: 添加与生命线相交的垂直线,以表示必须满足条件的具体时间点。
- 添加销毁事件: 在生命线末端放置一个“X”,以表示对象的销毁。
- 添加标签和注释: 添加标签和注释,以提供有关时间约束和条件的额外信息。
解读UML时序图
理解生命线
- 水平条: 表示参与者随时间的存在。
- 段落: 表示随时间变化的不同状态或条件。
理解持续时间约束
- 带垂直线的水平条: 表示必须满足条件的时间段。
- 起始点和结束点: 表示持续时间的起始和结束。
理解时间约束
- 垂直线: 表示必须满足条件的具体时间点。
- 与生命线的交点: 表示生命线上的具体时间。
理解销毁事件
- “X” 符号: 表示对象的销毁。
- 生命线末端: 销毁事件被放置在生命线的末端。
理解符号表示
- 标签和注释: 提供有关时间约束和条件的附加信息。
- 附加信息: 包括任何有助于理解交互时间方面的相关信息。
示例:网站时间
此UML时间图展示了网络交互中涉及的事件序列和时间约束,特别关注网络请求与响应周期的时间方面。该图标题为“sd 网站时间”,包含四条生命线,代表交互中的参与者:网络用户、网络浏览器、DNS解析器和网络服务器。横轴表示时间,以秒为单位标记。

生命线与状态
- 网络用户
- 状态/条件:
- 空闲: 用户未主动与网页进行交互。
- URL: 用户在网页浏览器中输入URL。
- 等待: 用户正在等待网页加载。
- 查看: 用户正在查看网页。
- 状态/条件:
- 网络浏览器
- 状态/条件:
- 空闲: 浏览器未主动处理请求。
- 处理中: 浏览器正在处理用户的输入或服务器的响应。
- 等待: 浏览器正在等待服务器的响应。
- 事件/刺激:
- 解析URL: 浏览器将URL解析为IP地址。
- HTTP请求: 浏览器向Web服务器发送HTTP请求。
- 显示页面: 浏览器将网页显示给用户。
- 时间约束:
- URL解析过程应在0到400毫秒之间完成。
- 在解析URL后,应在50到200毫秒内发送HTTP请求。
- 在接收到HTTP响应后,应在100到500毫秒内向用户显示页面。
- 状态/条件:
- DNS解析器
- 状态/条件:
- 空闲: DNS解析器当前未主动解析域名。
- 处理中: DNS解析器正在处理域名解析请求。
- 时间约束:
- DNS解析过程应在0到400毫秒之间完成。
- 状态/条件:
- Web服务器
- 状态/条件:
- 等待: Web服务器正在等待传入的请求。
- 处理中: Web服务器正在处理传入的请求。
- 发送响应: Web服务器正在将响应发送回Web浏览器。
- 时间约束:
- Web服务器应在收到请求后的200至800毫秒内发送响应。
- 状态/条件:
交互与时间约束
- Web用户到Web浏览器:
- 用户在Web浏览器中输入URL,从“空闲”状态转换为“URL”状态。
- Web浏览器解析URL,这应耗时0至400毫秒。
- Web浏览器到DNS解析器:
- Web浏览器向DNS解析器发送同步消息,以将URL解析为IP地址。
- DNS解析器处理请求,这应耗时0至400毫秒。
- Web浏览器到Web服务器:
- Web浏览器向Web服务器发送HTTP请求,这应在解析URL后的50至200毫秒内发送。
- Web服务器处理请求,并将响应发送回Web浏览器。
- Web服务器应在收到请求后的200至800毫秒内发送响应。
- Web浏览器到Web用户:
- Web浏览器将网页显示给用户,这应在收到HTTP响应后的100至500毫秒内发生。
- 用户从“等待”状态转换为“查看”网页。
时间约束
- URL解析: URL解析过程应在0至400毫秒之间完成。
- HTTP请求: 在解析URL后,应在50至200毫秒内发送HTTP请求。
- Web服务器响应: 在接收到请求后,Web服务器应在200至800毫秒内发送响应。
- 页面显示: 在接收到HTTP响应后,应在100至500毫秒内将网页显示给用户。
状态变化
- Web用户: 从“空闲”到“URL”再到“等待”最后到“查看”状态的转换。
- Web浏览器: 从“空闲”到“处理”再到“等待”最后到“显示页面”状态的转换。
- DNS解析器: 从“空闲”到“处理”再回到“空闲”状态的转换。
- Web服务器: 从“等待”到“处理”再到“发送响应”最后回到“等待”状态的转换。
同步消息
- Web浏览器向DNS解析器发送一条同步消息以解析URL,表明浏览器在继续之前会等待DNS解析器完成解析。
事件或刺激
- Web浏览器发送给Web服务器的HTTP请求是一个事件,会触发Web服务器处理请求并发送响应。
此时序图有效模拟了Web交互的时间特性,确保所有时间约束均被满足,并且交互在指定的时间间隔内按预期进行。
时序图
- 用户的生命线:
- 表示用户与网站交互的水平条。
- 表示用户交互不同状态的段落(例如:请求已发送、请求已接收、响应已发送)。
- 每个状态的持续时间约束。
- 特定事件的时间约束(例如:请求已发送、响应已接收)。
- 服务器的生命线:
- 表示服务器处理用户请求的水平条。
- 表示服务器处理不同状态的段落(例如:请求已接收、处理中、响应已发送)。
- 每个状态的持续时间约束。
- 特定事件(例如,请求已接收、响应已发送)的时间约束。
- 符号表示:
- 标识用户交互状态和服务器处理状态的标签。
- 解释交互的时间约束和条件的注释。
结论
UML时序图对于建模和分析对象之间交互的时间方面至关重要。通过理解关键要素并遵循创建和解读它们的步骤,你可以有效地利用时序图来推理时间并建模实时系统。
参考文献
- 什么是时序图?
- Visual Paradigm.(无日期)。什么是时序图? .
- 12. 时序图 – Visual Paradigm 社区圈
- Visual Paradigm 社区圈。(2018年5月11日)。时序图 – Visual Paradigm 社区圈 .
- 如何绘制时序图?
- Visual Paradigm.(无日期)。如何绘制时序图? .
- 时间约束时序图 – UML – 讨论 Visual Paradigm
- Visual Paradigm 论坛。(2019年7月19日)。时间约束时序图 – UML – 讨论 Visual Paradigm .
- Visual Paradigm 中的 UML 图简介 – ArchiMetric
- ArchiMetric。(2024年8月23日)。Visual Paradigm 中的 UML 图简介 – ArchiMetric .
- 时序图,UML 图表示例:状态/条件时间轴 – Visual Paradigm 社区圈
- Visual Paradigm 社区圈。 (2018年9月24日)。时序图,UML 图表示例:状态/条件时间线 – Visual Paradigm 社区圈 .
- UML 实用指南 – 了解 UML 建模所需的一切
- Visual Paradigm。 (无日期)。UML 实用指南 – 了解 UML 建模所需的一切 .
- 时序图 – UML 2 图表 – UML 建模工具
- Visual Paradigm。 (无日期)。时序图 – UML 2 图表 – UML 建模工具 .
- 时序图 – Visual Paradigm 社区圈
- Visual Paradigm 社区圈。 (无日期)。时序图 – Visual Paradigm 社区圈 .












