欢迎来到天天文库
浏览记录
ID:46886609
大小:248.00 KB
页数:28页
时间:2019-11-28
《软件工程设计祥细设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第六章祥细设计是为软件结构图(SC图或HC图)中的每一个模块确定采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述。目的任务编写软件的“详细设计说明书”。1.为每一个模块确定采用的算法。选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;2.确定每一模块使用的数据结构;3.确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及关于模块输入数据、输出数据及局部数据的全部细节。4.为每一个模块设计一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试。过程设计从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用
2、算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。这就是过程设计的任务。在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。表达过程规格说明的工具叫做详细设计工具,它可以分为以下三类:图形工具表格工具语言工具程序流程图程序流程图也称为程序框图,程序流程图使用五种基本控制结构是:示例程序流程图的标准符号循环的标准符号注解的使用多出口判断N-S图N-S图也叫做盒图。五种基本控制结构由五种图形构件表示。示例N-S图的嵌套定义形式PAD也设置了五种基本控制结构的图式,并允许递归使用。问题分析图(PAD)PAD描述的示例对应于增量型循环结构fori:=n1to
3、n2stepn3do在PAD中有相应的循环控制结构PAD的扩充控制结构判定表判定表用于表示程序的静态逻辑在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理要求将程序流程图中的多分支判断都改成两分支判断无多分支判断结构建立判定表的步骤列出与一个具体过程(或模块)有关的所有处理。列出过程执行期间的所有条件(或所有判断)。将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合。将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作。PDL(ProgramDesignLanguage)PDL是一种用于描述功能模块的算法设计和加工细节的语言。称
4、为设计程序用语言。它是一种伪码。伪码的语法规则分为“外语法”和“内语法”。PDL具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法又是灵活自由的,可使用自然语言的词汇。示例:拼词检查程序PROCEDUREspellcheckISBEGINsplitdocumentintosinglewordsloodupwordsindictionarydisplaywordswhicharenotindictionarycreateanewdictionaryENDspellcheckPDL的特点提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行
5、结构分割,使之变得易于理解。为了区别关键字,规定关键字一律大写,其它单词一律小写。或者规定关键字加下划线,或者规定它们为黑体字。内语法使用自然语言来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。有子程序定义与调用机制,用以表达各种方式的接口说明。使用PDL语言,逐步求精:PROCEDUREspellcheckBEGIN--*splitdocumentintosinglewordsLOOPgetnextwordaddwordtowordli
6、stinsortorderEXITWHENallwordsprocessedENDLOOP--*lookupwordsindictionaryLOOPgetwordfromwordlistIFwordnotindictionaryTHEN--*displaywordsnotindictionarydisplaywordpromptonuserterminalIFuserresponsesayswordOKTHENaddwordtogoodwordlistELSEaddwordtobadwordlistENDIFENDIFEXITWHENallwordsprocessedENDLO
7、OP--*createanewwordsdictionarydictionary:=mergedictionaryandgoodwordlistENDspellcheck
此文档下载收益归作者所有