您好,欢迎访问三七文档
第五章详细设计描述的工具5.1详细设计阶段的目的与任务详细设计的目的:为软件结构图(SC)中的每一个模块确定采用的算法和模块内数据结构,用某种选定的表达工具给出清晰的描述。详细设计阶段的主要任务:编写软件的“详细设计说明书”c需求分析问题定义可性行研究计划时期概要设计详细设计编码测试开发时期运行与维护运行时期详细设计阶段的主要任务为每一模块确定算法确定每一模块使用的数据结构确定模块的外部接口和用户界面为每一模块设计一组测试用例描述工具程序流程图N-S图PAD图PDL伪代码5.2详细设计阶段的描述工具A1、顺序型一、程序流程图B几个连续的加工依次序排列expFTAB2、选择型由某个判断式的取值决定选择两个加工中的一个。3、当型循环型当循环控制条件成立时,重复执行特定的加工。expFTS4、直到型循环型重复执行特定的加工,直到循环控制条件成立时。expFTS5、多情况选择型列出多种加工情况,根据控制变量的取值,选择执行其一。exp=1FTS1exp=2exp=nS2TSnTFF-----具有嵌套形式的程序流程图X1FTaX4cTfTFF入口bX2X3deghiX5X6FTFT=1=2=3标准化程序流程图规定符号X1起止端点输入/输出一般处理准备或预处理预定义处理条件判断循环上界循环下界文件或文档外接内接流程线虚线省略线并行方式注解或注释流程符号的使用规则1、循环符号的使用循环名进入循环条件循环体循环名i=1,100S=S+iiS=0S=S+iS=0,i=1i100i=i+1FT循环体-----循环流程符号的使用2、判断有一个入口,但也允许有多个可选出口A:BA=BABABX=?x=1x=2x=3x=4X=?=1=2=3=4=5-----多出口判断流程符号的使用请利用程序流程图描述下列问题的程序结构某汽车修配厂,有一个存有汽车零件的仓库,其中存有若干种零件,请编写一个查询程序,用于查询该库中某零件的库存量为多少。设该模块为查询模块。请设计该模块的程序结构。具体要求:1、应具有重复查询功能;2、应具有数据检测功能;3、请利用程序流程图描述该模块的算法。顺序型二、N-S图AB选择型-------NassiandShneidemanBpFTAApFTp=1=2…=nA1A2…Andowhile(p)Sdountil(p)S当型循环型直到型循环型多分支选择型零件号100011000210003100041000510006库存量100012508866920203450建立零件库(s数组),i=0输入零件号xdowhile(x!=s[0][i])i++i++x==s[0][i])YNs[0][i]输出s[1][i]输入错误!继续查询?YN跳出循环三、PAD图直到型循环型ABABpApWhilePSUntilPS当型循环型顺序型选择型A1pA2An=1=2=n多分支选择型循环型-------ProblemAnalysisDiagrams[17]~s[22]=0whilenum(1-1000)输入ageage=17s[17]++s[18]++=18s[19]++=19s[20]++=20s[21]++=21s[22]++=22whilei(17-22)输出s[i]beginend请为学生成绩管理系统中的学生成绩统计模块设计程序结构。要求:1、统计各专业、各班级的高等数学平均分;2、并将统计结果输出;3、按平均成绩以班级为单位由高到低排序;4、请利用PAD图描述该模块的算法。四、PDL-------ProgramDdesignLanguagePDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪代码(Pseudocode)PDL-----关键词+自然语言(1)、数据说明:格式:TYPE变量名AS限定词1限定词2其功能是定义数据的类型和作用域说明:1.变量名:是一个模块内部使用的变量或模块间共用的全局变量名。2.限定词1:标明数据类型3.限定词2:标明该变量的作用域TYPEnumberASSTRINGLENGTH(12)(2)、程序块:PDL的过程成分是由块结构构成的,而块将作为一个单个的实体来执行。BEGIN块名一组伪代码语句END(3)、子程序结构:把PDL中的过程称为子程序。PROCEDURE子程序名一组属性INTERFACE参数表程序块或一组伪代码语句END(4)、基本控制结构:IF条件THEN程序块/伪代码语句组;ELSE程序块/伪代码语句组;ENDIF---选择型结构DOWHILE条件描述程序块/伪代码语句组;ENDDOREPEATUNTIL条件描述程序块/伪代码语句组;ENDREP---重复型结构DOLOOP条件描述程序块/伪代码语句组;EXITWHENENDLOOPDOFOR下标=下标表,表达式程序块/伪代码语句组;ENDFOR---重复型结构-----多路选择结构CASEOFcase变量名;WHENcase条件1SELECT程序块/伪代码语句组;WHENcase条件2SELECT程序块/伪代码语句组;……DEFAULT:缺省或错误case:程序块/伪代码语句组;ENDCASEREAD/WRITETO设备I/O表---输入/输出结构EnteravectorSetMaximumtothevalueofthefirstelementinthevectorDOforeachsecondonetothelastIFvalueofTHENelementisgreaterthantheMaximumvalueSetMaximumtovalueoftheelementENDDOPrinttheMaximumvalueInputarrayAMax=A(1)DOforI=2toNIFMaxA(I)SetMax=A(I)ENDIFENDDOPrintMax设某模块的功能是:读入任意长的一段英文课文,将其分解为单字。然后输出一个单词表,并指出每个单词在课文中所出现的次数。请按下列给出的文字要求,用PDL描述其该模块的算法……executeprocessaREPEATUNTILconditionX8executeprocessbIFconditionX1THENBEGINexecuteprocessfIFconditionX6THENREPEATUNTILconditionX7executeprocessiENDREPELSEBEGINexecuteprocessgexecuteprocesshENDENDIFEND请将下列的PDL表示的某模块的过程性描述,改为用:1、N-S图2、PAD图表示ELSECASEOFXiWHENconditionX2SELECTDOWHILEconditionX5executeprocessCENDDOWHENconditionX3SELECTprocessdWHENconditionX4SELECTprocesseENDCASEENDIFENDREPexecuteprocessjEND
本文标题:软件工程课件5
链接地址:https://www.777doc.com/doc-7208674 .html