在《软件工程——系统流程图符号及案例》中我们知道了系统流程图描述的是物理系统,那么数据流图则是用来描述系统的逻辑模型,在数据流图中没有任何具体的物理元素,只是描绘信息在系统中的流动和处理情况。并且因为数据流图是逻辑系统的图形表示,即使是非计算机专业的人员也能理解。

一. 基本图形符号

数据流图有4中基本符号元素:数据流、数据处理、数据存储、外部实体。
“→”箭头,表示数据流;
〇:圆或椭圆,表示加工;
=:双杠(带一边开口,一边闭合),表示数据存储;
□:方框,表示数据的源点或终点。

1.数据流

数据流用箭头来表示,箭头方向即数据流动方向,数据流名标在数据流线上面,数据流命名时应尽量准确。
PS:除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。

2.加工

加工也称为数据处理,是对数据进行处理的单元。数据处理名称写在烦那方框内。在分层的数据流图中,加工还应编号。

3.数据存储

数据存储为数据处理提供数据处理所需要的输入流或为数据处理的输出数据流提供存储仓库。具体指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
流向数据存储的数据流可以理解为写入或查询文件,流出的数据流可理解为从文件读数据或查询结果。

4.数据源点和终点

数据源点和终点是软件系统外部环境中的实体(包括人、组织或其他软件系统),统称外部实体。一般只出现在数据流图的顶层图中,表示了系统中数据的来源和去处。

二. 画数据流图

  1. 画系统的输入/输出
    最初,把系统视为一个整体,看这个整体与外界的联系。分析有哪些内容是要通过外界获取的,就是系统的输入;有哪些是要向外界提供服务的,就是系统的输出。画系统的输入/输出即先画顶层数据流图.
  2. 画系统内部
    数据流图主要是用于描述系统内部的处理过程。有些内部处理过程比较简单,有些则相当复杂。描述系统内部即画下层数据流图。一般方法是将层号从0开始编号,采用自顶向下,由外向内的原则。

注意事项:

1.命名:在画数据流图中,不论数据流、数据存储还是加工的命名要合适,要易于理解其含义。命名时不能使用抽象含义的名字,比如“数据”、“信息”等等。加工名的命名也要反映其处理的功能,不能使用“处理”、“操作”这些笼统的词。

2.在画数据流图时要注意不是画控制流。数据流图反映的是系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词类,整个图中不反映加工的执行顺序。

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

4.加工点的编号:子图的编号是父图中相应加工的编号的扩充,子图上加工的编号的方法是由父图号、小数点及子图的局部号组成。

5.系统分析中要区别物流和数据流。数据流反映能用计算机处理的数据,并不是实物。

6.在数据流图表示系统的数据流向时,一般都要用到父图与子图来描述不同的层次。这时要注意父图与子图的平衡。子图的输入、输出数据流同父图相应加工的输入、输出数据流必须一致,即父图与子图的平衡。

上图中子图虽然有三个输入,但是因为定货单由客户、帐号和数量组成,所以不违背平衡的原则。

7.分层处理的过程中,当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。如果是局部数据存储的话,不要在父图的输入中加入该数据存储,而是在子图相应的加工上才把它画出来,这样有助于实现信息隐蔽。

8.要注意分层的合理性,减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。

例题

请根据一下业务流程描述,画出某物资管理系统的数据流图:
(1)生产车间向物资部提出物资需用计划,物资部计划人员根据库存台账,编制物资采购计划;
(2)采购人员根据物资采购计划,以及供货商报价单,编制合同台账;
(3)采购的物资到货后,库存管理人员根据技术科提供的验收报告,以及合同台账,进行物资入库管理,并更新库存台账

软件工程——数据流图(DFD)相关推荐

  1. 软件工程——数据流图

    数据流图的画法 数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能.输入.输出 ...

  2. 软件工程数据流图的画法

    摘自百度经验 系统流程图是在系统分析员在做系统构架阶段,或者说,在接触实际系统时,对未来构建的信息处理系统的一种描述.这种描述是相对简单且完全的,涉及到未来系统中使用的处理部件,如磁盘,显示器,用户输 ...

  3. 1.软件工程—数据流图

    1.数据流图简介 1.1 数据流图概念 数据流图(Data Flow Diagram,DFD)是从数据传递和加工的角度,以图形的方式来描述逻辑输入经过系统加工处理后转化为逻辑输出的结构化系统分析工具​ ...

  4. 数据流图DFD --详细介绍

    数据流图(DFD):用处理.外部实体.数据流以及数据存储来表示系统需求的图表 DFD的特点: 图形元素少且符号简单易懂 较充分表达系统的主要需求:输入.输出.处理和数据存储 最终用户.管理人员和系统开 ...

  5. 软件工程白盒测试的流图怎么画_软件工程数据流图的画法

    分层数据流图的设计方法 第一步,画子系统的输入输出 把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图.这张图称为顶层图. 第 ...

  6. 软件工程-数据流图+ER图绘制听课笔记

    视频链接:2-软件工程-数据流图+ER图绘制_哔哩哔哩_bilibili 目录 基础知识 例子 解答 基础知识 例子 解答 图1 顶层图 图2  0层图 图3 E-R图

  7. 软件工程数据流图作业

    有关数据流图的层次和加工编号转载于蜗牛____的这篇文章 数据流图的各个层次 顶层图:只有代表整个软件系统的111个加工,描述了软件系统与外界(源或宿)之间的数据流 0层图:顶层图中的加工经分解后的图 ...

  8. 软件工程——数据流图练习

    银行储蓄系统 需求描述: 为方便储户,某银行拟开发计算机储蓄系统,储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名.住址.存款类型.存款日期.利率等信息,并印出存款单给储户:如 ...

  9. 数据流图——从软考真题中学画数据流图DFD

    文章目录 题目 画顶层图 画0层图 解题技巧 题目 建议将题目复制到word后与此文分屏查看.后面需要多次查看题目. 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩, ...

  10. 软件工程 可行性研究、系统流程图、数据流图。

    第二章:可行性研究 1.1研究方案的可行性 (1)技术可行性 (2)操作可行性 (3)经济可行性 1.2系统流程图 系统流程图表达的是系统各部件间的流动情况,不是对信息进行加工处理的控制工程. 1.3 ...

最新文章

  1. FFMPEG命令行处理视频进阶——高阶必读
  2. 【阿里云域名】我都有服务器了,为什么还要购买域名?
  3. Effective Modern C++:06lambda表达式
  4. SAP云平台上的ABAP编程环境里如何消费第三方服务
  5. oracle10g导入dmp文件恢复,oracle 10g 恢复dmp文件。
  6. C++ vector类型要点总结(以及各种algorithm算法函数)
  7. nmap扫描常用命令详解
  8. Maven多模块项目搭建
  9. django 1.8 官方文档翻译: 2-3-1 模型实例参考
  10. java 热布署 开源_一种简单快捷的 java 热部署方式
  11. 微信公众号教程(8)用微信开发模式做欢迎词
  12. window10系统下载软件教程
  13. 左程云 Java 笔记--二叉树
  14. 互联网诞生记: 浪成于微澜之间
  15. Roaring64NavigableMap(Bitmap)简单使用
  16. 华为mate20 pro 专业模式拍照
  17. 大数据基础——知识汇总
  18. Hamster Farm
  19. 1602字符液晶显示
  20. C3P0,Proxool,BoneCP,Druid等连接池的断开自动重联功能

热门文章

  1. 向上滚动的文字的淡入淡出效果
  2. 全网最详细官网一键换肤教程
  3. 【Unity3D进阶4-15】Lua热更新
  4. 什么是SOCKS5代理 它的原理是什么
  5. 事物的开始和结束命令分别是什么_5. 详解Redis中的事务
  6. 深入浅出ES6的标准内置对象Proxy
  7. JUC -- 辅助类
  8. web显示csv_10 种最流行的 Web 挖掘工具!
  9. 网站微调是什么意思?能带来什么作用?
  10. adb命令连接设备出现Offline