在线购物系统结账与购买序列图绘制指导及多参与者咨询
序列图绘制指导
关于Login序列图的疑问
Authentication不需要作为Actor。Actor是系统外部的独立角色(如用户、第三方服务),如果Authentication是系统内部的身份验证模块/组件,应作为序列图中的内部服务节点(放在生命线上),而非外部Actor。
Checkout序列图绘制步骤(合理假设场景)
- 参与者:用户、购物车服务、订单服务、支付服务
- 流程顺序:
- 用户 → 购物车服务:发起结账请求
- 购物车服务 → 用户:返回购物车商品列表、总价
- 用户 → 订单服务:确认结账信息(收货地址、支付方式)
- 订单服务 → 订单服务:创建待支付订单(关联购物车商品)
- 订单服务 → 支付服务:发起支付请求
- 支付服务 → 用户:返回支付入口(如跳转链接、支付二维码)
- 用户 → 支付服务:完成支付操作
- 支付服务 → 订单服务:异步通知支付成功
- 订单服务 → 购物车服务:通知清空购物车
- 订单服务 → 用户:返回结账成功结果
Make a Purchase序列图绘制步骤(合理假设场景)
这里假设该用例是从选品到完成购买的完整流程:
- 参与者:用户、商品服务、购物车服务、订单服务、支付服务
- 流程顺序:
- 用户 → 商品服务:发起商品查询(搜索/分类浏览)
- 商品服务 → 用户:返回商品详情列表
- 用户 → 购物车服务:选择商品并添加到购物车
- 购物车服务 → 用户:返回添加成功提示
- 用户 → 购物车服务:进入购物车确认商品
- 购物车服务 → 用户:返回购物车明细
- 后续流程同Checkout的步骤1-10
多参与者场景绘制方法
- 明确角色与组件:区分外部Actor(用户、第三方支付平台等)和内部系统组件(购物车、订单模块等),横向排列在序列图顶部
- 生命线与激活期:为每个参与者绘制垂直生命线,用矩形框标注激活期(表示参与者正在处理请求的阶段)
- 消息交互规范:同步调用用实心箭头,异步通知用虚线箭头;消息标注需清晰说明交互内容
- 复杂场景处理:用组合片段优化流程:
alt:处理分支场景(如支付成功/失败的不同流程)loop:处理循环场景(如用户多次修改结账信息)opt:处理可选场景(如用户使用优惠券)
内容的提问来源于stack exchange,提问作者Tharindu Vinod
相关产品推荐
相关产品推荐

