数据流图概述与应用

2021年5月29日 21点热度 0条评论 来源: 惠勒泡沫

数据流图(DFD)概述

数据流图(DFD,Data Flow Diagram)是软件工程结构化分析模型中的一种功能模型,用来描述系统中的数据处理过程。数据流图服务于两个目的:一是指明数据在系统中移动时如何被变换,二是描述对数据流进行变换的功能和子功能。

1. 数据流图符号:

2. 一个简单的例子:

设一个工厂采购部每天需要一张定货报表。定货的零件数据有:零件编号、名称、数量、价格、供应者等。零件的入库、出库事务由仓库管理员通过计算机终端输入给定货系统。当某零件的库存数少于给定的库存量临界值时,就应该再次定货。

数据流分析:

  • 数据源点:仓管员(负责入库或出库事务给定货系统);

  • 数据终点:采购员(接收每天的定货报表);

  • 数据流:事务,定货报表;

  • 数据存储:定货信息,库存清单;

求解这个问题就是不断地把问题分解为较小的问题,直到每个底层问题都足够简单为止。

第一步:

画出顶层(0层)数据流图:

分解(1层):

  

继续分解(底层):

就这样随着分解层次的增加,抽象级别越来越低,也就越来越接近我们想要的解。

3. 数据流图的各个层次 :

  • 顶层图(第0层)只有代表整个软件系统的1个加工,描述了软件系统与外界之间的数据流

  • 顶层图中的加工经分解后的图称为第1层图(只有1张)

  • 中间层图中至少有一个加工(也可以有多个)在下层图中分解成一张子图

  • 处于最底层的图称为底层图,其中所有的加工不再分解成新的子图

4. 图和加工的编号 :

  • 顶层图只有一个代表整个软件系统的加工,该加工不必编号。

  • 第1层图中的加工编号分别为1,2,3,…

  • 子图号:若父图中的加工号x分解成某一子图,则该子图号记为“图x”

  • 子图中加工的编号:若父图中的加工号为x的加工分解成某一子图,则该子图中的加工编号分别为x.1、x.2、x.3…

5. 分层数据流图示例——资格和水平考试的考务处理系统 :

  • 简化的资格和水平考试的考务处理系统

  • 分成多个级别,如初级程序员、程序员、高级程序员、系统分析员等,凡满足一定条件的考生都可参加某一级别的考试

  • 考试的合格标准将根据每年的考试成绩由考试中心确定

  • 考试的阅卷由阅卷站进行,因此,阅卷工作不包含在软件系统中

5.1 功能需求:

1.对考生送来的报名单进行检查

2.对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站

3.对阅卷站送来的成绩清单进行检查,并根据考试中心制订的合格标准审定合格者

4.制作考生通知单送给考生

5.进行成绩分类统计(按地区、年龄、文化程度、职业、考试级别等分类)和试题难度分析,产生统计分析表

5.2 解题过程:

数据流分析:

  • 确定源点和终点:考生、阅卷站和考试中心,它们是源点也是终点。

  • 顶层图唯一的加工:软件系统(考务处理系统)

  • 确定数据流:系统的输入/输出信息

  • 输入数据流:报名单(来自考生)、成绩清单(来自阅卷站)、合格标准(来自考试中心)

  • 输出数据流:准考证(送往考生)、考生名单(送往阅卷站)、考生通知书(送往考生)、统计分析表(送往考试中心)

  • 额外的输出流(考虑系统的健壮性):不合格报名单(返回给考生),错误成绩清单(返回给阅卷站)

     

顶层图:

一层图:

加工1子图:

  • 加工1:“考试报名”对应的功能需求:

  • 对考生送来的报名单进行检查。

  • 对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站。

  • 分解:

    (1)检查报名单:

    (2)编准考证号:编准考证号并将准考证送给考生;

    (3)登记考生:保存考生信息并将考生名单送给阅卷站。

加工2子图:

  • 加工2:“统计成绩”对应的功能需求:

  • 对阅卷站送来的成绩清单进行检查,并根据考试中心制订的合格标准审定合格者。

  • 制作考生通知单送给考生。

  • 进行成绩分类统计(按地区、年龄、文化程度、职业、考试级别等分类)和试题难度分析,产生统计分析表。

  • 分解:

    (1)检查成绩清单;

    (2)审定合格者;

    (3)制作考生通知单;

    (4)分类统计成绩;

    (5)分析试题难度。

    原文作者:惠勒泡沫
    原文地址: https://blog.csdn.net/pengxinwan/article/details/83866438
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。