软件质量管理(下)参考:SoftwareEngineering-APractitioner‘sApproach(软件工程——实践者的研究方法)第一、第二部分ISO9126(软件产品质量)和ISO14598(软件产品评价)ISO9000:2000CMM(SEI提出的CMM的叁篇重要文献。“软件能力成熟度模型1.1版”;“能力成熟度模型的关键实践1.1版”;“软件过程成熟度提问单”)ISO15504(SPICE,软件过程改进和能力确定)ISO12207(软件生存期过程)1软件质量管理质量管理的基本概念(质量管理体系评价)软件质量管理的主要活动认证和评估简介计算机软件文档编制规范GB/T8567-2006软件质量管理实践建立软件测试管理体系Back2质量管理的基本概念体系(系统)system相互关联或相互作用的一组要素组织organization职责、权限和相互关系得到安排的一组人员及设施。管理体系managementsystem建立方针和目标并实现这些目标的体系注:一个组织的管理体系可包括若干个不同的管理体系,如质量管理体系、财务管理体系或环境管理体系。3质量管理的基本概念质量管理体系qualitymanagementsystem指导和控制组织的关于质量的管理体系。为加深理解,看GB/T6583(ISO8402)中对质量管理体系的定义:为实施质量管理所需的组织结构,程序、过程和资源。组织结构:组织为行使其职能按某种方式建立的职责、权限及其相互关系。程序:为进行某项活动所规定的途径。过程:将输入转化为输出的一组彼此相关的资源和活动。资源:可包括人员、资金、设施、设备、技术和方法。4质量管理的基本概念对于质量管理体系:1质量体系的内容应以满足质量目标的需要为准。2一个组织的质量体系主要是为满足该组织内部管理的需要而设计的。它比特定顾客的要求要广泛。顾客仅仅评价质量体系中的有关部分。3为了合同或强制性质量评价的目的,可要求对已确定的质量体系要求的实施进行证实。5质量管理的基本概念质量方针qualitypolicy由组织的最高管理者正式发布的该组织总的质量宗旨和质量方向。注1:通常质量方针与组织的总方针相一致并为制定质量目标提供框架。质量目标qualityobjective关于质量的所追求的目的注1:质量目标通常建立在组织的质量方针基础上。注2:通常对组织的各相关职能和层次分别规定质量目标。6质量管理的基本概念质量策划qualityplanning质量管理的一部分,致力于制定质量目标并规定必要作业过程和相关资源以实现质量目标注:编制质量计划可以是质量策划的一部分。GB/T6583-ISO8402中的定义是:确定质量以及采用质量体系要素的目标和要求的活动。质量策划包括:a)产品策划:对质量特性进行识别、分类和比较,并建立其目标、质量要求和约束条件。b)管理和作业策划:为实施质量体系进行准备,包括组织和安排。c)编制质量计划和作出质量改进的规定。7质量管理的基本概念质量控制qualitycontrol质量管理的一部分,致力于满足质量要求。GB/T6583-ISO8402中的定义是:为达到质量要求所采取的作业技术和活动。1质量控制包括作业技术和活动,其目的在于监视过程并排除质量环中所有阶段中导致不满意的原因,以取得经济效益。2质量控制和质量保证的某些活动是互相关联的。8质量管理的基本概念质量保证qualityassurance质量管理的一部分,致力于提供能满足质量要求的信任。GB/T6583-ISO8402中的定义是:为了提供足够的信任表明实体能够满足质量要求,而在质量体系中实施并根据需要进行证实的全部有计划和有系统的活动。1质量保证有内部和外部两种目的。a)内部质量保证:在组织内部,质量保证向管理者提供信任。b)外部质量保证:在合同或其他情况下,质量保证向顾客或他方提供信任。2质量控制和质量保证的某些活动是相互关联的。3只有质量要求全面反映了用户的要求,质量保证才能提供足够的信任。9质量管理的基本概念质量改进qualityimprovement质量管理的一部分,致力于增强满足质量要求的能力注:要求可以是有关任何方面的,如有效性、效率或可追溯性。有效性effectiveness完成策划的活动并达到策划的结果的程度。效率efficiency得到的结果与所使用的资源之间的关系。可追溯性traceability追溯所考虑对象的历史、应用情况或所处场所的能力注:当考虑产品时,可追溯性可涉及到:--原材料和零部件的来源;--加工过程的历史;--产品交付后的分布和场所。10质量管理的基本概念质量管理qualitymanagement指导和控制组织的关于质量的相互协调的活动注:关于质量的指导和控制活动通常包括制定质量方针和质量目标以及质量策划、质量控制、质量保证和质量改进。GB/T6583-ISO8402中的定义是:确定质量方针、目标和职责并在质量体系中通过诸如质量策划、质量控制、质量保证和质量改进使其实施的全部管理职能的所有活动。1质量管理是各级管理者的职责,但必须由最高管理者领导。质量管理的实施涉及到组织中的所有成员。2在质量管理中要考虑到经济性因素。11质量管理的基本概念质量管理的3个阶段质量管理从出现到现在,大体经历了3个阶段产品质量检验阶段是在成品中挑出废品,以保证出厂产品质量。但这种事后检验把关,无法在生产过程中起到预防、控制的作用。统计质量管理阶段运用数理统计原理,在发现有废品生产的先兆时就进行分析改进,从而预防废品的产生。全面质量管理阶段执行质量职能是公司全体人员的责任。把质量问题作为一个有机整体加以综合分析研究,实施全员、全过程、全企业的管理。12质量管理的基本概念全面质量管理totalqualitymanagement一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。1“全员”指该组织结构中所有部门和所有层次的人员。2最高管理者强有力和持续的领导以及该组织内所有成员的教育和培训是这种管理途径取得成功所必不可少的。3在全面质量管理中,质量这个概念和全部管理目标的实现有关。4“社会受益”意味着在需要时满足“社会需求”。13软件质量管理质量管理的基本概念(质量管理体系评价)软件质量管理的主要活动认证和评估简介计算机软件文档编制规范GB/T8567-2006软件质量管理实践建立软件测试管理体系Back17软件质量管理软件质量管理的主要活动软件质量策划1)软件质量策划的内容:2)软件组织的质量过程软件质量控制与保证质量控制的主要内容软件配置管理软件过程流管理软件质量保证软件质量的度量和验证软件质量改进18软件质量管理的主要活动1、软件质量策划1)软件质量策划的内容:确定软件组织,适应其生产特点的组织结构,以及人员的安排和职责的分配。确定组织的质量管理体系目标,根据组织的商业需要和产品市场,确定选择ISO9000或CMM作为其质量管理体系的符合性标准或模型。标识和定义组织的质量过程,即对组织的质量过程进行策划,确定过程的资源、主要影响因素、作用程序和规程、过程启动条件和过程执行结果规范等。识别产品的质量特性,进行分类和比较,建立其目标、质量要求和约束条件。策划质量改进的计划、方法和途径。19软件质量管理的主要活动2)软件组织的质量过程通常包含两类:软件工程过程和组织支持过程软件工程过程就是通常所说的软件生命周期中的活动,一般包括需求分析、软件设计、编码、测试、交付、安装和维护。CMM中,一个组织的软件过程策划一般包括两个阶段:组织标准生产过程的策划和项目产品策划。CMM中定义了三个关键过程域来实现这两级的过程策划:组织过程定义,软件项目策划,软件产品工程。20软件质量管理的主要活动组织支持过程是软件组织为了保证软件工程过程的实施和检查而建立的一组公共支持过程。主要包括:管理过程:包括评审、检查、文档管理、不合格品管理、配置管理、内部质量审核和管理评审。支持过程:包括合同评审、子合同评审、采购、培训、进货检验、设备检验、度量和服务。在CMM中,有一些对应的关键过程区域:需求管理、软件子合同管理、软件质量保证、软件配置管理、培训程序、同行评审21软件质量管理的主要活动2、软件质量控制与保证软件质量控制的主要目标就是按照质量策划的要求,对质量过程进行监督和控制。质量控制的主要内容有:1)组织中与质量活动有关的所有人员,按照职责分工进行质量活动。2)所有质量活动按照已经策划的方法、途径、相互关系和时间,有序地进行。3)对关键过程和特殊过程,实施适当的过程控制技术以保证过程的稳定性,并在受控的情况下,提高过程的能力。4)所有质量活动的记录都被完整、真实地保存下来,以供统计分析使用。22软件质量管理的主要活动实施软件质量控制通常涉及的技术:软件配置管理软件过程流管理软件质量保证23软件质量管理的主要活动--软件配置管理软件配置管理(简称SCM)概述软件配置管理:对软件生产过程中的所有有意义的中间产品进行管理。变更不可避免,SCM协调软件开发使得混乱最小。软件配置管理既不对变化需求的产生负责,也不对变化的实现负责,它只提供控制变化过程的机制。几个术语:被控制的项称为软件配置项(SCI,详见下页),在实现SCM时,把SCI组织成配置对象(见后页),评审通过的SCI成为基线(见后页)。24软件质量管理的主要活动--软件配置管理软件配置项SCI就是软件配置管理的对象。包括:*系统规格说明*软件项目实施计划*软件需求说明*可执行的原型*初步的用户手册*设计规格说明*源代码清单*操作和安装手册*测试计划和过程、测试用例和测试结果记录*可执行程序(可执行程序模块、连接模块)*数据库描述(模式和文件结构、初始内容)*正式的用户手册25软件质量管理的主要活动--软件配置管理软件配置项SCI(续)*维护文档(软件问题报告、维护请求、工程变更次序)*软件工程标准*项目开发总结除以上SCI外,许多软件工程组织还把配置控制下的软件工具列入其中,即:编辑程序、编译程序、其它CASE工具的特定版本。26软件质量管理的主要活动--软件配置管理配置对象(1/2)在实现SCM时,把SCI组织成配置对象,在项目数据库中用一个单一的名字来组织它们。一个配置对象有一个名字和一组属性,并通过某些联系“连接”到其它对象。“连接”用箭头表示。箭头指明了一种构造关系。双向箭头则表明一种相互关系。如:27软件质量管理的主要活动--软件配置管理配置对象(2/2)28如果对某对象作了一个变更,软件工程师就可以根据这种相互关系确定,其它哪些对象(和SCI)可能受到影响。软件质量管理的主要活动--软件配置管理基线(Baseline)(1/3)基线是软件生存期中各开发阶段末尾的特定点,又称里程碑。由正式的技术评审而得到的SCI协议和软件配置的正式文本成为基线。基线的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。29软件开发各阶段的基线软件质量管理的主要活动--软件配置管理软件质量管理的主要活动--软件配置管理软件配置管理(SCM)的任务:标识SCI版本控制控制变更审查软件配置报告所有加在配置上的变更。31软件质量管理的主要活动--软件配置管理配置标识随着软件生存期的向前推进,SCI的数量不断增多。某一时刻的配置就是配置的一个片段。为了方便对软件配置的各个片段(SCI)进行控制和管理,不致造成混乱,首先应给它们命名。对象类型基本对象:在分析、设计、编码和测试时所建立的文本单元。如,基本对象可能是需求规格说明中的一节,一个模块的源程序清单、一组用来测试一个等价类的测试用例。复合对象:是基本对象或其它复合对象的一个组合。32软件质量管理的主要活动--软件配置管理对象标识:(名字、描述、资源、实现)对象的名字明确地标识对象。对象描述包括:SCI类型(如文档、程序、数据