
顶层数据流图.ppt
23页2. 功能建模和数据流图n最初, 结构化分析方法仅讨论数据流建模目标系统被表示成如图所示的数据变换流程图系统的功能体现在核心的数据变换中外部实体外部实体外部实体外部实体目标系统输入信息输入信息输出信息输出信息1软件工程1)功能建模的思想n功能建模就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止n根据DeMarco的论述,功能模型使用了数据流图来表达系统内数据的运动情况,而数据流的变换则用结构化英语、判定表与判定树来描述2软件工程2)数据流图中的主要图形元素数据加工 (数据变换)数据源或数据潭 (外部实体)数据流数据存储文件或或3软件工程分层的数据流图分层的数据流图4软件工程3)数据流图的层次结构为了表达数据处理过程,需要采用层次结构的数据流图按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系顶层流图仅包含一个加工,它代表被开发系统它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化它的每一加工可能继续细化,形成子图5软件工程4)功能建模的步骤对考生送来的报名单进行检查;对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;制作考生通知单(含成绩及合格/不合格标志)送给考生;按地区进行成绩分类统计和试题难度分析,产生统计分析表。
实例 考务处理系统的功能6软件工程顶层数据流图考生考务处理系统考试中心阅卷站不合格报名表报名表准考证考生通知单成绩单合格标准错误成绩单考生名单统计分析表顶层图封闭在外部实体之间,反映系统与外部的交互7软件工程这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能以及系统与外界的关系该图或称为上下文环境图或语境图(Context Diagram)数据流图绘制步骤1) 首先确定系统的输入和输出2) 根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程3) 经过分析,考务业务处理的主要功能应当8软件工程有登记报名单、统计成绩两大项主要数据流输入的源点和输出终点是考生、考试中心和阅卷站4) 然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第1层数据流图5) 画加工的内部:用画第1层图同样的方法画出每个加工的DFD子图6) 重复第 5 步,直至图中的尚未分解的加工都足够简单至此得到分层数据流图9软件工程报名表准考证1登记报名表2统计成绩不合格报名表考生通知单成绩单统计分析表第1层数据流图考生名册合格标准考生名单错误成绩单10软件工程第2层数据流图 (a)1.1 检查报名表报名表准考证1.2编准考证号码不合格报名表考生名册考生名单合格报名表1.3登记考生合格报名表11软件工程第2层数据流图 (b)2.1检查成绩单2.2审定合格者考生名册正确成绩单2.3制作通知单2.4分析统计成绩2.5分析试题难度试题得分表考生通知单难度分析表合格标准分类统计表成绩单错误成绩单经审定的成绩单12软件工程5)绘制数据流图的原则n数据流图上所有图形符号只限于前述四种基本图形元素,它们的命名应反映其实际含义;n数据流图的顶层图上的数据流必须封闭在外部实体之间;n每个加工至少有一个输入数据流和一个输出数据流;允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。
13软件工程在数据流图中,需按层给加工框编号编号表明该加工所处层次及上下层的亲子关系;n规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致此即父图与子图的平衡;n如果一个数据文件仅在展开的数据流子图中使用,可以在父图中不画出;n可以在数据流图中加入物质流,帮助用户理解数据流图;n数据流图中不可夹带控制流,但针对实时系统可以加入控制流,成为数据流图的扩展形式14软件工程4. 数据字典n数据字典是结构化分析方法的核心与各模型的图形表示配合,能清楚地表达数据处理的要求n词条描述 对于在模型中每一个被命名的图形元素,均加以定义,其内容有: 名字,别名或编号,分类,描述,定义,位置,其它,等15软件工程(1)数据流词条描述 数据流名: 说明:简要介绍它产生的原因和结果 数据流来源:来自何方 数据流去向:去向何处 数据流组成:数据结构 数据量流通量:数据量,流通量1)词条描述16软件工程(2)数据元素词条描述 类型:数字(离散值,连续值),文字(编码类型)长度: 取值范围: 相关的数据元素及数据结构:(3)数据文件词条描述 数据文件名: 简述:存放的是什么数据 输入数据: 输出数据: 17软件工程 数据文件组成:数据结构 存储方式:顺序,直接,关键码 存取频率: (4)加工逻辑词条描述 加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 输出数据流: 加工逻辑:简述加工程序,加工顺序18软件工程(5)数据源及数据谭词条描述 名称:外部实体名 简要描述:什么外部实体 有关数据流: 数目:19软件工程2)数据结构的描述 符 号 含 义 举 例 被定义为 与 x = ab.,. 或 .|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8(.) 可选 x = (a)“.” 基本数据元素 x = “a” . 连结符 x = 1.920软件工程存折格式21软件工程存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999” 帐号“00000001”.“99999999”开户日年月日性质“1”.“6” 注:“1”表示普通户,“5”表示工资户等印密“0” 注:印密在存折上不显示存取行日期(摘要)支出存入余额操作复核22软件工程3)基本加工逻辑说明 对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。
基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则 加工逻辑说明必须描述实现加工的策略而不是实现加工的细节 加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的 描述加工逻辑说明的工具:结构化语言、决策表、决策树23软件工程。
