第九章 面向数据流的设计方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章 面向数据流的设计方法
9.1 基本概念和设计过程 9.2 变换分析 9.3 事务分析 9.4 启发式设计策略 9.5 设计优化原则
•
面向数据流的设计方法,即结构化方法(简
称SD方法),是根据需求阶段对数据流的分析设
计软件结构。数据流主要描绘信息在系统内部加
工和流动的情况,面向数据流的设计方法根据数
.
面向数据流方法的设计过程
精化数据流图
“事务” 流类型
区分事务中心 和数据接收路径
“变换”
区分输入和 输出分支
映射成事务结构
映射成变换结构
事务分析 用启发式设计规则精化软件结构
导出接口描述和全程数据结构
提取控制结构
复查 详细. 设计
变换分析
SD方法的两种映射过渡方法
变换分析
变换型DFD
初始SC
事务分析
事务型DFD
初始SC
.
初始的SC
由变换分 析产生
输入模块
主模块 主加工模块
输出模块
事务控制模块
由事务分 析产生
接受模块 动作发送模块
动作1模块 动作2模块 动作3模块
.
9.2 变换分析
1.变换分析设计方法 变换分析由一系列设计步骤组成,经过这些步骤就能够把
具有变换流特点的数据流图按照事先确定的模式映射成 软件结构。步骤如下: 1)复审基本系统模型 基本系统模型是指顶级数据流图和所有由外部提供的信 息。该步骤是对系统规格说明书进行评估。这两个文档 是描述软件界面上信息的流程和结构。 2)复审和精化软件数据流图 主要是对软件规格说明书中的分析模型进行精化,直至 获得足够详细的数据流图。逐步求精,逐层细化,底层 的加工和数据流都应该进行分解。
SD方法是基于模块化、自顶而下逐步求精、结构化程序设计 等技术发展起来,能够方便地将数据流图转换为软件结构, 其过程分为六步:
(1)分析DFD,精化DFD. (2)确定DFD类型,划定边界. (3)映射为软件结构.把DFD映射到系统模块结构,设计出模块
结构的上层;基于DFD逐步分解高层模块,设计出下层模块. (4)提取层次控制结构. (5)通过设计复审和使用启发式策略进一步精化模块结构. (6)模块接口描述
.
第一级分解的方法
MC
MA
MT ME
.
第一级分解后的SC
c,e
MA
传入模块
MC
c,e u,w
MT
事务 T
活动通路
事务中心
图 9.2
变换型 数据流
结构
事务型 数据流
结构
基本模型
传入 部分
传入
变换 中心
ຫໍສະໝຸດ Baidu变换
接受 部分
接受
事务 中心 事务 分析
.
传出 部分
传出
动作 1
动作 2
动作 3
变换型数据流举例
传入部分
变换中心
传出部分
输入 信息
格式 检查
正确 信息
结果 处理
数据 显示
物理 输入
逻辑 输入
逻辑 输出
些顺序处理信息且不含层次数据结构的系统最为
有效。
.
9.1 基本概念和设计过程
1、基本概念
面向数据流的设计方法(SD)以数据流图为基础, 它定义了把DFD变换成软件结构的不同映射方法.
DFD
映射
(问题结构)
软件系统的结构 (程序结构)
映射方法涉及信息(数据)流的类型.
.
(1)变换型数据流图
• 变换型数据流(变换流):在基本系统模型中信息通常以“外部” 所具有的形式进入系统,经过处理后又以这种形式离开系统, 如图9.1。输入信息流沿传入路径进入系统,同时由外部形式变 换为内部形式,经系统变换中心加工、处理,作为输出信息流 又沿传出路径离开系统,并还原为外部形式.如果数据流图所描述 的信息流具有上述特征,则称作变换流.
Qu
v
UV
.
变换分析设计方法
• 5)执行“一级分解” • 一级分解的目标是导出具有三个层次的程序结
构,顶层为主控模块;底层为模块执行输入、 计算和输出功能;中间层次为控制和协调底层 的工作。即区分逻辑输入、输出和中心变换部 分。 • 在结构图中,方框表示模块,方框内注明 模块名称或主要功能。方框之间的有向边表示 模块间的调用关系。对于变换流可以得到一级 的分解结构图的上两层如下:
变换
输入
输出
图 9.1
(2)事务型数据流图
• 事务型数据流(事务流):由于基本系统呈现变换流,所以任意系 统中的信息均可以用变换流刻画。但是如果数据流如图9.2所示, 则称为事务流。此时,单个数据项(事务)沿传入路径(接受通道) 进入系统,由外部形式变换为内部形式后到达事务中心,事务中心 根据数据项计算结果从若干动作路径中选定一条继续执行.
传入
变换 传出
T 事务中心
.
根据信息流类型,系统结构特征可归纳为两种典型形式:变换 型结构和事务型结构.其基本模型特征如下:
变换型 结构
输入
变换 输出 中心
由输入、变换 中心和输出三 部分组成
接受 事务型 路径 结构
事务 中心
动 具有在多种事
作 务中选择执行 路 某类事物的能 径力
.
2. 设计过程
据流的特性定义两种“映射”,这两种映射能机
械将数据流转换为程序结构。该方法的目标是为
软件结构设计提供一个系统化的途径,使设计人
员对软件有一个整体的认识。
•
本章所描述技术用于概要设计描述,包括模
块、界面和数据结构的定义。理论上讲,任何软
件系统都可以用数据流图表示,面向数据流的设
计方法可用于任一软件系统的开发。该方法对那
.
变换分析设计方法
3)确定DFD的特性,判定它为事务流还是变换流
一般来讲,系统内部的信息流总可以用变换流表示,如 果为明显的事务流特性,还应该采用针对事务流的映射方法。 因此,分析人员首先要判定DFD中占主导地位的信息流,并且 确定其特性,然后孤立具有变换特性或者事务特性的支流,这 些支流将用于精化由主导数据流推出的程序结构。
4)划定输入流和输出流的边界、孤立变换中心
即区分传入、变换中心、传出部分,在 DFD 上标明分界 线,输入和输出流的边界的划分可能因人而异,不同的人员可能 把边界沿着数据通道向前推进或后退一个处理框,不过这对最 后的软件结构影响不大。
.
ab A BC
传入 部分
d
e
DE
变换中心
cr
w
P
pR
W
传出 部分
物理 输出
特点:具有明确的传入、变换(或称主加 工) 和传出界面的. DFD
事务型数据流图举例
B
L
E
A
I
C
F
H
M
O
D
G
N
.
值得注意的是在大系统的数据流中,变换流和事务流 往往交织在一起。如,在基于事务流的系统中,当信息沿 动作路径流动时,可能呈现变换流的特征,因此,在具体 进行面向数据流的软件设计时,两种方法交叉使用。
9.1 基本概念和设计过程 9.2 变换分析 9.3 事务分析 9.4 启发式设计策略 9.5 设计优化原则
•
面向数据流的设计方法,即结构化方法(简
称SD方法),是根据需求阶段对数据流的分析设
计软件结构。数据流主要描绘信息在系统内部加
工和流动的情况,面向数据流的设计方法根据数
.
面向数据流方法的设计过程
精化数据流图
“事务” 流类型
区分事务中心 和数据接收路径
“变换”
区分输入和 输出分支
映射成事务结构
映射成变换结构
事务分析 用启发式设计规则精化软件结构
导出接口描述和全程数据结构
提取控制结构
复查 详细. 设计
变换分析
SD方法的两种映射过渡方法
变换分析
变换型DFD
初始SC
事务分析
事务型DFD
初始SC
.
初始的SC
由变换分 析产生
输入模块
主模块 主加工模块
输出模块
事务控制模块
由事务分 析产生
接受模块 动作发送模块
动作1模块 动作2模块 动作3模块
.
9.2 变换分析
1.变换分析设计方法 变换分析由一系列设计步骤组成,经过这些步骤就能够把
具有变换流特点的数据流图按照事先确定的模式映射成 软件结构。步骤如下: 1)复审基本系统模型 基本系统模型是指顶级数据流图和所有由外部提供的信 息。该步骤是对系统规格说明书进行评估。这两个文档 是描述软件界面上信息的流程和结构。 2)复审和精化软件数据流图 主要是对软件规格说明书中的分析模型进行精化,直至 获得足够详细的数据流图。逐步求精,逐层细化,底层 的加工和数据流都应该进行分解。
SD方法是基于模块化、自顶而下逐步求精、结构化程序设计 等技术发展起来,能够方便地将数据流图转换为软件结构, 其过程分为六步:
(1)分析DFD,精化DFD. (2)确定DFD类型,划定边界. (3)映射为软件结构.把DFD映射到系统模块结构,设计出模块
结构的上层;基于DFD逐步分解高层模块,设计出下层模块. (4)提取层次控制结构. (5)通过设计复审和使用启发式策略进一步精化模块结构. (6)模块接口描述
.
第一级分解的方法
MC
MA
MT ME
.
第一级分解后的SC
c,e
MA
传入模块
MC
c,e u,w
MT
事务 T
活动通路
事务中心
图 9.2
变换型 数据流
结构
事务型 数据流
结构
基本模型
传入 部分
传入
变换 中心
ຫໍສະໝຸດ Baidu变换
接受 部分
接受
事务 中心 事务 分析
.
传出 部分
传出
动作 1
动作 2
动作 3
变换型数据流举例
传入部分
变换中心
传出部分
输入 信息
格式 检查
正确 信息
结果 处理
数据 显示
物理 输入
逻辑 输入
逻辑 输出
些顺序处理信息且不含层次数据结构的系统最为
有效。
.
9.1 基本概念和设计过程
1、基本概念
面向数据流的设计方法(SD)以数据流图为基础, 它定义了把DFD变换成软件结构的不同映射方法.
DFD
映射
(问题结构)
软件系统的结构 (程序结构)
映射方法涉及信息(数据)流的类型.
.
(1)变换型数据流图
• 变换型数据流(变换流):在基本系统模型中信息通常以“外部” 所具有的形式进入系统,经过处理后又以这种形式离开系统, 如图9.1。输入信息流沿传入路径进入系统,同时由外部形式变 换为内部形式,经系统变换中心加工、处理,作为输出信息流 又沿传出路径离开系统,并还原为外部形式.如果数据流图所描述 的信息流具有上述特征,则称作变换流.
Qu
v
UV
.
变换分析设计方法
• 5)执行“一级分解” • 一级分解的目标是导出具有三个层次的程序结
构,顶层为主控模块;底层为模块执行输入、 计算和输出功能;中间层次为控制和协调底层 的工作。即区分逻辑输入、输出和中心变换部 分。 • 在结构图中,方框表示模块,方框内注明 模块名称或主要功能。方框之间的有向边表示 模块间的调用关系。对于变换流可以得到一级 的分解结构图的上两层如下:
变换
输入
输出
图 9.1
(2)事务型数据流图
• 事务型数据流(事务流):由于基本系统呈现变换流,所以任意系 统中的信息均可以用变换流刻画。但是如果数据流如图9.2所示, 则称为事务流。此时,单个数据项(事务)沿传入路径(接受通道) 进入系统,由外部形式变换为内部形式后到达事务中心,事务中心 根据数据项计算结果从若干动作路径中选定一条继续执行.
传入
变换 传出
T 事务中心
.
根据信息流类型,系统结构特征可归纳为两种典型形式:变换 型结构和事务型结构.其基本模型特征如下:
变换型 结构
输入
变换 输出 中心
由输入、变换 中心和输出三 部分组成
接受 事务型 路径 结构
事务 中心
动 具有在多种事
作 务中选择执行 路 某类事物的能 径力
.
2. 设计过程
据流的特性定义两种“映射”,这两种映射能机
械将数据流转换为程序结构。该方法的目标是为
软件结构设计提供一个系统化的途径,使设计人
员对软件有一个整体的认识。
•
本章所描述技术用于概要设计描述,包括模
块、界面和数据结构的定义。理论上讲,任何软
件系统都可以用数据流图表示,面向数据流的设
计方法可用于任一软件系统的开发。该方法对那
.
变换分析设计方法
3)确定DFD的特性,判定它为事务流还是变换流
一般来讲,系统内部的信息流总可以用变换流表示,如 果为明显的事务流特性,还应该采用针对事务流的映射方法。 因此,分析人员首先要判定DFD中占主导地位的信息流,并且 确定其特性,然后孤立具有变换特性或者事务特性的支流,这 些支流将用于精化由主导数据流推出的程序结构。
4)划定输入流和输出流的边界、孤立变换中心
即区分传入、变换中心、传出部分,在 DFD 上标明分界 线,输入和输出流的边界的划分可能因人而异,不同的人员可能 把边界沿着数据通道向前推进或后退一个处理框,不过这对最 后的软件结构影响不大。
.
ab A BC
传入 部分
d
e
DE
变换中心
cr
w
P
pR
W
传出 部分
物理 输出
特点:具有明确的传入、变换(或称主加 工) 和传出界面的. DFD
事务型数据流图举例
B
L
E
A
I
C
F
H
M
O
D
G
N
.
值得注意的是在大系统的数据流中,变换流和事务流 往往交织在一起。如,在基于事务流的系统中,当信息沿 动作路径流动时,可能呈现变换流的特征,因此,在具体 进行面向数据流的软件设计时,两种方法交叉使用。