第12章 软件质量管理.ppt

上传人:asd****56 文档编号:91040198 上传时间:2023-05-21 格式:PPT 页数:27 大小:136.50KB
返回 下载 相关 举报
第12章 软件质量管理.ppt_第1页
第1页 / 共27页
第12章 软件质量管理.ppt_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《第12章 软件质量管理.ppt》由会员分享,可在线阅读,更多相关《第12章 软件质量管理.ppt(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第12章章软件质量管理软件质量管理 Chapter 12Software Quality Management 1软件工程保证软件的质量,是一个贯穿于整个软件保证软件的质量,是一个贯穿于整个软件生存周期的重要问题生存周期的重要问题。12.1 从质量保证到质量认证从质量保证到质量认证质量保证质量保证(Quality Assurance):着眼于:着眼于每一个软件,保证提供给用户的每一个软件,保证提供给用户的软件产品软件产品都都达到规定的质量水平。达到规定的质量水平。质量认证质量认证(Quality Certification):注重:注重软件企业软件企业的整体资质,全面考察企业的质量的整体资质

2、,全面考察企业的质量体系,判断它是否具备开发和生产符合质量体系,判断它是否具备开发和生产符合质量要求的软件产品的能力。要求的软件产品的能力。2软件工程软件企业的质量管理经历了三个阶段软件企业的质量管理经历了三个阶段 1.质量检验质量检验(Quality Inspection)阶段阶段:对程序对程序的测试与纠错,属于的测试与纠错,属于“事后检验事后检验”方式。方式。2.全面质量管理全面质量管理(Total Quality Control,TQC)阶段:把质量管理活动延伸到软件生产阶段:把质量管理活动延伸到软件生产全过程。全过程。3.质量认证阶段质量认证阶段(Quality Certificati

3、on):又称合格认证(又称合格认证(Conformity Certification),),把对于个别软件产品的质量保证扩展到对于整把对于个别软件产品的质量保证扩展到对于整个企业质量体系的认证。个企业质量体系的认证。3软件工程12.2 质量保证质量保证(Quality Assurance)12.2.1 软件的质量属性软件的质量属性(1)功能性(功能性(Functionality)(2)可靠性(可靠性(Reliability)(3)易用性(易用性(Usability)(4)效率(效率(Efficiency)(5)可维护性(可维护性(Maintainability )(6)可移植性(可移植性(Po

4、rtability)4软件工程12.2.2 质量保证的活动内容质量保证的活动内容复审:(复审:(计划与开发时期各个阶段的工作都要进行复计划与开发时期各个阶段的工作都要进行复审审)开发方法:设计、编码开发方法:设计、编码(各阶段的开发方法应符合软件开发规范各阶段的开发方法应符合软件开发规范)控制:软件配置控制:软件配置(各阶段的文档都必须严格管理各阶段的文档都必须严格管理)软件测试(软件测试(对程序进行不对程序进行不同层次的测试同层次的测试)5软件工程1.验证与确认验证与确认(Verification and Validation,V&V)验证验证(Verification):主要指在开发时期中

5、主要指在开发时期中的每个阶段进行的审查活动的每个阶段进行的审查活动,即确定该阶段的,即确定该阶段的产品是否达到前一阶段对它的要求。即回答产品是否达到前一阶段对它的要求。即回答 我们制造产品的我们制造产品的步骤步骤正确吗?正确吗?Are we building the product right?确认确认(Validation):主要指测试阶段的确认主要指测试阶段的确认测试和系统测试等活动测试和系统测试等活动,即确定开发结束时所,即确定开发结束时所开发的软件能否满足软件的需求。即回答开发的软件能否满足软件的需求。即回答 我们制造的是我们制造的是正确的产品正确的产品吗?吗?Are we build

6、ing the right product?6软件工程2.开发时期的开发时期的配置管理配置管理(Configuration Management)配置管理贯穿软件生存周期的全过程,配置管理贯穿软件生存周期的全过程,从计划时期开始,一直延续到软件停止使从计划时期开始,一直延续到软件停止使用后才终止。用后才终止。配置管理的中心思想:在软件的开发进配置管理的中心思想:在软件的开发进程中,开发者有权对本阶段的产品进行更程中,开发者有权对本阶段的产品进行更改;一旦阶段产品通过了评审,就交给配改;一旦阶段产品通过了评审,就交给配置管理人员去控制,任何人需要对它更改,置管理人员去控制,任何人需要对它更改,都

7、要经过正式的批准手续。都要经过正式的批准手续。7软件工程12.3 软件可靠性软件可靠性(Software Reliability)12.3.1 12.3.1 可靠性的定义和分级可靠性的定义和分级1 1.可靠性的定义可靠性的定义:在给定的时间内,在给定的时间内,程序按照规定的条件程序按照规定的条件 成功地运行成功地运行 的的 概率概率。8软件工程2.可靠性等级可靠性等级表表12.2 可靠性分级表可靠性分级表分级分级故障的后果故障的后果开发工作量开发工作量比例因子比例因子甚低甚低低低正常正常高高甚高甚高工作略有不便工作略有不便有损失有损失,但容易弥补但容易弥补弥补损失比较困难弥补损失比较困难重大的

8、经济损失重大的经济损失危及人的生命危及人的生命0.750.881.001.151.409软件工程12.3.2 可靠性模型可靠性模型1.正比于遗留故障数的宏观模型正比于遗留故障数的宏观模型 2.平均故障时间模型(平均故障时间模型(Mean Time To Failure Model,MTTF 模型)模型)3.错误植入错误植入(Error Seeding)模型模型10软件工程3.错误植入错误植入(Error Seeding)模型模型通过估计程序中残留的错误数量,来通过估计程序中残留的错误数量,来确定程序的可靠性。确定程序的可靠性。11软件工程(1)模型模型1(鱼塘模型鱼塘模型):在测试之前,先在程

9、序中植入一批人为的错误在测试之前,先在程序中植入一批人为的错误(称为带有标志的错误)(称为带有标志的错误),在测试过程中分别统在测试过程中分别统计由测试小组发现的原有错误数和植入错误数计由测试小组发现的原有错误数和植入错误数,然后按下式计算程序中原有残留的错误总数。然后按下式计算程序中原有残留的错误总数。假定假定:N=程序中程序中原有原有残留的错误数残留的错误数;S=新植入新植入程序的错误数程序的错误数;n=测试中发现的测试中发现的原有原有错误数错误数;s=测试中发现的测试中发现的新植入新植入错误数。错误数。则有则有 Nn=S s 或或 N=S*ns (12.6)12软件工程(2)模型模型2(

10、分别测试模型分别测试模型):两名测试员同时对一个程序进行独立的测试。两名测试员同时对一个程序进行独立的测试。假定假定:B0=程序中程序中原有原有残留的错误数残留的错误数;B1=1号测试员发现的错误数号测试员发现的错误数;B2=2号测试员发现的错误数号测试员发现的错误数;Bc=两名测试员共同发现的错误数。两名测试员共同发现的错误数。若把其中一个测试员发现的错误作为带有标志若把其中一个测试员发现的错误作为带有标志的错误,则两名测试员共同发现的错误数即为的错误,则两名测试员共同发现的错误数即为测试中发现的带有标志的错误数,仿照公式测试中发现的带有标志的错误数,仿照公式(12.6),可以得到,可以得到

11、:B0 =B1*B2 Bc (12.7)13软件工程例例“2006年上半年软件设计师试题年上半年软件设计师试题”两个小组独立地测试同一个程序,第一组发两个小组独立地测试同一个程序,第一组发现现25个错误,第二组发现个错误,第二组发现30个错误,在两个个错误,在两个小组发现的错误中有小组发现的错误中有15个是共同的,那么可个是共同的,那么可以估计程序中的错误总数是以估计程序中的错误总数是 (29)个。个。(29)A.25 B.30C.50 D.6014软件工程12.3.3 软件容错技术软件容错技术(Software Fault-Tolerance Technique)容错容错:当软件在运行中一旦

12、出现错误当软件在运行中一旦出现错误,便将它便将它的影响限制到可容许的范围内。的影响限制到可容许的范围内。1.容错软件:具有抗故障功能的软件。容错软件:具有抗故障功能的软件。容错软容错软件可分为以下件可分为以下3 种情况种情况:(1)屏蔽错误屏蔽错误(2)修复错误修复错误(3)减少影响减少影响15软件工程2.冗余冗余(Redundancy)技术:技术:冗余技术是实现容错软件冗余技术是实现容错软件的主要手段的主要手段,包括:,包括:结构冗余、时间冗余和信息冗余结构冗余、时间冗余和信息冗余。(1)结构冗余结构冗余:包括静态冗余、动态冗余和混合冗余三:包括静态冗余、动态冗余和混合冗余三种形式。种形式。

13、图图12.5 动态冗余结构动态冗余结构M1M2M3VM1M2MnI U u1 u2 u3 I 主模块主模块 备用备用 备用备用(表决器表决器)图图12.4 静态冗余结构静态冗余结构U16软件工程(2)时间冗余时间冗余:以多花的时间为代价,来消除以多花的时间为代价,来消除瞬时错误所带来的影响瞬时错误所带来的影响。中心思想是:设置一个错误检测程序中心思想是:设置一个错误检测程序,当它当它检测到程序运行出错时,能发出一个错误恢检测到程序运行出错时,能发出一个错误恢复请求信号,使程序返回重新运行。复请求信号,使程序返回重新运行。(3)信息冗余信息冗余:利用附加的冗余信息来校正可利用附加的冗余信息来校正

14、可能出现的错误能出现的错误。如奇偶码、循环码等。如奇偶码、循环码等。3.容错软件的设计容错软件的设计 设计一个容错软件须经历设计一个容错软件须经历4个步骤。个步骤。(见见 p310)17软件工程12.5 CMM 软件能力成熟度模型软件能力成熟度模型(Capability Maturity Model)CMM 是用于评估软件供应商的软件开是用于评估软件供应商的软件开发能力和改进软件过程的标准。发能力和改进软件过程的标准。CMM于于1987年由美国卡内基年由美国卡内基-梅隆梅隆(Carnegie-Mellon)大学软件工程研究院大学软件工程研究院(CMU/SEI)推出。推出。18软件工程12.5.

15、1 CMM 的基本概念的基本概念 1.软件过程软件过程(Software Process):软件企业软件企业在计划、开发和维护一个软件时所执行的一系在计划、开发和维护一个软件时所执行的一系列活动,包括工程技术活动和软件管理活动列活动,包括工程技术活动和软件管理活动。2.关键过程域(关键过程域(Key Process Areas,KPA):):为了确保不同等级的软件过程能力成熟度达到为了确保不同等级的软件过程能力成熟度达到各自的目标,需要特别注意对于实现该等级的各自的目标,需要特别注意对于实现该等级的目标起关键性作用的过程域,即关键过程域。目标起关键性作用的过程域,即关键过程域。3.CMM模型模

16、型CMM模型把软件企业过程能力成熟度等级模型把软件企业过程能力成熟度等级分成分成5级。级。12.5.2 软件能力成熟度模型等级软件能力成熟度模型等级19软件工程过程能力等过程能力等级级特特 点点关键过程域关键过程域1.初始级初始级(Initial)软件过程是无序的,对过程软件过程是无序的,对过程几乎没有定义,成功取决于几乎没有定义,成功取决于个人的努力。个人的努力。管理是救火式管理是救火式的。的。2.可重复级可重复级(Repeatable)建立了建立了基本的基本的项目管理过程项目管理过程来跟踪费用、进度和功能特来跟踪费用、进度和功能特性。制定了性。制定了必要的必要的过程规则过程规则和纪律,和纪

17、律,能重复早先类似应能重复早先类似应用项目取得的成功用项目取得的成功。需求管理需求管理软件项目策划软件项目策划软件子合同管理软件子合同管理软件质量保证软件质量保证软件配置管理软件配置管理3.已定义级已定义级(Defined)已将软件管理和工程两个方已将软件管理和工程两个方面的过程面的过程文档化、标准化文档化、标准化,并综合成该组织的标准软件并综合成该组织的标准软件过程。过程。培训大纲培训大纲集成软件管理集成软件管理软件产品工程软件产品工程组际协调组际协调同行专家评审同行专家评审20软件工程过程能力过程能力等级等级特特 点点关键过程域关键过程域4.已管理级已管理级(Managed)收集对软件过程

18、和产收集对软件过程和产品质量的详细度量,品质量的详细度量,对软件过程和产品都对软件过程和产品都有定量的理解和控制有定量的理解和控制。定量的过程定量的过程管理管理软件质量管软件质量管理理5.优化级优化级(Optimizing)过程的量化反馈和过程的量化反馈和先先进的新思想、新技术进的新思想、新技术促使过程不断改进促使过程不断改进。技术变更管技术变更管理理过程变更管过程变更管理理21软件工程12.5.3 CMM 的应用的应用1.能力评估:能力评估:评估一个软件开发机构的软件开发能评估一个软件开发机构的软件开发能力。力。2.过程改善过程改善 软件企业可以引用软件企业可以引用CMM的关键域指的关键域指

19、导软件过程的开发和维护,不断改善本导软件过程的开发和维护,不断改善本机构的软件过程。机构的软件过程。22软件工程12.6 ISO 9000 国际标准国际标准 ISO 9000 质量标准由质量标准由 5 个相关的标准组个相关的标准组成成:1.质量术语标准质量术语标准(ISO 8402-1994);2.质量保证标准质量保证标准(ISO 9001 ISO 9004);3.质量管理标准质量管理标准(ISO9004-1ISO 9004-4);4.质量管理和质量保证标准选用和实施指质量管理和质量保证标准选用和实施指南南 (ISO 9000-1 ISO 9000-4);5.支持性技术标准支持性技术标准(IS

20、O 10005 等等)。23软件工程12.6.1 ISO 9001和和ISO 9000-3 与软件产品有关的质量标准为以下与软件产品有关的质量标准为以下2个个:(1)ISO 9001:包括设计、开发、生产、:包括设计、开发、生产、安装和服务等活动的质量保证模式。安装和服务等活动的质量保证模式。(2)ISO 9000-3:从软件的角度对:从软件的角度对 ISO 9001 的内容给出具体的解释和说明。的内容给出具体的解释和说明。24软件工程12.7 软件度量软件度量软件度量分为软件项目度量和软件过程软件度量分为软件项目度量和软件过程度量两大类。度量两大类。12.7.1 项目度量项目度量项目度量是对

21、项目度量是对项目组项目组中所有个人开发工中所有个人开发工作的度量,是战术性的活动,目的在于作的度量,是战术性的活动,目的在于改进软件产品的质量改进软件产品的质量。25软件工程表表12.4 项目度量的基本度量项目度量的基本度量S.R.Schach,1992U.S.Air Force,93M-017常用单位常用单位Size 规模规模Size 规模规模LOC,KLOCEffort 工作量工作量Effort 工作量工作量人人-月月Duration 时间时间Schedule 进度进度月月Quality 质量质量Quality 质量质量错错 误误 数数 /KLOC Cost 成本成本Rework 返工返工元元26软件工程12.7.2 过程度量过程度量过程度量是对过程度量是对整个企业整个企业中所有项目组开中所有项目组开发能力的度量,是战略性的活动,目的发能力的度量,是战略性的活动,目的在于在于改进企业的软件开发过程改进企业的软件开发过程,提高整,提高整个过程的质量。个过程的质量。项目度量和过程度量的关系:把对于项项目度量和过程度量的关系:把对于项目组中个人的度量组合起来,就形成对目组中个人的度量组合起来,就形成对项目的度量;把对于所有项目组的项目项目的度量;把对于所有项目组的项目度量组合起来,就形成对整个企业的过度量组合起来,就形成对整个企业的过程度量。程度量。27软件工程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 项目管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com