系统架构设计(七):数据流图
定义
数据流图(Data Flow Diagram, DFD)是一种用于表示信息系统数据流转及处理过程的图形工具。
它反映系统功能及数据之间的关系,是结构化分析与设计的重要工具。
主要符号
符号 | 说明 | 描述举例 |
---|---|---|
方框 | 外部实体(源或终点) | 用户、外部系统 |
椭圆/圆角矩形 | 处理过程 | 业务功能、操作 |
箭头 | 数据流 | 数据在实体与过程间流动 |
开放矩形 | 数据存储(库) | 数据库、文件 |
层次划分
- 0 级 DFD(上下文图)
展示系统整体与外部实体的数据流交互,顶层总览。 - 1 级 DFD
分解顶层系统为多个子过程,展示主要功能模块之间数据流。 - 2 级及更深层次
继续分解子过程,详细描述功能细节。
设计步骤与注意事项
- 识别外部实体:确定系统外部用户、其他系统等。
- 定义主要过程:业务活动、处理功能,编号层级清晰(1.0、1.1、1.2…)。
- 确定数据流:数据在过程与外部实体、过程与数据存储间的流动。
- 标识数据存储:数据库、文件或缓存。
- 保持平衡:层次间数据流和实体保持一致,防止丢失或新增数据流。
- 避免数据流循环,保持逻辑清晰。
示例
请绘制某订单管理系统的 0 级数据流图,并简述各部分作用。
解答:
外部实体:客户(订单发起者)、仓库系统(订单配送)、财务系统(付款确认);
系统整体过程:订单管理系统作为一个整体处理客户订单,实现订单接收、处理及通知功能;
数据流:
- 客户向系统发送“订单请求”数据流;
- 系统向客户返回“订单确认”数据流;
- 系统将“订单详情”传递给仓库系统;
- 系统向财务系统发送“付款信息”;
数据存储:订单数据存储于系统数据库,保持订单信息持久化。