第3章数据流图
• 4 保持数据守恒
易混淆的知识
• 数据流是在处理、数据存贮和源点/终点 之间传递的动态数据,不是控制的转移 流向。
• 数据流图只能表示软件对数据的处理动 作,而不反映处理的执行顺序。
• 在数据流图中应描绘所有可能的数据流 向,而不应该描绘出现某个数据流的条 件。
门诊病历子系统 1
找错误
模型加工子系统 2
安全范围
病人 生理信号
时钟 日期,时间
要求报告
护士
监护系统
病情报告 警告信息
监护系统基本系统模型
患者日志 护士
第三步: 对基本系统模型细化,得到功能级数据流图
功能总结:
• 随时接受病人生理信号 • 分析信号 • 产生警告信息 • 定时取样生理信号 • 更新日志 • 产生病情报告
第三步
• 监护系统功能:
第二步: 根据分离的四种成分,画基本系统模型
事务 仓库管理员
定货报表
定货系统
采购员
定货系统基本系统模型
第三步: 对基本系统模型细化,得到功能级数据流图
功能总结:
• 零件的入库和出库称为事务 • 通过CRT终端把事务报告给定货系统 • 当某种零件的库存数量少于库存量临界值时就应该再
次定货。
第三步
数据流
事务 仓库管理员
定货系统
定货报表 采购员
数据源点
加工
数据终点
画数据流图的方法
第一步,从问题描述中提取数据流图的四种成分;
源点和终点 加工 数据流和数据存储
第二步,根据分离的四种成分,画基本系统模型;
源点 输入 软件系统 输出 终点
数据流
数据流
第三步,进一步对基本系统模型细化,得到功能
级数据流图;
接受信号:接受病人生理信号 分析信号:产生危急病人信息 产生警告:发出警告信息 定时取样:产生定时的生理信号 更新日志:生成日志数据,更新患者日志 产生报告:产生指定患者的病情报告
• “接受信号”有关的数据流:病人基本情况、生理信号 • “分析信号”有关的数据流:生理信号、安全范围、危急病人信
息 • “产生警告”有关的数据流:危急病人信息、警告信息 • “定时取样”有关的数据流:日期、时间、定时的生理信号 • “更新日志”有关的数据流:生理信号、日志数据、患者日志 • “产生报告”有关的数据流:护士要求、日志数据、病情报告
定货信息 定货信息
完善——主要成分编号
编号反映处理和数据的层次关系 • 加工:
处理事务——1 接受事务 ——1.1 更新库存清单——1.2 处理定货 ——1.3
产生报表——2 • 数据存储:
库存清单——D1 定货信息——D2
D1 库存清单 库存清单
仓库 事务 1.1 事务
管理员
接受
1.2 更新
库存信息 1.3 处理
患者监护系统
• 医院对患者监护系统的基本要求是随时 接受每个病人的生理信号(脉搏、体温、 血压、心电图等),定时记录病人情况 以形成患者日志,当某个病人的生理信 号超出医生规定的安全范围时向值班护 士发出警告信息,此外,护士在需要时 还可以要求系统打印出某个指定病人的 病情报告。
第一步: 从问题描述中提取数据流图的四种成分
数据流图
例题说明
定货系统数据流图
事务 仓库管理员
定货报表
定货系统
采购员
主要内容
• 数据流图中的成分 • 数据流图中的符号 • 画数据流图的方法 • 数据流的注意事项 • 举例
– 定货系统 – 患者监护系统
• 数据流图的作用
数据流图中的成分
• 数据流图是一种描述数据变换的图形工具,系 统接受输入的数据,经过一系列的变换,最后 输出结果数据。
进货管理子系统 3
牙科诊所管理系统
Database
帐目管理子系统 4
系统管理子系统 5
例 考察下图中子父图的平衡
A
B
C
1
3Mn来自T2N 2.1
P
T 2.2 Q
2.3 S
父图
图a
子图
显然,图a中子图与 父图不平衡
1
2
定货单
提货单
333
4 5
6 父图
图b
客户 3.1
帐号 数量 3.3
子图
提货单 3.2
如果有如下数据条目: 定货单=客户+账号+数量 则子、父图平衡
第四步,进一步对功能级数据流图进行细化,当 进一步分解将涉及如何具体实现一个功能 时就不应该再分解了。
分层的数据流图
源点
软件系统
终点
源点
1
3
2
终点
源点
1.1
1.3
1.2 2.1
3.1 2.4
3.3
3.2
2.3
2.2
终点
注意事项
1.并不是所有数据存储和数据流都能直接从问题描述 中提取出来;
2.在对数据流图分层细化时,必须保持信息的连续性。 即,分解前、后的输入/输出数据流必须相同。
• 数据流图有四个基本成分: 加工 数据流 数据存储 数据源和数据终点
• 数据源和数据终点是系统与环境的接口,是系 统之外的实体,可以是人物或其它软件。数据 源是起点,数据终点是终点。
数据流图中的符号
• 组成元素:四种成分
数据的源点/终点 ……
变换数据的加工 ……
数据存储
……
数据流
……
定货系统数据流图
• 定货系统功能:处理事务、产生报表 • “处理事务”有关的数据流:事务(录入)、库存清单
(保存、查询)、定货信息(缺货时产生) • “产生报表”有关的数据流:定货信息(报表数据来
源)、定货报表(结果)
库存清单
仓库 事务 管理员
库存清单
处理 事务
产生 定货报表 采购员 报表
定货信息
定货信息 定货信息
事务
库存
定货
清单
定货信息
2 产生
定货报表 采购员
报表
定货信息
D2 定货信息
数据流图的原则
• 1 每个加工至少有一个输入数据流和一个输出 数据流。
• 2允许一个加工有多个数据流流向另一个加工, 也允许一个加工有两个相同的输出数据流流向 两个不同的加工.
• 3保持父图与子图平衡:父图某加工的输入输出 数据流必须与子图的输入输出流在数量和名字 上相同.
第四步: 进一步对功能级数据流图进行细化
• 定货信息:源于对事务的处理,当该物品库存数量少 于临界值时产生该信息。
• “事务处理”功能包括三个子功能:接受事务、更新 库存清单、处理定货
库存清单
库存清单
仓库 事务 接受 事务
管理员
事务
更新 库存 清单
库存信息 处理 定货
产生 定货报表 采购员 报表
定货信息
3.在功能级数据流图中,可根据需要给处理和数据存 储增加编号,便于引用和追踪。同时编号应反映处 理的分解层次;
4.一张数据流图中的包含的加工控制在5~9个,因此数 据流图应该使用分层和画分图的方法。
定货系统
• 某工厂有一个库房,存放该厂生产需要 的物品,库房中的各种零件的数量及各 种零件库存量临界值等数据记录在库存 文件中,当库房中零件数量有变化时, 应更新库存文件,若某种零件的库存量 少于库存临界值,则报告采购部门以便 订货,每天向采购部门送一份采购报告。
数据流图的作用
• 作为交流信息的工具
– 描绘系统分析员对系统的设想,供审查
• 作为分析和设计的工具
– 描绘系统所完成的功能
• 有助于更详细的设计步骤
– 面向数据流的设计方法
第一步: 从问题描述中提取数据流图的四种成分
• 某工厂有一个库房,存放该厂生产需要的物品, 库房中的各种零件的数量及各种物品库存量临 界值等数据记录在库存文件中,当库房中零件 数量有变化时,应更新库存文件,若某种零件 的库存量少于库存临界值,则报告采购部门以 便订货,每天向采购部门送一份采购报告。
• 医院对患者监护系统的基本要求是随时 接受每个病人的生理信号(脉搏、体温、 血压、心电图等),定时记录病人情况 以形成患者日志,当某个病人的生理信 号超出医生规定的安全范围时向值班护 士发出警告信息,此外,护士在需要时 还可以要求系统打印出某个指定病人的 病情报告。
第二步: 根据分离的四种成分,画基本系统模型