详细设计jj.pptx
《详细设计jj.pptx》由会员分享,可在线阅读,更多相关《详细设计jj.pptx(66页珍藏版)》请在咨信网上搜索。
1、2024/8/22 周四1详细设计详细设计2024/8/22 周四2详细设计详细设计w详细设计阶段的根本目段的根本目标是确定是确定应该怎怎样具体地具体地实现所所要求的系要求的系统。w结构程序构程序设计是是实现上述目上述目标的关的关键技技术,因此是,因此是详细设计的的逻辑基基础。w 软件定件定义阶段定段定义了了问题结构构,叫做叫做软件件设计的一的一级蓝图;软件件总体体设计确定了确定了软件件结构,即确定模构,即确定模块的划分、模的划分、模块间的接口,称的接口,称为软件件设计二二级蓝图;软件件详细设计确确定每个定每个软件模件模块的的实现算法,可称算法,可称为软件件设计的三的三级蓝图。2024/8/2
2、2 周四3详细设计详细设计基本步基本步骤n确定模确定模块如何如何实现n编写写详细设计说明明书n制定制定单元元测试计划划n详细设计评审2024/8/22 周四4结构程序设计结构程序设计w1965年,年,E.W.Dijkstra指出:指出:“可以从高可以从高级语言中取言中取消消GOTO语句句”,“程序的程序的质量与程序中所包含的量与程序中所包含的GOTO语句的数量成正比句的数量成正比”。w1966年年Bohm和和Jacopini证明了,只用三种基本的控制明了,只用三种基本的控制结构就能构就能实现任何任何单入口入口单出口的程序。出口的程序。这三种基本的三种基本的控制控制结构是构是“顺序序”、“选择”
3、和和“循循环”。w理理论上最基本的控制上最基本的控制结构只有两种:构只有两种:顺序序结构和循构和循环结构(构(DO-WHILE结构)。构)。w经典定典定义:“如果一个程序的代如果一个程序的代码块仅仅通通过顺序、序、选择和循和循环这3种基本控制种基本控制结构构进行行连接,并且每个代接,并且每个代码块只有一个入口和一个出口,只有一个入口和一个出口,则称称这个程序是个程序是结构化的。构化的。”2024/8/22 周四5三种基本的控制结构三种基本的控制结构 2024/8/22 周四6其他常用的控制结构其他常用的控制结构2024/8/22 周四7判断一个数判断一个数m是否为素数流程图是否为素数流程图开始
4、开始结束结束输入输入mi=2m%i!=0i=i+1im-1输出输出m是素数是素数输出输出m不是素数不是素数2024/8/22 周四8详细设计的描述工具MAX=A(1)i=2i=i+1MAX=A(i)in?MAXmax IF Aimax THEN max:=Ai THEN max:=Ai i:=i+1 i:=i+1注注.1.A.1.A是一个是一个n n元数组;元数组;2.2.省略变量说明;省略变量说明;3.3.省略输入、输出语句。省略输入、输出语句。例例例例.“在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数”的的的的程序流程图程序流程图程
5、序流程图程序流程图2024/8/22 周四9 任何复任何复杂的程序流程的程序流程图都都应由以上五种基本由以上五种基本结构构组合而成。合而成。缺点:本质上不具备逐步求精的特点,对于提高缺点:本质上不具备逐步求精的特点,对于提高 大型系统的可理解性作用甚微;大型系统的可理解性作用甚微;不易表示数据结构;不易表示数据结构;转移控制太方便。转移控制太方便。趋势:停止使用趋势:停止使用 优点:容易掌握,且历史优点:容易掌握,且历史“悠久悠久”,使用广泛。,使用广泛。ISO 认可的规定符号:认可的规定符号:工具工具2024/8/22 周四10SequentialABPFTABSelectivePFT BD
6、o-While PSWhileDo-Until PSUntilCaseP12nA1A2AnCallsubroutineA2、盒图、盒图(Box Diagram):Nassi&Shneiderman 1973年提出,年提出,又称为又称为N-S Charts。Chapin 1974年作扩充,故年作扩充,故也称为也称为Chapin charts.工具工具2024/8/22 周四11画出下列伪码程序的程序流程图,盒图(画出下列伪码程序的程序流程图,盒图(N-S图)。图)。STARTIF p THENWHILE q DO fEND DOELSEBLOCK g nEND BLOCKEND IFSTOP20
7、24/8/22 周四12根据伪码画出根据伪码画出NSSTARTIF A THENX1DO UNTIL BELSEX2YEND IFZSTOPATFUNTILBX1X2YZ2024/8/22 周四13输入输入mw=0i=2m%i!=0T Fi=i+1W=1直到直到im-1或或w=1w=0 F T输出输出m是素数是素数输出输出m不是素数不是素数NS流程图流程图2024/8/22 周四14详细设计的描述工具FOR i=2 TO nMAX=A(1)MAXmax IF Aimax THEN max:=Ai THEN max:=Ai;注注.1.A.1.A是一个是一个n n元数组;元数组;2.2.省略变量说
8、明;省略变量说明;3.3.省略输入、输出语句。省略输入、输出语句。例例例例.“在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数”的的的的N N N NS S S S图图图图2024/8/22 周四15特点:特点:没有箭头,不允许随意转移控制;没有箭头,不允许随意转移控制;每个矩形框每个矩形框(Case中条件取值例外中条件取值例外)都都是一个功能域是一个功能域(即一个特定结构的作即一个特定结构的作用域用域),结构表示明确;,结构表示明确;局部及全程数据的作用域易见;局部及全程数据的作用域易见;易表现嵌套关系易表现嵌套关系(embedded
9、structure)以以及模块的层次结构。及模块的层次结构。工具工具2024/8/22 周四16ABSequential While PS Until PSLoopsPABTHENELSESelectiveP=A1A2CaseAn12nStatementIndexdefDefinition3、PAD(Problem Analysis Diagram):日立公司,日立公司,1973工具工具2024/8/22 周四17详细设计的描述工具NAX=A(1)WHILE inMAX=A(i)i=i+1MAXmax IF aimax THEN max:=ai THEN max:=ai;i=i+1 i=i+1
10、 注注.1.A.1.A是一个是一个n n元数组;元数组;2.2.省略变量说明;省略变量说明;3.3.省略输入、输出语句。省略输入、输出语句。例例例例.“在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数”的的的的PADPADPADPAD图图图图2024/8/22 周四18x4TFDo-Until x5ighfkx1TFbDo-Until x6ajx21cDo-While x323dek:例:例:N-S图与图与PAD的转换的转换工具工具练习:请将练习:请将N NS S图转化成图转化成PADPAD图图ABSequentialPABTHENELS
11、ESelective While PS Until PSLoopsP=A1A2CaseAn12n2024/8/22 周四19开始开始 结束结束 aj Until x5i Until x6bx1kfx4ghdefkx2de123 While x3c工具工具2024/8/22 周四20对应于增量型循环结构对应于增量型循环结构for i:=n1 to n2 step n3 do在在PAD中有相应的循环控制结构中有相应的循环控制结构PADPAD的扩充控制结构的扩充控制结构的扩充控制结构的扩充控制结构2024/8/22 周四21特点:特点:结构清晰,层次分明,易读;结构清晰,层次分明,易读;支持逐步求精
12、的设计思想;支持逐步求精的设计思想;容易将容易将PAD自动转换为高级语言源程序。自动转换为高级语言源程序。工具工具2024/8/22 周四224 4、判定表、判定表&判定树判定树(Decision Table&Tree)(Decision Table&Tree)表示复杂的条件表示复杂的条件(input)(input)组合与应做动作组合与应做动作(output)(output)之间的对应关系。之间的对应关系。判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系,而其它的工具不易表示。一张判定表由四部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,
13、右下部是和每种条件组合相对应的动作。判定表的每一列实质上是一条规则,规定了与特定的条件组合相对应的动作。判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。优点:形式简单,不需任何说明,易看出含义,易于掌握和使用。缺点:简洁性不如判定表,相同的数据元素往往要重复写多遍,而且越接近树的叶端重复次数越多。工具工具2024/8/22 周四2312345教授TFFF副教授FTFF讲师FFTF助教FFFT讲座TFFFF5030252015例:某 校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来
14、决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。判定表示例判定表示例2024/8/22 周四24教师课时津贴判定树判定树示例判定树示例2024/8/22 周四25例:例:航空行李托运费的算法航空行李托运费的算法按规定:重量不超过按规定:重量不超过30公斤的行李可免费托运。公斤的行李可免费托运。重量超过重量超过30公斤时,对超运部分,头等公斤时,对超运部分,头等舱国内乘客收舱国内乘客收4元元/公斤;其它舱位国内公斤;其它舱位国内乘客收乘客收6元元/公斤;外国乘客收费为国内公斤;外国乘客收费为国内乘客的乘客的2倍;残疾乘客的收费为正常乘倍;残疾乘客的收费为正常乘客的客的1/2。
15、工具工具2024/8/22 周四26RulesRule numbers Condition rowsAction rows工具工具2024/8/22 周四27行李费行李费算法算法行李重量行李重量W 30行李重量行李重量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用判定树表示计算行李费的算法用判定树表示计算
16、行李费的算法注:判定表与判定树并注:判定表与判定树并不适用于作为一种通用不适用于作为一种通用的设计工具,通常将之的设计工具,通常将之用于辅助测试用于辅助测试工具工具2024/8/22 周四28判定表与判定树【例】问题处理描述:耗电记费系统可以采用固定价格收费、浮动价格收费和其他方式收费三种方式。若采用固定价格方式收费,对每月耗电100kWh以下的用户只征收最低标准费,超过100kWh的用户按价格表A收费;若采用浮动价格方式收费,则每月耗电100kWh以下的用户按价格A收费,超过100kWh的用户按价格B收费。2024/8/22 周四29 判定表规 则12345 固定价格方式 浮动价格方式 耗电
17、100kW.h 耗电100kW.h TFTFTFFTFTTFFTFTFF 收取最低标准费 按价格表A收费 按价格表B收费 其他处理 条件条件动作动作2024/8/22 周四30【例】判定树 耗电100kWh 收取最低标准费 固定方式 耗电100kWh 按价格表A收费 耗电100kWh 按价格表A收费耗电收费 浮动方式 耗电100kWh 按价格表B收费 其他方式 其他处理用判定树表示计算耗电收费的算法 2024/8/22 周四31过程设计语言(PDL)PDL(Procedure Design Language)也称为结构英语或伪码,是所有正文形式的过程设计工具的统称。PDL经常表现为一种“混杂”
18、的形式,允许自然语言(如英语)的词汇与某种结构化程序设计语言(如Pascal、C、Ada等)的语法结构交织在一起2024/8/22 周四32过程设计语言(PDL)PDL应具有下述特点:1关键字采用固定语法并支持结构化构件、数据说明机制和模块化;2处理部分采用自然语言描述;3允许说明简单(标量、数组等)和复杂(链表、树等)的数据结构;4子程序的定义与调用规则不受具体接口方式的影响。2024/8/22 周四33过程设计语言(PDL)考察一个PDL的原型,它可以建立在任意一个通用的结构化程序设计语言之上。基本成分包括:子程序定义、界面描述、数据说明、块结构、分支结构、循环结构和I/O结构。数据说明的
19、形式为:TYPE IS 其中:局部变量或全局变量;某个特定关键字(例如,SCALAR,ARRAY,LIST,STRING,STRUTURE等);说明此处定义的变量在该过程或整个程序中应如何使用。2024/8/22 周四34过程设计语言(PDL)w可进行抽象数据类型的定义,例如:TYPE table_1 IS INSTACE OF symbol_table 而symbol_table在另一处已定义如下:TYPE symbol_table IS STRUCTURE DEFINED2024/8/22 周四35过程设计语言(PDL)w该PDL的块结构描述一个过程元素,即一个块内的所有语句将作为一个整体
20、执行,形式为 BEGIN END该PDL的分支结构有if-then-else和case两种形式,分别为 IF THEN ELSE ENDIF2024/8/22 周四36过程设计语言(PDL)CASE OF WHEN SELECT WHEN SELECT WHEN SELECT DEFAULT:ENDCASE2024/8/22 周四37过程设计语言(PDL)循环结构包括三类,表达形式分别为:DO WHILE ENDWHILEREPEAT UNTIL ENDREPEATDOFOR =ENDFOR2024/8/22 周四38过程设计语言(PDL)此PDL还提供了NEXT和EXIT两种语句:EXIT语
21、句,退出本层循环;NEXT语句强迫本次循环结束,新一轮循环开始。在该PDL中,子程序说明为:PROCEDURE INTERFACE END 其中属性表指明该子程序的引用特性(比如,是INTERNAL还是EXTERNAL模式)和其他依赖于实现(即程序设计语言)的特性。2024/8/22 周四39过程设计语言(PDL)输入/输出说明部分常用的形式有 READ/WRITE TO 或 ASK ANSWER 后一种形式多用于人机交互部分的设计。2024/8/22 周四40请使用请使用PDL语言描述在数组语言描述在数组A(1)A(10)中)中找最大数的算法。找最大数的算法。N=1WHILE N=10 DO
22、IF A(N)=A(N+1)MAX=A(N+1);ELSE MAX=A(N)ENDIF;N=N+1;ENDWHILE;2024/8/22 周四41面向数据结构的设计设计方法设计方法面向数据流的设计面向数据流的设计面向数据结构的设计面向数据结构的设计工作基础工作基础最终目标最终目标主要适用主要适用范范 围围 在详细设计阶段确定部分或全在详细设计阶段确定部分或全部模块的逻辑过程。部模块的逻辑过程。在概要设计阶段用在概要设计阶段用SD方法确定软件的方法确定软件的结构。结构。以数据结构以数据结构 为基础。为基础。从问题的数从问题的数据结构出发据结构出发导出它的程序结构导出它的程序结构。以数据流图为基础
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 详细 设计 jj
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。