首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 电源电路
基于面向对象程序切片的软件度量
来源:本站整理  作者:佚名  2009-10-20 10:45:41




3.2 软件度量技术的研究
    软件度量是一个在近几十年研究非常活跃的软件工程领域。抽象来讲,它是一个函数,其输入是软件,输出是单一的数值,能解释软件所具有的一个给定属性对软件质量的影响。用于预测、评估和控制软件开发的过程,促进项目的成功,开发出高质量的产品。
    软件度量主要包括复杂性度量、模块性度量、易修改性度量、易移植性度量、可扩充性度量、可靠性度量、易维护性度量、测试充分性度量等。有些可以用数值表示,称为“定量度量”;不能用单一数值表达的称为“定性度量”。研究集中在定量度量方面的内聚度和耦合度的度量,这两个方面是衡量软件质量非常重要的标准。二者之间密切相关,模块之间的强耦合通常意味着弱内聚,而模块之间的强内聚则意味着弱耦合。

4 利用程序切片技术进行软件度量
    软件开发的目标是开发出高内聚和低耦合的系统。这里研究利用切片技术度量面向对象程序的内聚度和耦合度,尤其是内聚度量。
4.1 耦合度量
    耦合度(Coupling Degree)用来测量由两个或多个模块连接而引起的联结程度的强弱。强耦合使模块连接后的系统变得复杂。因为模块之间具有高度的关联,改写模块将十分困难。降低模块间的耦合则可以减少系统的复杂性。因此,在系统设计中应追求尽可能松散的耦合关系。
4.2 内聚度量
    内聚度(Cohesion Degree)是软件的内在属性,反映软件设计和实现中模块组件之间结合的紧密程度。高内聚的软件模块有着最基本的功能,很难再切割其规模。
    面向对象程序的基本特征是类。类由属性和方法组成,属性和方法间存在3种关系,因此类内聚度也从3个方面度量:属性问内聚度、方法与属性问内聚度、方法问内聚度。设类C共有n个属性,m个方法,其中m,n≥0。V_Union表示所有成员变量。M_Union表示所有成员方法。这里使用数据标记(data token)而非语句作为基本单元来修正切片这个概念。数据切片包含和切片变量存在依赖关系的数据集合,简写作DataSlice(L,V),其中L表示程序中的某个点,通常情况下特指某条语句:V表示在L定义或使用的变量的集合;#表示势操作,表示集合中元素的个数。则属性间内聚度、方法与属性间内聚度和方法间内聚度的计算公式分别为式(1)~(3),如下所示:

  

4.3 实验操作
    采用目前最主流的程序切片技术,以系统依赖图为基础,利用图的可达性算法获得切片结果。然后利用将切片结果代入式(1)~(3)进行计算,得到内聚度。
    以下面的程序为例进行切片,计算内聚度,并和基于依赖性分析的类内聚度度量方法相对比。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:242,168.00000 毫秒