《第五章过程设计与Jackson方法.ppt》由会员分享,可在线阅读,更多相关《第五章过程设计与Jackson方法.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.3过程设计过程设计1 详细设计阶段的目的与任务 详细设计的目的:为软件结构图(SC)中的每一个模块确定采用的算法和模块内 数据结构,用某种选定的表达工具给出清 晰的描述。详细设计阶段的主要任务:编写软件的“详细设计说明书”需求分析需求分析问题定义问题定义可性行研究可性行研究计划计划时期时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发开发时期时期运行与维护运行与维护运运 行行时时 期期详细设计阶段的主要任务为每一模块确定算法确定每一模块使用的数据结构确定模块的外部接口和用户界面为每一模块设计一组测试用例过程设计的原则与方法过程设计的原则与方法清晰第一,效率第二清晰第一,效率第二
2、结构化的控制结构结构化的控制结构逐步细化的实现方法逐步细化的实现方法描述工具程序流程图N-SN-S 图伪代码PDLPDL2 详细设计阶段的描述工具A1、顺序型一、程序流程图 B几个连续的加工依次序排列expFTA B2、选择型 由某个判断式的取值决定选择两个加工中的一个。3、当型循环型 当循环控制条件成立时,重复执行特定的加工。expexpFTS S4、直到型循环型 重复执行特定的加工,直到循环控制条件成立时。expexpFTS S5、多情况选择型 列出多种加工情况,根据控制变量的取值,选择执行其一。exp=1exp=1FTS1S1exp=2exp=2exp=nexp=nS2S2TSnSnTF
3、F-具有嵌套形式的程序流程图X1X1FTa aX4X4c cTf fTFF入口b bX2X2X3X3d de eg gh hi iX5X5X6X6FTFT=1=2=3 顺序型二、N-SN-S 图A B 选择型-Nassi and Shneideman BpFTA ApFT p=1=2=n A1 A2 An do while(p)S do until(p)S 当型循环型 直到型循环型 多分支选择型 零件号100011000210003100041000510006库存量100012508866920203450建立零件库(s数组),i=0 输入零件号 x do while(x!=s0i)i+i+
4、x=s0i)Y N s0i输出 s1i 输入错误!继续查询?Y N 跳出循环 四、PDLPDL-Program Ddesign LanguagePDL PDL 是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪代码(Pseudo code)PDLPDL-关键词+自然语言三、伪代码三、伪代码-Pseudo Code形式上与代码相似,但不是真正的代码形式上与代码相似,但不是真正的代码。(1)、数据说明:格式:TYPE AS 其功能是定义数据的类型和作用域说明:1.变量名:是一个模块内部使用的变量或模块间共用 的全局变量名。2.限定词1:标明数据类型 3.限定词2:标明
5、该变量的作用域 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
6、 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 valueInput ar
7、ray AMax=A(1)DO for I=2 to N IF MaxA(I)Set Max=A(I)ENDIFENDDOPrint Max 设某模块的功能是:读入任意长的设某模块的功能是:读入任意长的 一段英文课文,将其分解为单字。然后一段英文课文,将其分解为单字。然后 输出一个单词表,并指出每个单词在课输出一个单词表,并指出每个单词在课 文中所出现的次数。文中所出现的次数。请按下列给出的文字要求,用 PDL 描述其该模块的算法 execute process a execute process a REPEAT UNTIL condition X8 REPEAT UNTIL conditi
8、on X8 execute process b execute process b IF condition X1 IF condition X1 THEN BEGIN THEN BEGIN execute process f execute process f IF condition X6 IF condition X6 THEN REPEAT UNTIL condition X7 THEN REPEAT UNTIL condition X7 execute process i execute process i ENDREP ENDREP ELSE BEGIN ELSE BEGIN ex
9、ecute process g execute process g execute process h execute process h END END ENDIF ENDIF END END 请将下列的 PDL 表示的某模块的过程性描述,改为用:1、N-S 图 2、PAD 图表示 ELSE CASE OF ELSE CASE OF XiXi WHEN condition X2 SELECTWHEN condition X2 SELECT DO WHILE condition X5 DO WHILE condition X5 execute process C execute process
10、 C ENDDO ENDDO WHEN condition X3 SELECT process d WHEN condition X3 SELECT process d WHEN condition X4 SELECT process e WHEN condition X4 SELECT process e ENDCASE ENDCASE ENDIF ENDIF ENDREP ENDREP execute process j execute process jEND END 5.4 Jackson方法方法-面向数据结构的设计方法面向数据结构的设计方法5.3.1 Jackson5.3.1 Jac
11、kson表示法表示法表示法表示法5.3.2 Jackson5.3.2 Jackson程序设计方法程序设计方法程序设计方法程序设计方法6.3.1 Jackson图图Jackson图表示方法 Jackson图的优点:(1)Jackson图不仅便于表示层次结构,而且也有利于对结构自顶向下分解;(2)Jackson图形象直观,可读性好;(3)Jackson图不仅能表示数据结构,也能表示程序结构(因为程序结构也可以由上述3种基本结构组成)。Jackson图的缺点:在选择结构和重复结构中,选择条件或循环结束条件不能直接在Jackson图中表示出来。这样就影响了图形的表达能力,也不利于直接把图翻译成程序。改
12、进的Jackson图 数据结构数据结构 程序结构程序结构 程序的过程性表示程序的过程性表示Jackson图图 Jackson图图 Jackson伪代码伪代码程序分析程序分析|程序设计程序设计 映射映射Jackson方法方法问题结构问题结构 软件结构软件结构 各模块的过程性表示各模块的过程性表示DFD图图 SC图图 PDL等工具等工具程序分析程序分析|程序设计程序设计 SD方法方法5.55 Jackson方法与方法与SD方法的比较方法的比较映射映射Jackson程序设计方法由五个步骤组成:程序设计方法由五个步骤组成:第一步第一步 数据结构表示数据结构表示第二步第二步 找出输入数据结构和输出数据结
13、构的对应关系找出输入数据结构和输出数据结构的对应关系第三步第三步 确定程序结构图确定程序结构图第四步第四步 列出并分配所有操作和条件列出并分配所有操作和条件第五步把操作和条件分配到程序结构图的适当位置第五步把操作和条件分配到程序结构图的适当位置6.3.2 Jackson程序设计方法程序设计方法例:高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。考生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并
14、后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。第一步第一步 数据结构表示数据结构表示对要求解的问题进行分析,确定输入数据和输出数据的逻辑结构,并用Jackson图描述这些数据结构。第二步第二步 找出输入数据结构和输出数据结构的对应关系找出输入数据结构和输出数据结构的对应关系找出输入数据结构和输出数据结构中有对应关系的数据单元,即有直接因果关系、在程序中可以同时处理的数据单元。需要注意的是,对于重复的数据单元,必须是重复的次序、次数都相同才有可能有对应关系。第三步第三步 确定程序结构图确定程序结构图根据下述三规则,由Jackson图导出相应的程序结构图:(1
15、)为每对有对应关系的数据单元,按照它们在数据结构图中所处的层次,在程序结构图中的相应层次画一个处理框。如果这对数据单元在输入数据结构图和输出数据结构图中所处的层次不同,那么应以它们在输入数据结构图和输出数据结构图中层次较低的那个层次作为它们在程序结构图中的处理框所处的层次;(2)对于输入数据结构中剩余的数据单元,根据它们所处的层次,在程序结构图的相应层次为每个数据单元画上相应的处理框;(3)对于输出数据结构中剩余的数据单元,根据它们所处的层次,在程序结构图的相应层次为每个数据单元画上相应的处理框。实际上,这一步是一个综合的过程:每对有对应关系的数据单元合画一个处理框,没有对应关系的数据单元则各画一个处理框。第四步第四步 列出并分配所有操作和条件列出并分配所有操作和条件 列出所有操作和条件(包括分支条件和循环结束条件),并把它们分配到程序结构图的适当位置。操作:(1)停止;(2)打开两个输入文件;(3)建立输出文件。(4)从输入文件中各读一条记录。(5)生成一条新记录。(6)将新记录写入输出文件。(7)关闭全部文件。条件:I(1)文件结束。第五步把操作和条件分配到程序结构图的适当位置第五步把操作和条件分配到程序结构图的适当位置
限制150内