数据流图(DFD)专题讲解

合集下载

讲义:数据流程图dfd

讲义:数据流程图dfd

数据流程图(DFD)数据流程图——描述数据流动、存储、处理的逻辑关系,也称为逻辑数据流程图,一般用DFD (Data Flow Diagram)表示。

一、数据流程图的基本成分数据流程图用到四个基本符号,即:外部实体、数据处理、数据流和数据存储。

现分别介绍如下:1、外部实体外部实体——指系统以外又与系统有联系的人或事物。

它表达该系统数据的外部来源和去处,例如:顾客、职工、供货单位等等。

外部实体也可以是另外一个信息系统。

一般用一个正方形,并在其左上角外边另加一个直角来表示外部实体,在正方形内写上这个外部实体的名称。

为了区分不同的外部实体,可以在正方形的左上角用一个字符表示。

在数据流程图中,为了减少线条的交叉,同一个外部实体可在一张数据流程图中出现多次,这时在该外部实体符号的右下角画小斜线,表示重复。

若重复的外部实体有多个,则相同的外部实体画数目相同的小斜线。

外部实体的表示如图6.1所示。

图6.1外部实体2.数据处理处理指对数据的逻辑处理,也就是数据的变换。

在数据流程图中,用带圆角的长方形表示处理,长方形分为三个部分,如图6.2所示。

图6.2 处理标识部分用来标别一个功能,一般用字符串表示,如P1、P1.1等等。

功能描述部分是必不可少的,它直接表达这个处理的逻辑功能。

一般用一个动词加一个作动词宾语的名词表示。

功能执行部分表示这个功能由谁来完成,可以是一个人,也可以是一个部门,也可以是某个计算机程序。

3.数据流数据流是指处理功能的输人或输出,用一个水平箭头或垂直箭头表示。

箭头指出数据的流动方向。

数据流可以是信件、票据,也可以是电话等。

一般说来,对每个数据流要加以简单的描述,使用户和系统设计员能够理解一个数据流的含义。

对数据流的描述写在箭头的上方,一些含义十分明确的数据流,也可以不加说明,如图6.3所示。

图6.3数据流4.数据存储数据存储表示数据保存的地方。

这里"地方"并不是指保存数据的物理地点或物理介质,而是指数据存储的逻辑描述。

dfd概念

dfd概念

dfd概念
DFD(Data Flow Diagram,数据流图)是一种图形化工具,用于描述一个系统中数据的流动和转换过程。

它可以帮助我们理解和分析系统的功能,以及系统中各个部分之间的数据关系。

在DFD中,数据流被表示为箭头,表示数据的流动方向。

数据流可以表示数据的产生、传递、处理和存储等过程。

数据流图中的矩形框表示数据处理或操作的抽象,例如计算、转换、存储等。

DFD通常按照以下步骤进行构建:
1、确定系统的输入和输出:首先明确系统的输入和输出,以及它们与外部实体的关系。

2、识别数据流:根据系统的输入和输出,识别出系统中的各种数据流,包括输入流、输出流和内部数据流。

3、确定数据处理:根据系统的功能和需求,确定系统中需要进行处理和转换的数据,以及相应的处理过程。

4、绘制数据流图:根据上述分析结果,使用DFD工具绘制数据流图。

一般来说,DFD应该从左到右,从上到下地绘制,以表示数据流的顺序和层次关系。

5、确认和修正:完成DFD后,需要与相关人员确认是否准确反映
了系统的功能和需求,并根据需要进行修正和完善。

通过构建DFD,我们可以更好地理解系统的数据流动和数据处理
过程,从而更好地进行系统设计、开发和维护。

DFD还可以作为系统需求规格说明的一部分,用于向其他人员描述系统的功能和数据流程。

教你怎么画数据流图包括数据流图实例PPT课件

教你怎么画数据流图包括数据流图实例PPT课件
画出图书预定系统的各层数据流图。
2021/3/9
管理信息系统》
第一步,画出关联数据流图。
S1顾客
F1订单
P 图书预订
F2汇总订单
S2 出 版 社
图书预订系统关联图
2021/3/9
管理信息系统》
第二步,逐层分解加工,画出下层DFD。注意到根据题意,当绘出系统 顶层图后并不能将所有加工分解成基本加工,还要进行二层图分解。 并在分解加工过程中逐步充实进数据存储。见图。
2021/3/9
管理信息系统》
(3)加工 加工又称处理亦称变换,它表示对数据流的操作。 加工的符号分成上、下两部分,从上到下分别是标识部分和功能描 述部分。 标识部分用于标注加工编号,加工编号应具有唯一性,以标识加工 ,以“P”开头。 功能描述部分用来写加工名。为使DFD清晰易读,加工名应简单,能 概括地说明对数据的加工行为,其详细描述在数据词典中定义。 加工要逐层分解,以求得分解后的加工功能简单、易于理解。
建立新系统的DFD是一项十分重要的工作。因为建立的DFD是系统 开发乃至系统维护的依据,是系统的重要文档之一。系统分析员要在 详细调查中,在与用户的反复交流中修改DFD,力求新建DFD是正确的 、准确的。
2021/3/9
管理信息系统》
放映结束 感谢各位的批评指导!
谢 谢!
让我们共同进步
2021/3/9
21
D5 订单数目
D6

P2.2


订单分类

D7
D4 出版社要求
P3 发送订单
F2汇总订单
S2 出 版社

P2.3


随时处理

D3
D8

会计资讯系统课程讲义资料流程图DFD

会计资讯系统课程讲义资料流程图DFD
8
DFD:Logical vs. physical
• 长期而言,系统做什么(what)的答案比较稳定, 但系统如何做(how)、在哪做(where)、谁来做(by whom)的答案则会随着时间及技术改变。
• 在建置新系统时,通常会先绘制现有系统及新系 统的logical DFD,以提供使用者新旧系统的比较 信息;然后再根据新系统的logical DFD,绘制 physical DFD。
• 第0阶DFD图的通用样式如下:
資料來源
資料A
系統1.0
資料檔案
資料C
系統2.0
資料D
系統3.0
資料B
資料去向
5
再细分准则:流入流出一致
• 无论是将背景图分解成第0阶图、或是将第0阶图 做进一步细分,必须遵守「流入与流出上下层一 致」原则。英文称之为a set of balanced DFDs。
• 实体DFD描述系统的基础架构,可回答如何做(how)、在哪做 (where)、谁来做(by whom)等问题。
– 逻辑数据流程图(logical DFD):此图中,资料是泛称; bubble代表处理数据的程序(process),以动词表示。
• 逻辑DFD描述系统的各项作业,可回答做什么(what)这项问题。
1
DFD:符号
• DFD用以下四种符号描述数据的流动:
通称为bubble,代表一个个体或程序。流入数据经 此个体或程序处理后,转换成流出数据。此图形在 DFD中代表正在描述之系统的全部或其中一部份。 表示数据的流通路径。
表示数据的来源或去向,在DFD中代表正在描述之 系统以外的其它系统或外部个体。 代表储存数据的地方(档案或数据库)。
• 以前述二图为例,背景图所描述的系统有数据A 流入、数据B流出;第0阶图也必须遵守数据A流 入(系统1.0)、数据B流出(系统3.0)。

数据流图画法

数据流图画法

数据流图(DFD)画法要求一、数据流图(DFD)1.数据流图的基本符号数据流图由基本符号组成,见图5-4-1所示。

图5-4-1 数据流图的基本符号例:图5-4-2是一个简单的数据流图,它表示数据X从源S流出,经P加工转换成Y,接着经P加工转换为Z,在加工过程中从F中读取数据。

图5-4-2数据流图举例下面来详细讨论各基本符号的使用方法。

2.数据流数据流由一组确定的数据组成。

例如“发票”为一个数据流,它由品名、规格、单位、单价、数量等数据组成。

数据流用带有名字的具有箭头的线段表示,名字称为数据流名,表示流经的数据,箭头表示流向。

数据流可以从加工流向加工,也可以从加工流进、流出文件,还可以从源点流向加工或从加工流向终点。

对数据流的表示有以下约定:对流进或流出文件的数据流不需标注名字,因为文件本身就足以说明数据流。

而别的数据流则必须标出名字,名字应能反映数据流的含义。

数据流不允许同名。

两个数据流在结构上相同是允许的,但必须体现人们对数据流的不同理解。

例如图5-4-3(a)中的合理领料单与领料单两个数据流,它们的结构相同,但前者增加了合理性这一信息。

两个加工之间可以有几股不同的数据流,这是由于它们的用途不同,或它们之间没有联系,或它们的流动时间不同,如图5-4-3(b)所示。

(a)(b)(c)图5-4-3 简单数据流图举例数据流图描述的是数据流而不是控制流。

如图5-4-3 (c)中,“月末”只是为了激发加工“计算工资”,是一个控制流而不是数据流,所以应从图中删去。

3.加工处理加工处理是对数据进行的操作,它把流入的数据流转换为流出的数据流。

每个加工处理都应取一个名字表示它的含义,并规定一个编号用来标识该加工在层次分解中的位置。

名字中必须包含一个动词,例如“计算”、“打印”等。

对数据加工转换的方式有两种:改变数据的结构,例如将数组中各数据重新排序;产生新的数据,例如对原来的数据总计、求平均等值。

4.文件文件是存贮数据的工具。

数据流图(DFD)专题讲解

数据流图(DFD)专题讲解

数据流图(DFD)专题讲解及例题分析——解题的方法与技巧1.首先要懂得数据流图设计要略有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。

如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。

在绘制时应该注意以下要点:(1)自外向内,自顶向下,逐层细化,完善求精。

(2)保持父图与子图的平衡。

为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。

一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。

根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。

对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。

顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。

底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。

中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。

中间层次的多少,一般视系统的复杂程度而定。

任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。

父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。

在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。

图1 父图与子图的平衡(3)保持数据守恒。

也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。

软件工程-数据流图(DFD)大题解析

软件工程-数据流图(DFD)大题解析

1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。

计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。

计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。

分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。

试根据上面的系统功能描述:(1)画出该系统的分层数据流图。

(8分)(2)写出相应的数据字典(要求至少写出三项)。

(4分)(3)将数据流图转换为软件的结构图。

(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。

(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。

课程结束后进行期末考试,其成绩作为这门课程的考试成绩。

2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。

3)在记录学生成绩之前,系统需要验证这些成绩是否有效。

首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。

DFD(数据流图)

DFD(数据流图)

1DFD(数据流图)(2006-09-02 14:46:15)转载分类:精品转载3.3 数据流图(DFD)数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

下图是一个飞机机票预订系统的数据流图,它反映的功能是:旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。

系统为旅客安排航班,打印出取票通知单(附有应交的账款)。

旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。

3.3.1 基本图形符号数据流图有四种基本图形符号::箭头,表示数据流;〇:圆或椭圆,表示加工;= :双杠,表示数据存储;□:方框,表示数据的源点或终点。

(1) 数据流。

数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。

如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。

由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。

(2)加工(又称为数据处理)。

对数据流进行某些操作或变换。

每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。

在分层的数据流图中,加工还应编号。

(3)数据存储(又称为文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。

(4)数据源点或终点,是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。

一般只出现在数据流图的顶层图。

3.3.2画数据流图的步骤(1)首先画系统的输入输出,即先画顶层数据流图。

顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。

顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。

下图为飞机机票预订系统的顶层图。

(2)画系统内部,即画下层数据流图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程考试

数据流图(DFD)专题讲解及例题分析
——解题的方法与技巧
1.首先要懂得数据流图设计要略
有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。

如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。

在绘制时应该注意以下要点:
(1)自外向内,自顶向下,逐层细化,完善求精。

(2)保持父图与子图的平衡。

为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。

一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。

根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。

对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。

顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。

底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。

中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。

中间层次的多少,一般视系统的复杂程度而定。

任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。

父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。

在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。

图1 父图与子图的平衡
(3)保持数据守恒。

也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。

每个加工必须有输入数据流和输出数据流,反映此加工的数据来源和加工变换结果。

一个加工的输出数据流只由它的输入数据流确定。

数据流必须经过加工,即必须进入加工或从加工中流出。

(4)加工细节隐蔽。

根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节。

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

为了强调局部数据存储的隐蔽性,一般情况下,局部数据存储只有作为某些加工的数据接口或某个特定加工的输入和输出时,才画出来。

即按照自顶向下的分析方法,某数据存储首次出现时只与一个加工有关,那么这个数据存储应该作为与之关联加工的局部数据存储,在该层数据流子图中不必画出,而在该加工的子图中画出,除非该加工为原子加工。

(5)简化加工间的关系。

在数据流图中,加工间的数据流越少,各个加工就越相对独立,所以应尽量减少加工间输入输出数据流的数目。

(6)均匀分解。

应该使一个数据流中的各个加工分解层次大致相同。

(7)适当地为数据流、加工、文件、源/宿命名,名字应反映该成分的实际意义,避免空洞的名字。

(8)忽略枝节。

应集中精力于主要的数据流,而暂不考虑一些例外情况、出错处理等枝节性的问题。

(9)表现的是数据流而不是控制流。

数据流图与传统的程序流程图不同,数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的。

数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序。

数据流图适合于宏观地分析一个组织的业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。

每个加工必须既有输入数据流,又有输出数据流;在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读、没有写,或者只有写、没有读。

2.解题的方法
(1) 数据平衡原则。

数据平衡原则分为两个方面:
① 在分层数据流图中,父图和子图要平衡,也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。

②数据平衡的另一个方面是说:每个加工必须即有输入数据流又有输出数据流,而且一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。

(2) 要特别注意的几个细节问题。

① 除了流向数据存储(文件)或从数据存储流出的数据流不必命名外,其它每个数据流都必须有一个合适的名字。

②流向文件的数据流,表示写入数据,流出文件的数据流表示读文件。

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

③在逐步精化的过程中,若一个文件首次出现时只与一个加工有关,既该文件是个加工的内部文件,那么该文件在当层图中不必画出,可在该加工的细化图中画出。

3.解题的技巧
(1)阅读题干的技巧。

快速的阅读第一遍,基本了解题目所涉及到的知识点或者事务,打记实体对象和存储文件,甚至可以将数据流也标记一下;这一步重点落在问题上,一般问题不难,但一定要看清问题。

带着问题来看第二遍,边看边解决。

(2)要有整体的概念,不能因一个点符合就断定是它,尤其是数据对象。

(3)注意解题的速度,一般在20分钟以内为最好。

(4)解题的过程中,每一条数据流都能够在[说明]中找到相应的语句。

(5)数据流名称要写对,每错一个字扣0.5分;流向也要写对。

(6)做好以后,复查一遍;不要边做边怀疑、边修改,那样会担误时间,且错误更多。

例题1.某服装贸易公司的销售子系统功能如下:
(1)公司提供多种类别服装,所有类别的服装通过各个地区的分公司进行销售;
(2)公司接收分公司的订单,检验订单,若有库存就供货,则修改库存,给仓库开备货单,并且将订单留底;若库存不足,则进行缺货登记。

(3)根据缺货记录将缺货通知单发给采购部,以便采购。

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

试采用SA 方法画出该公司销售管理系统的分层DFD(画出顶层、0层、1层图)。

分析:系统中设计到的对象有总公司,分公司,总公司仓库,总公司采购;
系统数据流入的源点是:分公司的订单,采购部门给系统的进货订单,
系统数据流出的终点是:给采购部门缺货通知单,
所以顶层数据流图是: 分公
司销售管理系统
仓库采购

订单备货单缺货通知单
进货通知单顶层流图
然后我们分解销售管理系统,从题目的第2点描述可以看出,要有一个订单处理模块。

此模块的
数据流入是:订单,库存(从库存表中读入数据,然后分析订单是否可以满足) 数据流出是:供货单(中间数据,供系统模块间进行交流),缺货登记单
供货处理模块:接受供货单,修改库存记录,然后输出备货单,保留订货单据
每个数据流由一个模块流入,由一个模块流入,故第0层分为四个模块。

订单
1.处理订单可供货单
2.供货处理
备货单库存记录
缺货记录订单记录
3.缺货统计
缺货通知单
4.处理进货
进货通知单0层流程图设计
例题2.图书馆的预定图书子系统有如下功能:
(1)由供书部门提供书目给订购组;
(2)订书组从各单位取得要订的书目;
(3)根据供书目录和订书书目产生订书文档留底;
(4)将订书信息(包括数目,数量等)反馈给供书单位;
(5)将未订书目通知订书者;
(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

相关文档
最新文档