数据流图 订阅
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 展开全文
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
信息
类    型
结构化系统分析方法表达工具
结构类型
变换型结构事务型结构
简    称
DFD
中文名
数据流图
使    用
软件模型
外文名
Data Flow Diagram
数据流图简介
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。数据流图或数据流程图(Data Flow Diagram),缩写为DFD。数据流图DFD是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。值得注意的是,数据流图不是传统的流程图或框图,数据流也不是控制流。数据流图是从数据的角度来描述一个系统,而框图是从对数据进行加工的工作人员的角度来描述系统。DFD显示系统将输入和输出什么样的信息,数据如何通过系统前进以及数据将被存储在何处。它不显示关于进程计时的信息,也不显示关于进程将按顺序还是并行运行的信息,而不像传统的关注控制流的结构化流程图,或者UML活动工作流程图,它将控制流和数据流作为一个统一的模型。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流程图包括:a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;c.指明几个处理和(或)数据媒体之间的数据流的流线符号;d.便于读、写数据流程图的特殊符号。在处理符号的前后都应是数据符号。数据流程图以数据符号开始和结束,数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线性状态。另一种是事务型结构,这种数据流图呈束状,即一束数据流平行流入或流出,可能同时有几个事务要求处理。
收起全文
精华内容
下载资源
问答
  • 数据流图
    千次阅读
    2021-05-17 22:26:35

    一、数据流图的基本组成成分

    数据流:是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。

    加工:加工描述输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。作用是把输入数据加工成所要的输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。

    数据存储:数据存储表示暂时存储的数据。每个数据存储都有一个名字。

    外部实体:外部实体是指系统外的人员或组织,指出数据所需要的发源地或系统所产生的数据的归属地。

    二、分层数据流图的设计方法

    第一步:画子系统的输入输出

    画顶层图:把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。

    第二步:画子系统的内部

    画0层图:把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。

    第三步,画加工的内部

    1)把每个加工看作一个小系统;

    2)把加工的输入输出数据流看成小系统的输入输出流。

    3)象画0层图一样画出每个小系统的加工的数据流图。

    第四步,画子加工的分解图

    对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工不可再分解。至此,得到了一套分层数据流图。

    第五步,对数据流图和加工编号

    对于一个软件系统,其数据流图可能有许多层,每一层又有许多张图。为了区分不同的加工和不同的DFD子图,应该对每张图进行编号,以便于管理。

    应该注意的问题:

    1. 应适当的为数据流、加工、数据存储以及外部实体命名,名字应该反映该成分的实际含义,避免使用空洞的名字。
      
    2. 画数据流图,不是画控制流。
      
    3. 一个加工的输出数据流,不应与输入数据流同名,及时他们的组成完全相同。
      
    4. 允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流流向不同的加工。
      
    更多相关内容
  • 软件工程 -- 数据流图的画法

    万次阅读 多人点赞 2021-11-13 20:24:29
    1. 数据流图的画法 1.1 数据流图的概念 数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 说明: 在数据流图中没有任何具体的物理部件, 它只是描绘数据在软件中流动和...

    1. 数据流图的画法


    1.1 数据流图的概念

    数据流图(Data Flow Diagram,DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

    数据流图的优点

    1. 在数据流图中没有任何具体的物理元素,它只是描绘信息在软件中流动和被处理的情况。
    2. 因为数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,所以是分析员与用户之间极好的沟通工具。
    3. 设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需考虑怎样具体地实现这些功能,因此,它也是今后进行软件设计很好的出发点。
    4. 数据流图可以在任何抽象层次上被用来表示系统或软件。事实上,数据流图可以被分层次地画,层次越低(在数据流图中1层比0层的层次更等)表现出的信息流细节和功能细节也越多。数据流图既提供了功能建模机制、也提供了信息流建模机制。

    1.2 数据流图的基本符号

    在这里插入图片描述
    数据流图有4种基本符号:

    • 正方形(或立方体)表示数据的源点或终点;
    • 圆角矩形(或圆形)代表变换数据的处理;
    • 开口矩形(或两条平行横线)代表数据存储;
    • 箭头表示数据流,即特定数据的流动方向。

    初学者在画数据流图时,往往试图在数据流图中表现分支条件或循环,殊不知这样做将造成混乱,画不出正确的数据流图。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。

    注意:

    • 处理并不一定是一个程序。一个处理框可以代表一系列程序、单个程序或者程序的一个模块;它甚至可以代表用穿孔机穿孔或目视检查数据正确性等人工处理过程。
    • 一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素、记录的一部分等;数据可以存储在磁盘、磁带、磁鼓、主存、微缩胶片、穿孔卡片及其他任何介质上(包括人的记忆)。
    • 数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。
    • 通常在数据流图中忽略出错处理,也不包括诸如打开或关闭文件之类的内务处理,数据流图的基本要点是描绘“做什么”而不考虑“怎样做”。
    • 有时数据的源点和终点相同,这时如果只用一个符号代表数据的源点和终点,则将有两个箭头和这个符号相连(一个进一个出),可能其中一条箭头线相当长,这将降低数据流图的清晰度。另一种表示方法是再重复画一个同样的符号(正方形或立方体)表示数据的终点。有时数据存储也需要重复,以增加数据流图的清晰程度。为了避免可能引起的误解,如果代表同一个事物的同样符号在图中出现在n个地方,则在这个符号的一个角上(比如左上角)画n−1条短斜线做标记。

    补充:数据流说明

    在这里插入图片描述


    2. 示例:工厂订单报表

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


    2.1 数据流图有4种成分分析

    数据流图有4种成分:源点和终点、处理、数据存储和数据流。画出上述定货系统的数据流图可采用以下步骤。

    1. 首先考虑数据的源点和终点,从上面对系统的描述可以知道“采购部每天需要一张订货报表”,“通过放在仓库中的终端把事务报告给订货系统”,所以采购员是数据终点,而仓库管理员是数据源点
    2. 接下来考虑处理。再一次阅读问题描述,“采购部需要报表”,显然他们还没有这种报表,因此必须有一个用于产生报表的处理。事务的后果是改变零件库存量,而任何改变数据的操作都是处理,因此,对事务进行的加工是另一个处理。注意,在问题描述中并没有明显地提到需要对事务进行处理,但是通过分析可以看出这种需要。
    3. 最后考虑数据流和数据存储。系统把订货报表送给采购部,因此订货报表是一个数据流;事务需要从仓库送到系统中,显然事务是另一个数据流。产生报表和处理事务这两个处理在时间上明显不匹配:每当有一个事务发生时立即处理它,然而每天只产生一次订货报表,因此,用来产生订货报表的数据必须存放一段时间,也就是应该有一个数据存储(存储着订货报表的数据,每当订货报表的数据有更新时,可以立即获取最新的订货报表的数据,这样就可以实现每当有一个事务发生时立即处理它)。

    注意,并不是所有数据存储和数据流都能直接从问题描述中提取出来。例如,“当某种零件的库存数量少于库存量临界值时就应该再次订货”,这个事实意味着必须在某个地方有零件库存量和库存量临界值这样的数据。因为这些数据元素的存在时间看来应该比单个事务的存在时间长,所以认为有一个数据存储保存库存清单数据是合理的。

    下表列出了上面分析的结果,其中加星号标记的是在问题描述中隐含的成分。

    在这里插入图片描述


    2.2 开始画数据流图

    一旦把数据流图的4种成分分离出来后,就可以着手画数据流图了。但是要注意,数据流图是系统的逻辑模型,而任何计算机系统实质上都是信息处理系统,也就是说计算机系统本质上都是把输入数据变换成输出数据。因此,任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,这个处理就代表了系统对数据加工变换的基本功能。


    2.2.1 顶层数据流图

    对于上述的定货系统可以画出下图所示的顶层数据流图(突出表明了数据的源点和终点)。
    在这里插入图片描述
    顶层数据流图这样非常高的抽象层次开始画数据流图是一个好办法。在这个高层次的数据流图上是否列出了所有给定的数据源点 / 终点是一目了然的,因此它是很有价值的沟通工具。


    2.2.2 第0层数据流图

    顶层数据流图太抽象了,从这张图上所能了解到的信息非常有限。下一步应该把基本系统模型细化,描绘系统的主要功能。

    由于 “产生报表” 和 “处理事务” 是该系统必须完成的两个主要功能,它们将代替图顶层数据流图中的“订货系统”。此外,细化后的数据流图中还增加了两个数据存储:处理事务需要“库存清单”数据;产生报表和处理事务在不同时间,因此需要存储“定货信息”。除了2.1节(2.1 数据流图有4种成分分析)的表中列出的两个数据流之外还有另外两个数据流,它们与数据存储相同。这是因为从一个数据存储中取出来的或放进去的数据通常和原来存储的数据相同,也就是说,数据存储和数据流只不过是同样数据的两种不同形式(事务 <–> 库存清单,订货信息 <–> 订货报表)。

    在这里插入图片描述

    给处理和数据存储都加了编号,这样做的目的是便于引用和追踪。


    2.2.3 第1层数据流图

    接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。考虑通过系统的逻辑数据流,当发生一个事务时必须首先接收它;随后按照事务的内容修改库存清单;最后如果更新后的库存量少于库存量临界值时,则应该再次定货,也就是需要处理定货信息。因此,把“处理事务”这个功能分解为下述3个步骤:“接收事务”、“更新库存清单”和“处理订货”,这在逻辑上是合理的。

    在这里插入图片描述

    我们为什么不进一步分解“产生报表”这个功能呢?因为订货报表中需要的数据在存储的订货信息中全都有,产生报表只不过是按一定顺序排列这些信息,再按一定格式打印出来。然而这些考虑纯属具体实现的细节,不应该在数据流图中表现。同样道理,对“接收事务”或“更新库存清单”等功能也没有必要进一步细化。总之,当进一步分解将涉及如何具体地实现一个功能时,就不应该再分解了。

    在对数据流图分层细化时必须保持信息连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入/输出数据流必须相同。

    还应该注意在数据流图中对处理进行编号的方法。处理1.1,1.2和1.3是更高层次的数据流图中处理1的组成元素。如果处理2被进一步分解,它的组成元素的编号将是2.1, 2.2……如果把处理1.1进一步分解,则将得到编号为1.1.1,1.1.2……的处理,以此类推。


    2.3 补充: 数据流图命名规范

    数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。
    因此,给这些成分起名字时应该仔细推敲。

    数据源点/终点并不需要在开发目标系统的过程中设计和实现,它并不属于数据流图的核心内容,只不过是目标系统的外围环境部分(可能是人员、计算机外部设备或传感器装置)。通常,为数据源点 / 终点命名时采用它们在问题域中习惯使用的名字(如“采购员”、“仓库管理员”等)。

    数据流(或数据存储)命名:

    • 名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。
    • 不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。
    • 如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。

    处理命名:

    • 通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。
    • 名字应该反映整个处理的功能,而不是它的一部分功能。
    • 名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作为名字。
    • 通常名字中仅包括一个动词。如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。
    • 如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。

    3. 练习


    3.1 教务管理子系统

    教务管理是一项需求周密计划、严谨安排的工作,要依据教师、学生信息进行合理安排。

    教务管理子系统的需求描述:

    • 开学阶段,需要教师提交开课申请进行开课,学生根据老师的开课信息,选择课程,教务处生成学生课表、教师课表。
    • 期末阶段,需要根据开课情况对学生进行考试安排,对教师进行监考安排,以及学生考试成绩管理。
    • 学期结束,需要对学生成绩进行统计,计算绩点,排名,评定奖学金。

    3.1.1 顶层数据流图

    在这里插入图片描述


    3.1.2 第0层数据流图

    在这里插入图片描述


    3.1.3 第1层数据流图

    在这里插入图片描述


    3.2 图书馆管理子系统

    图书馆管理子系统的需求描述:

    • 借书过程,学生到图书馆查询图书信息,出示借书证,办理借书。
    • 还书过程,判断是否超期、图书是否破损,办理还书。

    3.2.1 顶层数据流图

    在这里插入图片描述


    3.2.2 第0层数据流图

    在这里插入图片描述


    3.2.3 第1层数据流图

    在这里插入图片描述


    4. 补充:数据流图的附加符号

    在这里插入图片描述

    • * 表示数据流之间是“”关系(同时存在)
    • + 表示“”关系
    • ⊕ 号表示只能从中选一个(互斥的关系)

    注意:这里的圆形可以被圆角矩形框替换,都表示变换数据的处理。
    在这里插入图片描述


    5. 说明:顶层数据流图和0层的关系

    在这里插入图片描述

    在这里插入图片描述

    • 顶层数据流图只含一个加工表示整个系统
    • 0层数据流图是对父层数据流图中某个加工进行细化,它的某个加工也可以再次细化,形成子图,层次的多少,一般视系统的复杂程度而定。


    展开全文
  • 一、数据流图 ( DFD ) 简介 、 二、数据流图 ( DFD ) 概念符号 、 1、数据流 、 2、加工 ( 核心 ) 、 3、数据存储 4、外部实体 、 三、数据流图 ( DFD ) 分层 、 1、分层说明 、 2、顶层数据流图 、 3、中层数据流图...





    一、数据流图 ( DFD ) 简介



    数据流图 ( Data Flow Diagram ) :

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

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





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





    1、数据流


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

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

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

    符号表示 : 数据流 使用 箭头 表示 , 箭头所指的方向 , 代表了数据流向 ;
    在这里插入图片描述



    2、加工 ( 核心 )


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

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

    符号表示 : 使用 圆形 / 圆角矩形 表示加工 ;
    在这里插入图片描述



    3、数据存储


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

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

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

    符号表示 : 使用 双横线 / 半框形矩形 表示
    在这里插入图片描述



    4、外部实体


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

    符号表示 : 矩形 ;

    在这里插入图片描述





    三、数据流图 ( DFD ) 分层



    在这里插入图片描述



    1、分层说明


    数据流图分层 , 最上层是 顶层数据流图 , 第二层是 0 0 0 层数据流图 , ⋯ \cdots , 最底层是 底层数据流图 ,

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

    中层数据流图 需要进行编号 , 0 0 0 开始编号 ;



    2、顶层数据流图


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

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


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

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

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



    3、中层数据流图


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

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

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

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



    4、底层数据流图


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

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

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

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

    展开全文
  • 数据流图——从软考真题中学画数据流图DFD

    万次阅读 多人点赞 2019-03-28 16:27:45
    根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。也就是...

    题目

    建议将题目复制到word后与此文分屏查看。后面需要多次查看题目。

    某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,
    其主要功能描述如下:
    1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程
    	的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
    2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
    3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确
    	认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课
    	程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的
    	单元相对应,如果是,那么这些成绩是有效的,否则无效。
    4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存
    	在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,
    	系统不会处理这些成绩。
    5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成
    	通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的
    	成绩列表,用来提交考试委员会审查。
    6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。
    	主讲教师须将核对之后的成绩报告返还系统。
    7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审
    	查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成
    	绩,系统将会生成最终的成绩单,并通知每个选课学生。
    现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。  
    


      
      图1-1
      顶层数据流图
      

      

     
      图1-2
      0层数据流图
      

    【问题1】(4分)
      使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。
    【问题2】(3分)
      使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。
    【问题3】(6分)
      数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,
      分别指出这三条数据流的起点和终点。
    【问题4】(2分)
      数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流
      程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。
    

    画顶层图

    我们先不看给出的图,凭借题目给出的信息自己画图,先是顶层图,画顶层图步骤有3步:
    1.将软件系统看作加工,
    2.确定外部实体,
    3.画出数据流
    找到题目中的软件系统,题目第一句就可以看到“成绩管理系统”

    浏览题目一遍,不难找出所有外部实体

    根据各个外部实体与软件系统进行的交互操作,可以得到数据流

    与题目给出的图对比
    在这里插入图片描述
    【问题1】的答案就已经出来了,很明显E1为考试委员会,E2为主讲教师,E3为学生,E4为教务处。

    画0层图

    接下来是画0层图,0层图作画步骤:
    1.细分顶层图的加工
    2.数据流连接加工
    再次从头开始看全文,看到第3句,
    在记录学生成绩之前,系统需要验证这些成绩是否有效
    这里之前是被我们忽略掉的,在画顶层图时,这里算作总的成绩管理系统的加工,现在需要细分成绩管理系统了,我们就需要把此系统的功能提取出来——命名为“验证成绩”的加工。

    继续往后看,到第4句
    对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。
    这里我们又看到系统的两个功能,“保存课程成绩文件”与“保存无效成绩文件”,也就是两个加工。

    继续看到第5句
    若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表
    前面的“系统会发送课程完成通知给教务处”,明显是数据流而不算作是功能,后面的“请求系统生成相应的成绩列表”才体现出功能,我们命此加工为“生成成绩列表”。

    直到最后的一句
    “系统将会生成最终的成绩单,并通知每个选课学生。”
    可见又是一个加工,我们命名为“生成成绩单”

    下面要做是补全数据流
    所有这些加工实质就是整体的软件系统的加工,所以可以先把顶层图的数据流照搬过来

    这里注意每条数据流要对应好加工,图中省略了外部实体,这没关系。
    然后加上数据存储文件

    画到这一步并没有完,有部分数据流并没表示出来,比如保存课程成绩文件与保存无效成绩文件的数据输入还有生成成绩单的数据输入流,但没关系,解第二题足够了,若把所有数据流加上那第三题就迎刃而解了。在这里插入图片描述
    【问题2】答案
    D1就是学生信息文件夹
    D2为课程单元信息文件
    D3为课程信息文件
    D4为课程成绩文件(图中我命名为了 有效成绩文件)
    D5为无效成绩文件

    第一次画就是上图那样不能掌握布局所以很乱,第二次画时根据这张图规划好布局就可以画得更工整了
    【问题3】
    第一条数据流:由说明的第5条可知,生成成绩列表时,是需要从课程成绩文件中获取信息的,“课程成绩文件”是图中的D4。而D4和加工4之间并没有数据流,因此这就是一条缺失的数据流。
      第二条数据流:生成成绩单时是需要学生信息的。且不符合数据输入输出平衡(文末有相关知识),加工5应该从D1中获取相应的信息,这样就找到了第二条数据流。
      第三条数据流:说明的第7句告诉我们,只有“对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生”。也就是说,从成绩列表到成绩单的生成是有条件的。这意味着,在加工4和加工5之间应该存在一条数据流,这就是第3条数据流。
    所以完整的0层图应如下图所示
    在这里插入图片描述

    解题技巧

    (1)适当地为数据流、加工、数据存储、外部实体命名,名字应反映该成分的实际含义, 避免空洞的名字。

    (2)画数据流而不要画控制流。

    (3)每条数据流的输入或者输出是加工。

    (4)—个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。

    (5)允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。

    (6)保持父图与子图平衡。
    为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。值得注意的是,如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。

    (7)在自顶向下的分解过程中,若一个数据存储首次出现时只与一个加工有关,那么这个数据存储应作为这个加工的内部文件而不必画出。

    (8)保持数据守恒。
    也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。每个加工必须有输入数据流和输出数据流,反映此加工的数据来源和加工变换结果。一个加工的输出数据流只由它的输入数据流确定。数据流必须经过加工,即必须进入加工或从加工中流出。每个加工必须既有输入数据流,又有输出数据流。

    (9)在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但在某 一张子图中可能只有读没有写,或者只有写没有读。

    展开全文
  • 分层数据流图(画法+例子)

    万次阅读 多人点赞 2021-07-17 21:57:05
    分层数据流图(画法+例子) 1. 步骤 1.1 个人理解(说人话) 画数据流图的大概步骤就是: 我们根据题目分析出这个系统的外部系统,找出数据流的源和宿,搞清楚每个数据流的流向。画出顶层图。 根据刚刚我们画出的...
  • 一、数据字典 、 二、数据流图平衡原则 、 1、父图 ( 上层数据流图 ) 与 子图 ( 下层数据流图 ) 平衡 、 2、子图内平衡 、 三、数据流图绘制原则 、
  • 软件工程:数据流图和结构图怎么画?

    万次阅读 多人点赞 2020-09-01 18:43:03
    文章目录Step 1:根据软件的功能描述,绘制数据流图:Step 2:根据数据流图,分级绘制结构图:•边界划分:•第一级分解:•第二级分解:•精化减少耦合: Step 1:根据软件的功能描述,绘制数据流图: 问题表述: ...
  • 数据流图的画法,如何画数据流图

    万次阅读 多人点赞 2020-04-15 16:19:58
    1.数据流图的定义: 数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。 数据流图英文缩写DFD(Data Flow ...
  • 软考--数据流图(DFD)

    千次阅读 2021-11-03 20:08:01
    数据流图的基本元素及其作用 数据流图通过外部代理(实体)描述系统与外界之间的数据交互关系,内部的活动通过处理(加工)表示,用数据流描述系统中不同活动之间的数据传输内容和方向,需要持久化存储的数据用数据存储...
  • 分析数据流和绘制数据流图

    千次阅读 2021-01-25 13:19:53
    题目:分析数据流和绘制数据流图 姓名 学号 实验环境: 机房Microsoft Visio 2010绘图软件 实验内容及完成情况: 1.请将上机题目写...
  • 分层数据流图简单介绍

    千次阅读 2020-08-23 09:20:27
    一、分层数据流图数据流图的基本目标出发,可以考虑在一张数据流图中包含多少个元素合适的问题。一些调查研究表明,如果一张数据流图中包含的加工多于5-9个,人们就难于领会它的含义了。因此为了表达较为复杂问题...
  • 结构化系统分析——数据流图和数据字典案例分析一、数据流图案例分析1、案例1:商店业务管理系统2、案例2:学籍管理系统3、案例3:大型企业数据中心二、数据字典案例分析1、案例1:学籍管理系统 接上一篇文章的内容...
  • 文章目录一:数据流图的定义(DFD)二:数据流图的特点三:数据流图的符号(1)符号(2)注意(了解)四:数据流图示例(1)示例1A:首先从题目中提取四种成分B:画数据流图(2)示例2 一:数据流图的定义(DFD) ...
  • 上下文数据流图

    千次阅读 2020-10-05 20:20:29
    上下文数据流图用于表达一个系统的概览,它是数据流图中的最高级别,只包含一个代表整个系统的程序。这程序会被分解成更多细节的主要程序,每个主要程序可能会进一步分解以提供更多细节。 上下文数据流图的特点: ...
  • 文章目录(一)数据流图的定义:(二)数据流图中的主要图形元素及符号(三)如何画数据流图(四)数据流图的层次结构1. 顶层流图2. 底层流图(零层图)3.中间层流图数据流图设计原则:分层的数据流图(五)实践(六...
  • uml:什么是数据流图

    千次阅读 2019-05-19 11:04:52
    什么是数据流图数据流图 (DFD) 用于表示业务信息系统中的数据流,它表达了系统中的据传从输入到存储间所涉及的程序。 数据流图可以分为逻辑形和物理形。逻辑数据流图描述了用以完成某业务功能所涉及的、业务...
  • 数据流图(DFD)

    万次阅读 多人点赞 2021-10-02 19:05:02
    数据流图
  • 一、概念 它是将提供给用户的业务流程(“物理模型”)进行功能建模,转化成开发...即在DFD中包括哪些主要元素,数据流、加工、数据存储、外部实体。 (1)数据流:用单箭头表示,如――>。是由一组固定成分的数.
  • Visio如何绘制数据流图

    万次阅读 2021-12-13 21:46:34
    1.点开visio ,选择“新建”,选择“软件和数据库” 2.完成第一步之后,点击“数据流模型图”。 ...4.就可以发现,进入了数据流图绘制面板。 其次,可以拖动左边的四个组成元素到右边。如下图。 ...
  • 数据流图(DFD)的概念

    千次阅读 2022-03-13 16:54:50
    数据流图(DFD)是描述数据流程的图形工具,数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流图是系统逻辑模型的图形表示,从数据的传递与加工角度,来刻画数据流从输入...
  • 数据流图与数据字典

    千次阅读 2021-04-16 08:38:28
    软件设计师的下午题会考到数据流图,这种类型的题目难度不大是得分点 数据流图(DFD)是需求分析阶段用到的工具 数据流图的基本概念: 考点:选择题要求选出哪一个不属于数据流图(比如将ER图的某个概念放进去...
  • 软件工程数据流图的画法

    万次阅读 多人点赞 2019-04-27 19:55:49
    系统流程是在系统分析员在做系统构架阶段,或者说,在接触实际系统时,对未来构建的信息处理系统的一种描述。这种描述是相对简单且完全的,涉及到未来系统中使用的处理部件,如磁盘,显示器,用户输入以及处理过程...
  • 软件工程-分层数据流图的画法

    万次阅读 多人点赞 2020-10-26 14:35:49
    数据流图 Data Flow Diagram(简称DFD):描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模,基本元素包括: 数据流图示例: 数据流图的扩充符号 描述一个加工的多个数据流之间
  • 数据流图典型例题

    千次阅读 2021-10-25 14:42:11
    数据流图典型例题1.假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下列数据:零件编号、零件名称、订货数量、目前价格、主要...
  • 数据流图、数据字典的画法

    万次阅读 多人点赞 2020-10-30 14:40:50
    什么是数据流图数据流图反映的是客观现实问题中的工作过程 它采用简单的图形妇好分别表示数据流、加工、数据源和外部实体等,不涉及任何具体物理元素,仅仅描述数据在系统中的流动和处理的情况。 - - 《软件工程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,226,424
精华内容 490,569
关键字:

数据流图