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

定义

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

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

主要符号

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

层次划分

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

设计步骤与注意事项

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

示例

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

解答:

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

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

数据流

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

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

相关推荐
犀思云9 小时前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人
liu****10 小时前
4.Qt窗口开发全解析:菜单栏、工具栏、状态栏及对话框实战
数据库·c++·qt·系统架构
Python_Study202514 小时前
面向工程材料行业的数据采集系统架构设计与选型指南
系统架构
鱼跃鹰飞20 小时前
面试题:什么是时钟回拨问题?怎么解决
分布式·系统架构
宋康20 小时前
QThread 与 QtConcurrent
数据库·c++·系统架构
智算菩萨1 天前
【无线通信基础】典型的无线通信系统全解析:从无线寻呼到卫星通信
网络·系统架构
一路往蓝-Anbo2 天前
第 4 篇:策略模式 (Strategy) —— 算法的热插拔艺术
网络·驱动开发·stm32·嵌入式硬件·算法·系统架构·策略模式
AUVpwoxkW2 天前
探索自动避障路径选择:Matlab 路径规划算法与仿真实践
系统架构
RockHopper20253 天前
解读数字化生产运行系统的裁决机制
运维·系统架构·智能制造·isa-95·isa-88
pursue.dreams3 天前
马斯克开源X推荐算法深度解析:Grok驱动的推荐系统架构
系统架构·开源·推荐算法·x