《详细设计》课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《详细设计》课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 详细设计 详细 设计 课件
- 资源描述:
-
1、详细设计PPT课件5.1 构造程序设计 早在1965年,E.W.Dijkstra就提出构造程序设计的概念。1966年,Bohm和Jacopini证明了只用三种根本的控制构造就能实现任何单人口单出口的程序。这三种根本的控制构造是“顺序、“选择和“循环。上图中的a、b和c就分别是顺序、选择和循环的流程图。什么是构造程序设计呢?构造程序设计是一个设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构造。有人认为构造程序设计的定义中还应包括采用“主程序员组这种人员组织形式。使用构造程序设计也存在一些好处和一些缺点。从理论上说只用那三种根本控制构造就可以实现任何单入口单出口的程序。但是为
2、了实际使用方便,还常常允许使用DO-UNTIL和DO-CASE两种控制构造。它们的流程图如上图所示。5.2 详细设计的工具 描述程序处理过程的工具称为详细设计的工具,它们可以分为图形、表格和语言三类。不管是哪类工具,对它们的根本要求都是能提供对设计的无歧义的描述,也就是应该能指明控制流程、处理功能、数据组织以及其他方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码。5.2.1 程序流程图 程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述软件设计的方法。它使用了一些系统流程图中没有的符号。如以下图所示:程序流程图一直是软件设计的主要工具。它的主要优点是:对控制流程的描绘很直
3、观,便于初学者掌握。它的主要缺点是:1.程序流程图本质上不是逐步求精的好工具。它诱使程序员过早的考虑程序的控制流,而不去考虑程序的全局构造。2.程序流程图中用箭头代表控制流,因此程序员可以不受任何约束,可以完全不顾构造程序设计的精神,随意转移控制。3.程序流程图不易表示数据构造。5.2.2 盒图N_S图 这种盒图是不允许违背构造程序设计精神的图形工具。它有下述特点:1.功能域明确,可以从盒图上看出来。2.不可能任意转移控制。3.很容易确定局部和全程数据的作用域。4.很容易表现嵌套关系,也可以表示模块的层次构造。上图给出了构造化控制构造和调用子程序的盒图表示方法。5.2.3 PAD图 PAD是问
4、题分析图Problem Analysis Diagram)的英文缩写。它用二维树形构造的图来表示程序的控制流。以下图给出了PAD图的根本符号:其中:a顺序先执行P1后执行P2 b选择IF C THEN P1 ELSE P2 cCASE型对分支 dWHILE型循环WHILE C DO P eUNTIL型循环REPEAT P UNTIL C f语句标号 g定义PAD图的主要优点如下:(1)使用表示构造化控制构造的PAD符号所设计出来的程序必然是构造化程序。(2)PAD图所描绘的程序构造十分清晰。上图最左边的竖线是程序的主线,PAD图中竖线的总条数就是程序的层次数。(3)用PAD图表现程序逻辑,易读
5、,易懂,易记。(4)容易将PAD图转换成高级语言源程序。(5)即可用于表示程序逻辑,也可用于描绘数据构造。(6)PAD图的符号支持自顶向下、逐步求精方法的使用。使用PAD图,开场时设计者可以定义一个抽象的程序,随着设计工作的深入而使用def符号逐步增加细节,直到完成详细设计,如以下图所示:5.2.4 判定表 判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。一张判定表由四局部组成:左上部列出所有条件。左下部是所有可能做的动作。右上部是表示各种条件组合的一个矩阵。右下部是和每种条件组合相对应的动作。判定表右半部的每一列实质上是一条规那么,规定了与特定的条件组合相对应的动作。下面以行李
6、托运费的算法为例说明判定表的组织方式。假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量超过30公斤时,对头等舱的国内乘客超重局部每公斤收费4元,对其他舱的国内乘客超重局部每公斤收费6元,对国外乘客超重局部每公斤收费比国内乘客多一倍,对残疾乘客超重局部每公斤比正常乘客少一半。用判定表可以清楚的表示与上述每种条件组合相对应的动作(算法),如下页图所示:其中“T表示条件成立,“F表示条件不成立,空白表示这个条件的成立与否并不影响对动作的选择。画“表示做它左边的那项动作,空白表示不做这项动作。5.2.5 判定树 判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间
7、的对应关系,是一种比较常用的系统分析和设计工具。与上表判定表对应的判定树如下:5.2.6 过程设计语言(PDL)PDL也称为伪码,它是用正文形式表示数据和处理过程的设计工具。PDL具有严格的关键字外部语法,用于定义控制构造和数据构造,然而,PDL表示实际操作和条件的内部语法通常又是灵活自由的,以便可以适应各种工程工程的需要,它使用一种语言的词汇,却使用另一种语言的语法。它具有以下特点:1.关键字的固定语法,它提供了构造化控制构造、数据说明和模块化的特点。2.自然语言的自由语法,它描述处理特点。3.数据说明的手段既包括简单的数据构造,又包括复杂的数据构造。4.模块定义和调用的技术,应该提供各种接
8、口描述模式。PDL作为一种设计工具还有如下一些优点:1.可以作为注释直接插在源程序中间。2.可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作。3.已经有自动处理程序存在,而且可以自动由PDL生成程序代码。5.2.7 模块开发文件夹 模块开发文件夹是组织和保存在软件开发过程种不断产生出来的文档资料的一种有效方法,用这种方法保存和管理文档既方便又容易查阅。文件夹的封面上列出工程工程的名称、模块名字、程序员姓名、完成日期、修改日期、源程序行数、目标代码长度、对模块的简要描述、以及设计、编码、单元测试和集成测试等阶段的起止时间等等。文件夹内应该保存对模块详细设计结果的描述、
9、源程序清单、测试时间、修改的源程序清单、最终的源程序清单、测试方案、测试软件和测试结果等等。5.3 Jackson程序设计方法 Jackson程序设计方法是面向数据构造的设计方法,也就是用数据构造作为程序设计的根底。它的最终目的是得出对程序处理过程的描述,因此,这种方法最适合于在详细设计阶段使用,也就是在完成了软件构造设计之后,可以使用面向数据构造的方法来设计每个模块的处理过程。5.3.1 Jackson图 它的逻辑数据构造只有三种:顺序、选择和重复。顺序构造:它的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。构造图如以下图所示:选择构造:它的数据包括两个或多个数据元素,每次使用这
10、个数据时按一定条件从这些数据元素中选择一个。以下图所示的是三个中选一个构造的Jackson图:重复构造:它的数据,根据使用时的条件由一个数据元素出现零次或屡次构成。以下图表示重复构造的Jackson图:Jackson图有下述优点:便于表示层次构造,而且是对构造进展自顶向下分解的有力工具。形象直观可读性好。既能表示数据构造也能表示程序构造。5.3.2 改进的Jackson图 上面介绍的Jackson图的缺点是,用这种图形工具表示选择或重复构造时,选择条件或循环完毕条件不能直接在图上表示出来,影响了图的表达能力,也不易直接把图翻译成程序,此外,框间连线为斜线,不易在行式打印机上输出。为了解决上述问
展开阅读全文