Page tree
Skip to end of metadata
Go to start of metadata

在此页:

目标用户

CAST AI 管理员

简介

CAST增强功能点估计技术是一种基于OMG规则的功能点自动计数方法。这种自动过程在CASTOMG——符合的自动功能点中有详细描述。在初始基线计数之后,CAST AIP目录并在CAST应用智能知识库中存储数据功能和事务功能结构。作为数据和事务功能的一部分,所有工件连同一个校验存储到数据库中,校验和允许唯一的标识每个工件的当前版本。

当使用CAST AIP分析应用源代码的新版本时,CAST增强功能点算法使用组成数据功能和事务功能的每个工件的计算校验和来确定:

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

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

请注意,对于这个CAST AIP发行版中的新应用,默认使用AEP模式。可以在CAST Management Studio > Application editor > Function Points选项卡中专门选择EFP测量模式。请注意更改使用默认AEP模式计算快照应用的模式将影响快照结果。

数据和事务功能

数据功能

从基线功能点开始,CAST AIP目录和存储数据功能及其结构。通过默认算法,数据功能通常基于SQL表。该算法使用命名约定和主键——外键关系将SQL表分组为数据功能。当SQL表不使用基于主键——外键关系的引用完整性或不使用任何命名约定时,算法将每个表视为一个数据功能。

然而当应用同时使用主键——外键关系和命名约定时,算法对表进行分组的方式非常类似于Master——Details表的标识。

每个数据功能都由CAST通过其主表唯一标识,Master表将用于确定添加和删除功能。在下面的CAST Enlighten截图中,master表是Sales SQL表:

事务功能

从基线功能点开始,CAST AIP目录和存储事务功能及其结构。通过默认算法,使用影响分析算法标识事务功能,该算法从事务入口点开始,使用工件依赖项搜索事务入口点直接或间接使用的所有数据功能。

CAST标识事务入口点以及用于实现数据处理的所有技术对象:

每个事务功能或事务都由CAST AIP通过其事务入口点唯一标识。事务入口点通常是默认用户表单中定义的可以选择编程语言或CAST AIP的用户在CAST事务配置中心,在CASTOMG——符合的自动功能点中详细解释。

下面是默认事务入口点类型的列表:

事务入口点将用于确定添加和删除的功能。在下面的CAST Enlighten屏幕截图中,事务入口点是PowerBuilder窗口w_gui_newsale:

添加数据和事务功能

基于识别2个应用版本之间的差异,采用CAST增强功能点算法进行识别,将具有新master表的数据实体作为添加的数据功能。类似的增强功能点算法将具有新事务入口点的事务标识为添加的事务功能。当上一个应用版本中不存在具有相同名称、类型和完全限定名称的工件时,master表和事务入口点被视为新的。

删除数据和事务功能

在识别两个应用版本之间差异的基础上,CAST增强功能点算法识别出,作为删除的数据功能,对新应用版本中不再存在的数据实体master表进行分析。类似的增强功能点算法识别那些入口点不再存在于新应用版本中的事务,这些事务被分析为已删除的事务功能。如果新应用版本中不存在具有相同名称、类型和完全限定名称的工件,则认为master表和事务入口点不再存在。

修改数据和事务功能

基于每个数据实体和事务的结构、对象和依赖关系,对修改后的数据和事务功能进行CAST增强功能点算法识别。如果至少修改了一个SQL表,则认为数据功能已修改。如果通过更改列或其类型的名称添加或修改了列,则修改SQL表。索引的更改不视为功能更改,因此具有索引更改的表不视为已修改。如果事务功能的入口点被修改,则视为事务功能;它使用的数据功能和/或事务中使用或调用的任何代码元素都将发生更改。作为事务的一部分,CAST集成了事务使用的所有组件,包括技术共享组件。对于共享的技术组件,应该特别注意,当这些共享组件被修改时,许多依赖于它们的事务将被CAST算法标识为已更改。

如果入口点和代码元素的签名发生了更改和/或源代码发生了更改,那么源代码分析器就会将它们作为更改来检测。不考虑对注释或空行进行更改。

下面是一个来自Oracle应用的事务功能示例。在本例中,存储过程XFACE_CONTROL_PKG。将检测到嵌入多个SQL查询的BUILD_TLIST被修改,那么所属的事务将被视为已修改:


因此如果存储过程是XFACE_CONTROL_PKG。BUILD_TLIST在几个事务功能中使用,那么在存储过程的行为发生更改之后,这些事务功能也将被视为已修改。

另一个来自J2EE和Oracle应用的事务功能示例,该应用具有几个用不同语言编写的层:此类环境中的增强可以在任何层中实现:表示层、协调层、业务层和数据访问层以及数据库本身。事务的入口点是名为pageEnterPhone.jsp的JSP页面,协调层使用几个Struts工件实现,业务层通过几个Java类实现。更改其中一个JSP文件、方法或存储过程将导致CAST增强功能点,将事务分类为已修改。

加权及最终计算

CAST增强功能点生成未调整的功能点。数据功能和事务功能的权重计算基于符合OMG的自动功能点表。增强功能点的官方OMG自动功能点公式如下:

EFP = [(ADD + CHGA + CFP) * VAFA] + (DEL* VAFB)

位于:

  • EFP是增强项目功能点估算。
  • ADD是增强项目中添加的那些功能的未调整功能点计数。  
  • CHGA是增强项目修改的功能未调整的功能点计数。   
  • CFP是通过转换添加的功能点计数。
  • VAFA是增强项目后应用的价值调整因子。   
  • DEL是那些被增强项目删除功能的未调整功能点计数。重要的是要考虑到被删除的FP的绝对值不能为负值。
  • VAFB是增强项目前应用的价值调整因子。   

CAST使用下面符合OMG的自动功能点表生成ADDCHGADEL编号。

每个内部数据功能(ILF)的权值和相关的功能点个数由下表给出(DET为数据元素类型,RET为记录元素类型):


1 to 19 DET

20 to 50 DET

51 or more DET

0 or 1 RET

Low = 7 FP

Low = 7 FP

Average = 10 FP

2 —— 5 RET

Low = 7 FP

Average = 10 FP

High = 15 FP

6 or more RET

Average = 10 FP

High = 15 FP

High = 15 FP

EIF也有类似的表。内部(ILF)和外部(EIF)数据功能的功能点数量略有不同:


内部 (ILF)

外部 (EIF)

7 FP

5 FP

平均

10 FP

7 FP

15 FP

10 FP

对于事务功能,CAST还使用2个符合OMG的自动化功能点表,因为基于计算机的算法无法判断GUI或事务的主要意图。各事务功能的权值及关联的功能点个数由下表给出(此表为EI):


1 to 4 DET

5 to 15 DET

16 or more DET

0 or 1 FTR

Low = 3 FP

Low = 3 FP

Average = 4 FP

2 FTR

Low = 3 FP

Average = 4 FP

High = 6 FP

2 or more FTR

Average = 4 FP

High = 6 FP

High = 6 FP

EO和EQ也有类似的表,每种类型的事务性功能的功能点数量略有不同:


EI

EO

EQ

3 FP

4 FP

3 FP

平均

4 FP

5 FP

4 FP

6 FP

7 FP

6 FP

CAST AIP保守使用表外部输出(EO)。

  • No labels