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

下载本文档

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

文档简介

1、第十讲 软件质量管理,内容,软件质量的基本概念和模型 软件质量管理过程 软件质量体系 质量的度量 提高软件质量的途径,质量的重要性,软件危机的主要矛盾 低质量的软件就像定时炸弹 低质量的产品,增加成本 质量是生命也是信誉,软件质量的重要性,尽管所有的商品或服务都存在质量问题,但是软件的特殊性,特别是复杂性和不可见性,使其更为重要 软件的无形性:很难知道项目中的特定任务是否完全满足 软件开发过程中的错误积累 软件危险性的增加:企业越来越依赖软件,质量的概念,符合目的或者用途(Joseph Juran) 用户的感觉就是质量(A V Feigenbaum) 符合顾客在其合理价格下对产品的要求(Sud

2、 Ingle) 产品或者服务满足明确和隐含需要能力的性能特性的总体(BS4778),质量的概念,David Garvin:质量是一个复杂的多层面的概念,可以从以下5个方面来描述,这些不同的方面表达了一个整体的“质量”的概念。 从先验论的角度看,质量是可以识别出来,但不能明确定义的 从用户的角度看,质量是对目的的满足程度 从制造的角度看,质量是对规范的符合程度 从产品的角度看,质量是产品的内在特征 从基于价值的角度看,质量依赖于客户愿意付多少钱购买。,什么是软件质量?,IEEEStandard Glossary of Software Engineering Terminology: 质量是系统

3、、部件或过程满足 (1)明确需求的程度。 (2)客户或用户需要或期望的程度。,质量管理理论的发展过程,工匠自控,质量检查,1920,1940,质量控制,TQM,质量保证,1960,1970,软件质量管理的发展过程,发展 时期,程序 设计,程序 系统,年代,成品,开发组织 方式,开发技术特点,开发工具,质量管理 特征,软件 工程,至50 年代末,至70 年代初,至今,程序,软件,软件 产品,个体,项目设 计组、 软件作坊,软件机构 (软件 工厂),靠开发者 个人技巧,机器代码、 汇编语言,个人设计、个人使用、手工技巧、 无维护观念、无系统化方法,程序设计理论深入、模块化、自顶 向下,逐步求精,不

4、重视维护问题,高级语言、 操作系统、 数据管理 系统,靠少数人 协调把关,系统化、 规范化、 全员化,逐步产生与 各种方法相 应的工具、 开发环境,结构化设计理论和方法 面向对象方法、快速原型技术 。,软件质量框架模型,Boehm软件质量模型,软件质量模型多不胜数,Boehm(1976)构建了其中著名的一种。 分层特性 同时反映了用户的期望和硬件特性 Boehm认为:合格的软件是能够满足该软件涉及到的用户和程序员的需求的软件。即软件 作了用户要它做的事情 正确有效的使用了资源 易于学习和使用 具有好的设计、编码,并且易于测试和维护,软件质量模型,1979年McCall等人改进Boehm 质量模

5、型又提出了一种软件质量模型。模型包括质量要素(factor)、准则(criteria)和度量(metric)三层次。 McCall软件质量度量模型为软件质量管理奠定了基础,McCall质量度量模型框,面向管理观点的产品质量,决定产品质量的软件属性,定量化地度量软件属性,McCall 软件质量模型,James A. McCall 软件质量模型:,计算软件质量要素,软件质量要素Fj的值可用下式计算 其中: Mk是软件质量要素Fj对第k种评价准则的测量值,Cjk是相应的加权系数 McCall定义的评价准则多数都没有客观的测量方法,只能凭主观印象为评价准则定值。 McCall将评价准则分为0-10级。

6、 0级最低,10级最高。 Mk的取值是 0 ,0.1 ,0.2 , 1.0,McCall软件质量要素评价准则,加权系数Cjk满足Cjk1 其中 Cjk0 当质量要素Fj与k项评价准则无关时,Cjk=0 McCall评价准则项数 L=21,质量要素与评价准则 (1/2),质量要素与评价准则 (2/3),质量要素与评价准则 (3/3),ISO9126,提出的目的:处理软件质量的定义问题。 目前存在许多质量模型,如Boehm质量模型、McCall质量模型,但是缺乏公共的标准。如,可维护性可能指错误可以迅速的被定位和修改,也可以指软件能够很容易的被修改。 1991年ISO9126标准就是处理软件质量的

7、定义问题。这份13页的文档为制定进一步的标准奠定了基础。,ISO 9126质量模型,ISO 9126与Boehm模型的主要区别: ISO的层次结构是严格的 左边的特性与软件用户的观点有关,与内部开发人员无关,ISO9126质量模型,ISO9126也提供了使用这些质量特性的指南。 对于不同的产品,各种质量特性的重要程度是各不相同的。一旦软件产品的需求建立起来以后,就要进行下列步骤: 1、质量特性的度量的选择:ISO9126没有给出具体的方法 2、排序水平定义:质量度量的结果需要映射成等级以确定需求满足的程度。,3、评价准则定义 对每个特性进行评价后,需要对整个产品有一个综合的质量评价 ISO91

8、26没有给出具体的方法 推荐方法: 首先根据产品的特点确定强制性质量特性。如果产品在这些方面没有满足则不能采用。 对于那些不是强制性的质量特征,采用如下方法进行综合计算:,内容,软件质量的基本概念和模型 软件质量管理过程 软件质量体系 质量的度量 提高软件质量的途径,质量形成于产品或者服务的开发过程中,而不是事后的检查把关等。,质量管理,质量管理的对象 过程的质量 产品的质量,软件质量管理过程,软件项目的质量计划 软件质量保证 软件质量控制,质量计划,确定项目应达到的质量标准 决定如何满足质量标准的计划安排和方法,质量计划模板参照,项目概述 实施策略 项目组织 质量保证对象分析及选择 质量保证

9、任务划分 实施计划 资源计划 记录的收集、维护与保存,质量保证的概念,什么是质量保证,它是为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。 质量保证是面向消费者的活动,是为了使产品实现用户要求的功能,站在用户立场上来掌握产品质量的。 软件的质量保证就是向用户及社会提供满意的高质量的产品。,软件的质量保证活动也和一般的质量保证活动一样,是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。 软件质量保证的目标是以独立审查方式,从第三方的角度监控软件开发任务的执行,就软件项目是否遵循已制定的计划、标准和

10、规程,给开发人员和管理层提供反映产品和过程质量的信息和数据,提高项目透明度,同时辅助软件项目组取得高质量的软件产品。,质量保证(QA),质量保证的要点: 在项目进展过程中,定期对项目各个方面的表现进行评价; 通过评价来推测项目最后是否能够达到相关的质量指标; 通过质量评价来帮助项目相关的人建立对项目质量的信心。,软件质量保证的工作内容主要包括以下6类: 与SQA计划直接相关的工作 参与项目的阶段性评审和审计 对项目日常活动与规程的符合性进行检查 对配置管理工作的检查和审计 跟踪问题的解决情况 收集新方法,提供过程改进的依据,质量保证与质量控制,QA:Is to focus the proces

11、s. QC: Is to control the quality before delivery,P1,P2,P3,Product,QA,QC,QA,质量保证活动-审计( Audit ),审计(Audit) 是对过程或者产品的一次独立评估。将审核的主体与为该主体以前建立的一组规程和标准进行比较 目的是确保真正的遵循了这一个过程,产生了合适的文档和精确反映实际项目的报告。 可以预先规划的,也可以是临时决定的。,质量保证组,质量保证组独立于开发组,其主要活动: 验证软件正确性的测试活动充当客户代言人的角色; 参与软件开发各小组的质量审计(audit):提供产品和过程的可视性审计报告,软件项目中常用

12、的质量保证活动,审计(Audit) 项目执行过程评审(审计):对项目的执行过程进行检查,确保所有活动遵循规程进行。 项目产品审计:对项目过程中的工作产品进行质量审查的过程。 记录不符合项 编写产品审计报告,软件项目中常用的质量控制活动,静态分析 动态测试(Test) 缺陷追踪,静态分析,定义: 不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态测试技术。 方法: 走查:WalkThrough 审查:Inspection 评审:Review,Michael Fagan IBM(1976),静态分析的主要对象,软件需求规格 软件设计规格 测试计划 用户手册

13、源代码 。,软件测试,单元测试 集成测试 系统测试 压力测试 接受测试 。,软件测试目的,(1) 测试是程序的执行过程,目的在于发现错误; (2) 一个好的测试用例在于能发现至今未发现的错误; (3) 一个成功的测试是发现了至今未发现的错误的测试。,内容,软件质量的基本概念和模型 软件质量管理过程 软件质量体系 质量的度量 提高软件质量的途径,质量体系,质量体系,为实施质量管理所需的组织结构、程序、过程和资源。,质量体系与质量计划的区别,质量体系是企业长期遵循和需要重复实施的文件,具有较强的标准性质 质量计划是一次性实施的,项目结束,质量计划的有效性就结束。,一个质量体系例子,ISO9000是

14、国际标准化组织提出的企业质量体系标准,它由5个部分组成,着眼于质量管理和质量保证。这是一个通用的质量标准,适合各类制造业和服务业,要求认证的企业有文档记录并实现符合标准规定的20个质量要素,证明有提供满足客户要求的产品和服务的能力。该标准只是为企业建立良好的质量体系提供指导原则,但本身并不涉及相关的实现技术。 GB/T19000-2000:等同采用ISO9000:2000标准,12.4 软件质量体系,ISO9000:2000标准体系,ISO9000:2000版,以过程为基础的质量体系管理模式,图示解释: 增值活动 信息流,CMM的结构,CMM,软件过程能力成熟度等级 初始级 可重复级 已定义级

15、 已管理级:定量地控制项目的过程性能 优化级:持续改进,CMM,内容,软件质量的基本概念和模型 软件质量管理过程 软件质量体系 质量的度量 提高软件质量的途径,软件质量度量,软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。 度量取向是软件开发诸多事项的横断面,包括顾客满意度度量、质量度量、项目度量、以及品牌资产度量、知识产权价值度量等。 其方法是测试、审核、调查; 其工具是统计、图表、数字、模型; 其标准是量化的指标。,软件开发主体及其度量内容,软件度量的分类,常用的度量技术,GQM(Goal目标-Questio

16、n问题-Metric度量) PSM(Practical Software Measurement:实用软件测量),GQM:目标-问题-度量,GQM(Goal-Question-Measure):基于目标驱动的度量技术 根据用途、愿景和环境的需要建立具体的目标(Goal) ; 确定与达到目标有关的问题(Question) ,这些问题应是可计量的; 针对每一个问题,确定一个度量(Metric) ,并根据度量和搜集到的数据(以及搜集数据的方式),推理出该问题的客观答案。,GQM:目标-问题-度量,目标确定编程语言L的效果,问题1谁使用编程语言L?,问题2编程语言L的代码质量如何?,问题3编程语言L的

17、代码生产率如何?,度量1具有n年编程经验的开发者的百分比,度量2每千行代码中的缺陷数,度量3每月编写的代码行数,PSM,美国国防部赞助的PSM组织对许多软件企业的度量实践进行总结而得到的一种具有很强的可操作性的方法,是一种信息驱动的度量体系建立方法。 基于经典的“Plan Do Check Act” 管理方式. 其包括4 个基本活动: 计划度量, 执行度量, 评价度量, 建立和维护承诺.,PDCA循环,确定改进时机,拟出需解决的问题或过程 选择问题 描述当前过程 确定问题可能原因 找出问题起因 制定行动计划,实施已改进过程,并按计划进行。,评审评价变动结果,确定过程变动性能。,分析并按推荐意见

18、作出变动,将经验和教训制订成标准、形成制度。,度量过程模型,评价度量,执行度量,计划度量,建立和维护承诺,度量计划,新问题,分析度量,改进措施,内容,软件质量的基本概念和模型 软件质量管理过程 软件质量体系 质量的度量 提高软件质量的途径,提高软件质量的途径,增加可见性 程序员彼此阅读对方的代码 过程结构 检查中间环节:将错误消灭在萌芽状态 提高软件质量的一些具体技术 审查 形式化方法 质量循环 GQM方法,提高软件质量的途径,Fangan审查法 对所有主要的交付物都进行检查 所有的错误都加以注意,而不仅是逻辑和功能的错误 检查可以由在所有层次的人员进行检查 检查采用预定义的步骤进行 检查会议不超过两个小时 检查由一个经过训练的“monderator”来领导 其它参与者也有定义的角色,例如一个人员担任记录员,另一个担任阅读者 采用Checklist来帮助检查过程的实施,提高软件质量的途径,软件质量循环 尽管测试方法和Fangan检查能够帮助发现问题,但是相同类型的错误还是一犯再犯。 通过发现错

温馨提示

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

评论

0/150

提交评论