活动图和时序图的区别
时间: 2023-12-25 21:26:22 浏览: 44
活动图和时序图都是UML中的行为图,但它们的重点不同。活动图主要用于描述业务过程或系统行为的顺序关系,强调对象之间的控制流程;而时序图则主要用于描述对象之间的交互关系,强调对象之间的消息传递和时间顺序。具体来说,活动图更适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或者业务如何运作等;时序图则更适合用于对具体的交互过程进行建模,比如系统中不同对象之间的消息传递和时间顺序。此外,活动图通常使用矩形来表示活动,使用箭头来表示控制流程;而时序图则使用垂直的虚线来表示时间轴,使用实线箭头来表示消息传递。
相关问题
简述活动图和序列图的区别?
活动图和序列图都是UML中用于建模的图形语言,但它们的主要区别在于表示的角度不同。
活动图主要用于描述系统中的业务流程,以及各个业务流程之间的控制逻辑,如何处理异常情况等。在活动图中,我们可以使用各种流程控制元素,如分支、合并、循环等来描述系统的业务流程。
序列图主要用于描述系统中的交互过程,即系统中各个对象之间的消息传递和方法调用。在序列图中,我们可以使用各种时序控制元素,如同步、异步、条件语句等来描述系统的交互过程。
因此,活动图更加关注业务过程的流程,序列图更加关注系统中各个对象之间的交互过程。在实际应用中,根据需要选择合适的建模工具和建模技术,可以更好地理解和设计系统。
画出TCP连接的时序图 活动图
TCP连接的时序图:
```
Client Server
| |
SYN=1 | 发送 SYN 报文段 |
------------>|----------------------|
| 收到 SYN 报文段 |
| 发送 SYN+ACK 报文段|
|<----------------------|
ACK=1 | 收到 ACK 报文段 |
------------>|----------------------|
数据传输阶段 | 数据报文段的收发 |
| |
FIN=1 | 发送 FIN 报文段 |
------------>|----------------------|
| 收到 FIN 报文段 |
| 发送 ACK 报文段 |
|<----------------------|
ACK=1 | 收到 ACK 报文段 |
------------>|----------------------|
```
TCP连接的活动图:
```
@startuml
title TCP连接活动图
actor Client as C
actor Server as S
C -> S: SYN=1,发送SYN报文段
S -> C: 收到SYN报文段,发送SYN+ACK报文段
C -> S: ACK=1,发送ACK报文段
C -> S: 数据传输阶段
S -> C: 数据传输阶段
C -> S: FIN=1,发送FIN报文段
S -> C: 收到FIN报文段,发送ACK报文段
S -> C: ACK=1,收到ACK报文段
@enduml
```