APP下载

COSMIC 与NESMA 度量转换

2022-07-09吴颖

电子技术与软件工程 2022年9期
关键词:转换法度量组件

吴颖

(中国移动设计院有限公司重庆分公司 重庆市 404100)

在软件规模度量功能点分析法的5 种国际标准中,目前国内应用范围最广的主要聚焦在了COSMIC 和NEMSA 两种方法上,NEMSA 方法是IFPUG 方式的优化升级,以其度量速度快、度量成本低的特点在项目早期阶段应用较为广泛;在项目交互、验收等项目中后期阶段由于对度量精度要求高,度量类型丰富等特点更多地使用COSMIC 度量方法。因此出现项目的前评估、后评估为不同度量标准的评估结果,且COSMIC 和NEMSA 分别作为第一代和第二代功能点分析法的典型代表,目前很难对项目前评估和后评估的度量进行对标结合分析;其次,在不同的项目、企业、行业所采用的软件规模度量方法无法统一,或者相互转换,导致不同项目、企业、行业的软件度量数据成为孤岛,无法进行软件度量标准化和精确化的高速可持续发展。因此不同软件度量方法之间的转换研究成为了软件度量领域的研究热点之一,功能点分析法NESMA 与COSMIC 度量转换研究更是应用迫切疑难点。

1 NESMA与COSMIC的度量原理

1.1 NESMA度量原理

NESM 方法识别应用程序边界、基本功能部件(简称BFC)、数据功能类型,通过对所有功能类型组件的功能点(Function Point 简称:FP)度量,汇总度量出整个应用软件的功能规模大小。NESMA 功能类型分为数据功能、事务功能两类,数据功能类分为内部逻辑文件(ILF)、外部接口文件(ELF)两种;事务功能分为外部输入(EI)、外部输出(EO)、外部查询(EQ)。

在项目早期预算评估度量时,原始项目信息虽然足以用来识别功能及其类型,但是很难识别功能的复杂度,在这种情况通常识别复杂度为“中”,本文NESMA 估算复杂度均取“中”。

1.2 COSMIC度量原理

COSMIC 方法通过“模型、原则、规则和过程” 四要素度量给定软件块的功能用户需求(简称:FUR)的功能规模大小,其结果为COSMIC 软件功能规模(COSMIC Function Point 简称:CFP)。识别软件FUR 后,通过策略阶段、映射阶段、度量阶段三个阶段完成的对软件的通用模型转换以及功能规模的度量。

COSMIC 软件规模度量的基本单位CFP 代表了一个跨越边界的数据(数据组)移动,移动类型包括输入(E)、输出(X)、读(R)、写(W)四种类型。作为第二代功能点分析方法(简称:FPA),COSMIC 引入“层”、“界”的概念,将通用软件识别为不同的层次,进一步深入到软件的功能内部,将单次度量范围限定在了一个层次里面,并通过对等功能块、对等功能用户将软件边界延伸到软件层次中,从而全面度量软件的功能规模(数据移动)。

2 NESMA与COSMIC转换模型方法分析

功能规模度量方法NESMA(第一代FPA)与COSMIC(第二代FPA)的转换或映射关系作为软件功能规模度量领域的研究热点,目前已经形成了三类研究方向,分别是统计转换法、直接转换法、组件转换法,本文将分析三类方法的主要策略方法和特点。

2.1 统计转换法

统计转换法采集大量的实践样本数据(建议不少于100份),样本数据实现对NEMSA 和COSMIC 的转换度量,通过样本数据建立NESMA 和COSMIC 的总规模(整体)的统计关系,将NESMA 的度量总规模通过转换关系(公式)转换为COSMIC 的总规模,实现FP 转换CFP 的目的。这种通过历史数据拟合方法对转换“平滑”处理,无法与项目本身特点进行匹配 ,其优点和缺点都十分突出。

统计转换方法的主要优点:该方法转换成本最低,一经确定转换关系后,可以通过公式直接转换待处理的项目,不需要二次投入。

统计转换方法的主要缺点:无法知道转换的“准确度”,转换结果误差范围的失控;无法避免对项目本身出现“异常值”特性的项目进行处理;在不出现异常值的情况下,度量准确度依赖于转换对象与样本数据的关联度,单一样本的转换模型无法广泛应用。

统计转换方法的优化思路:可以根据两类评估方法组件度量原理,引入影响转换准确度的主要因素,通过因素的分析来处理可能出现的“异常值”转换并进行转换“校准”。例如:在NESMA 中的“事务功能”可以强关联转换为COSMIC“功能过程”,在NESMA 中的“内部文件”、“外部文件”可以强关联转换为COSMIC“数据组”和“数据属性”,可以得出NESMA 与COSMIC 的两个强关联调整因子,从而尽可能减少转换结果误差范围的可控性。

2.2 直接转换法

直接转换法通过分析NESMA 和COSMIC 度量原理的基础上,采用将NESMA 识别组件内容直接转换到COSMIC的模型中,其转换过程包括了COSMIC 度量的全过程,即通过将NEMSA 度量详细报告作为COSMIC 度量的输入依据,根据COSMIC 度量过程,识别FUR、识别功能过程、识别数据组(数据属性)、识别数据移动的方法实现COSMIC 度量的直接转换。其转换的主要策略为:

(1)通过NESMA 度量的功能模块、子模块直接转换识别到COSMIC 的FUR 上;

(2)通过NESMA 度量获取的数据功能(ILF/ELF)直接转换识别到COSMIC 的数据组和数据属性;

(3)通过NESMA 度量获取的业务功能(EI/EO/EQ)直接转换识别到COSMIC 的功能过程。最后对NESMA 无法识别的功能过程进行补充完善,并通过转换获取的FUR、功能过程、数据组、数据属性进行COSMIC 功能规模度量。

直接转换方法的主要优点:准确度高,项目吻合度高,具备高质量转换的业务需求。

直接转换方法的主要缺点:转换成本高,转换周期较长,需要对项目进行二次处理即用两种方式评估二次,适合于小型项目转换(建议FP 小于100 的项目)。

直接转换方法的优化思路:该方法可以与“快速COSMIC 度量方法”进行结合,在识别FUR、功能过程的前提下,采用有效的快速COSMIC 度量方法和策略,研究实现保障评估准确度的前提下提升转换效率,降低转换成本。

2.3 组件转换法

组件转换法通过在软件“应用组件”的颗粒度上对NESMA 度量组件进行转换,组件转换法在BFC 类型层级上,引入更低层级的影响因素,结合组件本身特性,建立应用组件大小转换关系(公式),实现对相同组件或同类组件的NESMA 转换COSMIC 的映射关系。由于应用组件大小转换方法得到的结果比使用总大小转换方法得到的单个转换后的宇宙大小要精确得多,同时,组件转换结合组件特性,避免了统计转换法中可能出现“异常值”转换问题。

组件转换方法的主要优点:准确度较高、度量成本低、避免“异常值”的转换问题。

组件转换方法的主要缺点:模型构建难度大,需要具备高层级度量人才构建组件转换的关系,组件转换模型的优劣直接影响转换准确度。

2.4 总体转换法

总体转换需要散点图绘制FP 与CFP,y=ax+b(x 为一代,y 为二代),按OLS 方法,确定R2 系数,且P<0.05。

去除异常值,即直线周围离群值:

类型1:“杠杆”大部分观测值相去甚远的观测值

类型2:采用e/S 超过+2 或-2 统计检测,简单残差('e'),即[e'=预测CFP 尺寸-测量的CFP 尺寸],标准误差(S):S=√[∑e2/(n-2)]。

常数“ b”。

功能点规模>400 以上采用:

(1)FP 规模在39 - 1424:1.19 x FP-69

(2)FP 规模在39 - 766:1.09 x FP-48

功能点规模<=400 以上采用:

(1)FP 规模在39 - 380:0.95 x FP-25

(2)备注:规模在400 的为最佳拟合

组件转换方法的主要优点:根据以上内容转换模型已经明确,准确度较高、度量成本低、避免“异常值”的转换问题。

组件转换方法的主要缺点:模型精确度需要不断迭代优化,转换模型升级进度的直接影响转换精确度。

3 “总体转换法”方法模型研究

(1)按具有相似功能的系统进行划分软件项目组,将采用NESMA 与COSMIC 两种方式评估的评估结果统计汇总;

(2)方差分析,筛选和剔除标准残差超过+2 或-2 的项目数据,如表1、表2 所示。

表1: 方差分析

表2: 标准残差超统计

(3)剔除上述异常数据后,重新梳理数据案例,进行回归统计分析,确定R2 系数,且P<0.05,如表3 所示。

表3: 回归统计结果

(4)制定散点图,拟合曲线,得到“总体转换法”的计算公式,如图1、表4 所示。

表4: 拟合曲线结果

图1: 散点图

4 “应用组件转换”方法思路研究

根据两类应用组件度量原理,NESMA 度量包括数据功能、事务功能,数据功能为用户要处理的数据对象,度量的是用户感兴趣的数据且需要维护的数据。COSMIC 度量FUR 的基本单位是功能过程,每一个功能过程都是一个可以独立执行的最小任务,而功能过程的规模大小依赖于用户感兴趣的数据(数据组)跨越边界的移动数量。由以上原理可以得出如下结论:

(1)NESMA 度量的数据功能规模在COSMIC 中可以简单映射为感兴趣的数据对象,即数据组,数据功能规模不直接反应在COSMIC 的FUR 以及功能过程上。

(2)NESMA 度量的事务功能规模是功能用户可感知的任务单元,可以直接反应在COSMIC 的功能过程粒度上,然而NESMA 事务功能规模在早期预估中,其值固定为“中度”复杂度取值,即:输入EI 为4FP、输出EO 为5FP、查询EQ 为4FP。

(3)由于NESMA 事务功能取值为固定值,无法准确反应不同事务功能的实际规模大小的区别,第二代FPA(COSMIC)的度量功能过程的粒度为最小1CFP 单位,即输入E、输出X、读R、写W 各为1 个CFP。那么在转换过程需要考虑对NESMA 度量组件的复杂度影响因素。

本文将NESMA 评估结果的事务功能(EI/EO/EQ)映射为COSMIC 度量功能过程,通过引入基于业务模型快速COSMIC 度量模型成果作为NESMA 事务功能转换的基础转换模型,并将数据功能(ILF/ELF)作为转换影响因子引入到转换模型中。该方法通过快速COSMIC 度量方法直接将NEMSA 转换为了误差在10%以内的COSMIC 度量,并通过引入ILF、ELF 的影响因子,准确地转换了快速COSMIC 中复杂度为“高”的影响因素。例如根据基于业务模型快速COSMIC 度量模型引入三层架构参考业务模型如表5 所示。

表5: 采集同步-数据处理-应用展示三层架构参考业务模型

快速COSMIC 业务模型复杂度“简单、一般”的匹配规则如表6 所示。

表6: 采集同步-数据处理-应用展示三层架构业务模型匹配规则

5 “应用组件转换”方法参考模型设计

根据3.2 章节对NESMA 与COSMC 转换研究成果,本文设计了一种基于应用组件转换的模型成果,如表7 所示。

表7: NESMA 与COSMIC 度量转换模型

由上体可知,该模型转化方法通过对NESMA 度量结果的事务功能(EI/EO/EQ)进行筛选,将事务功能映射为COSMIC 度量转换的结果,转换步骤如下:

(1)根据应用组件类别,通过快速COSMIC业务模型(例如:表5)将NEMSA 事务功能直接转换为快速COSMIC 的功能类型。

(2)根据应用组件类别,通过快速COSMIC 业务模型匹配规则(例如:表6)将NESMA 事务功能基础复杂度进行确认,获取快速评估基础值为a。

(3)识别该组件NEMSA 事务功能所涉及的ILF 个数、ELF 个数并填入表中。

由于快速COSMIC 复杂度“简单、一般”仅涉及单一数据组的处理,快速评估基础值仅处理单一数据组,COSMIC 数据读R 写W 在一个独立功能过程中通常识别为单项处理,即同一数据组在一个独立功能过程中识别一个读或者一个写。所以在转换模型中涉及ILF 与ELF 之和可以转换为COSMIC 功能过程中读、写功能点的和,除去快速评估基础值所处理的单一数据组的读或写,转换结果为:快速评估基础值+涉及IFL 个数+涉及ELF 个数-1。

6 结束语

本文分析国内两种主流度量方法(NESMA 和COSMIC)原理,通过分析四种转换模型的方法、优点、缺点,并重点研究了应用组件转换的关系,设计出了可直接应用的“总体转换法”和设计了一种应用组件的转换思路,同时,本文给定了基于该方法的一种参考模式设计,为NESMA 和COSMIC 转换应用奠定基础。该方法的模型建立需要具备较高的专业度量技术和IT 技术背景知识,适合于已经具备一定高级度量人才的团队使用。

猜你喜欢

转换法度量组件
有趣的度量
转换法在求变力做功问题中的应用
物理方法之转换法
无人机智能巡检在光伏电站组件诊断中的应用
模糊度量空间的强嵌入
物理方法之转换法
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
转换法在初中物理实验教学中的应用