1DFD(数据流图)(2006-09-0214:46:15)转载分类:精品转载3.3数据流图(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流程图的实例2逻辑模型的工具-数据流图DFD责任编辑:李倩作者:cnblogs2008-12-05【内容导航】第1页:数据收集、分析第2页:画分层数据流图时应注意的问题第3页:加工说明文本Tag:UML【IT168技术文章】逻辑模型的工具——只反映信息在系统中流动和处理情况的图称为数据流图,它是描述系统逻辑模型的工具之一。数据流图(DataFlowDiagram,简称DFD)是便于用户理解系统数据流程的图形表示。它能精确地在逻辑上描述系统的功能、输入、输出和数据存贮等,而摆脱了其物理内容。数据流图是系统逻辑模型的重要组成部分。系统分析阶段必须进行全面准确的收集、整理、分析收集的数据及其流程。一、数据收集数据收集工作量很大,故要求系统研制人员应具备经营管理的素质,耐心细致地深入实际,配合业务人员收集与系统有关的一切数据。1.数据收集的渠道现行的组织机构;现行系统的业务流程;现行的决策方式;各种报表、报告、图示。2.数据的来源(1)组织的正式报告(对于手工系统而言):各种卡片、报表;会议决议。(2)现行系统的说明性文件(对于已局部计算机化了的系统而言):各种流程图;计算机文件(数据库)系统的数据组织结构。(3)组织外的数据来源:上级下达的各种文件和各项任务指标;与本单位密切相关的其它单位的有关信息。3.收集数据的方法(1)查阅档案:到各个科室按收集数据的类型,查阅档案材料。有时候没有现成的档案,系统分析员就要帮助这些部门建立档案材料。如一个企业的各种报表应该汇编成册,每张报表编上号,注明用途、填报单位、报送单位、月用量、年用量等。如果企业没有做这方面的工作,我们只好自己动手去收集这些报表,编成册,统一标号,调查各种使用情况,作为技术档案资料保存起来,以备日后查阅。(2)面谈调查:对各级管理人员和工作人员要自上而下地进行访问。调查有关系统总貌、系统目标、环境约束、近年内信息的需求情况,以及他们对现有信息系统的看法(包括有哪些信息是多余的,有哪些或哪方面的信息是急需补充和加强的等等)。(3)发调查表:对于要作普遍调查的问题,可以发调查表进行调查。(4)测定:有些数据,如业务的吞吐量、各项工作的时间和费用要实测一段时间。(5)采样:对于大规模的统计,因不可能收集到数据的全部,可以采用抽样的办法解决。抽样的方式有随机抽样和系统抽样两种,它们的区别在于是不是按一定的规则来抽取样本。样本的大小应根据抽样理论和实际要求来确定。(6)实际动手:深入实际,亲自动手参加信息的处理工作,这样能加深体会,对我们今后的工作是很有帮助的。4.数据调查内容输入信息:输入信息名称;使用目的;搜集方式;发生周期;信息量;编码方式;保存期;相关业务;使用文字;其它。输出信息:输出信息名称;使用单位;使用目的;发行份数;发送方法;使用文字;输出时间;输出方式;其它。信息处理过程:处理内容;处理周期;处理方法;处理时间;处理场所;其它。存储方式:文件名称;保管单位;保存时间;总信息量;保密要求;使用频率;删除周期;追加周期;增加、删除比率。代码信息:代码名称;分类方式;编码方式;使用目的;起始码;终止码;未使用码;贝码率;追加或废弃频率;其它。信息需求:所需信息名称;需求目的;需求单位;需求者;时间和期限;所需信息的形式;信息表达的要求。二、数据分析收集上来的数据是“原材料”,其中有些数据不能用作系统设计的依据,要把这些原材料加工成系统设计可用的资料,就必须做数据的分析工作。数据分析包括以下几个方面:1.围绕系统目标进行分析(1)从业务处理角度来看。为了满足正常的信息处理业务,需要哪些信息,哪些信息是冗余的,哪些信息暂缺,有待于进一步收集。(2)从管理角度来看。为了满足科学管理的需要,应该分析这些信息的精度如何,能否满足管理的需要;信息的及时性如何,可行的处理区间如何,能否满足对生产过程及时进行处理的需求;对于一些定量化的分析(如预测、控制等)能否提供信息支持等等。2.弄清信息源周围的环境对数据进行分析就必须分清,这些信息是从现存组织结构中哪个部门来的,目前用途如何,受周围哪些环境影响较大(如有的信息受具体统计人员的计算方法影响较大;有的信息受检测手段的影响较大;有的受外界条件影响起伏变化较大),它的上一级(或称层次)信息结构是什么,下一级的信息结构是什么等等。3.围绕现存的业务流程进行分析围绕现存的业务流程进行分析包括:(1)分析现有报表的数据是否全面,是否满足管理的需要,是否正确反映业务实物流。(2)分析业务流程,现存的业务流程有哪些弊病,需要做出哪些改进;做出这些改进以后对信息与信息流应该做出什么样的相应改进,对信息的收集、加工、处理有哪些新要求等等。(3)根据业务流程分析,哪些信息是多余的,哪些是系统内部可以产生的,哪些需要长期保存。4.数据特征分析数据特征分析是下一步设计工作的准备工作。特征分析包括以下几方面的内容:(1)数据的类型以及长度是数字型还是字符型,是定长的还是变长的,长度多少(字节数),以及有何特殊要求(如精度、正负号)等等。(2)合理的取值范围这对于将来设计校验和审核功能都是十分必要的。(3)数据所属业务哪些业务要用到这个数据。(4)数据业务量每天、每周、每月的业务量(包括平均数量、最低的可能值、最高的可能值)以及要存储的量有多少,要输入、输出的频率有多大。(5)数据重要程度和保密程度重要程度即对于检验功能的要求有多高,对后备储存的必要性如何。保密度即是否需要有加密措施,它的读、写、改、看权限如何等等。三、数据流图(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重复的源点、终点或文件由上图可见,数据流图可通过基本符号直观地表示系统的数据流程、加工、存贮等过程。但它不能表达每个数据和加工的具体、详细的含义,这些信息需要在“数据字典”和“加工说明”中表达。