当前位置:文档之家› 传统的软件工程方法

传统的软件工程方法



特点:
具有较明显的输入、变换(或称主加工) 和输出界面的数据流图,即该类数据流图可 明显的分为输入、主加工和输出三部分。
输入
汇款单
主加工
合格的 汇款单 计算 汇率 核准后的 汇款单
输出
打印 收据 收 据
格式 检查
物理输入
物理输出

特点: 某个加工将它的输入分离成一串发
散的数据流,形成许多活动路径,并根据输 入的值选择其中的一条路径。
MA
w,u
输 出 分 支 的 分 解
ME
w,u
ME
w
W U
u v
V
w
Write W
u
Put U
u
v (2)vΒιβλιοθήκη U to V Write V
(1)
中心加工分支的分解
MT e
Q
p
c,p
r
u,w
r R
P
4.5.3 事务分析设计方法
任何情况下都可使用变 换分析方法设计软件结构, 但如数据流具有明显的事务 特点时(有一个明显的事务 中),以采用事务分析方法为 宜。
分房 处理
住户要求 检查 合法性 事务中心 调房单
调房 处理
活动 路径
退房 处理
大型系统DFD中,变换型和事 务型往往共存:
传入 变换 传出
T
事务中心
4.5.2 变换分析设计方法
(1)区分输入、变换中心、输出部分,在 DFD 上标明分界线。 输入边界:从物理输入端开始,一步步的向系统 内移动,直到某个数据流不能被看作是系统的输 入为止,则这个数据流的前一个数据流就是系统 的逻辑输入(离物理输入最远,而仍被看作系统 的输入的那个数据流)。 输出边界:从物理输出端开始,一步步的向系统 内移动,同样可以找到逻辑输出(离物理输出最 远,而仍被看作系统的输出的那个数据流)。 主加工:逻辑输入与逻辑输出之间的部分。
A
a
B
b
变换中心
C
输入 部分
c r P
w
W
输出 部分
D
d
e E
R p u Q
U
v
V
变换分析设计方法步骤:
(2)第一级分解(建立初始SC框
架)
设计顶层和第一层模块
第一级分解后的SC
传送信息
MC
u,w
顶层
c,e c,e u,w
MA MT
ME
第一层
第一级分解后的SC(另一种画法)
MC
c
e
e
Q
p
r
w,u
第一部分 传统的软件工程方法
第二章 第三章 第四章 第五章 系统分析 需求分析 软件设计 软件测试
第四章 软件设计
4· 1 软件设计的目标和任务 4· 2 软件的设计基础 4· 3 模块的独立性 4· 4 结构设计中的图形工具 4· 5 概要设计的方法 4· 6 详细设计的描述方法 4· 7 《软件设计说明书》 4· 8 本章重点
(1) 模块功能的完善化
完整的模块应包括三部分: (1)执行规定功能部分 (2)出错处理部分 (3)需返回给调用者数据时, 返回是否正确结束标志。
(2)消除重复功能
A
C C
B
A′
B′
C 改进前 改进后
(3) 作用范围在控制范围内
模块的控制范围(控制域) : 包括模块本身和其下属模块的集合。 模块的作用范围(作用域):
u,w
w ME1 ME2
c,p r
MA1 MA2
P
R
变换分析设计方法步骤:
(3)第二级分解(分解SC各分支) 自顶向下分解,设计出每个分 支的中、下层模块
c,e
输 入 分 支 的 分 解 (1)
c
MA
d
e
C
b
E D
B
a
A
c,e 输 e c 入 分 Get C Get E e c 支 b d d b 的 Get B B to C Read D D to E 分 b 解 a a (2) Read D A to B
事务分析设计方法步骤:
(1)在DFD上确定事务中心、接收 部分和发送部分。 (2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。 (3)分解细化接收分支和发送分支, 完成初始SC。
事务型DFD的划分
接收 部分
事务 中心
传入 变换 传出
T
发 送 部 分
事务型SC的上层结构 (1)
4.5 概要设计的方法
结构化设计方法(SD) 国际上应用最广,技术上比较完善 的系统设计方法。
结构化设计方法(SD)是以数据流图 为基础的,它定义了把数据流图变换成 软件结构的不同映射方法,所以这种方 法也称为面向数据流的设计方法。
4.5 概要设计的方法
面向数据流设计方法的任务: 映射 DFD 软件系统的结构 软件系统 软件结构的 逻辑模型 初始结构描述
c3 E g J
C3
f
K
B
b3
F
j
l
L
m
A a
4.5.4 设计优化
将初始SC根据模块独立性原则进行 精化,对模块进行合并、分解修改、调 整,得到高内聚、低耦合模块,得到 易于实现、易于测试和易于维护的软 件结构,产生设计文档的最终SC。
改进软件结构的指导原则
(1)模块功能的完善化 (2)消除重复功能 (3)作用范围应在控制范围内 (4)减少高扇出争取高扇入 (5)模块大小适中 (6)降低模块接口的复杂性 (7)模块功能可预测
判定位置违反了作用范围/控制范围原则
判定的作用 范围有一部 分(模块C) 越出了判定 所在模块G的 控制范围
TOP
A C
B D E G
条件 判定
G
D
B
C
符合作用范围/控制范围原则 ,但判定位置太高 条件 TOP 判定
A
B C D E G
TOP TOP
B B
C D
G
符合作用范围/控制范围原则 ,判定位置适中 TOP
B
C
A
B C E
条件 判定
B
D
G
D G
符合作用范围/控制范围的理 想判定位置 TOP
A
B C E D
条件 判定
D D
E G
G
修改模块结构方法:
(1)将包含条件判定的模块合并到它的调 用模块中,使判定处于较高位置。 (2)将接受判定影响的模块下移到控制范 围内。
事务控制 接收 发送
顶层
第一层
事务型SC的上层结构 (2)
事务控制 事务 发送 分析
N-S图
动作分支的典型结构
处理层
P
T 1 T 2 T i A j
事务层 操作层 细节层
A 1 A 2 A 3 D 1 D 2
D k
练习:从下DFD导出初始SC
c1 D C1 c2
b1 b2 C2
b
d
G h e
k
指受该模块内一个条件判定影响的所有 模块的集合。
两者区别: 控制域是从结构方面考虑的作用域是 从功能方面考虑的。
模块的作用范围和控制范围
M A B D G C E
模块A的作用范围: A、 B、 C、 D、 E、 F
F
:条件判定
作用范围/控制范围原则:
把一个条件判定的作用范 围限制在判定所在模块的控制 范围之内。 (作用域是控制域的子集)
相关主题