某装备模拟训练软件CMMI-FP建模与分析

2020-02-02 03:24张崭
电子技术与软件工程 2020年17期
关键词:点数复杂度调整

张崭

(中国兵器工业第二〇八研究所 北京市 102202)

软件规模估算直接关系到新研软件项目的成败,常用的软件规模估算方法包括功能点估算法及代码行估算法,在项目开始阶段多采用功能点估算法。功能点估算法由Albrecht 在1978年创造,现已成为软件功能规模度量(Functional Size Measurement,FSM)领域一种最流行的方法[1][2]。功能点估算法与现实技术、计算机语言无关,无需历史数据支持,该方法是从用户角度来估算软件规模,基于客观的外部应用接口和主观的内部应用复杂度以及总体的系统性能特征,对软件功能规模进行间接定量估算。

功能点估算的主要步骤包括确定用户功能需求、分解功能需求、确定加权因子、计算未调整功能点数、确定调整因子和计算交付功能点数。

在IFPUG FPA 方法中,用户功能需求被模型为一系列的基本功能单元。基本功能单元可以是数据文件,也可以是业务处理。数据文件是用户可定义的逻辑相关的数据,分为内部逻辑文件(internal logical file,ILF)和外部接口文件(external interface file,EIF)。业务处理被包括3 种类型,即外部输入(external input,EI)、外部输出(external output,EO)和外部查询(external query,EQ)。FPA 度量的原理模型如图 1所示[3]。

1 软件功能需求及分解

软件的功能需求必须紧密结合硬件实现手段,本软件用于某发射系统的无实弹模拟训练,主要硬件为1:1 模拟发射器及显控设备,依靠软件模拟作战使用中的其他要素。软件的功能主要包括三大部分:场景及环境模拟、目标模拟及设备操作同步。

1.1 场景及环境模拟

根据研制要求,场景及环境模拟主要用于虚拟实现不同季节及天气,并与不同地貌环境形成组合,组合方式为用户自定义。该部分需实现的功能包括:

(1)接收用户对场景及环境的设定;

(2)根据设定完成元素模拟;

(3)输出模拟效果至显控设备。

表1 给出了该功能模块下可设定的类别及其对应的被模拟元素。

1.2 目标模拟

图1:FPA 度量原理模型

表1:场景及环境模拟需求

表2:目标模拟需求

表3:ILF 与EIF 复杂度表

表4:EI 与EO 复杂度

软件对目标的模拟主要分为两大类,即静止目标模拟和运动目标模拟,静止目标包括步兵防御工事、火力点、建筑物、装甲车辆、汽车、弹药箱、人员等;运动目标包括装甲车辆、汽车等。该部分需实现的功能包括:

(1)接收操作人员对目标的设定;

表5:加权因子

表6:通用系统性能特征取值

(2)根据设定完成相应目标元素的模拟;

(3)输出目标模拟效果至显控设备。

需模拟的目标类型、种类及其对应被模拟元素如表2所示。

1.3 设备操作同步

不同于场景模拟和目标模拟,设备操作同步属于分离硬件之间的信息交互,用户操作并未直接进入本软件系统,而是经模拟发射器软件编译后实现信息同步。该部分主要用于参训人员对模拟发射器相应操作的同步、识别及反馈,需实现的功能包括

(1)接收发射器传递的信息(包括虚拟瞄准点、击发操作等);

(2)解算弹药运动轨迹;

(3)解算空炸点;

(4)输出发射器操作;

(5)输出弹药运动轨迹;

(6)输出空炸点。

1.4 功能需求分解

根据IFPUG FPA 方法中各功能单元类型的定义,对上述三大模块的细分功能进行单元类型分解。

2 功能点数估算

2.1 功能点估算方法

交付功能点数与未调整功能点数之间的关系为:

式(1)中,UFP 为未调整功能点数,VAF 为调整因子,计算方法分别为:

式(2)中,NILF、NEIFNEINEONEQ分别为ILF、EIF、EI、EO、EQ 的数量,θILF、θEIF、θEI、θEO、θEQ分别为各功能单元对应的加权因子;式(3)中n 为系统性能特征个数,Ni为第i 个影响因素的影响程度。

由公式(1)~(3)可知,计算交付功能点数的关键在于θ 及Ni的计算。

2.2 加权因子计算

加权因子的取值决定于各功能单元的复杂度[3]。

2.2.1 ILF 和EIF 复杂度

ILF 和EIF 的复杂度取决于记录元素类型(RET)和数据元素类型(DET)的数量,本软件中ILF 和EIF 转换结果见表3。

2.2.2 EI 和EO 复杂度

EI 和EO 的复杂度取决于引用文件类型(FTR)和数据元素类型(DET)的数量,本软件中EI 和EO 的转换结果见表4。

2.2.3 确定加权因子

本软件的加权因子如表5所示。

2.3 未调整功能点数

按照公式(2),分别将各功能要素中的ILF、EIF、EI、EO及EQ 个数与相应的加权因子相乘,各乘积相加,结果即为未调整的功能点数(UFP)。

2.4 调整因子及交付功能点数

调整因子需要依靠14 项通用系统性能特征来确定,每一项的影响度按照实际情况从低到高取0~5 之间的整数值,本软件中,系统性能特征的影响度取值列入表6 中。

根据表6,可计算本软件的调整因子VAF=0.65+43/100=0.65+0.43=1.08,本软件的功能点数FP=UFP×VAF=72×1.08=77.76。

3 结论

按照GJB8000-2013《军用软件研制能力等级要求》的规定,50 ≤FP ≤300 的嵌入式软件属于中等规模软件,该软件的重要性等级为II 级,按照规定,所需软件研制单位的研制能力等级最低要求为三级[3][4][5]。承研单位可根据估算出的规模合理估算工作量、所需资源、完工时间等要素。

猜你喜欢
点数复杂度调整
夏季午睡越睡越困该如何调整
工位大调整
一种低复杂度的惯性/GNSS矢量深组合方法
沪指快速回落 调整中可增持白马
看不到的总点数
求图上广探树的时间复杂度
画点数
破解“心灵感应”
某雷达导51 头中心控制软件圈复杂度分析与改进
多核并行的大点数FFT、IFFT设计