Page tree

在此页:

目标用户

CAST AI 管理员

简介

除了增强功能点(EFP)测量之外,CAST AIP还支持新的OMG自动增强点(AEP)规范来评估应用修订的规模。

在初始基线计数之后,CAST AIP目录并在CAST分析服务模式中存储数据功能和事务功能结构。所有对象的数据和事务功能存储在分析服务以及一个校验和,唯一的标识每个工件的当前版本。当使用CAST AIP分析应用源代码的新版本时,CAST自动增强点算法使用组成数据功能和事务功能的每个对象计算校验和来确定:

  • 添加功能
  • 修改功能
  • 删除功能

然后使用OMG表对每个添加、修改或删除的数据功能和事务功能进行加权。

本章介绍OMG AEP规范如何在CAST AIP中实现。有关OMG自动化功能点规范的详细信息,请参考http://www.omg.org/spec/AEP/中的OMG文档。

注意对于在这个CAST AIP版本中发布的新应用,默认情况下总是使用这种测量模式,而不是EFP模式

数据功能和事务功能如何?

数据功能

数据功能是按照OMG自动化功能点(AFP)规范中指定的方式定义。有关详细信息,请参见http://www.omg.org/spec/AFP/中的OMG文档。

事务功能

与那些用于计算AFP和EFP的功能一样,事务功能是通过指定入口点、数据实体和端点来定义的。然而如OMG AEP规范中所指定,事务功能是通过遵循扩展的完整事务调用图中的链接来构建(参见下图)。这意味着包含的对象比用于计算AFP和EFP的事务功能要多,因此可以更好的反映影响应用修订中事务功能的更改。

完整事务调用图。

计算自动增强点

OMG AEP规范同时考虑了应用的功能和技术部分。这是与增强功能点测量的主要区别之一。因此AEP的总数是根据以下公式获得

AEP = AEFP + AETP 

其中AEFP对应于功能部分的增强点,AETP对应于应用修订的技术部分的增强点。如果对象没有出现在应用的所有完整事务调用图中,则认为属于技术部分。

自动增强功能点

自动增强功能点(AEFP)评估对应用功能部分所做的更改。AEFP反映了对事务功能和数据功能所做的更改。

事务功能

事务功能的增强点基于OMG AFP规范和一个复杂性因子(CF),该复杂性因子用于根据事务功能的状态和组成事务功能工件的复杂性对FP值进行加权。修改后的事务功能的复杂性因子是根据附加到每个工件上的工作复杂性度量进行计算。

工作复杂性和工作复杂性级别

工作复杂性(EC)是工件基于其成本复杂性和技术的工作速率。工件EC根据五个软件指标的综合得分来评估工件嵌入的软件环境的复杂性,从而评估实现工件或对其进行更改的复杂性:

  • McCabe循环系统复杂性
  • 代码行
  • 评论行
  • 输入端
  • SQL 复杂性

每个工件EC类别都获得一个EC值,可以为特定的技术覆盖该值。默认值如下:

  • 非常高的工作复杂性类别:1.2
  • 高工作复杂性类别:0.7
  • 中等工作复杂性类别:0.2
  • 低工作复杂性类别:0.1

演化工作复杂性

演化的工作复杂性估计当前快照和以前快照之间的工作复杂性的演化。它基于以下公式:

Evolved EC = ( Σ EC_add_snap(n) + Σ EC_mod_snap(n) + Σ EC_del_snap(n-1) ) / Σ EC_total_snap(n-1)

注意:

  • 排除的项目将被忽略。
  • ΣEC_total快照n =ΣEC添加,更新以及在快照n中的事务功能n不变。

工作的复杂性变化

工作复杂性变化估计当前快照和以前快照之间工作复杂性的差异。它基于以下公式:

EC Variation = ( Σ EC_total_snap(n) - Σ EC_total_snap(n-1) ) / Σ EC_total_snap(n-1)

注意:

  • 排除的项目将被忽略。 Σ EC_total for snapshot n = Σ EC added, updated, and unchanged for the Transactional Function in the snapshot n.

复杂性因子

如OMG AEP规范中定义,复杂性因素(CF)随着事务功能的状态以及对与这些事务功能相关联的工件所做的更改而变化。复杂度因子定义如下:

  • 添加的事务功能: CF = 1
  • 删除事务功能: CF = 0.4
  • 修改事务功能:
    • 如果整个事务调用图中没有共享对象,则CF由以下矩阵定义:     

    • 如果在完整的事务调用图中存在共享对象,则CF由以下规则定义:    
      • 如果100%的EC用于修改的共享对象,那么CF = 0.25    
      • 如果超过75%的EC用于共享对象,那么CF的上限是0.50   
      • 如果超过50%的EC用于共享对象,那么CF的上限是0.75   

数据功能

数据功能的增强点基于OMG AFP规范和一个复杂性因子,该因子用于根据数据功能的状态和对组成数据功能的数据实体所做的更改对FP值进行加权。

复杂性因子

如OMG AEP规范中定义,复杂性因子(CF)随着数据功能的状态、最后一次由自动校准算法执行的操作以及对数据实体所做的更改而变化。

复杂性因子定义如下:   

  • 添加的数据功能: CF = 1
  • 删除数据功能: CF = 0.4
  • 合并数据功能: CF = 0.4
  • 分割数据功能: CF = 0.4
  • 更改类型数据功能: CF = 0.4
  • 数据修改功能:
    • 如果修改DET <= 33%,那么CF = 0.25
    • 如果修改DET <= 66%,那么CF = 0.5 
    • 如果修改DET <= 100%,则CF = 0.75 
    • 如果修改DET > 100%,则CF = 1   

自动增强技术点  

正如OMG AEP规范中定义的那样,自动增强技术点(AETP)评估对应用技术部分所做的更改。

执行点

计算AETP的第一步是估计应用的技术和功能部件的实现点(IP)。执行点计算如下:

  • IP技术=ΣEC技术(添加、删除和修改工件)  
  • IP func =ΣEC func(工件) 

等价比率

计算AETP的第二步允许将实现点与功能点对齐,以便为AETP提供一致的值。然后计算等效比(ER),以加权属于应用技术部分的工件的实现点:

  • ER = AFP / IP func
  • AETP = ER x IP tech

从EFP转换到AEP

应用与先前版本的创建和分析CAST AIP ( 8.1.x)测量与增强功能点(EFP)模式,这一措施将使用默认的应用升级CAST AIP 8.2.x(或更新的版本)以最小化对结果的影响。然而可以通过CAST Management Studio > Application Editor将升级应用的增强措施更改为自动增强点(AEP):

当改变测量模式时,重要的是要考虑它对分析/快照结果的影响,并且它会对测量趋势产生干扰。必须了解这两项措施(AEP和EFP)之间有重要的差别:

  • EFP模式不管理应用程序的技术部分,而AEP管理。
  • 在使用EFP模式时,事务功能基于简化的调用图,而对于AEP,事务功能基于完整的调用图。
  • AEP规范基于工件的复杂性或对数据实体的更改来定义复杂性因素。

当从EFP移动到AEP以获得更精确的值时,结果将显示不属于减少的事务调用图的对象为“已添加”,这将影响测量,即使这些对象并没有真正添加。与应用的技术部分相关的点也将出现在结果中。此外考虑到对象的复杂性来加权FP值也会影响结果(见下图):

将测量值从EFP更改为AEP

从AEP移动到EFP的相反方向将导致不属于完整事务调用图的对象被视为“已删除”。这也会影响结果,即使这些对象没有被真正删除。此外复杂性因素将被默认设置为1的影响因素所取代,与应用技术部分相关的点将消失(见下图):

将测量值从AEP更改为EFP

创建一个新的基线快照

如果计划更改测量模式,则有必要重新创建一个新的基线快照。要做到这一点,在更改测量之后,必须为相同的应用版本生成一个新的快照,但是不能认为它与新测量一致。为应用生成的下一个快照将一致,可以使用新的增强测量将其用作第一个快照。

  • No labels