面向数据流的设计方法.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7、优化
mph
gph
计算 燃料 消耗
发出 警告 铃声
mph
显示 警告铃声
5、第一级分解 6、第二级分解
mpg
产生 mpg 显示
mpg 显示
产生 mph 显示
mph 显示
1、复查基本系统模型
• 目的:确保系统的输入数据和输出数据 符合实际。
• 措施:重新检查数据流图。
2、复查并精化数据流图
• 精化原则
6、进行“第二级分解”
驱动仪表里程
发出警告铃声
发光二极 管显示
未经精化的输出结构
6、进行“第二级分解”
• 此时,还必须对每一个模块进行下面的 补充说明:
– 进出该模块的信息; – 模块内部的信息;
选用IPO 图说明
– 过程陈述,包括主要判定点及任务;
活动通路
变换型数据流举例
传入部分
变换中心
传出部分
输入 信息
格式 检查
正确 信息
结果 处理
数据 显示
物理 输入
逻辑 输入
逻辑 输出
物理 输出
特点:具有明确的传入、变换(或称主加 工) 和传出界面的DFD
事务型数据流图举例
B
L
E
A
I
C
F
H
M
O
D
G
N
混合型的大型软件系统
T 事务中心
传入
变换 传出
基本概念
(SPS)
收集 并求 平均
△SPS △SPS
产生
加速/减 速显示
下箭头
数据流图
燃料流量 传感器信号
3、确定数据流 读入
图的类型
并核实
燃料流量
转换成 转/分 (rpm)
rpm
水平线
上箭头 rpm
计算 里程
英里
计算
mph 和 超速值
超速值
产生 里程 显示
4、确定输入流和 输出流的边界,孤
立变换中心
计算 gph
面向数据流的设计方法
• 基本概念 • 面向数据流设计方法的基本过程 • 面向数据流设计举例(变换分析) • 面向数据流设计举例(事务分析) • 混合型数据流设计举例 • 设计优化 • 本章小结
重点内容
基本概念
• 结构化设计方法
• 变换流 • 事务流
信息流的 两种形式
• 设计过程
结构化设计方法
• 信息流是任何系统的核心;
– 确保能够反映目标系统的正确的逻辑模型。 – 应该使数据流图中每个处理都代表一个规模
适中的并且相对独立的子功能。
3、确定数据流图的类型
• 确定数据流图究竟是事务型还是变换型。 • 一般都可按照变换流来处理;(为什么?) • 有明显事务特征的按照事务流处理; • 确定数据流的全局特性; • 孤立局部区域;
• 任何系统都可用数据流图表示;
• 利用“映射”可以把数据流图转换为 软件结构
• 结构化设计方法(SD)即基于对数据流 的分析.
SA与SD的关系
结构化分析的结果 数据流图 数据字典
结构化设计的工具 初始软件结构图 设计数据字典
IPO 实体-关系图
IPO、伪码、流程图 数据库设计
基本概念
• 变换流:
接收传感器 信号
数据转换 控制
驱动仪表板
输入控制
变换控制
输出控制
第一级分解的结果
应该在能够完成控制功能并且保持好的耦合和 内聚特性的前提下,尽量使第一级控制中的模 块数目最小。
6、进行“第二级分解”
• 逐个的把每个处理映射为软件结构中的 一个模块;
– 把输入处理映射成输入控制的下层模块; – 把输出处理映射成输出控制的下层模块; – 把变换中心的处理映射为变换控制的下层
(2)在发光二极管面板上显示数据; (3)指示每小时英里数(mph),行驶的里程, 每加仑油行驶的英里数(mpg)等等; (4)指示加速或减速; (5)超速警告:如果车速超过55英里/小时, 则发出超速警告铃声。
1、复查基本 系统模型
旋转信号
读入 旋转 信号
信号数/秒
确定
加速/ 减速
箭头指示
2、复查并精化
3、确定数据流图的类型
从上图中可以看出,数据沿着两条输 入通路进入系统,然后沿着五条通路离开, 没有明显的事务中心(虽然变换“计算 mph 与 超 速 值 ” 可 以 看 作 是 一 个 事 务 中 心)。
可以认为这个数据流图的类型是变换 型数据流图。
4、确定输入流和输出流的边界,从而孤立出变换中心
发出 警告 铃声
mph
产生 里程 显示
水平线
不同的人选择 不同的分界点
显示 警告铃声
mpg
产生 mpg 显示
mpg 显示
产生 mph 显示
mph 显示
5、完成“第一级分解”
Cm
Ca
Ct
Ce
第一级分解的方法
输入处理 控制模块
变换中心 控制模块
输出处理 控制模块
5、完成“第一级分解”
数字仪表板 控制
模块;
• 处理和模块需要一一对应。
6、进行“第二级分解”
D
C
A
B
Cm
Ca
C
B
D
A
第二级分解的方法
6、进行“第二级分解”
第二级分解的结果:
接收 传感器信号
转换成rpm
计算gph
数据 转换控制
收集sps
读燃料流量
读旋转信号
确定 加速/减速
计算mph
计算mpg
计算里程
未经精化的输入结构
未经精化的变换结构
–信息通常以”外部世界”的形式进入软 件系统,经过处理后再以”外部世界”的 形式离开系统;
• 事务流:
–数据沿输入通路到达一个处理后,这 个处理根据输入数据的类型在若干个动 作序列中选出一个来执行。
图 变换流
图事务流
数据流图的类型
1、变换型数据流图
变换
输入
输出
2、事务型数据流图
事务 T
事务中心
• 设计过程
–设计过程应该灵活运用; –需要人的判断力和创造力;
面向数据流精设化数计据方流法图 的设计过程
“事务” 流类型
区分事务中心 和数据接收路径
“变换”
区分输入和 输出分支
映射成事务结构
映射成变换结构
事务分析
用启发式设计规则精化软件结构 导出接口描述和全程数据结构 复查 详细设计
变换分析
SD方法的两种映射过渡方法
旋转信号
读入 旋转 信号
信号数/秒
确定
加速/ 减速
(SPS)
收集 并求 平均
△SPS △SPS
箭头指示
产生 加速/减 速显示
下箭头
燃料流量 传感器信号
读入 并核实
燃料流量
不受影
计算 gph

转换成 转/分 (rpm)
rpm
rpm
计算 里程
上箭头 英里
计算
mph 和 超速值
超速值
mph
gph
计算 燃料 消耗
变换分析
变换型DFD
初始SC
事务分析
事务型DFD
初始SC
初始的SC
由变换分 析产生
输入模块
主模块 主加工模块
输入模块
事务控制模块
由事务分 析产生
接受模块 动作发送模块 动作1模块 动作2模块 动作3模块
变换分析设计举例
通过一个汽车数字仪表板的设计来介绍 变换分析的过程。假设仪表板的功能如下:
(1)通过模/数转换实现传感器和微处理机接 口;
相关文档
最新文档