第五章传统设计方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D 3号 加工
CI E B B C C
B 1号
加工
输
转换流
D
D
E E
输
4号 流 A F
入
流
出 加工
取B
A 取A
转换B
B 转换A
处理C
转换D E
F 转换E
送E
F 送F
A
变换分析技术
(2) 事务分析设计方法
任何情况下都可使用变换分析方法 设计软件结构,但如数据流具有明显 的事务特点时 (有一个明显的事务中 心),以采用事务分析方法为宜。
配置信息
格式化 配置数据
显示信息 和状态
命令 类型
命令 开/关 分析处理 命令
配置数据
密码命令 密码
A/D信 激活/非活动系 息
统
读 密码 四位 数字
与文件中 密码比较
检验 信息 检验 信息
显示 信息
重试 检验信 信息
息过程
用户命令交互子系统的SC
用户执行模块
读用户命令
系统设置 控制器 读系统 数据 建立配 置文件
事务流设计举例
L
C D
E
B
A
I
M
N
F G
事务中心
动作分支的典型结构
处理层
P
T A D
1
主模块
事务加 工模块
操作 模块
事务层 操作层 细节层
T A
2
T A
3
i
1
2
A D
j
1
D2
k
细节 模块
事务流设计举例
总控
A
B E C F G D
(主模块)
取 A
L
M
N
事务加工模块
事务流设计举例
总控
A
B
E C F D G
传出 部分 传出
动作 1 动作 2 动作 3
事务型 数据流 结构
变换型数据流举例
传入部分
输入 信息 正确 信息
变换中心
结果 处理
传出部分
格式 检查
数据
显示
物理 输入
逻辑 输入
逻辑 输出
物理 输出
特点:具有明确的传入、变换(或称主加 工) 和传出界面的DFD
事务型数据流图举例
L C
M D F
B
A I
事务分析的映射方法
接收 路径
总控
调度
A路径
B路径
C路径
A路径
C路径
B路径
事务分析技术
① 确定流界;首先从数据流图中找出事务流、事务处理中心和事 务路径。 ②进行一级分析,设计上层模块;对事务中心应设计“事物控制” 模块;对事物流应设计“接受事物”模块;对事务路径,应设计 “发送控制”模块。 ③进行二级分解,设计中下层模块;接受分支,用类似于转换处理 型数据流图中对输入数据流的方法设计中下层。对于发送分支,在 发送控制模块下为每条事务路径设计一个事务处理模块,这一层称 为事务层。
面向数据流方法的设计过程
精化数据流图 “事务” 区分事务中心 和数据接收路径 映射成事务结构 流类型 “变换” 区分输入和 输出分支 映射成变换结构
事务分析
用启发式设计规则精化软件结构
导出接口描述和全程数据结构 复查 详细设计
变换分析
系统结构特征可归纳为两 种典型形式
• 变换型结构 • 事务型结构
e
Get C Get E c e b d b d Get B B to C Read D D to E b a a A to B Read D
传出分支的分解
w,u w,u ME
ME
w
W U
u v
V
(1)
w
Write W
u
Put U v
Write V
u U to V
v
(2)
中心加工分支的分解 MT e
事务分析设计方法
• 步骤:
(1)在DFD上确定事务中心、接收部 分和发送部分。 (2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。 (3)分解细化接收分支和发送分支, 完成初始SC。
D
用户 命令
读用户 命令来自百度文库原配置 系统参数 建立配 数据 数据 置文件 读系统 数据 格式化 配置命令 格式化 配置 数据
配置信息
格式化 配置数据
显示信息 和状态
命令 类型
命令 开/关 分析处理 命令
配置数据
密码命令 密码
A/D信 激活/非活动系 息
统
读 密码 四位 数字
与文件中 密码比较
检验 信息 检验 信息
显示 信息
重试 检验信 信息
息过程
初始的SC
主模块
由变换分 析产生
输入模块
主加工模块
输入模块
事务控制模块 由事务分 析产生 接受模块 动作1模块 动作发送模块 动作2模块 动作3模块
(1) 变换分析设计方法
步骤:
(1)区分传入、变换中心、 传出部分,在 DFD 上 标明分界线
a
A 传入 部分 B
b C
变换中心 c P w r W
p
d
R u U
传出 部分
v V
D
E
e
Q
变换分析设计方法
• 步骤:
(2)第一级分解(建立初始SC框架) 设计顶层和第一层模块
第一级分解的方法
MC
MA MT ME
统
读 密码 四位 数字
与文件中 密码比较
检验 信息 检验 信息
显示 信息
重试 检验信 信息
息过程
用户命令交互子系统的SC
用户执行模块
读用户命令
系统设置 控制器 读系统 数据 建立配 置文件
命令处理
现用/非现用 系统 读 密码 密码处理 控制器 密码输出 控制器 产生 无效信息
用文件 比较密码
显示信息 与状态
X X
源模块
漏模块
SC图中的模块调用
• 简单调用 ─ 在SC图中,调用线的 箭头指向被调用模块。
A
X,Y Z Z 1
A
2 1 2
入 X,Y Z
出 Z ----
B
C
B
C
简单调用的两种表示法
• 选择调用 ─ 在SC图中,用菱形符 号表示选择。 • 循环调用 ─ 在SC图中,用叠加在 调用线始端的环行箭头表示。
要修改 的记录
已修改
写 记 录
修 报告 改 记 录 已修改 的记录 新记录
取顺序 记录
旧记录
旧 记 录
取修改 信息
顺序 记录 顺序 卡片 顺序 卡片
比较 账号
写 记录
已编辑 卡片
修改 记录
打印 报告
打印 记录
读旧 记录
检查 顺序
卡片
取 卡片
卡片 顺序 卡片
编辑 卡片
“编辑卡片”应继 续向下分解,是典 型的“事务处理” 型的DFD图。
第一级分解后的SC
MC
c,e
c,e u,w u,w
顶层
MA
传入模块
MT
中心变 换模块
ME
传出模块
第一层
变换分析设计方法
• 步骤:
(3)第二级分解(分解SC各分支) 自顶向下分解,设计出每个分支的中、 下层模块
传入分支的分解(1)
c,e MA
d
c
C
b
e
E
B
a
D
A
传入分支的分解(2)
c,e
c
MA
命令处理
现用/非现用 系统 密码处理 控制器
显示信息 与状态
D
用户 命令
读用户 命令 原配置 系统参数 建立配 数据 数据 置文件 读系统 数据 格式化 配置命令 格式化 配置 数据
配置信息
格式化 配置数据
显示信息 和状态
命令 类型
命令 开/关 分析处理 命令
配置数据
密码命令 密码
A/D信 激活/非活动系 息
X
传出模块
Y
• 变换模块 ─ 它从上级模块取得数 据,进行特定的处理,转换成其它 形式,再传送回上级模块。它加工 的数据流叫做变换数据流。 • 控制模块 ─ 对所有下属模块进行 协调和控制的模块。
X Y X
控制模块 … …
Y
变换模块
• 源模块 ─ 不调用其他模块的传 入模块,只使用于部分的始端。 • 漏模块 ─不调用其他模块的传 出模块,仅用于传出部分的末 端。
读卡片
检查顺序
模块结构图的改进
模块结构图的改进
按照“降低块间联系,提高块内联系”的设计总则进行 修改,完善系统的模块图,写出模块的功能说明。 具体应从以下方面改进: 1)尽可能建立功能模块 功能模块具有最强的内聚性,应满足信息屏蔽原则: 一个模块内所包含的信息(过程和数据)对不需要这些信 息的模块是不能访问的(黑盒)。 功能模块的组成: 执行某项任务的部分 出错处理部分 返回结束标志
Q p
c,p
P
r
u,w
r
R
变换分析步骤 变换分析技术
③ 进行二级分解,设计中下层模块
这一步的工作是自顶向下,逐步细化,为第一层的每一个输入模块、 输出模块、处理模块设计它们的从属模块,设计下层模块的顺序一般从设 计输入模块的下层开始。
④ 进一步细化
M C 2号 C
加工 中心 加工
C
D CT
D CO
图3.28修改贷款文件DFD
应用举例
需求分析结果 — DFD 图
卡片 错误 检 查 顺 序
顺序卡片 编 辑 卡 片 修改信息 顺序记录 账 号 相 等 不修改 的记录 写 记 录 要修改 的记录 修 改 记 录 已修改 的记录
顺序 卡片
2
3 抽 出 修 改 报告 抽 出 编 辑 修改 信息
4
旧记录
取 A
动作1
L
…. 动作n
M
N (操作模块) …. (细节模块)
细节模块1
细节模块2
事务型数据流图举例
B A
L
C
E
I
M N
F G
O
H
D
事务流设计举例 (另一种画 法)
XX系统 A
输入 A
B E A E、F、G E、F、G
变换控制
G C
输出 E、F、G
E、F、 G H
F
H
输出H
D
L
M
N
O
应用举例
P1 I P2
接受事务 事务控制 发送事务
对 应 模 块
P3
P3
事物流 事务中心 事务处理
P1
P2
图
原 始 的 数 据 流 图
事务分析技术
用户命令交互子系统初始 的SC
用户执行模块
读用户命令
命令处理
系统设置 控制器
现用/非现用 系统
密码处理 控制器
D
用户 命令
读用户 命令 原配置 系统参数 建立配 数据 数据 置文件 读系统 数据 格式化 配置命令 格式化 配置 数据
E H
O
G N
大型系统DFD中,变换型和 事务型结构往往共存:
传入
T 事务中心 变换 传出
系统结构图SC的符号
• 传入模块 ─ 从下属模块取得数据, 经过某些处理,再将其传送给上 级模块。它传送的数据流叫做逻 辑输入数据流。
模块 Y
传入模块
X X
模块间的调用关系
传入、传出模块的 数据流
• 传出模块 ─ 从上级模块获得数据, 进行某些处理,再将其传送给下 属模块。它传送的数据流叫做逻 辑输出数据流。
检 查 次 序
主加工
5
6 7 9
答案
新记录
主加工是??
修改贷款文件的DFD图
编辑卡片加工分解
图3.29模块结构图 应用举例
将DFD图转换为模块结构图
转换后的模块图如图所示。
贷款文件
管理系统
顺序记录
卡片
检 查 顺 序 检 查 次 序
顺序卡片
错误 旧记录 顺序记录
编 辑 卡 片 修改信息 账 号 相 等 不修改 的记录
将分析模型转换为设计
加 工 据 规 对 实 数 体 格 据 象 关 流 说 描 系 述 图 数据词典 图 明 数 状态转换图 控制 说明 规格
过程设计 接口设计 体系结构设计
数据设计
结构化设计方法
• SD方法是20世纪70年代中期由Stevens、 Myers与Constantine等人率先倡导的, 是SA方法的延续。形成了基于DFD图的 SA、SD的软件开发方法。 • SD方法的中心任务是把DFD图表示的系 统分析模型方便地转换为软件结构的 设计模型。 • 软件的总体结构用SC(Structure Chart)来表示。
A
A
B
C
D
B
C
选择调用和循环调用
初始的SC
主模块
由变换分 析产生
输入模块
主加工模块
输入模块
事务控制模块 由事务分 析产生 接受模块 动作1模块 动作发送模块 动作2模块 动作3模块
(1)变换分析
• 变换分析方法由以下四步组成:
– –
– –
重画数据流图; 区分有效(逻辑)输入、有效(逻辑) 输出和中心变换部分; 进行一级分解,设计上层模块; 进行二级分解,设计输入、输出和 中心变换部分的中、下层模块。
数据流图可分为两种类型:
• 变换型数据流 • 事务型数据流
基本模型 特征
变换型 输入 结构 变换 中心
输出
由输入、变换 中心和输出三 部分组成
接受 事务型 路径 结构
事务 中心
动 作 路 径
具有在多种事 务中选择执行 某类事物的能 力
基本模型
变换型 数据流 结构
传入 部分 传入
接受 部分 接受
变换 中心 变换 事务 中心 事务 分析
• 概述 • 结构化设计方法 • 过程设计 • Jackson方法
面向数据流设计和面向数据结构设计
• 面向数据流设计是从数据流出发,按 照数据流图的不同类型(变换型或事 务型)将它们转换为相应的软件结构, 以SD为代表。 • 面向数据结构设计以Jackson方法为 代表,由数据结构导出程序结构。 • 概要设计可采用SD方法,过程设计可 部分的、或全部的采用Jackson方法。
面向数据流的设计方法
• SD以数据流图为基础,它定义了把 DFD变换成软件结构的不同映射方法
DFD (问题结构)
映射 软件系统的结构 (程序结构)
面向数据流设计方法的设 计步骤
(1)精化DFD (2)确定DFD类型 (3)把DFD映射到系统模块结构设计 出模块结构的上层 (4)基于DFD逐步分解高层模块设计 出下层模块 (5)根据模块独立性原理,精化模 块结构 (6)模块接口描述
分析: 1. 贷款文件的记录格式(如表3-1 ) 2. 修改记录(卡片)格式 要求对贷款文件进行修改,修改信息由卡片输入,卡片上的修改信息格 式如下: 1-5位 账号 6-9位 空 10位起
×× 修改值1* ×× 修改值2* …..** (序号) 其中 * 为分界符, * * 为结束符 3. 需求分析结果 贷款文件的DFD 图,是一种混合的 DFD 图。 输入为:卡片和旧记录。 输出为:新记录和报告。 4、将DFD图转换为模块结构图。