发明名称 一种考虑软件测试与运行环境差别的软件成本模型建模方法
摘要 本发明公开了一种考虑软件测试与运行环境差别的软件成本模型建模方法,属于软件成本模型研究领域。本发明方法将测试与运行环境的差别考虑到软件成本模型的建模过程中,分析环境差别对软件测试成本和维护成本的影响,基于环境因子,构造软件成本模型中测试阶段内修正单位软件故障的费用c<sub>1</sub>和测试阶段内单位时间的测试费用c<sub>3</sub>的函数,进一步得到新的软件成本模型,并依据该模型进行软件成本预测。本发明方法反映了环境差异对软件成本的影响,使软件成本模型预测更符合实际,从而对软件成本进行更精确的预测,并确定软件发布时间。
申请公布号 CN103310073B 申请公布日期 2016.04.20
申请号 CN201310272368.9 申请日期 2013.07.02
申请人 哈尔滨工程大学 发明人 高峰;孟斌;万程程;陈嵩博;王坐山;赵小晴;于亚龙;吴田
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 祗志洁
主权项 一种考虑软件测试与运行环境差别的软件成本模型建模方法,其特征在于,包括如下操作步骤:步骤一、构造软件成本模型中参数c<sub>1</sub>和c<sub>3</sub>关于环境因子k的函数;所述的环境因子k,关于时间t的表达式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>k</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>b</mi><mrow><mi>t</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>b</mi><mrow><mi>f</mi><mi>i</mi><mi>e</mi><mi>l</mi><mi>d</mi></mrow></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mi>A</mi><mo>&times;</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>B</mi><mi>t</mi></mrow></msup><mo>+</mo><mi>C</mi></mrow>]]></math><img file="FDA0000884732420000011.GIF" wi="566" he="143" /></maths>其中,b<sub>test</sub>(t)为软件测试期间的故障检测率,b<sub>field</sub>(t)为软件运行期间的故障检测率;A、B和C是环境因子参数,对应的初始值分别为A<sub>0</sub>、B<sub>0</sub>和C<sub>0</sub>;A表示环境因子变化的比例,B表示环境因子变化的速率,C表示环境因子的调整系数,实现使离散的环境因子值有正数也有负数,将环境因子参数的初始值代入I的表达式得到I<sub>0</sub>;A、B和C基于环境因子函数的软件可靠性模型,使用最小二乘法估计得到;所述的基于环境因子函数的软件可靠性模型中,从测试到运行阶段的软件故障累计失效数m(t)的期望函数为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>m</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><mi>a</mi><mo>&lsqb;</mo><mn>1</mn><mo>-</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>b</mi><mi>t</mi></mrow></msup><mo>&rsqb;</mo><mo>&lsqb;</mo><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>a</mi><mo>/</mo><mi>b</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>+</mo><mi>a</mi><mi>&alpha;</mi><mi>t</mi></mrow><mrow><mn>1</mn><mo>+</mo><msup><mi>&beta;e</mi><mrow><mo>-</mo><mi>b</mi><mi>t</mi></mrow></msup></mrow></mfrac><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>t</mi><mo>&lt;</mo><mi>T</mi></mrow></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mrow><mi>a</mi><mo>-</mo><mi>m</mi><mrow><mo>(</mo><mi>T</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>+</mo><mi>&alpha;</mi><mi>t</mi></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><mfrac><mrow><mi>A</mi><mo>+</mo><msup><mi>Ce</mi><mrow><mo>-</mo><mi>b</mi><mi>t</mi></mrow></msup></mrow><mrow><mi>A</mi><mo>+</mo><mi>C</mi></mrow></mfrac><mo>)</mo></mrow><mrow><mo>-</mo><mfrac><mi>b</mi><mrow><mi>B</mi><mi>C</mi></mrow></mfrac></mrow></msup></mrow><mo>)</mo></mrow><mo>,</mo><mi>t</mi><mo>&GreaterEqual;</mo><mi>T</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000884732420000012.GIF" wi="1068" he="350" /></maths>其中,a是软件中的初始故障,b是残余故障发现率,α是学习过程的强度参数,β是故障引入率,对失效数据利用最小二乘法估计得到;测试阶段内修正单位软件故障的费用c<sub>1</sub>表示为:<img file="FDA0000884732420000013.GIF" wi="307" he="87" />测试阶段内单位时间的测试费用c<sub>3</sub>表示为:<img file="FDA0000884732420000014.GIF" wi="299" he="87" />其中,<img file="FDA0000884732420000015.GIF" wi="45" he="87" />和<img file="FDA0000884732420000016.GIF" wi="47" he="87" />分别为c<sub>1</sub>和c<sub>3</sub>的估计值,根据开发软件的经验数据得到;参数I=(A‑B)(1‑C);步骤二、依据参数c<sub>1</sub>和c<sub>3</sub>的函数,确定软件成本模型C<sub>成本</sub>(T):<img file="FDA0000884732420000017.GIF" wi="1118" he="94" />其中,T是软件的发布时间,T<sub>L</sub>是软件的运行时间,m(T)为软件故障累计失效数,c<sub>2</sub>是运行阶段内修正单位软件故障的费用;步骤三、利用步骤二得到的软件成本模型,对软件成本进行预测,确定软件发布时间。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号