资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第14章章 软件质量保证软件质量保证本章导读本章导读质量保证一直是质量保证一直是CMM和和ISO9000的中心议题,的中心议题,是微软公司和是微软公司和IBM公司的重点课题,同样也是项公司的重点课题,同样也是项目管理的重要内容。目管理的重要内容。通常,人们将通常,人们将“质量标准、配置管理、测试测量质量标准、配置管理、测试测量”,作为质量管理的三大支柱,而将,作为质量管理的三大支柱,而将“SQA计划、计划、SQA进度、进度、SQA评审和审计评审和审计”,作为,作为质量管理质量管理三大要素。三大要素。本章先论述软件质量保证的基本概念和多种方法,本章先论述软件质量保证的基本概念和多种方法,后介绍后介绍IT企业软件质量保证文档书写的参考指南。企业软件质量保证文档书写的参考指南。 本章导读本章导读要求要求具体内容具体内容了解了解1) 软件件质量及其相关概念的定量及其相关概念的定义2) 质量管理与控制的三个量管理与控制的三个层次次3) 传统软件工程中件工程中质量管理的弱点量管理的弱点4) 同行同行评审5) 软件件质量保量保证管理文档管理文档理解理解1) 从四个方面来改从四个方面来改进软件件质量量2) CMM改改进软件件质量的方法量的方法3) 软件件组织内部的内部的“七化原七化原则”和和“五五报一例一例制度制度”关注关注1) CMML2的的“软件件质量保量保证SQA”过程程2) 软件件质量保量保证计划划的的编写方法写方法14.1 软件质量基本概念软件质量基本概念 1. 软件质量及相关概念的定义软件质量及相关概念的定义 所谓所谓软件质量软件质量,就是供方提供的软件产品,满,就是供方提供的软件产品,满足用户明确和隐含需求能力特性的总和。足用户明确和隐含需求能力特性的总和。 所谓所谓软件产品软件产品,就是供方交付给用户一套计算,就是供方交付给用户一套计算机程序、数据以及相关的文档。机程序、数据以及相关的文档。 所谓所谓供方供方,就是向用户提供产品的组织。供方,就是向用户提供产品的组织。供方有时又称承包方。有时又称承包方。 通过上述定义,知道了软件质量是什么,以及通过上述定义,知道了软件质量是什么,以及意味着什么。在此之前,可能不知道这么多概念,意味着什么。在此之前,可能不知道这么多概念,只知道好的软件的特点是功能强、性能优、易使只知道好的软件的特点是功能强、性能优、易使用、易维护、可移植、可重用。用、易维护、可移植、可重用。 软件质量基本概念软件质量基本概念2. 质量管理与控制的三个层次质量管理与控制的三个层次 (1) 事先的预防措施:制订软件过程开发规范和软件事先的预防措施:制订软件过程开发规范和软件产品质量标准,对软件开发和管理人员进行这方面知识产品质量标准,对软件开发和管理人员进行这方面知识和技能的定向培训;和技能的定向培训; (2) 事中的跟踪监控措施:按照事中的跟踪监控措施:按照CMM或或ISO9000的过的过程管理思想,对软件过程和软件产品的质量控制提供可程管理思想,对软件过程和软件产品的质量控制提供可视性管理;视性管理; (3) 事后的纠错措施:对软件工作产品和软件产品加事后的纠错措施:对软件工作产品和软件产品加强评审和检测。评审是在宏观上框住您,在微观上挑剔强评审和检测。评审是在宏观上框住您,在微观上挑剔您,找出不符合项。检测是为了发现您,找出不符合项。检测是为了发现Bug,改正错误。,改正错误。 软件质量保证措施,应以提前预防和实时跟踪为主,软件质量保证措施,应以提前预防和实时跟踪为主,以事后测试和纠错为辅。以事后测试和纠错为辅。 软件质量基本概念软件质量基本概念3. 传统软件工程中质量管理的弱点传统软件工程中质量管理的弱点 在传统在传统软件工程软件工程中,由于没有完全吸收中,由于没有完全吸收CMM和和ISO9000的质量管理思想,因而对软件的质量管理思想,因而对软件质量的定义是较模糊的,如表质量的定义是较模糊的,如表14-2所示。按照这所示。按照这些定义,对软件阶段产品和软件最终产品的测试、些定义,对软件阶段产品和软件最终产品的测试、评审和评价,也是较模糊的。因为它主要不是根评审和评价,也是较模糊的。因为它主要不是根据据用户需求报告用户需求报告中,对中,对“功能、性能、接口功能、性能、接口”的具体要求,记录并跟踪的具体要求,记录并跟踪“不符合项不符合项”是否为是否为零,而是考虑零,而是考虑“正确性、健壮性、完整性、可用正确性、健壮性、完整性、可用性、可理解性、可移植性、灵活性性、可理解性、可移植性、灵活性”等抽象指标,等抽象指标,往往使测试人员和评审人员感到有点无所事从。往往使测试人员和评审人员感到有点无所事从。 序号序号 质量因素量因素质量因素的定量因素的定义1正确性正确性系系统满足足规格格说明明书和用和用户目目标的程度。的程度。2健壮性健壮性在意外在意外环境或境或错误操作下,系操作下,系统做出适当响做出适当响应的程度。的程度。3完整性完整性对未未经授授权的人使用系的人使用系统的企的企图,系,系统能能够控控制的程度。制的程度。4可用性可用性系系统完成完成预定的功能定的功能时,令人,令人满意的程度。意的程度。5可理解性可理解性 系系统的理解和使用的容易程度。的理解和使用的容易程度。6可可维修性修性 诊断和改正断和改正发现的的错误所需的工作量大小。所需的工作量大小。7灵活性灵活性修改或改修改或改进系系统,需要的工作量多少。,需要的工作量多少。8可可测试性性 系系统容易容易测试的程度。的程度。9可移植性可移植性 移植到另一种平台中运行所需移植到另一种平台中运行所需资源的多少。源的多少。10可再用性可再用性 软件系件系统的可复用程度。的可复用程度。11互运行性互运行性 与其他系与其他系统集成,所需的工作量多少。集成,所需的工作量多少。14.2 软件质量保证方法软件质量保证方法1. 从四个方面来改进软件质量从四个方面来改进软件质量 (1) 力图从编程语言上实现突破。已经从机器力图从编程语言上实现突破。已经从机器语言、汇编语言、面向过程的语言、面向数据的语言、汇编语言、面向过程的语言、面向数据的语言,发展到面向对象、面向构架的语言。语言,发展到面向对象、面向构架的语言。 (2) 力图从力图从CASE工具上实现突破。这些工具有:工具上实现突破。这些工具有:OracleDesigner,PowerDesigner,ERwin,Rose,San Francisco,北大青鸟系统。,北大青鸟系统。 (3) 力图从软件过程管上实现突破。如力图从软件过程管上实现突破。如CMM,ISO9000,微软企业文化,微软企业文化,IBM企业文化。企业文化。 (4) 力图从测试与纠错上实现突破。先后出现力图从测试与纠错上实现突破。先后出现了各种测试方法、工具和纠错手段。了各种测试方法、工具和纠错手段。软件质量保证方法软件质量保证方法2. CMM改进软件质量的方法改进软件质量的方法 CMM认为:它的认为:它的18个关键过程域,每一个都跟质量个关键过程域,每一个都跟质量管理有关,质量管理体现在每一个管理有关,质量管理体现在每一个KPA的验证之中。当的验证之中。当前,针对软件质量进行保证的问题,最有效的办法还是前,针对软件质量进行保证的问题,最有效的办法还是下面五个方法的汇集:下面五个方法的汇集: (1) 面向面向CMM2的的KPA“软件质量保证软件质量保证”(SQA:Software Quality Assurance)方法。方法。 (2) 面向面向CMM3的的KPA“同行评审同行评审”(PR:Peer Reviews)方法。方法。 (3) 面向面向CMM4的的KPA“软件质量管理软件质量管理”(SQM:Software Quality Management)方法。方法。 (4) 面向面向CMM5的的KPA“缺陷预防缺陷预防”(DP:Defect Prevention)方法。方法。 (5) 软件质量保证的其他措施。软件质量保证的其他措施。软件质量保证方法软件质量保证方法 3. CMM2的的“软件质量保证软件质量保证SQA”过程过程 (1) 首先,通过监控软件的开发过程,来保证产品的首先,通过监控软件的开发过程,来保证产品的质量;质量; (2) 其次,保证生产出的软件产品及软件开发过程,其次,保证生产出的软件产品及软件开发过程,符合相应的标准与规程;符合相应的标准与规程; (3) 最后,保证软件产品、软件过程中存在的不符合最后,保证软件产品、软件过程中存在的不符合项问题得到处理,必要时将问题反映给高级管理者。项问题得到处理,必要时将问题反映给高级管理者。 结合这三项内容,结合这三项内容,CMM2的软件质量保证手段主要有的软件质量保证手段主要有三项:三项:“审计、评审和处理不符合项审计、评审和处理不符合项”。审计是检查做。审计是检查做没做,做了多少,以及按什么标准和规范做的。评审是没做,做了多少,以及按什么标准和规范做的。评审是检查干得好不好,是否还存在不符合项。处理不符合项检查干得好不好,是否还存在不符合项。处理不符合项是跟踪纠错过程,直至改正为止。是跟踪纠错过程,直至改正为止。 软件质量保证方法软件质量保证方法4. CMM3的软件质量保证手段的软件质量保证手段“同行评审同行评审” 俗话说,隔行如隔山,所以外行不能参与评审。同行俗话说,隔行如隔山,所以外行不能参与评审。同行评审是指同行进行软件产品验证的活动,其目的是为了评审是指同行进行软件产品验证的活动,其目的是为了及早和高效地从软件工作产品中识别并消除缺陷。与技及早和高效地从软件工作产品中识别并消除缺陷。与技术评审不同,同行评审的对象一般是部分软件工作产品,术评审不同,同行评审的对象一般是部分软件工作产品,重点是发现软件工作产品中的缺陷。重点是发现软件工作产品中的缺陷。 所谓同行,是指和开发者在被评审的软件工作产品上所谓同行,是指和开发者在被评审的软件工作产品上有相同的开发经验和知识的人员。一般来讲,不建议管有相同的开发经验和知识的人员。一般来讲,不建议管理者作为同行,参与同行评审,也不应使用同行评审的理者作为同行,参与同行评审,也不应使用同行评审的结果去评价产品开发者的功过是非。结果去评价产品开发者的功过是非。 有人会说:同行是有人会说:同行是“冤家冤家”。没关系,因为同行评审。没关系,因为同行评审是挑剔,是找缺陷,是挑剔,是找缺陷,“冤家冤家”更好。更好。 软件质量保证方法软件质量保证方法 5. CMM4的软件质量保证手段的软件质量保证手段“软件质量管理软件质量管理” CMM4的的“软件质量管理软件质量管理”目的是:建立对项目的软目的是:建立对项目的软件产品质量的定量了解,以便实现特定的质量目标,例件产品质量的定量了解,以便实现特定的质量目标,例如在流程、时间、功能、性能、接口、界面上的特定需如在流程、时间、功能、性能、接口、界面上的特定需求目标。为此,要对软件工作产品,实施内容丰富的特求目标。为此,要对软件工作产品,实施内容丰富的特定测量计划,进行质量的定量管理。定测量计划,进行质量的定量管理。 6. CMM5的软件质量保证手段的软件质量保证手段“缺陷预防缺陷预防” CMM5的的“缺陷预防缺陷预防”目的是:鉴别缺陷的原因,并目的是:鉴别缺陷的原因,并防止它们再次发生。具体做法有:建立项目缺陷分析的防止它们再次发生。具体做法有:建立项目缺陷分析的工程数据库,字段有:工程数据库,字段有:“缺陷编号、缺陷名称、缺陷类缺陷编号、缺陷名称、缺陷类型、缺陷部位、缺陷原因、影响范围、发生频率、发生型、缺陷部位、缺陷原因、影响范围、发生频率、发生时间、所属项目时间、所属项目”等。将分析结果,尤其是带普遍价值等。将分析结果,尤其是带普遍价值的过程更改,通知组织中的其他软件项目组。的过程更改,通知组织中的其他软件项目组。 软件质量保证方法软件质量保证方法 7. 软件质量保证的其他措施软件质量保证的其他措施 除了除了CMM上述四个方法的全面综合治理之外,为了上述四个方法的全面综合治理之外,为了抓好软件质量管理,软件组织的高层经理和项目经理,抓好软件质量管理,软件组织的高层经理和项目经理,还应该大力提倡并严格执行还应该大力提倡并严格执行“七化原则七化原则”,即在软件质,即在软件质量管理中,管理人员要做到:行为规范化,报告制度化,量管理中,管理人员要做到:行为规范化,报告制度化,报表统一化,数据标准化,信息网络化,管理可视化,报表统一化,数据标准化,信息网络化,管理可视化,措施及时化。措施及时化。为了执行好上述为了执行好上述“七化原则七化原则”,在软件组织内部的各个,在软件组织内部的各个项目中,还要建立项目中,还要建立“五报一例制度五报一例制度”,即:日报表、周,即:日报表、周报表、月报表、里程碑报表、重大事件报表和例会制度。报表、月报表、里程碑报表、重大事件报表和例会制度。实行实行“高层经理抓月报,部门经理抓周报,项目经验抓高层经理抓月报,部门经理抓周报,项目经验抓日报日报”的上、中、下三层的管理方法。的上、中、下三层的管理方法。14.3 软件质量保证文档软件质量保证文档14.3.1 质量保证文档质量保证文档14.3.2 质量保证管理文档质量保证管理文档 表表14-5软件质量保证计划任务进度表软件质量保证计划任务进度表中的软件工中的软件工作产品,都是软件质量保证的管理文档。但是,最重要作产品,都是软件质量保证的管理文档。但是,最重要的质量管理文档是:的质量管理文档是:不符合项跟踪表不符合项跟踪表、软件质量软件质量保证活动度量表保证活动度量表。 不符合项跟踪表不符合项跟踪表,是由,是由SQA成员根据评审记录成员根据评审记录编制的管理文档,它是为了验证被评审的工作产品的符编制的管理文档,它是为了验证被评审的工作产品的符合性合性(正确性正确性),以达到跟踪其偏差率的目的:,以达到跟踪其偏差率的目的: (1) 当偏差率超过当偏差率超过30%时,工作产品要重做;时,工作产品要重做; (2) 当偏差率超过当偏差率超过20%时,工作产品要大改;时,工作产品要大改; (3) 当偏差率超过当偏差率超过10%时,工作产品要小改;时,工作产品要小改; (4) 当偏差率超过当偏差率超过1%时,工作产品要修正;时,工作产品要修正; (5) 只有当偏差率为零时,工作产品评审才通过。只有当偏差率为零时,工作产品评审才通过。14.4 本章小结本章小结 软件质量是软件企业的生命。本章从软件质量的定义开软件质量是软件企业的生命。本章从软件质量的定义开始,首先重点论述了软件质量控制的始,首先重点论述了软件质量控制的“三个层次三个层次”: (1) 事先的预防措施;事先的预防措施; (2) 事中的跟踪监控措施;事中的跟踪监控措施; (3) 事后的纠错措施。事后的纠错措施。接着,又详细介绍了软件质量保证的接着,又详细介绍了软件质量保证的“五种方法五种方法”: (1) 面向面向CMM2的的“软件质量保证软件质量保证”方法;方法; (2) 面向面向CMM3的的“同行评审同行评审”方法;方法; (3) 面向面向CMM4的的“软件质量管理软件质量管理”方法;方法; (4) 面向面向CMM5的的“缺陷预防缺陷预防”方法;方法; (5) 实行实行“高层经理抓月报,部门经理抓周报,项目高层经理抓月报,部门经理抓周报,项目经验抓日报经验抓日报”的质量保证制度的质量保证制度 思考题思考题 1414.1 针对软件质量进行保证的问题,最有效的办法是什针对软件质量进行保证的问题,最有效的办法是什么?么?14.2 怎样理解怎样理解“软件质量保证措施,应以提前预防和实软件质量保证措施,应以提前预防和实时跟踪为主,以事后测试和纠错为辅时跟踪为主,以事后测试和纠错为辅”?14.3 通过对本章的学习,请说明通过对本章的学习,请说明CMM的质量保证体系的质量保证体系有何优点?有何不足?有何优点?有何不足?14.4 对软件质量进行对软件质量进行“全面综合治理全面综合治理”有哪五种方法,有哪五种方法,哪一种方法最好,为什么?哪一种方法最好,为什么?14.5 软件质量保证计划软件质量保证计划设计得怎么样?有何改进措设计得怎么样?有何改进措施?施?14.6 采用采用不符合项跟踪表不符合项跟踪表的评审与审计方法,有什的评审与审计方法,有什么优越性?这与中国传统的软件评审标准有什么不同?么优越性?这与中国传统的软件评审标准有什么不同?14.7 请设计出请设计出软件质量保证活动度量表软件质量保证活动度量表的数据结构的数据结构(关系数据库的表结构关系数据库的表结构)。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号