




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8.2 8.2 详细设计的工具详细设计的工具 详细设计工具包括详细设计工具包括图形图形, ,表格表格, , 语言三类。不语言三类。不论是哪一类工具论是哪一类工具, ,都应该指明控制流都应该指明控制流, ,处理功能处理功能, ,数数据组织以及其它方面的实现细节据组织以及其它方面的实现细节, ,从而在编码阶段从而在编码阶段能把对设计的描述直接翻译成程序代码。能把对设计的描述直接翻译成程序代码。 描述程序处理过程的工具称为详细设计工具。描述程序处理过程的工具称为详细设计工具。1. 1. 程序流程图程序流程图2. 2. 盒图盒图( (N-SN-S图图) )3. 3. 问题分析图问题分析图( (PAD)
2、PAD)5. 5. 过程设计语言过程设计语言( (PDL)(PDL)(伪码伪码) )4. 4. 判定树与判定表判定树与判定表1.程序流程图程序流程图 程序流程图又称为程序框图,是详细程序流程图又称为程序框图,是详细设计中最古老、使用最广泛的图形描述工设计中最古老、使用最广泛的图形描述工具。是流经一个系统的信息流、观点流或具。是流经一个系统的信息流、观点流或部件流的图形代表部件流的图形代表。 流程图由一些图框和流程线组成,图流程图由一些图框和流程线组成,图框表示操作的类型,图框中的文字和符号框表示操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后。表示操作的内容,流程线表示操作的
3、先后。最简单的结构是矩形(代表处理)和菱形最简单的结构是矩形(代表处理)和菱形(代表决策)。(代表决策)。五种基本控制结构:五种基本控制结构: 1)顺序型结构)顺序型结构 顺序结构由带箭头的控制线依次连接顺序结构由带箭头的控制线依次连接几个处理方框构成。几个处理方框构成。处理处理1处理处理2处理处理n例题例题 2) 选择型结构选择型结构 选择型结构是流程图中最为常用的结选择型结构是流程图中最为常用的结构,其结构构造有两种,一种是条件选择构,其结构构造有两种,一种是条件选择结构又称为结构又称为IF- THEN-ELSE结构,使用菱结构,使用菱形表现逻辑判定条件,条件结果决定选择形表现逻辑判定条件
4、,条件结果决定选择两个处理方框中的一个。两个处理方框中的一个。处理处理1处理处理2决策条件决策条件结果结果YesELSE部分部分THEN部分部分NoNo处理处理1决策条件决策条件1Yes处理处理2决策条件决策条件2Yes处理处理n决策条件决策条件nYesNoNo例题例题 3) 循环型结构循环型结构 重复执行某种功能的程序时就用到循重复执行某种功能的程序时就用到循环结构,流程图中循环型结构分为两种,环结构,流程图中循环型结构分为两种,一种是先判定型循环,又称为一种是先判定型循环,又称为DO-WHILE型循环结构,测试一个循环控制条件为真型循环结构,测试一个循环控制条件为真时,就重复执行特定的处理
5、。时,就重复执行特定的处理。循环条件循环条件处理处理NoYes例题例题先判定型先判定型循环结构流程图循环结构流程图先判定再执行先判定再执行 4) 循环型结构循环型结构 另一种是后判定型循环,又称为另一种是后判定型循环,又称为Repeat-Until型循环结构,重复执行某特定型循环结构,重复执行某特定的处理,直到控制条件成立为止。的处理,直到控制条件成立为止。循环条件循环条件处理处理NoYes例题例题先执行再判断,至少先执行再判断,至少执行一次指定的操作执行一次指定的操作后判定型后判定型循环结构流程图循环结构流程图 5) 综合嵌套型结构综合嵌套型结构流程图的优缺点流程图的优缺点(1)优点:它独立
6、于任何一种程序设计语言,比较直观,清晰,易于掌握。(2)缺点:流程图所使用的符号不够规范,常常使用一些习惯性用法。特别是表示程序控制流程的前头,使用的灵活性极大,程序员可以不受任何约束随意转移控制。(3)对程序图所用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。2 2、盒图、盒图( (N-SN-S图图) )p19731973年,年,NassiNassi和和ShneidermanShneiderman发表了题为发表了题为“结构化程序的流程图技术结构化程序的流程图技术”的文章,提出的文章,提出用盒图(用盒图(Box diagramBox diagram)来代替传统的流程来代替传
7、统的流程图,引起了人们的重视,根据这两位创始人图,引起了人们的重视,根据这两位创始人的名字,许多人把它简称为的名字,许多人把它简称为N NS S图(图(N NS S chartchart)。)。pN NS S的主要特色,就是只能的主要特色,就是只能描述结构化程序描述结构化程序所允许的标准结构所允许的标准结构,根本取消了表现诸如含,根本取消了表现诸如含有有GOTOGOTO语句的非标准结构的手段。语句的非标准结构的手段。 用方框图代替传统的流程图,用方框图代替传统的流程图,N-SN-S结构结构流程图也成为盒图,是一种符合结构化程序流程图也成为盒图,是一种符合结构化程序设计原则的图形描述工具。设计原
8、则的图形描述工具。X5abX1bX4iFFghX2X3cX=1X=2dTX=3eX6FFTTT结束结束开始开始T1)功能域)功能域(即一个特定控制结构的作用即一个特定控制结构的作用 域)明确域)明确2)不可能任意转移控制)不可能任意转移控制3)很容易确定局部和全程数据的作用域)很容易确定局部和全程数据的作用域4)很容易表现嵌套关系,也可以表示模块)很容易表现嵌套关系,也可以表示模块 的层次结构的层次结构N-S图的特点图的特点N-S图示例图示例ab条条 件件 1TF Case Xi, i=2,3,4X2X3X4当条件当条件3成立成立条条 件件 2直到条件直到条件4成立成立直直 到到 条条 件件
9、成立成立cdefghij顺序结构顺序结构选择结构选择结构多分支选择结构多分支选择结构先判定型循环结构先判定型循环结构后判定型循环结构后判定型循环结构FTTF例例1:TrueFalse G NPFQstart if p then while q do f end do else block g n end block endifstop例例2:以下是两个程序流程图,试用以下是两个程序流程图,试用NS图表示。图表示。N-SN-S图的优缺点图的优缺点(1)优点:所有的程序结构均用方框来表示,无论并列或者嵌套,程序的结构清晰可见。而且,由于它只能表达结构化的程序逻辑,使应用NS图来描述软件设计的人不得
10、不遵守结构化程序设计的规定。久而久之,就可自然地养成良好的程序设计风格。(2)缺点:当程序内嵌套的层数增多时,内层的方块越画越小,不仅会增加画图的困难,并将使图形的清晰性受到影响。 扩展:要相应位置用名字(用椭园框),在另外的地方把这些命名的部分进扩展:要相应位置用名字(用椭园框),在另外的地方把这些命名的部分进一步展开。一步展开。3、问题分析图(PAD) (Problem Analysis Diagram)PADPAD图是日本日立公司于图是日本日立公司于19791979年提出的一种算法描述年提出的一种算法描述工具,现已等到工具,现已等到ISOISO认可。它是一种由左往右展开的认可。它是一种由
11、左往右展开的二维树型结构。二维树型结构。PADPAD图的控制流程为自上而下,从左图的控制流程为自上而下,从左往右地执行。优点:往右地执行。优点:n清晰地反映了程序的层次结构。(层次数即为纵清晰地反映了程序的层次结构。(层次数即为纵线数)线数)n支持逐步求精的设计方法,支持逐步求精的设计方法,左边左边层次中的内容可层次中的内容可以以抽象抽象,然后由左到右逐步细化。,然后由左到右逐步细化。n易读易写,使用方便(比流程图)。易读易写,使用方便(比流程图)。n支持结构化的程序设计原理。支持结构化的程序设计原理。n可自动生成程序。可自动生成程序。 PADPAD也设置了五种基本控制结构的图式,也设置了五种
12、基本控制结构的图式,并允许递归使用。并允许递归使用。PAD对应于增量型循环结构对应于增量型循环结构for i := n1 to n2 step n3 do在在PAD中有相应的循环控制结构中有相应的循环控制结构使用使用PADPAD图提供的定义功能来逐步求精的例子图提供的定义功能来逐步求精的例子(a) (a) 初始的初始的PADPAD图;图;(b) (b) 使用使用defdef符号细化处理框符号细化处理框P2P2例例1:startstopPWHILE QFGNstartif p then while q do f end doelse block g n end blockendifstop例例2
13、:以下是两个程序流程图,试用以下是两个程序流程图,试用PAD图表示。图表示。 是文件结束位置吗?开始在工资档案中读一条记录是文件结束位置吗?计算工资档案各项基本数据之和并存入paynum当前职工号在奖金发放表中查找职工号与num相同的记录找到了吗?计算各项奖金总和并存入bonus应发工资paybonus读下一条记录YN显示错误NY结束(a)(b)计算工资各项基本数据之和并存入paynum当前职工号在奖金表中查职工号与num相同的记录 找到了吗?计算各项奖金总和并存入bonus应发工资paybonus显示错误读下一条记录TF 在工资档案中读一条记录在工资档案中读一条记录当文件没有读完时计算应发工
14、资检索个人奖金num当前职工号在奖金表中查找职工号与num相同的记录计算应发工资显示错误信息TF找到了吗?读下一条记录检索个人奖金def计算各项奖金之和并存入bonus计算工资基本数据项之和并存入pay应发工资paybonus计算应发工资def(c) 是文件结束位置吗?开始在工资档案中读一条记录是文件结束位置吗?计算工资档案各项基本数据之和并存入paynum当前职工号在奖金发放表中查找职工号与num相同的记录找到了吗?计算各项奖金总和并存入bonus应发工资paybonus读下一条记录YN显示错误NY结束(a)(b)计算工资各项基本数据之和并存入paynum当前职工号在奖金表中查职工号与num
15、相同的记录 找到了吗?计算各项奖金总和并存入bonus应发工资paybonus显示错误读下一条记录TF 在工资档案中读一条记录在工资档案中读一条记录当文件没有读完时计算应发工资检索个人奖金num当前职工号在奖金表中查找职工号与num相同的记录计算应发工资显示错误信息TF找到了吗?读下一条记录检索个人奖金def计算各项奖金之和并存入bonus计算工资基本数据项之和并存入pay应发工资paybonus计算应发工资def(c) 是文件结束位置吗?开始在工资档案中读一条记录是文件结束位置吗?计算工资档案各项基本数据之和并存入paynum当前职工号在奖金发放表中查找职工号与num相同的记录找到了吗?计算
16、各项奖金总和并存入bonus应发工资paybonus读下一条记录YN显示错误NY结束(a)(b)计算工资各项基本数据之和并存入paynum当前职工号在奖金表中查职工号与num相同的记录 找到了吗?计算各项奖金总和并存入bonus应发工资paybonus显示错误读下一条记录TF 在工资档案中读一条记录在工资档案中读一条记录当文件没有读完时计算应发工资检索个人奖金num当前职工号在奖金表中查找职工号与num相同的记录计算应发工资显示错误信息TF找到了吗?读下一条记录检索个人奖金def计算各项奖金之和并存入bonus计算工资基本数据项之和并存入pay应发工资paybonus计算应发工资def(c)
17、使用使用PAD符号设计的程序必然是结构化的程符号设计的程序必然是结构化的程序序. PAD图所描绘的程序结构十分清晰图所描绘的程序结构十分清晰. 用用PAD图表现程序逻辑图表现程序逻辑,易读,易记,易懂易读,易记,易懂. 容易将容易将PAD图图 转换成高级语言源程序转换成高级语言源程序.可用可用软件工具实现自动转换软件工具实现自动转换. 即可以表示程序逻辑即可以表示程序逻辑,也可以描绘数据结构也可以描绘数据结构. 支持自顶向下支持自顶向下,逐步求精方法的使用逐步求精方法的使用.PAD图的优点图的优点:4、判定表、判定表 程序流程图、程序流程图、N-S图、图、PAD图都不易清楚的图都不易清楚的描述
18、含有多重嵌套的条件选择。判定表可以清描述含有多重嵌套的条件选择。判定表可以清晰的表示复杂的条件组合与其对应的处理之间晰的表示复杂的条件组合与其对应的处理之间的关系的关系。 一张判定表由一张判定表由4部分组成部分组成,左上部列出所有条左上部列出所有条件件,左下部是所有可能做的动作左下部是所有可能做的动作,右上部是表示各右上部是表示各种条件组合的一个矩阵种条件组合的一个矩阵,右下部是和每种条件组右下部是和每种条件组合相对应的动作合相对应的动作.判定表右半部实质上是一条规判定表右半部实质上是一条规则则,规定了与特定条件组合相对应的动作规定了与特定条件组合相对应的动作.所有条件所有条件条件组合矩阵条件
19、组合矩阵与每种条件组合与每种条件组合所对应的动作表所对应的动作表所有可能的所有可能的动作列表动作列表国内乘客国内乘客头头 等等 舱舱残疾乘客残疾乘客行李行李30kg 免费免费(W-30)*2(W-30)*3(W-30)*4(W-30)*6(W-30)*8(W-30)*12TTTFTTTTTTTTTTFFFFFFFFFFFFFFFFFFF例例1 假设某航空公司规定,乘客可以免费托运重量不超过假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量公斤的行李。当行李重量 超过超过30公斤时,对头等舱的国内乘客超重部分每公斤收费公斤时,对头等舱的国内乘客超重部分每公斤收费 4 元,对
20、其它舱的国内元,对其它舱的国内 乘客乘客超重部分每公斤收费超重部分每公斤收费 6 元,对外国乘客超重部分每公斤收费比国内乘客多一元,对外国乘客超重部分每公斤收费比国内乘客多一 倍,对残倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表来表示与上述疾乘客超重部分每公斤收费比正常乘客少一半。用判定表来表示与上述 每种条件组合每种条件组合相对应的动作。相对应的动作。用判定表表示计算行李费算法用判定表表示计算行李费算法 12345教授 TFFF副教授 FTFF讲师 FFTF助教 FFFT讲座TFFFF50 30 25 20 15 例2:某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论
21、教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。行李费行李费算算 法法行李重量行李重量 W30国内乘客国内乘客外国乘客外国乘客头等舱头等舱其它舱其它舱残疾乘客残疾乘客 - (W-30)*2正常乘客正常乘客 - (W-30)*4残疾乘客残疾乘客 - (W-30)*3正常乘客正常乘客 - (W-30)*6头等舱头等舱其它舱其它舱残疾乘客残疾乘客 - (W-30)*4正常乘客正常乘客 - (W-30)*8残疾乘客残疾乘客 - (W-30)*6正常乘客正常乘客 - (W-30)*12行李重量行李重量 W3
22、0免费免费判定树是判定表的变体判定树是判定表的变体,其优点是形式简单其优点是形式简单,不需要任何说明不需要任何说明,一眼就可以看出它的含义一眼就可以看出它的含义.5、判定树、判定树例例1、某厂对部分职工重新分配工作的政策是:、某厂对部分职工重新分配工作的政策是:年龄在年龄在20岁以下者,初中文化程度脱产学习。岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在高中文化程度当电工;年龄在2040岁之间者,岁之间者,中学文化程度男性当钳工,女性当车工,大学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在文化程度都当技术员。年龄在40岁以上者,中岁以上者,中学文化程度当材料员
23、,大学文化程度当技术员。学文化程度当材料员,大学文化程度当技术员。请用判定表或判定树描述上述问题的加工逻辑。请用判定表或判定树描述上述问题的加工逻辑。 分析:本题条件包括年龄、文化程度、性别分析:本题条件包括年龄、文化程度、性别三个,构成的判定条件取值表如表所示三个,构成的判定条件取值表如表所示 所有的组合条件为所有的组合条件为3X3x218检查定货单过期不过期金额1000发订货单、批准单1000金额2000发通知单、定货单、批准单不发2 2、用判定表描述、用判定表描述“检查定货单检查定货单”的处理逻辑:的处理逻辑:“如如果金额超过果金额超过10001000元而又未过期,则发出批准单和提元而又
24、未过期,则发出批准单和提货单。如果金额超过货单。如果金额超过20002000元,但已过期,则不发出元,但已过期,则不发出批准单和提货单。如果金额低于批准单和提货单。如果金额低于20002000元,则不论是元,则不论是否过期,都发出批准单和提货单,而且对低于否过期,都发出批准单和提货单,而且对低于20002000元已过期的还需发出通知单元已过期的还需发出通知单”。6、PDL语言语言8.3 详细设计说明书详细设计说明书n引言引言n程序系统的组织结构程序系统的组织结构n关键程序的设计说明关键程序的设计说明详细设计说明书规格详细设计说明书规格例例1例例2例例3填空题填空题 1详细设计阶段主要完成的任务
25、是详细设计阶段主要完成的任务是。2软件的详细设计可以采用软件的详细设计可以采用、 三种形式的描述工具表示模块的处三种形式的描述工具表示模块的处理过程。理过程。设计出模块的执行过程。设计出模块的执行过程。图、表、过程设计语言图、表、过程设计语言3 3JacksonJackson方法可以实现从方法可以实现从中推导出中推导出程序结构程序结构 数据结构数据结构 4.程序流程图称程序流程图称, 包括三个基本的成分:包括三个基本的成分: ,。5.为了实现使用程序流程图描述结构化程序,为了实现使用程序流程图描述结构化程序, 必须限制程序流程图只使用以下五种基本控制结构必须限制程序流程图只使用以下五种基本控制
26、结构 、。6.PAD图是一种描述程序逻辑结构的图形工具,图是一种描述程序逻辑结构的图形工具, 这种图形由程序流程图演化而来,它把程序的结构这种图形由程序流程图演化而来,它把程序的结构表示成表示成结构。结构。程序框图程序框图 加工处理步骤加工处理步骤 逻辑条件逻辑条件 控制流向控制流向顺序型顺序型 选择型选择型 先判定(先判定(whilewhile)型循环)型循环 后判定(后判定(untiluntil)型循环)型循环 多情况(多情况(casecase)型选择)型选择二维树型二维树型7.7.过程设计语言属于一种过程设计语言属于一种,是一种描述,是一种描述 的语言。的语言。8.Jackson8.Ja
27、ckson方法简称方法简称JSDJSD,是一种典型的,是一种典型的的设计方法。的设计方法。面向数据结构面向数据结构伪码伪码 模块算法设计及处理细节模块算法设计及处理细节1软件详细设计阶段的任务是软件详细设计阶段的任务是( )。 A.算法设计算法设计 B.功能设计功能设计 C.调用关系设计调用关系设计 D输入输入/输出设计输出设计 选择题选择题2软件详细设计阶段主要采用的工具是软件详细设计阶段主要采用的工具是( ) A.DFD BPADC.DD DSA AB3.软件详细设计阶段采用自左向右的二维软件详细设计阶段采用自左向右的二维图形结构描述算法的是图形结构描述算法的是(). AIPO BJSP
28、CPAD DJSD C4软件详细设计阶段的任务是软件详细设计阶段的任务是( )。 A.确定程序文件名确定程序文件名 B.确定模块的算法确定模块的算法 C.确定变量名确定变量名 D确定使用的语言确定使用的语言 B5.结构化程序设计采用的思想是结构化程序设计采用的思想是( )。 A.筛选法筛选法 B逐步求精法逐步求精法 C.迭代法迭代法 D递归法递归法 B6.软件详细设计阶段属于软件生存周期的软件详细设计阶段属于软件生存周期的 ( )阶段。阶段。 A.需求分析需求分析 B软件设计软件设计 C编码编码 D软件维护软件维护 B7.以语言形式描述模块算法的是以语言形式描述模块算法的是( )。 A.PAD
29、 B.程序流程图程序流程图 C.PDL D.盒图盒图 C8、为了使程序能在不同的计算机上运行,、为了使程序能在不同的计算机上运行,程序应当具有较好的()程序应当具有较好的() A.可移植性可移植性 B可重用性可重用性 C.可维护性可维护性 D可适用性可适用性 A9、下列属于功能性注释的是、下列属于功能性注释的是( )。 A.说明模块的用处和功能的注释说明模块的用处和功能的注释 B.说明数据的名称和用处的注释说明数据的名称和用处的注释C.说明程序段的注释说明程序段的注释D.说明程序开发背景的注释说明程序开发背景的注释 C10.下面对提高程序编码效率没有影响的是下面对提高程序编码效率没有影响的是(
30、 )。 A.选择良好的设计方法选择良好的设计方法 B选择良好的算法选择良好的算法 C.选择良好的数据结构选择良好的数据结构 D变量名的使用变量名的使用 D11.11.软件详细设计的主要任务是确定每个模块的()软件详细设计的主要任务是确定每个模块的() A. A.功能功能 B.B.外部接口外部接口 C. C.算法和使用的数据结构算法和使用的数据结构 D.D.编程实现编程实现12. 12. 下面关于下面关于PDLPDL语言不正确的说法是()语言不正确的说法是() A.PDL A.PDL的外层语法必须符合一般程序设计语言的外层语法必须符合一般程序设计语言 常用的语法规则常用的语法规则 B.PDL B.PDL是一种伪码是一种伪码 C.PDL C.PDL只是描述加工的具体实现只是描述加工的具体实现 D.PDL D.PDL是描述处理过程怎么做是描述处理过程怎么做13. PAD13. PAD图在()可以大大提高开发效率图在()可以大大提高开发效率 A. A.系统分析系统分析 B.B.自动分析数据自动分析数据 C. C.软件的自动化生成软件的自动化生成 D.D.测试软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中化学选修一课件
- 2025年各地中考语文试卷【 基础知识综合题】汇集练附答案解析
- 高一功率课件
- 竞业禁止协议执行中补偿金调整与争议解决合同
- 章珊情感破裂离婚协议书:财产分割及子女抚养权约定
- 离婚房产分割协议书中的共有权转让与变更合同
- 老旧小区改造简单承包拆迁及物业管理合同
- 离婚房产分割保障未成年子女教育、医疗、生活协议
- 职业教育改革方案报告
- 仪表设备检修预案
- 护理不良事件警示教育(新)
- 人生规划和人生定位课件
- 陕09J01 建筑用料及做法图集
- 教育行政学课件
- 30题工程造价岗位常见面试问题含HR问题考察点及参考回答
- 【维生素C】大剂量协助你改善各种疾病-钱学森保健、贾平凹乙肝
- 产品研发管理手册:免修版模板范本
- MOOC创新创业与管理基础(东南大学)
- 项目策划编制指南(最终版本7.22)
- 【高中班会】鸣警钟勿忘国耻+悼先烈砥砺前行+课件+高一上学期爱国主义教育主题班会
- 资源调查与评价-课件
评论
0/150
提交评论