跳至正文
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » UML » 理解UML中的顺序图表示法

理解UML中的顺序图表示法

引言

统一建模语言(UML)作为一种通用语言,用于可视化、规范、构建和记录软件系统的各种产物。在UML的广阔领域中,顺序图作为一种强大的工具,用于描绘系统内各个组件之间的动态交互。

在本文中,我们将剖析顺序图表示法,揭示用于描绘实体、消息和生命线之间复杂互动的符号和约定。理解这种表示法对于参与复杂系统设计、分析或实现的任何人来说都至关重要,因为它提供了一种标准化的视觉语言,超越了技术界限。

UML中的顺序图

在统一建模语言(UML)中,顺序图是一种图形化表示,用于展示系统内各个组件或对象在特定时间段内的交互和动态行为。它提供了一个时间有序的事件序列,展示消息的流动以及每个参与者的生命周期。

Sequence Diagram Example

以下是UML顺序图中的关键元素和概念:

1. 参与者

符号说明:参与者代表主体外部实体所扮演的一种角色。参与者通过交换信号和数据与主体进行交互。它们可以是人类用户、外部硬件或其他主体。

视觉表示:

Actor

注意:参与者并不一定代表具体的物理实体,而是实体的特定角色。

2. 生命线

符号说明:生命线代表交互中的一个独立参与者。它本质上描绘了实体在交互过程中随时间的存在。

视觉表示:

Lifeline

3. 激活

符号说明:生命线上的一条细长矩形表示一个元素执行操作的时段。矩形的顶部和底部分别对应操作的开始和结束时间。

视觉表示:

Activation

4. 调用消息

符号说明:调用消息是一种表示在目标生命线上调用操作的消息类型。

视觉表示:

5. 返回消息

符号说明:返回消息表示将信息传回给相应前序消息的调用者。

视觉表示:
Return Message

 

6. 自消息

符号说明: 自消息表示在同一生命线上的消息调用。

视觉表示:

Self-Message

7. 递归消息

符号说明: 递归消息表示在同一生命线上的消息调用。目标指向从消息调用位置的激活上方的激活。

视觉表示:
Recursive Message

8. 创建消息

符号说明: 创建消息表示目标生命线的实例化。

视觉表示:
Create Message

9. 销毁消息

符号说明: 销毁消息表示请求销毁目标生命线的生命周期。

视觉表示:

Destroy Message

10. 持续时间消息

符号说明: 持续时间消息显示消息调用在两个时间点之间的距离。

视觉表示:

Duration Message

11. 注释

符号说明: 注释或评论可用来将各种备注附加到元素上,虽无语义作用,但包含对建模者有用的信息。

视觉表示:

Note

12. 消息与控制焦点

符号说明: 事件是交互中任何发生某事的点。控制焦点,也称为执行发生点,以生命线上一个高而窄的矩形表示。

视觉表示:

Message and Focus of Control

13. 顺序片段

符号说明: 顺序片段以组合片段的形式表示,有助于更轻松地创建和维护准确的顺序图。

视觉表示:

Combined Fragment example

片段类型和操作符:

  • alt:替代多个片段,只有条件为真的那个会执行。
  • opt:可选片段,仅当提供的条件为真时才执行。
  • par:并行片段,每个片段并行运行。
  • loop:循环片段,可能多次执行。
  • region:临界区片段,一次只有一个线程可以执行。
  • neg:负片段,显示无效的交互。
  • ref:引用片段,引用另一个图表中定义的交互。
  • sd:顺序图片段,用于包围整个顺序图。

注意:组合片段可以组合起来以捕捉循环或分支。

顺序图的一个典型用途是捕捉和可视化对象或参与者在协作实现特定功能或用例时的交互。它们在系统设计、分析以及利益相关者之间的沟通中特别有用,能够提供系统动态方面的高层次概览。

本质上,UML顺序图是一种强大的工具,有助于理解组件之间交互的时间顺序,帮助开发人员和利益相关者可视化系统的动态行为,并在软件开发过程中促进有效沟通。

14. 用于建模用例场景的顺序图

符号说明:用户需求被记录为用例,并细化为场景。用例是外部参与者与系统之间交互的集合。

视觉表示:

Combined Fragment example

15. 顺序图——先建模后编码

符号说明:顺序图充当用户需求与系统实现之间的桥梁。它们在某种程度上接近代码级别,但提供语言无关的表示,非程序员也能理解。

视觉表示:

Sequence Diagram for Use Case

结论

UML顺序图在统一建模语言(UML)中作为关键的视觉工具,用于描绘系统内组件之间的动态交互和行为。它记录了生命线之间交换的事件和消息的时间顺序,生命线代表交互中的各个参与者,无论是对象还是参与者。该图包含多种类型的消息,如调用、返回、自调用、递归、创建、销毁和持续时间消息,每种消息传达特定的动作和交互。

符号元素,包括激活、组合片段和注释,提供了一种全面的语言来表达复杂系统的行为。激活表示元素执行操作的时段,而组合片段则引入了条件和迭代行为。

序列图的用途扩展到建模用例场景、捕捉用户需求,并在高层次系统设计与实现之间搭建桥梁。它提供了一种标准化且与语言无关的表示方式,促进了开发人员、设计师及其他利益相关者之间的沟通。该图的多功能性使其成为团队的宝贵工具,即使对于不精通编程的人员,也能实现协作建模、测试和用户体验原型设计。本质上,UML序列图充当了一位视觉叙事者,揭示了定义软件系统动态本质的实体与消息之间错综复杂的互动。

发表回复