第六章 详细设计35424.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文档。上传文档
查看更多
第六章 详细设计35424.ppt

第6章????详细设计 在软件的总体设计中,已经将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个模块的功能及模块与模块之间的外部接口。 详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程。 第6章????详细设计 详细设计的任务和原则 一、详细设计的任务 (1)确定每个模块的算法。----使用图形等工具 (2)确定每一个模块的数据组织(包括数据库的物理设计)。 (3)为每个模块设计一组测试用例。 (4)编写详细设计说明书。 (5)评审。对处理过程的算法和数据库的物理结构都要评审。 第6章????详细设计 二、详细设计的原则 (1)模块的逻辑描述正确可靠、清晰易读。 (2)采用结构化程序设计方法,改善控制结构,降低程序复杂度,提高程序的可读性、可测试性和可维护性。 第6章????详细设计 6.1 结构程序设计(SP) 结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。 三种基本的控制结构 (顺序、选择、循环) 第6章????详细设计 使用结构程序设计技术的好处: (1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,可以显著提高软件开发的成功率和生产率。 (2)先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构。 (3)使用单入口单出口的控制结构而尽量不使用GO TO语句,使得程序的静态结构和它的动态执行情况比较一致。 (4)控制结构有确定的逻辑模式,编写程序代码只限于使用很少几种直截了当的方式。 (5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。 (6)程序的逻辑结构清晰,有利于程序正确性证明。 第6章????详细设计 6.3 详细设计的工具 详细描述处理过程常用三种工具:图形、表格和语言。 一、程序流程图 (Program Flow Chart,PFC) 二、N-S图 三、PAD图 四、判定表和判定树 五、 PDL语言 问题分析图(PAD) problem analysis diagram PAD图是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。PAD图的控制流程为自上而下,从左往右地执行。优点: 清晰地反映了程序的层次结构。 支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。 易读易写,使用方便。 支持结构化的程序设计原理。 容易转换成高级语言源程序,可用软件工具自动完成。 判定表 判定表用于表示程序的静态逻辑 在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理 要求将程序流程图中的多分支判断都改成两分支判断 能够清晰地表示复杂的条件组合与应做的动作之间的对应关系 判定树 判定树是判定表的变种也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。 优点在于,它的形式简单到不需要任何说明,一眼说可以看出其含义 易于掌握和理解 2 . Jackson方法 Jackson结构程序设计方法基本上由5个步骤组成。 6.5.1 McCabe方法 1. 流图 根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。 为了突出表示程序的控制流,人们通常使用流图(也称为程序图)。所谓流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。 圆表示结点 一个圆代表一条或多条语句。 一个顺序的处理框序列和一个菱形判定框,可以映射成流图中的一个结点。 流图中一条边必须终止于一个结点,即使这个结点并不代表任何语句(实际上相当于一个空语句)。 由边和结点围成的面积称为区域,当计算区域数时应该包括图外部未被围起来的那个区域。 2. 计算环形复杂度的方法 环形复杂度定量度量程序的逻辑复杂度。有了描绘程序控制流的流图之后,可以用下述3种方法中的任何一种来计算环形复杂度。 (1) 流图中的区域数等于环形复杂度。 (2) 流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 (3) 流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 6.5.2 Halstead方法 Halstead方法根据程序中运算符和操作数的总数来度量程序的复杂程度。 N1为程序中运算符出现的总次数 N2为操作数出现的总次数 程序实际长度N定义为:N=N1+N2 详细设计完成之后, 程序中使用的不同运算符(包括关键字)的个数n1 不同操作数(变量和常数)的个数n2 预测程序长度的公

文档评论(0)

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

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

1亿VIP精品文档

相关文档