UML定时图教程

UML定时图简介

UML(统一建模语言)定时图是交互图的一种特殊形式,用于展示对象在特定时间段内的行为。它们专注于时间约束和事件的顺序,因此在建模实时系统和性能分析方面特别有用。本教程将引导您了解UML定时图的基础知识,包括其目的、关键元素以及如何创建和解读它们。

UML定时图的目的

UML定时图在系统设计和分析中具有多个关键用途:

  1. 建模实时系统:它们对于设计时间因素至关重要的系统至关重要,例如嵌入式系统、通信协议和性能关键型应用。
  2. 分析时间约束:它们有助于理解并分析对象之间交互的时间特性,确保所有时间约束都得到满足。
  3. 性能分析:它们通过建模事件和交互的时间来评估系统的性能。

UML定时图的关键元素

生命线

生命线表示交互中的一个独立参与者,例如对象或参与者。它以一条水平条表示,展示该参与者随时间的存在。

状态或条件时间线

状态或条件时间线表示对象的状态或必须满足的条件。它以一条带有分段的水平条表示,展示不同时段内的不同状态或条件。

持续时间约束

持续时间约束指明条件必须满足的时间段。它以一条带有两条垂直线的水平条表示,分别表示持续时间的开始和结束。

时间约束

时间约束指明条件必须满足的具体时间点。它以一条与生命线在特定时间相交的垂直线表示。

销毁事件

销毁事件表示对象被销毁的时间点。它以生命线末端的“X”表示。

符号表示

UML定时图中的符号包括标签和注释,用于提供有关时间约束和条件的附加信息。

创建UML定时图

创建UML定时图的步骤

  1. 识别参与者:确定将参与交互的对象、参与者或实体。
  2. 定义生命线:绘制水平条来表示参与者的生命线。
  3. 添加状态或条件: 将生命线划分为多个段,以表示随时间变化的不同状态或条件。
  4. 指定持续时间约束: 添加带有垂直线的水平条,以表示必须满足条件的时间段。
  5. 指定时间约束: 添加与生命线相交的垂直线,以表示必须满足条件的具体时间点。
  6. 添加销毁事件: 在生命线末端放置一个“X”,以表示对象的销毁。
  7. 添加标签和注释: 添加标签和注释,以提供有关时间约束和条件的额外信息。

 

示例:Web交互时序图

目的

用于建模网络交互的时间特性,特别关注网络请求与响应周期的时间安排。

Major elements of timing UML diagram - lifeline, timeline, state or condition, message, duration constraint, timing ruler.

参与者

  1. 网络用户: 与网络进行交互的个人。
  2. 网络浏览器: 用于访问网络的浏览器。
  3. DNS解析器: 将域名解析为IP地址的服务器。
  4. 网络服务器: 托管网络内容的服务器。

时序图

  1. 网络用户的生命周期:
    • 状态/条件:
      • 空闲: 用户未主动与网络进行交互。
      • URL: 用户在网页浏览器中输入一个URL。
      • 等待: 用户正在等待网页加载。
      • 查看: 用户正在查看网页。
  2. 网页浏览器的生命线:
    • 状态/条件:
      • 空闲: 浏览器未积极处理请求。
      • 处理中: 浏览器正在处理用户的输入或服务器的响应。
      • 等待: 浏览器正在等待服务器的响应。
    • 事件/刺激:
      • 解析URL: 浏览器将URL解析为IP地址。
      • HTTP请求: 浏览器向网页服务器发送HTTP请求。
      • 显示页面: 浏览器将网页显示给用户。
    • 时间约束:
      • URL解析过程应在0到400毫秒之间完成。
      • 在解析URL后50至200毫秒内应发送HTTP请求。
      • 在接收到HTTP响应后100至500毫秒内应将页面展示给用户。
  3. DNS解析器的生命线:
    • 状态/条件:
      • 空闲: DNS解析器未主动解析域名。
      • 处理中: DNS解析器正在处理域名解析请求。
    • 时间约束:
      • DNS解析过程应在0到400毫秒之间完成。
  4. Web服务器的生命线:
    • 状态/条件:
      • 等待: Web服务器正在等待传入的请求。
      • 处理中: Web服务器正在处理传入的请求。
      • 发送响应: Web服务器正在将响应发送回Web浏览器。
    • 时间约束:
      • Web服务器应在收到请求后的200至800毫秒内发送响应。

交互与时间约束

  1. Web用户到Web浏览器:
    • 用户在Web浏览器中输入URL,从“空闲”状态转换到“URL”状态。
    • Web浏览器解析URL,这应在0到400毫秒之间完成。
  2. Web浏览器到DNS解析器:
    • Web浏览器向DNS解析器发送同步消息,以将URL解析为IP地址。
    • DNS解析器处理请求,这应该在0到400毫秒之间完成。
  3. Web浏览器到Web服务器:
    • Web浏览器向Web服务器发送HTTP请求,这应在解析URL后的50至200毫秒内发送。
    • Web服务器处理请求,并将响应发送回Web浏览器。
    • Web服务器应在收到请求后的200至800毫秒内发送响应。
  4. Web浏览器到Web用户:
    • Web浏览器将网页显示给用户,这应在接收到HTTP响应后的100至500毫秒内发生。
    • 用户从“等待”状态转变为“查看”网页。

解读UML时序图

理解生命线

  • 水平条:表示参与者在时间上的存在。
  • :表示随时间变化的不同状态或条件。

理解持续时间约束

  • 带垂直线的水平条:表示必须满足条件的时间段。
  • 起始点和结束点:表示持续时间的起始和结束。

理解时间约束

  • 垂直线:表示必须满足条件的具体时间点。
  • 与生命线的交点:表示生命线上的具体时间。

理解销毁事件

  • “X”符号:表示对象的销毁。
  • 生命线的结束: 销毁事件被放置在生命线的末端。

理解符号

  • 标签和注释: 提供有关时间约束和条件的附加信息。
  • 附加信息: 包括任何有助于理解交互时间方面的相关信息。

结论

UML时序图对于建模和分析对象之间交互的时间方面至关重要。通过理解关键要素并遵循创建和解读它们的步骤,您可以有效地使用时序图来推理时间并建模实时系统。

参考文献

  1. 什么是时序图?
  2. 12. 时序图 – Visual Paradigm 社区圈
  3. 如何绘制时序图?
  4. 时间约束时序图 – UML – 讨论 Visual Paradigm
  5. Visual Paradigm 中的 UML 图简介 – ArchiMetric
  6. 时序图,UML 图表示例:状态/条件时间线 – Visual Paradigm 社区圈
  7. UML 实用指南 – 了解 UML 建模所需的一切
  8. 时序图 – UML 2 图表 – UML 建模工具
  9. 时序图 – Visual Paradigm 社区圈

Leave a Reply