数据流图DFD画法

数据流图(DFD- Data Flow Diagram)让系统分析者弄清楚“做什么”的问题,其重要性就不言而喻了。那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢?
步骤
1
  • 数据流图里包含的内容
  • 数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也能容易理解。

    不要将数据流图(DFD)与系统流程图、程序流程图相混淆。

步骤
2
  • 数据流图里的符号

数据流图里的符号也极为简单,只有四个:1)外部实体;2)处理;3)连线;4)数据存储。这四个符号也有两种。一种是Yourdon & Coad法,另一种是Gane & Sarson法。只是略有不同而已。如果你使用Microsoft Visio,那么你只能使用Gane & Sarson法了。

 

 

 

需要注意的是:

1)处理并不一定是程序。它可以是一系统程序、单个程序或程序的一个模块,甚至可以是人工处理过程;

2)数据存储并不等同于一个文件。它可以是一个文件、文件的一部分、数据库元素或记录的一部分;它代表的是静态的数据。

3)数据流也是数据,是动态的数据。

步骤
3
  • 分离数据流图中的元素
  • 假设一家工厂的采购部门每天需要一张定货报表。报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应商、次要供应商。零件入库或出席称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存临界值时就应该再次定货。

     源点/终点

    (外部实体)

    • 采购员
    • 仓库管理员

     数据处理

    • 产生报表
    • 处理事务 
     数据流
    • 定货报表
      零件编号
      零件名称
      定货数量
      目前价格
      主要供应商
      次要供应商
    • 事务
      零件编号
      事务类型
      数量 
     数据存储
    • 定货信息(见定货报表)
    • 库存清单
      零件编号
      库存量
      库存量临界值

步骤
4
  • 逐步分解地画出数据流图
  • 第一步,画出最概括的系统模型。因为任何系统实质上都是由若干个数据源点/终点以及一个处理组成。这个处理就代表了系统对数据加工变换的基本功能。

     

    对上图进行细化

    再细化一点

    勾画出边界

    最后细化一下

步骤
5
  • 命名的方法
  • 1)为数据流(或数据存储)命名
        A.名字应该代表整个数据流(或数据存储)的内容;
        B.不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”);
        C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图;

    2)为处理命名
        A.通常先为数据流命名,然后再为与之相关联的处理命名;
        B.名字应该反映整个处理的功能;
        C.应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”;
        D.通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当;
        E.如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。

    3)为数据源点/终点命名
    通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”)。

转自:http://www.yppahmai.com/Method/infoall/id/

  • 64
    点赞
  • 256
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件工程中的数据流图(Data Flow Diagram,简称DFD)是一种图形化的工具,用于描述系统内部的数据流动和处理过程。数据流图可以帮助开发人员和用户更好地理解系统的功能和数据流动,从而进行系统设计和分析。 数据流图画法主要包括以下几个步骤: 1. 确定系统边界:首先需要确定系统的边界,即确定哪些部分属于系统内部,哪些部分属于外部实体。这有助于明确系统与外部实体之间的数据流动。 2. 确定主要功能:根据需求分析,确定系统的主要功能模块。每个功能模块可以看作是一个数据流图中的一个处理过程。 3. 确定数据流:确定系统中的数据流,即数据在各个功能模块之间的传递和交互。每个数据流都需要标注名称和描述,以便于理解。 4. 确定处理过程:对于每个功能模块,确定其具体的处理过程。可以使用文本描述或伪代码来表示处理过程。 5. 绘制数据流图:根据以上确定的信息,开始绘制数据流图数据流图由圆角矩形表示功能模块,由箭头表示数据流动方向,由实心箭头表示控制流动。 6. 精化数据流图:根据需要,可以对数据流图进行进一步的精化和细化。可以添加数据存储、外部实体、数据流的细节描述等。 7. 验证和修改:完成数据流图后,需要对其进行验证和修改。验证数据流图是否符合系统需求和逻辑,是否能够正确地描述系统的功能和数据流动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值