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

定义

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

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

主要符号

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

层次划分

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

设计步骤与注意事项

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

示例

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

解答:

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

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

数据流

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

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

相关推荐
学历真的很重要6 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
C澒7 小时前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构
roman_日积跬步-终至千里10 小时前
【系统架构设计师-综合知识】系统知识点说明
系统架构
子春一12 小时前
Flutter for OpenHarmony:形状拼图:基于路径几何与空间吸附的交互式拼图系统架构解析
flutter·系统架构
枫叶丹413 小时前
【Qt开发】Qt界面优化(一)-> Qt样式表(QSS) 背景介绍
开发语言·前端·qt·系统架构
Coder个人博客18 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
不凉帅21 小时前
NO.7系统架构设计和软件质量
系统架构
C澒1 天前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
C澒1 天前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架
皮卡丘不断更1 天前
告别“金鱼记忆”:SwiftBoot v0.1.5 如何给 AI 装上“永久项目大脑”?
人工智能·系统架构·ai编程