mccabe方法是一种基于程序控制流的复杂性度量法-read.ppt

mccabe方法是一种基于程序控制流的复杂性度量法-read.ppt

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mccabe方法是一种基于程序控制流的复杂性度量法-read

* * 习题3答案: ⒈从下列叙述中选出5条符合程序设计风格知道原则的叙述。 ⑴使用有意义的变量名。(T) ⑵程序的注释越少越好。(F) ⑶程序的格式应有助于读者理解程序。(T) ⑷应尽可能多地使用GOTO语句。(F) ⑸使用括号可以改善表达式的清晰性。(T) ⑹不要修改不好的程序,要重新编写。(T) ⑺用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。(F) ⑻不要进行浮点数的相等比较。(T) ⑼程序设计中嵌套的重数越多越好。(F) ⑽应尽可能把程序编得短些。(F) ⒉从供选择的答案中选出适当的字句填入下面关于程序生产率的描述的括号中。 ⑴1960年Dijkstra提倡的(A)是一种有效的提高程序设计效率的方法。这种方法要求尽量避免在程序中使用GOTO语句。 ⑵Dijkstra为了使程序结构易于理解,把基本控制结构限于顺序、(B)、(C)3中。 ⑶(A)不仅提高程序设计的生产率,同时也容易进行程序的(D)。? 供选择的答案: A:①标准化程序设计 ②模块化程序设计 ③多道程序设计 ④结构化程序设计 ⑤汇编语言 ⑥表格处理语言 B,C:①分支 ②选择 ③重复 ④输入和输出 ⑤计算 D:①设计 ②调试 ③维护 ④编码 答案:A: ④B: ②C: ③D: ③ ⒊结构化程序设计有时被错误地称为“无GOTO语句”的程序设计。请说明为什么会出现这样的说法,并讨论围绕着这个问题的一些争论。 早在1963年,针对当时流行的ALGOL语言,发现在程序中使用大量的、没有节制地使用GOTO语句使程序的结构变得非常混乱,但是,在当时并没有引起人们足够的重视。1965年E.W.Dijkstra在一次会议上指出:程序的质量与程序中包含的GOTO语句成反比。1966年,证明了任何单入口单出口的没有“死循环”的程序都能由三种最基本的控制结构(顺序、选择和循环)构造出来。1968年,在如何看待GOTO语句的问题上产生了激烈的争论。取消GOTO语句的一方认为,GOTO语句使程序变得很难理解,降低了软件的可维护性。支持方认为,GOTO语句虽然存在着破坏程序清晰性的问题,但不应完全禁止,有些时候,保留GOTO语句,反而能使写出的程序更加简洁。经过争论,人们认识到,在一般情况下,可以完全不使用GOTO语句,如果在特殊情况下,偶然使用GOTO语句解决问题也未尝不可。例如,在查找结束时,出现错误情况要从循环中跳转时,使用条件结构实现就不如用GOTO语句简单易懂。 ⒋用某种软件复杂性度量算法来度量不同类型的程序时,得出的度量值是否真正反映它们的复杂性?如果对同一类型的程序进行度量,其结果是否就比较有价值? 到目前为止,还没有一个软件复杂性度量的方法能够全面、系统地度量任一软件的复杂性,某一度量方法只偏重于某一方面。所以,用某种软件度量性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类型的程序,按某种视点来度量它们的复杂性,其结果还是有价值的。 ⒌软件复杂性有哪几类?各有何特点? 程序复杂性主要是指模块内程序的复杂性。程序设计的复杂性度量有三种方法:代码行度量法、McCabe度量法和Halstead的软件科学。 代码行度量法就是统计程序的源代码的行数。 McCabe方法是一种基于程序控制流的复杂性度量法。 Halstead度量是目前最好的度量方法,预测的程序长度与实际程序长度是非常接近的。同时,这种度量方法还可以预测程序中的错误,认为程序中可能存在的差错与程序的容量成正比。 *

文档评论(0)

wangyueyue + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档