欢迎来到天天文库
浏览记录
ID:58701057
大小:685.00 KB
页数:66页
时间:2020-10-04
《第4章 软件设计方法ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章软件设计方法概要设计工具详细设计工具结构化软件设计方法Jackson软件设计方法4.1概要设计工具HIPO图结构图HIPO图主控模块模块调用关系结构图模块的名字或主要功能调用关系回传的信息结构图的附加符号详细设计工具程序流程图N-S流程图PAD图过程设计语言(PDL)程序流程图程序流程图也称为程序框图,程序流程图使用五种基本控制结构是:示例程序流程图的标准符号循环的标准符号注解的使用多出口判断N-S图N-S图也叫做盒图。五种基本控制结构由五种图形构件表示。示例N-S图的嵌套定义形式PAD也设置了五种基本控制结构的图式,并允许
2、递归使用。问题分析图(PAD)PAD描述的示例对应于增量型循环结构fori:=n1ton2stepn3do在PAD中有相应的循环控制结构PAD的扩充控制结构判定表判定表用于表示程序的静态逻辑在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理要求将程序流程图中的多分支判断都改成两分支判断无多分支判断结构建立判定表的步骤列出与一个具体过程(或模块)有关的所有处理。列出过程执行期间的所有条件(或所有判断)。将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合。将右部每一纵列规定为一个处理规则,即对于某一
3、条件取值组合将有什么动作。PDL(ProgramDesignLanguage)PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。伪码的语法规则分为“外语法”和“内语法”。PDL具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法可使用自然语言的词汇。示例:拼词检查程序PROCEDUREspellcheckISBEGINsplitdocumentintosinglewordsloodupwordsindictionarydisplaywordswhichar
4、enotindictionarycreateanewdictionaryENDspellcheckPDL的特点提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行结构分割,使之变得易于理解。为了区别关键字,规定关键字一律大写,其它单词一律小写。或者规定关键字加下划线,或者规定它们为黑体字。内语法使用自然语言来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。有子程序定义与调用机制,用
5、以表达各种方式的接口说明。4.2结构化设计方法首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程,对于发现的问题及时解决。然后根据数据流图决定问题的类型。数据处理问题典型的类型有两种:变换型和事务型。针对两种不同的类型分别进行分析处理。由数据流图推导出系统的初始结构图。利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。修改和补充数据词典。制定测试计划。在系统结构图中的模块传入模块─从下属模块取得数据,经过某些处理,再将其传送给上级模块。它传送的数据流叫做逻辑输入数据流。传出模块─从上级模
6、块获得数据,进行某些处理,再将其传送给下属模块。它传送的数据流叫做逻辑输出数据流。变换模块─它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。它加工的数据流叫做变换数据流。协调模块─对所有下属模块进行协调和管理的模块。变换型系统结构图变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据。相应于取得数据、变换数据、给出数据,变换型系统结构图由输入、中心变换和输出等三部分组成。事务型系统结构图它接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。在事务型系统结构图
7、中,事务中心模块按所接受的事务的类型,选择某一事务处理模块执行。各事务处理模块并列。每个事务处理模块可能要调用若干个操作模块,而操作模块又可能调用若干个细节模块。变换分析变换分析方法由以下四步组成:重画数据流图;区分有效(逻辑)输入、有效(逻辑)输出和中心变换部分;进行一级分解,设计上层模块;进行二级分解,设计输入、输出和中心变换部分的中、下层模块。①在选择模块设计的次序时,必须对一个模块的全部直接下属模块都设计完成之后,才能转向另一个模块的下层模块的设计。②在设计下层模块时,应考虑模块的耦合和内聚问题,以提高初始结构图的质量。③
8、使用“黑箱”技术:在设计当前模块时,先把这个模块的所有下层模块定义成“黑箱”,在设计中利用它们时,暂时不考虑其内部结构和实现。在这一步定义好的“黑箱”,在下一步就可以对它们进行设计和加工。这样,又会导致更多的“黑箱”。最后,全部“黑箱”的内容和结构
此文档下载收益归作者所有