软件质量管理 第四章_第1页
软件质量管理 第四章_第2页
软件质量管理 第四章_第3页
软件质量管理 第四章_第4页
软件质量管理 第四章_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章第四章 软件质量度量软件质量度量2目录目录一、产品质量度量一、产品质量度量二、过程中质量度量二、过程中质量度量三、软件维护的度量三、软件维护的度量四、质量程序的例子四、质量程序的例子五、收集软件工程数据五、收集软件工程数据六、小结六、小结3一、产品质量度量一、产品质量度量1. 缺陷密度度量缺陷密度度量2. 顾客问题度量顾客问题度量3. 顾客满意度度量顾客满意度度量4一、产品质量度量一、产品质量度量 软件质量的实际定义软件质量的实际定义 平均无失效时间(平均无失效时间(mean time to failure,MTTF) 缺陷密度缺陷密度 顾客问题顾客问题 顾客满意度顾客满意度 应用范围应

2、用范围 MTTF交通管制、航空电子学、武器系统交通管制、航空电子学、武器系统 缺陷密度(率)缺陷密度(率)商业软件系统商业软件系统51. 缺陷密度(率)度量缺陷密度(率)度量 缺陷率缺陷率-软件大小软件大小通常千行源代码数(通常千行源代码数(KLOC)功能点功能点6例子:例子:KLOC KLOC-KLOC-物理行计数?指令语句计数?是否加物理行计数?指令语句计数?是否加数据定义?注解?首次发布与更新版本后数据定义?注解?首次发布与更新版本后 当更新版本后:当更新版本后: 更改标记法更改标记法LOCLOC重新计数重新计数缺陷跟踪缺陷跟踪使用更改标记法(使用更改标记法(change change

3、flaggingflagging)7例子:功能点例子:功能点 一个应用程序一个应用程序5 5个主要成分的加权总和个主要成分的加权总和外部输入数(例如,事务类型)外部输入数(例如,事务类型) 3636外部输出数(例如,报告类型)外部输出数(例如,报告类型) 4747逻辑内部文件数逻辑内部文件数 715715外部接口文件数外部接口文件数 510510外部查询数(支持的联机查询种类)外部查询数(支持的联机查询种类) 36368例子:功能点例子:功能点 第一步第一步 WijWij是是5 5个成分按复杂性级别的加权因子,个成分按复杂性级别的加权因子,XijXij是应是应用程序中每种成分的数目用程序中每种

4、成分的数目9例子:功能点例子:功能点 14个特征:个特征: 数据通信数据通信 分布式功能分布式功能 性能性能 频繁使用的配置频繁使用的配置 事务率事务率 联机数据项、联机数据项、 最终用户效率最终用户效率 联机更新联机更新 复杂处理复杂处理 可重用性可重用性 易安装性易安装性 易操作性易操作性 多站点多站点 易更改性易更改性10例子:功能点例子:功能点 第二步第二步 将这些特征分值(从将这些特征分值(从0到到5)按下列公式加起来,形)按下列公式加起来,形成价值调整因子(成价值调整因子(value adjustment factor, VAF) 其中其中Ci是通用系统特征是通用系统特征i的分值的

5、分值11例子:功能点例子:功能点 最后,得到了功能点数 FP=FC*VAF 已成为一个关键的生产率测度 主要应用于应用软件而非系统软件122. 顾客问题度量顾客问题度量 来自顾客的视角 缺陷性问题(缺陷率度量) 非缺陷性问题(使用性问题、不明确的文档或者信息、有据缺陷的重复出现) 采用PUM( problems per user month)表示PUM=一个时段内的顾客报告的问题总数/在此期间软件许可证月总数许可证月总数=软件的安装许可证数*计算时段中的月数132. 顾客问题度量顾客问题度量 降低降低PUM措施措施 改进开发过程,减少产品缺陷改进开发过程,减少产品缺陷 通过改进产品的所有方面(

6、实用性及文档)、顾客教育通过改进产品的所有方面(实用性及文档)、顾客教育和支持减少非缺陷性问题和支持减少非缺陷性问题 增加产品销量(安装许可证数)增加产品销量(安装许可证数)14缺陷率度量和顾客问题度量比较缺陷率度量和顾客问题度量比较缺陷缺陷/KLOCPUM分子分子有据且不同的产品有据且不同的产品缺陷数缺陷数所有顾客问题(缺所有顾客问题(缺陷性和非缺陷性,陷性和非缺陷性,首次的和重复的)首次的和重复的)分母分母产品大小(产品大小(KLOC) 产品的顾客使用产品的顾客使用(用户一月数)(用户一月数)测量角度测量角度生产者生产者-软件开发软件开发机构机构顾客顾客作用范围作用范围内在产品质量内在产品

7、质量内在产品质量加上内在产品质量加上其他因素其他因素153. 顾客满意度度量顾客满意度度量 5级尺度级尺度 非常满意非常满意 满意满意 一般一般 不满意不满意 非常不满意非常不满意163. 顾客满意度度量顾客满意度度量 5级尺度基础上,构造几种度量级尺度基础上,构造几种度量 完全满意顾客百分数完全满意顾客百分数 满意顾客百分数(满意和完全满意)满意顾客百分数(满意和完全满意) 不满意顾客百分数(不满意和完全不满意)不满意顾客百分数(不满意和完全不满意) 非满意顾客百分数(一般、不满意和完全不满意)非满意顾客百分数(一般、不满意和完全不满意) 通常使用第二个度量,某些时候为降低非满意百分数,也通

8、常使用第二个度量,某些时候为降低非满意百分数,也使用第使用第4个度量个度量 也可使用加权指数法也可使用加权指数法17二、过程中质量度量二、过程中质量度量1 1、机器测试期间的缺陷密度、机器测试期间的缺陷密度2 2、机器测试期间的缺陷出现模式、机器测试期间的缺陷出现模式3 3、基于阶段的缺陷排除模式、基于阶段的缺陷排除模式4 4、缺陷排除有效性、缺陷排除有效性181.机器测试期间的缺陷密度机器测试期间的缺陷密度 正式机器测试(将代码集成到系统库之后正式机器测试(将代码集成到系统库之后的测试)期间的缺陷率,通常同现场得到的测试)期间的缺陷率,通常同现场得到的缺陷率正相关的缺陷率正相关 正相关:在测

9、试中发现的缺陷越多,以后正相关:在测试中发现的缺陷越多,以后发现的缺陷也越多发现的缺陷也越多192. 机器测试期间的缺陷出现模式机器测试期间的缺陷出现模式 测试期间的总缺陷率是一个简明指示器,而失效间隔则能测试期间的总缺陷率是一个简明指示器,而失效间隔则能给出更多信息。给出更多信息。 测试期间缺陷出现模式测试期间缺陷出现模式测试期间按时间间隔出现的缺陷数,原始数据,不一测试期间按时间间隔出现的缺陷数,原始数据,不一定有效定有效有效缺陷出现的模式有效缺陷出现的模式- -当报告的问题得到确定时当报告的问题得到确定时缺陷超时累积模式:开发机构不能立即审查和修补所缺陷超时累积模式:开发机构不能立即审查

10、和修补所有报告的问题。若开发周期结束时缺陷累积仍然大,则有报告的问题。若开发周期结束时缺陷累积仍然大,则需要回归测试才能保证系统稳定性和确保产品质量等级需要回归测试才能保证系统稳定性和确保产品质量等级203. 基于阶段的缺陷排除模式基于阶段的缺陷排除模式 除测试外,还需跟踪开发周期所有阶段中的缺陷,包括设除测试外,还需跟踪开发周期所有阶段中的缺陷,包括设计评审、代码审查、测试前的正式验证计评审、代码审查、测试前的正式验证 IBMIBM开发项目的缺陷排除模式表明将缺陷排除的重点放在开发项目的缺陷排除模式表明将缺陷排除的重点放在前期则质量要好前期则质量要好 缺陷排除的各个阶段:高层设计评审(缺陷排

11、除的各个阶段:高层设计评审(I0I0), ,底层设计评底层设计评审审(I1)(I1)、代码审查、代码审查(I2)(I2)、单元测试、单元测试(UT)(UT)、部件测试、部件测试(CT)(CT)、系统测试系统测试(ST)(ST)214. 缺陷排除有效性缺陷排除有效性 缺陷排除有效性(缺陷排除有效性(DREDRE)定义:)定义:DRE=DRE=开发阶段排除开发阶段排除的缺陷数的缺陷数/ /产品中潜伏的缺陷数产品中潜伏的缺陷数 分母估计:在现阶段排出的缺陷数分母估计:在现阶段排出的缺陷数+ +以后发现的缺以后发现的缺陷数陷数 该度量值越高,开发过程越有效该度量值越高,开发过程越有效22三、软件维护的

12、度量三、软件维护的度量 1 1、修补积累和积累管理指数、修补积累和积累管理指数 2 2、修补响应时间、修补响应时间 3 3、逾期修补百分数、逾期修补百分数 4 4、修补质量、修补质量231. 修补积累和积累管理指数修补积累和积累管理指数 BMI=BMI=当月解决问题数当月解决问题数/ /当月出现问题数当月出现问题数 BMI100BMI100,累积问题减少了,累积问题减少了 BMI100BMI100,累积问题增加,累积问题增加242. 修补响应时间修补响应时间 修补方针建立在时间限上修补方针建立在时间限上 按照缺陷可能引起的风险的严重程度分级,越严按照缺陷可能引起的风险的严重程度分级,越严重越需

13、要昼夜不停的修补问题重越需要昼夜不停的修补问题253. 逾期修补百分数逾期修补百分数 对每个修补而言,如果修补所需时间超过了按严重性的响对每个修补而言,如果修补所需时间超过了按严重性的响应时间标准,它就被分类到逾期修补应时间标准,它就被分类到逾期修补 逾期修补百分数逾期修补百分数= =超过按严重性等级的修补时间标准的修超过按严重性等级的修补时间标准的修补数补数/ /指定时间内交付的修补总数指定时间内交付的修补总数 只针对于已经解决的问题只针对于已经解决的问题 若某一星期做了重大改进(减少了积累问题),则将产生若某一星期做了重大改进(减少了积累问题),则将产生一个高的逾期指数一个高的逾期指数26

14、4. 修补质量修补质量 一个修补是有缺陷的:没有修补报告的问题或者一个修补是有缺陷的:没有修补报告的问题或者修补了原有问题同时又注入了新的缺陷修补了原有问题同时又注入了新的缺陷 将会严重影响顾客满意度将会严重影响顾客满意度 两种记录方式:发现它的月份或是按交付修补的两种记录方式:发现它的月份或是按交付修补的月份记录月份记录 维护过程的质量目标应当为无逾期的、零有缺陷维护过程的质量目标应当为无逾期的、零有缺陷修补。修补。27四、度量程序的例子四、度量程序的例子1 1、摩托罗拉、摩托罗拉2 2、IBM RochesterIBM Rochester281. 摩托罗拉摩托罗拉 摩托罗拉的软件开发质量政

15、策(摩托罗拉的软件开发质量政策(QPSDQPSD)目标目标1 1、改进项目计划制定、改进项目计划制定2 2、提高缺陷遏制能力、提高缺陷遏制能力3 3、提高软件可靠性、提高软件可靠性4 4、降低软件缺陷密度、降低软件缺陷密度5 5、改进顾客服务、改进顾客服务6 6、降低不符合性的费用、降低不符合性的费用7 7、提高软件生产率、提高软件生产率291. 摩托罗拉摩托罗拉 摩托罗拉的软件开发质量政策(摩托罗拉的软件开发质量政策(QPSDQPSD)测量领域测量领域 交付缺陷数和按标准大小的交付缺陷数交付缺陷数和按标准大小的交付缺陷数 全过程的总有效性全过程的总有效性 遵循进度遵循进度 估计准确性估计准确

16、性 未解决顾客问题数未解决顾客问题数 问题持续未解决的时间问题持续未解决的时间 不符合性的费用不符合性的费用 软件可靠性软件可靠性301. 摩托罗拉摩托罗拉目标目标1 1:改进项目计划制定:改进项目计划制定问题问题1.11.1:估计项目进度实际值的准确度是多少?:估计项目进度实际值的准确度是多少?度量度量1.11.1:进度估计准确度(:进度估计准确度(Schedule Estimation Schedule Estimation Accuracy,SEAAccuracy,SEA) SEA=SEA=实际项目持续时间实际项目持续时间/ /估计项目持续时间估计项目持续时间问题问题1.21.2:估计项

17、目工作量实际值的准确度是多少?:估计项目工作量实际值的准确度是多少?度量度量1.21.2:工作量估计准确度(:工作量估计准确度(Effort Estimation Effort Estimation Accuracy,EEAAccuracy,EEA) EEA=EEA=实际项目工作量实际项目工作量/ /估计项目工作量估计项目工作量311. 摩托罗拉摩托罗拉目标目标2 2:提高缺陷遏制能力:提高缺陷遏制能力问题问题2.12.1:发布前缺陷检测过程的当前已知有效性如何?:发布前缺陷检测过程的当前已知有效性如何?度量度量2.12.1:全部缺陷遏制有效性(:全部缺陷遏制有效性(Total Defect

18、Total Defect Containment Effectiveness, TDCEContainment Effectiveness, TDCE) TDCE=TDCE=发布前缺陷数发布前缺陷数/ /(发布前缺陷数(发布前缺陷数+ +发布后缺陷数)发布后缺陷数)问题问题2.22.2:对以具体软件项目而言,在软件开发的每个:对以具体软件项目而言,在软件开发的每个构造阶段引入故障的当前一直遏制有效性如何?构造阶段引入故障的当前一直遏制有效性如何?度量度量2.22.2:阶段:阶段i i的阶段遏制有效性(的阶段遏制有效性(Phase Phase Containment Effectiveness,

19、 Containment Effectiveness, PCEiPCEi) PCEiPCEi= =阶段阶段i i出错数出错数/ /(阶段(阶段i i出错数出错数+ +阶段阶段i i缺陷数)缺陷数)321. 摩托罗拉摩托罗拉目标目标3 3:提高软件可靠性:提高软件可靠性问题问题3.13.1:软件失效率是多少?怎样随时间变:软件失效率是多少?怎样随时间变化?化?度量度量3.13.1:失效率(:失效率(Failure Rate, FRFailure Rate, FR)FR=FR=失效率失效率/ /执行时间执行时间331. 摩托罗拉摩托罗拉目标目标4 4:降低软件缺陷密度:降低软件缺陷密度问题问题4.

20、1:4.1:过程中故障的规格化数目是多少?它和过程过程中故障的规格化数目是多少?它和过程中缺陷数相比如何?中缺陷数相比如何?度量度量4.1a:4.1a:过程中故障数(过程中故障数(In-process In-process Faults,IPFFaults,IPF) IPF=IPF=由增量式软件开发引起的过程中故障数由增量式软件开发引起的过程中故障数/ /汇编等汇编等价的价的deltadelta源代码大小源代码大小度量度量4.1b:4.1b:过程中缺陷数(过程中缺陷数(In-process In-process Defects,IPDDefects,IPD) IPD=IPD=由增量式软件开发引

21、起的过程中缺陷数由增量式软件开发引起的过程中缺陷数/ /汇编等汇编等价的价的deltadelta源代码大小源代码大小341. 摩托罗拉摩托罗拉目标目标4 4:降低软件缺陷密度:降低软件缺陷密度 问题问题4.24.2:交付给顾客软件的当前已知缺陷量是多少?:交付给顾客软件的当前已知缺陷量是多少? 度量度量4.2a:4.2a:总发布缺陷数总发布缺陷数total(Totaltotal(Total Released Released Defects Defects total,TRDtotal,TRD total) total)TRD total=TRD total=发布缺陷数发布缺陷数/ /汇编等价

22、总源代码大小汇编等价总源代码大小 度量度量4.2b:4.2b:总发布缺陷数总发布缺陷数delta(TRDdelta(TRD delatdelat) )TRD TRD delatdelat= =由增量式软件开发引起的发布缺陷由增量式软件开发引起的发布缺陷数数/ /汇编等价总源代码大小汇编等价总源代码大小351. 摩托罗拉摩托罗拉目标目标4 4:降低软件缺陷密度:降低软件缺陷密度问题问题4.34.3:交付给顾客软件的当前已知顾客发现的缺陷:交付给顾客软件的当前已知顾客发现的缺陷量是多少?量是多少?度量度量4.3a:4.3a:顾客发现缺陷数顾客发现缺陷数total(Customertotal(Cus

23、tomer-Found -Found Defects Defects total,CFDtotal,CFD total) total) CFD total=CFD total=顾客发现缺陷数顾客发现缺陷数/ /汇编等价总源代码大小汇编等价总源代码大小度量度量4.3b:4.3b:顾客发现缺陷数顾客发现缺陷数delta(CFDdelta(CFD delta) delta) CFD delta=CFD delta=有增量式软件开发引起的顾客发现缺陷有增量式软件开发引起的顾客发现缺陷数数/ /汇编等价总源代码大小汇编等价总源代码大小361、摩托罗拉、摩托罗拉目标目标5 5:改进顾客服务:改进顾客服务问

24、题问题5.15.1:本月期间还未解决的新问题数是多少?:本月期间还未解决的新问题数是多少?度量度量5.15.1:新未解决问题数(:新未解决问题数(New Open New Open Problems,NOPProblems,NOP) NOP=NOP=本月未解决的新发布后问题总数本月未解决的新发布后问题总数问题问题5.25.2:本月末未解决的问题总数是多少?:本月末未解决的问题总数是多少?度量度量5.25.2:未解决问题总数(:未解决问题总数(Total Open Total Open Problems,TOPProblems,TOP) TOP=TOP=本月末仍未解决的新发布后问题总数本月末仍未

25、解决的新发布后问题总数371. 摩托罗拉摩托罗拉目标目标5 5:改进顾客服务:改进顾客服务问题问题5.35.3:本月末未解决问题的平均寿命是多少?:本月末未解决问题的平均寿命是多少?度量度量5.35.3:未解决问题的平均寿命(:未解决问题的平均寿命(Age of Open Age of Open Problems,AOPProblems,AOP) AOP=AOP=本月末仍未解决的发布后问题持续未解决的总本月末仍未解决的发布后问题持续未解决的总时间时间/ /本月末仍未解决的发布后未解决问题数本月末仍未解决的发布后未解决问题数问题问题5.45.4:本月期间已解决问题的平均寿命是多少?:本月期间已解

26、决问题的平均寿命是多少?度量度量5.45.4:已解决问题的平均寿命(:已解决问题的平均寿命(Age of Closed Age of Closed Problems,ACPProblems,ACP) ACP=ACP=本月已解决的发布后问题的持续未解决的总时本月已解决的发布后问题的持续未解决的总时间间/ /本月解决的发布后未解决问题数本月解决的发布后未解决问题数381. 摩托罗拉摩托罗拉目标目标6 6:降低不符合性费用:降低不符合性费用问题问题6.16.1:本月期间修补发布后问题的费用是多少?:本月期间修补发布后问题的费用是多少?度量度量6.16.1:修补问题费用(:修补问题费用(Cost of

27、 Fixing Cost of Fixing Problems,CFPProblems,CFP) CFP=CFP=本月期间与修补发布后问题相关的费用本月期间与修补发布后问题相关的费用391. 摩托罗拉摩托罗拉目标目标7 7:提高软件生产率:提高软件生产率问题问题7.17.1:软件开发项目的生产率是多少(按软件大:软件开发项目的生产率是多少(按软件大小)?小)?度量度量7.1a:7.1a:软件生产率软件生产率total(Softwaretotal(Software Productivity Productivity total,SPtotal,SP total) total) SPtotalSP

28、total= =汇编等价的总源代码大小汇编等价的总源代码大小/ /软件开发工作量软件开发工作量度量度量7.1b:7.1b:软件生产率软件生产率delta(SPdelta(SP delta) delta) SPdeltaSPdelta= =汇编等价汇编等价deltadelta源代码大小源代码大小/ /软件开发工作软件开发工作量量401. 摩托罗拉摩托罗拉 有以上目标看到,度量有以上目标看到,度量3.1、4.2a、4.2b、4.3a和和4.3b是最是最终产品质量的度量,终产品质量的度量,5.1到到5.4是软件维护度量,是软件维护度量,2.1、2.2、4.1a、4.1b是过程中质量度量,其余的用于进

29、度、估计和是过程中质量度量,其余的用于进度、估计和生产率。生产率。412. IBM Rochester IBM共同软件测量委员会定义了一组标准的5-UP软件质量度量。包括:整体顾客满意度以及按CUPRIMDS参数的满意度。三年LOP跟踪的发布后缺陷率:基于报告缺陷的发布版本的TVUA/MSSI.顾客问题召唤修补响应时间有缺陷修补数42五、收集软件工程数据五、收集软件工程数据 需要确保收集的数据对项目、过程和质量管理提供有用的需要确保收集的数据对项目、过程和质量管理提供有用的数据,且不至于成为开发团队的负担。数据,且不至于成为开发团队的负担。 收集方法,注意反馈和迭代:收集方法,注意反馈和迭代:

30、1 1)建立数据收集的目标)建立数据收集的目标2 2)开发感兴趣问题的清单)开发感兴趣问题的清单3 3)建立数据类别)建立数据类别4 4)设计和检验数据收集形式)设计和检验数据收集形式5 5)收集并验证数据)收集并验证数据6 6)分析数据)分析数据 数据收集系统或开发跟踪系统的验证要素数据收集系统或开发跟踪系统的验证要素- -非常重要非常重要43五、收集软件工程数据五、收集软件工程数据 收集过程采用的若干基本形式:报告表格、专访收集过程采用的若干基本形式:报告表格、专访和使用计算机系统的自动收集和使用计算机系统的自动收集 为使数据收集高效并产生效果,应当把它同配置为使数据收集高效并产生效果,应

31、当把它同配置管理或更改控制系统合并在一起管理或更改控制系统合并在一起44缺陷类型的分类缺陷类型的分类 接口缺陷:两个独立的逻辑片段通信的路线上的缺陷。它们是在下列接口缺陷:两个独立的逻辑片段通信的路线上的缺陷。它们是在下列实体之间的通信中的错误:部件、产品、同一部件的模块和子程序、实体之间的通信中的错误:部件、产品、同一部件的模块和子程序、以及用户界面以及用户界面高层设计(高层设计(I0I0):): 使用错误参数使用错误参数 用户界面功能键的不一致使用用户界面功能键的不一致使用 使用不正确消息使用不正确消息低层设计(低层设计(I1I1):): 丢失所需参数,错误参数丢失所需参数,错误参数 模块间接口:没有输入,以错误次序输入模块

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论