资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,5.3,过程设计,1,详细设计阶段的目的与任务,详细设计的目的,:,为软件结构图,(SC),中的每一个模块确定采用的,算法,和模块内,数据结构,,用某种选定的表达工具给出清,晰的描述。,详细设计阶段的主要任务,:,编写软件,的“,详细设计说明书,”,需求分析,问题定义,可性行研究,计划,时期,概要设计,详细设计,编 码,测 试,开发,时期,运行与维护,运 行,时 期,详细设计阶段的主要任务,为每一模块确定算法,确定每一模块使用的数据结构,确定模块的外部接口和用户界面,为每一模块设计一组测试用例,过程设计的原则与方法,清晰第一,效率第二,结构化的控制结构,逐步细化的实现方法,描述工具,程序流程图,N-S,图,伪代码,PDL,2,详细设计阶段的描述工具,A,1,、顺序型,一、程序流程图,B,几个连续的加工依次序排列,exp,F,T,A,B,2,、选择型,由某个判断式的取值,决定选择两个加工中的一,个。,3,、当型循环型,当循环控制条件成立时,重复执行特定的加工。,exp,F,T,S,4,、直到型循环型,重复执行特定的加工,直到循环控制条件成立时。,exp,F,T,S,5,、多情况选择型,列出多种加工,情况,根据控制变,量的取值,选择执,行其一。,exp=1,F,T,S1,exp=2,exp=n,S2,T,Sn,T,F,F,-,具有嵌套形式的程序流程图,X1,F,T,a,X4,c,T,f,T,F,F,入口,b,X2,X3,d,e,g,h,i,X5,X6,F,T,F,T,=1,=2,=3,顺序型,二、,N-S,图,A,B,选择型,-,N,assi,and,S,hneideman,B,p,F,T,A,A,p,F,T,p,=1,=2,=n,A1,A2,An,do while(p),S,do until(p),S,当型循环型,直到型循环型,多分支选择型,零件号,10001,10002,10003,10004,10005,10006,库存量,1000,1250,886,69,2020,3450,建立零件库,(,s,数组,),i=0,输入零件号,x,do while(x!=s0i),i+,i+,x=,s0i),Y,N,s0i,输出,s1i,输入错误,!,继续查询,?,Y,N,跳出循环,四、,PDL,-,P,rogram,D,design,L,anguage,PDL,是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪代码,(,Pseudo code,),PDL,-,关键词,+,自然语言,三、伪代码,-,Pseudo Code,形式上与代码相似,但不是真正的代码,。,(1),、,数据说明,:,格式,:,TYPE,AS,其功能是定义数据的类型和作用域,说明,:1.,变量名,:,是一个模块内部使用的变量或模块间共用,的全局变量名。,2.,限定词,1,:,标明数据类型,3.,限定词,2,:,标明该变量的作用域,TYPE,number,AS,STRING,LENGTH,(12),(2),、,程序块,:,PDL,的过程成分是由块结构构成的,而块将作为,一个单个的实体来执行。,BEGIN,END,(3),、,子,程序结构,:,把,PDL,中的过程称为子程序。,PROCEDURE ,INTERFACE ,END,(4),、,基本控制结构,:,IF,THEN ,;,ELSE ,;,ENDIF,-,选择型结构,DO WHILE,;,ENDDO,REPEAT UNTIL,;,ENDREP,-,重复型结构,DO LOOP,;,EXIT WHEN,ENDLOOP,DO FOR,;,ENDFOR,-,重复型结构,-,多路选择结构,CASE OF,;,WHEN SELECT,;,WHEN SELECT,;,DEFAULT:,缺省或错误,case,:,;,ENDCASE,READ/WRITE TO ,-,输入,/,输出结构,Enter a vector,Set Maximum to the value of the first,element in the vector,DO,for,each second one to the last,IF,value of,THEN,element is greater,than the Maximum value,Set Maximum to value of the element,ENDDO,Print the Maximum value,Input array A,Max=A(1),DO,for,I=2 to N,IF MaxA(I),Set Max=A(I),ENDIF,ENDDO,Print Max,设某模块的功能是:读入任意长的,一段英文课文,将其分解为单字。然后,输出一个单词表,并指出每个单词在课,文中所出现的次数。,练习,请按下列给出的文字要求,用,PDL,描述其该模块的算法,execute process a,REPEAT UNTIL condition X8,execute process b,IF condition X1,THEN BEGIN,execute process f,IF condition X6,THEN REPEAT UNTIL condition X7,execute process i,ENDREP,ELSE BEGIN,execute process g,execute process h,END,ENDIF,END,练习,请将下列的,PDL,表示的某,模块的过程性描述,,改为用:,1,、,N-S,图,2,、,PAD,图表示,ELSE CASE OF,Xi,WHEN condition X2 SELECT,DO WHILE condition X5,execute process C,ENDDO,WHEN condition X3 SELECT process d,WHEN condition X4 SELECT process e,ENDCASE,ENDIF,ENDREP,execute process j,END,5.4 Jackson,方法,-,面向数据结构的设计方法,5.3.1 Jackson,表示法,5.3.2 Jackson,程序设计方法,6.3.1 Jackson图,Jackson,图表示方法,Jackson,图的优点:,(,1,),Jackson,图不仅便于表示层次结构,而且也有利于对结构自顶向下分解;,(,2,),Jackson,图形象直观,可读性好;,(,3,),Jackson,图不仅能表示数据结构,也能表示程序结构(因为程序结构也可以由上述,3,种基本结构组成)。,Jackson,图的缺点:,在选择结构和重复结构中,选择条件或循环结束条件不能直接在,Jackson,图中表示出来。这样就影响了图形的表达能力,也不利于直接把图翻译成程序。,改进的,Jackson,图,数据结构,程序结构,程序的过程性表示,Jackson,图,Jackson,图,Jackson,伪代码,程序分析,|,程序设计,映射,Jackson,方法,问题结构,软件结构,各模块的过程性表示,DFD,图,SC,图,PDL,等工具,程序分析,|,程序设计,SD,方法,5.55 Jackson,方法与,SD,方法的比较,映射,Jackson,程序设计方法由五个步骤组成:,第一步 数据结构表示,第二步 找出输入数据结构和输出数据结构的对应关系,第三步 确定程序结构图,第四步 列出并分配所有操作和条件,第五步把操作和条件分配到程序结构图的适当位置,6.3.2 Jackson,程序设计方法,例:高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。考生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。,第一步 数据结构表示,对要求解的问题进行分析,确定输入数据和输出数据的逻辑结构,并用,Jackson,图描述这些数据结构。,第二步 找出输入数据结构和输出数据结构的对应关系,找出输入数据结构和输出数据结构中有对应关系的数据单元,即有直接因果关系、在程序中可以同时处理的数据单元。需要注意的是,对于重复的数据单元,必须是重复的次序、次数都相同才有可能有对应关系。,第三步 确定程序结构图,根据下述三规则,由,Jackson,图导出相应的程序结构图:,(,1,)为每对有对应关系的数据单元,按照它们在数据结构图中所处的层次,在程序结构图中的相应层次画一个处理框。如果这对数据单元在输入数据结构图和输出数据结构图中所处的层次不同,那么应以它们在输入数据结构图和输出数据结构图中层次较低的那个层次作为它们在程序结构图中的处理框所处的层次;,(,2,)对于输入数据结构中剩余的数据单元,根据它们所处的层次,在程序结构图的相应层次为每个数据单元画上相应的处理框;,(,3,)对于输出数据结构中剩余的数据单元,根据它们所处的层次,在程序结构图的相应层次为每个数据单元画上相应的处理框。,实际上,这一步是一个综合的过程:每对有对应关系的数据单元合画一个处理框,没有对应关系的数据单元则各画一个处理框。,第四步 列出并分配所有操作和条件,列出所有操作和条件(包括分支条件和循环结束条件),并把它们分配到程序结构图的适当位置。,操作:(,1,)停止;,(,2,)打开两个输入文件;,(,3,)建立输出文件。,(,4,)从输入文件中各读一条记录。,(,5,)生成一条新记录。,(,6,)将新记录写入输出文件。,(,7,)关闭全部文件。,条件:,I,(,1,),文件结束。,第五步把操作和条件分配到程序结构图的适当位置,
展开阅读全文