graph TD A[用户] -->|订单信息| B[电商订单系统] C[支付网关] -->|支付结果| B D[库存系统] -->|库存信息| B E[物流系统] <-->|发货通知| B B -->|订单确认| A B -->|支付请求| C B -->|库存查询| D B -->|发货指令| E
2.2 顶层DFD(1层DFD)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
graph TD A[用户] -->|订单请求| B[订单接收] B -->|订单数据| C[订单验证] C -->|验证结果| D[库存检查] D -->|库存信息| E[支付处理] E -->|支付信息| F[订单确认] F -->|确认信息| G[发货处理] G -->|发货信息| H[用户通知] C1[(订单数据库)] --> C C2[(库存数据库)] --> D C3[(支付记录)] --> E C4[(发货记录)] --> G style A fill:#f9f,stroke:#333 style C1 fill:#bbf,stroke:#333
graph TD A[订单数据] --> B{格式验证} B -->|有效| C{用户验证} B -->|无效| D[错误处理] C -->|验证通过| E{商品验证} C -->|验证失败| F[用户异常处理] E -->|商品存在| G[价格验证] E -->|商品不存在| H[商品异常处理] G -->|价格正确| I[生成有效订单] G -->|价格错误| J[价格异常处理] K[(用户表)] --> C L[(商品表)] --> E M[(价格表)] --> G I --> N[库存检查模块] D --> O[订单数据库] F --> O H --> O J --> O
graph TD A([用户]) -->|浏览商品| B[选择商品] B -->|添加购物车| C[查看购物车] C -->|结算| D[填写收货信息] D -->|提交订单| E([订单系统]) E -->|验证订单| F{订单有效?} F -->|是| G[检查库存] F -->|否| H[返回错误信息] H --> A G -->|库存充足| I[生成订单] G -->|库存不足| J[库存预警] J --> A I --> K[跳转到支付] K --> L([支付系统]) L -->|支付成功| M[确认订单] L -->|支付失败| N[取消订单] N --> A M --> O[通知仓库] O --> P[安排发货] P --> Q[通知用户] style A fill:#f9f,stroke:#333 style E fill:#9f9,stroke:#333 style L fill:#99f,stroke:#333
graph TD A([用户]) -->|提交订单| B[接收订单请求] B --> C{验证订单信息} C -->|信息完整| D[查询用户信用] C -->|信息缺失| E[提示补充信息] E --> A D --> F{信用良好?} F -->|是| G[检查商品库存] F -->|否| H[要求预付款] H --> G G --> I{库存充足?} I -->|是| J[锁定库存] I -->|否| K[库存预警] K --> L[通知采购] L --> M[等待补货] M --> N[取消订单] N --> O[通知用户] O --> A J --> P[计算订单金额] P --> Q[生成支付链接] Q --> R[跳转到支付页面] R --> S([支付系统]) S -->|支付成功| T[确认支付] T --> U[更新订单状态] U --> V[生成发货单] V --> W[通知仓库] W --> X[拣货打包] X --> Y[安排物流] Y --> Z[发送发货通知] Z --> A S -->|支付失败| AA[取消订单] AA --> AB[释放库存] AB --> AC[通知用户] AC --> A style A fill:#f9f,stroke:#333 style S fill:#99f,stroke:#333