第四章 软件设计——(3)详细设计.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文档。上传文档
查看更多
第四章 软件设计 软件设计概述 概要设计 详细设计 面向对象的设计方法 目录 1.详细设计工具 2.面向数据结构的设计方法 3 .程序复杂度的度量 4.详细设计说明书 结构化设计模型——从分析模型导出设计模型 0 过程设计 从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。这就是过程设计的任务。 结构化程序设计 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 1 详细设计工具 在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。表达过程规格说明的工具叫做详细设计工具,它可以分为以下三类: 图形工具(程序流程图、盒图、PAD) 表格工具(判定表) 语言工具(PDL,即结构化语言) (1)流程图构件 例:在一组数中找出其中最大数 注: 嵌套使用这些控制结构能逐步形成更复杂的控制流程描述。 程序流程图中使用的符号: (a) 选择(分支);(b) 注释;(c) 预先定义的处理;(d) 多分支;(e) 开始或停止;(f) 准备;(g) 循环上界限;(h)循环下界限;(i) 虚线;(j) 省略符;(k) 并行方式;(l) 处理;(m) 输入输出;(n) 连接;(o) 换页连接;(p) 控制流 程序流程图缺点 (1) 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。 (2) 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。 (3) 程序流程图不易表示数据结构。 (2)N-S图(盒图/框图) case多分支选择 例:在一组数中找出其中最大数 N-S图的嵌套定义形式 N-S的特点 优点: 只描述结构化程序容许的标准结构,根除GOTO 并列、嵌套,所有结构均清晰可见 缺点 随嵌套层次增多,内层方块小,绘图困难,清晰度降低 (3) PAD图 -- Problem Analysis Diagram PAD图由日本日立公司1973年发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。 它即克服了传统的流程图不能清晰表现程序结构的缺点,又不像N-S图那样受到把全部程序约束在一个方框内的限制,这就是其优势所在。 PAD图的基本符号 (a) 顺序;(b) 选择;(c) CASE多分支;(d) WHILE型循环; (e) UNTIL型循环;(f) 语句标号;(g) 定义 PAD描述的示例 使用PAD图提供的定义功能来逐步求精的例子 (a) 初始的PAD图;(b) 使用def符号细化处理框P2 PAD图的特点 (1) 使用PAD符号所设计出来的程序必然是结构化程序。 (2) PAD图所描绘的程序结构十分清晰。 图中最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数。 (3) 用PAD图表现程序逻辑,易读、易懂、易记。 PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。 (4) 容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。 (5) PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象的程序,随着设计工作的深入而使用def符号逐步增加细节,直至完成详细设计。 (4) 判定表 (5) 判定树 判定表\判定树 适于:复杂条件组合与各种动作之间的对应 特点: 1)简洁无歧义地描述处理规则,却不能清晰表示顺序和循环 2)常作辅助与其它过程设计工具结合 (6)过程设计语言(PDL,Procedure Design Language) 1975年由Caine与Gordon首先提出。PDL是所有非正文形式的过程设计工具的统称,到目前为止已出现多种PDL语言。 也称为“伪码”  自然语言+结构化程序设计语言 目前大多数PDL描述不能直接编译  PDL特点 (7)IPO图(Input-Process-Output) 过程设计工具之比较 PDL具有较好的组合特性 PDL直接嵌在源代码中作为设计文档和注释,减少维护困难; PDL描述可用一般正文编译器或字处理软件编辑; PDL自动处理器已经面世,

文档评论(0)

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

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

1亿VIP精品文档

相关文档