《数据流程分析》PPT课件.ppt
5.6 数据流程分析,数据流程分析是把数据在组织中的流动过程抽象出来,专门考虑业务处理中的数据处理模式,以发现和解决数据处理中的问题。数据流程分析包括对数据的收集、传递、处理和存储等的分析。5.6.1 数据调查1.数据调查的内容收集原系统全部输入单据(如入库单、收据、凭证)、输出报表和数据存储介质(如账本、清单)的典型格式。弄清各环节上的处理方法和计算方法。在上述各种单据、报表、账本的典型样品上或用附页注明制作单位、报送单位、存放地点、发生频度(如每月制作几张)、发生的高峰时间及发生量等。,5.6 数据流程分析,在上述各种单据、报表、账册的典型样品上注明各项数据的类型(数字、字符)、长度、取值范围(指最大值和最小值)。2.数据的来源物流信息系统所涉及的数据可从以下途径调查得到:,5.6 数据流程分析,5.6 数据流程分析,5.6.2 数据流程分析的内容1.围绕系统目标进行分析 业务处理角度。分析正常信息处理中,需要哪些信息,哪些信息冗余,哪些信息暂缺有待于进一步收集。管理角度。分析信息的精度、及时性和处理区间,能否为预测、控制等定量分析提供信息支持等。2.信息环境分析 弄清数据来自哪个部门、用途,环境影响情况,层次信息结构等等。3.围绕现行业务流程进行分析 分析现有报表的数据 依据现有业务流程的改进,分析信息和信息流的改进,以及信息处理的新要求分析信息的产生方式,4.数据的逻辑分析 逻辑分析主要是对各种各样的信息梳理出不同的层次,根据需要提出相应的处理方法和存储结构。5.数据汇总分析 通过归纳和筛选,确定每个流程中实际数据流的内容和数据的处理方法及计算方法。6.数据特征分析 分析数据的类型以及长度、合理的取值范围、数据所属业务、数据业务量和数据重要程度和保密程度等。,5.6 数据流程分析,5.6 数据流程分析,5.6.3 数据流程图(Data Flow Diagram,DFD)1数据流程图的概念数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流程图能精确地在逻辑上描述系统的功能、输入、输出和数据存储等,而摆脱了其物理内容。2数据流程图的特征 抽象性 数据流程图完全舍去具体的组织机构、工作场所、人员、物质流,只剩下数据的存储、流动、处理、使用的情况。概括性 数据流程图把系统对各种业务的处理过程联系起来考虑,形成一个总体。,3数据流程图的常用符号,数据流表示数据信息的传输方向,用F标识。数据处理表示对数据的逻辑处理,即对数据的转换,用P标识。数据存储表示数据存储的地点,即数据存储的逻辑描述,用D标识。外部实体表示系统以外与系统有联系的人或事物,用S标识。,5.6 数据流程分析,4.绘制数据流程图的基本方法数据流数据流由一组确定的数据组成。例如“发票”数据流,它由品名、规格、单位、单价、数量等数据组成。数据流用带有名字的具有箭头的线段表示,名字称为数据流名,表示流经的数据,箭头表示流向。数据流可以从加工流向加工,也可以从加工流进、流出文件,还可以从源点流向加工或从加工流向终点。对数据流的表示有以下约定:对流进或流出文件的数据流不需标注名字,因为文件本身就足以说明数据流;而别的数据流则必须标出名字,名字应能反映数据流的含义。数据流不允许同名。两个数据流在结构上相同是允许的,但必须体现人们对数据流的不同理解。例如下图(a)中的合理领料单与领料单两个数据流,它们的结构相同,但前者增加了合理性这一信息。,5.6 数据流程分析,两个加工之间可以有几股不同的数据流,这是由于它们的用途不同,或它们之间没有联系,或它们的流动时间不同,如下图(b)所示。通常不允许数据双向流动。数据流程图描述的是数据流而不是控制流。如下图(c)中,“月末”只是为了激发加工“计算工资”,是一个控制流而不是数据流,所以应从图中删去。,(a),(b),(c),简单数据流图举例,5.6 数据流程分析,数据处理数据处理是对数据进行的操作,它把流入的数据流转换为流出的数据流。每个数据处理都应取一个名字表示它的含义,并规定一个编号用来标识该处理在层次分解中的位置。名字中必须包含一个动词,例如“计算”、“打印”等。数据的转换方式有两种:改变数据的结构,例如将数组中各数据重新排序;产生新的数据,例如对原来的数据总计、求平均等值。数据存储(文件)文件是存储数据的工具。文件名应与它的内容一致,写在开口长条内。从文件流入或流出数据流时,数据流方向是很重要的。如果是读文件,则数据流的方向应从文件流出,写文件时则相反;如果是又读又写,则数据流是双向的。在修改文件时,虽然必须首先读文件,但其本质是写文件,因此数据流应流向文件,而不是双向。,5.6 数据流程分析,例如:图中,检查合理性数据处理时,只从库存帐目数据存储中读出库存信息与领料单核对,所以数据流从数据存储流出,箭头指向加工。,外部实体(数据源或终点)外部实体表示数据的外部来源和去处。它通常是系统之外的人员或组织,不受系统控制。为了避免在数据流程图上出现线条交叉,同一外部实体均可在不同位置多次出现,这时要在外部实体符号的右下方画小斜线,或在数据存储符号左边画竖线,以示重复。,5.6 数据流程分析,5.分层数据流程图数据流程一般分为多个层次。根据层次数据流程图分为顶层数据流程图、中层数据流程图和底层数据流程图。除顶层数据流程图外,其他数据流程图从零开始编号。顶层数据流程图只含有一个数据处理表示整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。中层数据流程图是对父层数据流程图中某个数据处理进行细化,而它的某个数据处理也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂程度而定。底层数据流程图是指其数据处理不能再分解的数据流程图,其数据处理成为基本数据处理。,5.6 数据流程分析,6.绘制数据流程图的原则一般遵循“由外向里”的原则,即先确定系统的边界或范围,再考虑系统的内部;先画数据处理的输入和输出,再画数据处理的内部。绘制单张数据流程图应遵循以下原则:(1)一个数据处理的输出数据流不应与输入数据流同名,即使它们的组成成分相同。(2)保持数据守恒。即,一个数据处理所有输出数据流中的数据必须能从该数据处理的输入数据流中直接获得,或者说是通过该数据处理产生的数据。(3)每个数据处理必须既有输入数据流,又有输出数据流。(4)所有的数据流必须以一个外部实体开始,并以一个外部实体结束。(5)外部实体之间不应该存在数据流。,5.6 数据流程分析,7.数据流程图的绘制步骤(1)确定系统的输入和输出即确定系统的边界。在系统分析初期,系统的功能需求等还不很明确,为了防止遗漏,先将范围定得大一些,,把可能有的内容全部都包括进去。依据“系统从外界接受什么数据”、“系统向外界送出什么数据”等画出数据流程图的外围。(2)由外向里画系统的顶层数据流程图系统边界确定后,越过边界的数据流就是系统的输入或输出,将输入与输出用数据处理符号连接起来,并加上输入数据来源和输出数据去向,就形成了顶层图。(3)自顶向下逐层分解,绘出分层数据流程图一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流程图时,分解顶层流程图的系统为若干子系统,决定每个子系统间的数据接口和活动关系,并用数据流将这,5.6 数据流程分析,些子系统连接起来形成本层数据流程图。依次类推,对上一层的系统进行分解形成下一层数据流程图,直到数据流程图中的系统无法再分解时停止。8.绘制数据流程图的注意事项 命名一般应先给数据流命名,再根据输入/输出数据流名的含义为数据处理命名。名字含义要确切,要能反映相应的整体。若碰到难以命名的情况,则很可能是分解不恰当造成的。应考虑重新分解。画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,整个数据流程图不反映数据处理的执行顺序。一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。,5.6 数据流程分析,从左至右画数据流程图。通常左侧、右侧分别是外部实体,中间是一系列数据处理和数据存储。每个数据处理至少有一个输入数据流和一个输出数据流,反映出此数据处理数据的来源与加工的结果。编号。如果一张数据流程图中的某个数据处理分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。编号是用字母和数字表示不同的符号,例如:表示第三子系统第一层图的第二个数据处理。父图与子图间要注意平衡。子图的输入输出数据流必须与父图中相应数据处理的输入输出数据流一致。局部数据存储。即当某层数据流程图中的数据存储不是父图中相应数据处理的外部接口,而只是本图中某些数据处理之间的数据接口。,5.6 数据流程分析,提高数据流程图的易懂性。注意合理分解,要把一个数据处理分解成几个功能相对独立的子数据处理,这样可以减少数据处理之间输入、输出数据流的数目,增加数据流程图的可理解性。画数据流程图是一项艰巨的工作,要做好重画的思想准备。重画是为了消除隐患,有必要不断改进。9.数据流程图的作用(1)系统分析员用这种工具自顶向下分析系统信息流程;(2)可在图上画出计算机处理的部分;(3)根据逻辑存储,进一步作数据分析,可向数据库设计过渡;(4)根据数据流向,定出存取方式;(5)对应一个处理过程,可用相应的程序语言来表达处理方法,向程序设计过渡。,5.6 数据流程分析,举例:某电脑配件公司的数据流程分析,5.6 数据流程分析,5.6 数据流程分析,5.6 数据流程分析,数据流程图可通过基本符号直观地表示系统的数据流动、数据处理、数据存储等过程,但它不能表达每个数据和数据处理的具体、详细的含义,这些信息需要用“数据字典”和“数据处理逻辑说明”来描述。,5.6 数据流程分析,5.7 数据字典,数据字典主要是对数据流程图的补充说明,即对数据流程图中的数据、数据流、数据存储、数据处理和外部实体等加以定义,以保证系统数据的一致性和准确性。数据流程图配以数据字典,可从图形和文字两方面对系统的逻辑模型进行完整的描述。1数据字典的定义数据字典,是在新系统数据流程图的基础上,进一步定义和描述所有数据的工具,包括对一切动态数据(数据流)和静态数据(数据存储)的数据结构和相互关系的说明。它是数据分析和数据管理的重要工具,也是系统设计阶段进行数据库(文件)设计的参考依据。数据字典是一种表格,它把数据的最小单位看成是数据项,若干个数据项可以组成一个数据结构。数据字典通过数据项和数据结构来描述数据流和数据存储的属性,它们之间的关系是:数据项组成数据结构,数据结构组成数据流和数据存储。,5.7 数据字典,2数据字典的组成数据字典有6类条目:数据项、数据结构、数据流、数据处理、数据存储和外部实体。(1)数据项(数据元素)是数据的最小单位。分析数据特性应从静态和动态两个方面去进行。在数据字典中,仅定义数据的静态特性,具体包括:(1)数据项的名称、编号、别名和简述;(2)数据项的长度;(3)数据项的取值范围。,5.7 数据字典,(2)数据结构数据结构描述某些数据项之间的关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。例如下表所示订货单就是由三个数据结构组成的数据结构,表中用DS表示数据结构,用I表示数据项。,5.7 数据字典,5.7 数据字典,数据字典中对数据结构的定义包括以下内容:(1)数据结构的名称和编号;(2)简述;(3)数据结构的组成。如果是一个简单的数据结构,只需列出它所包含的数据项。因为这些被包含的数据结构在数据字典的其他部分已有定义。,5.7 数据字典,5.7 数据字典,(3)数据流数据流由一个或一组固定的数据项组成。定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。,5.7 数据字典,(4)数据处理数据处理的定义仅对数据流程图中最底层的数据处理加以说明。定义数据处理时,要说明数据处理的编号、名称、功能的简要说明,以及有关的输入、输出。对于数据处理功能的详细描述需用“数据处理逻辑说明”。,5.7 数据字典,5.7 数据字典,(5)数据存储数据存储在数据字典中只描述数据的逻辑存储结构,而不涉及它的物理组织。,5.7 数据字典,(6)外部实体外部实体描述了数据流入、流出和数据处理发生的地点,以及有关的主体,它的定义包括:外部实体编号、名称、简述及有关数据流的输入和输出。,5.7 数据字典,5.8 处理逻辑的表达工具,对于数据流程图中简单的数据处理功能可用数据字典进行描述,但对于复杂的数据处理功能只能用表达数据处理逻辑(加工说明)的工具才能加以详细说明。用于表达数据处理逻辑的工具有决策树、决策表和结构化英语表示法。1决策树(decision tree)决策树(也称判断树、判定树)是一种用来表示不同决策方案的直观方法,它可以描述一个功能模块的逻辑处理过程。决策树用“树”来表达不同条件下的不同处理,比较直观,容易理解,但当条件多时,不容易清楚地表达出整个判别过程。,用于查找产品并计算金额的决策树,以说明对不同交易额、不同信誉、不同交易时间的顾客所采取的不同优惠政策,5.8 处理逻辑的表达工具,5.8 处理逻辑的表达工具,2决策表(Decision Table)决策表(也称判断表)是采用表格方式来描述数据处理逻辑的一种工具,便于表达复杂条件下的多元逻辑关系,可清楚地表达决策条件、决策规则和应采取的行动之间的关系。决策表实际上是决策树的另一种表达方式。决策表的缺点:建立过程复杂,不如决策树直观方便。,左上角为条件说明;左下角为行动说明;右上角为各种条件的组合说明;右下角为各条件组合下相应的行动。下面我们用例子来说明如何使用判定表。,5.8 处理逻辑的表达工具,5.8 处理逻辑的表达工具,决策表是根据条件组合进行判断的,上面表格中每个条件只存在“Y(是)”和“N(非)”两种情况,所以3个条件共有23=8种可能性。在实际使用中,有的条件组合可能是矛盾的,需要剔除,有的则可以合并。因此需在原始判定表的基础上进行整理和综合,才能得到简单明了且实用的判定表。同时,在整理过程中还可能对用户的原有业务过程进行改进和提高。,其中:“”表示“Y”或“N”均可,5.8 处理逻辑的表达工具,3结构英语表示法(伪码)结构英语表示法是一种模仿计算机语言的处理逻辑描述方法,它借助程序设计的基本思想,使用由“IF”、“THEN”、“ELSE”、“AND”、“OR”、“NOT”等词组成的规范化语言完成对数据处理过程的描述,包括顺序、选择和循环三种基本结构。下面是处理用户订货单逻辑过程:IF 年交易额 5万元 IF 欠款数=0 THEN 折扣率=15%ELSE IF 与本公司交易期限=20 年 THEN 折扣率=10%ELSE 折扣率=5%ELSE 折扣率=0%,5.8 处理逻辑的表达工具,4三种数据处理逻辑表达工具的比较 结构化英语表示法最适用于顺序结构和循环结构的执行操作。决策表和决策树适用于多个条件复杂组合的判断问题。决策树比决策表直观易读,决策表进行逻辑验证比较严格,能把所有的可能性全部都考虑到。使用时,可将决策表和决策树结合起来,先用决策表坐底稿,在此基础上产生决策树。,5.8 处理逻辑的表达工具,