1、 数据流程图(DFD),周国华 屏东商业技术学院会计系2007 Autumn,2,DFD:功能,数据流程图(Data Flow Diagram, DFD)描述数据在系统内的子系统之间、系统与外部之间、组织内各部门之间、或组织与外部之间的流动情形,以及数据来源(source)、去向(destination)及储存处(data store)。 DFD是结构化系统分析及设计(SSAD)所使用的标准描述工具之一。,3,DFD:符号,DFD用以下四种符号描述数据的流动:以上四种符号,在不同教科书或应用领域中常有不同的变异,但基本概念则相同。,4,DFD:层次,按照描述的繁简程度,DFD可分为以下几个层级
2、: 背景图(context diagram):是DFD中最简单、最上层的图,通常用一个bubble代表所描述的系统,再加上两个方形符号表示系统之外的数据来源及去向。 第0阶(level 0)DFD:将上述单一bubble分解成1.0、2.0、3.0 等数个子系统。 再细分:将上述子系统进一步分解成1.1、1.2、2.1、2.2、3.1、3.2、3.3 等子系统。,5,背景图,背景图的通用样式如下:,6,第0阶DFD图,第0阶DFD图的通用样式如下:,7,再细分准则:流入流出一致,无论是将背景图分解成第0阶图、或是将第0阶图做进一步细分,必须遵守流入与流出上下层一致原则。英文称之为a set o
3、f balanced DFDs。 以前述二图为例,背景图所描述的系统有数据A流入、数据B流出;第0阶图也必须遵守数据A流入(系统1.0)、数据B流出(系统3.0)。 若要进一步细分,则系统1.0的子系统必须一进二出、系统2.0的子系统必须一进一出、系统3.0的子系统必须二进一出,且流入流出的数据必须与上一层相同。,8,再细分范例,右图为前述系统1.0再细分后之样式:,9,DFD:类型,DFD可按数据及程序的描述方式分成两种类型: 实体数据流程图(physical DFD):此图中,资料有具体的名称;bubble是处理数据的人、地、物等个体(entity),以名词表示。 实体DFD描述系统的基础
4、架构,可回答如何做(how)、在哪做(where)、谁来做(by whom)等问题。 逻辑数据流程图(logical DFD):此图中,资料是泛称;bubble代表处理数据的程序(process),以动词表示。 逻辑DFD描述系统的各项作业,可回答做什么(what)这项问题。,10,DFD:Logical vs. physical,长期而言,系统做什么(what)的答案比较稳定,但系统如何做(how)、在哪做(where)、谁来做(by whom)的答案则会随着时间及技术改变。 在建置新系统时,通常会先绘制现有系统及新系统的logical DFD,以提供使用者新旧系统的比较信息;然后再根据新系统的logical DFD,绘制physical DFD。,Logical DFD 范例,11,Physical DFD 范例,12,编制DFD的前置作业,DFD可提供开发者及使用者了解特定系统的数据流,但DFD的绘制者必须先了解特定系统的现行或修正后流程,才能绘制出正确的DFD。 欲了解特定系统的现行及修正后流程,通常必须由系统开发小组与使用单位人员进行密集访谈,取得使用单位对现行系统之流程及拟修正之流程的完整文字叙述。,13,