2.DFD各成分的作用和命名注意事项数据流表示数据和数据流向三个重要属性:流向(从加工出发或流向加工)数据组成数据流名字数据流命名方法和注意事项(讲义P27)用名词或名词词组不要使用意义空洞的名词尽量使用现实系统已有名字,当命名出现困难,考虑是否数据流划分不恰当。不要把控制流作为数据流加工的命名原则(讲义P28)顶层的加工名就是软件项目的名字最好使用动宾词组,也可用主谓词组不要使用空洞的动词数据存储分层数据流图中,数据存储一般局限在某一层或某几层命名方法与数据流相似举例:数据源数据池没有输出!加工没有输入!加工数据源数据池数据源数据存储数据源数据存储数据存储数据存储数据流必须起于且/或止于加工加工至少有一个输入数据流和一个输出数据流DFD的性质与程序流程图的区别(不同用途):程序流程图用于表示程序的过程设计,DFD用作软件分析阶段的工具,DFD不能表示程序的控制结构.(分析阶段只须考虑软件“干什么”,不必问“怎样干”)DFD可以用来表示一个系统或软件在任何层次上的抽象。较大型软件系统DFD分成多层(子图、父图概念),可以表示数据流和功能的进一步的细节。S2132.22.12.33.13.2顶层0层1层(基本系统模型)(系统的子功能)DFD的层次分解怎样画DFD(1)先画出顶层DFD。(2)自顶向下画出各层DFD分解原则:分解后的软件成分有相对独立功能一次分解不要加入细节过多由外向里画DFD送货单配送中心管理信息系统配送中心管理信息系统的顶层DFD供应商领书单路单门店销售信息连锁门店订单发票订货单库存管理财务管理1配送中心管理信息系统的零层DFD订货单表供应商D1门店发票订货单送货单出库单、入库单订货单表D3门店商品编码2商品价格表D4订单表D5采购管理4销售管理5配送管理3路单门店销售信息缺货单表D2订单商品价格记录正确订单销售预测信息缺货单缺货单入库1.1库存管理子系统的DFD(第一层)订货单表供应商D1送货单出货单表D3门店出库单库存表D2在库1.2出库1.3入库单号库存记录制作路单3.2配送管理子系统的DFD(第一层)订货单表D1路单记录门店信息表D2门店路单表D3路单执行情况跟踪3.4确定配送路线3.3配送计划门店信息拣货单表D4制定配送计划3.1门店信息路单配送计划路单分配货位号1.1.2入库子系统的DFD(第二层)货位文件DS2订单文件DS1入库单库存商品文件DS4修改库存商品信息1.1.4记录入库单1.1.3货位信息合格商品检验送货单1.1.1入库单文件DS3货位号货位号新库存信息旧库存信息合格商品送货单画分层DFD的指导原则(1)父图与子图的平衡模型细化时必须保持数据流的连续性,即每个细化部分的输入和输出必须保持不变(父图和子图输入数据和输出数据应一致)。A14父图和子图的平衡23BFEGCDC3.1父图和子图的平衡ED3.33.2购书单教材购销系统教材购销系统的顶层DFD学生领书单缺书单进书通知书库保管员购书单缺书单销售教材采购教材12第二层DFD(0层)教材购销系统教材存量表学生F1缺书登记表F2书库保管员进书通知教材入库信息领书单按书号汇总缺书2.12.3第三层DFD(1层)采购子系统(2.0)待购教材表F5教材一览表F6书库保管员进书通知教材存量表F12.2按出版社统计缺书修改教材库存和待购量F2缺书登记表缺书单教材入库信息购书单缺书单销售采购12第二层DFD(0层)教材购销系统教材存量表学生F1缺书登记表F2书库保管员进书通知领书单教材入库信息1.2第三层DFD(1层)销售子系统(1.0)无效书单教材存量表F1开发票F2缺书登记表学生各班学生用书表F3售书登记表F41.1审查有效性1.3登记并开领书单学生1.5补售教材1.4登记缺书购书单发票领书单有效购书单教材入库信息父图与子图平衡的特例领书单1.3发票1.3.31.3.2教材1.3.1学生领书单父图子图发票=学生+教材画分层DFD的指导原则(2)区分局部文件和局部外部项E2.1ABC2.22.3FDC132FADEB父图子图购书单缺书单销售教材采购教材12第二层DFD(0层)教材购销系统教材存量表学生F1缺书登记表F2书库保管员进书通知教材入库信息领书单按书号汇总缺书2.12.3第三层DFD(1层)采购子系统(2.0)待购教材表F5教材一览表F6书库保管员进书通知教材入库信息教材存量表F12.2按出版社统计缺书修改教材库存和待购量F2缺书登记表缺书单画分层DFD的指导原则(3)遵守加工的编号原则子图图号为分解的父图中的加工号,同级子图在最后数字以序号区别。S2132.22.12.33.13.2顶层(不编号)0层1层画分层DFD的指导原则(4)分解的深度与层次按功能情况定,一般设深度为3-5如超过5最好分解画,否则容易出错实例图书馆管理系统功能:购入新书读者借书读者还书图书注销查询统计购入新书:新书编卡片(包括:分类目录号、流水号(唯一)、书名、作者、内容摘要、价格、购书日期等信息)写入图书目录文件读者借书:填借书单(包括:读者号、欲借图书分类目录号)检查读者号有效性,无效,拒借读者号有效,检查借书是否超数?已达5本,拒绝借;未超,可借,登记图书分类目录号、读者号、借阅日期等,写回借书文件中。读者还书:根据图书流水号,从借书文件中读出与该书相关的借阅记录,查明借书日期,还书日期,求借书时间,再重写回借书文件中,超过期限罚款。图书注销:从借阅图书文件中删除相关记录丢失图书时从图书文件中删除相关记录查询统计:查询某读者情况查询某图书借阅情况统计图书借阅情况顶层数据流图图书管理人员图书管理系统系统时钟读者图书管理要求查询要求统计表图书情况读者情况罚款单当前日期检查有效性图书管理要求查询要求无效输入1处理查询3处理要求2有效查询要求有效图书管理要求当前日期罚款单统计表图书情况读者情况0层数据流图要求类型处理有效图书管理要求当前日期无效输入2.1新书入库2.2借入库单罚款单一层数据流图(a)借书2.3注销图书2.5借书2.4目录文件借书单书单注销单查询类别处理有效查询要求3.1读者查询3.2统查询读者情况统计表一层数据流图(b)图书查询借书文件要查询图书情况3.3图书统计3.4计求读者文件目录文件读者情况图书情况