浙大软件工程03_第1页
浙大软件工程03_第2页
浙大软件工程03_第3页
浙大软件工程03_第4页
浙大软件工程03_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 详细设计结构程序设计详细设计的工具Jackson程序设计方法Warnier程序设计方法程序复杂程度的定量度量结构程序设计自顶向下逐步求精具有单入、单出的控制结构(取消GOTO语句)五种控制结构顺序结构选择结构先判断循环结构后判断循环结构多选择结构结构程序设计(1) 顺序结构(2) 选择结构ABPBAFT(3) 先判定型循环结构TPSF结构程序设计(4) 后判定型循环结构(until-loop structure)FSTP(5) 多情况选择(case structure)TA1FP=1TA2FP=2TAnFP=n结构程序设计任何复杂的程序流程图都应由以上五种基本结构组合而成。优点容易掌握

2、,且历史“悠久”,使用广泛。缺点本质上不具备逐步求精的特点,对于提高大型系统的可理解性作用甚微;不易表示数据结构;转移控制太方便。详细设计的工具5.2.1 程序流程图5.2.2 盒图(N_S图)5.2.3 PAD图5.2.4 判定表5.2.5 判定树5.2.6 过程设计语言(PDL)5.2.7 模块开发文件夹详细设计的工具程序流程图详细设计的工具程序流程图详细设计的工具盒图(N_S图)详细设计的工具盒图(N_S图) 例子详细设计的工具盒图(N_S图)特点没有箭头,不允许随意转移控制每个矩形框(Case中条件取值例外)都是一个功能域(即一个特定结构的作用域),结构表示明确局部及全程数据的作用域易

3、见易表现嵌套关系(embedded structure)以及模块的层 次结构详细设计的工具问题分析图(PDA图)详细设计的工具盒图和PDA图的转换x4TFDo-Until x5ighfkx1TFbDo-Until x6aj详细设计的工具开始 结束 aj Until x5i Until x6bx1kfx4gh盒图和PDA图的转换详细设计的工具问题分析图(PDA图)特点结构清晰,层次分明,易读支持逐步求精的设计思想容易将PAD自动转换为高级语言源程序详细设计的工具判定表与判定树表示复杂的条件组合与应做动作之间的对应关系判定表与判定树并不适用于作为一种通用的设计工具,通常将之用于辅助测试例: 航空行

4、李托运费的算法按规定:重量不超过30公斤的行李可免费托运。重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。 详细设计的工具规则 规则数 条件 动作详细设计的工具行李费算法行李重量W 30行李重量W 30免费国内乘客外国乘客头等舱其他舱残疾乘客正常乘客(W-30) 2(W-30) 4残疾乘客正常乘客(W-30) 3(W-30) 6头等舱其他舱残疾乘客正常乘客(W-30) 4(W-30) 8残疾乘客正常乘客(W-30) 6(W-30) 12用判定树表示计算行李费的算法详细设计的工具过程设计语言

5、(PDL)应具备特点关键字有固定的语法处理特点用自然语言描述有数据说明有子程序定义与调用机制详细设计的工具过程设计语言(PDL)优点易于实现由PDL到源代码的自动转换缺点不够直观模块开发文件夹 记录模块开发过程的文档Jackson程序设计方法5.3.1 Jackson图5.3.2 改进的Jackson图5.3.3 Jackson方法Jackson程序设计方法Jackson图(改进)以数据结构(data structure)为基础设计每个模块的处理过程ABCABoCoSAB*I 顺序 选择 重复 改进的Jackson图Jackson程序设计方法Jackson方法(具体示例见P90)步骤用Jack

6、son图描述 IO 的数据结构在两个图中指出有直接因果关系(causality)、可以同时处理的单元(重复的次序,次数均相同)把有对应关系的单元合为一个处理框,画在相应的层次中(不同层以低层为准)列出所有操作条件,并分配到上幅程序结构图中用伪代码(Pseudocode) 表示程序。Warnier程序设计方法5.4.1 Warnier方法5.4.2 Warnier方法的辅助技术Warnier程序设计方法Warnier方法步骤(示例见P96)用Warnier 图描述IO的数据结构导出程序结构,用Warnier图描绘程序的处理层次画出程序流程图,并将每个处理框编号分类写出伪码将前一步分类结果标号排序

7、,得到处理过程的伪码Warnier方法的辅助技术当IO 数据有多个时,借助判定表程序复杂程度的定量度量5.5.1 McCode方法5.5.2 Halstead方法程序复杂程度的定量度量McCode方法由程序流程图导出程序图TOTAL=TOTAL+AK+输入A输出K, L, TOTAL停止T开始K=0L=0TOTAL=0输入ADo While TOTAL0TL+Fa(开始)b(入口)cdefghij(出口)k(停止)导出程序复杂程度的定量度量McCode方法计算复杂度V(G) = m - n + p其中V(G) 为强连通有向图G中线性无关环的个数(称为 ;m 是边数; n 是 节 点 数;p 是G中连通集的数目程序复杂程度的定量度量McCode方法实例计算a(开始)b(入口)cdefghij(出口)k(停止)注意:对于一个正常的程序,其CFG应是连通的,即p = 1.通常程序图不是强连通的,故须从出口到入口画一条

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论