软件质量管理和质量保证.pptx
《软件质量管理和质量保证.pptx》由会员分享,可在线阅读,更多相关《软件质量管理和质量保证.pptx(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第九九章章 软件质量管理与质量保证软件质量管理与质量保证9.1 9.1 软件质量软件质量9.1.19.1.1 影响软件质量的因素影响软件质量的因素n人的因素人的因素n软件需求软件需求n测试的局限性测试的局限性n质量管理的困难质量管理的困难n软件人员的传统习惯软件人员的传统习惯n开发规范开发规范n开发工具支持不够开发工具支持不够什么是软件质量成本成本可靠可靠维护维护及时及时交付交付正确正确功能功能功能功能成本成本及时及时交付交付软件质量的若干侧面软件质量的若干侧面9.1.2 McCall提出的表明软件质量提出的表明软件质量 的的1111个质量特性个质量特性使用性使用性 测试性测试性正确性正确性
2、 维护性维护性可靠性可靠性 移植性移植性效率效率 重用重用性性完整性完整性 互操作互操作性性适应性适应性( (灵活性灵活性) )9.1.3 产品质量与过程质量产品质量与过程质量产品质量产品质量开发技术开发技术 成本、成本、时间、进度时间、进度过程质量过程质量人员素质人员素质影响产品质量的影响产品质量的4 4个方面个方面9.2 9.2 软件质量保证软件质量保证 质量保证也是一个过程质量保证也是一个过程,已列入国,已列入国际标准际标准“ ISO/IEC 12207ISO/IEC 12207信息技术信息技术- -软件生存期过程软件生存期过程”中。中。9.2.1 9.2.1 质量保证的主要功能质量保证
3、的主要功能F质量方针的制定和展开质量方针的制定和展开F质量保证方针的质量保证标准的制定质量保证方针的质量保证标准的制定F质量保证体系的建立和管理质量保证体系的建立和管理F各阶段的质量评审各阶段的质量评审9.2.2 9.2.2 质量保证的实施质量保证的实施 质量度量方法ISOISO建议的软件质量评价标准分为建议的软件质量评价标准分为三级三级: :高层高层: :质量需求评价准则质量需求评价准则( (SQRC)SQRC)中层中层: :质量设计评价准则质量设计评价准则( (SQDC)SQDC)低层低层: :质量度量评价准则质量度量评价准则( (SQMC)SQMC)ISO建议的软件质量度量模型建议的软件
4、质量度量模型正正 确确 性性可可 跟跟 踪踪 性性完完 备备 性性准准 确确 性性容容 错错 性性简简 洁洁 性性模模 块块 性性通通 用用 性性扩扩 充充 性性可可 容容 性性效效 率率安安 全全 性性可维护性可维护性适适 应应 性性连连 接接 性性SQDCSQDCSQRCSQRCSQMCSQMC可可 用用 性性一一 致致 性性由各使用由各使用单位根据单位根据实际情况实际情况决定决定能用于软件质量定量评价的软件度量能用于软件质量定量评价的软件度量H美国国防部美国国防部ADAD报告报告: :把质量表现形式把质量表现形式 归纳为归纳为190190多个多个 问题问题; ;HIEEEIEEE质量标准
5、词典规定质量标准词典规定: :3939组度量公式组度量公式3939个度量项分为四级个度量项分为四级: :0 0级级: :已公式化已公式化, ,尚未被运行有效确认尚未被运行有效确认1 1级级: :已为软件界采用已为软件界采用, ,应用范围有限应用范围有限2 2级级: :已被软件界接受已被软件界接受, ,已取得一定经验已取得一定经验3 3级级: :软件界已广泛使用软件界已广泛使用, ,已取得相当经验已取得相当经验3 3级的级的8 8个度量项个度量项(1)(1)缺陷密度缺陷密度(2)(2)需求可追踪性需求可追踪性(3)(3)HalsteadHalstead软件科学软件科学(4)(4)McCabeMc
6、Cabe复杂性度量复杂性度量(5)(5)发现发现k k个缺陷的平均时间个缺陷的平均时间(6)(6)按耗时作故障分析按耗时作故障分析(7)(7)平均故障时间平均故障时间(8)(8)故障率故障率 9.2.3 9.2.3 技术评审技术评审 软件评审是一个软件评审是一个“过滤器过滤器”,用于用于“净化净化”软件工程各项活动软件工程各项活动9.39.3 软件可靠性软件可靠性硬件系统故障率硬件系统故障率0 0t tZ(t)Z(t)软件系统故障率软件系统故障率0 0t tZ(t)Z(t)9.3.1 9.3.1 基本概念基本概念软件可靠性定义软件可靠性定义 在给定在给定时间间隔内时间间隔内和特定的和特定的环境
7、下,软件按规格说明成功环境下,软件按规格说明成功运行的概率。运行的概率。软件可靠性的主要指标软件可靠性的主要指标 借用硬件可靠性的定量度量方法来借用硬件可靠性的定量度量方法来度量软件的可靠性:度量软件的可靠性: MTBF: :平均故障间隔时间平均故障间隔时间 MTTF: :平均故障时间平均故障时间t1t1,t2, ., t2, ., tntn: :失效时间失效时间MTTFn ni=1i=1n n1 1t ti i软件可靠性定义的要素软件可靠性定义的要素(1)(1)环境条件环境条件 规定软件的使用环境规定软件的使用环境 ( (输入数据要求和环境输入数据要求和环境) )(2)(2)规定时间规定时间
8、 时间时间t t是随机变量。是随机变量。(3)(3)规定的功能规定的功能(4)(4)成功运行成功运行9.4 9.4 质量管理、质量认证与质量审核 质量管理的类型质量管理的类型:(1)(1)质量检验型管理质量检验型管理(2)(2)全面质量管理全面质量管理(3)(3)质量认证质量认证软件质量保证软件质量保证体系的研究和主要技术体系的研究和主要技术 目前国际上软件过程质量管理目前国际上软件过程质量管理最主要的三个典型代表:最主要的三个典型代表:CMM /PSP/TSPISO9000系列系列ISO/IEC15504 过程与软件质量管理过程与软件质量管理 随着软件技术和软件应用的发展,随着软件技术和软件
9、应用的发展,以过以过程为中心程为中心的软件开发、生产与质量管理是现的软件开发、生产与质量管理是现代软件产业的时代特征。代软件产业的时代特征。 质量形成于过程,高可信、高质量的软质量形成于过程,高可信、高质量的软件必须依赖对软件过程的管理。件必须依赖对软件过程的管理。 过程与软件质量管理过程与软件质量管理 ISO9000 2000ISO9000 2000版将过程定义为版将过程定义为“一组将输入一组将输入转化为输出的相互关联或相互作用的活动转化为输出的相互关联或相互作用的活动” 软件过程分为:软件过程分为:软件工程过程:软件工程过程:软件开发和生产的过程,软件开发和生产的过程, 如:需求分析、设计
10、、编码、如:需求分析、设计、编码、 测试等过程;测试等过程;软件管理过程:软件管理过程:对软件开发和生产的过程进对软件开发和生产的过程进 行管理的过程,行管理的过程, 如:项目策划过程、跟踪监控过如:项目策划过程、跟踪监控过 程、质量保证过程程、质量保证过程软件支持过程:软件支持过程:对软件开发和生产的过程进对软件开发和生产的过程进 行支持的过程,行支持的过程, 如:评审过程、培训过程、如:评审过程、培训过程、 质量过程。质量过程。 技术改进与过程改进的关系技术改进与过程改进的关系 技术改进必须与过程改进同时并举技术改进必须与过程改进同时并举低技术低技术高技术高技术过程过程成熟成熟过程过程不成
11、熟不成熟低风险途径低风险途径高风险高风险途径途径原始态原始态理想态理想态可能无结果途径可能无结果途径 软件工程的五个发展方向软件工程的五个发展方向方向说明技术 组织 管理编程方法编程方法例如:结构化编程例如:结构化编程 面向对象编程面向对象编程高高低低低低形式化方法形式化方法例如例如:Z语言、语言、CSP、高高低低低低计算机辅助软件工程计算机辅助软件工程 例如:例如:CASE工具工具高高低低低低软件开发模型软件开发模型例如例如:瀑布模型、瀑布模型、 高高中中低低软件工程过程软件工程过程探讨软件过程探讨软件过程(包括开发包括开发过程、软件支持过程或过程、软件支持过程或维护过程等维护过程等)的管理
12、和改的管理和改进。进。例如:例如:CMM SPICE BOOTSTRAP SPERM高高高高高高软件过程的管理模式 CMM:软件过程管理与改进软件过程管理与改进 CMM是是软件工程过程软件工程过程学科中的一个管学科中的一个管理与改进软件过程的模式,也是一种衡量软理与改进软件过程的模式,也是一种衡量软件开发能力和成熟度的标准。件开发能力和成熟度的标准。 CMM /PSP/TSP技术流派技术流派 CMM( (软件能力成熟度模型:软件能力成熟度模型:Capability Maturity Model For Software) )是由美国卡内基梅隆大学的软件工程研究是由美国卡内基梅隆大学的软件工程研
13、究所所( (SEI:Software Engineering Institute) )受美国国防部评受美国国防部评估软件供应商能力的要求,估软件供应商能力的要求,1986年开始研究制定,并年开始研究制定,并在美国,随后在全世界推广实施的一种软件评估标准在美国,随后在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改,主要用于软件开发过程和软件开发能力的评估和改进。进。CMM标准共分标准共分五个等级五个等级,由低到高分别为,由低到高分别为: : 初始初始级、可重复级、已定义级、定量管理级和优化级级、可重复级、已定义级、定量管理级和优化级。 1998年年SEI启动了启动
14、了CMMI ( (CMM Integration) )CMMI通过提供统一的过程改进框架,消除了不同通过提供统一的过程改进框架,消除了不同模型之间的不一致和重复性,可望成为今后软件过模型之间的不一致和重复性,可望成为今后软件过程改进领域比较稳定的一个实用模型。程改进领域比较稳定的一个实用模型。目前目前SEI正在进行二个方面的扩充:正在进行二个方面的扩充:将质量管理的理念和思想向人力资源管理方面扩将质量管理的理念和思想向人力资源管理方面扩展展(PSP/TSP/P-CMM);将过程技术与产品线技术融合;将过程技术与产品线技术融合; 如如2000年推出的软件产品线年推出的软件产品线PLP(Produ
15、cts Line Practice)和和COTS(Commercial Off The Shelf) ISO 9000标准系列 19871987年年ISO公布公布ISO9000质量管理和质量保证标准质量管理和质量保证标准系列。系列。 至至19971997年底,约年底,约100100个国家、地区推行个国家、地区推行ISO9000质量质量认证活动;认证活动; ISO 9000ISO 9000族列族列标准现有标准现有2020个标准,分为五类:个标准,分为五类:(1) 质量术语标准:质量术语标准:ISO8402-1994ISO8402-1994(2)质量保证标准质量保证标准(3)质量管理标准质量管理标
16、准(4)质量管理和质量保证标准的选用和实施指南质量管理和质量保证标准的选用和实施指南(5)支持性技术标准支持性技术标准ISO 9000主体可分为两组:主体可分为两组:n用于用于“需方对供方要求质量保证需方对供方要求质量保证”的标准的标准: 9001 9003n用于用于 “供方建立质量保证体系供方建立质量保证体系”的标准:的标准: 90049001、 9002、 9003的区别的区别其对象的工序范围不同:其对象的工序范围不同: 9001范围最广,包括从设计到售后服务;范围最广,包括从设计到售后服务; 9002是是9001 的子集;的子集; 9003是是9002 的子集。的子集。 ISO/IEC1
17、5504 1998年年SPICE(Software Process Improvement and Capability dTermination)项项目组织发表用于确定自我能力改造和进行目组织发表用于确定自我能力改造和进行软件供应商能力的国际标准软件供应商能力的国际标准ISO/IEC15504. 该标准覆盖了过程评估、过程改进和该标准覆盖了过程评估、过程改进和过程能力确认等指南和模型。过程能力确认等指南和模型。 目前,有关组织正在就目前,有关组织正在就CMMI和和15504标准的标准的兼容性兼容性问题进行探讨,很有可能问题进行探讨,很有可能CMMI会会最终和最终和ISO/IEC 15504标
18、准兼容,标准兼容,并同时支持和兼容并同时支持和兼容CMM。CMM模型及其实践模型及其实践 在在CMM模型及其实践中模型及其实践中, ,企业的企业的过程能力过程能力被被作为一项关键因素予以考虑。所谓过程能力作为一项关键因素予以考虑。所谓过程能力, ,是是指把企业从事软件开发和生产的过程本身透明化指把企业从事软件开发和生产的过程本身透明化、规范化和运行的强制化。这样一来、规范化和运行的强制化。这样一来, ,就可以把就可以把软件开发及生产过程中成功或失败的经验教训变软件开发及生产过程中成功或失败的经验教训变成今后可以借鉴和吸取的营养成今后可以借鉴和吸取的营养, ,大大加快软件生大大加快软件生产的成熟
19、程度提高。产的成熟程度提高。 在软件开发过程中在软件开发过程中, , 一些关键的过程域一些关键的过程域( (KPA) )可以被识别出来可以被识别出来, ,成为某些成为某些CMM模型方法模型方法中的衡量基准。利用过去软件工程发展的成果中的衡量基准。利用过去软件工程发展的成果, ,侧侧重这些关键过程域的实施重这些关键过程域的实施, ,将会有效地建立一个过将会有效地建立一个过程程, ,加快软件企业成熟度的提升。加快软件企业成熟度的提升。 CMM级别级别世界软件企业世界软件企业通过通过CMM的数量的数量世界软件企业世界软件企业通过通过CMM的份额的份额5级级 41家家 3%4级级 54家家 4%3级级
20、 232家家 17%2级级 438家家 32%1级级 600家家 44% CMM一共有一共有5级,级,18个关键过程域(个关键过程域(KPA),),52个目标,个目标,300多个关键实践。据美国卡内基多个关键实践。据美国卡内基.梅梅隆大学隆大学SEI统计,至统计,至2001年年6月底,月底,CMM的认证情的认证情况如下表所示。况如下表所示。过程成熟度框架过程成熟度框架要区分不成熟和成熟软件组织要区分不成熟和成熟软件组织需要构造一个软件过程成熟度框架需要构造一个软件过程成熟度框架,它描述一条从无序到有序的软件过程的它描述一条从无序到有序的软件过程的进化途径,框架是支持持续改进的基础。进化途径,框
21、架是支持持续改进的基础。软件过程成熟度框架包括四个概念:软件过程成熟度框架包括四个概念:软件过程软件过程软件过程能力软件过程能力软件过程性能软件过程性能软件过程成熟度:软件过程成熟度:CMM分为五级分为五级软件过程成熟度的五个等级软件过程成熟度的五个等级0 1 2 3 4 5软件过程能力软件过程能力成熟度等级成熟度等级优化级(5)管理级(4)不断改进的过程不断改进的过程定义级(3)重复级(2)初始级(1)可预测的过程可预测的过程标准的一致的过程标准的一致的过程有纪律的过程有纪律的过程 级别级别特点特点1 初始级初始级 软件开发过程是一个软件开发过程是一个偶然的甚至无序的过程偶然的甚至无序的过程
22、,很少有很少有明确的定义明确的定义,成功完全依赖于个体的能力成功完全依赖于个体的能力.2 重复级重复级实施实施基本的项目管理基本的项目管理:跟踪软件成本、进度和功能。跟踪软件成本、进度和功能。依照以往项目成功的经验来建立基本的过程规则,使依照以往项目成功的经验来建立基本的过程规则,使得其他相似项目能重复以往的成功。得其他相似项目能重复以往的成功。3 定义级定义级软件过程的管理和实行方法都已软件过程的管理和实行方法都已文档化、标准化文档化、标准化,使,使开发商有一个开发过程的标准。即所有项目都可以依开发商有一个开发过程的标准。即所有项目都可以依照标准来开发和维护软件。照标准来开发和维护软件。4
23、管理级管理级定义了评估软件过程和产品质量的定义了评估软件过程和产品质量的度量度量。利用此度量。利用此度量对软件过程和产品做出推断和控制。对软件过程和产品做出推断和控制。5 优化级优化级系统地引导新理念及技术的反馈,从而不断改进软件系统地引导新理念及技术的反馈,从而不断改进软件过程。过程。5个成熟度个成熟度等级在开发过程中变化的显著特点等级在开发过程中变化的显著特点 五级成熟度五级成熟度的特性的特性等级等级1 初始级初始级CMM1杰出的主管和优秀的队伍杰出的主管和优秀的队伍项目成功项目成功 CMM1一般的主管和队伍一般的主管和队伍项目成功难以预测项目成功难以预测 等级等级2 重复级重复级项目经验
24、项目经验定义准则定义准则和跟踪和跟踪新的类新的类似项目似项目再再成功成功 五级成熟度五级成熟度的特性的特性等级等级3 定义级定义级CMM重复重复定义软件过程定义软件过程可视和可控可视和可控等级等级4管理级管理级软件过程能力软件过程能力量化量化改进与预测改进与预测等级等级5优化级优化级已有的技术等级等级2424中的改进中的改进已有的技术等级等级5 5中的优化中的优化新的技术 CMM的内部结构与定义的内部结构与定义能力成熟度模型的结构能力成熟度模型的结构过程能力成熟度等级关键过程域包含共同特点被规划成关键实践包含指示目标完成规范化阐述活动描述关键过程域关键过程域优化级(5)过程更改管理过程更改管理
25、技术改革管理技术改革管理缺陷预防缺陷预防管理级(4)软件质量管理软件质量管理定量过程管理定量过程管理每一个关键过程域每一个关键过程域指出了改进过程能指出了改进过程能力的主要过程力的主要过程定义级(3)同行评审同行评审组间协调组间协调软件产品工程软件产品工程集成软件管理集成软件管理培训大纲培训大纲组织过程定义组织过程定义组织过程集点组织过程集点重复级(2)软件配置管理软件配置管理软件质量保证软件质量保证软件子合同管理软件子合同管理软件项目跟踪和监督软件项目跟踪和监督软件项目策划软件项目策划需求管理需求管理初始级(1) CMM成熟度等级的评估成熟度等级的评估评估步骤:评估步骤:1.项目项目关键实践
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量管理 质量保证
限制150内