数据流图(DFD)简介

软件需求分析的基础:机构化分析方法。

结构化分析方法适用于数据处理类型软件的需求分析。它提供的主要建模工具包括 数据流图、数据字典、机构化英语、判定表、和判定树等。

在这里主要说明DFD图的使用和画法。

数据流图(DFD–Data Flow Diagram)作用

指明数据在系统中移动时如何被变换,描述对数据流进行交换的功能和子功能。

DFD图的特性。

抽象性、概括性、层次性。

DFD图的用途。

1)系统分析员用这种工具可以自顶向下分析系统信息流程。

2)可在图上画出需要计算机处理的部分。

3)根据数据存贮,进一步作数据分析,向数据库库设计过渡。

4)根据数据流向,定出存取方式。

5)对应一个处理过程,用相应的语言、判定表等工具表达处理方法。

DFD图的优缺点。

1)总体概念强,每一层都明确签掉“干什么”,“需要什么”,“给出什么”

2)可以反映出数据的流向和处理过程。

3)由于自顶向下分析,容易及早发现系统各个部分的逻辑错误,也容易修正。

4)容易与计算机处理相对照。

5)不直观,一般都要咋作业流程分析的基础上加以概括、抽象、修正来得到。

6)如果没有计算机系统的帮助,人工绘制会太麻烦,工作量较大。

数据流图的画法。

具体参考: https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E6%B5%81%E5%9B%BE

另外, 也可以参考: https://wenku.baidu.com/view/74deb16b580216fc700afdb4.html

1、数据流图的定义

简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、
数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一
种图示方法。
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映
系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。

数据流程图包括:
a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体。
b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能。
c.指明几个处理和(或)数据媒体之间的数据流的流线符号。
d.便于读、写数据流程图的特殊符号。

2、数据流图的使用方法

数据流图采用分层的形式来描述系统数据流向,每一层次都代表了系统数据流向

的一个抽象水平,层次越高,数据流向越抽象。高层次的DFD图中处理可以进一

步分解为低层次、更详细的DFD图。

2.1数据流图表示法(Gane-Sarson模型)

2.2数据流图表示法中各图形的定义

数据源点和数据汇点:指系统以外又与系统有联系的人或事物。

用来表达该系统数据的外部来源和去向。

数据流:指处理功能的输入或输出,箭头表示数据流向。

加工或处理:指对数据进行处理加工,使数据变换。

数据存储:表示某种独居保存后的逻辑统称,一般为表结构。

2.3数据流图的分层结构

2.4数据流图实例

顶层数据流图

第一层数据流图

第二层数据流图-1

第二层数据流图-2

第二层数据流图-3

第二层数据流图-4

3、注意事项

3.1层次的划分遵守原则

(1)同一张图上所有处理过程应该处于同一个抽象层次上。
(2)一个处理经过展开,一般以分解为4~10个处理为宜。

3.2正确性检查

(1)数据守恒,或称为输入数据与输出数据匹配
①处理有输入就应该有输出
②处理有输出就肯定有输入
③输入的数据应该全部流出该处理或者要用于产生流出该处理的数据(排除无用数据)
④输出的所有数据必须曾经流入过该处理或者是由流入该处理的数据加工产生(保证必要数据)
(2)在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流。
(3)父图中的某一处理的输入、输出数据流必须出现在相应的子图中。

3.3提高易读性

(1)简化处理间的关系(利用数据存储)
例:
设P1,P2为处理,D1为数据存储
P1->P2可以改变为:P1->D1 D1->P2
(2)均匀分解
(3)适当的命名

3.4确定系统边界

(1)排除纯手工活动
(2)排除其他外部系统的活动
(3)和系统外的外部源点之间的接口通过数据流来实现
另外, 的例子
————–
DFD画法? ?(来自百度百科)(1)确定系统的输入输出

由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。

(2)由外向里画系统的顶层数据流图

首先,将系统的输入数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。

(3)自顶向下逐层分解,绘出分层数据流图

对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示

举例说明:
举例一:

下图是一个飞机机票预订系统的数据流图,它反映的功能是:旅行社把预订机票的旅客信息 (姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(附有应交的账款)。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。

(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。图3-3为飞机机票预订系统的顶层图。

(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,图3-4为0层数据流图

(3)注意事项。

①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。

②画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。

③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。

④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。

⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。

⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。

⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。

⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性

举例二:

(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。

(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。

(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。

(4)根据留底的订单进行销售统计,打印统计表给经理

【图形设计】数据流图(DFD)简介相关推荐

  1. 数据库设计--数据流图(DFD)

    1.数据流图的定义 数据流图(DFD)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程, 由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型. 在结构化开发方法中,数 ...

  2. 数据流图的简介与画法

    数据流图的简介与画法 简介 理论 组成 例子 简介 数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型.在结 ...

  3. java 2 图形设计卷i awt_java 2 图形设计卷i:awt

    java 2 图形设计卷i:awt [2021-02-06 10:44:56]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&qu ...

  4. 计算机应用专业UI设计方向,长沙经贸职业中专学校计算机应用技术(UI设计方向)简介...

    原标题:长沙经贸职业中专学校计算机应用技术(UI设计方向)简介 UI设计方向 培养目标: 熟练掌握视觉形象设计,交互设计等知识与技能, 具有较强的审美能力,用户体验设计能力和界面创意设计能力, 适应软 ...

  5. 图形图像相关格式简介

    格式简介: 1.BMP:英文(Bitmap)Windows操作系统中的标准图像文件格式,本身是不压缩文件.BMP文件存储数据时,图像的扫描方式是按从左到右.从下到上的顺序.颜色深度位数可以是1bit. ...

  6. 大学计算机平面设计教学实施报告,设计课程论文,关于高校平面设计课程CoreIDRAW图形设计的教学改革相关参考文献资料-免费论文范文...

    导读:本论文是一篇免费优秀的关于设计课程论文范文资料. 摘 要:平面设计课程CorelDRAW图形设计是设计类专业和计算机应用技术平面方向的必修课程之一,主要从该课程的教学现状提出一些改进的方法及措施 ...

  7. 辅助图形设计——“中海·左岸岚庭”地产项目教学设计

    教学设计概述: [授课对象] 平面媒体印制技术专业二年级学生 [授课教材] "十二五"职业教育国家规划教材 <广告设计> (主编:刘境奇 占鸿鹰  高等教育出版社) [ ...

  8. 《响应式Web图形设计》一13.2 缩放图像带来的问题

    本节书摘来异步社区<响应式Web图形设计>一书中的第13章,第13.2节,作者: [美]Christopher Schmitt 译者: 曾斌 责编: 赵轩,更多章节内容可以访问云栖社区&q ...

  9. java 2d划线 刷子_Java图形设计中,利用Bresenham算法实现直线线型,线宽的控制(NO2DGRAPHICS)...

    Java图形设计中,利用Bresenham算法实现直线线型,线宽的控制(NO2DGRAPHICS) (2007-04-05 23:37:39) Java 2D Graphics提供了强大的画线功能,可 ...

  10. linux中的3d设计软件,Linux专业画室:免费3D图形设计工具

    [IT168 软件应用]如果你正在为你的Linux操作系统寻找免费而又够酷够炫的图形设计软件,你就来对地方了!这一次,我们将为你介绍7个应用广泛而且免费的3D图形设计软件. 相关精彩文章 1.Blen ...

最新文章

  1. R语言基础与入门实践
  2. effective java英文版pdf_Java之Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse...
  3. c++构造函数用法一
  4. SQL SERVER 数据库如何限制一列不能重复(已经有主键)
  5. C#委托、事件学习之(二)——简单按钮委托事件
  6. 关于STM32的两个小问题的总结
  7. AlarmManager使用
  8. 17校招真题题集(3)11-15
  9. LeetCode 1723. 完成所有工作的最短时间(DFS+剪枝 / 状态压缩DP)
  10. 研磨设计模式之 工厂方法模式-3
  11. css js 代码怎么隐藏,如何仅使用js代码(和css)隐藏元素?
  12. iOS 静态库,动态库与 Framework 浅析
  13. Excel键盘快捷键大全(二)
  14. 研发人员如何提高工作效率
  15. FCPX插件-20种手绘涂鸦潦草文字标题动画 Sketch Scribble Titles
  16. SVM适合小数据量原因
  17. docker快速安装可道云
  18. CC00382.CloudKubernetes——|KuberNetesCI/CD.V20|——|Jenkins.v08|kubeconfig多集群配置.v02|
  19. vux组件的cell组件上下箭头图标显示问题,cell必须放在groud内才会显示
  20. SDL2.0--绘制文字

热门文章

  1. 网络舆情信息怎么报送的流程
  2. 通过伴随矩阵怎么求逆矩阵
  3. CSV文件的导入和导出
  4. 一文弄懂Batch Norm / Layer Norm / Instance Norm / Group Norm 归一化方法
  5. 腾讯WXG客户端开发(已OC)
  6. java 删除重复文件
  7. 不定式作各种成份和现在分词作各种成份
  8. getcwd()和chdir()的用法 python
  9. Linux系统配置文件 /etc/sysconfig详解
  10. java解释单片机按高位在前低位在后协议输出的数字