当前位置: 首页 > news >正文

数据流图DFD

数据流图DFD

  • 1 定义
  • 2 元素
  • 3 分层结构
  • 4 数据流图平衡原则

1 定义

数据流图(Data Flow Diagram,DFD)是一种图形化工具,用于描述系统内部的数据流动、处理逻辑和数据存储。它通过节点(如加工、数据存储)和箭头(数据流)直观展示系统各组件间的交互关系,适用于结构化系统分析与设计。

2 元素

元素说明图元
数据流有一组固定成分的数据组成,表述数据的流向
每个数据流通常有一个合适的名词,反映数据流的含义
在这里插入图片描述
加工加工描述了输入数据流到输出数据流 之间的变换
也就是输入数据流做了什么处理之后,变成了输出数据流
在这里插入图片描述
数据存储(文件)用来表示暂时存储的数据,每个文件都有名字。
流向文件的数据流表示写文件流出的表示读文件
在这里插入图片描述
外部实体指存在于软件系统外的人员活组织,或者其他系统在这里插入图片描述

3 分层结构

在这里插入图片描述
顶层图(系统上下文图)

  • 功能:最高层抽象,描述系统与外部实体的交互。
  • 组成:单个过程(代表整个系统)、外部实体(如用户、其他系统)及数据流。

一级分解图

  • 功能:分解上下文图中的单一过程,展示主要子系统或功能模块。
  • 组成:多个子过程(如“处理订单”、“生成发票”)、数据存储(如“订单数据库”)及更详细的数据流。
  • 特点:避免过度细化,通常包含5-7个关键过程。

二级及以下分解图

  • 功能:对一级图中的子过程进一步细化,直至达到足够细节。
  • 规则:每个下层图仅扩展一个上层过程,保持一致性(如输入/输出数据流需匹配)。
  • 终止条件:当过程可被简单代码或逻辑描述时停止分解。

4 数据流图平衡原则

父图与子图之间的平衡

  • 每一层的 输入、输出数据流 必须与其上层对应的输入、输出保持一致
  • 上层某个过程分解为下层子过程时,下层的外部输入输出不能比上层多,也不能少

子图内平衡

  • 指在同一层级的多个过程之间,数据流要能自洽,即输入输出能够闭合,不能凭空生成或消失

异常现象
在这里插入图片描述

  • 黑洞:一个加工只有输入数据流,而没有输出数据流
  • 奇迹:一个加工只有输出数据流,而没有输入数据流
  • 灰洞:一个加工的输入数据流无法通过该加工产生输出流
http://www.dtcms.com/a/388750.html

相关文章:

  • Netty ChannelHandler
  • 对比基于高斯核的2D热力图与普通Canvas热力图
  • 问题:RuntimeError: cuDNN error: CUDNN_STATUS_NOT_SUPPORTED.
  • 基于Cookie的SSO单点登录系统设计与实现
  • AXI4 协议
  • 懒删除|并查集|容斥
  • 鲁大齐专业WordPress外贸独立站建设服务商
  • 【LeetCode 每日一题】3516. 找到最近的人
  • 团体程序设计天梯赛-练习集 L1-030 一帮一
  • delphi 最大String
  • 线程安全的C++对象:深入探讨与实现
  • 关于段访问机制
  • 如何判断nmos和pmos导通和截止
  • 密码攻击技术全景:模型、方法与攻防演进
  • Avalonia跟WPF的不同点
  • 下载 | Win11 25H2 准正式版更新!(ISO映像、2025年度版本、26200.6713、Windows 11)
  • 2025年生态环境大数据技术发展潜力大不大?
  • opencv静态编译win10
  • Linux进程控制与编程实战:从fork到mini-shell的完整指南
  • Python实现三角龙优化算法 (Triceratops Optimization Algorithm, TOA) 优化函数(附完整代码)
  • JS开发工具有哪些?常用JS开发工具推荐、JS调试工具对比与最佳实践分享
  • QNX系统入门总结
  • 网站服务相关问题
  • 系统设计(Python\JAVA)选题
  • 移动零_优选算法(C++)
  • 【字节跳动】LLM大模型算法面试题:llama 输入句子长度理论上可以无限长吗
  • 基于STM32单片机的超声波跟随婴儿车设计
  • 深入理解 Linux 系统调用
  • 工厂模式VS抽象工厂模式
  • Python面试题及详细答案150道(136-150) -- 网络编程及常见问题篇