第5章详细设计与编码要点解析.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4 程序设计风格 例如,有一个求3个数中最小值的程序,对应的流程图及程序如下: 5.4 程序设计风格 (9)尽量只采用3种基本的控制结构来编写程序。 (10)避免使用空的ELSE语句和IF…THEN IF…语句。这种结构容易使读者产生误解。 例如,下面的程序可能产生二义性问题。 5.4 程序设计风格 (11) 避免采用过于复杂的条件测试。 (12) 尽量减少使用“否定”条件的条件语句。例如,如果在程序中出现 if ( !( char<0 || char >9 ) ) …… 将其改成下面的语句,含义会更直接。 if ( char = 0 char = 9 ) …… 5.4 程序设计风格 输入/输出规范化 输入/输出信息是与用户的使用直接相关的。输入/输出的方式和格式应当尽可能方便用户的使用。 输入/输出的风格随着人工干预程度的不同而有所不同。 5.4 程序设计风格 输入/输出的原则 (1) 对所有的输入数据都进行检验,从而识别错误的输入,以保证每个数据的有效性。 (2) 检查输入项的各种重要组合的合理性,必要时报告输入状态信息。 (3) 使得输入的步骤和操作尽可能简单,并保持简单的输入格式。 (4) 输入数据时,应允许使用自由格式输入。 (5) 应允许默认值。 (6) 输入一批数据时,最好使用输入结束标志,而不要由用户指定输入数据数目。 5.4 程序设计风格 输入/输出的原则 (7)在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示交互输入的请求,指明可使用选择项的种类和取值范围。同时,在数据输入的过程中和输入结束时,也要在屏幕上给出状态信息。 (8)当程序设计语言对输入/输出格式有严格要求时,应保持输入格式与输入语句要求的一致性。 (9)给所有的输出加注解,并设计输出报表格式。 5.5 程序复杂程度度量 程序复杂性主要指模块内程序的复杂性。它直接关系到软件的开发成本、开发周期和软件内部潜伏错误的多少。 它也是软件可理解性的另一种度量。 度量的价值在于可以用于估算软件中错误的数量及软件开发的工作量,也可以用来比较两个不同的设计或算法的优劣。 本节介绍如何使用McCabe方法及Halstead方法度量程序的复杂程度。 5.5 程序复杂程度度量 McCabe方法 McCabe方法基于程序或算法的控制流图来计算其环路复杂性, 使用这种方法时需要先画出控制流图,然后再计算控制流图中环路的个数。 5.5 程序复杂程度度量 控制流图 可以将控制流图看做是退化的程序流程图。即将程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图称为控制流图。 控制流图仅描述程序内部的控制流程,完全不表现对数据的具体操作,以及分支和循环的具体条件。 5.5 程序复杂程度度量 控制流图的结构 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 5.5 程序复杂程度度量 控制流图举例 5.5 程序复杂程度度量 复合条件的分解 如果判断中的条件表达式是由一个或多个逻辑运算符(OR,AND,…)连接的复合条件表达式,则需改为一系列只有单个条件的嵌套的判断,如图所示。 5.5 程序复杂程度度量 程序的环路复杂性 对于给定的控制流图G,环路复杂性V(G)的计算方法如下。 (1) 环路复杂性定义为控制流程图中的区域数。 (2) 设E为控制流图的边数,N为图中的结点数 V(G) =E ? N + 2 (3) 设P为控制流图中的判定结点数 V(G) = P + 1 5.5 程序复杂程度度量 环路复杂性的应用 程序的环路复杂性给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目。 一条独立路径是至少包含有一条在其他独立路径中从未有过的边的路径。 5.5 程序复杂程度度量 环路复杂性的应用 在右图所示的控制流图中,一组独立的路径是: 路径 path1,path2,path3,path4组成了控制流图的一个基本路径集。 5.5 程序复杂程度度量 Halstead方法 Halstead方法是根据程序中运算符和操作数的总数来度量程序的复杂度。 5.5 程序复杂程度度量 实际的Halstead长度 令N1为程序中运算符出现的总次数; N2为操作数出现的总次数; 实际的Halstead长度N定义为 N = N1 + N2 5.5 程序复杂程度度量 预测的Halstead长度 详细设计之后,假设程

文档评论(0)

三沙市的姑娘 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档