简介
序列图是软件工程中一个关键工具,用于在时间维度上可视化系统中对象之间的交互。它们有助于理解系统的动态行为,设计其架构,并记录复杂流程。本指南将涵盖关键概念、使用指南、一个真实案例以及一个案例研究,帮助您掌握序列图。
关键概念
1. 生命线
生命线代表交互中的参与者,例如对象或参与者。它们以垂直虚线表示,显示对象在时间上的存在。
2. 消息
消息是生命线之间的箭头,代表通信。它们可以是:
- 同步:实线配实心箭头,表示等待响应的方法调用。
- 异步:实线配空心箭头,表示不等待响应的信号。
3. 激活条
激活条是生命线上的矩形,表示操作或方法执行的持续时间。它们表明对象处于活动状态并正在处理消息。
4. 组合片段
组合片段用于处理复杂交互,例如循环、选择和并行处理。它们有助于组织和管理复杂的消息流。
创建序列图的指南
1. 识别用例
首先识别系统的重点用例。用例描述用户与系统之间的特定交互。这有助于聚焦于需要建模的关键交互。
2. 定义参与者
确定场景中涉及的对象或参与者。参与者可以是用户、系统或与系统交互的外部实体。
3. 绘制生命线
为每个参与者绘制一条垂直虚线,代表其生命线。这条线显示参与者在时间上的存在。
4. 添加消息
在生命线之间绘制箭头,表示参与者之间交换的消息。用消息名称和相关参数对每条消息进行标注。这有助于理解通信的流程。
5. 使用组合片段
对于复杂交互,使用组合片段来展示循环、选择或并行处理。这有助于管理和组织复杂的消息流。
真实案例:移动银行应用程序
用例:转账
- 用户发起一笔资金转账。
- 移动应用程序向……发送请求银行系统.
- 银行系统验证用户凭证并检查账户余额。
- 银行系统向……发送确认消息移动应用程序.
- 移动应用程序向……显示确认信息用户.

案例研究:酒店预订系统
用例:预订房间
- 客户发起预订请求。
- 预订系统检查房间可用性。
- 预订系统向……发送确认消息客户.

案例研究:时序图 –在线书店订单处理
参与者:
- 客户:浏览书店、选择书籍并下单的用户。
- 书店系统: 一个在线平台,用于管理图书目录、用户账户和订单处理。
- 支付网关: 一个处理支付交易的外部服务。
- 库存系统: 管理图书的库存水平。
场景: 一位顾客访问在线书店,浏览图书目录,选择要购买的书籍,然后进入结账流程。系统验证所选书籍的库存情况,通过支付网关处理支付,并更新库存。最后,顾客收到订单确认信息。
时序图
下面的时序图展示了在订单处理场景中,顾客、书店系统、支付网关和库存系统之间的交互过程。

说明
- 顾客 在 书店系统.
- 顾客 选择书籍并进入结账流程。
- 书店系统 与 库存系统.
- 库存系统 将库存状态返回给 书店系统.
- 书店系统 通过 支付网关.
- 支付网关处理付款并将确认信息发送回书店系统.
- 书店系统在中更新库存库存系统.
- 库存系统向确认库存更新书店系统.
- 书店系统将订单确认信息发送给客户.
此顺序图有助于可视化在线书店系统在订单处理场景中不同组件之间的交互和消息传递流程。
创建高效顺序图的技巧与建议
- 从用例开始:
- 明确参与者:
- 明确界定场景中涉及的对象或参与者。参与者可以是用户、系统或与系统交互的外部实体。3.
- 使用描述性消息标签:
- 管理复杂交互:
- 对于复杂交互,使用组合片段来展示循环、选择或并行处理。这有助于组织和管理复杂的消息流2.
- 保持简洁:
- 避免过度复杂化图表。专注于理解用例所必需的关键交互和消息。过多的细节会使图表难以阅读和理解。
- 使用一致的命名规范:
- 保持参与者、消息和生命线命名的一致性。这使得图表更易于阅读和理解。
- 添加注释和说明:
- 使用注释和说明在必要时提供额外的上下文或解释。这有助于澄清图表中的复杂交互或决策。
- 审查并迭代:
- 与利益相关者和团队成员一起审查你的顺序图。收集反馈并迭代修改图表,以确保它准确反映用例,并且所有人都能理解。
- 使用工具提高效率:
- 记录假设和约束条件:
- 清楚地记录适用于顺序图的任何假设或约束。这有助于理解图中所建模交互的上下文和限制。
通过遵循这些技巧和窍门,您可以创建出有效的顺序图,清晰地传达系统的动态行为,并有助于设计和记录复杂流程。
摘要
顺序图对于可视化和理解系统的动态行为至关重要。通过遵循指南并运用关键概念,您可以创建清晰且全面的顺序图,有助于设计和记录复杂系统。真实案例和案例研究提供了顺序图在不同场景中的实际应用。
参考文献
- 使用用例驱动方法创建顺序图:全面指南
- UML 顺序图:关键概念与全面指南
- 顺序图 – 统一建模语言(UML)
- 什么是顺序图?
- 理解顺序图:全面指南
- 顺序图












