第五章传统设计方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

用户 命令
读用户 命令来自百度文库原配置 系统参数 建立配 数据 数据 置文件 读系统 数据 格式化 配置命令 格式化 配置 数据
配置信息
格式化 配置数据
显示信息 和状态
命令 类型
命令 开/关 分析处理 命令
配置数据
密码命令 密码
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
命令处理
现用/非现用 系统 密码处理 控制器
显示信息 与状态

用户 命令
读用户 命令 原配置 系统参数 建立配 数据 数据 置文件 读系统 数据 格式化 配置命令 格式化 配置 数据
配置信息
格式化 配置数据
显示信息 和状态
命令 类型
命令 开/关 分析处理 命令
配置数据
密码命令 密码
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
用户执行模块
读用户命令
命令处理
系统设置 控制器
现用/非现用 系统
密码处理 控制器

用户 命令
读用户 命令 原配置 系统参数 建立配 数据 数据 置文件 读系统 数据 格式化 配置命令 格式化 配置 数据
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图转换为模块结构图。
相关文档
最新文档