结构化方法及其数据流图绘制方法
一、概念理解
基本释义
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
进一步理解
数据流程图是结构化系统分析的主要工具。结构化系统分析采用自顶向下、逐层分解的方式来理解一个复杂的系统,用介于形式语言和自然语言之间的描述方式,通过一套分层次的图表工具描述系统。数据流程图描述数据流动、存储、处理的逻辑关系,它不但可以表达数据在系统内部的逻辑流向,而且还可以表达系统的逻辑功能和数据的逻辑转换。数据流程图的绘制是针对每一项业务的业务流程图进行的。绘制数据流图的方法有多种。但无论采用哪种方法,都应该从现行的系统出发,由总体到部分,由粗到细逐步展开,将一个复杂的系统逐
步地加以分解,画出每一个细节部分,直到符合要求为止。
二、正确绘制流程图应遵循的原则
自顶向下分层展开绘制
对一个庞大而又复杂的系统,如果系统分析员一开始就注意每一个具体的逻辑功能,很可能要画出几百个甚至上千个处理逻辑。它们之间的数据流像一团乱麻似的分布在数据流程图上。这张图可能很大,要用几百张纸拼起来,不但使别人难以辨认和理解,甚至连系统分析员自己也会搞糊涂。为了避免产生这种问题,最好的解决办法就是“自顶向下”分层展开绘制。先用少数几个处理逻辑高度概括地、抽象地描述整个系统的逻辑功能,然后逐步地扩展,使它具体化。即将比较繁杂的处理过程当成一个整体处理块来看待,先绘制出周围实体与这个整体块的数据联系过程,再进一步将这个块展开。如果内部还涉及到若干个比较复杂的数据处理部分,同样先不管其内部,而只分析它们之间的数据联系,这样反复下去,依此类推,直至最终搞清了所有的问题为止。
由左至右地绘制
绘制数据流程图,一般先从左侧开始,标出外部项。左侧的外部项,通常是系统主要的数据输入来源,然后画出由该外部项产生的数据流和相应的处理逻辑,如果需要将数据保存,则在数据流程图上加上数据存储。最后在数据流程图的右侧画出接受系统输出数据的外部项,右侧的外部项是系统数据的输出去向。
合理进行编号
常用数字对分层数据流程图进行编号,例如,顶层称为0层,称它是1层的父图,而1层是0层的子图,依次类推,子图是父图中某个加工的分解图。同时称父图中被分解的那个加工为子图中每一个加工的父加工,称子图中的每一加工为父图中被分解的那个加工的子加工。由于父图中有的加工可能就是功能单元,不能再分解,因此父图拥有的子图数少于或等于父图中的加工个数。
因为子图中每一加工是相应父图中某一加工的再分解,为了在数据流程图中能清楚地看到这种关系,应该在给子加工编号时,把父加工的编号作为子加工编号的一部分。一般情况下,每一个子加工的编号由三部分组成:父加工号、连接号、局部号。局部号是指子图中每一子加工的相对编号,父加工号仍可以由它的父加工号、连接号和局部号组成。这是因
为在层次数据图中,父加工、子加工都是相对而言的。
父图与子图的平衡
子图与父图的数据流必须平衡,这是分层数据流程图的重要性质。这里的平衡指的是子图的输入、输出数据流必须同父图对应加工的输入、输出数据流相一致。如果子图中某些输入或输出数据流比父加工中描述得更详细,那么这个子图不仅是在对父加工进行分解,而且同时在对数据流进行分解,这是允许的。
此外,正确绘制数据流程图,要与程序流程图相区别,前者不反映时间的顺序,只反映数据的流向、自然的逻辑过程和必要的逻辑数据存储,而后者有严格的时间顺序。同时,绘制数据流程图还要尽量避免线条的交叉,必要时可以用重复的外部项和重复的数据存储符号。数据流程图中各种符号布局要合理、清楚,分布要比较均匀。
三、数据流程图的基本符号
数据流程图由四种基本符号组成,即外部项、数据流、处理逻辑和数据存储。
外部项
外部项是指处在系统以外,不受系统控制的事物、人或部门。例如:客户、经理、财务科、销售处等,当然,外部项也可以是另外一个信息处理系统。在数据流程图中,外部项表达了系统数据的外部来源或去处。
外部项是用一个正方形,并在其上方和左方各加一条线表示。在正方形内写上这个外部项的名称。为了区别于其他的外部项,可以在正方形内部左上角用一个字符表示。考虑到数据流图的整洁、美观,应该尽量避免线条交叉,采取的措施就是让同一个外部项在一张图上出现多次。为了表示一个外部项在该图上的重复出现,可在外部项的图示右下角画小斜线。外部项的表示如图1所示。
图1 外部项图示
数据流
数据流的符号是一个水平或垂直的箭头,它指出了数据流动的方向。一般采用单向箭头,有时也可用双向箭头。
数据流的来源可以是某一个外部项,也可以是一个处理逻辑,还可以是某一个数据存储。一般将数据流的名称写在数据流箭线的上方。对一些来源清楚、含义明显的数据流,可以不在箭线上标出名称。如图2所示。
图2 数据流图示
处理逻辑
又称为处理功能,处理逻辑表达了对数据的逻辑处理功能,也就是对数据的变换功能。
处理逻辑由一个长方形表示,处理逻辑符号由三部分组成:标识部分、功能描述部分和功能执行部分。标识部分用于唯一地标识出这个处理逻辑,以区别于其他处理逻辑,一般用数字或字母数字表示。功能描述部分是必不可少的,它用非常简单的一句话,直接表达出这个处理逻辑要做的事,也就是它的逻辑功能是什么。一般是一个动宾词组,例如编辑订货单、查询库存量、计算金额等。功能执行部分表示的是处理逻辑的执行者,可以是人,
也可以是部门,这是一个说明部分,不是必需的。如图3所示。
图3 处理逻辑图示
数据存储
数据存储表示数据保存的地方,这里“地方”并不是指保存数据的物理地点或物理介质,而是指数据存储的逻辑描述。
数据存储用一个右边开口的长方形表示。在长方条内部写上该数据存储的名称,为了区别和引用方便,再加上一个标识,用字母D和数字组成。同外部项一样,为避免数据流的交叉,在一张数据流图上重复出现相同的数据存储,采取在重复出现的数据存储符号的左侧再加上一条竖线的方式,如图4所示。
图4 数据存储图示
四、数据流图的画法
第一步,画子系统的输入输出
把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。
第二步,画子系统的内部
流程图转换为ns图把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论