《软件工程》第4课 结构化分析与设计2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

税收 扣款
编外人员 税 收
常规 扣款
编外人员 扣 款
例子:扇出
计 算 实发工资
塔型结构
取 得 工资数据
计时工人 实发工资
计薪工人 实发工资
编外人员 实wk.baidu.com工资
计时制 工资额
税收 扣款
薪金制 工资额
常规 扣款
编外人员 工 资
编外人员 税 收
编外人员 扣 款
课堂互动
• 怎样用通俗易懂的话语解释变换型结构和 事务型结构?童磊
T
S1
F
S S2
S
Until C
顺序
选择
循环
课堂互动
• P71:12题
小结
• 基于瀑布模型的结构化分析与设计和模块 设计。以实例(从“教材销售”到“教材 购销”)为主线,依次展示了结构化分析、 结构化设计和模块设计的常用技术。
问题解答
• 如果同层的扇出数量过多,但是它的等级相同,不能使用增加中间层 的方法,那应该怎么办?武羿竹 • 如何可以不拘泥于DFD图上对应的加工位置而合理的变更模块位置? 荣婉如 • 一个系统中可以有若干个事务中心吗?赵家仪 • 划分边界时会不会有一些系统没有变换中心?数据在经过变换中心形 式也许会发生变化,但内容有可能发生改变吗?党伟 • 映射规则是唯一的吗?形成的sc图会不会有所出入呢?李娜娜 • 怎样用通俗易懂的话语解释变换型结构和事务型结构?童磊 • 从SA获得的DFD中,所有的系统可归结为变换型结构和事务性结构是 否太绝对了?肖剑文 • 如果事物类型中的动作路径只有一条的话,就相当于变化类型,这么 说对吗?周洁莹 • 事务性结构中可以包括变换型结构,那么事务映射又是否包括变换映 射,两者的具体区别在于什么?王砚冲
课外任务
• 作业
–P71:习题11、习题14、习题15。 –电子版作业随前馈一起上交。 –纸质版周一由课代表收齐10点送到415。
• 从教学群下载“《软件工程》课程学案 .doc”文件完成第5次课学案内容并填写“ 《软件工程》课程前馈表”于本周六17:00 前由各组组长收集(每组集成到一个文件 中)通过QQ群及时反馈。
–事务(transaction)型结构
• 一条接受路径 • 一个事务中心 • 若干条动作路径
• 增加层次控制模块。
变换结构的DFD
信息
传入流
传入 传出
变换 中心
传出流
变换流
时间
事务型结构DFD
接受路径 事务中心 动作路径
同时存在两类结构
传入 变换 传出
T 事务中心
SD方法的步骤
• 复审DFD,必要时可再次进行修改或细化 • 鉴别DFD所表示的软件系统的结构特征, 确定代表的软件结构是属于变换型还是事 务型。 • 按照SD方法规定的一组规则,把DFD图映 射为初始的SC图
第4课 结构化分析与设计-2
知识回顾
• SA模型的组成与描述 • SD模型的组成与描述 • 结构化系统分析
–画分层数据流图 –确定数据定义与加工策略 –需求分析的复审
前馈及作业总结
• 1、8、12组相对较好。 • 党伟 • 主动思考,提出高质量问题。
前馈检查
• SC图作用是什么? • 如何理解变换映射? • 如何理解事务映射? • 模块详细说明的主要内容?
–扇入高则上级模块多,能够增加模块的利用率。 –扇出低则表示下级模块少,可以减少模块调用和控制 的复杂度。 –通常扇出数以3-4为宜。 –具有瓮形结构,两头小,中间大。
扇入和扇出
M
M M的扇入
M的扇出
例子:扇出
计算 实发工资
煎饼形结构 不可取!
取得 工资数据
计时制 工资额
薪金制 工资额
编外人员 工 资
– 分解实质上是“映射”。
例子—划分DFD
变换中心
A
a
B
b
W
C
c
P
r p
w
R
D
d
u
U
E
e
v
Q
V
传入部分
传出部分
第一级分解
MC
c,e c,e
MA MT
u,w
u,w
ME
传入分支的分解
c,e
MA
c
GetC
e
GetE
b
GetB
b b
c
BtoC
d
ReadD
d
b
DtoE
a
ReadA
a
AtoB
传出分支的分解
4.模块设计
• 模块设计也称详细设计 • 目的
–为SC图中的每个模块确定算法和数据结构,用 选定的表达工具给出清晰的描述。
• 主要任务
–编写软件的“模块设计说明书”。
• 为每个模块确定采用的算法。 • 使用的数据结构。 • 确定模块接口的细节。
模块设计的原则与方法
• 清晰第一的设计风格 • 结构化的控制结构
w,u ME w WriteW u UtoV v u PutU v Write V
变换中心的分解
MT
e p
c,p
r
r
w,u
Q
P
R
初始SC图
MC MA MT ME
GetC
Get E
Q
P
R
Write W
Uto V
PutU
GetB
BtoC
Read D
DtoE
Write V
ReadA
A toB
事务映射
顶层
接收
发送
第一层
混合结构
C 1
c1 c2
C 2
D
G
d c3
C 3 E
e g f
F
h
J
k
b1
B
K
b2
j
l
L
b
A
b3
m
a
优化结构设计的指导规则
• 对模块划分的规则
– 一般来说,模块的总行数应控制在10-100行范围内,最 好为30-60行。但小模块太多也会使块间联系变得复杂。
• 高扇入/低扇出的原则
–仅用这三种控制结构来构成程序 –每个控制结构只应有一个入口和一个出口
• 逐步细化的实现方法
–由粗到细对程序逐步细化。 –同时对数据描述进行细化。 –使用相同的结构化语言,最后一般直接用伪代 码来描述。
常用的表达工具
• 流程图 • N -S图 • 伪代码 • PDL语言
N-S图
S1 S2
C
While C
变换型DFD图 事务型DFD图 变换映射 事务映射 初始SC图 初始SC图
• 按照优化设计的指导原则改进初始的SC图, 获得最终SC图
变换映射
• 划分DFD图的边界 。 • 建立初始SC图的框架。
– 顶层都只含一个用于控制的主模块。 – 第一层包括传入、传出和中心变换三个模块。
• 分解SC图的各个分支
–从分析模型导出设计模型 –结构化设计的描述工具:SC图
从分析模型导出设计模型
数据对象描述
PSPEC DFD
过程设计
E-R DD
接口设计 体系结构设计
CFD 数据设计 CSPEC
从DFD到SC——数据流图的类型
• 数据流图的类型
–变换(transform)型结构
• 传入路径 • 变换中心 • 传出路径
讲授内容
• 结构化系统设计
–SD的步骤:从DFD图到SC图 –变换映射 –事务映射 –优化初始SC图的指导规则
• 模块设计
–模块设计的原则与方法 –常用的表达工具
3.结构化系统设计
• SD概述 –面向数据流设计和面向数据设计
•面向数据流:数据流是考虑一切问题的出 发点。SD方法把注意力集中在模块的合理 划分上。 •面向数据:以数据结构作为分析与设计的 基础。
• 在DFD图上确定边界
– 事务中心 – 接受部分(包括接受路径) – 发送部分(包括全部动作路径)
• 画出SC图框架
–DFD图的三个部分分别映射为事务控制模块, 接受模块和动作发送模块
• 分解和细化接受分支和发送分支
例子—划分DFD
事务中心 传入 接受部分 变换 传出
T
动作部分
第一层分解
事务控制
相关文档
最新文档