8 Ch8 软件质量标准.ppt
21-陈宏兵陈宏兵-Ch.8 软件质量标准 2023/5/25121-第第 8章章 软件质量标准软件质量标准 8.1 软件质量标准概述软件质量标准概述 8.2 ISO 9001和和 ISO9000-3在软件中的应用简介在软件中的应用简介 8.3 能力成熟度模型能力成熟度模型8.4 CMM中的质量框架中的质量框架8.5 IEEE软件工程标准软件工程标准8.6 其它质量标准其它质量标准2023/5/252南信大计软院南信大计软院21-8.1 软件质量标准概述软件质量标准概述8.1.1 标准的层次标准的层次、国际标准、国际标准、国家标准国家标准、行业标准、行业标准、企业规范、企业规范、项目规范、项目规范 8.1.2 软件质量标准的沿革软件质量标准的沿革、ISO 9001ISO 9001与与CMM CMM、从、从CMMCMM到到CMMI CMMI、CMMICMMI与与TR 15504 TR 15504 2023/5/253南信大计软院南信大计软院21-8.1.1 标准的层次标准的层次、国际标准、国际标准一般,由国际机构制定和公布供各国参考的标准为国际标准。比如:ISO(International Standards Organization)国际标准化组织。、国家标准国家标准由政府或国家级的机构制定或批准,适用于本国范围的标准,如:GB中华人民共和国国家技术监督局是我国的最高标准化机构,它所公布实施的标准简称为国标(GB)、行业标准、行业标准 行业标准是由一些行业机构、学术团体或国防机构制定,并适用于某个业务领域的标准,如:IEEE(Institute Of Electrical and Electronics Engineers)、企业规范、企业规范 一些大型企业或公司,由于软件工程工作的需要,制定适用于本部门的规范。例如,美国IBM公司通用产品部(General Products Division)1984年制定“程序设计开发指南”、项目规范、项目规范 项目规范是为一些科研生产项目需要而由组织制定一些具体项目的操作规范,此种规范制定的目标很明确,即为该项任务专用。2023/5/254南信大计软院南信大计软院21-8.1.2 软件质量标准的沿革软件质量标准的沿革、ISO 9001ISO 9001与与CMM CMM CMM和ISO 9001都以全面质量管理为理论基础,都针对过程进行描述,但二者的设计思路不同,属于两个不同的体系。、从、从CMMCMM到到CMMI CMMI 1987年,卡内基梅隆大学软件工程研究所(SEI)为支持美国国防部对软件承包商的能力进行客观评价,提出了关于软件的能力成熟度模型框架,于19911993年发表了软件能力成熟度模型即SW-CMM 1.0版和SW-CMM 1.1版。CMMI兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科学和更周密的优点。在发表CMMI-SE/SW V1.0时,SEI宣布大约用两年的时间完成从CMM到CMMI的过渡。CMMI其实就是SW-CMM的修订本、CMMICMMI与与TR 15504 TR 15504 在SW-CMM思路的启发下,ISO/IEC JTC1于1991年启动了关于软件过程评估(SPA)的国际标准化项目,并于1995年发布了ISO/IEC TR 15504软件过程评估 2023/5/255南信大计软院南信大计软院21-8.2 ISO 9001和和 ISO9000-3在软件中的在软件中的 应用简介应用简介 ISO 9001是ISO 9000簇标准体系之一,即设计、开发、生产、安装和服务的质量保证模式,这一套标准中包含了高效的质量保证系统必须体现的20 条需求 ISO 9001 标准适用于所有的工程行业,因此,为了在软件过程的使用中帮助解释该标准,而专门开发了一个ISO 指南的子集,即ISO 9000-3 ISO9001在软件行业中应用时一般会配合ISO 9000-3作为实施指南。需要参照IS9000-3的主要原因是软件不存在明显的生产阶段,故软件开发、供应和维护过程不同于大多数其它类型的工业产品。比如软件不会“耗损”,所以设计阶段的质量活动对产品最终质量显得尤其重要的。2023/5/256南信大计软院南信大计软院21-8.3 8.3 能力成熟度模型能力成熟度模型8.3.1 CMM质量思想质量思想8.3.2 CMM 关键过程域关键过程域8.3.3 PSP 和和 TSP8.3.4 CMMI2023/5/257南信大计软院南信大计软院21-8.3.1 CMM质量思想质量思想软件过程能力成熟度是指一个特定过程被明确地定义、管理、测量、控制并且是有效的程度。成熟度意味着能力上的增长能力,并表明一个组织软件过程的丰富性和在项目中运用它时的一致性 过程能力与成熟度关系 2023/5/258南信大计软院南信大计软院21-8.3.2 CMM 关键过程域关键过程域CMM内容结构示意图2023/5/259南信大计软院南信大计软院21-8.3.2 CMM 关键过程域关键过程域2023/5/2510南信大计软院南信大计软院21-8.3.2 CMM 关键过程域关键过程域2023/5/2511南信大计软院南信大计软院21-8.3.2 CMM 关键过程域关键过程域不同等级软件生命周期各阶段缺陷分布示意图 2023/5/2512南信大计软院南信大计软院21-8.3.3 PSP 8.3.3 PSP 和和 TSPTSPPSP:个体软件过程:个体软件过程在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具体办法是强化设计结束准则,而不是设计方法的选择 TSP:团队软件过程团队软件过程 TSP指导项目组中的成员如何有效地规划和管理所面临的项目开发任务,并且告诉管理人员如何指导软件开发队伍 2023/5/2513南信大计软院南信大计软院21-8.3.4 CMMICMMI的全称是Capability Maturity Model Integration,即软件能力成熟度模型集成模型,是一套融合多学科的、可扩充的产品集合,其研制的初步动机是为了利用两个或者多个单一学科的模型实现一个组织的集成化过程改进 CMMI的模型构件主要有三类:需要的(required),期望的(expected),以及提供信息的构件 需要的构件需要的构件 需要的构件只有一种,那就是“目标”期望的构件期望的构件 期望的构件也只有一种,就是“实践”提供信息的构件提供信息的构件 提供信息的构件有10种,分别是目的、介绍性说明、引用、名字、实践与目标关系表、注释、典型工作产品、子实践、学科扩充以及共性实践的详尽描述 2023/5/2514南信大计软院南信大计软院21-8.4 CMM中的质量框架中的质量框架 CMM不但对于指导过程改进是一项很好的工具,而且把全面质量管理概念应用到软件上,实现从需求管理到项目计划、项目控制、软件获取、质量保证、配置管理的软件过程全面质量管理。CMM的思想是一切从顾客需求出发,从整个组织层面上实施过程质量管理,正符合了TQM的基本原则。因此,它的意义不仅仅是对软件开发的过程进程控制,它还是一种高效的管理方法,有助于企业最大程度的降低成本,提高质量和用户满意度。8.4.1 SQA活动通用框架活动通用框架8.4.2 CMM流程改进流程改进8.4.3 量化管理量化管理2023/5/2515南信大计软院南信大计软院21-8.4.1 SQA活动通用框架活动通用框架1)提出软件质量需求)提出软件质量需求2)确定开发方案)确定开发方案 3)阶段评审)阶段评审4)测试管理)测试管理5)文档化管理)文档化管理6)验证产品与相应文档和标准的一致性)验证产品与相应文档和标准的一致性 7)建立测量机制)建立测量机制8)记录并生成报告)记录并生成报告2023/5/2516南信大计软院南信大计软院21-8.4.2 CMM流程改进流程改进CMM流程改进基本上可归纳为三大步流程改进基本上可归纳为三大步 1确定流程改进的总体框架2细化框架内的要求3明确流程改进的度量方法与标准2023/5/2517南信大计软院南信大计软院21-8.4.2 CMM流程改进流程改进-确定流程改进的总体框架这部分内容包括CMM流程改进的总体方案总体方案、总体策略总体策略、总体目标总体目标、阶段性目标阶段性目标、目标流程的确定目标流程的确定、流程改进与项目生流程改进与项目生命周期的关系命周期的关系、度量体系度量体系需要涉及的部分与总体标准总体标准、流程中流程中权责分配表权责分配表以及体系文件体系文件的管理 2023/5/2518南信大计软院南信大计软院21-8.4.2 CMM流程改进流程改进-细化框架内的要求细化工作主要包括详细的过程定义与描述、详细的度量和过程监控方法、以及整个过程涉及内容的详细有效的文档描述。有关过程定义,有标准的模板,内容涉及:目的目的定义本过程的目的角色角色本过程中涉及的角色及其职责入口准则入口准则什么条件会触发本过程的启动输入输入文档、资源和数据过程步骤过程步骤本过程有关的处理步骤输出输出文档、资源和数据;出口准则什么条件会触发本过程的结束。对于度量、过程监控方法、工具技术和方法、差距分析、过程改进历史和相关过程必要时也可以对其进行详细的描述。2023/5/2519南信大计软院南信大计软院21-8.4.2 CMM流程改进流程改进-明确流程改进的度量方法与标准软件度量 2023/5/2520南信大计软院南信大计软院21-8.4.3 量化管理量化管理CMM第四级(或称为已管理级)的软件组织会根据已收集的缺陷数据,采用SPC的方法建立软件过程能力基线(Process Capability Baseline)。对于缺陷管理,可以缺陷密度为例,过程能力基线通常包括期望(Mean),能力上限(Upper Control Limit,UCL),能力下限(Low Control Limit,LCL)。其中,期望描述了未来项目的缺陷密度的预期值,而UCL和LCL描述了未来项目的缺陷密度的合理变化范围。这样的过程能力基线可以用来:(1)帮助未来的项目设立量化的项目质量目标;(2)理解和控制未来项目的实际结果。过程能力与缺陷密度 2023/5/2521南信大计软院南信大计软院21-8.5 IEEE软件工程标准软件工程标准1顾客标准顾客标准 2流程标准流程标准 3产品标准产品标准 4资源与技术标准资源与技术标准 2023/5/2522南信大计软院南信大计软院21-8.5.1 IEEE 730:2001 结构与内容结构与内容 软件质量保证计划(SQAP)IEEE Std 730-2001,共分十七个部分 1、目的2、参考文档3、管理4、文档5、标准、实践、约定和度量6、软件评审7、测试8、问题报告和改正活动9、工具、技术和方法学10、软件代码控制11、媒体控制12、供应商控制13、记录收集、维护和保持14、培训15、风险管理16、词汇表17、SQAP变更规程和历史2023/5/2523南信大计软院南信大计软院21-8.5.2 IEEEEIA Std 12207-软件生命周期过程软件生命周期过程软件生存期过程支持过程组织过程主要过程获取过程供应过程开发过程运行过程维护过程文档编制过程配置管理过程质量保证过程验证过程确认过程联合评审过程审核过程问题解决过程管理过程基础设施过程改进过程培训过程软件生存周期过程示意图 2023/5/2524南信大计软院南信大计软院21-8.5.3 IEEE Std 1012-验证与确认验证与确认IEEE 这样定义这样定义“验证验证”:“它是用来评价某一系统或某一组件的过程,来判断给定阶段的产品是否满足该阶段开始时施加的条件。”2023/5/2525南信大计软院南信大计软院21-8.5.4 IEEE Std1028-评审评审IEEE Std 1028对评审做了较为详尽的标准化工作。评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。一般来说,评审(Peer Review)包括下面几种管理评审技术评审审查走查审计2023/5/2526南信大计软院南信大计软院21-8.6 其他质量标准其他质量标准8.6.1 SPICE项目与项目与ISOIEC15504软件过程评估标准软件过程评估标准 ISO/IEC 15504-2:2003确定过程能力测量框架和确定下述事件的要求:实施评估;过程参考模型;过程评估模型;验证过程评估一致性。2023/5/2527南信大计软院南信大计软院21-8.6 其他质量标准其他质量标准8.6.2 Tick IT对于TickIT 的需求始于二十世纪八十年代末期,当时软件开发过程的特殊性使软件企业在应用ISO 9001 标准时陷入了困境。Tick IT主要主要目的是鼓励软件系统开发商和采购商考虑:软件开发过程中质量的真正含义是什么如何实施和实现质量如何制定并持续改进质量管理体系TickIT 同时还提供管理软件开发质量的实用结构及更有效的质量管理体系认证程序。主要的要求是:发布指南帮助软件组织解释ISO 9001 的要求培训、选择和注册具备IT 经验和能力的审核员建立并保持软件行业认证机构的认可规定2023/5/2528南信大计软院南信大计软院21-Q&A2023/5/2529南信大计软院南信大计软院