de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

UML定时图全面指南

简介

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

What is Timing Diagram?

UML定时图的目的

UML定时图用于:

  • 分析时间:分析和理解对象之间交互的时间方面。
  • 展示时间约束:展示在特定时间区间内必须满足的条件。
  • 建模实时系统:表示时间是关键因素的系统,例如嵌入式系统、通信协议和性能分析。

示例用例:

  • 医疗领域:建模疾病的发展阶段及干预的时间。
  • 用户体验:分析网站或应用程序的延迟和性能。

UML定时图的关键要素

生命线

生命线表示交互中的一个独立参与者。它可以是对象、参与者或任何参与交互的实体。生命线以水平条形表示,展示参与者在时间上的存在。

状态或条件时间轴

状态或条件时间轴表示对象的状态或必须满足的条件。它以带有分段的水平条形表示,显示随时间变化的不同状态或条件。

持续时间约束

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

时间约束

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

销毁事件

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

符号表示

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

创建UML定时图

创建UML定时图的步骤

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

解读UML时序图

理解生命线

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

理解持续时间约束

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

理解时间约束

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

理解销毁事件

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

理解符号表示

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

示例:网站时间

此UML时间图展示了网络交互中涉及的事件序列和时间约束,特别关注网络请求与响应周期的时间方面。该图标题为“sd 网站时间”,包含四条生命线,代表交互中的参与者:网络用户、网络浏览器、DNS解析器和网络服务器。横轴表示时间,以秒为单位标记。

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

生命线与状态

  1. 网络用户
    • 状态/条件:
      • 空闲: 用户未主动与网页进行交互。
      • URL: 用户在网页浏览器中输入URL。
      • 等待: 用户正在等待网页加载。
      • 查看: 用户正在查看网页。
  2. 网络浏览器
    • 状态/条件:
      • 空闲: 浏览器未主动处理请求。
      • 处理中: 浏览器正在处理用户的输入或服务器的响应。
      • 等待: 浏览器正在等待服务器的响应。
    • 事件/刺激:
      • 解析URL: 浏览器将URL解析为IP地址。
      • HTTP请求: 浏览器向Web服务器发送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毫秒内发生。
    • 用户从“等待”状态转换为“查看”网页。

时间约束

  • 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交互的时间特性,确保所有时间约束均被满足,并且交互在指定的时间间隔内按预期进行。

时序图

  1. 用户的生命线:
    • 表示用户与网站交互的水平条。
    • 表示用户交互不同状态的段落(例如:请求已发送、请求已接收、响应已发送)。
    • 每个状态的持续时间约束。
    • 特定事件的时间约束(例如:请求已发送、响应已接收)。
  2. 服务器的生命线:
    • 表示服务器处理用户请求的水平条。
    • 表示服务器处理不同状态的段落(例如:请求已接收、处理中、响应已发送)。
    • 每个状态的持续时间约束。
    • 特定事件(例如,请求已接收、响应已发送)的时间约束。
  3. 符号表示:
    • 标识用户交互状态和服务器处理状态的标签。
    • 解释交互的时间约束和条件的注释。

结论

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

您的邮箱地址不会被公开。 必填项已用 * 标注