[第四讲详细设计.pptVIP

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[第四讲详细设计

详细设计 第四讲 详细设计主要内容 结构程序设计 详细设计的工具 Jackson程序设计方法 Warnier程序设计方法 程序复杂度的定量度量 详细设计目标和任务 如何具体的实现所要求的系统,得出目标系统的精确描述。 详细设计的任务还不是具体的编写程序,而是要设计出程序的”蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。 详细设计的结果最终决定编码阶段程序的质量。(逻辑正确、性能满足要求、便于阅读和理解) 结构程序设计 结构程序设计的概念最早由E.W.Dijkstra提出。“可以从高级语言中取消goto语句”,“程序的质量与程序中包含的goto语句的数量成反比” 1966年,Bohm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口和单出口的程序。 结构程序设计 1968年,Dijkstra再次建议从一切高级语言中取消goto语句,只使用3中基本控制结构写程序。 1972年IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口,从而补充了程序设计的一些规则。 1971年IBM公司的一些开发项目使用了结构化程序设计后取得了显著的成功,结构化程序设计技术经过了实践的检验。 结构程序设计 定义:是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。 结构程序设计 Wirth关于逐步求精方法的说明: “我们对付复杂问题的重要办法是抽象,因此,对于一个复杂的问题不应该立刻用计算机指令、数字和逻辑符号来表示,而应该用自然语言的抽象语句来表书表述,从而得出抽象程序。抽象程序对抽象的数据进行某些特定的运算,并用某些适合的记号(可能是自然语言)来表示。对抽象程序做进一步分解,并进入下一个抽象层次,这样的精化过程一直进行下去,直到程序能被计算机接受为止。这时的程序可能是用某种高级语言或机器指令书写的。” 优点 自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此,可以显著提高软件开发生产率和成功率 用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序有清晰的层次结构清晰,容易阅读和理解 单入口单出口,较容易保证程序的正确性 模块化结构,控制结构有确定的逻辑模式,有利于程序的测试和正确性证明 程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量很大。 程序的逻辑决构清晰,有利于证明程序的正确性。 缺点 增加了存储容量和运行时间 非结构化程序设计语言不提供单入口单出口的控制结, 常用的结构程序设计类型: 经典的:顺序、分支、循环 扩展的:DO~CASE、DO~UNTIL 修正的:LEAVE 或BREAK 详细设计的工具 描述程序处理过程的工具称为详细设计工具,他们可以分为图形、表格和语言三类。 不论哪类工具,对他们的基本要求都是能提供对设计的无歧义的描述,也就是能指明控制流程、处理功能、数据组织以及其它方面的实现细节。 5.2 详细设计的工具 程序流程图 盒图 PAD图 判定表 判定树 过程设计语言(PDL) 模块开发文件夹 详细设计 ? 任何复杂的程序流程图都应由以上五种基本结构组合而成。 优点: 可以作为注释直接插入到源程序中 可以使用普通地正文编辑程序或文字处理程序 已经有自动处理程序存在,而且可以自动由PDL生成程序代码。 缺点:不够直观。 §2. JSD 分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。 找出输入数据结构和输出数据结构中有对应关系的数据单元。 采用下面三条规则从描述数据结构的Jackson图导出描绘程序结构的Jackson图: §2. JSD 为每对有对应关系的数据单元,按照他们在数据结构图中的层次在程序结构图的相应层次画一个处理框。 根据输入数据结构中剩余的每个单元的处理层次,在程序结构图的相应层次分别为它们画上对用的处理框。 根据输出数据结构中剩余的每个单元的处理层次,在程序结构图的相应层次分别为它们画上对用的处理框。 §2. JSD 列出所有的操作和条件,并且把他们分配到程序结构图的适当位置。 用伪代码表示程序。 §2. JSD 例:一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是:每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。 第4步:列出所有操作条件,并分配到上幅程序结构图中 JSD方法 该方法在设计比较简单的数据处理系统时特别方便,当设计比较复杂的程序时常常遇到输入数据可能有错、条件不能预先测试、数据结构冲突等问题。 为了克服上述困难,把该方法用到更广阔的领域,需要采用一系列比较复杂的辅助技术。 Warnier方法 由法国人J

文档评论(0)

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

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

1亿VIP精品文档

相关文档