《数据流程图(dfd)与e-r图的绘制方法》由会员分享,可在线阅读,更多相关《数据流程图(dfd)与e-r图的绘制方法(35页珍藏版)》请在金锄头文库上搜索。
1、3 数据流程图(DFD)与E-R图的绘制 3.1 开发数据流程图 数据流程图(DFD)是一种图形化的系统模型,它在一张图中展示信息系统的主要需求,即:输入、输出、过程和数据存储。它描述了数据流动、存储、处理的逻辑关系。,外部项名称,外部项,数据流,数据流名称,数据存储名称,数据存储,功能描述,处理功能,基本图例如下:,EX1:请根据以下销售过程画出数据流程图:用户将定货单交给某企业的业务经理,经检验后,对不合格的订单要由用户重填,合格的订单交仓库保管员做出库处理,即:查阅库存台帐,如果有货则向用户开票发货,如缺货,则通知采购员采购。,EX2:请根据以下定货过程画出数据流程图:采购员从仓库收到缺
2、货通知单后立即进行定货处理,即,查阅订货合同单,若已定货,则向供货单位发出催货单,否则,填写定货单送供货单位。供货单位发运货物后,立即向采购员发出取货通知。,EX3:请根据以下储蓄所存款过程画出数据流程图:储户将填写好的存款单、存折和存款交储蓄所,查对储户帐,将不合格的存款单退给储户重填,合格的存款单交存款处理,处理时要修改储户帐,并将存折交还储户,而将存款放入现金库。,EX4:某仓库管理系统按以下步骤进行信息处理,试画出数据流程图。 (1) 保管员根据当日的出库单和入库单通过出、入库处理去修改库存台帐。 (2) 根据库存台帐由统计、打印程序输出出库日报表。 (3) 需要查询时,可利用查询程序
3、在输入查询条件后 ,到库存台帐去查找,显示查询结果。,注意: (1)数据流程分析采用自顶向下逐层分解的方法,通过分析绘制分层的数据流程图(data flow diagram,DFD)来进行系统分析。 (2)DFD由顶层图、一级细化图、二级细化图等一组图构成。在顶层图中,将系统视为由一个处理功能所构成的系统;一级细化图是对顶层图处理功能的分解与细化。,怎样画DFD,了解DFD的特性 画分层DFD,1) DFD的特性,与程序流程图不同,DFD不表示程序的控制结构,只描述数据的流动 DFD分成多层(子图、父图概念)表示, 从而逐步展开数据流和功能的细节。,S,2,1,3,2.2,2.1,2.3,3.
4、1,3.2,顶层,1层,2层,(基本系统模型),(系统的子功能),DFD的分层表示,2) 画分层DFD,(1)先画出顶层DFD (2)自顶向下画出各层DFD 分解原则: 分解后的软件成分有相对独立功能 一次分解不要加入细节过多,3) 画分层DFD的指导原则,(1)父图-子图平衡 (2)编号 (3)分解的程度,父图-子图平衡,父图-子图平衡: 模型分解时必须保持父图的输入输出数据流和子图输入输出数据流相同。,缺少C,处理编号,处理的编号原则: 子图图号为分解的父图中的处理号, 同级子图在最后数字以序号区别。,S,2,1,3,2.2,2.1,2.3,3.1,3.2,顶层 (不编号),1层,2层,分
5、解的程度,分解的深度与层次: 按功能情况定,一般设深度为3-5; 如超过5个加工最好分解画,否则容易出错。,某订货系统功能说明如下: 假设某一企业采购部门每天需要一张订货报表,报表按材料编号排序,报表中列出所有需要再次订货的材料。对于每种需要再次订货的材料应列出下列数据:材料编号、名称、订货数量、目前价格(或参考价格)、主要供应单位、第二供应单位等。材料入库或出库称为事务,通过放在仓库的CRT终端把事务报告给订货系统。当某种材料的库存数量少于库存量临界值时就应该再次订货。,应用举例一,如何画出上述订货系统的数据流程图呢? 考虑数据的源点和终点:从上面对系统的描述可以知道,仓库管理员通过终端把事
6、务报告给订货系统,系统经过汇总处理,每天向采购部提供一张订货报表。所以,采购员是数据的终点,而仓库管理员是数据的源点。,考虑处理:问题给出“采购部需要报表”,因此必须有一个用于产生报表的处理。输入事务的结果是改变材料库存量,然而任何改变数据的操作都是处理,因此对事务进行的加工是另一个处理。 考虑数据流:系统把订货报表送给采购部,因此订货报表是一个数据流;仓库需要将每笔事务输入到系统中,显然事务是另一个数据流。,考虑数据存储:从问题的阐述中,可以看出产生报表和处理事务这两个处理在时间上明显不匹配,每当有一个事务发生时就必须立即处理事务,而每天只产生一次订货报表。因此,用来产生订货报表的数据必须存
7、放一段时间,也就是应该有一个数据存储。另外,“当某种材料的库存数量少于库存量临界值时就应该再次订货”,这个事实意味着必须在某个地方有材料库存量和库存量临界值这样的数据。因此,需要有一个保存清单的数据存储。,一旦把数据流程图中的四种成份都分离出来之后,就可着手绘制系统的数据流程图了。数据流程图的绘制也是采用自顶向下的方法,由粗到细,逐层细化,最后形成一套完整的拟建系统的数据流程图。,数据流图,购书单,教材购销系统,教材购销系统的顶层DFD,学生,领书单、无效购书单,缺书单,进书单,书库保 管员,应用举例二,购书单,缺书单,销售 教材,采购 教材,1,2,第一层DFD 教材购销系统,教材存量表,学
8、 生,D1,缺书登记表,D2,书库 保 管 员,进书单,教材入 库信息,领书单、无效购书单,1.2,第二层DFD 销售子系统(1.0),无效 书单,教材存量表,D1,开发票,D2,缺书登记表,学生,各班学生用书表,D3,售书登记表,D4,1.1,审查 有效性,1.3,登记并 开领书单,学生,1.5,补售 教材,1.4,登记缺书,购书单,发票,领书 单,有效 购书单,教材入库信息,按书号 汇总缺书,2.1,2.3,第二层DFD 采购子系统(2.0),待购教材表,D5,教材一览表,D6,书库 保 管 员,进书单,教材存量表,D1,2.2,按出版社 统计缺书,修改教材库 存和待购量,D2,缺书登记表,缺 书 单,教材入库信息,开发数据流程图时的注意事项: (1)上层数据流程图与下层数据流层图的平衡; (2)对图中各元素加以编号 P-处理, D-数据存储, F-数据流, .-流程图的层次 (3)图中只有数据流,无控制流 只考虑加工之间的数据流动,(4)数据流程图的核心是“处理功能”处理数据流。,3.2 开发E-R图,传统的系统开发方法都把重点集中在新系统的数据存储需求上,而数据存储需求包括数据实体、数据实体的属性以及它们之间的关系。我们采用E-R图来定义数据存储需求的模型。 在E-R图中矩形代表数据实体,连接矩形的直线代表数据实体间的关系。,