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