数据流图画法要求
教你怎么画数据流图包括数据流图实例优PPT资料
a关联图
b顶层图
绘制数据流图过程示意图
c二层图
由于图形描述简明、清晰,不涉及到技术细节,所描述的内容是 面向用户的,所以即使完全不懂信息技术的用户单位的人员也容易理 解。因此数据流图是系统分析人员与用户之间进行交流的有效手段, 也是系统设计(即建立所开发的系统的物理模型)的主要依据之一。
《管理信息系统》
2 数据流图的构成
(1)数据流图使用的符号 DFD由四种基本符号组成。如下图所示。
《管理信息系统》
(4)数据存储 数据存储是用来存贮数据的。在分层DFD中,数据存储一般仅属于某 一层或某几层,因此又称数据存储为局部文件。现对数据存储符号说 明如下: ①数据存储名写在开口的长方框内,应概要地说明文件中的主要数据 。 ②数据存储上一定要有数据流。 ③为便于说明和管理,数据存储亦应编号,编号写在文件符号左端小 方格中,以“D”开头。 ④为避免DFD中出现交叉线,同一数据存储可在多处画出,可以用下 图所示符号表示数据存储重复。
教你怎么画数据流 图包括数据流图实
例
1 数据流图
数据流图(DFD:Data Flow Diagram)就是组织中信息运动的抽 象,是信息逻辑系统模型的主要形式。这个模型不涉及硬件、软件、 数据结构与文件组织,它与对系统的物理描述无关,只是用一种图形 及与此相关的注释来表示系统的逻辑功能,即所开发的系统在信息处 理方面要做什么。
《管理信息系统》
3 数据流图的绘制步骤
(1)确定所开发的系统的外部项(外部实体),即系统的数据来源和 去处。
(2)确定整个系统的输出数据流和输入数据流,把系统作为一个加工 环节,画出关联图。
(3)确定系统的主要信息处理功能,按此将整个系统分解成几个加工 环节(子系统)确定每个加工的输出与输入数据流以及与这些加工有 关的数据存储。
数据流图的画法以及实例(精选)
数据流图的画法以及实例(精选)数据流图也称为数据流程图date flow diagram , DFD,是⼀种便于⽤户理解和分析系统数据流程的图形⼯具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输⼊、输出和数据存储等,是系统逻辑模型的重要组成部分。
数据流图的基本组成成分数据流:是由⼀组固定成分的数据组成,表⽰数据的流向。
值得注意的是,数据流图中描述的是数据流,⽽不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有⼀个合适的名字,以反映该数据流的含义。
加⼯:加⼯描述了输⼊数据流到输出数据之间的变换,也就是输⼊数据流经过什么处理后变成了输出数据。
每个加⼯都有⼀个名字和编号。
编号能反映该加⼯位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加⼯分解出来的⼦加⼯。
数据存储:数据存储表⽰暂时存储的数据。
每个数据存储都有⼀个名字。
外部实体:外部实体是存在于软件系统之外的⼈员或组织,他指出数据所需要的发源地或系统所产⽣的数据的归属地。
外部实体加⼯数据流分层数据流图的设计⽅法第⼀步,画⼦系统的输⼊输出把整个系统视为⼀个⼤的加⼯,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输⼊输出图。
这张图称为顶层图。
第⼆步,画⼦系统的内部把顶层图的加⼯分解成若⼲个加⼯,并⽤数据流将这些加⼯连接起来,使得顶层图的输⼊数据经过若⼲加⼯处理后,变成顶层图的输出数据流。
这张图称为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.文件文件是存贮数据的工具。
数据流图的画法
• 程序框图是从对数据进行加工的角度描述系统的,其箭头是控制 流,表示的是对数据进行加工的次序
• 数据流图则是从数据的角度来描述系统的,其箭头是数据流,表 示的是数据的流动方向
如何画数据流图
• 一般情况下,应该遵守“由外向里”的原则。 即先确定系统的边界或范围,再考虑系统的 内部,先画数据处理的输入和输出,再画数 据处理内部。
1. 从问题描述中取出 4 种基本组成成分 2. 根据(1)的结果画出系统的基本系统流图(顶
层图) 3. 把由(2)得到的基本系统模型细化为系统的功
¤ 分解时应遵循原则
1. 分解应自然,概念上要合理、清晰。 2. 上层可分解的快些(即分解成的子数据处理个数多些),这是因
为上层是综合性描述,对可读性的影响小。而下层应分解得慢些。 3. 在不影响可读性的前提下,应适当地多分解成几部分,以减少分解层
数。 4. 一般说来,当数据处理可用一页纸明确地表述时,或数据处理只
有单一输入/输出数据流时(出错处理不包括在内),就应停止对 该数据处理的分解。另外,对数据流图中不再作分解的数据处理 (即功能单元),必须作出详细的数据处理说明,并且每个数据 处理说明的编号必须与功能单元的编号一致。
Ssm
注意事项
• 数据流中的编号
¤分层数据流图的顶层称为 0 层,称它是第 1 层的父 图,而第 1 层既是0 层图的子图,又是第 2 层图 的父图,依此类推。
Ssm
注意事项
• 父图与子图间平衡
¤这里的平衡指的是子图的输入、输出数据流必须与 父图中对应数据处理的输入、输出数据流相同。
数据流图的画法
最初的数据流图应是描述当前的实际情况,即当前存在的人工数据处理情况(尽管当前情况也许有许多不合理之处),为此分析员应将他在一个企业组织中看到听到的事实如实画出来。
用户目前使用的单据、表格、卡片、清单等资料就是“数据流”或“文件”。
用户目前在做的工作就是“加工”,它们的名字就是用户习惯使用的名字。
总之,在刚开始时只是将现实情况反映出来,而不是急于去想像未来的计算机系统是怎样的。
在画数据流图时,首先应画出系统的输入数据流和输出数据流,也就是先决定系统的范围,然后再考虑系统的内部,同样,对每一个加工来说也是先画出它们的输入输出,再考虑这个加工的内部。
✧画系统的输入输出刚开始分析时,系统究竟应包括哪些功能还不清楚,所以我们应该保险一些,使系统的范围稍大,把可能有关的内容都包括进去。
此时应该向用户了解,“系统从外界接受什么数据?”,“系统向外界送出什么数据?”等,然后根据他们的答复画出数据流图的外围。
如培训中心管理系统从外界接受的数据是“函电”,向外界送出的数据是“通知单”,则数据流图的外围如图3.l1所示。
这时,我们不必担心是否有输入输出数据流被遗漏了,因为遗漏的数据流以后能够发现的。
✧画系统的内部逐步将系统的输入和输出数据流用一连串加工连接起来,一般可以从输入端逐步画到输出端,也可以反过来从输出端追溯到输入端。
在数据流的组成或值发生变化的地方应画上一个“加工”,它的作用就是实现这一变化。
如果系统中有一组数据,用户把它们作为一个单位来处理(如,一起到达,一起被加工)则应将这组数据看成是一个数据流。
反之,不要把一些相互无关的,用户也并不将它们看成为一个整体来处理的若干数据画成一个数据流。
对每一个数据流应该了解它的组成是什么,这些组成项来自何处,这些组成项如何组合成这一数据流,为实现这一组合还需要什么有关的加工和数据等等。
数据流图中还要画出有关的文件,即各种存贮的数据,此时也应了解文件的组成情况。
✧画加工的内部用“由外向里”的方式,可以继续分析每个加工的内部,如果加工的内部还有一些数据流,则可将这个加工用几个子加工代替,并在子加工之间画出这些数据流。
数据流图的画法
关于数据流图的几点注意事项
数据流图:描绘“做什么” 不考虑“怎么做” 数据流图:描绘“做什么”,不考虑“怎么做” 箭头: 箭头:数据流图和程序流程图中用箭头表示的控制流有本质 不同,不能混淆。 不同,不能混淆。在数据流图中应该描绘所有可能的数据流 而不应该描绘出现某个数据流的条件。 向,而不应该描绘出现某个数据流的条件。 处理:处理并不一定是一个程序。 处理:处理并不一定是一个程序。一个处理框可以代表一系 列程序、单个程序或者程序的一个模块, 列程序、单个程序或者程序的一个模块,也可代表一个人工 处理过程,如用户目视检查数据正确性。 处理过程,如用户目视检查数据正确性。 数据存储:一个数据存储并不等同于一个文件,它可以表示 数据存储:一个数据存储并不等同于一个文件, 一个文件、文件的一部分、数据库的元素或记录的一部分等; 一个文件、文件的一部分、数据库的元素或记录的一部分等; 数据可以存储在磁盘、磁带、磁鼓、主存、微缩胶片、穿孔 数据可以存储在磁盘、磁带、磁鼓、主存、微缩胶片、 卡片及其他任何介质上(包括人脑) 卡片及其他任何介质上(包括人脑)。 数据存储和数据流都是数据,仅仅所处的状态不同。 数据存储和数据流都是数据,仅仅所处的状态不同。数据存 储是处于静止状态的数据,数据流是处于运动中的数据。 储是处于静止状态的数据,数据流是处于运动中的数据。
数据流
• 购买申请和最终形成的购买清单显然是数据流; 购买申请和最终形成的购买清单显然是数据流; • 审批过程的审批信息也是数据流,并要分两种类型: 审批过程的审批信息也是数据流,并要分两种类型: 500的和 500的 的和> ≤500的和>500的; • 购买完后,实际购买清表也是数据流。 购买完后,实际购买清表也是数据流。
数据流图
首先从问题描述提取数据流图的四种成分: 首先从问题描述提取数据流图的四种成分:
教你怎么画数据流图包括数据流图实例课件
2023
PART 04
数据流图常见问题及解决 方案
REPORTING
问题一:数据流不明确
总结词 数据流图中的数据流不明确,往往导致读者对数据流向和 数据处理过程产生困惑。
详细描述 数据流图是一种用于描述数据流动和处理的工具,通过图 形化的方式展示数据从输入到输出的流转过程。如果数据 流不明确,将影响读者对数据流程的理解。
电商网站用户行为分析数据流图
利用数据流图工具绘制电商网站用户行为分析数据流图,包括用户登录、浏览商品、加入购物车、结算等环节, 用于分析用户行为,优化网站设计和运制技巧及注意 事项
REPORTING
绘制技巧
明确目的和需求
在开始绘制数据流图之前,首先要明确目 的和需求,以便指导数据流图的绘制。
实例二:网上购物系统
01
总结词
简单、电子商务、涉及用户和订单管理。
02 03
详细描述
网上购物系统是一个简单的电子商务系统,主要涉及用户管理和订单管 理两个模块。数据流图描述了用户注册、登录、浏览商品、下单等过程 中的数据流动情况。
图表展示
数据流图包括用户注册、登录、浏览商品、下单等过程的数据流,以及 后台订单管理的数据流,展示了整个系统的数据流动情况。
数据流图的基本元素
基本元素
数据流图主要由四种 基本元素组成,包括 数据流、加工、数据 存储和外部实体。
数据流
表示数据在系统中的 流动过程,由一组有 序的数据组成。
加工
表示对数据的处理过 程,包括对数据的输 入、输出、转换等操 作。
数据存储
表示数据的存储状态, 包括数据的存储位置、 存储方式等。
外部实体
在绘制数据流图时,应详细描 述数据的存储位置和处理方式, 包括数据的临时存储、缓存、 持久化存储等。同时,应标注 存储介质和存储容量等信息。
流程图的画法及要求
流程图的画法及要求流程图是一种用于描述过程、步骤和逻辑关系的图形工具。
通过流程图,我们可以直观地展示出事物的发展脉络,帮助人们更好地理解和管理复杂的过程。
流程图的画法及要求对于准确表达流程逻辑和便于理解具有重要意义。
确定流程的开始和结束:在画流程图时,首先要确定流程的起始点和终止点。
通常,起始点用椭圆形表示,终止点用三角形表示。
按照流程顺序绘制:从起始点开始,按照流程的顺序,一步步地绘制出流程的各个环节。
每个环节用矩形表示,并标注出该环节的名称或操作。
确定流程分支:在绘制流程图时,如果存在分支或循环,需要用菱形来表示。
标注出分支的条件和流向,以便更好地理解流程。
标注输入和输出:在流程图中,需要标注出每个环节的输入和输出。
输入用“IN”表示,输出用“OUT”表示。
这样可以使读者更清楚地了解每个环节的作用和关系。
完善流程图:要对流程图进行完善和美化,确保其清晰、易读、美观。
可以使用不同的颜色、线条粗细等来区分不同的环节和流向。
简洁明了:流程图应该简洁明了,避免过于复杂和混乱。
每个环节都应该清晰明了,标注简明扼要,方便读者理解。
逻辑清晰:流程图应该按照逻辑顺序进行绘制,确保流程的顺畅和连贯。
避免出现跳跃、重复或交叉的情况,以免造成混乱。
标准化:为了方便交流和理解,建议使用统一的符号和格式来绘制流程图。
这样可以避免出现不同人使用不同的符号和格式导致理解困难的情况。
可读性强:流程图应该具有可读性强,易于理解。
在标注文字、符号、线条等方面要规范、清晰、易于辨认。
避免使用过于专业的术语或缩写,以免造成阅读障碍。
重点突出:在绘制流程图时,应该突出重点和关键环节。
对于重要的步骤或环节,可以使用不同的颜色、粗细等方式进行突出显示,以便读者快速找到关键信息。
适应性强:流程图应该具有一定的适应性,可以随着业务需求的变化而进行相应的调整和修改。
在绘制流程图时,应该考虑未来的扩展和变化情况,以便进行灵活的调整。
流程图的画法及要求是绘制出高质量、易理解的流程图的关键。
绘制数据流程图注意事项
绘制数据流程图注意事项
①明确目的:在开始绘制之前,要清楚DFD所要表达的目标和范围。
②确定参与者:识别与系统交互的所有外部参与者,如用户、其他系统等。
③定义数据流:列出所有进入系统和离开系统的数据流,确保它们清晰、准确。
④识别处理过程:确定系统中的所有处理过程(Process),并用适当的符号表示。
⑤数据存储:标注系统中的所有数据存储位置,如数据库或文件。
⑥层次化设计:如果系统复杂,可以创建多个层次的DFD,从高层次的概览到低层次的详细视图。
⓻使用标准符号:DFD有一套标准符号,包括数据流、处理过程、数据存储等。
确保使用这些标准符号以提高可读性。
➑确保一致性:在整个DFD中保持符号和格式的一致性。
⓽注释清晰:为DFD中的每个元素提供清晰的注释,以便于理解。
⓾审查和验证:在完成DFD后,进行审查和验证以确保其正确性,可能需要与利益相关者进行讨论。
⑪考虑数据的安全性和隐私:在设计DFD时,应该考虑到数据安全和隐私保护的需求。
⑫可维护性:确保DFD易于更新和维护,以适应系统变更。
⑬使用工具:可以使用专业的绘图软件或工具来帮助绘制DFD,提高效率和准确性。
⑭版本控制:对DFD进行版本控制,以追踪变更和历史记录。
⓯沟通和反馈:与团队成员和利益相关者进行沟通,收集反馈以改进DFD。
教你怎么画数据流图-包括数据流图实例
确定系统的边界
确定系统的主要功能
首先需要明确系统的核心功能和业务 范围,以便确定数据流图的边界。
确定系统的输入和输出
了解系统需要处理哪些数据,以及输 出哪些结果,有助于确定数据流图的 起始点和终点。
确定数据流图的层次结构
识别主要流程
根据系统的业务逻辑,识别出主 要的数据处理流程,并按照其重 要性进行排序。
拆分数据流
将大量数据流拆分成多个小流,使每个小流更容 易理解和绘制。
使用数据存储
在数据流之间使用数据存储,如缓冲区、队列或 表格,以简化大量数据的处理。
使用分层数据流图
将数据流图分为多个层次,将细节放在较低层次, 主要逻辑放在较高层次。
如何处理复杂的控制流?
使用流程图符号
使用标准流程图符号,如开 始/结束、决策点、处理/动 作等,清晰地表示控制流。
价格
提供免费版和付费版,付费版提供更多高级功能。
SmartDraw
适用平台
Windows 和 Mac
特点
SmartDraw 是一款功能强大的绘图工具,支持多种类型的图表绘制,包括数据流图、流程图、组织结构图等。
价格
商业使用需要购买许可证。
05
数据流图绘制常见问题 及解决方案
如何处理大量的数据流?
划分层次结构
将主要流程按照层次结构进行划 分,形成一个清晰的树状结构, 以便绘制数据流图。
绘制数据流图
使用标准符号
遵循数据流图的规范符号,如矩形表 示处理、菱形表示决策、箭头表示数 据流等。
详细标注
在绘制过程中,对每个节点进行详细 的标注,包括处理名称、输入输出数 据等,以便他人理解。
验证数据流图的正确性
数据流图的画法及实例
数据流图的画法及实例数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
数据流图的基本组成成分数据流:是由一组固定成分的数据组成,表示数据的流向。
值得注意的是,数据流图中描述的是数据流,而不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。
每个加工都有一个名字和编号。
编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储:数据存储表示暂时存储的数据。
每个数据存储都有一个名字。
外部实体:外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
外部实体加工数据流分层数据流图的设计方法第一步,画子系统的输入输出把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。
这张图称为顶层图。
第二步,画子系统的内部把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。
这张图称为0层图。
从一个加工画出一张数据流图的过程就是对加工的分解。
可以用下述方法来确定加工:在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。
确定数据流的方法用户把若干数据当作一个单位来处理(这些数据一起到达、一起处理)时,可以把这些数据看成一个数据流。
关于数据存储对于一些以后某个时间要使用的数据,可以组织成为一个数据存储来表示。
软件需求说明书编写中的数据流绘制技巧
软件需求说明书编写中的数据流绘制技巧在软件开发的过程中,需求分析是非常关键的一步。
而在需求分析中,数据流图是常用的工具,用于描述系统中各个功能模块之间的数据流动情况。
本文将详细介绍软件需求说明书编写中的数据流绘制技巧,帮助开发团队更好地理解和掌握数据流图的绘制方法。
一、数据流图的概念和作用数据流图(Data Flow Diagram,简称DFD)是一种图形化的工具,用于描述系统中信息的流动和处理过程。
它可帮助软件开发人员清晰地了解系统中的数据流动,明确各个功能模块之间的关系,从而为需求分析和系统设计提供依据。
数据流图以图形的形式展示了系统中的数据流和处理功能,包括数据流入和流出的过程,以及在各个处理模块中进行的数据处理操作。
通过数据流图,团队成员可以直观地了解系统的结构和功能,快速定位问题和风险,并确保开发过程中的顺利进行。
二、数据流图的绘制步骤1. 确定关键功能模块:根据需求分析的结果,确定系统中的关键功能模块,并对其进行命名和标识,以便在数据流图中进行引用。
2. 确定数据流和处理过程:根据需求分析的结果,确定系统中的数据流和处理过程,并使用适当的符号进行标识。
数据流可以是输入数据、输出数据或系统内部流动的数据,而处理过程则可以是数据的加工、转换、存储等。
3. 绘制主要数据流和处理过程:根据系统中的主要数据流和处理过程,开始绘制数据流图的主干结构。
主要数据流通常包括系统的输入和输出数据,而处理过程则包括系统的各个功能模块。
注意根据功能模块之间的关系,合理安排数据流的流动方向和处理过程的顺序。
4. 细化和完善数据流图:在主干结构绘制完成后,进一步细化和完善数据流图。
可根据系统的具体要求,增加细节数据流和处理过程,以更全面地描述系统的功能和流程。
5. 验证和修正数据流图:在数据流图完成后,进行验证和修正是非常重要的。
团队成员可以通过检查数据流图的正确性、一致性和完整性,发现潜在的问题和错误,并进行相应的修正。
数据流图(DFD)画法要求
数据流图(DFD)画法要求一、数据流图(DFD)1.数据流图的基本符号数据流图由四种基本符号组成,见图5-4-1所示。
图5-4-1 数据流图的基本符号例:图5-4-2是一个简单的数据流图,它表示数据X从源S流出,经P加工转换成Y,接着经P加工转换为Z,在加工过程中从F中读取数据。
图5-4-2数据流图举例下面来详细讨论各基本符号的使用方法。
数据流由一组确定的数据组成。
例如“发票”为一个数据流,它由品名、规格、单位、单价、数量等数据组成。
数据流用带有名字的具有箭头的线段表示,名字称为数据流名,表示流经的数据,箭头表示流向。
数据流可以从加工流向加工,也可以从加工流进、流出文件,还可以从源点流向加工或从加工流向终点。
对数据流的表示有以下约定:对流进或流出文件的数据流不需标注名字,因为文件本身就足以说明数据流。
而别的数据流则必须标出名字,名字应能反映数据流的含义。
数据流不允许同名。
两个数据流在结构上相同是允许的,但必须体现人们对数据流的不同理解。
例如图5-4-3(a)中的合理领料单与领料单两个数据流,它们的结构相同,但前者增加了合理性这一信息。
两个加工之间可以有几股不同的数据流,这是由于它们的用途不同,或它们之间没有联系,或它们的流动时间不同,如图5-4-3(b)所示。
(a)(b)(c)图5-4-3 简单数据流图举例数据流图描述的是数据流而不是控制流。
如图5-4-3 (c)中,“月末”只是为了激发加工“计算工资”,是一个控制流而不是数据流,所以应从图中删去。
加工处理是对数据进行的操作,它把流入的数据流转换为流出的数据流。
每个加工处理都应取一个名字表示它的含义,并规定一个编号用来标识该加工在层次分解中的位置。
名字中必须包含一个动词,例如“计算”、“打印”等。
对数据加工转换的方式有两种:改变数据的结构,例如将数组中各数据重新排序;产生新的数据,例如对原来的数据总计、求平均等值。
4.文件文件是存贮数据的工具。
文件名应与它的内容一致,写在开口长条内。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据流图(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.文件文件是存贮数据的工具。
文件名应与它的内容一致,写在开口长条内。
从文件流入或流出数据流时,数据流方向是很重要的。
如果是读文件,则数据流的方向应从文件流出,写文件时则相反;如果是又读又写,则数据流是双向的。
在修改文件时,虽然必须首先读文件,但其本质是写文件,因此数据流应流向文件,而不是双向。
例如,在图5-4-3 (a)中,检查合理性加工时,只从库存帐目文件中读出库存信息与领料单核对,所以数据流从文件流出,箭头指向加工。
5.数据源或终点数据源和终点表示数据的外部来源和去处。
它通常是系统之外的人员或组织,不受系统控制。
为了避免在数据流图上出现线条交叉,同一个源点、终点或文件均可在不同位置多次出现,这时要在源(终)点符号的右下方画小斜线,或在文件符号左边画竖线,以示重复,如图5-4-4所示。
图5-4-4 重复的源点、终点或文件由上图可见,数据流图可通过基本符号直观地表示系统的数据流程、加工、存贮等过程。
但它不能表达每个数据和加工的具体、详细的含义,这些信息需要在“数据字典”和“加工说明”中表达。
6.DFD的画法一般遵循“由外向里”的原则,即先确定系统的边界或范围,再考虑系统的内部,先画加工的输入和输出,再画加工的内部。
即:(1)识别系统的输入和输出。
(2)从输入端至输出端画数据流和加工,并同时加上文件。
(3)加工的分解“ 由外向里”进行分解。
(4)数据流的命名,名字要确切,能反映整体。
(5)各种符号布置要合理,分布均匀,尽量避免交叉线。
(6)先考虑稳定态,后考虑瞬间态。
如系统启动后在正常工作状态,稍后再考虑系统的启动和终止状态。
对于不同的问题,数据流图可以有不同的画法。
一般情况下,应该遵守“由外向里”的原则。
即先确定系统的边界或范围,再考虑系统的内部,先画加工的输入和输出,再画加工内部。
具体实行时可按下述步骤进行:(1)识别系统的输入和输出,画出顶层图即确定系统的边界。
在系统分析初期,系统的功能需求等还不很明确,为了防止遗漏,不妨先将范围定得大一些。
系统边界确定后,那么越过边界的数据流就是系统的输入或输出,将输入与输出用加工符号连接起来,并加上输入数据来源和输出数据去向就形成了顶层图。
(2)画系统内部的数据流、加工与文件,画出一级细化图从系统输入端到输出端(也可反之),逐步用数据流和加工连接起来,当数据流的组成或值发生变化时,就在该处画一个“加工”符号。
画数据流图时还应同时画上文件,以反映各种数据的存贮处,并表明数据流是流入还是流出文件。
最后,再回过头来检查系统的边界,补上遗漏但有用的输入输出数据流,删去那些没被系统使用的数据流。
(3)加工的进一步分解,画出二级细化图同样运用“由外向里”方式对每个加工进行分析,如果在该加工内部还有数据流,则可将该加工分成若干个子加工,并用一些数据流把子加工联接起来,即可画出二级细化图。
二级细化图可在一级细化图的基础上画出,也可单独画出该加工的二级细化图,二级细化图也称为该加工的子图。
(4)其它注意事项一般应先给数据流命名,再根据输入/输出数据流名的含义为加工命名。
名字含义要确切,要能反映相应的整体。
若碰到难以命名的情况,则很可能是分解不恰当造成的。
应考虑重新分解。
从左至右画数据流图。
通常左侧、右侧分别是数据源和终点,中间是一系列加工和文件。
正式的数据流图应尽量避免线条交叉,必要时可用重复的数据源、终点和文件符号。
此外,数据流图中各种符号布置要合理,分布应均匀。
画数据流图是一项艰巨的工作,要做好重画的思想准备,重画是为了消除隐患,有必要不断改进。
因为作为顶层加工处理的改变域是确定的,所以改变域的分解是严格的自顶向下分解的。
由于目标系统目前还不存在,应此分解时开发人员还需凭经验进行,这是一项创造性的劳动。
同时,在建立目标系统数据流图时,还应充分利用本章讲过的各种方法和技术,例如:分解时尽量减少各加工之间的数据流;数据流图中各个成分的命名要恰当;父图与子图间要注意平衡等等。
当画出分层数据流图,并为数据流图中各个成分编写词典条目或加工说明后,就获得了目标系统的初步逻辑模型。
二、画分层数据流图时应注意的问题下面从四个方面讨论画分层数据流图时应注意的问题。
1.合理编号分层数据流图的顶层称为0层,称它是第1层的父图,而第1层既是0层图的子图,又是第2层图的父图,依此类推。
由于父图中有的加工可能就是功能单元,不能再分解,因此父图拥有的子图数少于或等于父图中的加工个数。
为了便于管理,应按下列规则为数据流图中的加工编号:●子图中的编号为父图号和子加工的编号组成。
●子图的父图号就是父图中相应加工的编号。
为简单起见,约定第1层图的父图号为0,编号只写加工编号1、2、3...,下面各层由父图号1、1.1等加上子加工的编号1、2、3...组成。
按上述规则,图的编号即能反映出它所属的层次以及它的父图编号的信息,还能反映子加工的处理信息。
例如1表示第1层图的1号加工处理,1.1、1.2、1.3...表示父图为1号加工的子加工,1.3.1、1.3.2、1.3.3...表示父图号为1.3加工的子加工。
为了方便,对数据流图中的每个加工,可以只标出局部号,但在加工说明中,必须使用完整的编号。
例如图5-4-5可表示第1层图的1号加工的子图,编号可以简化成图中的形式。
图5-4-5 简化子图编号示例2.注意子图与父图的平衡子图与父图的数据流必须平衡,这是分层数据流的重要性质。
这里的平衡指的是子图的输入、输出数据流必须与父图中对应加工的输入、输出数据流相同。
但下列两种情况是允许的,一是子图的输入/输出流比父图中相应加工的输入/输出流表达得更细。
例如,在图5-4-6中,若父图的“订货单”数据流是由客户、品种、帐号、数量四部分组成,则图中的子图和父图是平衡的。
在实际中,检查该类情况的平衡,需借助于数据词典进行。
二是考虑平衡时,可以忽略枝节性的数据流。
例如图5-4-6,在4号加工的子图中4.3号子加工中增加了一个输出,表示出错的数据流(由虚线所示),则子图和父图仍可看作是平衡的。
3.局部文件图5-4-7中的父图和子图是平衡的,但子图中的文件W并没在父图中出现。
这是由于对文件W的读、写完全局限在加工3.3之内,在父图中各个加工之间的界面上不出现,该文件是子图的局部文件或为临时文件。
图5-4-7 数据流图中的局部文件应当指出的是,如果一个临时文件在某层数据流图中的某些加工之间出现,则在该层数据流图中就必须画出这个文件。
一旦文件被单独画出,那么也需画出这个文件同其它成分之间的联系。
4.分解的程度对于规模较大的系统的分层数据流图,如果一下子把加工直接分解成基本加工单元,一张图上画出过多的加工将使人难以理解,也增加了分解的复杂度。
然而,如果每次分解产生的子加工太少,会使分解层次过多而增加作图的工作量,阅读也不方便。
经验表明,一般说来一个加工每次分解量最多不要超过七个为宜。
同时,分解时应遵循以下原则:●分解应自然,概念上要合理、清晰。
●上层可分解的快些(即分解成的子加工个数多些),这是因为上层是综合性描述,对可读性的影响小。
而下层应分解得慢些。
●在不影响可读性的前提下,应适当地多分解成几部分,以减少分解层数。
●一般说来,当加工可用一页纸明确地表述时,或加工只有单一输入/输出数据流时(出错处理不包括在内),就应停止对该加工的分解。
另外,对数据流图中不再作分解的加工(即功能单元),必须作出详细的加工说明,并且每个加工说明的编号必须与功能单元的编号一致。
三、数据流图的修改前面介绍了画数据流图的基本方法。
对于一个大型系统来说,由于在系统分析初期人们对于问题理解的深度不够,在数据流图上也不可避免地会存在某些缺陷或错误。
因此还需要进行修改,才能得到完善的数据流图。
这里介绍如何从正确性和可读性方面对数据流图进行改进。
1.正确性数据流图的正确性,可以从以下几个方面来检查:(1)数据守恒(2)文件使用在数据流图中,文件与加工之间数据流的方向应按规定认真标注,这样也有利于对文件使用正确性的检查。
例如,在图5-4-8中,因为文件1和文件2是子图的局部文件,所以在子图中应画出对文件的全部引用。
但子图中文件2好象一个“渗井”,数据只流进不流出,显然是一个错误。
图5-4-8 局部文件使用错误(3) 子、父图平衡造成子图与父图不平衡的一个常见原因是在增加或删除一个加工时,忽视了对相应父图或子图的修改。
在检查数据流图时应注意这一点。
(4) 加工与数据流的命名加工和数据流的名字必须体现被命名对象的全部内容而不是一部分。
对于加工的名字,应检查它的含义与被加工的输入/输出数据流是否匹配。
一个加工的输出数据流仅由它的输入数据流确定,这个规则绝不能违背。
数据不守恒的错误有两种,一是漏掉某些输入数据流,二是某些输入数据流在加工内部没有被使用。