软件研发行业参考统计分析数据.docx
- 文档编号:10099932
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:8
- 大小:48.30KB
软件研发行业参考统计分析数据.docx
《软件研发行业参考统计分析数据.docx》由会员分享,可在线阅读,更多相关《软件研发行业参考统计分析数据.docx(8页珍藏版)》请在冰豆网上搜索。
软件研发行业参考统计分析数据
软件研发行业参考统计分析数据
1.CMM汇总
1.1.不同CMM等级软件生命周期各阶段缺陷发现分布示意图
不同CMM等级软件生命周期各阶段缺陷分布示意图
1.2.CMM级别与Bug率
本来像软件这样的逻辑产品,开发过程中出现缺陷(BUG)不可避免,但随着CMM
级别的提高,软件可靠性将有数量级的改进。
目前业界通常的标准是:
每千行源代码所含的BUG数,CMM1级为11.95个,
CMM2级为5.52个,
CMM3级为2.39个,
CMM4级为0.92个,
CMM5级则只有0.32个
也就是说CMM5级的可靠性比CMM1提高近40倍
在CMM1,大多数的BUG通常都会在测试阶段出现,随着CMM级别的提高,BUG出现的高峰也随之提前,从而使软件开发的进度得到可靠的保证。
在可靠性提高的同时,
CMM5的软件开发周期是CMM1的36%,而生产成本是CMM1的19%,平均每个软件开发人员的生产率会提高4倍。
1.3.交付后缺陷分布饼图
交付后的缺陷分布
■文档
□编/
3^
□改错□需求
o
■设计
40%
1.4.不同阶段消除一个缺陷的相对成本
经验:
评审、测试与客户发现缺陷比例
经验
80%的缺陷,通过同行评审发现。
16%的缺陷,通过测试发现。
4%的缺陷,通过客户发现。
识别缺陷的成效
测试的成效:
最多识另I」软件所有缺陷中30-35%的缺陷
评审的成效:
最多识另I」软件所有缺陷中70-75%的缺陷
识别缺陷的成本
测试的成本:
识别一个重要缺陷平均花费15-25小时
评审的成本:
需求阶段识别一个重要缺陷平均花费2-3小时;
设计阶段识别一个重要缺陷平均花费3-4小时;
代码评审阶段识别一个重要缺陷3-5小时;
测试计划评审识别一个重要缺陷3-5小时
解决缺陷的成本
测试的成本:
消除一个重要缺陷平均花费30-80小时(包括识别缺陷时间)
在开发后期才能识别缺陷,成本较高
评审的成本:
需求及设计阶段消除一个重要缺陷5-10小时;
代码评审阶段消除一个重要缺陷5-15小时
更倾向于在开发前期识别缺陷,成本较低
投入回报比较
(1)航天飞机搭乘项目:
在设计或代码评审时消除一个缺陷的成本为1美元,在系统测试时为13
美元,交付使用后为92美元(Paulketal,1995)。
即13~92:
1
(2)电信公司审查发现和纠正一个缺陷的平均费用为200美元,客户验收测试发现的缺陷平均花费
4200美元(BoehmandBasili2001)。
即21:
1
某研究表明,客户使用过程中发现、纠正与需求相关的缺陷的费用是比需求开发阶段发现和纠正同样缺陷的费用的68~110倍(Boehm1981;Grady1999)。
即68~110:
1
(3)印度Infosys公司经验表明:
在代码审查上多花费一天,这个产品就有期望在后期修改缺陷节省
3-6天。
即3~6:
1
软件过程审查的质量目标
质量目标
目标
下限
上限
SRS文档Review缺陷发现密度(个/页):
0.80
0.50
1.10
HLD文档Review缺陷发现密度(个/页):
0.70
0.50
0.90
LLD文档Review缺陷发现密度(个/页):
0.43
0.22
0.64
代码检视缺陷发现密度(个/KLOC):
10.62
7.43
13.81
单元测试计划Review缺陷发现密度(个/页):
0.43
0.22
0.64
集成测试计划Review缺陷发现密度(个/页):
0.70
0.50
0.90
系统测试计划Review缺陷发现密度(个/页):
0.80
0.50
1.10
印度某CMMI5公司PCB
印度某CMML5公司PCB
Metric
Goal
Lower
Upper
AnalysisSchedule
Productivity
22
20
26
Endofproject
EffortEstimationVariance
0
-10%
10%
Endofphase
ScheduleEstimationVariance
0「
-10%
10%
Endofphase
DeliveredDefectDensity
0.5
OJ8/KLOC
1.5/KLOC
Endofproject
SRS
0.6
0.3/Page
1⑵Page
Endofphase
HLD
0.4
0.2/Page
1.0/Page
Endofphase
LLD
0.5
0.35/Page
0.9/Page
Endofphase
UnitTesting
6
3.5/KLOC
8.5/KLOC
Endofphase
软件过程审查产生的效果
1)产出量:
单位开发人员的产出量由950行代码/人月(全流程)增长到1320行代码/人月(全流程),增长量为38.9%o关键原因在于大在减少了项目后期返工的工作量。
考虑由于项目熟悉和学习曲线等的原因,实际的产出增长量应该超过20%o
2)产品质量(遗留缺陷密度):
我们从软件系统的遗留缺陷率来分析系统的质量情况。
在半年的维
护时间内,第一期代码行为4万行,严重缺陷有5个,一般缺陷有32个,严重缺陷发现密度为0.125个缺陷/千行代码,总遗留缺陷发现密度为0.925个缺陷/千行代码;第二期代码行数为5万行,严重缺陷有1个
(属于客户需求问题引发的设计缺陷),一般缺陷有15个,严重缺陷发现密度为0.02个缺陷/千行代码,
总遗留缺陷发现密度为0.32个缺陷/千行代码。
因此严重缺陷发现密度改进了84%,一般缺陷发现密度改进了65.4%o
3)客户满意度:
第一期客户严重不满意,称我们在做玩具,满意度只有22%;第二期客户满意度大
幅上升,称我们是专业人士,非常敬业,为他们所钦佩,满意度达到了91%。
因此满意度提高了314%。
sow
t20()
评审和动态测试互补效果
不同阶段缺陷修复的成本
阶段
缺陷修复成本
用户需求和分析
$1
概要设计
$2
详细设计
$5
编码和实现
$10
组件测试
$15
集成测试
$22
系统测试
$50
用户验收和使用
$100+
2.代码审查
发现缺陷的效果
口据统计:
代码中60%以上的缺陷都可以通过代码审查发现出来
代码审查建议
□一次检查大约200~400行代码,不宜超过60~90
分钟
□合适的检查速度,每小时少于300~500行代码
3.测试
测试重要性
业界优秀的公司都非常重视测试
IBM
A软件可靠性比硬件可靠性低一个数量级
软件工程化和软件测试是保证软件质量的有效手段
Firrmsare
(31Projects)
Systems(48Projects)
AppliCJtiCflS(53Projects)
》一般项目:
项目总投入的30%—40%
PercentEngineeringHoursbyPhase
HP
NASA经验分享
■NASA(美国航空航天管理局):
版本发布后
遗留缺陷率
开发组测试20%
测试成本
(人月/KLOC)
V4
独立测试组
16%
2.5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 研发 行业 参考 统计分析 数据
![提示](https://static.bdocx.com/images/bang_tan.gif)