配色: 字号:
第4章 结构化设计方法
2022-09-23 | 阅:  转:  |  分享 
  
第4章结构化设计方法结构化设计方法概述面向数据流的设计方法结构化详细设计的工具4.1结构化设计方法概述结构化设计分为面向数据流的
设计方法和面向数据的设计方法。面向数据流的设计方法是根据对数据流图理解的不同,对数据流图自动化边界划分的不同,分为变换分析法、事
务分析法和混合分析法。面向数据的设计方法在基于系统数据结构的基础上,分析系统输入、输出的数据间的映射关系,进而得到系统结构的设计
方法。4.1结构化设计方法概述面向数据流的设计方法,可归纳为三种典型形式:1.变换分析法2.事务分析法3.混合分析法4.
1结构化设计方法概述1.变换分析法4.1结构化设计方法概述2.事务分析法4.1结构化设计方法概述3.混合分析法论文格
式1.0打开论文文件2.0关闭论文文件3.0编辑4.0目录5.0检索3.1章节标题3.2段落3.3文字3.4节4.2面向数据流
的设计方法表示软件系统结构的图形工具之一:层次图层次图(HierarchyDiagram,HD)用于描绘软件系统的层次结构。层次
图中的编号,清楚的反映了上下层间的调用隶属关系,这与数据流图的分层编号一致。层次图只反映上下层间的调用关系,不反映系统的组成关系,
也不反映系统执行过程。4.2面向数据流的设计方法表示软件系统结构的图形工具之一:结构图结构图用于软件系统结构的设计,它与层
次图类似,也是以方框表示模块,方框间的连线表示调用关系。编辑学生记录学生数据不加区分的数据学号无此学生数据信息读学生记录控制信息
精化数据流图“变换”“事务”流类型区分事务中心和数据接收通路区分输入和输出分支映射成事务结构映射成变换结构用启发式设计规则精化软件
结构事务分析变换分析导出接口描述和全程数据结构复查详细设计面向数据流的设计过程4.2面向数据流的设计方法面向数据流设计方法
的设计步骤——变换分析法复审顶级数据流图(1)确定信息流的类型,精化DFD;(2)划定流界,确定信息流(DFD)类型;(3)把DF
D映射到系统模块结构,设计出模块结构的上层;(4)基于DFD逐步分解高层模块,设计出层次控制结构;(5)根据模块独立性原理,精化模
块结构;精化数据流图4.2面向数据流的设计方法面向数据流设计方法的设计步骤——变换分析法复审顶级数据流图(1)确定信息流的类型,
精化DFD;精化数据流图4.2面向数据流的设计方法面向数据流设计方法的设计步骤——变换分析法(2)划定流界,确定信息流(DF
D)类型;4.2面向数据流的设计方法面向数据流设计方法的设计步骤——变换分析法(3)把DFD映射到系统模块结构,设计出模块结
构的上层4.2面向数据流的设计方法面向数据流设计方法的设计步骤——变换分析法(4)基于DFD逐步分解高层模块,设计出层次控制
结构;4.2面向数据流的设计方法面向数据流设计方法的设计步骤——变换分析法(4)基于DFD逐步分解高层模块,设计出层次控制结
构;4.2面向数据流的设计方法面向数据流设计方法的设计步骤——变换分析法(5)根据模块独立性原理,精化模块结构;4.2面向
数据流的设计方法事务分析法原则上,任何系统都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中
心),以采用事务分析方法为宜。当数据例图中具有事务特征,即能找到事务中心和对应的多条活动路径,则用事务分析法更能体现以事务为主的处
理过程。动作路径基本模型输入数据事务中心4.2面向数据流的设计方法事务分析法原则上,任何系统都可使用变换分析方法设计软件结
构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。4.2面向数据流的设计方法事务分析设计方法步
骤:(1)复审并精化数据流图;(2)确定数据流图特征,判断是变换流还是事务流;(3)设定自动化边界,分离出事务中心和事务路径
;4.2面向数据流的设计方法事务分析设计方法步骤:(4)执行“一级分解”;(5)执行“二级分解”;(6)采用启发式规则。
4.2面向数据流的设计方法事务型DFD的划分变换传出传入事务中心输入输出部分T4.2面向数据流的设计方法混合分析法:在大规模
和复杂系统的数据流图中,常常需要将变换分析法和事务分析法结合使用,共同构建软件系统结构图。4.2面向数据流的设计方法混合分析法:
在大规模和复杂系统的数据流图中,常常需要将变换分析法和事务分析法结合使用,共同构建软件系统结构图。4.2面向数据流的设计方法变
换分析法、事务分析法和混合分析法比较:(1)如果模块A、B、C、D、E是顶层数据流图外部数据交换部分,则变换分析法的设计方案较好。
(2)如果模块A、B、C、D、E是系统内部数据交换部分,与模块F和G耦合度高,则事务分析法的设计方案较好。(3)如果模块J、K、M
是系统内部转换模块,则事务分析法和混合分析法的设计方案较好。4.3案例--简历自动获取和查询系统的数据流设计方法变换分析设计方法
步骤:(1)复审并精化数据流图;(2)确定数据流图特征,判断是变换流还是事务流;(3)设定自动化边界,分离出事务中心和事务路
径;4.3案例--简历自动获取和查询系统的数据流设计方法变换分析设计方法步骤:(4)执行“一级分解”;(5)执行“二级分解
”;(6)采用启发式规则。4.3案例--简历自动获取和查询系统的数据流设计方法事务分析设计方法步骤:(1)复审并精化数据流图
;(2)确定数据流图特征,判断是变换流还是事务流;(3)设定自动化边界,分离出事务中心和事务路径;4.3案例--简历自动获
取和查询系统的数据流设计方法事务分析设计方法步骤:(4)执行“一级分解”;(5)执行“二级分解”;(6)采用启发式规则。4.
4结构化详细设计的工具结构化设计的详细设计阶段,主要完成系统各模块功能的过程描述。详细设计提供了图形、表格和语言等三类不同工
具。无论何种图形工具,都提供结构化程序设计对应的控制流程,以及功能的处理、数据的组织、数据结构的描述,以利于从详细设计到程序的实
现。4.4结构化详细设计的工具详细设计中常用的图形工具详细设计常用表示方法图形工具表格工具语言工具1.程序流程图2.
盒图(N-S图)3.问题分析图(PAD)4.判定树、判定表5.过程设计语言(PDL)(伪码)4.4结构化详细设计的工具1
.程序流程图(PFD—ProgramFlowDiagram)控制结构1.顺序型(图1)2.选择型(图2)3.循环
型先判断后循环(图3.1)先循环后判断(图3.2)(图2)(图3.2)(图1)(图3.1)4.4结构化详细设计的工具
例:输入一个班共N个学生的成绩,求全班这门课的平均分、最高分和最低分4.4结构化详细设计的工具用方框图代替传统的流程图描述五种
基本控制结构的图形构件(1)顺序型A2盒图(N-S图)B(2)选择型(If–then–else)If–then
–elseIf–thenC(3)多分支选择型(CASE型)条件条件FFTT条件BAA值1值2....值nthen部分th
en部分else部分A1A2....An4.4结构化详细设计的工具2盒图(N-S图)(4)WHILE重复型(5)UNTIL
重复型(后测试循环)(先测试循环)S(循环体)DO-WHILEPS(循环体)REPEATUNTILP循环条件4.4结构化
详细设计的工具例:一个判断三角形类型的程序。4.4结构化详细设计的工具3问题分析图(PAD)(ProblemAnaly
sisDiagram)基本控制结构:AAT条件BFCB(2)选择结构(1)顺序结构4.4结构化详细设计的工具3问题分析图(
PAD)(ProblemAnalysisDiagram)基本控制结构:(3)重复结构(4)多分支选择型(CASE型)(先测
试循环)A1值1条件值2A2WHILECS......(后测试循环)值nAnUNTILCS4.4结构化详细设计的工具例:
有一个已按递增排序的数组A(1),A(2),...,A(n)。用折半法查找查找给定关键词KEY。如果查找成功,则返回数组A的下标,
否则将关键词KEY按递增顺序插入数组A中。4.4结构化详细设计的工具4.判定树例:为了节约能源,制定如下两套水费收费方案,固定
费率和可变费率。4.4结构化详细设计的工具5.判定表例:为了节约能源,制定如下两套水费收费方案,固定费率和可变费率。4.4结
构化详细设计的工具12345.判定表条件1TFFF条件条件组合条件2TFF条件3TFx输入√√√√y输入√√√√公式√1动作公式条
件对应动作√2公式√3公式√4NameA√√√√4.4结构化详细设计的工具针对软件设计的符号体系的提出、设计和分析,应该遵循以下的标准:⑴面向代码。⑵控制逻辑。⑶模块化设计。⑷对结构化设计的支持。⑸数据表示。⑹易测试、易维护。⑺易于代码的机器自动生成。第4章小结结构化设计方法:变换分析法、事务分析法、混合分析法面向数据流的设计方法:层次图、结构图结构化详细设计的工具:程序流程图、盒图、问题分析图、判定树、判定表
献花(0)
+1
(本文系太好学原创)