uml序列图和活动图
时间: 2025-01-08 19:46:47 浏览: 1
### UML序列图与活动图的区别
#### 定义差异
UML序列图是一种用于展示对象间交互的图形化表示方法,特别强调消息的时间顺序以及这些消息如何促进不同对象间的协作过程[^2]。而活动图则主要用于描绘系统的动态行为,通过一系列的动作状态及其转换来表现业务流程或操作的工作流。
#### 表现形式的不同
在视觉表达上,两者也有显著区别。序列图通常由生命线(代表参与交互的对象)、激活期(表示该对象正在执行某些动作)和箭头连线组成的消息路径构成;相比之下,活动图更像传统的流程图,利用节点(如初始节点、决策节点等)连接边形成控制流网络结构。
#### 关注点对比
- **关注参与者之间的互动**
- 序列图聚焦于具体实例级别的交流细节,适合用来说明哪些类的具体对象会在何时发送何种信号给其他对象。
- **关注整体工作流程**
- 活动图侧重于整个过程中各个阶段的任务分配情况,能够清晰地展现条件分支判断逻辑、并发处理机制等内容。
---
### 场景应用举例
#### 使用场景分析
##### 序列图的应用场合
当需要精确记录并理解某个特定事件发生时各实体是如何相互作用的时候,应该优先考虑绘制序列图。例如,在设计软件架构文档期间,可以借助此工具直观呈现客户端请求到达服务器端之后触发的一系列内部调用链路。
```mermaid
sequenceDiagram
participant Client as 用户浏览器
participant Server as Web服务端
Client->>Server: 发送登录请求
Server-->>Client: 返回会话令牌
```
##### 活动图适用范围
对于那些涉及复杂业务规则或者多条可能执行路径的过程建模来说,采用活动图更为合适。比如描述电子商务平台上的订单创建到发货确认这一连串环节里所经历的状态变迁就非常适合运用活动图来进行可视化解释。
```mermaid
graph TD;
A(开始) --> B{是否有库存?};
B -- 是 --> C[减少库存];
B -- 否 --> D[通知补货];
C --> E(结束);
D --> F(等待补货完成);
F --> G[再次检查库存];
G -->|有库存| H[下单成功];
G -->|无库存| I[取消订单];
```
--
阅读全文