




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.2详细设计的工具详细设计工具包括图形,表格,语言三类。不论是哪一类工具,都应该指明控制流,处理功能,数据组织以及其它方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码。描述程序处理过程的工具称为详细设计工具。1.程序流程图2.盒图(N-S图)3.问题分析图(PAD)5.过程设计语言(PDL)(伪码)4.判定树与判定表1.程序流程图
程序流程图又称为程序框图,是详细设计中最古老、使用最广泛的图形描述工具。是流经一个系统的信息流、观点流或部件流的图形代表。
流程图由一些图框和流程线组成,图框表示操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后。最简单的结构是矩形(代表处理)和菱形(代表决策)。五种基本控制结构:
示例程序流程图的规定符号1)顺序型结构
顺序结构由带箭头的控制线依次连接几个处理方框构成。
处理1处理2处理n…例题
2)
选择型结构
选择型结构是流程图中最为常用的结构,其结构构造有两种,一种是条件选择结构又称为IF-THEN-ELSE结构,使用菱形表现逻辑判定条件,条件结果决定选择两个处理方框中的一个。处理1处理2决策条件……结果YesELSE部分THEN部分No……No处理1决策条件1Yes处理2决策条件2Yes处理n决策条件nYesNoNo例题
3)
循环型结构
重复执行某种功能的程序时就用到循环结构,流程图中循环型结构分为两种,一种是先判定型循环,又称为DO-WHILE型循环结构,测试一个循环控制条件为真时,就重复执行特定的处理。循环条件处理NoYes例题先判定型循环结构流程图先判定再执行
4)
循环型结构
另一种是后判定型循环,又称为Repeat-Until型循环结构,重复执行某特定的处理,直到控制条件成立为止。循环条件处理NoYes例题先执行再判断,至少执行一次指定的操作后判定型循环结构流程图
5)
综合嵌套型结构
流程图的优缺点(1)优点:它独立于任何一种程序设计语言,比较直观,清晰,易于掌握。(2)缺点:流程图所使用的符号不够规范,常常使用一些习惯性用法。特别是表示程序控制流程的前头,使用的灵活性极大,程序员可以不受任何约束随意转移控制。(3)对程序图所用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。2、盒图(N-S图)1973年,Nassi和Shneiderman发表了题为“结构化程序的流程图技术”的文章,提出用盒图(Boxdiagram)来代替传统的流程图,引起了人们的重视,根据这两位创始人的名字,许多人把它简称为N-S图(N-Schart)。N-S的主要特色,就是只能描述结构化程序所允许的标准结构,根本取消了表现诸如含有GOTO语句的非标准结构的手段。用方框图代替传统的流程图,N-S结构流程图也成为盒图,是一种符合结构化程序设计原则的图形描述工具。N-S图对五种基本控制结构,由五种图形构件表示。(a)顺序;(b)选择;(c)CASE多分支;(d)循环;(e)调用子程序A示例X5abX1bX4iFFghX2X3cX=1X=2dTX=3eX6FFTTT结束开始T1)功能域(即一个特定控制结构的作用域)明确2)不可能任意转移控制3)很容易确定局部和全程数据的作用域4)很容易表现嵌套关系,也可以表示模块的层次结构N-S图的特点N-S图示例ab条件1TF
CaseXi,i=2,3,4X2X3X4当条件3成立条件2直到条件4成立直到条件成立cdefghij顺序结构选择结构多分支选择结构先判定型循环结构后判定型循环结构FTTF例1:startifpthenwhileqdofenddoelseblockgnendblockendifstop例2:以下是两个程序流程图,试用N—S图表示。N-S图的优缺点(1)优点:所有的程序结构均用方框来表示,无论并列或者嵌套,程序的结构清晰可见。而且,由于它只能表达结构化的程序逻辑,使应用N-S图来描述软件设计的人不得不遵守结构化程序设计的规定。久而久之,就可自然地养成良好的程序设计风格。(2)缺点:当程序内嵌套的层数增多时,内层的方块越画越小,不仅会增加画图的困难,并将使图形的清晰性受到影响。N-S图的扩展形式扩展:要相应位置用名字(用椭园框),在另外的地方把这些命名的部分进一步展开。3、问题分析图(PAD)(ProblemAnalysisDiagram)PAD图是日本日立公司于1979年提出的一种算法描述工具,现已等到ISO认可。它是一种由左往右展开的二维树型结构。PAD图的控制流程为自上而下,从左往右地执行。优点:清晰地反映了程序的层次结构。(层次数即为纵线数)支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。易读易写,使用方便(比流程图)。支持结构化的程序设计原理。可自动生成程序。PAD也设置了五种基本控制结构的图式,并允许递归使用。PAD描述的示例
对应于增量型循环结构
for
i:=n1
to
n2
step
n3
do
在PAD中有相应的循环控制结构PAD的扩充控制结构使用PAD图提供的定义功能来逐步求精的例子(a)初始的PAD图;(b)使用def符号细化处理框P2例1:startifpthenwhileqdofenddoelseblockgnendblockendifstop例2:以下是两个程序流程图,试用PAD图表示。使用PAD符号设计的程序必然是结构化的程序.PAD图所描绘的程序结构十分清晰.用PAD图表现程序逻辑,易读,易记,易懂.容易将PAD图转换成高级语言源程序.可用软件工具实现自动转换.即可以表示程序逻辑,也可以描绘数据结构.支持自顶向下,逐步求精方法的使用.PAD图的优点:4、判定表
程序流程图、N-S图、PAD图都不易清楚的描述含有多重嵌套的条件选择。判定表可以清晰的表示复杂的条件组合与其对应的处理之间的关系。
一张判定表由4部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作.判定表右半部实质上是一条规则,规定了与特定条件组合相对应的动作.所有条件条件组合矩阵与每种条件组合所对应的动作表所有可能的动作列表国内乘客头等舱残疾乘客行李≤30kg免费(W-30)*2(W-30)*3(W-30)*4(W-30)*6(W-30)*8(W-30)*12TTTFTTTTTTTTTTFFFFFFFFFFFFFFFFFFF×××××××××例1假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表来表示与上述每种条件组合相对应的动作。用判定表表示计算行李费算法
12345教授
TFFF副教授
FTFF讲师
FFTF助教
FFFT讲座TFFFF50×
30
×
25
×
20
×
15
×例2:某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。行李费算法行李重量
W>30国内乘客外国乘客头等舱其它舱残疾乘客----(W-30)*2正常乘客----(W-30)*4残疾乘客----(W-30)*3正常乘客----(W-30)*6头等舱其它舱残疾乘客----(W-30)*4正常乘客----(W-30)*8残疾乘客----(W-30)*6正常乘客----(W-30)*12行李重量
W≤30免费判定树是判定表的变体,其优点是形式简单,不需要任何说明,一眼就可以看出它的含义.5、判定树例1、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在20—40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用判定表或判定树描述上述问题的加工逻辑。分析:本题条件包括年龄、文化程度、性别三个,构成的判定条件取值表如表所示所有的组合条件为3X3x2=182、用判定表描述“检查定货单”的处理逻辑:“如果金额超过1000元而又未过期,则发出批准单和提货单。如果金额超过2000元,但已过期,则不发出批准单和提货单。如果金额低于2000元,则不论是否过期,都发出批准单和提货单,而且对低于2000元已过期的还需发出通知单”。6、PDL语言8.3详细设计说明书引言程序系统的组织结构关键程序的设计说明详细设计说明书规格例1例2例3填空题1.详细设计阶段主要完成的任务是——。2.软件的详细设计可以采用——、——、—————三种形式的描述工具表示模块的处理过程。设计出模块的执行过程。图、表、过程设计语言3.Jackson方法可以实现从——中推导出程序结构数据结构4.程序流程图称——,包括三个基本的成分:——,——,——。5.为了实现使用程序流程图描述结构化程序,必须限制程序流程图只使用以下五种基本控制结构——、——、——、——、——。6.PAD图是一种描述程序逻辑结构的图形工具,这种图形由程序流程图演化而来,它把程序的结构表示成——结构。程序框图加工处理步骤逻辑条件控制流向顺序型选择型先判定(while)型循环后判定(until)型循环多情况(case)型选择二维树型7.过程设计语言属于一种——,是一种描述——的语言。8.Jackson方法简称JSD,是一种典型的——的设计方法。面向数据结构伪码模块算法设计及处理细节1.软件详细设计阶段的任务是()。A.算法设计B.功能设计C.调用关系设计D.输入/输出设计选择题2.软件详细设计阶段主要采用的工具是()A.DFDB.PADC.DDD.SAAB3.软件详细设计阶段采用自左向右的二维图形结构描述算法的是().A.IPOB.JSPC.PADD.JSDC4.软件详细设计阶段的任务是()。A.确定程序文件名B.确定模块的算法
C.确定变量名D.确定使用的语言B5.结构化程序设计采用的思想是()。
A.筛选法B.逐步求精法C.迭代法D.递归法B6.软件详细设计阶段属于软件生存周期的()阶段。A.需求分析B.软件设计
C编码D.软件维护B7.以语言形式描述模块算法的是()。A.PADB.程序流程图C.PDLD.盒图C8、为了使程序能在不同的计算机上运行,程序应当具有较好的()
A.可移植性B.可重用性C.可维护性D.可适用性A9、下列属于功能性注释的是()。A.说明模块的用处和功能的注释B.说明数据的名称和用处的注释C.说明程序段的注释D.说明程序开发背景的注释C10.下面对提高程序编码效率没有影响的是()。
A.选择良好的设计方法B.选择良好的算法C.选择良好的数据结构D.变量名的使用D11.软件详细设计的主要任务是确定每个模块的()A.功能B.外部接口C.算法和使用的数据结构D.编程实现12.下面关于PDL语言不正确的说法是()A.PDL的外层语法必须符合一般程序设计语言常用的语法规则B.PDL是一种伪码C.PDL只是描述加工的具体实现D.PDL是描述处理过程怎么做13.PAD图在()可以大大提高开发效率A.系统分析B.自动分析数据C.软件的自动化生成D.测试软件CCC14.下列工具在软件详细设计过程中不常用的是()
A.PDLB.N—S图C.DFD图D.PAD图15.Jackson方法是软件设计中用到的一种常用的设计方法,使用Jackson方法可以实现()。A.从模块结构中导出数据结构B.从模块结构中导出程序结构C.从数据流图中导出初始的结构图D.从结构图导出程序结构CD应用题begins1;
ifx>5thens2elses3;
whiley<Odobeginifz>3thens4elses5;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《亚、非、拉美的民族独立与振兴》两极格局下的世界课件-
- 《国家行政机关》-1
- 神奇的彩虹课件
- 河北省秦皇岛市昌黎县一中2024-2025学年高三下学期“赢在百日”第一次模拟演练语文试题(原卷版+解析版)
- 口腔知识课件培训
- 规范网络行为活动主题班会
- 网络优化百日攻坚
- (42)-4【苏教】数学基础卷03-答题卡
- 25年一月份淘宝直播代运营服务纠纷调解协议范本
- 二零二五版授信协议借款合同
- 海南省省直辖县级各县区乡镇行政村村庄村名明细居民村民委员会
- 简约喜庆元宵节介绍模板 教学课件
- 西藏林芝嘉园小区项目可研(可研发)
- 丧假证明模板
- summary-writing-概要写作-优质课件
- 按期取得毕业证和学位证承诺书
- T∕CIC 049-2021 水泥窑用固体替代燃料
- 部编版高中语文必修下册第八单元《单元导读》教学设计
- 第五章 学校教育的主要活动形式:课堂教学
- 大会—冠脉微循环障碍
- 《办公自动化》教学教案
评论
0/150
提交评论