石河子大学信息科学与技术学院1第五章软件项目质量管理第五章软件项目质量管理石河子大学信息科学与技术学院2本章内容提要本章内容提要软件质量管理的基本概念软件质量控制ISO9000系列和CMMI缺陷跟踪缺陷预防软件质量的常用度量软件项目质量管理计划石河子大学信息科学与技术学院3第一节软件质量管理的基本概念第一节软件质量管理的基本概念软件质量是指软件与明确的和隐含的定义的需求相一致的程度。用户需求是衡量软件质量的基础。除满足明确定义的需求外,还要满足隐含的需求。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准以及所有专业开发的软件都应具有的隐含特征的程度。石河子大学信息科学与技术学院4软件质量包含如下三个方面的内容:软件需求是度量软件质量的基础,不符合需求的软件就不具备软件质量。定义了一些开发准则来指导软件人员用工程化的方法开发软件,如果不遵循这些开发准则,软件质量就得不到保证。往往会有一些隐含的需求没有明确地提出来。例如,软件应该具有良好的可维护性。石河子大学信息科学与技术学院5软件质量的重要性软件质量的重要性软件项目的三大目标:质量进度费用石河子大学信息科学与技术学院6软件质量问题可能导致经济损失甚至灾难性的后果。质量是软件产品和软件组织的生命线。质量问题会增加开发和维护软件产品的成本。软件质量的重要性软件质量的重要性石河子大学信息科学与技术学院7软件质量属性软件质量属性石河子大学信息科学与技术学院8软件质量属性软件质量属性可靠性可扩展性安全性可移植性兼容性软件质量功能非功能易用性正确性健壮性清晰性性能软件质量属性可分为两大类:功能性与非功能性,如右图所示石河子大学信息科学与技术学院9软件质量模型软件质量模型可靠性可维护性软件质量功能可用性效率可移植性软件质量模型是指提供声明质量需求和评价质量基础的特性以及特性之间关系的集合。软件质量模型如右图所示(P75)石河子大学信息科学与技术学院10软件质量的形成软件质量的形成软件的质量形成于软件的整个开发过程中,而不是事后的检查(如测试)。20世纪80年代起,质量管理逐步从单一的关注产品,转移到关注生产好产品的过程上,并且将过程的作用扩大到了组织运行的所有领域。石河子大学信息科学与技术学院11质量产生于过程质量产生于过程要真正地提高软件质量,必须有一个成熟和稳定的软件过程。结果可预测对现行执行可监测质量得到保证实施的过程性能稳定过程的上下控制界石河子大学信息科学与技术学院12特殊原因造成过程性能不稳定。根除特殊原因,使过程性能稳定,防止质量问题的出现。质量产生于过程质量产生于过程造成不稳定的特殊原因石河子大学信息科学与技术学院13质量成本(质量成本(CoQCoQ))质量成本是为了达到产品或服务的质量而付出的所有努力的总成本,包括三部分:预防成本:为防止将缺陷引入软件而进行的预防工作所消耗的费用。评价成本:检查软件是否包含缺陷的工作所消耗的费用。失效成本:修复缺陷工作所消耗的成本。PAF(Prevention/Appraisal/Failure)成本模型石河子大学信息科学与技术学院14质量成本(质量成本(CoQCoQ))预防评估失效培训审查废品计划测试返工过程研究和改进审计修复供应商调查监控RegressionTest咨询度量缺陷分析获得资格验证服务分析退货确认投诉处理和解决石河子大学信息科学与技术学院15质量成本(质量成本(CoQCoQ))WhenDefectisDetectedTypicalCostofCorrectionUserRequirements$100-$1,000Coding/UnitTesting$1,000ormoreSystemTesting$7,000-$8,000AcceptanceTesting$1,000-$100,000AfterImplementationUptomillionsofdollars在项目早期预防和检测缺陷比在项目晚期检测和排除缺陷更有效、更节省成本。石河子大学信息科学与技术学院16第二节软件质量控制第二节软件质量控制质量控制(QualityControl,QC)是确定项目结果与质量标准是否相符,并及时纠正产品缺陷的过程。质量控制的主要手段是验证与确认(V&V)验证(Verification):是否正确地构造了产品?以开发者...