基于分形理论软件缺陷数估计.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文档。上传文档
查看更多
基于分形理论软件缺陷数估计

基于分形理论软件缺陷数估计   摘 要:随着软件发展的不断进步,软件的规模越来越大,软件缺陷成为阻碍软件质量不可忽视的问题,而传统的软件缺陷分析如捕获-再捕获模型等基于统计方法显露出明显的不足。通过引入分形理论,利用其分形的自相似性对软件缺陷数进行估计,分析软件中的小模块就能够预测出整个软件中的缺陷数。?   关键词:软件缺陷;分形理论;自相似性?   中图分类号:TP13文献标识码:A文章编号:1672-3198(2008)03-0277-02??      1 引言?      软件质量是软件工程的三大目标之一,软件质量的好坏将直接影响到用户的满意度,然而,如何提高软件质量一直是软件工程中的一个难题。?   目前来看,对于软件缺陷的研究主要是通过在软件开发的过程中,利用测试的统计数据,估算软件的可靠性,以控制软件的质量。?      2 分形理论基本原理?      分形的概念的是1975年美国数学家曼德布罗特(Benoit.B.Mandelbrot)首先提出的。它描述了自然界中传统欧几里德几何学所不能描述的一大类复杂无规则的几何对象。曼德布罗特把这些部分与整体以某种方式相似的形体称为分形。在此基础上,形成了研究分形性质及其应用的科学,称为分形理论。?   分形理论中最有意义的性质就是自相似性。一个系统的自相似性是指某种结构或过程的特征从不同的空间和时间尺度来看都是相似的,或者某系统或结构的局域性质或局域结构与整体类似。?   由于分形的概念是从几何学中提出的,因此将分形应用在其它领域需要扩展其定义内容,在1986年Mandelbrot提出了一个实用了定义:组成部分以某种方式与整体相似的形体叫分形。这里的“某种方式”是指“自相似”。它突出反映了分形的自相似性,反映了自然界中广泛存在的一类物质的基本属性:局部与局部,局部与整体在心态、功能、信息、时间与空间等方面具有统计意义上的自相似性。正是由于分形的这种由小见大的特征,为从软件的局部研究整个软件系统提供了行之有效的分析方法,使对软件部分模块缺陷的研究可以得到整个软件的缺陷预测值。?      3 软件缺陷的分形?      随着对软件???陷研究的深入,人们开始认识到人的因素对于软件缺陷产生至关重要。人是软件的创造者,然而一个程序员或者是一个团队都具有自己的特点及倾向,因此他们所开发的软件也会体现出相似的性质。小到软件中的每个模块,大到整个软件系统,处处体现者开发者的风格和习惯,当然也包括蕴含在其中的软件缺陷。这就为我们研究软件缺陷提供了一个基本的出发点:将研究范围限定于同一个开发者或团队所开发的软件上,就一个软件来说不同的模块也可以体现出同一种风格,表现出内在的自相似性,这是应用分形理论的基本前提。?   软件系统中,树状的分层模型是最常见的结构之一,由一个根系统,下面分成多个子系统,一个子系统下面又分成了更多的子模块,这种结构本身也体现出了自相似性。?   软件系统结构图   从软件开发的过程来看,都是自上而下,逐步细化的过程,一个开发者在设计好方案后,软件的结构就被确定下来了,那么开发者的习惯和思想中包含的那部分软件缺陷的因素也就被继承下来了。通过一个实例我们看到这种缺陷分形扩散效应。?   在“电信CRM管理系统”的开发过程中,设计该系统包含5个子系统模块,除了数据处理模块没有界面以外,其余4个子系统都包含一些类似的操作界面。由于在需求分析与概要设计时开发者未考虑界面的自适应问题,导致软件运行在不同分辨率下界面的大小不能统一。按照设计说明书进行编写的过程中,那么每个子系统(数据处理除外)的操作界面都存在这一缺陷,按子系统来细分的话,则细分数为5,这一功能的缺陷数为5-1=4,再扩散到子模块的层次上,假设每个子模块都有3个显示界面,那么这个缺陷的扩散数为3×4=12,由此可见如果是对于较大规模的系统,则对于整个软件来说缺陷的数目将随着规模的扩大而成倍增长。?   下面我们来看如何利用软件自相似性来对软件缺陷做出预测。首先我们通过开发者的角度假定了软件缺陷在软件开发的过程中,不同模块及不同层次之间存在着自相似性。我们从软件系统结构图分析,由顶向下,可以发现无论多么复杂的软件在结构上总是以树形结构为处理构成,对其中的某个处理单元再进行放大,仍然是表现出这种结构,直到分解至基本模块为止。同时从软件的顶端至基本模块之间都会表现出这种一致性,这意味这可以满足分形的标度不变性。这里再引入分形中Hausdorff维数,其测定原理是:?   把一个对象的线度放大L倍,若它本身成为原来的K倍,则该对象的维数是?   D=lnK/lnL?   或者,按相反的方式,把一个对象划分为N个大小和形态完全相同的小对象,每个小对象的线度是原对象

文档评论(0)

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

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

1亿VIP精品文档

相关文档