《软件质量保证》由会员分享,可在线阅读,更多相关《软件质量保证(23页珍藏版)》请在金锄头文库上搜索。
1、软件质量保证软件质量保证本章导读本章导读 质量保证一直是质量保证一直是质量保证一直是质量保证一直是CMMICMMI和和和和ISO9000IBMISO9000IBM 通常,人们将通常,人们将通常,人们将通常,人们将“ “质量标准、配置管理、测试测量质量标准、配置管理、测试测量质量标准、配置管理、测试测量质量标准、配置管理、测试测量” ”,作为质量管理的三大支柱,而将,作为质量管理的三大支柱,而将,作为质量管理的三大支柱,而将,作为质量管理的三大支柱,而将“ “SQASQASQASQA进度、进度、进度、进度、SQASQA评审和审计评审和审计评审和审计评审和审计” ”,作为,作为,作为,作为质量管理
2、三大要素。质量管理三大要素。质量管理三大要素。质量管理三大要素。 本章先论述软件质量保证的基本概念和多种方法,本章先论述软件质量保证的基本概念和多种方法,本章先论述软件质量保证的基本概念和多种方法,本章先论述软件质量保证的基本概念和多种方法,后介绍后介绍后介绍后介绍ITIT企业软件质量保证文档书写的参考指南。企业软件质量保证文档书写的参考指南。企业软件质量保证文档书写的参考指南。企业软件质量保证文档书写的参考指南。 1 1要求要求要求要求具体内容具体内容具体内容具体内容了解了解了解了解1) 1) 软软软软件件件件质质质质量及其相关概念的定量及其相关概念的定量及其相关概念的定量及其相关概念的定义
3、义义义2) 2) 质质质质量管理与控制的三个量管理与控制的三个量管理与控制的三个量管理与控制的三个层层层层次次次次3) 3) 传统软传统软传统软传统软件工程中件工程中件工程中件工程中质质质质量管理的弱点量管理的弱点量管理的弱点量管理的弱点4) 4) 同行同行同行同行评审评审评审评审5) 5) 软软软软件件件件质质质质量保量保量保量保证证证证管理文档管理文档管理文档管理文档理解理解理解理解1) 1) 从四个方面来改从四个方面来改从四个方面来改从四个方面来改进软进软进软进软件件件件质质质质量量量量2) CMM/CMMI2) CMM/CMMI改改改改进软进软进软进软件件件件质质质质量的方法量的方法量
4、的方法量的方法3) 3) 软软软软件件件件组织组织组织组织内部的内部的内部的内部的“ “七化原七化原七化原七化原则则则则” ”和和和和“ “五五五五报报报报一例制度一例制度一例制度一例制度” ”关注关注关注关注1) CMM21) CMM2的的的的“ “软软软软件件件件质质质质量保量保量保量保证证证证SQA”SQA”过过过过程程程程2) 2) 软软软软件件件件质质质质量保量保量保量保证计证计证计证计划划划划的的的的编编编编写方法写方法写方法写方法2 214.1 软件质量基本概念软件质量基本概念 1. 软件质量及相关概念的定义软件质量及相关概念的定义 【定义定义定义定义14-114-1】所谓软件质
5、量,就是供方提供的软件所谓软件质量,就是供方提供的软件所谓软件质量,就是供方提供的软件所谓软件质量,就是供方提供的软件产品满足用户产品满足用户产品满足用户产品满足用户明确和隐含明确和隐含明确和隐含明确和隐含需求的能力特性的需求的能力特性的需求的能力特性的需求的能力特性的总和总和总和总和。 【定义定义定义定义14-214-2】所谓软件产品,就是供方交付给用户所谓软件产品,就是供方交付给用户所谓软件产品,就是供方交付给用户所谓软件产品,就是供方交付给用户使用的一套计算机程序、数据以及相关文档。使用的一套计算机程序、数据以及相关文档。使用的一套计算机程序、数据以及相关文档。使用的一套计算机程序、数据
6、以及相关文档。 【定义定义定义定义14-314-3】所谓供方,就是向用户提供产品的组所谓供方,就是向用户提供产品的组所谓供方,就是向用户提供产品的组所谓供方,就是向用户提供产品的组织。供方有时又称承包方。织。供方有时又称承包方。织。供方有时又称承包方。织。供方有时又称承包方。 通过上述定义,知道了软件质量是什么,以及意味通过上述定义,知道了软件质量是什么,以及意味通过上述定义,知道了软件质量是什么,以及意味通过上述定义,知道了软件质量是什么,以及意味着什么。在此之前,可能不知道这么多概念,只知道好着什么。在此之前,可能不知道这么多概念,只知道好着什么。在此之前,可能不知道这么多概念,只知道好着
7、什么。在此之前,可能不知道这么多概念,只知道好的软件的特点是功能强、性能优、易使用、易维护、可的软件的特点是功能强、性能优、易使用、易维护、可的软件的特点是功能强、性能优、易使用、易维护、可的软件的特点是功能强、性能优、易使用、易维护、可移植、可重用。移植、可重用。移植、可重用。移植、可重用。 3 3什么样的软件是质量好的软件?什么样的软件是质量好的软件? 事实上,不同的人对软件质量有不同的评价和看法:事实上,不同的人对软件质量有不同的评价和看法:事实上,不同的人对软件质量有不同的评价和看法:事实上,不同的人对软件质量有不同的评价和看法: (1 1 1 1)用户用户用户用户认为,功能、性能、接
8、口满足了需求就是好软件。认为,功能、性能、接口满足了需求就是好软件。认为,功能、性能、接口满足了需求就是好软件。认为,功能、性能、接口满足了需求就是好软件。 (2 2 2 2)营销营销营销营销人员认为,客户群大且能卖个好价钱就是好软件。人员认为,客户群大且能卖个好价钱就是好软件。人员认为,客户群大且能卖个好价钱就是好软件。人员认为,客户群大且能卖个好价钱就是好软件。 (3 3 3 3)管理管理管理管理者认为,软件开发的进度、成本、质量(功能者认为,软件开发的进度、成本、质量(功能者认为,软件开发的进度、成本、质量(功能者认为,软件开发的进度、成本、质量(功能+ + + +性性性性能能能能+ +
9、 + +接口)在计划的控制范围内就是好软件。接口)在计划的控制范围内就是好软件。接口)在计划的控制范围内就是好软件。接口)在计划的控制范围内就是好软件。 (4 4 4 4)开发开发开发开发者认为,易维护、可移植、可重用就是好软件。者认为,易维护、可移植、可重用就是好软件。者认为,易维护、可移植、可重用就是好软件。者认为,易维护、可移植、可重用就是好软件。 上述众多观点不无道理,但都是从各自的利益出发的。应当上述众多观点不无道理,但都是从各自的利益出发的。应当上述众多观点不无道理,但都是从各自的利益出发的。应当上述众多观点不无道理,但都是从各自的利益出发的。应当说上述评价和看法的说上述评价和看法
10、的说上述评价和看法的说上述评价和看法的汇总汇总汇总汇总,才是货真价实的好软件。,才是货真价实的好软件。,才是货真价实的好软件。,才是货真价实的好软件。4 4 2. 质量管理与控制的三个层次质量管理与控制的三个层次 (1) (1) 事先的事先的事先的事先的预防预防预防预防措施:制订软件过程开发措施:制订软件过程开发措施:制订软件过程开发措施:制订软件过程开发规范规范规范规范和软件和软件和软件和软件产品质量产品质量产品质量产品质量标准标准标准标准,对软件开发和管理人员进行这方面知识,对软件开发和管理人员进行这方面知识,对软件开发和管理人员进行这方面知识,对软件开发和管理人员进行这方面知识和技能的定
11、向培训;和技能的定向培训;和技能的定向培训;和技能的定向培训;( (规范是对行为的约束、标准是对规范是对行为的约束、标准是对规范是对行为的约束、标准是对规范是对行为的约束、标准是对产品的约束、产品的约束、产品的约束、产品的约束、规程规程规程规程是对操作的约束是对操作的约束是对操作的约束是对操作的约束) ) (2) (2) 事中的事中的事中的事中的跟踪监控跟踪监控跟踪监控跟踪监控措施:按照措施:按照措施:按照措施:按照CMM/CMMICMM/CMMI或或或或ISO9000ISO9000的过程管理思想,对软件过程和软件产品的质的过程管理思想,对软件过程和软件产品的质的过程管理思想,对软件过程和软件
12、产品的质的过程管理思想,对软件过程和软件产品的质量控制提供可视性管理;量控制提供可视性管理;量控制提供可视性管理;量控制提供可视性管理; (3) (3) 事后的事后的事后的事后的纠错纠错纠错纠错措施:对软件工作产品和软件产品加措施:对软件工作产品和软件产品加措施:对软件工作产品和软件产品加措施:对软件工作产品和软件产品加强评审和检测。强评审和检测。强评审和检测。强评审和检测。评审评审评审评审是在宏观上框住您,在微观上挑剔是在宏观上框住您,在微观上挑剔是在宏观上框住您,在微观上挑剔是在宏观上框住您,在微观上挑剔您,找出不符合项。您,找出不符合项。您,找出不符合项。您,找出不符合项。检测检测检测检
13、测是为了发现是为了发现是为了发现是为了发现BugBug,改正错误。,改正错误。,改正错误。,改正错误。 结论:软件质量保证措施,应以提前预防和实时跟结论:软件质量保证措施,应以提前预防和实时跟结论:软件质量保证措施,应以提前预防和实时跟结论:软件质量保证措施,应以提前预防和实时跟踪踪踪踪为主为主为主为主,以事后测试和纠错,以事后测试和纠错,以事后测试和纠错,以事后测试和纠错为辅为辅为辅为辅。 5 5 3. 传统软件工程中质量管理的弱点传统软件工程中质量管理的弱点 在传统在传统在传统在传统软件工程软件工程软件工程软件工程中,由于没有完全吸收中,由于没有完全吸收中,由于没有完全吸收中,由于没有完全
14、吸收CMMICMMI和和和和ISO9000ISO9000的质量管理思想,因而对软件质量的定义是较的质量管理思想,因而对软件质量的定义是较的质量管理思想,因而对软件质量的定义是较的质量管理思想,因而对软件质量的定义是较模糊的,如表模糊的,如表模糊的,如表模糊的,如表14-214-2所示。所示。所示。所示。 按照这些定义,对软件阶段产品和软件最终产品的按照这些定义,对软件阶段产品和软件最终产品的按照这些定义,对软件阶段产品和软件最终产品的按照这些定义,对软件阶段产品和软件最终产品的测试、评审和评价,也是较模糊的。因为它主要不是根测试、评审和评价,也是较模糊的。因为它主要不是根测试、评审和评价,也是
15、较模糊的。因为它主要不是根测试、评审和评价,也是较模糊的。因为它主要不是根据据据据用户需求报告用户需求报告用户需求报告用户需求报告中,对中,对中,对中,对“ “功能、性能、接口功能、性能、接口功能、性能、接口功能、性能、接口” ”的具的具的具的具体要求,记录并跟踪体要求,记录并跟踪体要求,记录并跟踪体要求,记录并跟踪“ “不符合项不符合项不符合项不符合项” ”是否为零,而是考虑是否为零,而是考虑是否为零,而是考虑是否为零,而是考虑“ “正确性、健壮性、完整性、可用性、可理解性、可移正确性、健壮性、完整性、可用性、可理解性、可移正确性、健壮性、完整性、可用性、可理解性、可移正确性、健壮性、完整性
16、、可用性、可理解性、可移植性、灵活性植性、灵活性植性、灵活性植性、灵活性” ”等抽象指标,往往使测试人员和评审人等抽象指标,往往使测试人员和评审人等抽象指标,往往使测试人员和评审人等抽象指标,往往使测试人员和评审人员感到有点无所事从。员感到有点无所事从。员感到有点无所事从。员感到有点无所事从。 6 6序号序号序号序号质质质质量因素量因素量因素量因素质质质质量因素的定量因素的定量因素的定量因素的定义义义义1 1正确性正确性正确性正确性系系系系统满统满统满统满足足足足规规规规格格格格说说说说明明明明书书书书和用和用和用和用户户户户目目目目标标标标的程度。的程度。的程度。的程度。2 2健壮性健壮性健
17、壮性健壮性在意外在意外在意外在意外环环环环境或境或境或境或错误错误错误错误操作下,系操作下,系操作下,系操作下,系统统统统做出适当响做出适当响做出适当响做出适当响应应应应的的的的程度。程度。程度。程度。3 3完整性完整性完整性完整性对对对对未未未未经经经经授授授授权权权权的人使用系的人使用系的人使用系的人使用系统统统统的企的企的企的企图图图图,系,系,系,系统统统统能能能能够够够够控制控制控制控制的程度。的程度。的程度。的程度。4 4可用性可用性可用性可用性系系系系统统统统完成完成完成完成预预预预定的功能定的功能定的功能定的功能时时时时,令人,令人,令人,令人满满满满意的程度。意的程度。意的程
18、度。意的程度。5 5可理解性可理解性可理解性可理解性 系系系系统统统统的理解和使用的容易程度。的理解和使用的容易程度。的理解和使用的容易程度。的理解和使用的容易程度。6 6可可可可维维维维修性修性修性修性 诊诊诊诊断和改正断和改正断和改正断和改正发现发现发现发现的的的的错误错误错误错误所需的工作量大小。所需的工作量大小。所需的工作量大小。所需的工作量大小。7 7灵活性灵活性灵活性灵活性修改或改修改或改修改或改修改或改进进进进系系系系统统统统,需要的工作量多少。,需要的工作量多少。,需要的工作量多少。,需要的工作量多少。8 8可可可可测试测试测试测试性性性性 系系系系统统统统容易容易容易容易测试
19、测试测试测试的程度。的程度。的程度。的程度。9 9可移植性可移植性可移植性可移植性 移植到另一种平台中运行所需移植到另一种平台中运行所需移植到另一种平台中运行所需移植到另一种平台中运行所需资资资资源的多少。源的多少。源的多少。源的多少。1010可再用性可再用性可再用性可再用性 软软软软件系件系件系件系统统统统的可复用程度。的可复用程度。的可复用程度。的可复用程度。1111互运行性互运行性互运行性互运行性 与其他系与其他系与其他系与其他系统统统统集成,所需的工作量多少。集成,所需的工作量多少。集成,所需的工作量多少。集成,所需的工作量多少。7 714.2 软件质量保证方法软件质量保证方法 1.
20、从四个方面来改进软件质量从四个方面来改进软件质量 (1) (1) 力图从编程语言上实现突破。已经从机器语言、力图从编程语言上实现突破。已经从机器语言、力图从编程语言上实现突破。已经从机器语言、力图从编程语言上实现突破。已经从机器语言、汇编语言、面向过程的语言、面向数据的语言,发展到汇编语言、面向过程的语言、面向数据的语言,发展到汇编语言、面向过程的语言、面向数据的语言,发展到汇编语言、面向过程的语言、面向数据的语言,发展到面向对象、面向构架的语言。面向对象、面向构架的语言。面向对象、面向构架的语言。面向对象、面向构架的语言。 (2) (2) 力图从力图从力图从力图从CASECASE工具上实现突
21、破。这些工具有:工具上实现突破。这些工具有:工具上实现突破。这些工具有:工具上实现突破。这些工具有:OracleDesignerOracleDesigner,PowerDesignerPowerDesigner,ERwinERwin,RoseRose,San FranciscoSan Francisco,北大青鸟系统,分行业的业务基础平,北大青鸟系统,分行业的业务基础平,北大青鸟系统,分行业的业务基础平,北大青鸟系统,分行业的业务基础平台。台。台。台。 (3) (3) 力图从软件过程管上实现突破。如力图从软件过程管上实现突破。如力图从软件过程管上实现突破。如力图从软件过程管上实现突破。如CMM
22、ICMMI,ISO9000ISO9000,微软企业文化,微软企业文化,微软企业文化,微软企业文化,IBMIBM企业文化。企业文化。企业文化。企业文化。 (4) (4) 力图从测试与纠错上实现突破。先后出现了各力图从测试与纠错上实现突破。先后出现了各力图从测试与纠错上实现突破。先后出现了各力图从测试与纠错上实现突破。先后出现了各种测试方法、工具和纠错手段。种测试方法、工具和纠错手段。种测试方法、工具和纠错手段。种测试方法、工具和纠错手段。8 8 2. CMM改进软件质量的方法改进软件质量的方法 CMMCMM认为:它的认为:它的认为:它的认为:它的1818个关键过程域,每一个都跟质量个关键过程域,
23、每一个都跟质量个关键过程域,每一个都跟质量个关键过程域,每一个都跟质量管理有关,质量管理体现在每一个管理有关,质量管理体现在每一个管理有关,质量管理体现在每一个管理有关,质量管理体现在每一个KPAKPA的验证之中。当的验证之中。当的验证之中。当的验证之中。当前,针对软件质量进行保证的问题,最有效的办法还是前,针对软件质量进行保证的问题,最有效的办法还是前,针对软件质量进行保证的问题,最有效的办法还是前,针对软件质量进行保证的问题,最有效的办法还是下面五个方法的汇集:下面五个方法的汇集:下面五个方法的汇集:下面五个方法的汇集: (1) (1) 面向面向面向面向CMM2CMM2的的的的KPA“KP
24、A“软件质量保证软件质量保证软件质量保证软件质量保证” ”(SQA(SQA:Software Quality Assurance)Software Quality Assurance)方法。方法。方法。方法。 (2) (2) 面向面向面向面向CMM3CMM3的的的的KPA“KPA“同行评审同行评审同行评审同行评审” ”(PR(PR:Peer Peer Reviews)Reviews)方法。方法。方法。方法。 (3) (3) 面向面向面向面向CMM4CMM4的的的的KPA“KPA“软件质量管理软件质量管理软件质量管理软件质量管理” ”(SQM(SQM:Software Quality Manag
25、ement)Software Quality Management)方法。方法。方法。方法。 (4) (4) 面向面向面向面向CMM5CMM5的的的的KPA“KPA“缺陷预防缺陷预防缺陷预防缺陷预防” ”(DP(DP:Defect Defect Prevention)Prevention)方法。方法。方法。方法。 (5) (5) 软件质量保证的其他措施。软件质量保证的其他措施。软件质量保证的其他措施。软件质量保证的其他措施。9 9 3. CMM2的的“软件质量保证软件质量保证SQA”过程过程 (1) (1) 首先,通过监控软件的开发过程,来保证产品的首先,通过监控软件的开发过程,来保证产品的首
26、先,通过监控软件的开发过程,来保证产品的首先,通过监控软件的开发过程,来保证产品的质量;质量;质量;质量; (2) (2) 其次,保证软件产品及软件开发过程,符合相应其次,保证软件产品及软件开发过程,符合相应其次,保证软件产品及软件开发过程,符合相应其次,保证软件产品及软件开发过程,符合相应的标准与规程;的标准与规程;的标准与规程;的标准与规程; (3) (3) 最后,保证软件产品、软件过程中存在的不符合最后,保证软件产品、软件过程中存在的不符合最后,保证软件产品、软件过程中存在的不符合最后,保证软件产品、软件过程中存在的不符合项问题得到处理,必要时将问题反映给高级管理者。项问题得到处理,必要
27、时将问题反映给高级管理者。项问题得到处理,必要时将问题反映给高级管理者。项问题得到处理,必要时将问题反映给高级管理者。 结合这三项内容,结合这三项内容,结合这三项内容,结合这三项内容,CMM2CMM2的软件质量保证手段主要的软件质量保证手段主要的软件质量保证手段主要的软件质量保证手段主要有三项:有三项:有三项:有三项:“ “审计、评审和处理不符合项审计、评审和处理不符合项审计、评审和处理不符合项审计、评审和处理不符合项” ”。审计是检查。审计是检查。审计是检查。审计是检查做没做,做了多少,以及按什么标准和规范做的。评审做没做,做了多少,以及按什么标准和规范做的。评审做没做,做了多少,以及按什么
28、标准和规范做的。评审做没做,做了多少,以及按什么标准和规范做的。评审是检查干得好不好,是否还存在不符合项。处理不符合是检查干得好不好,是否还存在不符合项。处理不符合是检查干得好不好,是否还存在不符合项。处理不符合是检查干得好不好,是否还存在不符合项。处理不符合项是跟踪纠错过程,直至改正为止。项是跟踪纠错过程,直至改正为止。项是跟踪纠错过程,直至改正为止。项是跟踪纠错过程,直至改正为止。 1010 4. CMM3的软件质量保证手段的软件质量保证手段“同行评审同行评审” 俗话说,隔行如隔山,所以外行不能参与评审。同俗话说,隔行如隔山,所以外行不能参与评审。同俗话说,隔行如隔山,所以外行不能参与评审
29、。同俗话说,隔行如隔山,所以外行不能参与评审。同行评审是指同行进行软件产品验证的活动,其目的是为行评审是指同行进行软件产品验证的活动,其目的是为行评审是指同行进行软件产品验证的活动,其目的是为行评审是指同行进行软件产品验证的活动,其目的是为了及早和高效地从软件工作产品中识别并消除缺陷。与了及早和高效地从软件工作产品中识别并消除缺陷。与了及早和高效地从软件工作产品中识别并消除缺陷。与了及早和高效地从软件工作产品中识别并消除缺陷。与技术评审不同,同行评审的对象一般是部分软件工作产技术评审不同,同行评审的对象一般是部分软件工作产技术评审不同,同行评审的对象一般是部分软件工作产技术评审不同,同行评审的
30、对象一般是部分软件工作产品,重点是发现软件工作产品中的缺陷。品,重点是发现软件工作产品中的缺陷。品,重点是发现软件工作产品中的缺陷。品,重点是发现软件工作产品中的缺陷。 所谓同行,是指和开发者在被评审的软件工作产品所谓同行,是指和开发者在被评审的软件工作产品所谓同行,是指和开发者在被评审的软件工作产品所谓同行,是指和开发者在被评审的软件工作产品上有相同的开发经验和知识的人员。一般来讲,不建议上有相同的开发经验和知识的人员。一般来讲,不建议上有相同的开发经验和知识的人员。一般来讲,不建议上有相同的开发经验和知识的人员。一般来讲,不建议管理者作为同行,参与同行评审,也不应使用同行评审管理者作为同行
31、,参与同行评审,也不应使用同行评审管理者作为同行,参与同行评审,也不应使用同行评审管理者作为同行,参与同行评审,也不应使用同行评审的结果去评价产品开发者的功过是非。的结果去评价产品开发者的功过是非。的结果去评价产品开发者的功过是非。的结果去评价产品开发者的功过是非。 有人会说:同行是有人会说:同行是有人会说:同行是有人会说:同行是“ “冤家冤家冤家冤家” ”。没关系,因为同行评。没关系,因为同行评。没关系,因为同行评。没关系,因为同行评审是挑剔,是找缺陷,审是挑剔,是找缺陷,审是挑剔,是找缺陷,审是挑剔,是找缺陷,“ “冤家冤家冤家冤家” ”更好。更好。更好。更好。 1111 5. CMM4的
32、软件质量保证手段的软件质量保证手段“软件质量管理软件质量管理” CMM4CMM4的的的的“ “软件质量管理软件质量管理软件质量管理软件质量管理” ”目的是:建立对项目的目的是:建立对项目的目的是:建立对项目的目的是:建立对项目的软件产品质量的定量了解,以便实现特定的质量目标,软件产品质量的定量了解,以便实现特定的质量目标,软件产品质量的定量了解,以便实现特定的质量目标,软件产品质量的定量了解,以便实现特定的质量目标,例如在流程、时间、功能、性能、接口、界面上的特定例如在流程、时间、功能、性能、接口、界面上的特定例如在流程、时间、功能、性能、接口、界面上的特定例如在流程、时间、功能、性能、接口、
33、界面上的特定需求目标。为此,要对软件工作产品,实施内容丰富的需求目标。为此,要对软件工作产品,实施内容丰富的需求目标。为此,要对软件工作产品,实施内容丰富的需求目标。为此,要对软件工作产品,实施内容丰富的特定测量计划,进行质量的定量管理。特定测量计划,进行质量的定量管理。特定测量计划,进行质量的定量管理。特定测量计划,进行质量的定量管理。 6. CMM5的软件质量保证手段的软件质量保证手段“缺陷预防缺陷预防” CMM5CMM5的的的的“ “缺陷预防缺陷预防缺陷预防缺陷预防” ”目的是:鉴别缺陷的原因,目的是:鉴别缺陷的原因,目的是:鉴别缺陷的原因,目的是:鉴别缺陷的原因,并防止它们再次发生。具
34、体做法有:建立项目缺陷分析并防止它们再次发生。具体做法有:建立项目缺陷分析并防止它们再次发生。具体做法有:建立项目缺陷分析并防止它们再次发生。具体做法有:建立项目缺陷分析的工程数据库,字段有:的工程数据库,字段有:的工程数据库,字段有:的工程数据库,字段有:“ “缺陷编号、缺陷名称、缺陷缺陷编号、缺陷名称、缺陷缺陷编号、缺陷名称、缺陷缺陷编号、缺陷名称、缺陷类型、缺陷部位、缺陷原因、影响范围、发生频率、发类型、缺陷部位、缺陷原因、影响范围、发生频率、发类型、缺陷部位、缺陷原因、影响范围、发生频率、发类型、缺陷部位、缺陷原因、影响范围、发生频率、发生时间、所属项目生时间、所属项目生时间、所属项目
35、生时间、所属项目” ”等。将分析结果,尤其是带普遍价等。将分析结果,尤其是带普遍价等。将分析结果,尤其是带普遍价等。将分析结果,尤其是带普遍价值的过程更改,通知组织中的其他软件项目组。值的过程更改,通知组织中的其他软件项目组。值的过程更改,通知组织中的其他软件项目组。值的过程更改,通知组织中的其他软件项目组。 1212 7CMMI软件质量保证的措施软件质量保证的措施 CMMI更关注软件质量管理与控制。在更关注软件质量管理与控制。在CMMI的的24个过程域中,直接与质量管理有关的过程域个过程域中,直接与质量管理有关的过程域有有9个:个: (1)需求管理过程域需求管理过程域,目的就是管理项目的产,
36、目的就是管理项目的产品和产品构件的需求,标识需求与项目计划、工品和产品构件的需求,标识需求与项目计划、工作产品之间的不一致性,并解决不一致性问题。作产品之间的不一致性,并解决不一致性问题。 (2)度量和分析过程域度量和分析过程域,目的就是开发和维持,目的就是开发和维持用于支持管理信息需要的度量能力。用于支持管理信息需要的度量能力。1313CMMI软件质量保证的措施软件质量保证的措施(续续) (3) (3)项目计划过程项目计划过程项目计划过程项目计划过程,包括定义度量和度量的内容。度,包括定义度量和度量的内容。度,包括定义度量和度量的内容。度,包括定义度量和度量的内容。度量就是测量,分析就是统计
37、与决策。量就是测量,分析就是统计与决策。量就是测量,分析就是统计与决策。量就是测量,分析就是统计与决策。 (4)(4)过程和产品质量保证过程域过程和产品质量保证过程域过程和产品质量保证过程域过程和产品质量保证过程域,目的就是对过程及,目的就是对过程及,目的就是对过程及,目的就是对过程及相关工作产品进行客观评价,提供给项目成员和管理部相关工作产品进行客观评价,提供给项目成员和管理部相关工作产品进行客观评价,提供给项目成员和管理部相关工作产品进行客观评价,提供给项目成员和管理部门。强调同行评审与审计,交流和解决不一致问题。门。强调同行评审与审计,交流和解决不一致问题。门。强调同行评审与审计,交流和
38、解决不一致问题。门。强调同行评审与审计,交流和解决不一致问题。 (5)(5)验证过程域验证过程域验证过程域验证过程域,目的就是保证所选的工作产品符合,目的就是保证所选的工作产品符合,目的就是保证所选的工作产品符合,目的就是保证所选的工作产品符合特定的需求。验证是个增量过程,它从需求验证开始,特定的需求。验证是个增量过程,它从需求验证开始,特定的需求。验证是个增量过程,它从需求验证开始,特定的需求。验证是个增量过程,它从需求验证开始,经历工作产品的验证,直到最后完整产品的验证。经历工作产品的验证,直到最后完整产品的验证。经历工作产品的验证,直到最后完整产品的验证。经历工作产品的验证,直到最后完整
39、产品的验证。 (6)(6)确认过程域确认过程域确认过程域确认过程域,目的就是证明工作产品和产品构件,目的就是证明工作产品和产品构件,目的就是证明工作产品和产品构件,目的就是证明工作产品和产品构件,当它们处于其计划的环境中时,能完成其计划的用途。当它们处于其计划的环境中时,能完成其计划的用途。当它们处于其计划的环境中时,能完成其计划的用途。当它们处于其计划的环境中时,能完成其计划的用途。1414CMMI软件质量保证的措施软件质量保证的措施(续续) (7) (7)组织级过程性能过程域组织级过程性能过程域组织级过程性能过程域组织级过程性能过程域,目的就是建立和维护组,目的就是建立和维护组,目的就是建
40、立和维护组,目的就是建立和维护组织标准过程集性能的定量理解,且提供过程性能数据、织标准过程集性能的定量理解,且提供过程性能数据、织标准过程集性能的定量理解,且提供过程性能数据、织标准过程集性能的定量理解,且提供过程性能数据、基线和模型来定量地管理组织的项目。基线和模型来定量地管理组织的项目。基线和模型来定量地管理组织的项目。基线和模型来定量地管理组织的项目。 (8)(8)项目定量管理过程域项目定量管理过程域项目定量管理过程域项目定量管理过程域,目的就是定量地管理项目,目的就是定量地管理项目,目的就是定量地管理项目,目的就是定量地管理项目的已定义过程,从而实现项目已建立的质量和过程性能的已定义过
41、程,从而实现项目已建立的质量和过程性能的已定义过程,从而实现项目已建立的质量和过程性能的已定义过程,从而实现项目已建立的质量和过程性能目标。目标。目标。目标。 (9)(9)因果分析和解决方案过程域因果分析和解决方案过程域因果分析和解决方案过程域因果分析和解决方案过程域,目的就是识别发生,目的就是识别发生,目的就是识别发生,目的就是识别发生缺陷和其他问题的原因,采取行动来预防其将来再次发缺陷和其他问题的原因,采取行动来预防其将来再次发缺陷和其他问题的原因,采取行动来预防其将来再次发缺陷和其他问题的原因,采取行动来预防其将来再次发生。生。生。生。 结论:质量来源于过程,过程需要改进,改进需求结论:
42、质量来源于过程,过程需要改进,改进需求结论:质量来源于过程,过程需要改进,改进需求结论:质量来源于过程,过程需要改进,改进需求量模型,改进是无止境的,这就是量模型,改进是无止境的,这就是量模型,改进是无止境的,这就是量模型,改进是无止境的,这就是CMMICMMI精神!精神!精神!精神! CMMICMMI精神万岁!精神万岁!精神万岁!精神万岁! 1515 8. 软件质量保证的其他措施软件质量保证的其他措施 除了除了除了除了CMM/CMMICMM/CMMI外,为了抓好软件质量管理,软外,为了抓好软件质量管理,软外,为了抓好软件质量管理,软外,为了抓好软件质量管理,软件组织的高层经理和项目经理,还应
43、该大力提倡并严格件组织的高层经理和项目经理,还应该大力提倡并严格件组织的高层经理和项目经理,还应该大力提倡并严格件组织的高层经理和项目经理,还应该大力提倡并严格执行执行执行执行“ “七化原则七化原则七化原则七化原则” ”,即在软件质量管理中,管理人员要,即在软件质量管理中,管理人员要,即在软件质量管理中,管理人员要,即在软件质量管理中,管理人员要做到:行为规范化,报告制度化,报表统一化,数据标做到:行为规范化,报告制度化,报表统一化,数据标做到:行为规范化,报告制度化,报表统一化,数据标做到:行为规范化,报告制度化,报表统一化,数据标准化,信息网络化,管理可视化,措施及时化。准化,信息网络化,
44、管理可视化,措施及时化。准化,信息网络化,管理可视化,措施及时化。准化,信息网络化,管理可视化,措施及时化。 为了执行好上述为了执行好上述为了执行好上述为了执行好上述“ “七化原则七化原则七化原则七化原则” ”,在软件组织内部的,在软件组织内部的,在软件组织内部的,在软件组织内部的各个项目中,还要建立各个项目中,还要建立各个项目中,还要建立各个项目中,还要建立“ “五报一例制度五报一例制度五报一例制度五报一例制度” ” :日报表、:日报表、:日报表、:日报表、周报表、月报表、里程碑报表、重大事件报表和例会制周报表、月报表、里程碑报表、重大事件报表和例会制周报表、月报表、里程碑报表、重大事件报表
45、和例会制周报表、月报表、里程碑报表、重大事件报表和例会制度。实行度。实行度。实行度。实行“ “高层经理抓月报,部门经理抓周报,项目经高层经理抓月报,部门经理抓周报,项目经高层经理抓月报,部门经理抓周报,项目经高层经理抓月报,部门经理抓周报,项目经验抓日报验抓日报验抓日报验抓日报” ”的上、中、下三层的管理方法。的上、中、下三层的管理方法。的上、中、下三层的管理方法。的上、中、下三层的管理方法。161614.3 评审在质量保证中的作用评审在质量保证中的作用 从大量的软件实践中得知,正式评审工作被认为是从大量的软件实践中得知,正式评审工作被认为是从大量的软件实践中得知,正式评审工作被认为是从大量的
46、软件实践中得知,正式评审工作被认为是尽早发现软件缺陷,降低软件成本的最有效手段。尽早发现软件缺陷,降低软件成本的最有效手段。尽早发现软件缺陷,降低软件成本的最有效手段。尽早发现软件缺陷,降低软件成本的最有效手段。 软件缺陷的发现时间,同缺陷修正的成本呈幂次关软件缺陷的发现时间,同缺陷修正的成本呈幂次关软件缺陷的发现时间,同缺陷修正的成本呈幂次关软件缺陷的发现时间,同缺陷修正的成本呈幂次关系。根据系。根据系。根据系。根据IBMIBM的研究结果,假定在分析阶段发现的错误的研究结果,假定在分析阶段发现的错误的研究结果,假定在分析阶段发现的错误的研究结果,假定在分析阶段发现的错误其改正成本为其改正成本
47、为其改正成本为其改正成本为1 1个货币单位,那么在测试之前(设计编个货币单位,那么在测试之前(设计编个货币单位,那么在测试之前(设计编个货币单位,那么在测试之前(设计编码阶段)发现一个错误的修改成本约为码阶段)发现一个错误的修改成本约为码阶段)发现一个错误的修改成本约为码阶段)发现一个错误的修改成本约为6.56.5个货币单位,个货币单位,个货币单位,个货币单位,在测试时(集成测试、系统测试和验收测试)发现一个在测试时(集成测试、系统测试和验收测试)发现一个在测试时(集成测试、系统测试和验收测试)发现一个在测试时(集成测试、系统测试和验收测试)发现一个错误的修改成本约为错误的修改成本约为错误的修
48、改成本约为错误的修改成本约为1515个货币单位,而在发布之后(已个货币单位,而在发布之后(已个货币单位,而在发布之后(已个货币单位,而在发布之后(已经交到用户手上)发现一个错误的修改成本约为经交到用户手上)发现一个错误的修改成本约为经交到用户手上)发现一个错误的修改成本约为经交到用户手上)发现一个错误的修改成本约为6060100100个货币单位。该比例同样也适用于发现一个错误需个货币单位。该比例同样也适用于发现一个错误需个货币单位。该比例同样也适用于发现一个错误需个货币单位。该比例同样也适用于发现一个错误需要的时间代价。要的时间代价。要的时间代价。要的时间代价。1717评审在质量保证中的作用评
49、审在质量保证中的作用1818正式评审会议的流程正式评审会议的流程 1. 1. 评审会议的准备评审会议的准备评审会议的准备评审会议的准备 涉及的角色有:创建者、评审负责人、检查者。涉及的角色有:创建者、评审负责人、检查者。涉及的角色有:创建者、评审负责人、检查者。涉及的角色有:创建者、评审负责人、检查者。 涉及的文档有:评审检查单。涉及的文档有:评审检查单。涉及的文档有:评审检查单。涉及的文档有:评审检查单。 (1)(1)创建者负责陈述评审目标;提交工作产品及其规创建者负责陈述评审目标;提交工作产品及其规创建者负责陈述评审目标;提交工作产品及其规创建者负责陈述评审目标;提交工作产品及其规范;与评
50、审负责人一起选择检查者,并分配角色。范;与评审负责人一起选择检查者,并分配角色。范;与评审负责人一起选择检查者,并分配角色。范;与评审负责人一起选择检查者,并分配角色。 (2)(2)评审负责人负责计划、安排和组织评审活动,与评审负责人负责计划、安排和组织评审活动,与评审负责人负责计划、安排和组织评审活动,与评审负责人负责计划、安排和组织评审活动,与创建者一起选择检查者。评审负责人应该从创建者处将创建者一起选择检查者。评审负责人应该从创建者处将创建者一起选择检查者。评审负责人应该从创建者处将创建者一起选择检查者。评审负责人应该从创建者处将评审产品的内容准备齐全,并打包发送给检查者。评审评审产品的
51、内容准备齐全,并打包发送给检查者。评审评审产品的内容准备齐全,并打包发送给检查者。评审评审产品的内容准备齐全,并打包发送给检查者。评审负责人还要询问每个检查者的准备时间,确定会议准备负责人还要询问每个检查者的准备时间,确定会议准备负责人还要询问每个检查者的准备时间,确定会议准备负责人还要询问每个检查者的准备时间,确定会议准备是否充分,如果不充分,应重新安排会议时间。是否充分,如果不充分,应重新安排会议时间。是否充分,如果不充分,应重新安排会议时间。是否充分,如果不充分,应重新安排会议时间。 (3)(3)检查者:检查工作产品,发现其缺陷,提出问题,检查者:检查工作产品,发现其缺陷,提出问题,检查
52、者:检查工作产品,发现其缺陷,提出问题,检查者:检查工作产品,发现其缺陷,提出问题,并且记录到评审检查单中。并且记录到评审检查单中。并且记录到评审检查单中。并且记录到评审检查单中。1919正式评审会议的流程正式评审会议的流程(续续) 2. 2. 评审会议的召开评审会议的召开评审会议的召开评审会议的召开 涉及的新角色有:阅读人和记录人。创建者、评涉及的新角色有:阅读人和记录人。创建者、评涉及的新角色有:阅读人和记录人。创建者、评涉及的新角色有:阅读人和记录人。创建者、评审负责人、检查者在此阶段,有新的工作任务。审负责人、检查者在此阶段,有新的工作任务。审负责人、检查者在此阶段,有新的工作任务。审
53、负责人、检查者在此阶段,有新的工作任务。 涉及的文档有:评审会议记录,记录评审过程中涉及的文档有:评审会议记录,记录评审过程中涉及的文档有:评审会议记录,记录评审过程中涉及的文档有:评审会议记录,记录评审过程中确定的软件缺陷。确定的软件缺陷。确定的软件缺陷。确定的软件缺陷。 评审负责人:召开会议,介绍参与者,说明其角评审负责人:召开会议,介绍参与者,说明其角评审负责人:召开会议,介绍参与者,说明其角评审负责人:召开会议,介绍参与者,说明其角色,陈述评审的目标,指导检查者将精力集中于发色,陈述评审的目标,指导检查者将精力集中于发色,陈述评审的目标,指导检查者将精力集中于发色,陈述评审的目标,指导
54、检查者将精力集中于发现缺陷,而不是解决方法。提醒参与者评论要针对现缺陷,而不是解决方法。提醒参与者评论要针对现缺陷,而不是解决方法。提醒参与者评论要针对现缺陷,而不是解决方法。提醒参与者评论要针对正在评审的工作产品,而不是创建者。正在评审的工作产品,而不是创建者。正在评审的工作产品,而不是创建者。正在评审的工作产品,而不是创建者。2020正式评审会议的流程正式评审会议的流程(续续) 阅读人:向评审小组展示工作产品的各部分。阅读人:向评审小组展示工作产品的各部分。阅读人:向评审小组展示工作产品的各部分。阅读人:向评审小组展示工作产品的各部分。 检查者:提出缺陷检查者:提出缺陷检查者:提出缺陷检查
55、者:提出缺陷、问题问题问题问题、疑问疑问疑问疑问、改进建议。改进建议。改进建议。改进建议。 创建者:解答问题,简短回答提出的问题,使检查创建者:解答问题,简短回答提出的问题,使检查创建者:解答问题,简短回答提出的问题,使检查创建者:解答问题,简短回答提出的问题,使检查者进一步了解工作产品,从而帮助发现缺陷。者进一步了解工作产品,从而帮助发现缺陷。者进一步了解工作产品,从而帮助发现缺陷。者进一步了解工作产品,从而帮助发现缺陷。 记录人:详细的记录到问题日志上。记录人:详细的记录到问题日志上。记录人:详细的记录到问题日志上。记录人:详细的记录到问题日志上。 3. 评审会议的跟踪评审会议的跟踪 涉及
56、的新角色有:审核者。涉及的新角色有:审核者。涉及的新角色有:审核者。涉及的新角色有:审核者。 涉及的文档有:评审会议跟踪表,由审核者跟踪软涉及的文档有:评审会议跟踪表,由审核者跟踪软涉及的文档有:评审会议跟踪表,由审核者跟踪软涉及的文档有:评审会议跟踪表,由审核者跟踪软件缺陷的修复情况,并详细记录到评审会议跟踪表中。件缺陷的修复情况,并详细记录到评审会议跟踪表中。件缺陷的修复情况,并详细记录到评审会议跟踪表中。件缺陷的修复情况,并详细记录到评审会议跟踪表中。 审核者:进行跟踪,确定正式评审会议上确定的缺审核者:进行跟踪,确定正式评审会议上确定的缺审核者:进行跟踪,确定正式评审会议上确定的缺审核
57、者:进行跟踪,确定正式评审会议上确定的缺陷都被按照改进意见修改了,填写评审会议确信跟踪表。陷都被按照改进意见修改了,填写评审会议确信跟踪表。陷都被按照改进意见修改了,填写评审会议确信跟踪表。陷都被按照改进意见修改了,填写评审会议确信跟踪表。212114.4 软件质量保证文档软件质量保证文档14.4.1 质量保证文档质量保证文档14.4.2 质量保证管理文档质量保证管理文档 表表表表14-514-5软件质量保证计划任务进度表软件质量保证计划任务进度表软件质量保证计划任务进度表软件质量保证计划任务进度表中的软件工作产品,中的软件工作产品,中的软件工作产品,中的软件工作产品,都是软件质量保证的管理文
58、档。但是,最重要的质量管理文档是:都是软件质量保证的管理文档。但是,最重要的质量管理文档是:都是软件质量保证的管理文档。但是,最重要的质量管理文档是:都是软件质量保证的管理文档。但是,最重要的质量管理文档是:不符合项跟踪表不符合项跟踪表不符合项跟踪表不符合项跟踪表、软件质量保证活动度量表软件质量保证活动度量表软件质量保证活动度量表软件质量保证活动度量表。 不符合项跟踪表不符合项跟踪表不符合项跟踪表不符合项跟踪表,是由,是由,是由,是由SQASQA成员根据评审记录编制的管理成员根据评审记录编制的管理成员根据评审记录编制的管理成员根据评审记录编制的管理文档,它是为了验证被评审的工作产品的符合性文档
59、,它是为了验证被评审的工作产品的符合性文档,它是为了验证被评审的工作产品的符合性文档,它是为了验证被评审的工作产品的符合性( (正确性正确性正确性正确性) ),以达,以达,以达,以达到跟踪其偏差率的目的:到跟踪其偏差率的目的:到跟踪其偏差率的目的:到跟踪其偏差率的目的: (1) (1) 当偏差率超过当偏差率超过当偏差率超过当偏差率超过30%30%时,工作产品要重做;时,工作产品要重做;时,工作产品要重做;时,工作产品要重做; (2) (2) 当偏差率超过当偏差率超过当偏差率超过当偏差率超过20%20%时,工作产品要大改;时,工作产品要大改;时,工作产品要大改;时,工作产品要大改; (3) (3
60、) 当偏差率超过当偏差率超过当偏差率超过当偏差率超过10%10%时,工作产品要小改;时,工作产品要小改;时,工作产品要小改;时,工作产品要小改; (4) (4) 当偏差率超过当偏差率超过当偏差率超过当偏差率超过1%1%时,工作产品要修正;时,工作产品要修正;时,工作产品要修正;时,工作产品要修正; (5) (5) 只有当偏差率为零时,工作产品评审才通过。只有当偏差率为零时,工作产品评审才通过。只有当偏差率为零时,工作产品评审才通过。只有当偏差率为零时,工作产品评审才通过。222214.5 本章小结本章小结 软件质量是软件企业的生命。本章从软件质量的定义开始,软件质量是软件企业的生命。本章从软件
61、质量的定义开始,软件质量是软件企业的生命。本章从软件质量的定义开始,软件质量是软件企业的生命。本章从软件质量的定义开始,首先重点论述了软件质量控制的首先重点论述了软件质量控制的首先重点论述了软件质量控制的首先重点论述了软件质量控制的“ “三个层次三个层次三个层次三个层次” ”: (1) (1) 事先的预防措施;事先的预防措施;事先的预防措施;事先的预防措施; (2) (2) 事中的跟踪监控措施;事中的跟踪监控措施;事中的跟踪监控措施;事中的跟踪监控措施; (3) (3) 事后的纠错措施。事后的纠错措施。事后的纠错措施。事后的纠错措施。 接着,又详细介绍了软件质量保证的接着,又详细介绍了软件质量
62、保证的接着,又详细介绍了软件质量保证的接着,又详细介绍了软件质量保证的“ “五种方法五种方法五种方法五种方法” ”: (1) (1) 面向面向面向面向CMM2CMM2的的的的“ “软件质量保证软件质量保证软件质量保证软件质量保证” ”方法;方法;方法;方法; (2) (2) 面向面向面向面向CMM3CMM3的的的的“ “同行评审同行评审同行评审同行评审” ”方法;方法;方法;方法; (3) (3) 面向面向面向面向CMM4CMM4的的的的“ “软件质量管理软件质量管理软件质量管理软件质量管理” ”方法;方法;方法;方法; (4) (4) 面向面向面向面向CMM5CMM5的的的的“ “缺陷预防缺
63、陷预防缺陷预防缺陷预防” ”方法;方法;方法;方法; (5) (5) 实行实行实行实行“ “高层经理抓月报,部门经理抓周报,项目经验抓日高层经理抓月报,部门经理抓周报,项目经验抓日高层经理抓月报,部门经理抓周报,项目经验抓日高层经理抓月报,部门经理抓周报,项目经验抓日报报报报” ”的质量保证制度。的质量保证制度。的质量保证制度。的质量保证制度。 另外还介绍了另外还介绍了另外还介绍了另外还介绍了CMMICMMI与质量管理有关的与质量管理有关的与质量管理有关的与质量管理有关的9 9个过程城,以及质量个过程城,以及质量个过程城,以及质量个过程城,以及质量保证文档。保证文档。保证文档。保证文档。 2323