05详细设计课程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 详细设计;5.1 结构化程序设计;1965年,E.W.Dijkstra在IFIP(国际信息处理联合会)会议上提出“可以从高级语言中取消GOTO语言”、“程序的质量与程序中所包含的GOTO语句的数量成反比”。但是当时并未引起很大反响。 1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口单出口的程序,这个结论奠定了结构程序设计的理论基础。这三种基本的控制结构是“顺序”、“选择”、“循环”。 1968年Dijkstra在ACM通讯上发表了短文“GOTO statement considered harmful”再次建议从一切高级语言中取消GOTO语句,只使用三种基本控制结构写程序。经过讨论人们认识到,不是简单地去掉GOTO语句的问题,而是要创立一种新的程序设计思想、方法和风格,以显著地提高软件生产率和降低软件维护代价。 1971年IBM公司在纽约时报信息库管理系统的设计中成功地使用了结构程序设计技术(以及主程序员组),随后在美国宇航局空间实验室飞行模拟系统的设计中,结构程序设计技术(也采用了主程序员组的形式)再次获得圆满成功。 ;结构化程序设计的主要原则;三种基本的控制结构 ; 实际上用顺序结构和循环结构(又称DO-WHILE结构)完全可以实现选择结构(又称IF-THEN-ELSE结构),只要使得while判断语句的条件只成立一次即可。因此,理论上最基本的控制结构只有两种。 ;虽然从理论上说只用上述三种基本控制结构就可以实现任何单入口单出口的程序,但是为了实际使用方便起见,常常还允许使用DO-UNTIL和DO-CASE两种控制结构,其流程图分别为:;常用以上五种基本构造,但是在遇到多层嵌套循环时,如果每层只允许一个出口,势必影响退出时的效率。所以需要立即从循环(甚至嵌套的循环)中转移出来,如果允许使用LEAVE(或BREAK)结构,则不仅方便而且会使效率提高很多。 LEAVE或BREAK结构实质上是受限制的GOTO语句,用于转移到循环结构后面的语句。;结构化程序设计的分类;怎么判断一个程序是否为结构化的?; 重写了方框D,变成了结构化的流程图。如果D是一个不太大的程序段,这样的变换是合理的。如果D是一个很大的程序段,这样的变换就是不理想的。当然,对这个具体问题,还有一个更好的解决方法,可以将D写成一个子程序,分别用两个调用语句来调用它。 ; 将非结构化流程图改为结构化流程图时,使用了标志技术。标志(flag)是一个变量,它记忆过去的判定是真是假,并保持此信息以备后用。这样,利用一个标志存贮变量flag,四个标志赋值语句及一个标志测试,就可以把它变换成结构化流程图。 ;自顶向下,逐步求精方法的优点;缺点;5.2 详细设计的工具;程序流程图; ; ;程序流程图的主要缺点;N-S图;示例;N-S图的嵌套定义形式;N-S图的特点:; ;PAD设置了五种基本控制结构的图式,并允许递归使用。;PAD图的基本原理:; ;PAD图的主要优点:;PDL (Procedure Design Language);示例: 拼词检查程序; PDL的特点;内语法使用自然语言来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。 有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。 有子程序定义与调用机制,用以表达各种方式的接口说明。 ;5.3 Jackson方法; (2) JSD方法;(3) Jackson结构程序设计方法JSP;Jackson提出的数据结构表示有三种基本的构造类型,如下图所示。 图(a)是顺序结构,即数据结构A由B、C、D三个成分组成且按B、C、D顺序排列。 图(b)是选择结构,即数据结构A或者由B组成,或者由C组成,二者必具其一。可选择的数据(子结构或数据项)加“°”表示。 图(c)中表示的是重复结构,即数据结构A由多个B子结构组成,子结构用“*”加以标记。 ;三种基本结构可以组合,形成更复杂的结构体系。如右图所示。这种数据结构图可以同样方便地应用于输入、输出和数据库结构。 ;信用卡记账的例子;图 (a) 给出了信用卡记账系统的输出记账报告。 ;图(b) 给出了根据输入和输出数据结构的对应关系建立的输出文件。;从层次性的输入和(或)输出数据结构可以直接推导出程序或进程的过程性表示。 从图 (b) 所示的输出文件的Jackson数据结构图所导出的程序结构如下图所示。 ;说明 用JSP方法得到的程序或进程结构图,一般都需要求精和优化。因为这种方法是从输入输出数据结构导出程序结构图,因此有些中间处理过程在结构图中反映不出来。在求精过程中,可以对结构图进行改进和细化,使之完整和易于实现。;5.

文档评论(0)

bbnnmm885599 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档