浅谈程序复杂度计算方法.docVIP

  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文档。上传文档
查看更多
浅谈程序复杂度计算方法.doc

浅谈程序复杂度计算方法   摘 要 随着计算机应用的普及和社会对软件产品的更高要求,软件产品的研发也越来越复杂。程序复杂度已经成为评估软件质量的一个重要指标之一。程序复杂度的度量可以估算程序中的错误,也可以科学计算程序员的编程工作量。正确地降低程序复杂度可以降低研发成本,提高研发效率。   关键词 计算机应用 软件质量 程序复杂度   中图分类号:TP311.11 文献标识码:A   Study on Calculation Method of Program Complexity   ZHAO Zhibin, LI Bingchuan   (Chongqing Creation Vocational College, Chongqing 412160)   Abstract With the popularity of computer application and the higher requirement of society for the software products, software products research and development is becoming more and more complex. The complexity of program has become one of the important indicators to evaluate software quality, which can estimate errors in the program and also can scientifically calculate the amount of programming for programmers. Correctly reduction of program complexity can decrease the cost of research and development and improve the efficiency.   Key words computer application; software quality; program complexity   程序复杂度的度量是指一种代码复杂度的衡量标准。它关系到开发经费、开发周期和软件内部bug的多少。正确降低软件复杂度可以提高对软件的理解和软件的可维护性。   那么程序的复杂度怎么计算?下面我们探讨常见的两种复杂度度量方法:   1 统计程序的源代码行数来估量程序的复杂度   该方法的基本思想是统计程序中代码有效行数,以统计的源代码行数做为程序复杂度的度量估计值。值得注意的是在统计程序代码行数时该统计的行数不应该包括空白、注释、括号以及成员、类型和命名空间的声明等。假设程序的出错概率为每100行源程序代码中可能有的bug数,我们可以设程序中每100行源代码中出现一个错误,则该程序的出错概率被估算为百分之一,记为1%。经验告诉我们,程序出错概率的估算范围大约是在百分之零点零四至百分之七之间,在IT行业领域中,当软件测试工程师在测试过程中对于一个小程序的可执行程序代码部分,经过测试后得到的经验推导出每一行代码的出错率应为百分之一至百分之二之间;对于一个大程序的可执行代码部分,每一行代码的出错率增加到百分之二点六八至百分之三点一八之间。基于此我们推导出一个结论:代码行度量法是一个估量不够准确的程序复杂度计算方法。对于程序代码少于100行的规模不大的小程序,其源代码出错概率随源代码行数呈线性递增或递减;但规模较大的程序例外,其程序的出错概率与程序的代码行数是非线性函数关系。   有效控制所编写程序规模,弱化因程序错误而带来的风险,要求每个软件工程师应该科学降低程序复杂度,其最好的的办法是利用模块化程序设计的思想将软件功能模块进行自顶向下逐层分解。那么任何一个大规模程序都会被分解成若干个功能单一的程序模块。这样就可以弱化程序出错的风险。   2 McCabe度量法   该方法在软件领域中,被称为软件圈复杂度度量方法,该方法被认为是业界中一种较常用、较优秀和较科学的程序代码复杂度的衡量方法。可以用这种方法来衡量一个程序模块的条件判定结构的程序复杂度,度量原则是数量上表现为程序流程图中独立现行路径条数,经研究发现一个程序中的圈复杂度主要跟程序流程图中的分支结构的数量成正比例关系。当一个程序的圈复杂度度量较大的时,这可以说明该程序的编码质量不高,在开发后期软件测试工程师对其难以测试和维护。经研究发现,在编程过程所积累的经验表明,一个程序中的bug数与圈复杂度有着很大的关系,当圈复杂度较大时,其程序中的bug数就较多,当圈复杂度较小时,其程序中的bug数就较小。

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档