数据流图的画法
- 格式:doc
- 大小:151.00 KB
- 文档页数:7
数据流图(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.文件文件是存贮数据的工具。
最初的数据流图应是描述当前的实际情况,即当前存在的人工数据处理情况(尽管当前情况也许有许多不合理之处),为此分析员应将他在一个企业组织中看到听到的事实如实画出来。
用户目前使用的单据、表格、卡片、清单等资料就是“数据流”或“文件”。
用户目前在做的工作就是“加工”,它们的名字就是用户习惯使用的名字。
总之,在刚开始时只是将现实情况反映出来,而不是急于去想像未来的计算机系统是怎样的。
在画数据流图时,首先应画出系统的输入数据流和输出数据流,也就是先决定系统的范围,然后再考虑系统的内部,同样,对每一个加工来说也是先画出它们的输入输出,再考虑这个加工的内部。
✧画系统的输入输出刚开始分析时,系统究竟应包括哪些功能还不清楚,所以我们应该保险一些,使系统的范围稍大,把可能有关的内容都包括进去。
此时应该向用户了解,“系统从外界接受什么数据?”,“系统向外界送出什么数据?”等,然后根据他们的答复画出数据流图的外围。
如培训中心管理系统从外界接受的数据是“函电”,向外界送出的数据是“通知单”,则数据流图的外围如图3.l1所示。
这时,我们不必担心是否有输入输出数据流被遗漏了,因为遗漏的数据流以后能够发现的。
✧画系统的内部逐步将系统的输入和输出数据流用一连串加工连接起来,一般可以从输入端逐步画到输出端,也可以反过来从输出端追溯到输入端。
在数据流的组成或值发生变化的地方应画上一个“加工”,它的作用就是实现这一变化。
如果系统中有一组数据,用户把它们作为一个单位来处理(如,一起到达,一起被加工)则应将这组数据看成是一个数据流。
反之,不要把一些相互无关的,用户也并不将它们看成为一个整体来处理的若干数据画成一个数据流。
对每一个数据流应该了解它的组成是什么,这些组成项来自何处,这些组成项如何组合成这一数据流,为实现这一组合还需要什么有关的加工和数据等等。
数据流图中还要画出有关的文件,即各种存贮的数据,此时也应了解文件的组成情况。
✧画加工的内部用“由外向里”的方式,可以继续分析每个加工的内部,如果加工的内部还有一些数据流,则可将这个加工用几个子加工代替,并在子加工之间画出这些数据流。
如何画数据流图数据流图是一种信息系统建模工具,用于描述系统中数据的流动和处理过程。
它通过标识数据流、处理模块、数据存储以及外部实体之间的关系来展现系统内部的结构和功能。
数据流图可以帮助人们更好地理解系统的各个组成部分以及它们之间的交互方式。
在数据流图中,数据流通过箭头表示,并附带标签描述数据的内容。
处理模块用矩形框表示,其中包含处理的功能描述。
数据存储通常用平行四边形表示,代表数据的存储和检索操作。
而外部实体则用双框表示,代表与系统进行交互的外部元素。
绘制数据流图的步骤如下:1. 确定系统范围:首先要明确需要绘制数据流图的系统的范围。
确定系统的输入、输出以及系统边界,确保数据流图能够囊括系统的主要功能。
2. 识别外部实体:根据系统的输入和输出,识别系统与外部实体之间的交互方式。
将这些外部实体标识为数据流图中的双框。
3. 标识数据流:分析系统中数据的流动路径,将数据流标识为数据流图中的箭头,并附带描述数据内容的标签。
4. 划分处理模块:确定系统中的处理功能,并将其划分为不同的处理模块。
每个处理模块用矩形框表示,并附带描述处理过程的标签。
5. 确定数据存储:分析系统中的数据存储和检索操作,并将其标识为数据流图中的平行四边形。
6. 连接各个组件:根据系统中各个组成部分的关系,使用箭头将外部实体、数据流、处理模块和数据存储连接起来。
7. 完善数据流图:检查数据流图的准确性和完整性,确保图中的每一个组件都能正确描述系统的功能和结构。
在绘制数据流图的过程中,需要注意以下几点:1. 粒度控制:数据流图应该尽量保持一定的层次结构,避免将系统的细节描述得过于复杂。
2. 清晰明了:数据流图上的标签应该简明扼要,能够准确描述数据流的内容和处理模块的功能。
3. 一致性:数据流图的符号、标签和命名应该保持一致,方便读者的理解和识别。
4. 反复迭代:数据流图是一个动态的工具,随着对系统的了解加深,可能需要不断地进行修改和调整。
如何画数据流图数据流图是一种用来描述系统中数据流动和处理流程的图形化工具。
它可以帮助用户理清系统在数据处理方面的整个过程,并可从中发现问题和优化解决方案。
数据流图通常是由以下几个部分组成:数据流,加工,存储和外部实体。
下面我们将详细讲解如何画数据流图。
一、准备工作画数据流图需要我们先了解该系统或过程的整体架构,明确对数据流向和处理流程的需求。
以下这些准备工作需要完成:1. 确定范围:确定数据流图的范围,即确定我们所要绘制的数据流图的具体应用场景和所包含的系统模块或过程。
2. 确认实体:确定系统中的内部和外部实体,内部实体指具有处理功能的模块(或部门),外部实体指与系统交互的其他系统、组织或个人。
3. 确认数据流:明确数据的流向和形式。
4. 确认加工:确定哪些功能模块和处理过程被用于对数据进行处理。
5. 确认数据存储:确定数据存储的位置和类型,以及数据在存储过程中的变化。
二、画图流程针对上述准备工作,我们开始进行画图。
1. 绘制外部实体外部实体即对于系统而言是接入的,需要绘制它们与系统之间的数据流动线路。
绘制外部实体通常是一个矩形,内部注明实体的名称。
在数据流图中,各个外部实体之间可以相互连接,也可以连接系统内部的各个实体。
2. 定义数据流通常情况下,数据流都是从一个实体流向另一个实体,表示数据的传递过程。
所以,在画图时需要以箭头的形式来表示其流动方向,并在箭头中标明数据类型和名称。
箭头的形状可以有很多种,例如圆形、三角形、矩形、菱形等等,不同的形状对应不同的含义。
3. 确定加工过程加工过程是指数据在系统中的处理过程,通常画图时需要将其以一个矩形的形式表示出来。
在矩形内注明模块名称和编号。
其属性包括输入输出,内部处理,控制等。
4. 标出数据存储数据存储通常是指在系统中的存储、传递、读取等过程中使用的数据存储介质,如文件、数据库等。
画图时需要用一个中间框架来表示。
在框架内注明存储介质、存储方式、存储数据类型等相关信息。
数据流图怎么画数据流图(Data Flow Diagram, DFD)是一种基于数据流的图形化工具,用于描述数据在系统中的流动及其处理流程。
数据流图通常由四个元素组成:1. 实体(Entity):可感知系统的事物,例如人、部门、组织、设备等。
2. 数据流(Data Flow):数据从一个实体或处理过程流向另一个实体或处理过程。
3. 处理(Process):对数据进行处理或转换的过程。
4. 数据存储(Data Store):用于存储数据的地方,例如文件、数据库等。
以下是数据流图的绘制步骤:1. 确定系统范围:确定要分析的系统的范围和边界,例如系统的输入、输出、用户以及其他相关系统等。
2. 确定数据流:将输入输出定义为数据流的形式,描述数据从哪里流入系统,以及数据在系统中的流向。
3. 确定处理过程:确定系统中的所有处理过程和它们的职责,以及它们对数据的处理方式。
4. 确定数据存储位置:根据系统要求确定数据存储的位置和类型。
5. 绘制数据流图:根据以上确定的元素,画出数据流图。
在绘制数据流图时,需要注意以下事项:1. 多个数据流不应合并,一个数据流也不应拆分。
2. 所有数据流都应与处理过程相连,而不是与实体相连,除非某个实体本身是处理过程。
3. 划分系统层次,将一个大系统分解为若干个小的子系统或模块。
4. 确保图中的每个元素都已被定义清楚,以便其他人可以轻松理解。
绘制数据流图的过程中,需要充分考虑系统的实际需求,以便为后续系统开发和测试提供有效的参考和帮助。
同时,绘制数据流图还需要根据实际情况不断地检讨和修改,以确保其准确性和可靠性。
数据流图的画法及实例数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
数据流图的基本组成成分数据流:是由一组固定成分的数据组成,表示数据的流向。
值得注意的是,数据流图中描述的是数据流,而不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。
每个加工都有一个名字和编号。
编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储:数据存储表示暂时存储的数据。
每个数据存储都有一个名字。
外部实体:外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
外部实体加工数据流分层数据流图的设计方法第一步,画子系统的输入输出把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。
这张图称为顶层图。
第二步,画子系统的内部把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。
这张图称为0层图。
从一个加工画出一张数据流图的过程就是对加工的分解。
可以用下述方法来确定加工:在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。
确定数据流的方法用户把若干数据当作一个单位来处理(这些数据一起到达、一起处理)时,可以把这些数据看成一个数据流。
关于数据存储对于一些以后某个时间要使用的数据,可以组织成为一个数据存储来表示。
数据流图的画法
数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
数据流图的基本组成成分
数据流:是由一组固定成分的数据组成,表示数据的流向。
值得注意的是,数据流图中描述的是数据流,而不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。
每个加工都有一个名字和编号。
编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储:数据存储表示暂时存储的数据。
每个数据存储都有一个名字。
外部实体:外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
外部实体加工数据流
分层数据流图的设计方法
第一步,画子系统的输入输出
把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。
这张图称为顶层图。
第二步,画子系统的内部
把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。
这张图称为0层图。
从一个加工画出一张数据流图的过程就是对加工的分解。
可以用下述方法来确定加工:
在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。
确定数据流的方法
用户把若干数据当作一个单位来处理(这些数据一起到达、一起处理)时,可以把这些数据看成一个数据流。
关于数据存储
对于一些以后某个时间要使用的数据,可以组织成为一个数据存储来表示。
第三步,画加工的内部
把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流。
于是可以象画0层图一样画出每个小系统的加工的DFD图。
第四步,画子加工的分解图
对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工都是足够简单的(即不可再分解)。
至此,得到了一套分层数据流图。
第五步,对数据流图和加工编号
对于一个软件系统,其数据流图可能有许多层,每一层又有许多张图。
为了区分不同的加工和不同的DFD子图,应该对每张图进行编号,以便于管理。
●顶层图只有一张,图中的加工也只有一个,所以不必为其编号。
●0层图只有一张,图中的加工号分别是0.1、0.2、…,或者1,2 。
●子图就是父图中被分解的加工号。
●子图中的加工号是由图号、圆点和序号组成,如:1.12,1.3 等等。
应该注意的问题:
1. 应适当的为数据流、加工、数据存储以及外部实体命名,名字应该反映该成分的实际含义,避免使用空洞的名字。
2. 画数据流图,不是画控制流。
3. 一个加工的输出数据流,不应与输入数据流同名,及时他们的组成完全相同。
4. 允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流流向不同的加工。
5. 保持父图与子图的平衡。
也就是说,父图中的某加工的输入输出流必须与他的子图的输入输出数据流在数量上和名字上相同。
值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么他们仍然算是平衡的。
6. 在自顶向下的分解过程中,若一个数据存储首次出现时,只与一个加工有关系,那么这个数据存储应作为这个加工的内部文件而不必画出。
7. 保持数据守恒,也就是,一个加工的所有输出数据流中的数据必须能从该加工的输出流中直接获得,或者通过该加工能产生的数据。
8. 每个加工必须既有输入数据流,又有输出数据流。
9. 在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。
但是在某张子图中,可能只有读没有写,或者只有写没有读。
特别注意上面的几点,都是考试的目标。
近两年考试的内容都集中到2、5、6、8的几点上。
例如:
数据流图(DFD)
数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
下图是一个飞机机票预订系统的数据流图,它反映的功能是:旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(附有应交的账款)。
旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。
3.3.1 基本图形符号
数据流图有四种基本图形符号:
:箭头,表示数据流;
〇:圆或椭圆,表示加工;
= :双杠,表示数据存储;
□:方框,表示数据的源点或终点。
(1) 数据流。
数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。
如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。
由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
(2)加工(又称为数据处理)。
对数据流进行某些操作或变换。
每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。
在分层的数据流图中,加工还应编号。
(3)数据存储(又称为文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
(4)数据源点或终点,是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。
一般只出现在数据流图的顶层图。
3.3.2画数据流图的步骤
(1)首先画系统的输入输出,即先画顶层数据流图。
顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。
顶层图的作用在于表
明被开发系统的范围以及它和周围环境的数据交换关系。
下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。
不再分解的加工称为基本加工。
一般将层号从0开始编号,采用自顶向下,由外向内的原则。
画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。
例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,0层数据流图如图3-4。
(3)注意事项。
①命名。
不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。
数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。
数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
⑤编号。
如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。
子图及其所有的加工都应编号。
⑥父图与子图的平衡。
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。
当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
⑧提高数据流图的易懂性。
注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
图3-6给出了采用这套符号画出的等价于图3-2的DFD。
3.3.3流程图的实例。