系统架构设计(七):数据流图

定义

数据流图(Data Flow Diagram, DFD)是一种用于表示信息系统数据流转及处理过程的图形工具。

它反映系统功能及数据之间的关系,是结构化分析与设计的重要工具。

主要符号

符号 说明 描述举例
方框 外部实体(源或终点) 用户、外部系统
椭圆/圆角矩形 处理过程 业务功能、操作
箭头 数据流 数据在实体与过程间流动
开放矩形 数据存储(库) 数据库、文件

层次划分

  • 0 级 DFD(上下文图)
    展示系统整体与外部实体的数据流交互,顶层总览。
  • 1 级 DFD
    分解顶层系统为多个子过程,展示主要功能模块之间数据流。
  • 2 级及更深层次
    继续分解子过程,详细描述功能细节。

设计步骤与注意事项

  1. 识别外部实体:确定系统外部用户、其他系统等。
  2. 定义主要过程:业务活动、处理功能,编号层级清晰(1.0、1.1、1.2...)。
  3. 确定数据流:数据在过程与外部实体、过程与数据存储间的流动。
  4. 标识数据存储:数据库、文件或缓存。
  5. 保持平衡:层次间数据流和实体保持一致,防止丢失或新增数据流。
  6. 避免数据流循环,保持逻辑清晰。

示例

请绘制某订单管理系统的 0 级数据流图,并简述各部分作用。

解答:

外部实体:客户(订单发起者)、仓库系统(订单配送)、财务系统(付款确认);

系统整体过程:订单管理系统作为一个整体处理客户订单,实现订单接收、处理及通知功能;

数据流

  • 客户向系统发送"订单请求"数据流;
  • 系统向客户返回"订单确认"数据流;
  • 系统将"订单详情"传递给仓库系统;
  • 系统向财务系统发送"付款信息";

数据存储:订单数据存储于系统数据库,保持订单信息持久化。

相关推荐
风123456789~20 小时前
【架构专栏】第9章 软件可靠性基础知识 1/2
系统架构
艺杯羹1 天前
告别碎片化ToolCall:Model Context Protocol (MCP) 核心机理与私有数据总线落地实战
人工智能·microsoft·系统架构·大模型·mcp
奔跑的架构师1 天前
[A-50]ARMv9/v8-DVFS系统架构
linux·arm开发·架构·系统架构·arm
跨境数据猎手1 天前
参考pandabuy淘宝代购与集运系统架构设计
系统架构·团队开发
AI产品测评官2 天前
从L3寻源智能体到全链路闭环ATS:拆解世纪云猎新一代AI招聘系统架构
人工智能·系统架构
奔跑吧树袋熊2 天前
多租户隔离该做到哪一层:从连接池到 ORM 的取舍
开发语言·数据库·oracle·系统架构
励志不掉头发的内向程序员2 天前
【LibreCAD 2D架构】从 addHistory 到 RS_UndoCycle:LibreCAD 里的两套 History 与撤销机制
开发语言·c++·qt·学习·系统架构
XiaoZhenHua982 天前
C#工业机器视觉软件架构设计:从能运行的Demo到能够稳定跑产线的软件
计算机视觉·系统架构·自动化
XiaoZhenHua982 天前
C# WinForms + 西门子S7 + SQLite + EPPlus生产数据采集系统架构设计
系统架构·sqlite·c#
粉色大象2 天前
handdrawn‑architecture‑video:开源SVG架构图转手绘4K动画视频|本地AI Agent Skill
人工智能·ai·ai作画·系统架构·开源·aigc·音视频