(一)数据流图基本符号1、外部实体2、数据流3、处理4、数据存储编号、名称文件名称编号实体名编号处理名称各种符号的形状有多种方案,可以选用。实体名编号处理名称1、外部实体外部实体:位于系统之外的信息提供者或使用者。说明数据输入的源点(数据源)或数据输出的终点(数据终点)。外部实体可用来明确系统和环境的界限!同一个外部实体可以在一张数据流程图中出现若干次。实体名2、数据流表示数据和数据流向,由一项或一组固定成份的数据组成,如“选课单”由“学号、姓名、课程编号、课程名称”等成分组成。数据流的命名用名词,不要使用意义空洞的名词;尽量使用现实系统已有名字。编号、名称数据流有时是很明显的,这时可以省略,不需要描述数据流!经理编制财务报表编制财务报表财务报表经理数据流名称的表示处理与数据流数据流举例外部实体向系统输入数据系统向外部实体输出数据数据存储与数据流统计学籍变动领导数据存储名称编号审核学籍卡学籍卡学生合格订货单编辑订货单计算应收款订货单举例:某公司的顾客可能寄来订货单、支票、退货请求,或询问某件事,如果把这些数据全部表达出来,这个数据流程图就不好看。顾客处理顾客事务订货单支票退货单询问举例:多个数据流的表示订货单顾客处理顾客事务支票退货单询问顾客事务第一种解决方法:举例:多个数据流的表示顾客订货单支票退货单询问编辑订货单开收据处理询问退货分析处理举例:多个数据流的表示第二种解决方法举例:储户到储蓄所去存(取)款时,要将填写好的存(取)单与存折交给营业员,营业员处理完这笔业务后,把存折交给储户。储户业务处理存(取)单存折存折帐目D0举例:多个数据流的表示若把“存取单”与“存折”这两个平行且方向相同的数据流合并为“存取要求”,则可以减少一个数据流,数据流程图更简单好读一些!储户业务处理存取要求存折帐目D0举例:多个数据流的表示3、处理处理又称功能,表示对数据进行的操作,把流向它的数据进行一定的变换处理,产生新的数据。如“处理选课单”、“产生发票”等。处理的命名(描述)尽量最好使用动宾词组,一个动词加一个名词;不要使用空洞的动词。编号描述部门P1输入数据录入员P2打印报表人事处计算工资P3财务处P4打印P5工资╳╳√√√3、处理编号处理名称功能执行者处理的命名(描述):最好使用动宾词组,一个动词加一个名词。编号功能描述功能执行者P1功能描述功能执行者P1.1功能描述功能执行者P1.1.1功能描述功能执行者P1.1.2功能描述功能执行者处理的编号:处理的唯一标识,可用数字表示,也可用P加数字表示,应表示出它的层数,P1;P1.1;P1.2;P1.1.13、处理编号功能描述功能执行者处理的执行者(部门):表示功能由谁来完成,可以是人、部门或是程序,也可以没有。处理必须同时有输入和输出的数据流。3、处理计算利润P456P4.1编制月报财务处P5计算利润P456P4.1?每个处理至少有一个输入数据流和一个输出数据流!!常见错误处理没有输出!数据源没有输入!处理数据终点4、数据存储数据存储是指通过数据文件、文件夹和账本等存储数据,如“学生档案”、“库存台帐”等;为了避免线条的交叉,同一个数据存储可以出现若干次。名称编号统计员记录考勤职工考勤D1计算工资职工数据存储:是数据的“保存处”和“中转站”!可以避免处理和处理之间的直接箭头联系,这样能提高每个处理的独立性。4、数据存储举例:多个数据存储教师统计成绩分析期末成绩登记期末成绩分析补考成绩登记补考成绩期末成绩领导学生动态管理学籍表D1D1学籍表D1学籍表期末成绩通知单留退名单补考成绩留退名单数据流必须要么从某个处理流出、要么流入某个处理,而不能与处理无任何关系。常见错误实体实体数据存储数据存储实体数据存储数据存储实体二、数据流图(一)数据流图基本符号(二)数据流图的绘制(二)数据流程图绘制为了提高规范化程度,有必要对图中各个元素加以编号。通常在编号之首冠以字母,用以表示不同的元素,可以用P表示处理,F表示数据流,D表示数据存储,S表示外部实体。例如:P3.1.2表示第三子系统第一层图的第二个处理(二)数据流程图绘制绘制数据流图是一个迭代的过程!逐步反复修改完善的过程!数据流程图是分层次的,绘制时采取自顶向下逐层分解的办法。先画关联图,只需说明(子)系统总的处理功能、输入和输出。再将关联图的处理分解,分解为更多的处理组成的下一层流程图。p2132.22.12.33.13.2关联图1层2层关联图(即顶层DFD),非常概括地反映出信息系统最主要的逻辑功能、外部实体、输入和输出数据流、数据存储。内容应尽可能少,使人立即知道系统的主要功能和组成部分。举例:绘制关联图RSF1F2F3处理ABCDP数据来源系统处理数据去向举例:销售子系统的关联图发货单订货单用户P1销售处理p2132.22.12.33.13.2关联图1层2层逐层分解DFD!扩展上一层的处理,功能越来越具体,数据存储、数据流就越来越多。适中的分解速度!p2132.22.12.33.13.2关联图1层2层保持m进n出!上下两层处理的输入和输出数据流必须对应,随着逐层扩展,输入和输出数据流、外部项通常会增加。举例:处理的逐层分解RSF1F2F3处理ABCDP每一步分解都是将一个整体分成几个大的部分,不需太细!一层DFDRSF1F2F3文件AD1文件BD2处理ABP1处理CDP2举例:处理的逐层分解RSF1F2F3处理ABCDP关联图二层DFD举例:处理的逐层分解RSF1F2F3文件AD1文件BD2处理AP1.1文件CD3处理BP1.2处理CP2.1处理DP2.2P1P2三层DFD举例:处理的逐层分解SF3文件CD3处理DP2.2.2文件DD4处理DP2.2.1P2.2举例:订货子系统的关联图发货单订货单用户P1订货处理举例:订货处理的第一层DFD用户D2(订货单)D3(订货单)D1(订货单)订货单发货票订货单信用手册付款通知单发货票发货票库存帐待付款订货单有货再发货订货单订货单存档仓库财务科P2.1判定订货处理方式P2.2开发货票P2.3开付款通知单案例练习(一)订货系统的数据流图订货系统功能说明:采购部每天需要一张订货报表,报表按材料编号排序,报表中列出需要再次订货的材料。对于需要再次订货的材料应列出下列数据:材料编号、名称、订货数量、参考价格、主要供应单位、第二供应单位等。材料领用称为事务,通过放在仓库的CRT终端把事务输入到订货系统。当某种材料的库存数量少于库存量临界值时就应该再次订货。举例:订货系统的DFD练习1:先画出订货系统的业务流程图业务流程图的常用符号业务处理单位单证、报表信息传递过程业务处理功能数据/文件存档分析系统功能说明:采购部每天需要一张订货报表,报表按材料编号排序,报表中列出需要再次订货的材料。对于需要再次订货的材料应列出下列数据:材料编号、名称、订货数量、参考价格、主要供应单位、第二供应单位等。材料领用称为事务,通过放在仓库的CRT终端把事务输入到订货系统。当某种材料的库存数量少于库存量临界值时就应该再次订货。先绘制业务流程图订货业务流程图采购部材料领用(事务)订货报表仓库库存信息库存更新统计订单库存临界值订单信息业务流程图与数据流程图的对应有两种思路:一种是先按业务流程图理出的业务流程顺序,然后将相应调查过程中所掌握的数据、表单分离出来,接下来考查数据的流向,加工处理过程和存储,把它们串起来就绘制成一完整的数据流程图;另一种是从业务流程中分离出处理过程,再考查每一个处理过程的输入数据与输出数据,将业务过程中所有的处理过程的输入、输出数据流进行有机的集成就形成了一个完整的数据流程图。练习2:再画出DFD关联图再画出DFD关联图采购部材料领用(事务)订货报表仓库库存信息库存更新统计订单库存临界值订单信息如何画出订货系统的DFD?1、考虑数据的源点和终点,确定系统的边界。分析可知:仓库管理员把事务输入订货系统,系统经过汇总处理,每天向采购部提供一张订货报表。所以:采购员是数据的终点,而仓库管理员是数据的源点。仓管员0.0订货系统采购员事务订货报表订货系统的关联图举例:订货系统的DFD练习3:画出第一层DFD再细化关联图采购部材料领用(事务)订货报表仓库库存信息库存更新统计订单库存临界值订单信息2、考虑处理由于“采购部需要报表”,因此必须有一个用于产生报表的处理。输入事务的结果是改变材料库存量,任何改变数据的操作都是处理,因此对事务进行的加工是另一个处理。3、考虑数据流系统把订货报表送给采购部,因此订货报表是一个数据流;仓库需要将每笔事务输入到系统中,显然事务是另一个数据流。举例:订货系统的DFD订货系统的第一层DFD仓管员1.0处理事务采购员事务订货报表2.0产生报表举例:订货系统的DFD仓管员0.0订货系统采购员事务订货报表订货系统的关联图4、考虑数据存储可以看出产生报表和处理事务这两个处理在时间上不匹配(随时处理事务,但每天只有一次订货报表)。因此,库存数据必须存放一段时间,即一个数据存储。由于“报表包括产品的价格、供应商信息”,因此必须存储有与供应商相关的订货数据,即需要有一个保存订货信息的数据存储。举例:订货系统的DFD自顶向下绘制DFD,逐层细化。订货系统的第一层DFD举例:订货系统的DFD处理细化仓管员1.0处理事务采购员事务订货报表2.0产生报表D2订货信息D1库存信息订货系统的第二层DFD(处理1.0的细化)1.1事务检验仓管员1.2更新库存D1库存信息F3更新数据F1事务F2事务仓管员1.0处理事务事务D1库存信息订货系统的第二层DFD(处理2.0的细化)D2采购员2.2产生报表F6订货信息F7订货报表订货信息D1库存信息F4库存信息2.1缺货统计F5缺货信息采购员订货报表2.0产生报表D2订货信息D1库存信息练习(二)绘制销售出库过程的数据流图先绘制业务流程图系统描述:用户将订货单交某企业的业务经理,经检验后,对不合格的订单由用户重新填写,合格的订单交仓库准备出库:仓库查阅库存台帐,若有货则向用户开票发货,否则,通知采购员订购。先绘制业务流程图分析:用户将订单交给业务经理,经检验后,对不合格的订单由用户重新填写,合格的订单交仓库准备出库:仓库查阅库存台帐,若有货则向用户开票发货,否则,通知采购员订购。销售出库业务流程图采购员发货票用户库存台帐检验订货单查阅台帐仓库经理订单不合格订单合格订单采购单再绘制DFD关联图分析外部实体采购员发货票用户库存台帐检验订货单查阅台帐仓库经理订单不合格订单合格订单采购单外部实体是数据的源点和终点,不是操作的执行者!销售出库过程的关联图采购员用户销售系统采购单订单发货票再细化关联图采购员发货票用户库存台帐检验订货单查阅台帐仓库经理订单不合格订单合格订单采购单分析处理、数据流、数据存储!销售出库过程的第一层DFD采购员库存台账业务处理用户出库处理不合格订单采购通知发货票订单合格订单货物信息课堂练习(三)教材销售系统的数据流图教材销售系统的业务说明:学生填写购书单,如果书库中有所需教材,则开发票,登记并开领书单,学生凭领书单到书库领书。如果书库中该教材脱销,则填写缺登记表。根据缺书登记表,生成一张采购单,由教材采购人员根据采购单采购教材,新教材进库后,将进书单返回给系统。DFD关联图:DFD第一层图:DFD第二层图:销售子系统采购子系统合并后的总DFD图:检验DFD与业务流程的一致性:1、有关数据载体部分一定要与业务流程图一致;2、将DFD与相应的业务流程图进行对比检查,看是否有遗漏的数据处理功能。检验DFD的一致性和完整性:1、检查各元素在数据流图之间的的一致性;2、在高层数据流图中出现的外部实体、数据流和数据存储一定要在低层的数据流图中出现。数据流图的检验数据流图:小结•数据流图不考虑具体的组织机构、工作场所、物流、资金流等!只考虑数据的加工、存储、流动或使用情况。•数据流图反映了系统与外部实体的数据联系!反映了数据在处理之间的联系!反映了数据的长期存储!数据流图:小结数据流图只能给出–系统逻辑功能的一个总体框架