Loading [MathJax]/jax/input/TeX/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【软件工程】数据流图 ( 数据流图简介 | 数据流图概念 | 数据流 | 加工 | 数据存储 | 外部实体 | 数据流图分层 | 顶层数据流图 | 中层数据流图 | 底层数据流图 )

【软件工程】数据流图 ( 数据流图简介 | 数据流图概念 | 数据流 | 加工 | 数据存储 | 外部实体 | 数据流图分层 | 顶层数据流图 | 中层数据流图 | 底层数据流图 )

作者头像
韩曙亮
发布于 2023-03-28 10:33:10
发布于 2023-03-28 10:33:10
24.7K0
举报

文章目录

一、数据流图 ( DFD ) 简介


数据流图 ( Data Flow Diagram ) :

在 需求分析 阶段 , 使用的工具 , 在 “结构化分析” 中 , 数据流图 ( DFD ) 使用频率很高 ;

数据流图涉及内容 : 基本概念符号 , 数据字典 , 数据平衡原则 ;

二、数据流图 ( DFD ) 概念符号


1、数据流

数据流 : 数据流由 一组固定成分的数据 组成 , 表示 数据的流向 ;

数据流命名 : 每个数据流都有一个 命名 , 该命名表达了 该数据流传输 的 数据的含义 ; 如在箭头上标注 “账号信息” , 表示该数据流是传输账号信息 的 , 表示 数据的内容 ;

数据字典 : 数据流箭头上只标明了 “账号信息” , 没有具体的格式内容 , 是只有账号 , 还是有账号/密码/验证码等信息 , 这些数据详细格式 , 都在 数据字典中定义 ;

符号表示 : 数据流 使用 箭头 表示 , 箭头所指的方向 , 代表了数据流向 ;

2、加工 ( 核心 )

加工 : 描述 “输入数据流” 到 “输出数据流” 之间的变换 , 即 对数据进行了什么样的处理 , 使得 “输入数据流” 变为 “输出数据流” ;

主要操作 : 在程序中的体现是 处理 数据的过程 , 向 “加工” 中输入数据流后 , 将数据进行加工 , 处理 , 变换后 , 产生新的 “输出数据流” ;

符号表示 : 使用 圆形 / 圆角矩形 表示加工 ;

3、数据存储

数据存储 ( 文件 ) : 表示 暂时存储的数据 , 数据存储的粒度是以 表 为单位 ;

文件名称 : 每个 数据存储 ( 文件 ) 都有 名字 ;

方向 : 流向文件的数据流 表示 向文件内写入内容 , 从文件流出的数据流 表示 从文件读取内容 ;

符号表示 : 使用 双横线 / 半框形矩形 表示

4、外部实体

外部实体 : 软件系统之外的 人员 / 组织 ;

符号表示 : 矩形 ;

三、数据流图 ( DFD ) 分层


1、分层说明

数据流图分层 , 最上层是 顶层数据流图 , 第二层是

0

层数据流图 ,

, 最底层是 底层数据流图 ,

“顶层数据流图” 与 “底层数据流图” 之间是若干 中层数据流图 ,

中层数据流图 需要进行编号 , 从

0

开始编号 ;

2、顶层数据流图

顶层数据流图 : 中间的椭圆 是需要开发的 系统 , 周边的矩形 表示的是 外部实体人或组织 , 外部实体 与 系统 之间 , 有数据传输关系 ;

一个形象的说明是 多个人吃火锅 , 外层周边是人 , 中心位置火锅是系统 ;

顶层数据流图 能够表达的信息是非常有限的 , 其 将整个系统 , 使用一个节点表示 ,

其可以体现出 系统与外界实体之间的交互 ,

但是 系统内部的情况 , 系统内部模块之间的数据交换 是没有体现的 ;

3、中层数据流图

将 “顶层数据流图” 进行细化 , 细化后的

0

层数据流图 ,

与 顶层数据流图 比较没有变化的部分 : 外部实体 , 外部实体与系统之间的数据流 , 是没有变化的 ;

变化部分 : 有变化的部分是系统内部 , 系统内部进行了细化 , 原来系统是一个节点 , 在 中层数据流图 中 , 会将一个节点 拆分成 多个节点 , 这些节点就是系统中的数据处理部件 , 即 加工 ;

这些数据处理部件 ( 加工 ) 之间会有数据流的交互 ,

4、底层数据流图

针对每个加工 节点 , 将其拆分 , 绘制其中的更详细的数据流转情况 ;

数据流图 ( DFD ) 分层 , 是从 顶层 -> 中层 -> 底层 , 逐层进行分解 , 这种分解思路 , 与结构化的开发方法 , 是完全匹配的 ;

因此 , 数据流图 是 结构化 开发方法中 , 最常用的工具 ;

绘制数据流图时 , 要保证 上一层数据流图 与 下一层数据流图 保持平衡 , 这就是 数据流图平衡原则 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软考高级:数据流图概念和例题
数据流图(DFD)是一种图形化的系统分析和设计工具,它用以描述系统中数据的流动、数据的输入和输出以及数据的存储。它通过图形符号来表示系统中的数据流、处理过程、数据存储和数据源/终点,是理解系统如何处理数据的有效方式。
明明如月学长
2024/05/24
2500
软考高级:数据流图概念和例题
【愚公系列】软考高级-架构设计师 074-需求工程
需求工程(Requirements Engineering)是指软件工程中的一个重要领域,专注于确定用户需求、系统需求和软件需求,并确保这些需求被正确地捕获、分析、规范和管理。需求工程是软件开发生命周期的早期阶段,关注于确保软件系统开发过程中对需求的准确理解和有效管理。
愚公搬代码
2024/07/28
1720
软件工程:需求开发阶段
需求开发阶段的主要任务就是分析问题,研究问题所发生的现实世界(即问题域),寻找实现软件系统与现实世界有效互动的办法,并严格描述该互动办法。而软件需求开发是一个连接现实世界与计算机世界的活动,是软件工程的起始阶段,设计、实现等后续阶段的正确性都以它的正确性为前提。如果需求开发过程中有错误未能解决,则其后的所有阶段都会受到影响,因此与需求有关的错误修复代价较高,需求问题对软件成败的影响较大。而我们之所以认识不到需求开发阶段的重要性主要是因为学校时间项目的特殊性,具体来说学校的课程设计或实训:
Here_SDUT
2022/09/19
2.2K0
软件工程:需求开发阶段
「数据架构」5分钟学会数据流程图:客户服务系统示例
数据流图(DFD)提供了系统内信息流(即数据流)的可视化表示。通过创建一个数据流图,您可以告诉参与系统流程的人员所提供和交付的信息、完成流程所需的信息以及需要存储和访问的信息。数据流图在软件工程中得到了广泛的应用。您可以在信息系统建模中使用DFD。本文以客户服务系统为例,对数据流图(DFD)进行了描述和说明。
架构师研究会
2019/12/25
1.1K0
系统分析师案例必备知识点汇总---2023系列文章一
累计净现金流量开始出现正值的年份数- 1+ | 上年累计净现金流量 | /当年净现金流量 ②动态投资回收期:
小马哥学JAVA
2023/01/17
1.2K0
系统分析师案例必备知识点汇总---2023系列文章一
累计净现金流量开始出现正值的年份数- 1+ | 上年累计净现金流量 | /当年净现金流量 ②动态投资回收期:
小马哥学JAVA
2023/02/27
5490
系统分析师案例必备知识点汇总---2023系列文章一
数据流图DFD画法「建议收藏」
数据流图(DFD- Data Flow Diagram)让系统分析者弄清楚“做什么”的问题,其重要性就不言而喻了。那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢?
全栈程序员站长
2022/06/25
2.7K0
数据流图DFD画法「建议收藏」
【理论】软件工程中的数据流图
数据流图和数据字典是结构化分析方法中常用的两种工具。本文中基础资料收集于网络,顶层数据流图部分加入里自己的理解。
needrunning
2019/07/04
1.9K0
【理论】软件工程中的数据流图
软件工程—数据流图的概念及步骤
数据流图(Data Flow Diagram,DFD)是从数据传递和加工的角度,以图形的方式来描述逻辑输入经过系统加工处理后转化为逻辑输出的结构化系统分析工具
Hopestarit
2021/11/25
17.5K0
软件工程—数据流图的概念及步骤
数据流程图 (DFD) 示例:食品订购系统
数据流图也称为气泡图。它通常用作创建系统概述的初步步骤,而不需要详细介绍,以后可以将其作为自上而下的分解方式进行详细说明。DFD显示将从系统输入和输出的信息类型,数据如何流经系统以及数据将存储在何处。与传统的结构化流程图不同,它不显示有关流程时序的信息,也不显示流程是按顺序还是并行运行的。
Warren2Lynch
2018/07/13
5.2K0
数据流程图 (DFD) 示例:食品订购系统
我的软考之路(八)——三大原则学会数据流图
数据流图是软考当中比较重要的一部分考点,不仅上午的选择题会考,而且下午要考一个大题。所以对数据流图的学习不容忽视。
程序猿小亮
2021/01/28
1.9K0
软件工程:数据流图和结构图怎么画?
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ´▽`)ノ♪-》点击这里->一个宝藏级人工智能教程网站。
全栈程序员站长
2022/07/02
4.4K0
软件工程:数据流图和结构图怎么画?
软考中级(软件设计师)——数据流图(DFD图下午第一题15分)(必拿题)
数据流(带箭头的线)、加工(圆圈/倒角的矩形)、数据存储(平行线/开右口的长方形)、外部实体(长方形)。
红目香薰
2022/11/30
2.6K0
软考中级(软件设计师)——数据流图(DFD图下午第一题15分)(必拿题)
软考下午题第1题——数据流,题目分析与案例解析:
下午第一题肯定是数据流的题目,那么,数据流肯定要找到对应的实体、关系模式等内容,审题的时候一定要细致,下午时间也是相当够的,所以每句话记住,至少读3遍,肯定能找到关系和实体,缺少的步骤多读几次也能找个差不多。
红目香薰
2022/11/29
1.2K0
软考下午题第1题——数据流,题目分析与案例解析:
软考高级架构师:数据库案例篇 - ER 图和数据流图
从数据流图(DFD)转换为实体关系图(ER图)是一个重要的步骤,可以帮助将系统的动态流程转换为静态的数据模型。以下是一些经验和步骤,帮助你完成这一过程:
明明如月学长
2024/05/25
8160
软考高级架构师:数据库案例篇 - ER 图和数据流图
软件工程期末考试题库(超全)[通俗易懂]
A. 过程        B. 软件系统   C. 硬件环境         D. 人员
全栈程序员站长
2022/08/22
3.1K0
软件工程期末考试题库(超全)[通俗易懂]
软件工程期末考试复习(二) 可行性研究的任务系统流程图数据流图数组字典
3、可行性研究需要的时间长短取决于工程的规模,一般说来,可行性研究的成本只是预期的工程总成本的5%·10%
用户2417870
2019/09/18
2.9K0
软件工程期末考试复习(二)

        可行性研究的任务系统流程图数据流图数组字典
软考小记-软件工程
模块的控制范围包括模块本身及其所有的从属模块。模块的作用范围是指模块一个判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围.,原则上一个模块的作用范围应该在其控制范围之内,若没有,则可以将判定所在模块合并到父模块中,使判定处于较高层次。 在软件设计中,人们总结了一些启发式原则,根据这些原则进行设计,可以设计出较高质量的软件系统。其中,模块的扇入扇出适中,模块大小适中以及完善模块功能都可以改进设计质量。而将相似功能的模块合并可能会降低模块内聚和提高模块之间的耦合,因此并不能改进设计质量。
WuShF
2023/11/20
3680
软考小记-软件工程
DBA 我想上一层楼,DFD 了解一下
活着绕不过修行,越简单越复杂,然后有可能是越复杂,越简单。DBA 做久了,貌似两个路径,运维DBA, 开发DBA,实际上还有另一条路,就是将其合二为一,让你自身升华一次,成为一个数据库架构师。那在软件项目中,除了去给硬件层次,或数据库层次做一个架构的规划以外, 从软件的开发角度,作为DB的层次也可以梳理和参与甚至是贴合软件来做一些事。
AustinDatabases
2020/03/10
7800
DBA 我想上一层楼,DFD 了解一下
软件需求-架构师之路(五)
重点:软件需求分为 业务需求、用户需求和系统需求,三大类。(重点:业务需求、用户需求和系统需求)
用户9919783
2023/09/06
2920
软件需求-架构师之路(五)
推荐阅读
相关推荐
软考高级:数据流图概念和例题
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文